Closed Bug 1130913 Opened 9 years ago Closed 9 years ago

YouTube doesn't buffer with media.mediasource.decoder-per-segment=true

Categories

(Core :: Audio/Video, defect, P1)

x86_64
Windows 8.1
defect

Tracking

()

RESOLVED FIXED
mozilla38
Tracking Status
firefox36 --- unaffected
firefox37 + fixed
firefox38 --- fixed

People

(Reporter: cpearce, Assigned: jya)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

I discovered that YouTube doesn't buffer past the first ~10 seconds if the pref media.mediasource.decoder-per-segment is set to true. I only noticed this after I updated my mozilla-central and rebuilt this morning. It was working in my tree that I built on Friday.

This bug is also present in today's Nightly.

STR:
1. Set media.mediasource.decoder-per-segment=true
2. Open a YouTube video, I repro'd in https://www.youtube.com/watch?v=bv5KmP5psvw&hd=1
3. Let the vidEo load. Playback and downlaad stalled for me at 8 seconds in the above video. That is, only the first 8 seconds of video are buffered, and playback does not advance past the 8 second mark.
2015-02-04-03-02-34 Last good revision
2015-02-05-03-02-05 First bad revision

https://hg.mozilla.org/releases/mozilla-aurora/pushloghtml?fromchange=0c2f7434c325&tochange=34a66aaaca81

Jen-Yves: Could it be one of your pushes in that range?
Flags: needinfo?(jyavenard)
That url doesn't work for me
Something weird is happening here.

The first segment when it's appended is see as range [0-5], the next time the parse reads it to read the range it is seen as [0,3.97] ; next buffer is [5-10]. so when RequestVideoData arrives it sees data from [0-3.97] and nothing after that, and playback stall.
Flags: needinfo?(jyavenard)
Priority: -- → P1
Only create new decoder if buffer starts with a mediasegment (moof or ftyp). We should really look within the buffer to find the moof and cut there. With YouTube not all buffer starts with either an init segment or media segment. They can be within. On average only every 16s will a buffer starts with a moof (while segments are 5s long)
Attachment #8562086 - Flags: review?(matt.woodrow)
Assignee: nobody → jyavenard
Status: NEW → ASSIGNED
Attachment #8562086 - Flags: review?(matt.woodrow) → review+
https://hg.mozilla.org/mozilla-central/rev/8d1478ae4bc8
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla38
Pushed to aurora 37 with pre-approval from lmandel.

https://hg.mozilla.org/releases/mozilla-aurora/rev/23b7642864e2
Comment on attachment 8562086 [details] [diff] [review]
Only create a new decoder if we have a new media segment

Retroactive approval request for 37 uplift tracking. We don't know that this affects youtube (it was found with non-standard testing settings) but I'd like to have it to reduce code variance between the branches.

Approval Request Comment
[Feature/regressing bug #]: MSE
[User impact if declined]: Less consistent testing.
[Describe test coverage new/current, TreeHerder]: Landed on m-c some time ago.
[Risks and why]: Change is MSE-specific, so low. 
[String/UUID change made/needed]: None.
Attachment #8562086 - Flags: approval-mozilla-aurora?
Comment on attachment 8562086 [details] [diff] [review]
Only create a new decoder if we have a new media segment

As stated, this bug was pre-approved to land with a set of changes for MSE. Marking the approval after the fact.
Attachment #8562086 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: