RE: DTMF - the "Object Oriented" approach

Yang
Huawei


> -----Original Message-----
> From: Stefan Hakansson LK [mailto:stefan.lk.hakansson@ericsson.com]
> Sent: Thursday, November 15, 2012 7:08 PM
> To: public-webrtc@w3.org
> Subject: 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.
> 

I suggest when mediastream is removed,  onremoved event is sent to RTCDTMFSendingMediaStreamTrack which holds track from the mediastream, and the RTCDTMFSendingMediaStreamTrack may be marked "un available" or simply removed after the mediastream is removed. 

For mark "unavailable", some function should not be callable through DTMF interface, for example some "virtual keypad" will be mark grey to prevent input DTMF.


> Stefan

Received on Friday, 16 November 2012 08:02:23 UTC