Closed Bug 471026 Opened 16 years ago Closed 8 years ago

In UI the case where "pause" control wont change to "play"

Categories

(Toolkit :: Video/Audio Controls, defect)

defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME
mozilla1.9.2a1

People

(Reporter: BijuMailList, Unassigned)

References

Details

In UI the case where "pause" control wont change to "play"

steps :-
1. go to attachment 346840 [details]
2. click play button
3. let the movie play till you hear the sound
4. Change URL to http://www.double.co.nz/video_test/8aug2007.ogg
5. Click URL Change to button

Result:-
User see 
a) play stops
b) URL changed
c) All meta data of new URL displayed
d) paused become true
e) PAUSE button still visible on UI

Expected:-
a), b), c), & d) are or OK expected but... 
e) PAUSE button should roll to become PLAY button
Ubuntu also
OS: Windows XP → All
Hardware: x86 → All
Hmm, so I *think* the video isn't firing the needed events when the media changes. The controls are listening for a |pause| event (which is how the button's play/pause icon is usually  changed), but it's never received in this test.

The test page from comment 0 sets video.src when clicking the "Change URL to" button.

The spec says (4.8.10.2):

"If the src attribute of a media element that is already in a document and whose networkState is in the NETWORK_EMPTY state is added, changed, or removed, the user agent must queue a task that implicitly invokes the load() method". Then 4.8.10.5 describes the load() method as setting .paused to |false|, which should presumably fire a |pause| event.

The tricky bit is that the video isn't in the NETWORK_EMPTY state; it's already kicked off the load and is playing. I'm not really sure why the spec includes this qualification -- I'd expect this load() to happen when changing video.src no matter what the current state of the video is. I can't find anything else in the spec that describes what changing the src attribute is supposed to do. Presumably it's not supposed to be ignored! :)

I could have the videocontrols deal with this case by resetting the control state from some other event (eg emptied, loadstarted, abort, etc). But it seems like the video itself should be firing |paused| here.
Assignee: nobody → dolske
Target Milestone: --- → mozilla1.9.2a1
Not actively working at this at the moment.
Assignee: dolske → nobody
Component: Video/Audio → Video/Audio Controls
Product: Core → Toolkit
QA Contact: video.audio → video.audio
Target Milestone: mozilla1.9.2a1 → ---
Version: Trunk → unspecified
Target Milestone: --- → mozilla1.9.2a1
This works for me on Nightly 2016-05-04 on Windows 10.
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.