Repository Analysis

ossrs/srs

SRS is a simple, high-efficiency, 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.6 Likely human-written View on GitHub
3.6
Adjusted Score
3.6
Raw Score
100%
Time Factor
2026-05-29
Last Push
28,913
Stars
C++
Language
1,393,599
Lines of Code
3439
Files
4317
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 3HIGH 3MEDIUM 405LOW 3906

Pattern Findings

4317 matches across 13 categories. Click a row to expand file-level details.

Over-Commented Block3788 hits · 3532 pts
SeverityFileLineSnippet
LOWinternal/bootstrap/proxy.go81 newSignalHandler func() signalHandler
LOWinternal/bootstrap/proxy.go101 newWebRTCProxyServer func(environment env.ProxyEnvironment, loadBalancer lb.OriginLoadBalancer) proxy.WebRTCProxyServer
LOWinternal/proxy/gen.go1// Copyright (c) 2026 Winlin
LOWinternal/proxy/rtmp.go141// proxy servers.
LOWinternal/proxy/rtc.go41 // The load balancer for origin servers.
LOWinternal/proxy/rtc.go401// to another UDP address, it may connect to another WebRTC proxy, then we should discover the
LOWinternal/proxy/srt.go161 // TODO: FIXME: Should cleanup the dead SRT connection.
LOWinternal/proxy/srt.go441 // Handshake control packets (Control Type = 0x0000) are used to
LOWinternal/proxy/srt.go461 // Encryption Field: 16 bits. Block cipher family and key size. The
LOWinternal/proxy/srt.go481 // very first data packet to be sent.
LOWinternal/proxy/srt.go501 // socket from which a handshake packet is issued.
LOWinternal/lb/gen.go1// Copyright (c) 2026 Winlin
LOWinternal/rtmp/gen.go1// Copyright (c) 2026 Winlin
LOWinternal/rtmp/rtmp.go401 return
LOWinternal/rtmp/rtmp.go421 formatType1
LOWinternal/rtmp/rtmp.go441 // follows a Type 0 chunk, then timestamp delta for this Type 3 chunk is
LOWinternal/rtmp/rtmp.go461// fmt=3, 0xCX
LOWinternal/rtmp/rtmp.go481 // so we must update the timestamp even fmt=3 for first packet.
LOWinternal/rtmp/rtmp.go521 if _, err = io.ReadFull(v.r, p); err != nil {
LOWinternal/rtmp/rtmp.go541 // If the timestamp is greater than or equal to 16777215
LOWinternal/rtmp/rtmp.go581 // extended timestamp on a Type-3 chunk (see the detection below).
LOWinternal/rtmp/rtmp.go621 timestamp = chunk.extendedTimestamp
LOWinternal/rtmp/rtmp.go641 // 4000000000.
LOWinternal/rtmp/rtmp.go661// The Chunk Basic Header encodes the chunk stream ID and the chunk
LOWinternal/rtmp/rtmp.go681//
LOWinternal/rtmp/rtmp.go881 // Please read @doc rtmp_specification_1.0.pdf, @page 38, @section 3. Types of messages
LOWinternal/rtmp/rtmp.go901 // of 20 for AMF0 encoding and message type value of 17 for AMF3
LOWinternal/rtmp/rtmp.go921
LOWinternal/rtmp/rtmp.go1761type EventType uint16
LOWinternal/rtmp/rtmp.go1781 // 4 bytes of event data represent the ID of the
LOWinternal/rtmp/rtmp.go1801 EventTypeSetBufferLength = 0x03 // 8bytes event-data
LOWinternal/rtmp/rtmp.go1821 EventTypePingResponse = 0x07
LOWinternal/rtmp/rtmp_test.go1041// product of every typed packet against multi-chunk reassembly. Mirrors the C++
LOWinternal/rtmp/rtmp_test.go1221// ProtocolStackTest suite has no equivalent coverage either, so this is new coverage beyond the
LOWinternal/rtmp/rtmp_test.go1321 t.Fatalf("ReadMessage #%v err=%v", i, err)
LOWinternal/rtmp/rtmp_test.go1521}
LOWinternal/rtmp/rtmp_test.go1681// resource-exhaustion surfaces (e.g. an attacker-controlled SetChunkSize followed by a
LOWinternal/rtmp/rtmp_test.go1961// (via onPacketWriten); parseAMFObject, reached from DecodeMessage when a
LOWinternal/errors/errors.go1// Package errors provides error handling primitives with stack traces.
LOWinternal/redisclient/gen.go1// Copyright (c) 2026 Winlin
LOW.github/workflows/test.yml1name: "Test"
LOWskills/srs-develop/scripts/setup-ffmpeg-with-whip.sh1#!/bin/bash
LOWskills/srs-develop/scripts/setup-ffmpeg-with-whip.sh121# openssl@3 is keg-only in Homebrew, so its .pc files are not on the default
LOWskills/srs-develop/scripts/proxy-e2e-srt-test.sh1#!/bin/bash
LOWskills/srs-develop/scripts/proxy-e2e-whip-test.sh1#!/bin/bash
LOWskills/srs-develop/scripts/proxy-e2e-whip-test.sh41SOURCE_FLV="$WORKSPACE/trunk/doc/source.flv"
LOWtrunk/research/msg_zerocopy/client.cpp1#include <st.h>
LOWtrunk/research/msg_zerocopy/client.cpp21
LOWtrunk/research/srt-proxy/main.go241 // Control Type: 15 bits. Control Packet Type. The use of these bits
LOWtrunk/research/srt-proxy/main.go261 // use.
LOWtrunk/research/srt-proxy/main.go281 ExtensionField uint16
LOWtrunk/research/srt-proxy/main.go301 HandshakeType uint32
LOWtrunk/research/players/srs_gb28181.html481 // webrtc://r.ossrs.net/live/livestream
LOWtrunk/research/players/js/json2.js441 if (cx.test(text)) {
LOWtrunk/research/console/js/3rdparty/angular.js9921//
LOWtrunk/research/console/js/3rdparty/angular.js14041
LOWtrunk/auto/codecov.sh1#!/bin/bash
LOWtrunk/auto/utest.sh1# generate utest Makefile
LOWtrunk/auto/utest.sh21
LOWtrunk/auto/utest.sh101
3728 more matches not shown…
Decorative Section Separators344 hits · 1042 pts
SeverityFileLineSnippet
MEDIUMtrunk/3rdparty/srt-1-fit/CMakeLists.txt894# ---------------------------------------------------------------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh169# ----------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh178# --------------------------------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh480# -------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh529# ---------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh575# ----------------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh598# --------------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh622# ------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh646# ------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh679# -------------------------------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh691# --------------------------------------------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh712# ----------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh731# --------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh740# ------------------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh776# -----------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh789# -----------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh801# -----------------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh812# ---------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh838# ---------------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh886# -------------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh924# ------------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1014# --------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1030# --------------------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1095# --------------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1147# -------------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1177# ---------------------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1207# -----------------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1232# ------------------------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1261# ----------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1282# -------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1295# -----------------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1308# ----------------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1333# -----------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1350# ---------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1483# -----------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1495# ---------------------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1512# ------------------------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1523# ---------------------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1646# ----------------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1663# ---------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1697# --------------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1725# ---------------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1841# ------------------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1877# ----------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1905# ------------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1918# ------------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1953# -----------------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1979# ----------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1992# ------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh2012# ------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh2057# ----------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh2077# -------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh2156# ---------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh2173 # ---------------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh2195# -------------------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh2207# -----------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh2227# -------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh2248# -----------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh2291# ------------------------
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh2328# -----------------------------
284 more matches not shown…
Verbosity Indicators61 hits · 119 pts
SeverityFileLineSnippet
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, and
LOWtrunk/src/utest/srs_utest_ai19.cpp1747 // Step 1: Create RTMP client
LOWtrunk/src/utest/srs_utest_ai19.cpp1755 // Step 2: Connect to RTMP server
LOWtrunk/src/utest/srs_utest_ai19.cpp1759 // Step 3: Publish stream
LOWtrunk/src/utest/srs_utest_ai19.cpp1763 // Step 4: Read and send first FLV tag (video)
LOWtrunk/src/utest/srs_utest_ai19.cpp1800 // Step 5: Simulate second tag (audio)
LOWtrunk/src/utest/srs_utest_ai19.cpp1842 // Step 6: Verify EOF handling
LOWtrunk/src/utest/srs_utest_ai21.cpp2491 // Step 1: Create and process AAC sequence header to initialize audio track
LOWtrunk/src/utest/srs_utest_ai21.cpp2517 // Step 2: Create and process AAC raw data frame
LOWtrunk/src/utest/srs_utest_ai21.cpp2541 // Step 3: Verify RTP packet was sent to target
LOWtrunk/src/utest/srs_utest_ai21.cpp2690 // Step 1: Create and process H.264 sequence header to initialize video track
LOWtrunk/src/utest/srs_utest_ai21.cpp2716 // Step 2: Create and process H.264 IDR frame
LOWtrunk/src/utest/srs_utest_ai09.cpp2373 // Step 1: avsync_time <= 0 with sync_state_ < 0 -> should trace and set sync_state_ = 0
LOWtrunk/src/utest/srs_utest_ai09.cpp2377 // Step 2: avsync_time <= 0 with sync_state_ = 0 -> should not trace, return early
LOWtrunk/src/utest/srs_utest_ai09.cpp2381 // Step 3: avsync_time > 0 with sync_state_ < 1 -> should trace and set sync_state_ = 2
LOWtrunk/src/utest/srs_utest_ai09.cpp2389 // Step 4: avsync_time > 0 with sync_state_ = 2 -> should not trace, process packet
LOWtrunk/src/utest/srs_utest_ai08.cpp4388 // Step 1: Send initial keyframe with sequence 200
LOWtrunk/src/utest/srs_utest_ai08.cpp4396 // Step 2: Send packet 201 (which matches the current lost_sn_)
LOWtrunk/src/utest/srs_utest_ai08.cpp4401 // Step 3: Skip packet 202 and send packet 203 with marker bit
LOWtrunk/src/utest/srs_utest_ai08.cpp4407 // Step 4: Set frame target to fail
LOWtrunk/src/utest/srs_utest_ai08.cpp4410 // Step 5: Send a keyframe with sequence 202 (the missing packet)
LOWtrunk/src/utest/srs_utest_ai08.cpp4515 // Step 1: Send initial keyframe with sequence 300
LOWtrunk/src/utest/srs_utest_ai08.cpp4523 // Step 2: Send packet 301 (which matches the current lost_sn_)
LOWtrunk/src/utest/srs_utest_ai08.cpp4528 // Step 3: Send packet 302 with marker bit to complete a frame
LOWtrunk/src/utest/srs_utest_ai08.cpp4534 // Step 4: Set frame target to fail - this will cause packet_video_rtmp to fail
LOWtrunk/src/utest/srs_utest_ai08.cpp4537 // Step 5: Send a keyframe with sequence 303
LOWtrunk/src/utest/srs_utest_ai08.cpp4266 // Step 1: Send a keyframe to initialize the frame detector
LOWtrunk/src/utest/srs_utest_ai08.cpp4270 // Step 2: Send packets that form a complete frame
LOWtrunk/src/utest/srs_utest_ai08.cpp4286 // Step 3: Send the final packet with marker bit to complete the frame
LOWtrunk/src/utest/srs_utest_ai08.cpp4317 // Step 1: Send initial keyframe to set up frame detector
LOWtrunk/src/utest/srs_utest_ai08.cpp4325 // Step 2: Send some non-keyframe packets to build up cache
LOWtrunk/src/utest/srs_utest_ai08.cpp4337 // Step 3: Set frame target to fail - this will cause packet_video_rtmp to fail
LOWtrunk/src/utest/srs_utest_ai08.cpp4340 // Step 4: Send a keyframe with sequence number that matches lost_sn_
LOWtrunk/src/utest/srs_utest_ai08.cpp4447 // Step 1: Send a keyframe to initialize the frame detector
LOWtrunk/src/utest/srs_utest_ai08.cpp4451 // Step 2: Create a scenario where packet_video_rtmp will make recursive calls
LOWtrunk/src/utest/srs_utest_ai08.cpp4477 // Step 3: Send a packet that will trigger frame processing and potentially recursive calls
LOWtrunk/src/utest/srs_utest_workflow_forward.cpp72 // Step 1: Initialize forwarder with destination
LOWtrunk/src/utest/srs_utest_workflow_forward.cpp140 // Step 2: Call on_publish to start forwarding
LOWtrunk/src/utest/srs_utest_workflow_forward.cpp229 // Step 1: Initialize forwarder with destination
LOWtrunk/src/utest/srs_utest_workflow_forward.cpp233 // Step 2: Call on_publish to start forwarding
LOWtrunk/src/utest/srs_utest_manual_rtc_recv_track.cpp399 // Step 1: Simulate lost packet by adding to NACK receiver
LOWtrunk/src/utest/srs_utest_manual_rtc_recv_track.cpp406 // Step 2: Simulate packet recovery (retransmission arrives)
LOWtrunk/src/utest/srs_utest_manual_rtc_recv_track.cpp411 // Step 3: Process the recovered packet
LOWtrunk/src/utest/srs_utest_manual_rtc_recv_track.cpp414 // Step 4: Verify the fix - packet should be removed from NACK receiver
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)
LOWtrunk/src/utest/srs_utest_ai13.cpp1703 // Step 1: Close current ts segment
LOWtrunk/src/utest/srs_utest_ai13.cpp1707 // Step 2: Open new ts segment
LOWtrunk/src/utest/srs_utest_ai13.cpp1711 // Step 3: Flush video first after segment open
LOWtrunk/src/utest/srs_utest_ai13.cpp1715 // Step 4: Flush audio after video (to make iPhone happy)
LOWtrunk/src/utest/srs_utest_ai14.cpp3141 // Step 1: Cache a keyframe to establish that the stream has video
LOWtrunk/src/utest/srs_utest_ai14.cpp3150 // Step 2: Cache a few inter frames to build up the GOP
LOWtrunk/src/utest/srs_utest_ai14.cpp3159 // Step 3: Now simulate the scenario where video stops but audio continues
LOWtrunk/src/utest/srs_utest_ai14.cpp3175 // Step 4: Send ONE MORE audio packet to exceed the threshold
LOWtrunk/src/utest/srs_utest_ai14.cpp3183 // Step 5: Verify that the cache was cleared due to pure audio overflow
LOWtrunk/src/utest/srs_utest_ai14.cpp3187 // Step 6: Verify that the stream is now detected as pure audio
LOWtrunk/src/utest/srs_utest_ai14.cpp3191 // Step 7: Verify that subsequent audio packets are NOT cached
LOWtrunk/src/kernel/srs_kernel_buffer.cpp495 // Step 1: Count leading zero bits
LOWtrunk/src/kernel/srs_kernel_buffer.cpp505 // Step 2: Calculate base value: (2^leadingZeroBits) - 1
LOWtrunk/src/kernel/srs_kernel_buffer.cpp508 // Step 3: Read suffix bits and add to base value
LOWtrunk/src/kernel/srs_kernel_buffer.cpp546 // Step 1: Decode unsigned Exp-Golomb value
1 more matches not shown…
Self-Referential Comments27 hits · 84 pts
SeverityFileLineSnippet
MEDIUM.github/workflows/release.yml198 # Create main images for Docker
MEDIUMtrunk/research/console/js/3rdparty/angular-resource.js295 * # Creating a custom 'PUT' request
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh1402# This file is a library for parsing options in your shell scripts along
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh2594# This function is only a basic sanity check; it will hardly flush out
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh2604# This function implements the same check as func_lalib_p without
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh2627# This function is only a basic sanity check; it will hardly flush out
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh2637# This function is only a basic sanity check; it will hardly flush out
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh2662# This function is only a basic sanity check; it will hardly flush out
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh2802# Create a libtool object file (analogous to a ".la" file),
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh7570 # Create the object directory.
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh10249 # Create the old-style object.
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh10269 # Create an invalid libtool object if no PIC, so that we don't
MEDIUMtrunk/3rdparty/gperftools-2-fit/packages/rpm.sh38# Create the directory where the input lives, and where the output should live
MEDIUMtrunk/3rdparty/gperftools-2-fit/packages/deb.sh41# Create a pristine directory for building the Debian package files
MEDIUM…rdparty/openssl-1.1-fit/crypto/ec/asm/x25519-x86_64.pl20# This module implements radix 2^51 multiplication and squaring, and
MEDIUM…ty/openssl-1.1-fit/crypto/poly1305/asm/poly1305-ppc.pl17# This module implements Poly1305 hash for PowerPC.
MEDIUM…/openssl-1.1-fit/crypto/poly1305/asm/poly1305-armv8.pl17# This module implements Poly1305 hash for ARMv8.
MEDIUM…penssl-1.1-fit/crypto/poly1305/asm/poly1305-sparcv9.pl17# This module implements Poly1305 hash for SPARCv9, vanilla, as well
MEDIUM…/openssl-1.1-fit/crypto/poly1305/asm/poly1305-ppcfp.pl17# This module implements Poly1305 hash for PowerPC FPU.
MEDIUM…openssl-1.1-fit/crypto/poly1305/asm/poly1305-x86_64.pl17# This module implements Poly1305 hash for x86_64.
MEDIUM…/openssl-1.1-fit/crypto/poly1305/asm/poly1305-s390x.pl17# This module implements Poly1305 hash for s390x.
MEDIUM…ty/openssl-1.1-fit/crypto/poly1305/asm/poly1305-x86.pl17# This module implements Poly1305 hash for x86.
MEDIUM…/3rdparty/openssl-1.1-fit/crypto/aes/asm/aesv8-armx.pl17# This module implements support for ARMv8 AES instructions. The
MEDIUM…rdparty/openssl-1.1-fit/crypto/aes/asm/aesni-x86_64.pl17# This module implements support for Intel AES-NI extension. In
MEDIUM…k/3rdparty/openssl-1.1-fit/crypto/aes/asm/aesni-x86.pl17# This module implements support for Intel AES-NI extension. In
MEDIUM…k/3rdparty/openssl-1.1-fit/crypto/aes/asm/aesp8-ppc.pl17# This module implements support for AES instructions as per PowerISA
MEDIUM…k/3rdparty/openssl-1.1-fit/util/perl/TLSProxy/Proxy.pm111 # Create the Proxy socket
AI Slop Vocabulary27 hits · 83 pts
SeverityFileLineSnippet
MEDIUMtrunk/research/players/js/adapter-7.4.0.js2073 // This is an ugly hack, but at the same time is way more robust than
MEDIUMtrunk/3rdparty/srt-1-fit/srtcore/tsbpd_time.h90 /// Essentially: getTsbPdTimeBase(usPktTimestamp) + usPktTimestamp
MEDIUMtrunk/3rdparty/srt-1-fit/srtcore/tsbpd_time.h99 /// Essentially: getPktTsbPdBaseTime(usPktTimestamp) + m_tdTsbPdDelay + drift()
MEDIUM…/gtest-fit/googletest/include/gtest/gtest-death-test.h151// This implementation is *not* meant to be as highly tuned or robust
MEDIUM…/gtest-fit/googletest/include/gtest/gtest-death-test.h222// In practice, this can be used to test functions that utilize the
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh331# Sed substitution that helps us do robust quoting. It backslashifies
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh5319# Sed substitution that helps us do robust quoting. It backslashifies
MEDIUMtrunk/3rdparty/gperftools-2-fit/ltmain.sh9271 # This code stresses the "libraries are programs" paradigm to its
MEDIUMtrunk/3rdparty/gperftools-2-fit/src/base/sysinfo.h59// On some platforms, this call will utilize the same, static buffer for
MEDIUMtrunk/3rdparty/openssl-1.1-fit/crypto/x86cpuid.pl213# Essentially there is only one use for this function. Under DJGPP:
MEDIUM…rdparty/openssl-1.1-fit/crypto/perlasm/x86_64-xlate.pl1404# To facilitate composing of .pdata structures, auto-generated "gear"
MEDIUM…party/openssl-1.1-fit/crypto/rc4/asm/rc4-md5-x86_64.pl22# below theoretical maximum, interleaving them would allow to utilize
MEDIUM…y/openssl-1.1-fit/crypto/poly1305/asm/poly1305-mips.pl38# The return value is placed in $a0. Following coding rules facilitate
MEDIUM…nk/3rdparty/openssl-1.1-fit/crypto/bn/asm/mips-mont.pl40# The return value is placed in $a0. Following coding rules facilitate
MEDIUM…3rdparty/openssl-1.1-fit/crypto/sha/asm/sha512-mips.pl42# The return value is placed in $a0. Following coding rules facilitate
MEDIUM…rty/openssl-1.1-fit/crypto/sha/asm/keccak1600-armv8.pl35# instructions effectively facilitate parallel hashing, which we don't
MEDIUM…rty/openssl-1.1-fit/crypto/sha/asm/sha1-armv4-large.pl720 # this fix-up provides Thumb encoding in conjunction with INST
MEDIUM…3rdparty/openssl-1.1-fit/crypto/sha/asm/sha1-x86_64.pl25# capacity to fully utilize SHA-1 parallelism. Therefore this fresh
MEDIUM…k/3rdparty/openssl-1.1-fit/crypto/sha/asm/sha1-mips.pl40# The return value is placed in $a0. Following coding rules facilitate
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 be
MEDIUM…ty/openssl-1.1-fit/crypto/aes/asm/aesni-sha1-x86_64.pl23# utilize processor resources better and achieve better performance.
MEDIUM…ty/openssl-1.1-fit/crypto/aes/asm/aesni-sha1-x86_64.pl65# fully utilize parallelism, so stitching would not give any gain
MEDIUM…/openssl-1.1-fit/crypto/aes/asm/aesni-sha256-x86_64.pl23# utilize processor resources better and achieve better performance.
MEDIUM…nk/3rdparty/openssl-1.1-fit/crypto/aes/asm/aes-mips.pl48# The return value is placed in $a0. Following coding rules facilitate
MEDIUM…/3rdparty/openssl-1.1-fit/engines/asm/e_padlock-x86.pl618# Essentially this variable belongs in thread local storage.
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 than
MEDIUMtrunk/src/utest/srs_utest_ai13.cpp950 muxer->hls_aof_ratio_ = 2.0; // Absolutely overflow at 2x fragment duration
Hallucination Indicators3 hits · 30 pts
SeverityFileLineSnippet
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,{marginLeft
CRITICALtrunk/3rdparty/srt-1-fit/srtcore/group.cpp2724 const int64_t drop_total = u.m_stats.sndr.dropped.total.count();
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,{marginLeft
Fake / Example Data17 hits · 24 pts
SeverityFileLineSnippet
LOWtrunk/research/console/js/3rdparty/angular.js14506 <div ng-init="friends = [{name:'John', phone:'555-1276'},
LOWtrunk/research/console/js/3rdparty/angular.js14508 {name:'Mike', phone:'555-4321'},
LOWtrunk/research/console/js/3rdparty/angular.js14509 {name:'Adam', phone:'555-5678'},
LOWtrunk/research/console/js/3rdparty/angular.js14510 {name:'Julie', phone:'555-8765'},
LOWtrunk/research/console/js/3rdparty/angular.js14511 {name:'Juliette', phone:'555-5678'}]"></div>
LOWtrunk/research/console/js/3rdparty/angular.js15305 [{name:'John', phone:'555-1212', age:10},
LOWtrunk/research/console/js/3rdparty/angular.js15306 {name:'Mary', phone:'555-9876', age:19},
LOWtrunk/research/console/js/3rdparty/angular.js15307 {name:'Mike', phone:'555-4321', age:21},
LOWtrunk/research/console/js/3rdparty/angular.js15308 {name:'Adam', phone:'555-5678', age:35},
LOWtrunk/research/console/js/3rdparty/angular.js15309 {name:'Julie', phone:'555-8765', age:29}]
LOWtrunk/research/console/js/3rdparty/angular.js15364 { name: 'John', phone: '555-1212', age: 10 },
LOWtrunk/research/console/js/3rdparty/angular.js15365 { name: 'Mary', phone: '555-9876', age: 19 },
LOWtrunk/research/console/js/3rdparty/angular.js15366 { name: 'Mike', phone: '555-4321', age: 21 },
LOWtrunk/research/console/js/3rdparty/angular.js15367 { name: 'Adam', phone: '555-5678', age: 35 },
LOWtrunk/research/console/js/3rdparty/angular.js15368 { name: 'Julie', phone: '555-8765', age: 29 }
LOWtrunk/research/console/js/3rdparty/angular.js20911 $scope.title = 'Lorem Ipsum';
LOWtrunk/research/console/js/3rdparty/angular.js20912 $scope.text = 'Neque porro quisquam est qui dolorem ipsum quia dolor...';
Synthetic Comment Markers3 hits · 22 pts
SeverityFileLineSnippet
HIGHinternal/rtmp/rtmp.go1777 // that the playback of data is over as requested
HIGHtrunk/3rdparty/srt-1-fit/srtcore/group.h377 /// the group data array as requested.
HIGHtrunk/src/protocol/srs_protocol_rtmp_stack.hpp1624 // that the playback of data is over as requested
Hyper-Verbose Identifiers21 hits · 18 pts
SeverityFileLineSnippet
LOWtrunk/research/players/js/adapter-7.4.0.js492function shimSenderReceiverGetStats(window) {
LOWtrunk/research/players/js/adapter-7.4.0.js604function shimAddTrackRemoveTrackWithNative(window) {
LOWtrunk/research/players/js/adapter-7.4.0.js2536function shimTrackEventTransceiver(window) {
LOWtrunk/research/players/js/adapter-7.4.0.js3061function isActionAllowedInSignalingState(action, type, signalingState) {
LOWtrunk/research/players/js/adapter-7.4.0.js3111 function addTrackToStreamAndFireEvent(track, stream) {
LOWtrunk/research/players/js/adapter-7.4.0.js3117 function removeTrackFromStreamAndFireEvent(track, stream) {
LOWtrunk/research/console/js/3rdparty/angular.js4328 function completeOutstandingRequest(fn) {
LOWtrunk/research/console/js/3rdparty/angular.js6171 function groupElementsLinkFnWrapper(linkFn, attrStart, attrEnd) {
LOWtrunk/research/console/js/3rdparty/angular.js6615 function controllersBoundTransclude(scope, cloneAttachFn) {
LOWtrunk/research/console/js/3rdparty/angular.js6851 function addTextInterpolateDirective(directives, text) {
LOWtrunk/research/console/js/3rdparty/angular.js6885 function addAttrInterpolateDirective(node, directives, value, name) {
LOWtrunk/research/console/js/3rdparty/angular.js8151 function createShortMethodsWithData(name) {
LOWtrunk/research/console/js/3rdparty/angular.js10804 : function cspSafePromiseEnabledGetter(scope, locals) {
LOWtrunk/research/console/js/3rdparty/angular.js13150 function isResourceUrlAllowedByPolicy(url) {
LOWtrunk/research/console/js/3rdparty/angular-resource.js460 function defaultResponseInterceptor(response) {
LOWtrunk/3rdparty/signaling/www/demos/js/adapter-7.4.0.js492function shimSenderReceiverGetStats(window) {
LOWtrunk/3rdparty/signaling/www/demos/js/adapter-7.4.0.js604function shimAddTrackRemoveTrackWithNative(window) {
LOWtrunk/3rdparty/signaling/www/demos/js/adapter-7.4.0.js2536function shimTrackEventTransceiver(window) {
LOWtrunk/3rdparty/signaling/www/demos/js/adapter-7.4.0.js3061function isActionAllowedInSignalingState(action, type, signalingState) {
LOWtrunk/3rdparty/signaling/www/demos/js/adapter-7.4.0.js3111 function addTrackToStreamAndFireEvent(track, stream) {
LOWtrunk/3rdparty/signaling/www/demos/js/adapter-7.4.0.js3117 function removeTrackFromStreamAndFireEvent(track, stream) {
Slop Phrases7 hits · 18 pts
SeverityFileLineSnippet
MEDIUMtrunk/research/console/js/3rdparty/angular.js13578 * That said, here's how you can completely disable SCE:
MEDIUMtrunk/research/console/js/3rdparty/angular.js13582 * // Completely disable SCE. For demonstration purposes only!
MEDIUMtrunk/research/console/js/3rdparty/angular-resource.js270 * It's worth noting that the success callback for `get`, `query` and other methods gets passed
MEDIUMtrunk/auto/utest.sh41# project, except GTEST_HEADERS, which you can use in your own targets
LOW…unk/3rdparty/openssl-1.1-fit/crypto/md5/asm/md5-586.pl113 # make sure to do 'D' first, not 'B', else we clash with
LOW…unk/3rdparty/openssl-1.1-fit/crypto/md5/asm/md5-586.pl131 # make sure to do 'D' first, not 'B', else we clash with
MEDIUMtrunk/src/app/srs_app_rtc_dtls.cpp563 // sending out the ICE response in the start_active_handshake function. It's worth noting that
Redundant / Tautological Comments12 hits · 14 pts
SeverityFileLineSnippet
LOWtrunk/scripts/clang_format.sh6# Check if clang-format is installed
LOWtrunk/scripts/clang_format.sh12# Check if the trunk directory exists
LOWtrunk/3rdparty/gperftools-2-fit/ltmain.sh623# Set func_arith_result to the result of evaluating TERMs.
LOWtrunk/3rdparty/gperftools-2-fit/ltmain.sh647# Set func_basename_result to FILE with everything up to and including
LOWtrunk/3rdparty/gperftools-2-fit/ltmain.sh813# Set func_len_result to the length of STRING. STRING may not
LOWtrunk/3rdparty/gperftools-2-fit/ltmain.sh1031# Set func_relative_path_result to the relative path from SRCDIR to DSTDIR.
LOWtrunk/3rdparty/gperftools-2-fit/ltmain.sh4003 # Check if any of the arguments is a wrapper script.
LOWtrunk/3rdparty/gperftools-2-fit/ltmain.sh9972 # Loop over the list of objects to be linked.
LOWtrunk/3rdparty/gperftools-2-fit/packages/deb.sh10## Set LIB to lib if exporting a library, empty-string else
LOWtrunk/3rdparty/openssl-1.1-fit/util/mkdef.pl130# Set this to make typesafe STACK definitions appear in DEF
LOWtrunk/3rdparty/openssl-1.1-fit/util/mkdef.pl1549#Check if a version is less than or equal to the current version. Its a fatal
LOW…/external/perl/Text-Template-1.46/lib/Text/Template.pm528 # Print result text instead of returning it
Example Usage Blocks5 hits · 8 pts
SeverityFileLineSnippet
LOWtrunk/scripts/package.sh5# Usage:
LOW…unk/3rdparty/gperftools-2-fit/src/base/stl_allocator.h54// Usage example:
LOWtrunk/3rdparty/gperftools-2-fit/src/base/vdso_support.h47// Example usage:
LOWtrunk/src/kernel/srs_kernel_buffer.hpp164// Usage example:
LOWtrunk/src/kernel/srs_kernel_buffer.hpp390// Usage example:
Excessive Try-Catch Wrapping2 hits · 4 pts
SeverityFileLineSnippet
MEDIUMtrunk/gdb/srs.py32 print('Error: prev=%s, this=%s, next=%s, v=%s'%(prev, pthis, pnext, v))
MEDIUMtrunk/gdb/srs.py67 print('Error: prev=%s, this=%s, next=%s'%(prev, pthis, pnext))