- From: Peter Thatcher <pthatcher@google.com>
- Date: Thu, 13 Feb 2014 11:23:56 -0800
- To: "public-orca@w3.org" <public-orca@w3.org>
- Message-ID: <CAJrXDUFEEaMbSA+hu3ahR1OhcsBqw+Sqgx=Kq3XtBF6afXV=9A@mail.gmail.com>
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