libdatachannel
libdatachannel copied to clipboard
Depacketizer for Track
It would be useful to introduce a media handler to depacketize the incoming RTP stream, with a jitter buffer to reorder packets and pace reassembled frames.
@paullouisageneau I am going to start working on this.
Do you have any suggestions/rough sketch of an API you would like? I can get a PR together this weekend.
thank you!
Thanks! I've no very precise API in mind, I think something like a generic media handler implementing the jitter buffer part, an another one specialized per codec implementing the depacketization part would make sense.
Hey @paullouisageneau I don't know the best way to do this. Can I get some guidance?
I don't see a way I can use RtcpReceivingSession
because it is a MediaHandler
.
Should I wrote something that allows a MediaHandler
to be used as a MediaHandlerElement
?
Then I can contribute a JitterBuffer
that is a MediaHandlerElement
and chain them.
@Sean-Der I've merged https://github.com/paullouisageneau/libdatachannel/pull/929 which refactors and drastically simplifies media handlers. It should solve this kind of issue, as now everything is a MediaHandler
and you can simply chain MediaHandler
instances together. It keeps compatibility with user code as long as it doesn't implement a custom MediaHandler
.
The methods are also simpler, taking a vector of messages that may be modified in-place by the handler.
Hey @paullouisageneau I don't know the best way to do this. Can I get some guidance?
I don't see a way I can use
RtcpReceivingSession
because it is aMediaHandler
.Should I wrote something that allows a
MediaHandler
to be used as aMediaHandlerElement
?Then I can contribute a
JitterBuffer
that is aMediaHandlerElement
and chain them.
What is the current status of WHEP?@Sean-Der