W3C home > Mailing lists > Public > public-webrtc@w3.org > May 2018

Raw data API - 3 - Encoded data

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

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:18:41 UTC