- From: Harald Alvestrand <harald@alvestrand.no>
- Date: Tue, 29 May 2018 08:30:03 +0200
- To: "public-webrtc@w3.org" <public-webrtc@w3.org>
- Message-ID: <70a67eda-4a7a-7606-96d7-45f29b296886@alvestrand.no>
** *Access to encoded streams* * A similar interface can be added to RTPSender and RTPReceiver, respectively (and similar APIs for other transports, when defined). Here the buffers would contain encoded video / audio data, and the control block parameters would have to have enough information to let the RTP packet headers be constructed - or, on the receiver, the info from the RTP packet headers be represented. Partial interface RTPSender { promise<encodedBuffer> injectData(encodedBuffer); } Partial interface RTPReceiver { promise<encodedBuffer> extractData(encodedBuffer); } Interface encodedBuffer : Buffer { Long rtpTimestamp; Long frameId; sequence<long> dependsOnFrames; // more fields TBD } On this interface, frames do have interdependencies, so dropping packets is much more problematic. The “dependsOnFrames” member is intended to help deciding on sensible handling - it would tell the other side of the API that “if you dropped one of these frames, you might as well drop this frame too”. * -- Surveillance is pervasive. Go Dark.
Received on Tuesday, 29 May 2018 06:30:41 UTC