Files
webrtc/interceptor_track_local.go
Sean DuBois 9715626a0c Revert "Read/Write RTP/RTCP packets with context"
This change caused a ~24% performance decrease

Relates to pion/webrtc#1564

This reverts commit 47a7a64898.
2020-12-02 20:11:06 -08:00

30 lines
607 B
Go

// +build !js
package webrtc
import (
"sync/atomic"
"github.com/pion/interceptor"
"github.com/pion/rtp"
)
type interceptorTrackLocalWriter struct {
TrackLocalWriter
rtpWriter atomic.Value
}
func (i *interceptorTrackLocalWriter) setRTPWriter(writer interceptor.RTPWriter) {
i.rtpWriter.Store(writer)
}
func (i *interceptorTrackLocalWriter) WriteRTP(header *rtp.Header, payload []byte) (int, error) {
writer := i.rtpWriter.Load().(interceptor.RTPWriter)
if writer == nil {
return 0, nil
}
return writer.Write(&rtp.Packet{Header: *header, Payload: payload}, make(interceptor.Attributes))
}