Proposal: RtpListener for unsignalled ssrcs

With the move to RtpSender/RtpReceiver, we have one thing we're missing
from RTP that can't be put in either of them: an event for unsignalled
ssrcs.  We want such an event, but right now we don't have a clear place to
put it.  I propose we add a class called RtpListener which, like
RtpReceiver, wraps a DtlsTransport, and fires events for RTP received.
 Unlike RtpReceiver, which handles the RTP for a given set of ssrcs, the
RtpListener can listen to all RTP and fire an event if a packet is already
process by an existing RtpReceiver.  Here's how I propose RtpListener
 should look:


[Constructor(RTCDtlsTransport)]
interface RTCRtpListener {
  readonly attribute RTCDtlsTransport transport;
  //  fires RTCRtpUnhandledRtpEvent;
  attribute EventHandler? onunhandledrtp;
}

interface RTCRtpUnhandledRtpEvent : Event {
  readonly attribute unsigned int  ssrc;
  readonly attribute unsigned byte payloadType;
  // AKA "AppID" header extension
  readonly attribute DOMString?    receiverId;
}


That's it :).  It's simple, but it grants a lot more flexibility to the
application to signal things (or not signal things) how it wants.

Received on Thursday, 13 February 2014 19:25:05 UTC