Repository Analysis

pion/webrtc

Pure Go implementation of the WebRTC API

1.0 Likely human-written View on GitHub
1.0
Adjusted Score
1.0
Raw Score
100%
Time Factor
2026-05-29
Last Push
16,503
Stars
Go
Language
74,630
Lines of Code
365
Files
87
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 0MEDIUM 1LOW 86

Pattern Findings

87 matches across 5 categories. Click a row to expand file-level details.

Over-Commented Block82 hits · 70 pts
SeverityFileLineSnippet
LOWsettingengine.go221func (e *SettingEngine) EnableDataChannelBlockWrite(nonblockWrite bool) {
LOWsettingengine.go321// SetRemoteIPFilter sets the filtering function for remote candidate IP addresses.
LOWsettingengine.go341//
LOWicecandidatetype.go21 // candidate obtained by binding to a specific port from an IP address on
LOWpeerconnectionstate.go21 // "checking" state and none of them is in the "failed" state.
LOWdatachannel_js.go261// ReadyState represents the state of the DataChannel object.
LOWconfiguration.go1// SPDX-FileCopyrightText: 2026 The Pion community <https://pion.ly>
LOWconfiguration.go21
LOWconfiguration.go41 // handshake, which establishes which certificates are allowed. The
LOWofferansweroptions.go1// SPDX-FileCopyrightText: 2026 The Pion community <https://pion.ly>
LOWpeerconnection_js.go161 existingConfig := pc.GetConfiguration()
LOWmimetype.go1// SPDX-FileCopyrightText: 2026 The Pion community <https://pion.ly>
LOWmimetype.go21 MimeTypeVP9 = "video/VP9"
LOWtrack_local.go101
LOWdatachannel.go481// (`io.ReadWriteCloser` with its `.Read()` and `.Write()` methods,
LOWwebrtc.go1// SPDX-FileCopyrightText: 2026 The Pion community <https://pion.ly>
LOWdatachannelinit.go1// SPDX-FileCopyrightText: 2026 The Pion community <https://pion.ly>
LOWstats.go341 FIRCount uint32 `json:"firCount"`
LOWstats.go361 // can be calculated by dividing the JitterBufferDelay with the JitterBufferEmittedCount.
LOWstats.go381
LOWstats.go401 // Does not exist for video.
LOWstats.go441 // TotalDecodeTime is the total number of seconds that have been spent decoding the FramesDecoded
LOWstats.go521
LOWstats.go541
LOWstats.go561 AverageRTCPInterval float64 `json:"averageRtcpInterval"`
LOWstats.go581 FramesReceived uint32 `json:"framesReceived"`
LOWstats.go601
LOWstats.go701
LOWstats.go761 // been discarded due to socket errors, i.e. a socket error occurred when handing
LOWstats.go781 // which the statistics were generated by the local endpoint.
LOWstats.go801 // FrameHeight represents the height of the last encoded frame. The resolution of the
LOWstats.go821
LOWstats.go841 // a packet is emitted from the RTP packetizer until it is handed over to the OS network socket.
LOWstats.go861 // The counter is initially zero and increases when the resolution goes up or down.
LOWstats.go1081 // PacketsSent is the total number of RTP packets sent for this SSRC.
LOWstats.go1101 // reasons, including full buffer or no available memory.
LOWstats.go1161 // by inspecting the same underlying object.
LOWstats.go1221 // the sound pressure level from 0 dBov.
LOWstats.go1241 EchoReturnLoss float64 `json:"echoReturnLoss"`
LOWstats.go1341 // Timestamp is the timestamp associated with this object.
LOWstats.go1361 SynthesizedSamplesDuration float64 `json:"synthesizedSamplesDuration"`
LOWstats.go1401 // Type is the object's StatsType
LOWstats.go1561 //
LOWstats.go1581 // V bit in the extension header, as defined in [RFC6464].
LOWstats.go1601 TotalSamplesSent uint64 `json:"totalSamplesSent"`
LOWstats.go1621
LOWstats.go1641
LOWstats.go1661 // e.g slide changes in the streamed presentation. If a huge frame is also a key frame,
LOWstats.go1761 // Type is the object's StatsType
LOWstats.go1781 // is 0.5, the AudioLevel is expected to be half that value.
LOWstats.go1801 // Can be used with TotalAudioEnergy to compute an average audio level over different intervals.
LOWstats.go1821 JitterBufferDelay float64 `json:"jitterBufferDelay"`
LOWstats.go1861 // FrameWidth represents the width of the last processed frame for this track.
LOWstats.go1881 //
LOWstats.go1901
LOWstats.go2141 // by inspecting the same underlying object.
LOWstats.go2181 // sent on this particular candidate pair, excluding STUN packets.
LOWstats.go2201
LOWstats.go2221 // CurrentRoundTripTime represents the latest round trip time measured in seconds,
LOWstats.go2241
22 more matches not shown…
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippet
MEDIUMsdp.go115 // Essentially lines like `a=ssrc-group:FID 2231627014 632943048` are processed by this section
Hyper-Verbose Identifiers2 hits · 2 pts
SeverityFileLineSnippet
LOWexamples/sctp-interleaving-inspect/index.html344 function waitForIceGatheringComplete(peer) {
LOWexamples/sctp-interleaving-inspect/index.html452 function recordServerPressureProbe(message) {
Verbosity Indicators1 hit · 2 pts
SeverityFileLineSnippet
LOWgathering_complete_promise.go21 // promise might have been created after the gathering is finished. Therefore, we need to check if the ICE gathering
Redundant / Tautological Comments1 hit · 1 pts
SeverityFileLineSnippet
LOW.golangci.yml30 - godot # Check if comments end in a period