- From: Eric Carlson <eric.carlson@apple.com>
- Date: Mon, 31 Jan 2011 17:37:46 -0800
- To: Adrian Bateman <adrianba@microsoft.com>
- Cc: Chris Double <cdouble@mozilla.com>, "Jonas Sicking (jonas@sicking.cc)" <jonas@sicking.cc>, "HTML WG (public-html@w3.org)" <public-html@w3.org>
On Jan 31, 2011, at 4:57 PM, Adrian Bateman wrote:
>
> We've analysed this section of the spec.
> http://dev.w3.org/html5/spec/video.html#media-playback
>
> This uses the phrase "potentially playing", which is defined as:
>
> "A media element is said to be potentially playing when its paused
> attribute is false, the readyState attribute is either HAVE_FUTURE_DATA
> or HAVE_ENOUGH_DATA, the element has not ended playback, playback has
> not stopped due to errors, and the element has not paused for user
> interaction."
> http://dev.w3.org/html5/spec/video.html#potentially-playing
>
> The problem with this is that there is still a race between the GC and the
> network in the example that I gave originally:
>
> function playAudio() {
> var a = new Audio("http://www.example.com/music");
> a.play();
> }
>
> This means that after the function exits, the behaviour will vary depending
> upon whether the GC fires before or after readyState gets to HAVE_FUTURE_DATA.
> I think this goes against what Jonas was saying.
>
> On Sunday, January 30, 2011 7:44 PM, Jonas Sicking wrote:
>> So in this case I think yes, playing should ensure that the object
>> doesn't get GCed. Or rather, GC should not stop the sound from
>> playing. Technically you could push the sound file to the sound
>> subsystem and then destroy the element as that would be
>> indistinguishable for everyone. At least as long as no event handlers
>> are attached to the element.
>
> We're considering removing the readyState check from potentially playing
> in our implementation for this specific scenario so that the element will
> only be available to be collected on error, when paused, at the end of the
> media, or if somehow stopped by user interaction.
>
> If you agree I will file a bug requesting this change.
>
I agree that this would be a good change.
eric
Received on Tuesday, 1 February 2011 01:38:20 UTC