From 0fed01fd1be8fffb2fc8e99ddc68370b3efabf15 Mon Sep 17 00:00:00 2001 From: zarazaex69 Date: Thu, 7 May 2026 22:10:25 +0300 Subject: [PATCH] refactor(vp8channel): remove debug logging and simplify frame handling --- internal/transport/vp8channel/transport.go | 31 +++------------------- 1 file changed, 4 insertions(+), 27 deletions(-) diff --git a/internal/transport/vp8channel/transport.go b/internal/transport/vp8channel/transport.go index ca49ae0..5d352db 100644 --- a/internal/transport/vp8channel/transport.go +++ b/internal/transport/vp8channel/transport.go @@ -469,51 +469,30 @@ func (s *vp8FrameState) processRTPPacket(pkt *rtp.Packet) []byte { func (p *streamTransport) readVP8Track(track *webrtc.TrackRemote) { var state vp8FrameState buf := make([]byte, rtpBufSize) - var rtpCount, frameCount uint64 - var unmarshalErr, depackErr uint64 for { n, _, err := track.Read(buf) if err != nil { - logger.Debugf("vp8channel: readVP8Track exit err=%v rtpPkts=%d frames=%d unmarshalErr=%d depackErr=%d", - err, rtpCount, frameCount, unmarshalErr, depackErr) return } pkt := &rtp.Packet{} if pkt.Unmarshal(buf[:n]) != nil { - unmarshalErr++ continue } - rtpCount++ - logger.Debugf("vp8channel: rtp seq=%d marker=%v payloadLen=%d", pkt.SequenceNumber, pkt.Marker, len(pkt.Payload)) - - var vp8Pkt codecs.VP8Packet - vp8Payload, derr := vp8Pkt.Unmarshal(pkt.Payload) - if derr != nil { - depackErr++ - logger.Debugf("vp8channel: VP8 depack error #%d: %v", depackErr, derr) - } else { - logger.Debugf("vp8channel: vp8pkt S=%d marker=%v payloadLen=%d", vp8Pkt.S, pkt.Marker, len(vp8Payload)) - } - frame := state.processRTPPacket(pkt) if frame == nil { continue } - frameCount++ - logger.Debugf("vp8channel: frame #%d len=%d", frameCount, len(frame)) - p.handleIncomingFrame(frame) } } -func (p *streamTransport) handleFirstPeer(peerEpoch uint32, frame []byte) { +func (p *streamTransport) handleFirstPeer(peerEpoch uint32) { p.peerEpoch.Store(peerEpoch) - logger.Infof("vp8channel: peer first seen epoch=0x%08x token=0x%08x", - peerEpoch, binary.BigEndian.Uint32(frame[tokenOff:epochOff])) + logger.Infof("vp8channel: peer first seen epoch=0x%08x", peerEpoch) p.kcpOnce.Do(func() { rt, err := startKCP(p.outbound, p.onData, p.epochHeader()) if err != nil { @@ -549,10 +528,8 @@ func (p *streamTransport) handleIncomingFrame(frame []byte) { } if !p.hadPeer.Swap(true) { - p.handleFirstPeer(peerEpoch, frame) - return - } - if prev := p.peerEpoch.Load(); prev != peerEpoch { + p.handleFirstPeer(peerEpoch) + } else if prev := p.peerEpoch.Load(); prev != peerEpoch { // Peer restarted its KCP session. Reset ours so the conv state // machines re-converge. CAS guards against double-reset when // fragmented frames straddle the epoch boundary.