You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Dec 27, 2020. It is now read-only.
In v2, Track internally handled RTP packets.
However, according to the WebRTC API spec, codec specific processing is done in RTPSender/RTPReceiver. (ref: #9) It means Track handles only raw media data?
The text was updated successfully, but these errors were encountered:
On pion/webrtc, we don't want to put media encoder/decoder into RTPSender/RTPReceiver unlike JavaScript WebAPI seems doing.
I think we need to define
typeLocalRTPTrackinterface {
rtpengine.Reader// #11 SetParameters(RTPParameters) // RTPSender.SetParameters() will call this.
}
typeRemoteRTPTrackinterface {
rtpengine.Writer// #11 Parameters() RTPParameters// It will call RTPReceiver.Parameters().
}
typeRTPTrackinterface {
LocalRTPTrackRemoteRTPTrack
}
instead of Track to passthrough the RTPSender/RTPReceiver.
Then, mediadevices.Track can receive encoding parameters and also can receive RTCP packet like PLI (and force adding a keyframe).
For SFU usage, we just have to pipe RemoteRTPTrack to LocalRTPTrack.
package media
import (
"time""github.com/pion/webrtc-v3-design/rtpengine"
)
// Sample represents raw media data with media duration.typeSamplestruct {
Data []byteDuration time.Duration
}
// ReadSample reads Sample from rtpengine.Reader.funcReadSample(r rtpengine.Reader) (Sample, error) {
}
// WriteSample writes Sample to rtpengine.Writer.funcWriteSample(r rtpengine.Writer, sSample) error {
}
In v2,
Track
internally handled RTP packets.However, according to the WebRTC API spec, codec specific processing is done in
RTPSender/RTPReceiver
. (ref: #9) It means Track handles only raw media data?The text was updated successfully, but these errors were encountered: