- From: Sergio Garcia Murillo <sergio.garcia.murillo@gmail.com>
- Date: Wed, 23 May 2018 13:01:22 +0200
- To: public-webrtc@w3.org
- Message-ID: <500c01e2-1c0f-2e26-fb00-3bbf79dc5758@gmail.com>
On 22/05/2018 23:21, Peter Thatcher wrote: > I made a diagram of my thinking of the different possible API layers. > Here it is: > > RTP object stack.png > IMHO jitter buffer should not be coupled with the decoder as it is an RTP thing, if you are going to feed full frames to the decoder, it has to be on the RTPFrameTransport (why "frame" ?), or better, split it in two different components. > This highlights the question: what happens to RtpParameters? Some are > per-transport, some are per-stream, some are per-encoder (which is > different than per-stream), and some don't make sense any more. > > Per-transport: > - Payload type <-> codec mapping > - RTCP reduced size > - Header extension ID <-> URI mapping > > Per-stream: > - PTs used for PT-based demux > - priority > - mid > - cname > - ssrcs > How about simulcast and rids? > Per-encoder: > - dtx > - ptime > - codec parameters > - bitrate > - maxFramerate > - scaleResolutionDownBy > > Don't make sense: > - active (just stop the encoder) > - degradation preference (just change the encoder directly) > Not sure if I want to get rid of the degradation preference, as currently the encoder is affected by both bandwidth reported by the transport layer + cpu utilization. Would it make sense to extend the degradation preference to also cover that scenario? Also, I am not sure if i want to get rid of a backchannel between the encoder and the transport and have to do it manually. Best regards sergio
Received on Wednesday, 23 May 2018 11:01:06 UTC