Re: DTMF - the "Object Oriented" approach

On 11/14/2012 03:46 PM, Harald Alvestrand wrote:
> Takeaways from Lyon were that:
>
> - Executing DTMF needs reference to an audio track (to know where to
> send the data) and to a PeerConnection (to know that we've successfully
> negotiated use of the DTMF codec).
> - The WG preferred an "object oriented" model: creating a DTMF handler
> object, rather than the "fortran" approach of having all functions
> directly on the PeerConnection.
>
> Suggested edits, delta from the October 19 version of the spec:
>
> - In section 8.4, rename AudioMediaStreamTrack to
> DTMFSendingMediaStreamTrack.
> Add the following text:
>
> A RTCDTMFSendingMediaStreamTrack is created by calling the
> createDTMFSender() method on a PeerConnection. This constructs an object
> that decorates a MediaStreamTrack with the functions required to send DTMF.
>
>
> - In section 4.3.2, add the function
>
> RTCDTMFSendingMediaStreamTrack createDTMFSender(MediaStreamTrack track);
>
> - In section 4.3.2.2, add the paragraph
>
> createDTMFSender
>
> The createDTMFSender() creates an RTCDTMFSendingMediaStreamTrack that
> references the given MediaStreamTrack. The MediaStreamTrack MUST be an
> element of a MediaStream that's currently in the PC's localStreams
> attribute; if not, throw an Illegal Argument Exception. [NOTE - get
> correct name for exception before inserting]
>
This looks good to me. I think we also need to specify:

* What happens if the MediaStream with the track that the 
RTCDTMFSendingMediaStreamTrack is associated to is removed from the 
PeerConnection? I assume there would be an error event next time the app 
tries to send DTMF.

Stefan

Received on Thursday, 15 November 2012 11:08:16 UTC