Repository Analysis

ossrs/srs

SRS is a simple, high-performance, AI-driven real-time media server supporting RTMP, WebRTC, HLS, HTTP-FLV, HTTP-TS, SRT, MPEG-DASH, and GB28181, with codec support for H.264, H.265, AV1, VP9, AAC, Opus, and G.711.

3.9 Likely human-written View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of ossrs/srs, a C++ project with 29,177 GitHub stars. SynthScan v2.0 examined 1,402,818 lines of code across 3477 source files, recording 4567 pattern matches distributed across 17 syntactic categories. The overall adjusted score of 3.9 places this repository in the Likely human-written band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

3.9
Adjusted Score
3.9
Raw Score
100%
Time Factor
2026-08-26
Last Push
29.2K
Stars
C++
Language
1.4M
Lines of Code
3.5K
Files
4.6K
Pattern Hits
2026-08-29
Scan Date
0.00
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 3HIGH 4MEDIUM 408LOW 4152

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 4567 distinct pattern matches across 17 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Over-Commented Block3808 hits · 3549 pts
SeverityFileLineSnippetContext
LOWinternal/bootstrap/proxy.go81 newSignalHandler func() signalHandlerCOMMENT
LOWinternal/bootstrap/proxy.go101 newWebRTCProxyServer func(environment env.ProxyEnvironment, loadBalancer lb.OriginLoadBalancer) proxy.WebRTCProxyServerCOMMENT
LOWinternal/proxy/gen.go1// Copyright (c) 2026 WinlinCOMMENT
LOWinternal/proxy/rtmp.go141// proxy servers.COMMENT
LOWinternal/proxy/http.go101type httpStreamProxyServer struct {COMMENT
LOWinternal/proxy/http.go421//COMMENT
LOWinternal/proxy/rtc.go41 loadBalancer lb.OriginLoadBalancerCOMMENT
LOWinternal/proxy/srt.go161 // TODO: FIXME: Should cleanup the dead SRT connection.COMMENT
LOWinternal/proxy/srt.go441 // Handshake control packets (Control Type = 0x0000) are used toCOMMENT
LOWinternal/proxy/srt.go461 // Encryption Field: 16 bits. Block cipher family and key size. TheCOMMENT
LOWinternal/proxy/srt.go481 // very first data packet to be sent.COMMENT
LOWinternal/proxy/srt.go501 // socket from which a handshake packet is issued.COMMENT
LOWinternal/lb/gen.go1// Copyright (c) 2026 WinlinCOMMENT
LOWinternal/lb/mem.go21 environment env.ProxyEnvironmentCOMMENT
LOWinternal/rtmp/gen.go1// Copyright (c) 2026 WinlinCOMMENT
LOWinternal/rtmp/rtmp.go401 returnCOMMENT
LOWinternal/rtmp/rtmp.go421 formatType1COMMENT
LOWinternal/rtmp/rtmp.go441 // follows a Type 0 chunk, then timestamp delta for this Type 3 chunk isCOMMENT
LOWinternal/rtmp/rtmp.go461// fmt=3, 0xCXCOMMENT
LOWinternal/rtmp/rtmp.go481 // so we must update the timestamp even fmt=3 for first packet.COMMENT
LOWinternal/rtmp/rtmp.go521 if _, err = io.ReadFull(v.r, p); err != nil {COMMENT
LOWinternal/rtmp/rtmp.go541 // If the timestamp is greater than or equal to 16777215COMMENT
LOWinternal/rtmp/rtmp.go581 // extended timestamp on a Type-3 chunk (see the detection below).COMMENT
LOWinternal/rtmp/rtmp.go621 timestamp = chunk.extendedTimestampCOMMENT
LOWinternal/rtmp/rtmp.go641 // 4000000000.COMMENT
LOWinternal/rtmp/rtmp.go661// The Chunk Basic Header encodes the chunk stream ID and the chunkCOMMENT
LOWinternal/rtmp/rtmp.go681//COMMENT
LOWinternal/rtmp/rtmp.go881 // Please read @doc rtmp_specification_1.0.pdf, @page 38, @section 3. Types of messagesCOMMENT
LOWinternal/rtmp/rtmp.go901 // of 20 for AMF0 encoding and message type value of 17 for AMF3COMMENT
LOWinternal/rtmp/rtmp.go921COMMENT
LOWinternal/rtmp/rtmp.go1761type EventType uint16COMMENT
LOWinternal/rtmp/rtmp.go1781 // 4 bytes of event data represent the ID of theCOMMENT
LOWinternal/rtmp/rtmp.go1801 EventTypeSetBufferLength = 0x03 // 8bytes event-dataCOMMENT
LOWinternal/rtmp/rtmp.go1821 EventTypePingResponse = 0x07COMMENT
LOWinternal/rtmp/rtmp_test.go1041// product of every typed packet against multi-chunk reassembly. Mirrors the C++COMMENT
LOWinternal/rtmp/rtmp_test.go1221// ProtocolStackTest suite has no equivalent coverage either, so this is new coverage beyond theCOMMENT
LOWinternal/rtmp/rtmp_test.go1321 t.Fatalf("ReadMessage #%v err=%v", i, err)COMMENT
LOWinternal/rtmp/rtmp_test.go1521}COMMENT
LOWinternal/rtmp/rtmp_test.go1681// resource-exhaustion surfaces (e.g. an attacker-controlled SetChunkSize followed by aCOMMENT
LOWinternal/rtmp/rtmp_test.go1961// (via onPacketWriten); parseAMFObject, reached from DecodeMessage when aCOMMENT
LOWinternal/errors/errors.go1// Package errors provides error handling primitives with stack traces.COMMENT
LOWinternal/redisclient/gen.go1// Copyright (c) 2026 WinlinCOMMENT
LOW.github/workflows/test.yml1name: "Test"COMMENT
LOWskills/srs-develop/scripts/setup-ffmpeg-with-whip.sh1#!/bin/bashCOMMENT
LOWskills/srs-develop/scripts/setup-ffmpeg-with-whip.sh121# openssl@3 is keg-only in Homebrew, so its .pc files are not on the defaultCOMMENT
LOWskills/srs-develop/scripts/proxy-e2e-srt-test.sh1#!/bin/bashCOMMENT
LOWskills/srs-develop/scripts/proxy-e2e-whip-test.sh1#!/bin/bashCOMMENT
LOWskills/srs-develop/scripts/proxy-e2e-whip-test.sh41SOURCE_FLV="$WORKSPACE/trunk/doc/source.flv"COMMENT
LOW…ternal-docs-for-srs/references/cpp-docs/doc/forward.md41 # forward stream to other servers.COMMENT
LOW…ternal-docs-for-srs/references/cpp-docs/doc/forward.md61 # "tcUrl": "rtmp://127.0.0.1:1935/live",COMMENT
LOW…s/internal-docs-for-srs/references/cpp-docs/doc/dvr.md41Config for DVR:COMMENT
LOW…s/internal-docs-for-srs/references/cpp-docs/doc/dvr.md61 # segment reap flv/mp4 when flv duration exceed the specified dvr_duration.COMMENT
LOW…s/internal-docs-for-srs/references/cpp-docs/doc/dvr.md81 # dvr_path ./objs/nginx/html;COMMENT
LOW…s/internal-docs-for-srs/references/cpp-docs/doc/dvr.md101 # @see https://ossrs.io/lts/en-us/docs/v4/doc/dvr#custom-pathCOMMENT
LOW…s/internal-docs-for-srs/references/cpp-docs/doc/dvr.md121 # it's specified by RTMP specification, @see 3. Byte Order, Alignment, and Time FormatCOMMENT
LOW…ernal-docs-for-srs/references/cpp-docs/doc/http-api.md41COMMENT
LOW…ernal-docs-for-srs/references/cpp-docs/doc/http-api.md61# api of srs.COMMENT
LOW…ernal-docs-for-srs/references/cpp-docs/doc/http-api.md81 # whether enable the HTTP RAW API.COMMENT
LOW…ernal-docs-for-srs/references/cpp-docs/doc/http-api.md101 # default: offCOMMENT
LOW…ernal-docs-for-srs/references/cpp-docs/doc/http-api.md121 }COMMENT
3748 more matches not shown…
Decorative Section Separators344 hits · 1042 pts
SeverityFileLineSnippetContext
MEDIUMtrunk/3rdparty/srt-1-fit/CMakeLists.txt1016# ---------------------------------------------------------------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh169# ----------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh178# --------------------------------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh480# -------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh529# ---------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh575# ----------------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh598# --------------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh622# ------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh646# ------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh679# -------------------------------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh691# --------------------------------------------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh712# ----------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh731# --------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh740# ------------------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh776# -----------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh789# -----------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh801# -----------------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh812# ---------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh838# ---------------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh886# -------------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh924# ------------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1014# --------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1030# --------------------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1095# --------------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1147# -------------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1177# ---------------------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1207# -----------------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1232# ------------------------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1261# ----------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1282# -------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1295# -----------------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1308# ----------------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1333# -----------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1350# ---------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1483# -----------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1495# ---------------------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1512# ------------------------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1523# ---------------------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1646# ----------------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1663# ---------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1697# --------------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1725# ---------------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1841# ------------------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1877# ----------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1905# ------------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1918# ------------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1953# -----------------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1979# ----------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1992# ------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh2012# ------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh2057# ----------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh2077# -------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh2156# ---------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh2173 # ---------------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh2195# -------------------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh2207# -----------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh2227# -------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh2248# -----------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh2291# ------------------------COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh2328# -----------------------------COMMENT
284 more matches not shown…
Structural Annotation Overuse206 hits · 365 pts
SeverityFileLineSnippetContext
LOWskills/srs-support/SKILL.md45### Step 1: SetupCOMMENT
LOWskills/srs-support/SKILL.md59### Step 2: Load KnowledgeCOMMENT
LOWskills/srs-support/SKILL.md76### Step 3: Answer by TopicCOMMENT
LOWskills/srs-support/SKILL.md133### Step 4: Troubleshoot SRSCOMMENT
LOWskills/srs-support/SKILL.md189### Step 1: SetupCOMMENT
LOWskills/srs-support/SKILL.md198### Step 2: Load KnowledgeCOMMENT
LOWskills/srs-support/SKILL.md215### Step 3: Answer by TopicCOMMENT
LOWskills/srs-support/SKILL.md259### Step 4: Troubleshoot OryxCOMMENT
LOWskills/srs-develop/references/learn-code.md7## Step 1: Route and read documentation firstCOMMENT
LOWskills/srs-develop/references/learn-code.md13## Step 2: Route to the responsible codeCOMMENT
LOWskills/srs-develop/references/learn-code.md20## Step 3: Trace and reconcile the implementationCOMMENT
LOWskills/srs-develop/references/learn-code.md27## Step 4: Answer the questionCOMMENT
LOWskills/srs-develop/references/fix-a-bug.md46## Step 1: Find or create the Truth RecordCOMMENT
LOWskills/srs-develop/references/fix-a-bug.md54## Step 2: Maintainer reviewCOMMENT
LOWskills/srs-develop/references/fix-a-bug.md60## Step 3: Update the project (optional)COMMENT
LOWskills/srs-develop/references/fix-a-bug.md70## Step 4: Update the GitHub issue Truth RecordCOMMENT
LOWskills/srs-develop/references/fix-a-bug.md78## Step 5: Update the local issue recordCOMMENT
LOWskills/srs-develop/references/review-a-pr.md10## Step 0: Select the repository and baseCOMMENT
LOWskills/srs-develop/references/review-a-pr.md19## Step 1: Survey the changesCOMMENT
LOWskills/srs-develop/references/review-a-pr.md26## Step 2: Correct stale navigation docsCOMMENT
LOWskills/srs-develop/references/review-a-pr.md32## Step 3: Verify runtime changesCOMMENT
LOWskills/srs-develop/references/review-a-pr.md39## Step 4: Apply project version and changelog rulesCOMMENT
LOWskills/srs-develop/references/develop-code.md31### Step 1: Module Routing (MANDATORY)COMMENT
LOWskills/srs-develop/references/develop-code.md46### Step 2: Understand the ModuleCOMMENT
LOWskills/srs-develop/references/develop-code.md53### Step 3: Implement and VerifyCOMMENT
LOWskills/srs-develop/references/develop-code.md64### Step 1: Route and UnderstandCOMMENT
LOWskills/srs-develop/references/develop-code.md70### Step 2: Implement and VerifyCOMMENT
LOWskills/srs-develop/references/develop-code.md83### Step 1: Route the Branch and Files (MANDATORY)COMMENT
LOWskills/srs-develop/references/develop-code.md92### Step 2: Understand the Image PathCOMMENT
LOWskills/srs-develop/references/develop-code.md99### Step 3: Implement the Confirmed ChangeCOMMENT
LOWskills/srs-develop/references/develop-code.md106### Step 4: VerifyCOMMENT
LOWskills/srs-develop/references/develop-code.md119### Step 1: Route the Product Area (MANDATORY)COMMENT
LOWskills/srs-develop/references/develop-code.md128### Step 2: Understand the Oryx PathCOMMENT
LOWskills/srs-develop/references/develop-code.md135### Step 3: Implement the Confirmed ChangeCOMMENT
LOWskills/srs-develop/references/develop-code.md142### Step 4: VerifyCOMMENT
LOWskills/srs-develop/references/develop-code.md154### Step 1: Route and ReproduceCOMMENT
LOWskills/srs-develop/references/develop-code.md161### Step 2: Implement the Maintenance FixCOMMENT
LOWskills/srs-develop/references/develop-code.md168### Step 3: VerifyCOMMENT
LOW…/internal-docs-for-srs/references/proxy/proxy-usage.md10## Step 1: Build and Start Proxy ServerCOMMENT
LOW…/internal-docs-for-srs/references/proxy/proxy-usage.md20## Step 2: Start SRS Origin ServerCOMMENT
LOW…/internal-docs-for-srs/references/proxy/proxy-usage.md30## Step 3: Verify SRS RegistrationCOMMENT
LOW…/internal-docs-for-srs/references/proxy/proxy-usage.md39## Step 4: Publish a Test StreamCOMMENT
LOW…/internal-docs-for-srs/references/proxy/proxy-usage.md49## Step 5: Verify Stream with ffprobeCOMMENT
LOW…ls/internal-docs-for-srs/references/perf/proxy-whep.md16## Step 1: Build and Start the Proxy with pprofCOMMENT
LOW…ls/internal-docs-for-srs/references/perf/proxy-whep.md35## Step 2: Start the SRS Origin on Alt PortsCOMMENT
LOW…ls/internal-docs-for-srs/references/perf/proxy-whep.md50## Step 3: Run the WHEP WorkloadCOMMENT
LOW…ls/internal-docs-for-srs/references/perf/proxy-whep.md76## Step 4: Collect ProfilesCOMMENT
LOW…ls/internal-docs-for-srs/references/perf/proxy-whep.md116## Step 5: Read the ProfilesCOMMENT
LOW…ls/internal-docs-for-srs/references/perf/proxy-whep.md130## Step 6: Save Profiles for Before/After ComparisonCOMMENT
LOWtrunk/3rdparty/srt-1-fit/srtcore/core.cpp3493// NOTE: This function is called only in one place and it's doneCOMMENT
LOWtrunk/3rdparty/srt-1-fit/srtcore/group.cpp143// NOTE: This function is now for DEBUG PURPOSES ONLY.COMMENT
LOW…srs-docs/blog/2023-09-10-Oryx-Record-Live-Streaming.md24### Step 1: Create Oryx by One ClickCOMMENT
LOW…srs-docs/blog/2023-09-10-Oryx-Record-Live-Streaming.md39### Step 2: Publish a live stream to OryxCOMMENT
LOW…srs-docs/blog/2023-09-10-Oryx-Record-Live-Streaming.md48## Step 3: Record the Live Stream by OryxCOMMENT
LOW…srs-docs/blog/2023-09-10-Oryx-Record-Live-Streaming.md59## Step 4: Stop and Download MP4 FileCOMMENT
LOW…unk/3rdparty/srs-docs/blog/2022-04-09-Oryx-Tutorial.md113## Step 2: Publish Stream using OBSCOMMENT
LOW…unk/3rdparty/srs-docs/blog/2022-04-09-Oryx-Tutorial.md138## Step 3: Publish by WebRTC (Optional)COMMENT
LOW…unk/3rdparty/srs-docs/blog/2022-04-09-Oryx-Tutorial.md172## Step 4: Low Latency Streaming by SRT (Optional)COMMENT
LOW…s-docs/blog/2023-10-11-Oryx-Stream-IP-Camera-Events.md30## Step 1: Create Oryx by One ClickCOMMENT
LOW…s-docs/blog/2023-10-11-Oryx-Stream-IP-Camera-Events.md45## Step 2: Pull RTSP Stream from IP CameraCOMMENT
146 more matches not shown…
Verbosity Indicators61 hits · 118 pts
SeverityFileLineSnippetContext
LOWtrunk/3rdparty/openssl-1.1-fit/crypto/LPdir_unix.c68 * small value (HP-UX offers 14), so we need to check if we got a result, andCOMMENT
LOWtrunk/src/utest/srs_utest_ai19.cpp1747 // Step 1: Create RTMP clientCOMMENT
LOWtrunk/src/utest/srs_utest_ai19.cpp1755 // Step 2: Connect to RTMP serverCOMMENT
LOWtrunk/src/utest/srs_utest_ai19.cpp1759 // Step 3: Publish streamCOMMENT
LOWtrunk/src/utest/srs_utest_ai19.cpp1763 // Step 4: Read and send first FLV tag (video)COMMENT
LOWtrunk/src/utest/srs_utest_ai19.cpp1800 // Step 5: Simulate second tag (audio)COMMENT
LOWtrunk/src/utest/srs_utest_ai19.cpp1842 // Step 6: Verify EOF handlingCOMMENT
LOWtrunk/src/utest/srs_utest_ai21.cpp2491 // Step 1: Create and process AAC sequence header to initialize audio trackCOMMENT
LOWtrunk/src/utest/srs_utest_ai21.cpp2517 // Step 2: Create and process AAC raw data frameCOMMENT
LOWtrunk/src/utest/srs_utest_ai21.cpp2541 // Step 3: Verify RTP packet was sent to targetCOMMENT
LOWtrunk/src/utest/srs_utest_ai21.cpp2690 // Step 1: Create and process H.264 sequence header to initialize video trackCOMMENT
LOWtrunk/src/utest/srs_utest_ai21.cpp2716 // Step 2: Create and process H.264 IDR frameCOMMENT
LOWtrunk/src/utest/srs_utest_ai09.cpp2417 // Step 1: avsync_time <= 0 with sync_state_ < 0 -> should trace and set sync_state_ = 0COMMENT
LOWtrunk/src/utest/srs_utest_ai09.cpp2421 // Step 2: avsync_time <= 0 with sync_state_ = 0 -> should not trace, return earlyCOMMENT
LOWtrunk/src/utest/srs_utest_ai09.cpp2425 // Step 3: avsync_time > 0 with sync_state_ < 1 -> should trace and set sync_state_ = 2COMMENT
LOWtrunk/src/utest/srs_utest_ai09.cpp2433 // Step 4: avsync_time > 0 with sync_state_ = 2 -> should not trace, process packetCOMMENT
LOWtrunk/src/utest/srs_utest_ai08.cpp4266 // Step 1: Send a keyframe to initialize the frame detectorCOMMENT
LOWtrunk/src/utest/srs_utest_ai08.cpp4270 // Step 2: Send packets that form a complete frameCOMMENT
LOWtrunk/src/utest/srs_utest_ai08.cpp4317 // Step 1: Send initial keyframe to set up frame detectorCOMMENT
LOWtrunk/src/utest/srs_utest_ai08.cpp4325 // Step 2: Send some non-keyframe packets to build up cacheCOMMENT
LOWtrunk/src/utest/srs_utest_ai08.cpp4337 // Step 3: Set frame target to fail - this will cause packet_video_rtmp to failCOMMENT
LOWtrunk/src/utest/srs_utest_ai08.cpp4340 // Step 4: Send a keyframe with sequence number that matches lost_sn_COMMENT
LOWtrunk/src/utest/srs_utest_ai08.cpp4388 // Step 1: Send initial keyframe with sequence 200COMMENT
LOWtrunk/src/utest/srs_utest_ai08.cpp4396 // Step 2: Send packet 201 (which matches the current lost_sn_)COMMENT
LOWtrunk/src/utest/srs_utest_ai08.cpp4401 // Step 3: Skip packet 202 and send packet 203 with marker bitCOMMENT
LOWtrunk/src/utest/srs_utest_ai08.cpp4407 // Step 4: Set frame target to failCOMMENT
LOWtrunk/src/utest/srs_utest_ai08.cpp4410 // Step 5: Send a keyframe with sequence 202 (the missing packet)COMMENT
LOWtrunk/src/utest/srs_utest_ai08.cpp4447 // Step 1: Send a keyframe to initialize the frame detectorCOMMENT
LOWtrunk/src/utest/srs_utest_ai08.cpp4451 // Step 2: Create a scenario where packet_video_rtmp will make recursive callsCOMMENT
LOWtrunk/src/utest/srs_utest_ai08.cpp4515 // Step 1: Send initial keyframe with sequence 300COMMENT
LOWtrunk/src/utest/srs_utest_ai08.cpp4523 // Step 2: Send packet 301 (which matches the current lost_sn_)COMMENT
LOWtrunk/src/utest/srs_utest_ai08.cpp4528 // Step 3: Send packet 302 with marker bit to complete a frameCOMMENT
LOWtrunk/src/utest/srs_utest_ai08.cpp4534 // Step 4: Set frame target to fail - this will cause packet_video_rtmp to failCOMMENT
LOWtrunk/src/utest/srs_utest_ai08.cpp4537 // Step 5: Send a keyframe with sequence 303COMMENT
LOWtrunk/src/utest/srs_utest_ai08.cpp4286 // Step 3: Send the final packet with marker bit to complete the frameCOMMENT
LOWtrunk/src/utest/srs_utest_ai08.cpp4477 // Step 3: Send a packet that will trigger frame processing and potentially recursive callsCOMMENT
LOWtrunk/src/utest/srs_utest_workflow_forward.cpp146 // Step 1: Initialize forwarder with destinationCOMMENT
LOWtrunk/src/utest/srs_utest_workflow_forward.cpp214 // Step 2: Call on_publish to start forwardingCOMMENT
LOWtrunk/src/utest/srs_utest_workflow_forward.cpp303 // Step 1: Initialize forwarder with destinationCOMMENT
LOWtrunk/src/utest/srs_utest_workflow_forward.cpp307 // Step 2: Call on_publish to start forwardingCOMMENT
LOWtrunk/src/utest/srs_utest_manual_rtc_recv_track.cpp399 // Step 1: Simulate lost packet by adding to NACK receiverCOMMENT
LOWtrunk/src/utest/srs_utest_manual_rtc_recv_track.cpp406 // Step 2: Simulate packet recovery (retransmission arrives)COMMENT
LOWtrunk/src/utest/srs_utest_manual_rtc_recv_track.cpp411 // Step 3: Process the recovered packetCOMMENT
LOWtrunk/src/utest/srs_utest_manual_rtc_recv_track.cpp414 // Step 4: Verify the fix - packet should be removed from NACK receiverCOMMENT
LOWtrunk/src/utest/srs_utest_manual_rtc_recv_track.cpp417 // Step 5: Verify the fix - packet should be added to RTP queue (this was the bug)COMMENT
LOWtrunk/src/utest/srs_utest_ai13.cpp1703 // Step 1: Close current ts segmentCOMMENT
LOWtrunk/src/utest/srs_utest_ai13.cpp1707 // Step 2: Open new ts segmentCOMMENT
LOWtrunk/src/utest/srs_utest_ai13.cpp1711 // Step 3: Flush video first after segment openCOMMENT
LOWtrunk/src/utest/srs_utest_ai13.cpp1715 // Step 4: Flush audio after video (to make iPhone happy)COMMENT
LOWtrunk/src/utest/srs_utest_ai14.cpp3141 // Step 1: Cache a keyframe to establish that the stream has videoCOMMENT
LOWtrunk/src/utest/srs_utest_ai14.cpp3150 // Step 2: Cache a few inter frames to build up the GOPCOMMENT
LOWtrunk/src/utest/srs_utest_ai14.cpp3159 // Step 3: Now simulate the scenario where video stops but audio continuesCOMMENT
LOWtrunk/src/utest/srs_utest_ai14.cpp3175 // Step 4: Send ONE MORE audio packet to exceed the thresholdCOMMENT
LOWtrunk/src/utest/srs_utest_ai14.cpp3183 // Step 5: Verify that the cache was cleared due to pure audio overflowCOMMENT
LOWtrunk/src/utest/srs_utest_ai14.cpp3187 // Step 6: Verify that the stream is now detected as pure audioCOMMENT
LOWtrunk/src/utest/srs_utest_ai14.cpp3191 // Step 7: Verify that subsequent audio packets are NOT cachedCOMMENT
LOWtrunk/src/kernel/srs_kernel_buffer.cpp495 // Step 1: Count leading zero bitsCOMMENT
LOWtrunk/src/kernel/srs_kernel_buffer.cpp505 // Step 2: Calculate base value: (2^leadingZeroBits) - 1COMMENT
LOWtrunk/src/kernel/srs_kernel_buffer.cpp508 // Step 3: Read suffix bits and add to base valueCOMMENT
LOWtrunk/src/kernel/srs_kernel_buffer.cpp546 // Step 1: Decode unsigned Exp-Golomb valueCOMMENT
1 more matches not shown…
Self-Referential Comments28 hits · 87 pts
SeverityFileLineSnippetContext
MEDIUM.github/workflows/release.yml184 # Create main images for DockerCOMMENT
MEDIUMskills/srs-develop/scripts/gb28181-create-session.sh2# Create an external-SIP GB28181 session through the SRS publish API withoutCOMMENT
MEDIUMtrunk/research/console/js/3rdparty/angular-resource.js295 * # Creating a custom 'PUT' requestCOMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1402# This file is a library for parsing options in your shell scripts alongCOMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh2594# This function is only a basic sanity check; it will hardly flush outCOMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh2604# This function implements the same check as func_lalib_p withoutCOMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh2627# This function is only a basic sanity check; it will hardly flush outCOMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh2637# This function is only a basic sanity check; it will hardly flush outCOMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh2662# This function is only a basic sanity check; it will hardly flush outCOMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh2802# Create a libtool object file (analogous to a ".la" file),COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh7570 # Create the object directory.COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh10249 # Create the old-style object.COMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh10269 # Create an invalid libtool object if no PIC, so that we don'tCOMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/packages/rpm.sh38# Create the directory where the input lives, and where the output should liveCOMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/packages/deb.sh41# Create a pristine directory for building the Debian package filesCOMMENT
MEDIUM…rdparty/openssl-1.1-fit/crypto/ec/asm/x25519-x86_64.pl20# This module implements radix 2^51 multiplication and squaring, andCOMMENT
MEDIUM…ty/openssl-1.1-fit/crypto/poly1305/asm/poly1305-ppc.pl17# This module implements Poly1305 hash for PowerPC.COMMENT
MEDIUM…/openssl-1.1-fit/crypto/poly1305/asm/poly1305-armv8.pl17# This module implements Poly1305 hash for ARMv8.COMMENT
MEDIUM…penssl-1.1-fit/crypto/poly1305/asm/poly1305-sparcv9.pl17# This module implements Poly1305 hash for SPARCv9, vanilla, as wellCOMMENT
MEDIUM…/openssl-1.1-fit/crypto/poly1305/asm/poly1305-ppcfp.pl17# This module implements Poly1305 hash for PowerPC FPU.COMMENT
MEDIUM…openssl-1.1-fit/crypto/poly1305/asm/poly1305-x86_64.pl17# This module implements Poly1305 hash for x86_64.COMMENT
MEDIUM…/openssl-1.1-fit/crypto/poly1305/asm/poly1305-s390x.pl17# This module implements Poly1305 hash for s390x.COMMENT
MEDIUM…ty/openssl-1.1-fit/crypto/poly1305/asm/poly1305-x86.pl17# This module implements Poly1305 hash for x86.COMMENT
MEDIUM…/3rdparty/openssl-1.1-fit/crypto/aes/asm/aesv8-armx.pl17# This module implements support for ARMv8 AES instructions. TheCOMMENT
MEDIUM…rdparty/openssl-1.1-fit/crypto/aes/asm/aesni-x86_64.pl17# This module implements support for Intel AES-NI extension. InCOMMENT
MEDIUM…k/3rdparty/openssl-1.1-fit/crypto/aes/asm/aesni-x86.pl17# This module implements support for Intel AES-NI extension. InCOMMENT
MEDIUM…k/3rdparty/openssl-1.1-fit/crypto/aes/asm/aesp8-ppc.pl17# This module implements support for AES instructions as per PowerISACOMMENT
MEDIUM…k/3rdparty/openssl-1.1-fit/util/perl/TLSProxy/Proxy.pm111 # Create the Proxy socketCOMMENT
AI Slop Vocabulary28 hits · 86 pts
SeverityFileLineSnippetContext
MEDIUMtrunk/research/players/js/adapter-7.4.0.js2073 // This is an ugly hack, but at the same time is way more robust thanCOMMENT
MEDIUMtrunk/3rdparty/srt-1-fit/srtcore/tsbpd_time.h90 /// Essentially: getBaseTime(usPktTimestamp) + usPktTimestampCOMMENT
MEDIUMtrunk/3rdparty/srt-1-fit/srtcore/tsbpd_time.h99 /// Essentially: getPktBaseTime(usPktTimestamp) + m_tdTsbPdDelay + drift()COMMENT
MEDIUMtrunk/3rdparty/srt-1-fit/srtcore/tsbpd_time.h130 /// Essentially: getBaseTime(usPktTimestamp) + usPktTimestampCOMMENT
MEDIUM…/gtest-fit/googletest/include/gtest/gtest-death-test.h151// This implementation is *not* meant to be as highly tuned or robustCOMMENT
MEDIUM…/gtest-fit/googletest/include/gtest/gtest-death-test.h222// In practice, this can be used to test functions that utilize theCOMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh331# Sed substitution that helps us do robust quoting. It backslashifiesCOMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh5319# Sed substitution that helps us do robust quoting. It backslashifiesCOMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh9271 # This code stresses the "libraries are programs" paradigm to itsCOMMENT
MEDIUMtrunk/3rdparty/gperftools-2-fit/src/base/sysinfo.h59// On some platforms, this call will utilize the same, static buffer forCOMMENT
MEDIUMtrunk/3rdparty/openssl-1.1-fit/crypto/x86cpuid.pl213# Essentially there is only one use for this function. Under DJGPP:COMMENT
MEDIUM…rdparty/openssl-1.1-fit/crypto/perlasm/x86_64-xlate.pl1404# To facilitate composing of .pdata structures, auto-generated "gear"COMMENT
MEDIUM…party/openssl-1.1-fit/crypto/rc4/asm/rc4-md5-x86_64.pl22# below theoretical maximum, interleaving them would allow to utilizeCOMMENT
MEDIUM…y/openssl-1.1-fit/crypto/poly1305/asm/poly1305-mips.pl38# The return value is placed in $a0. Following coding rules facilitateCOMMENT
MEDIUM…nk/3rdparty/openssl-1.1-fit/crypto/bn/asm/mips-mont.pl40# The return value is placed in $a0. Following coding rules facilitateCOMMENT
MEDIUM…3rdparty/openssl-1.1-fit/crypto/sha/asm/sha512-mips.pl42# The return value is placed in $a0. Following coding rules facilitateCOMMENT
MEDIUM…rty/openssl-1.1-fit/crypto/sha/asm/keccak1600-armv8.pl35# instructions effectively facilitate parallel hashing, which we don'tCOMMENT
MEDIUM…rty/openssl-1.1-fit/crypto/sha/asm/sha1-armv4-large.pl720 # this fix-up provides Thumb encoding in conjunction with INSTCOMMENT
MEDIUM…3rdparty/openssl-1.1-fit/crypto/sha/asm/sha1-x86_64.pl25# capacity to fully utilize SHA-1 parallelism. Therefore this freshCOMMENT
MEDIUM…k/3rdparty/openssl-1.1-fit/crypto/sha/asm/sha1-mips.pl40# The return value is placed in $a0. Following coding rules facilitateCOMMENT
MEDIUM…arty/openssl-1.1-fit/crypto/sha/asm/keccak1600-avx2.pl26# It makes other steps more intricate, but overall, is it a win? To beCOMMENT
MEDIUM…ty/openssl-1.1-fit/crypto/aes/asm/aesni-sha1-x86_64.pl23# utilize processor resources better and achieve better performance.COMMENT
MEDIUM…ty/openssl-1.1-fit/crypto/aes/asm/aesni-sha1-x86_64.pl65# fully utilize parallelism, so stitching would not give any gainCOMMENT
MEDIUM…/openssl-1.1-fit/crypto/aes/asm/aesni-sha256-x86_64.pl23# utilize processor resources better and achieve better performance.COMMENT
MEDIUM…nk/3rdparty/openssl-1.1-fit/crypto/aes/asm/aes-mips.pl48# The return value is placed in $a0. Following coding rules facilitateCOMMENT
MEDIUM…/3rdparty/openssl-1.1-fit/engines/asm/e_padlock-x86.pl618# Essentially this variable belongs in thread local storage.COMMENT
MEDIUMtrunk/3rdparty/signaling/www/demos/js/adapter-7.4.0.js2073 // This is an ugly hack, but at the same time is way more robust thanCOMMENT
MEDIUMtrunk/src/utest/srs_utest_ai13.cpp950 muxer->hls_aof_ratio_ = 2.0; // Absolutely overflow at 2x fragment durationCODE
Fake / Example Data34 hits · 42 pts
SeverityFileLineSnippetContext
LOWtrunk/research/console/js/3rdparty/angular.js14506 <div ng-init="friends = [{name:'John', phone:'555-1276'},CODE
LOWtrunk/research/console/js/3rdparty/angular.js14508 {name:'Mike', phone:'555-4321'},CODE
LOWtrunk/research/console/js/3rdparty/angular.js14509 {name:'Adam', phone:'555-5678'},CODE
LOWtrunk/research/console/js/3rdparty/angular.js14510 {name:'Julie', phone:'555-8765'},CODE
LOWtrunk/research/console/js/3rdparty/angular.js14511 {name:'Juliette', phone:'555-5678'}]"></div>CODE
LOWtrunk/research/console/js/3rdparty/angular.js15305 [{name:'John', phone:'555-1212', age:10},CODE
LOWtrunk/research/console/js/3rdparty/angular.js15306 {name:'Mary', phone:'555-9876', age:19},CODE
LOWtrunk/research/console/js/3rdparty/angular.js15307 {name:'Mike', phone:'555-4321', age:21},CODE
LOWtrunk/research/console/js/3rdparty/angular.js15308 {name:'Adam', phone:'555-5678', age:35},CODE
LOWtrunk/research/console/js/3rdparty/angular.js15309 {name:'Julie', phone:'555-8765', age:29}]CODE
LOWtrunk/research/console/js/3rdparty/angular.js15364 { name: 'John', phone: '555-1212', age: 10 },CODE
LOWtrunk/research/console/js/3rdparty/angular.js15365 { name: 'Mary', phone: '555-9876', age: 19 },CODE
LOWtrunk/research/console/js/3rdparty/angular.js15366 { name: 'Mike', phone: '555-4321', age: 21 },CODE
LOWtrunk/research/console/js/3rdparty/angular.js15367 { name: 'Adam', phone: '555-5678', age: 35 },CODE
LOWtrunk/research/console/js/3rdparty/angular.js15368 { name: 'Julie', phone: '555-8765', age: 29 }CODE
LOWtrunk/research/console/js/3rdparty/angular.js18606 * {type: 'email', value: 'john.smith@example.org'} ];COMMENT
LOWtrunk/research/console/js/3rdparty/angular.js18614 * this.contacts.push({type: 'email', value: 'yourname@example.org'});COMMENT
LOWtrunk/research/console/js/3rdparty/angular.js18642 * .toBe('john.smith@example.org');COMMENT
LOWtrunk/research/console/js/3rdparty/angular.js18654 * .toBe('yourname@example.org');COMMENT
LOWtrunk/research/console/js/3rdparty/angular.js18686 * {type:'email', value:'john.smith@example.org'} ];COMMENT
LOWtrunk/research/console/js/3rdparty/angular.js18693 * $scope.contacts.push({type:'email', value:'yourname@example.org'});COMMENT
LOWtrunk/research/console/js/3rdparty/angular.js18722 * .toBe('john.smith@example.org');COMMENT
LOWtrunk/research/console/js/3rdparty/angular.js18734 * .toBe('yourname@example.org');COMMENT
LOWtrunk/research/console/js/3rdparty/angular.js20911 $scope.title = 'Lorem Ipsum';CODE
LOWtrunk/research/console/js/3rdparty/angular.js20912 $scope.text = 'Neque porro quisquam est qui dolorem ipsum quia dolor...';CODE
LOWtrunk/3rdparty/openssl-1.1-fit/crypto/hmac/hmac.c217 static const unsigned char dummy_key[1] = {'\0'};CODE
LOWtrunk/3rdparty/openssl-1.1-fit/crypto/hmac/hmac.c226 key = dummy_key;CODE
LOWtrunk/src/utest/srs_utest_manual_protocol3.cpp2680 char dummy_data[] = {0x01, 0x02};CODE
LOWtrunk/src/utest/srs_utest_manual_protocol3.cpp2682 HELPER_EXPECT_FAILED(hevc.vps_demux(dummy_data, -1, vps_output));CODE
LOWtrunk/src/utest/srs_utest_manual_protocol3.cpp2772 char dummy_data[] = {0x01, 0x02};CODE
LOWtrunk/src/utest/srs_utest_manual_protocol3.cpp2774 HELPER_EXPECT_FAILED(hevc.pps_demux(dummy_data, -1, pps_output));CODE
LOWtrunk/src/utest/srs_utest_ai22.cpp3278 char dummy_data[100];CODE
LOWtrunk/src/utest/srs_utest_ai22.cpp3279 memset(dummy_data, 0, sizeof(dummy_data));CODE
LOWtrunk/src/utest/srs_utest_ai22.cpp3280 HELPER_EXPECT_SUCCESS(mock_fs->write(dummy_data, sizeof(dummy_data), NULL));CODE
Hallucination Indicators3 hits · 30 pts
SeverityFileLineSnippetContext
CRITICALtrunk/research/players/js/jquery-1.12.2.min.js4return b?(parseFloat(Sa(a,"marginLeft"))||(n.contains(a.ownerDocument,a)?a.getBoundingClientRect().left-Pa(a,{marginLeftCODE
CRITICALtrunk/3rdparty/srt-1-fit/srtcore/group.cpp2999 const int64_t drop_total = u.m_stats.sndr.dropped.total.count();CODE
CRITICAL…k/3rdparty/signaling/www/demos/js/jquery-1.12.2.min.js4return b?(parseFloat(Sa(a,"marginLeft"))||(n.contains(a.ownerDocument,a)?a.getBoundingClientRect().left-Pa(a,{marginLeftCODE
Synthetic Comment Markers3 hits · 22 pts
SeverityFileLineSnippetContext
HIGHinternal/rtmp/rtmp.go1777 // that the playback of data is over as requestedCOMMENT
HIGHtrunk/3rdparty/srt-1-fit/srtcore/group.h379 /// the group data array as requested.COMMENT
HIGHtrunk/src/protocol/srs_protocol_rtmp_stack.hpp1646 // that the playback of data is over as requestedCOMMENT
Slop Phrases7 hits · 18 pts
SeverityFileLineSnippetContext
MEDIUMtrunk/research/console/js/3rdparty/angular.js13578 * That said, here's how you can completely disable SCE:COMMENT
MEDIUMtrunk/research/console/js/3rdparty/angular.js13582 * // Completely disable SCE. For demonstration purposes only!COMMENT
MEDIUMtrunk/research/console/js/3rdparty/angular-resource.js270 * It's worth noting that the success callback for `get`, `query` and other methods gets passedCOMMENT
MEDIUMtrunk/auto/utest.sh41# project, except GTEST_HEADERS, which you can use in your own targetsCOMMENT
LOW…unk/3rdparty/openssl-1.1-fit/crypto/md5/asm/md5-586.pl113 # make sure to do 'D' first, not 'B', else we clash withCOMMENT
LOW…unk/3rdparty/openssl-1.1-fit/crypto/md5/asm/md5-586.pl131 # make sure to do 'D' first, not 'B', else we clash withCOMMENT
MEDIUMtrunk/src/app/srs_app_rtc_dtls.cpp563 // sending out the ICE response in the start_active_handshake function. It's worth noting thatCOMMENT
Hyper-Verbose Identifiers21 hits · 17 pts
SeverityFileLineSnippetContext
LOWtrunk/research/players/js/adapter-7.4.0.js492function shimSenderReceiverGetStats(window) {CODE
LOWtrunk/research/players/js/adapter-7.4.0.js604function shimAddTrackRemoveTrackWithNative(window) {CODE
LOWtrunk/research/players/js/adapter-7.4.0.js2536function shimTrackEventTransceiver(window) {CODE
LOWtrunk/research/players/js/adapter-7.4.0.js3061function isActionAllowedInSignalingState(action, type, signalingState) {CODE
LOWtrunk/research/players/js/adapter-7.4.0.js3111 function addTrackToStreamAndFireEvent(track, stream) {CODE
LOWtrunk/research/players/js/adapter-7.4.0.js3117 function removeTrackFromStreamAndFireEvent(track, stream) {CODE
LOWtrunk/research/console/js/3rdparty/angular.js4328 function completeOutstandingRequest(fn) {CODE
LOWtrunk/research/console/js/3rdparty/angular.js6171 function groupElementsLinkFnWrapper(linkFn, attrStart, attrEnd) {CODE
LOWtrunk/research/console/js/3rdparty/angular.js6615 function controllersBoundTransclude(scope, cloneAttachFn) {CODE
LOWtrunk/research/console/js/3rdparty/angular.js6851 function addTextInterpolateDirective(directives, text) {CODE
LOWtrunk/research/console/js/3rdparty/angular.js6885 function addAttrInterpolateDirective(node, directives, value, name) {CODE
LOWtrunk/research/console/js/3rdparty/angular.js8151 function createShortMethodsWithData(name) {CODE
LOWtrunk/research/console/js/3rdparty/angular.js10804 : function cspSafePromiseEnabledGetter(scope, locals) {CODE
LOWtrunk/research/console/js/3rdparty/angular.js13150 function isResourceUrlAllowedByPolicy(url) {CODE
LOWtrunk/research/console/js/3rdparty/angular-resource.js460 function defaultResponseInterceptor(response) {CODE
LOWtrunk/3rdparty/signaling/www/demos/js/adapter-7.4.0.js492function shimSenderReceiverGetStats(window) {CODE
LOWtrunk/3rdparty/signaling/www/demos/js/adapter-7.4.0.js604function shimAddTrackRemoveTrackWithNative(window) {CODE
LOWtrunk/3rdparty/signaling/www/demos/js/adapter-7.4.0.js2536function shimTrackEventTransceiver(window) {CODE
LOWtrunk/3rdparty/signaling/www/demos/js/adapter-7.4.0.js3061function isActionAllowedInSignalingState(action, type, signalingState) {CODE
LOWtrunk/3rdparty/signaling/www/demos/js/adapter-7.4.0.js3111 function addTrackToStreamAndFireEvent(track, stream) {CODE
LOWtrunk/3rdparty/signaling/www/demos/js/adapter-7.4.0.js3117 function removeTrackFromStreamAndFireEvent(track, stream) {CODE
Redundant / Tautological Comments12 hits · 14 pts
SeverityFileLineSnippetContext
LOWtrunk/scripts/clang_format.sh6# Check if clang-format is installedCOMMENT
LOWtrunk/scripts/clang_format.sh12# Check if the trunk directory existsCOMMENT
LOWtrunk/3rdparty/gperftools-2-fit/ltmain.sh623# Set func_arith_result to the result of evaluating TERMs.COMMENT
LOWtrunk/3rdparty/gperftools-2-fit/ltmain.sh647# Set func_basename_result to FILE with everything up to and includingCOMMENT
LOWtrunk/3rdparty/gperftools-2-fit/ltmain.sh813# Set func_len_result to the length of STRING. STRING may notCOMMENT
LOWtrunk/3rdparty/gperftools-2-fit/ltmain.sh1031# Set func_relative_path_result to the relative path from SRCDIR to DSTDIR.COMMENT
LOWtrunk/3rdparty/gperftools-2-fit/ltmain.sh4003 # Check if any of the arguments is a wrapper script.COMMENT
LOWtrunk/3rdparty/gperftools-2-fit/ltmain.sh9972 # Loop over the list of objects to be linked.COMMENT
LOWtrunk/3rdparty/gperftools-2-fit/packages/deb.sh10## Set LIB to lib if exporting a library, empty-string elseCOMMENT
LOWtrunk/3rdparty/openssl-1.1-fit/util/mkdef.pl130# Set this to make typesafe STACK definitions appear in DEFCOMMENT
LOWtrunk/3rdparty/openssl-1.1-fit/util/mkdef.pl1549#Check if a version is less than or equal to the current version. Its a fatalCOMMENT
LOW…/external/perl/Text-Template-1.46/lib/Text/Template.pm528 # Print result text instead of returning itCOMMENT
Example Usage Blocks5 hits · 8 pts
SeverityFileLineSnippetContext
LOWtrunk/scripts/package.sh5# Usage:COMMENT
LOW…unk/3rdparty/gperftools-2-fit/src/base/stl_allocator.h54// Usage example:COMMENT
LOWtrunk/3rdparty/gperftools-2-fit/src/base/vdso_support.h47// Example usage:COMMENT
LOWtrunk/src/kernel/srs_kernel_buffer.hpp164// Usage example:COMMENT
LOWtrunk/src/kernel/srs_kernel_buffer.hpp390// Usage example:COMMENT
AI Response Leakage1 hit · 8 pts
SeverityFileLineSnippetContext
HIGHtrunk/3rdparty/srt-1-fit/srtcore/sync.h989 /// In this implementation the ID is the pthread_t.COMMENT
Excessive Try-Catch Wrapping4 hits · 7 pts
SeverityFileLineSnippetContext
MEDIUMtrunk/gdb/srs.py32 print('Error: prev=%s, this=%s, next=%s, v=%s'%(prev, pthis, pnext, v))CODE
MEDIUMtrunk/gdb/srs.py67 print('Error: prev=%s, this=%s, next=%s'%(prev, pthis, pnext))CODE
LOWtrunk/3rdparty/srt-1-fit/scripts/srt-proxy.py113 except Exception as e:CODE
MEDIUMtrunk/3rdparty/srt-1-fit/scripts/srt-proxy.py37def start(self):CODE
TODO Padding1 hit · 2 pts
SeverityFileLineSnippetContext
LOWtrunk/3rdparty/srt-1-fit/srtcore/group.cpp3979 // TODO: implement iterator over active linksCOMMENT
Deep Nesting1 hit · 1 pts
SeverityFileLineSnippetContext
LOWtrunk/3rdparty/srt-1-fit/scripts/srt-proxy.py37CODE