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