RE: MediaStream Recording API question

Yes,  the names are rather inconsistent.  More comments in-line set off by '>>'

-----Original Message-----
From: Randy Lin [mailto:rlin@mozilla.com] 
Sent: Monday, July 29, 2013 10:31 PM
To: public-media-capture@w3.org
Subject: MediaStream Recording API question

Refer to https://dvcs.w3.org/hg/dap/raw-file/tip/media-stream-capture/MediaRecorder.html 2013/6/12 draft

1. From this statement: "it must raise a DOMError event, followed by a dataavailable event containing the Blob it has gathered, follwed by the stoprecording event."
Where is the stoprecording definition? Is onstop?
>> This should be the 'stop' event.
2. At stop method sec 4. Raise a done event, what is done event?
>> This should also be the 'stop' event.  
3. If the mediaStream status become stopped or finished, should the MediaRecorder stop encoding the raw data and raise a DOMError to notify UA? Also raise onstop event to UA?
>> According to the draft (see under start()) it should set 'recording' to false,s top gathering data, then raise a 'dataavailable' and then a 'stop' event.  
4. What the expect behavior if user use this loop to retrieve encoded data

    var mr = new MediaRecorder(mediaStream)
    mr.start();
    mr.ondataavailable = function(e) 
                         {
                          //processing blob e  
                          mr.requestData();  
                        }
    mr.requestData();

If there is no encoded data now, should we fire a ondataavailable event to UA with blob size = 0 immediately ? Or delay to fire the ondataavailable event until MediaRecorder get encoded data?
>> That is a good question.  The Recorder sets 'recording' to true as soon as start() is called, but that doesn't mean that any data is available.  I would think that the logical thing to do would be to raise a Blob of size 0, and then start a new one, but the spec doesn't make this clear.  Does anyone else have an opinion on this?
5. What's MdiaSteamEvent, on part 7, Event name : resume; Interface MediaSteamEvent
>> resume is the event generated by the resume() api call, but given that we're using 'Event' as the interface elsewhere, I think that it should also just be 'Event', and not 'MediaStreamEvent'

-------------------------------------
-rlin

Received on Tuesday, 30 July 2013 15:28:02 UTC