Avoid locking while waiting for receiver read (#288)

A deadlock was observed in this section, when Read was waiting for data.
This commit is contained in:
David Zhao
2021-12-27 13:35:30 -08:00
committed by GitHub
parent a47153e50c
commit 554baa54f6
+2 -1
View File
@@ -433,8 +433,9 @@ func (w *WebRTCReceiver) forwardRTP(layer int32) {
for {
w.bufferMu.RLock()
pkt, err := w.buffers[layer].ReadExtended()
buf := w.buffers[layer]
w.bufferMu.RUnlock()
pkt, err := buf.ReadExtended()
if err == io.EOF {
return
}