Closed
Bug 1340197
Opened 7 years ago
Closed 7 years ago
MP3 radio stream works only once in a Firefox session
Categories
(Core :: Audio/Video: Playback, defect, P2)
Tracking
()
RESOLVED
FIXED
mozilla59
Tracking | Status | |
---|---|---|
firefox59 | --- | fixed |
People
(Reporter: mayhemer, Assigned: mayhemer)
References
Details
Attachments
(1 file)
1.26 KB,
patch
|
michal
:
review+
|
Details | Diff | Splinter Review |
+++ This bug was initially created as a clone of Bug #1326066 +++ This is not a relevant problem (very few person open the direct MP3 stream, usualy it is served trough the web online player), but it is strange and I report it. Steps to reproduce: 1. Open a direct MP3 online radio stream, for example: http://icestreaming.rai.it/1.mp3 http://icecast.unitedradio.it/Virgin.mp3 (NOte: the default volume of the second stream is sometimes high) 2. Close the tab with the stream 3. Try to open the stream again What happens? Firefox try to connect to the stream without reaching it . No error messages are shown but the stream is not opened. In Firefox ESR the problem is not present. I have the problem on FDE on Windows, but some friends have confirmed it also on beta, nightly and with other platforms. How to fix it? Restart Firefox and the stream is reached. Analyzes (https://bugzilla.mozilla.org/show_bug.cgi?id=1326066#c3): The stream doesn't start to play on the second load because nsHttpChannel waits for entry completion. The first nsHttpChannel didn't finalize the entry because the channel was suspended right before the channel was canceled. Solution: let the media code specify LOAD_BYPASS_CACHE_IF_BUSY load flag on the loading channel.
Updated•7 years ago
|
Component: Audio/Video → Audio/Video: Playback
Updated•7 years ago
|
Priority: -- → P1
Comment 1•7 years ago
|
||
Hi, Honza, You proposed the solution in comment0, specifying LOAD_BYPASS_CACHE_IF_BUSY flag in media code. However, the media code has specified it [1] for a long time, but issue still exists. Could you give me some other suggestion? Thanks! [1] http://searchfox.org/mozilla-central/rev/e5b13e6224dbe3182050cf442608c4cb6a8c5c55/dom/html/HTMLMediaElement.cpp#1183
Flags: needinfo?(honzab.moz)
Assignee | ||
Comment 2•7 years ago
|
||
I'll take this bug, but unless explicitly said, I won't be diagnosing this for 57.
Assignee: nobody → honzab.moz
Flags: needinfo?(honzab.moz)
Comment 3•7 years ago
|
||
Mass change P1->P2 to align with new Mozilla triage process
Priority: P1 → P2
Comment 4•7 years ago
|
||
Honza, Any luck on this bug? Is this bug still a problem?
Flags: needinfo?(honzab.moz)
Assignee | ||
Comment 5•7 years ago
|
||
So, I looked once more to the log in bug 1326066. The Michal's conclusion was put too vaguely so I cam to a wrong conclusion. The problem is elsewhere, in the http code. We don't respect BYPASS_WHEN_BUSY when the entry is in write progress by the previous channel. It should be easy to fix.
Status: NEW → ASSIGNED
Flags: needinfo?(honzab.moz)
Assignee | ||
Comment 6•7 years ago
|
||
No! The problem really is in not setting the LOAD_BYPASS_LOCAL_CACHE_IF_BUSY on the channel. In the log I can see it very clearly. This is not a media bug, it's a broader thing. The first channel is suspended and canceled. It still keeps the entry, OK. The second top level load channel is opened and, as it's NOT a media channel - it's a top level load channel and has no notion of loading a media yet, it IS NOT set the BYPASS_IF_BUSY flag... From a user point of view we may want to specify LOAD_BYPASS_LOCAL_CACHE_IF_BUSY for all top-level loads or do some kind of a compromise (already have an idea for a patch). When there is a concurrent and resumable response in progress we will do a concurrent cache streaming. When the concurrent response is non-resumable, we wait. And here we can make the change - when the second (depending) load is a top level load, just bypass this wait.
Assignee | ||
Comment 7•7 years ago
|
||
Attachment #8932105 -
Flags: review?(michal.novotny)
Comment 8•7 years ago
|
||
(In reply to Honza Bambas (:mayhemer) from comment #6) > This is not a media bug, it's a broader thing. The first channel is > suspended and canceled. It still keeps the entry, OK. The second top level > load channel is opened and, as it's NOT a media channel - it's a top level > load channel and has no notion of loading a media yet, it IS NOT set the > BYPASS_IF_BUSY flag... Maybe this patch fixes this particular load, but is it OK that cancelled channel related to a closed tab can keep the cache entry open so it's not usable by other channel?
Flags: needinfo?(honzab.moz)
Assignee | ||
Comment 9•7 years ago
|
||
(In reply to Michal Novotny (:michal) from comment #8) > (In reply to Honza Bambas (:mayhemer) from comment #6) > > This is not a media bug, it's a broader thing. The first channel is > > suspended and canceled. It still keeps the entry, OK. The second top level > > load channel is opened and, as it's NOT a media channel - it's a top level > > load channel and has no notion of loading a media yet, it IS NOT set the > > BYPASS_IF_BUSY flag... > > Maybe this patch fixes this particular load, but is it OK that cancelled > channel related to a closed tab can keep the cache entry open so it's not > usable by other channel? regardless of what an answer could be, I would rather separate it to yet another bug. the fix I propose has other advantages, like when users opens the same page more than once and the response is not resumable we stream the second (and on) responses from network rather than waiting for completion of the first one. it's likely to happen with streamed chunked responses that are naturally not resumable. I've also made some preliminary objections against dooming from cancel at https://bugzilla.mozilla.org/show_bug.cgi?id=1326066#c6 to be honest, this is a media (or some combination) bug since we leak all top-level loading channels playing a media content and with it we block (are made to block) the cache entry. i'll file a bug.
Flags: needinfo?(honzab.moz)
Updated•7 years ago
|
Attachment #8932105 -
Flags: review?(michal.novotny) → review+
Assignee | ||
Comment 10•7 years ago
|
||
(In reply to Honza Bambas (:mayhemer) from comment #9) > i'll file a bug. bug 1421004 https://treeherder.mozilla.org/#/jobs?repo=try&revision=6594efabc6f07542a2ce7f386dd89a0a90e3ff79
Assignee | ||
Updated•7 years ago
|
Keywords: checkin-needed
Comment 11•7 years ago
|
||
Pushed by ryanvm@gmail.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/42fc2739a333 Don't wait for concurrent HTTP cache entry when the depending load is a top-level navigation. r=michal
Keywords: checkin-needed
Comment 12•7 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/42fc2739a333
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
status-firefox59:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla59
Comment 13•7 years ago
|
||
Backout by btara@mozilla.com: https://hg.mozilla.org/mozilla-central/rev/38f49346a200 Backed out 1 changesets for failing reftests on /tests/dom/base/crashtests/504224.html r=backout a=backout on a CLOSED TREE
Comment 14•7 years ago
|
||
Backed out 1 changesets (bug 1340197) for failing reftests on /tests/dom/base/crashtests/504224.html https://treeherder.mozilla.org/logviewer.html#?job_id=148526830&repo=mozilla-inbound&lineNumber=2367 https://treeherder.mozilla.org/#/jobs?repo=mozilla-central&revision=38f49346a200cc25492236c7b3c536fc835fe031 https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&revision=0e4e79435223abf6c5edf5320c11f3432b579fd3&filter-searchStr=87574beda25c5cecd334d247bf32817e4c9bea69&filter-tier=1
Flags: needinfo?(honzab.moz)
Updated•7 years ago
|
Status: RESOLVED → REOPENED
status-firefox59:
fixed → ---
Resolution: FIXED → ---
Target Milestone: mozilla59 → ---
Assignee | ||
Comment 15•7 years ago
|
||
(In reply to Bogdan Tara[:bogdan_tara] from comment #14) > Backed out 1 changesets (bug 1340197) for failing reftests on > /tests/dom/base/crashtests/504224.html > > https://treeherder.mozilla.org/logviewer.html#?job_id=148526830&repo=mozilla- > inbound&lineNumber=2367 > > https://treeherder.mozilla.org/#/jobs?repo=mozilla- > central&revision=38f49346a200cc25492236c7b3c536fc835fe031 > > https://treeherder.mozilla.org/#/jobs?repo=mozilla- > inbound&revision=0e4e79435223abf6c5edf5320c11f3432b579fd3&filter- > searchStr=87574beda25c5cecd334d247bf32817e4c9bea69&filter-tier=1 This is a known failure (https://bugzilla.mozilla.org/show_bug.cgi?id=1385298), have I made it perma-failing?
Flags: needinfo?(btara)
Comment 16•7 years ago
|
||
It was perma-failing on Android. https://mzl.la/2j8GPEJ
Flags: needinfo?(btara)
Assignee | ||
Updated•7 years ago
|
Status: REOPENED → ASSIGNED
Comment 18•7 years ago
|
||
Pushed by ryanvm@gmail.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/16643f939e8f Don't wait for concurrent HTTP cache entry when the depending load is a top-level navigation. r=michal
Keywords: checkin-needed
Comment 19•7 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/16643f939e8f
Status: ASSIGNED → RESOLVED
Closed: 7 years ago → 7 years ago
status-firefox59:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla59
You need to log in
before you can comment on or make changes to this bug.
Description
•