Raw data API - 3 - Encoded data

**


    *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