Closed
Bug 533822
Opened 15 years ago
Closed 15 years ago
Audio files can't be played more than once
Categories
(Core :: Audio/Video, defect)
Core
Audio/Video
Tracking
()
VERIFIED
FIXED
mozilla1.9.3a1
People
(Reporter: rdoherty, Assigned: kinetik)
References
()
Details
(Keywords: verified1.9.2)
Attachments
(1 file)
51.03 KB,
patch
|
cajbir
:
review+
christian
:
approval1.9.2.5+
|
Details | Diff | Splinter Review |
I have a page with a bunch off <audio> tags here: http://ryandoherty.net/clouserwsoundboard/ and they can't be played more than once. Clicking the play button again results in the loading animation displaying and Firefox taking up 100% of one of my CPU cores. This works in 3.5, but not Minefield.
Assignee | ||
Comment 1•15 years ago
|
||
The decode thread is entering an infinite loop in oggplay_step_decoding because it expects more data but has no active tracks, so never tries to consume more data. There's a bug filed upstream (https://trac.annodex.net/ticket/496), but we should fix this locally.
Assignee | ||
Comment 2•15 years ago
|
||
In this particular case, what happens is: When attempting to replay, we seek back to the start of the media (actually to 0.014s), mark the media tracks as active, then call oggplay_step_decoding via DecodeToFrame. After this, the first packet passed to oggplay_callback_audio is: $30 = { packet = 0x15c6c050 "\v", bytes = 0, b_o_s = 0, e_o_s = 512, granulepos = -1, packetno = 94 } Which is pretty bogus--as far as oggz-dump is concerned, there is no packet 94, and no 0 byte packets in the stream. When the callback receives this packet, the fact that the eos flag is set causes the track to be disabled.
Comment 3•15 years ago
|
||
Aside from any bugs here, we should probably only bother to call DecodeToFrame() if we've got an active video track.
Assignee | ||
Comment 4•15 years ago
|
||
That makes sense, but I'm not sure it's worth special casing the call to DecodeToFrame... thoughts? Anyway, there is a trailing packet with a granulepos of -1. It doesn't show up in oggz-dump because of the same bug that bites us here--it's queued in the packet_buffer list for later processing (when the next valid GP is seen), but is never actually processed. It turns out that this file would've triggered the assertion in oggz_close that I fixed in bug 498380. It seems like clearing the packet_buffer list on close isn't sufficient for correct behaviour--it also needs to be cleared in other situations. I've got a patch that clears the packet_buffer in oggz_read when EOF is hit, but it probably needs to be handled in a few other places too.
Assignee: nobody → kinetik
Status: NEW → ASSIGNED
Assignee | ||
Comment 5•15 years ago
|
||
I think doing a |oggz_dlist_deliter(oggz->packet_buffer, oggz_read_free_pbuffers);| in oggz_reset_streams (or somewhere else in the seek reset code) is the correct fix. I'll post a patch shortly.
Assignee | ||
Comment 6•15 years ago
|
||
Conrad might want to weigh in on this as well.
Attachment #420683 -
Flags: review?(chris.double)
Updated•15 years ago
|
Attachment #420683 -
Flags: review?(chris.double) → review+
Assignee | ||
Comment 7•15 years ago
|
||
http://hg.mozilla.org/mozilla-central/rev/b76ad6cdd76e Requesting for 1.9.2 since this is a regression, and also fixes an infinite loop in the media playback code.
Status: ASSIGNED → RESOLVED
blocking1.9.2: --- → ?
Closed: 15 years ago
status1.9.2:
--- → ?
Resolution: --- → FIXED
Comment 8•15 years ago
|
||
Worth taking, not blocking. If this patch has baked and is ready, please nominate for approval1.9.2.2?
blocking1.9.2: ? → -
Assignee | ||
Comment 9•15 years ago
|
||
Comment on attachment 420683 [details] [diff] [review] patch v0 This has baked for a while now. Small fairly safe change that fixes a regression from 3.5 when playing some files.
Attachment #420683 -
Flags: approval1.9.2.3?
Comment 10•15 years ago
|
||
Comment on attachment 420683 [details] [diff] [review] patch v0 a=LegNeato for 1.9.2.5. Please ONLY land this on mozilla-1.9.2 default, as we are still working on 1.9.2.4 on the relbranch
Attachment #420683 -
Flags: approval1.9.2.4? → approval1.9.2.5+
Assignee | ||
Updated•15 years ago
|
Keywords: checkin-needed
Comment 11•15 years ago
|
||
http://hg.mozilla.org/releases/mozilla-1.9.2/rev/dacbfe855969
Updated•15 years ago
|
OS: Mac OS X → All
Hardware: x86 → All
Comment 12•14 years ago
|
||
Ryan, what an awesome site! go clouserw. Verified fix in Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.7pre) Gecko/20100630 Namoroka/3.6.7pre and Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.7pre) Gecko/20100630 Namoroka/3.6.7pre also trunk: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:2.0b2pre) Gecko/20100630 Minefield/4.0b2pre
Status: RESOLVED → VERIFIED
Keywords: verified1.9.2
You need to log in
before you can comment on or make changes to this bug.
Description
•