diff --git a/pkg/sfu/buffer/buffer.go b/pkg/sfu/buffer/buffer.go index c4f70154a..976585d96 100644 --- a/pkg/sfu/buffer/buffer.go +++ b/pkg/sfu/buffer/buffer.go @@ -26,14 +26,12 @@ type pendingPackets struct { } type ExtPacket struct { - Head bool - Arrival int64 - Packet rtp.Packet - Payload interface{} - KeyFrame bool - // audio level for voice, l&0x80 == 0 means audio level not present - AudioLevel uint8 - RawPacket []byte + Head bool + Arrival int64 + Packet rtp.Packet + Payload interface{} + KeyFrame bool + RawPacket []byte } // Buffer contains all packets @@ -385,7 +383,6 @@ func (b *Buffer) calc(pkt []byte, arrivalTime int64) { if e := p.GetExtension(b.audioExt); e != nil && b.onAudioLevel != nil { ext := rtp.AudioLevelExtension{} if err := ext.Unmarshal(e); err == nil { - ep.AudioLevel = e[0] | 0x80 // highest bit to indicate audio level present duration := (int64(p.Timestamp) - int64(latestTimestamp)) * 1e3 / int64(b.clockRate) if duration > 0 { b.onAudioLevel(ext.Level, uint32(duration)) diff --git a/pkg/sfu/receiver.go b/pkg/sfu/receiver.go index 140be8e5c..09a6a6f28 100644 --- a/pkg/sfu/receiver.go +++ b/pkg/sfu/receiver.go @@ -66,9 +66,8 @@ type WebRTCReceiver struct { lastPli atomicInt64 pliThrottle int64 - bufferMu sync.RWMutex - buffers [DefaultMaxLayerSpatial + 1]*buffer.Buffer - onAudioLevel AudioLevelHandle + bufferMu sync.RWMutex + buffers [DefaultMaxLayerSpatial + 1]*buffer.Buffer upTrackMu sync.RWMutex upTracks [DefaultMaxLayerSpatial + 1]*webrtc.TrackRemote @@ -187,10 +186,6 @@ func (w *WebRTCReceiver) Kind() webrtc.RTPCodecType { return w.kind } -func (w *WebRTCReceiver) OnAudioLevel(fn AudioLevelHandle) { - w.onAudioLevel = fn -} - func (w *WebRTCReceiver) AddUpTrack(track *webrtc.TrackRemote, buff *buffer.Buffer) { if w.closed.get() { return