Closed Bug 1142992 Opened 6 years ago Closed 5 years ago

Youtube video stops after some minutes (with 1080p)

Categories

(Core :: Audio/Video: Playback, defect, P3)

37 Branch
x86
Windows 8.1
defect

Tracking

()

RESOLVED WORKSFORME
Tracking Status
firefox36 --- wontfix
firefox37 --- wontfix
firefox38 + wontfix
firefox39 - wontfix

People

(Reporter: cbadau, Assigned: mattwoodrow)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

Mozilla/5.0 (Windows NT 6.3; rv:37.0) Gecko/20100101 Firefox/37.0
Firefox 37 Beta 5, buildID: 20150312193711

Steps to reproduce: 
1. Open Firefox.
2. Open 3 tabs with 3 different Youtube videos (e.g: https://www.youtube.com/watch?v=vSEU1Fqt1E4, https://www.youtube.com/watch?v=Skpu5HaVkOc, https://www.youtube.com/watch?v=uJUy7FfKjC8).
3. Play all the videos. 
4. Set the quality for all those videos to 1080p(HD). 
5. Navigate on those tabs about 10,15 minutes (full screen, pause/play). 

Expected results: The videos play without any error. 

Actual results: After about 10,15 minutes, one of this videos stops and the Play/Pause button becomes unresponsive.

Notes: 1. On Windows 7 64bit (NVIDIA GT610), the bug is not reproducible. 
       2. The bug is reproducible only on Windows 8.1 32bit (AMD Athlon(tm) II X3 450 Processor 3.20 GHz; Memory(RAM): 4.00 GB). 

Graphics: 

Adapter Description	ATI Radeon 3000 Graphics (Microsoft Corporation - WDDM v1.1)
Adapter Drivers	aticfx32 aticfx32 atiumdag atidxx32 atiumdva
Adapter RAM	512
Device ID	0x9616
Direct2D Enabled	true
DirectWrite Enabled	true (6.3.9600.17111)
Driver Date	6-20-2012
Driver Version	8.97.10.6
GPU #2 Active	false
GPU Accelerated Windows	2/2 Direct3D 11 (OMTC)
Subsys ID	00000000
Vendor ID	0x1002
WebGL Renderer	Google Inc. -- ANGLE (ATI Radeon 3000 Graphics (Microsoft Corporation - WDDM v1.1) Direct3D11 vs_4_0 ps_4_0)
windowLayerManagerRemote	true
AzureCanvasBackend	direct2d 1.1
AzureContentBackend	direct2d 1.1
AzureFallbackCanvasBackend	cairo
AzureSkiaAccelerated	0
I can't reproduce this issue on Firefox 37 Beta 4 (buildID: 20150309191715).
[Tracking Requested - why for this release]:
Despite this being an edge case, I want to nominate it for tracking in 37 as it appears to be a regression in the latest Beta and the results are pretty bad (play/pause button non-functional in all videos).
Tracking this regression from Beta 4.

Anthony - Probably a good idea to review this with the team while the work is fresh to see if anyone has ideas on the source of this regression from Beta 4.
Flags: needinfo?(ajones)
Flags: needinfo?(ajones)
These are the changesets from dom/media/ and media/stagefright/

changeset:   250970:64c87e9b4fbe
user:        Brian Birtles <birtles@gmail.com>
date:        Thu Feb 19 10:37:29 2015 +0900
summary:     Bug 1134487 - Remove delegated constructors in GMP{Audio,Video}Decoder since they're not supported by GCC 4.6. r=cpearce, a=lmandel

changeset:   250958:18ecbc81b0e4
user:        Chris Pearce <cpearce@mozilla.com>
date:        Wed Mar 11 22:01:19 2015 +1300
summary:     Bug 1141241 - Add nullcheck for mDecoder in WMFMediaDataDecoder::ProcessDrain(). r=mattwoodrow a=lmandel

changeset:   250948:0cd4e38e00b1
user:        Jan-Ivar Bruaroey <jib@mozilla.com>
date:        Fri Mar 06 13:23:33 2015 -0500
summary:     Bug 1140363 - Fire recording-window-ended on gUM failures, like we do on deny. r=jesup, a=lsblakk

changeset:   250947:14cc1f92c84c
user:        Karl Tomlinson <karlt+@karlt.net>
date:        Thu Feb 26 17:59:37 2015 +1300
summary:     Bug 1138229 - GetOutputStreamInfo() after each SetOutputType(). r=cpearce, a=lsblakk

changeset:   250941:803ed9fc9507
user:        Jean-Yves Avenard <jyavenard@mozilla.com>
date:        Tue Feb 24 16:38:41 2015 +1100
summary:     Bug 1132342: Handle race should operation be aborted while reading metadata. r=karlt a=lsblakk

changeset:   250925:21f52f25675a
parent:      250920:89b593b91e5e
user:        Randell Jesup <rjesup@jesup.org>
date:        Tue Mar 10 01:20:08 2015 -0400
summary:     Bug 1130150: mSources update r=roc a=abillings
Flags: needinfo?(camelia.badau)
None of these commits look suspicious.
(In reply to Anthony Jones (:kentuckyfriedtakahe, :k17e) from comment #4)
> These are the changesets from dom/media/ and media/stagefright/
> 
> changeset:   250970:64c87e9b4fbe
> user:        Brian Birtles <birtles@gmail.com>
> date:        Thu Feb 19 10:37:29 2015 +0900
> summary:     Bug 1134487 - Remove delegated constructors in
> GMP{Audio,Video}Decoder since they're not supported by GCC 4.6. r=cpearce,
> a=lmandel
> 
> changeset:   250958:18ecbc81b0e4
> user:        Chris Pearce <cpearce@mozilla.com>
> date:        Wed Mar 11 22:01:19 2015 +1300
> summary:     Bug 1141241 - Add nullcheck for mDecoder in
> WMFMediaDataDecoder::ProcessDrain(). r=mattwoodrow a=lmandel
> 
> changeset:   250948:0cd4e38e00b1
> user:        Jan-Ivar Bruaroey <jib@mozilla.com>
> date:        Fri Mar 06 13:23:33 2015 -0500
> summary:     Bug 1140363 - Fire recording-window-ended on gUM failures, like
> we do on deny. r=jesup, a=lsblakk
> 
> changeset:   250947:14cc1f92c84c
> user:        Karl Tomlinson <karlt+@karlt.net>
> date:        Thu Feb 26 17:59:37 2015 +1300
> summary:     Bug 1138229 - GetOutputStreamInfo() after each SetOutputType().
> r=cpearce, a=lsblakk
> 
> changeset:   250941:803ed9fc9507
> user:        Jean-Yves Avenard <jyavenard@mozilla.com>
> date:        Tue Feb 24 16:38:41 2015 +1100
> summary:     Bug 1132342: Handle race should operation be aborted while
> reading metadata. r=karlt a=lsblakk
> 
> changeset:   250925:21f52f25675a
> parent:      250920:89b593b91e5e
> user:        Randell Jesup <rjesup@jesup.org>
> date:        Tue Mar 10 01:20:08 2015 -0400
> summary:     Bug 1130150: mSources update r=roc a=abillings

I saw that you needinfo? me. Do you want me to investigate further?
Flags: needinfo?(camelia.badau)
I'm not convinced that we've got a real regression here, rather it is something that randomly happens but only occasionally. There is a good chance it's a duplicate of bug  1139271. If you can reproduce it then go to about:media after installing this addon https://github.com/doublec/aboutmedia/raw/master/aboutmedia.xpi and paste it into this bug. If it looks like a gap in audio the same as that bug then it's a dup.
Flags: needinfo?(ajones)
I was able to reproduce this pretty easily:

HTMLMediaElement debug data

https://www.youtube.com/watch?v=2smqTKtSZg0
	mediasource:https://www.youtube.com/5af931a3-198b-4a10-990a-91053f650ea3
	currentTime: 422.8
		SourceBuffer 0
			start=0 end=700.011315
		SourceBuffer 1
			start=0 end=700
	Internal Data:
	Dumping data for reader 19e75da0:
		Dumping Audio Track Decoders: - mLastAudioTime: 423.996370
			Reader 0: 2aeca400 ranges=[(0.000000, 700.011315)] active=true size=11241789
		Dumping Video Track Decoders - mLastVideoTime: 423.066666
			Reader 0: 252e8000 ranges=[(0.000000, 700.000000)] active=true size=42913105
	
https://www.youtube.com/watch?v=Skpu5HaVkOc
	mediasource:https://www.youtube.com/fbf0f20f-39fb-4dce-b468-695ec97776f7
	currentTime: 149.96773
		SourceBuffer 0
			start=0 end=150.000249
			start=160.008707 end=162.8878
		SourceBuffer 1
			start=5.005 end=162.829333
	Internal Data:
	Dumping data for reader 19e78840:
		Dumping Audio Track Decoders: - mLastAudioTime: 150.000520
			Reader 0: 1c06cc00 ranges=[(0.000000, 150.000249), (160.008707, 162.887800)] active=false size=2615682
		Dumping Video Track Decoders - mLastVideoTime: 149.649500
			Reader 1: 146c4000 ranges=[(5.005000, 162.829333)] active=true size=71377288
			Reader 0: 28e64000 ranges=[] active=false size=0
	
https://www.youtube.com/watch?v=vSEU1Fqt1E4
	mediasource:https://www.youtube.com/00ab5277-03a3-4eaa-9d34-6d2b61c47f28
	currentTime: 618.852334
		SourceBuffer 0
			start=0 end=730.011496
		SourceBuffer 1
			start=535.535 end=729.962566
	Internal Data:
	Dumping data for reader 19e77e90:
		Dumping Audio Track Decoders: - mLastAudioTime: 620.042107
			Reader 0: 23c1e000 ranges=[(0.000000, 730.011496)] active=true size=11732254
		Dumping Video Track Decoders - mLastVideoTime: 619.018400
			Reader 0: 18450000 ranges=[(535.535000, 729.962566)] active=true size=63713098
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 1139271
(In reply to Syd Polk :sydpolk from comment #8)
> https://www.youtube.com/watch?v=Skpu5HaVkOc
> 	mediasource:https://www.youtube.com/fbf0f20f-39fb-4dce-b468-695ec97776f7
> 	currentTime: 149.96773
> 		SourceBuffer 0
> 			start=0 end=150.000249
> 			start=160.008707 end=162.8878

^^^ Here's the gap in audio.
We managed to reproduce this bug using:

FF 37.0b7
Build Id: 20150319212106
OS: Windows 8.1 x86

We didn't manage to collect any data for this bug due to the fact that after the bug reproduces going to about:media will crash Firefox. This is one of the crash reports https://crash-stats.mozilla.com/report/index/703ce601-640b-482e-af51-e07f32150320 .

Note:I managed to reproduce this issue 2 times using only one 4k video and several times using 3 1080 videos.
Flags: needinfo?(ajones)
I've also reproduced this on Windows 7 x64 with Firefox 37 Beta 7, and also got the same crash when going to about:media after the issue reproduced.

It would seem like the fix for bug 1139271 did not fix this. Also the fact that Catalin reproduced the issue with only one 4K video a few times may indicate there's a higher chance of this reproducing than initially thought.
But this bug is about 1080p youtube.

4K decoding has it own issues, and hardware acceleration is now disabled with AMD graphic adapters due to instability.
We did reproduce this issue using 3 1080 videos, I just thought it would be helpful mentioning that a similar issue is reproducible using only one 4k video.
the crash accessing about:media appears similar (though not the same) as bug 1138557.

Catalin, to verify the bug, you could simply check if it stalls. This would be the result of the gap in either the audio or video.
Flags: needinfo?(karlt)
(In reply to Jean-Yves Avenard [:jya] from comment #15)
> the crash accessing about:media appears similar (though not the same) as bug
> 1138557.

The about:media crash is fixed on 38 in
https://hg.mozilla.org/mozilla-central/rev/c85ab430a0c2
Flags: needinfo?(karlt)
As the crash appears to be fixed on FF 38 I reproduced the bug using 3 youtube videos on 1080 p on FF 38.
This is the content from about:media after one of the videos stops playing and the play/pause button becomes unressponsive:

https://www.youtube.com/watch?v=AJtDXIazrMo
    mediasource:https://www.youtube.com/61bb30bb-ec3a-40fd-8b60-5c0d56e90940
    currentTime: 91.921586
        SourceBuffer 0
            start=0 end=249.265646
        SourceBuffer 1
            start=5.4 end=249.16
    Internal Data:
    Dumping data for reader 15fcde00:
        Dumping Audio Track Decoders: - mLastAudioTime: 92.995554
            Reader 0: 22dfcc00 ranges=[(0.000000, 249.265646)] active=true size=4002318
        Dumping Video Track Decoders - mLastVideoTime: 92.360000
            Reader 1: 16993800 ranges=[(5.400000, 249.160000)] active=true size=60891981
            Reader 0: 22dfc400 ranges=[] active=false size=0
   
https://www.youtube.com/watch?v=KWZGAExj-es
   
    currentTime: 0
https://www.youtube.com/watch?v=BPgEgaPk62M
    mediasource:https://www.youtube.com/a9ca53b9-3867-49d3-89ed-8ac97dc9c3f2
    currentTime: 75.494919
        SourceBuffer 0
            start=0 end=249.474603
        SourceBuffer 1
            start=60.06 end=195.194988
    Internal Data:
    Dumping data for reader 19de9400:
        Dumping Audio Track Decoders: - mLastAudioTime: 76.532856
            Reader 0: 26b08400 ranges=[(0.000000, 249.474603)] active=true size=4005671
        Dumping Video Track Decoders - mLastVideoTime: 75.658922
            Reader 0: 1cc4b000 ranges=[(60.060000, 195.194988)] active=true size=56661075

The steps used to reproduce the bug are the original steps from the Description .
No gaps were noticed on about:media while all 3 videos were playing.
Given the last comments, let's reopen this one.
Status: RESOLVED → REOPENED
Resolution: DUPLICATE → ---
(In reply to Catalin Varga [QA][:VarCat] from comment #17)
> As the crash appears to be fixed on FF 38 I reproduced the bug using 3
> youtube videos on 1080 p on FF 38.
> This is the content from about:media after one of the videos stops playing
> and the play/pause button becomes unressponsive:

Which one is unresponsive? Looks like https://www.youtube.com/watch?v=KWZGAExj-es is stalled at the beginning of an advert. Is that what is happening?
Flags: needinfo?(ajones)
https://www.youtube.com/watch?v=KWZGAExj-es stopped after going fullscreen on another of the other 2 videos (all 3 videos were running on the same window in 3 different tabs).
Not only did the video stop but the Play/Pause button becomes unresponsive for stopped video.
Null mLoadingSrc might indicate a decode error, and that would be the video that is not in about:media.
See Also: → 1148377
Catalin, is this also reproducible in 38 and 39? If so, we may want to track it.
Flags: needinfo?(catalin.varga)
I managed to reproduce this issue on:

FF 38.0b1
Build Id: 20150330154247


FF 39 Developer Edition
Build Id: 20140314220517

One thing that I noticed only now is that under about:support page this is what is displayed on the Graphics section after I reproduce this bug:

Graphics
AzureCanvasBackend	direct2d 1.1
AzureContentBackend	direct2d 1.1
AzureFallbackCanvasBackend	cairo
AzureSkiaAccelerated	0
(#0) Assert	[D3D11] 2 CreateTexture2D failure Size(1680,1050) Code: 0x8007000e
(#4) Assert	Failed 2 buffer db=0x00000000 dw=0x00000000 for 0, 0, 1680, 1050
(#5) Assert	[D3D11] 2 CreateTexture2D failure Size(1680,1050) Code: 0x8007000e
(#6) Assert	Failed 2 buffer db=0x00000000 dw=0x00000000 for 0, 0, 1680, 1050
(#7) Assert	[D3D11] 2 CreateTexture2D failure Size(1680,1050) Code: 0x8007000e
(#8) Assert	Failed 2 buffer db=0x00000000 dw=0x00000000 for 0, 0, 1680, 1050
Flags: needinfo?(catalin.varga)
[Tracking Requested - why for this release]: Since this still reproduces and was reopened, I believe we should now untrack for 37 and track for 38.
Tracking for 38.  Ralph, I was looking at this bug with Sylvestre today and we aren't sure what kind of priority it should be.  Do you think this is important for MSE on 38?
Flags: needinfo?(giles)
As far as media playback team priorities, I'd put this at P3. It's unlikely to affect EME shipping because it requires simultaneous playback in multiple tabs, but it's something we want to fix.

That it reproduces with the Radeon, but not the nVidia suggests it's an issue with the Radeon driver. Matt, do you think it makes sense to add this one to the DVXA block list? It doesn't seem to be on Chrome's list.

Catalin, can you please try reproducing with media.windows-media-foundation.use-dxva set to false in about:config?
Blocks: MSE
Flags: needinfo?(matt.woodrow)
Flags: needinfo?(giles)
Flags: needinfo?(catalin.varga)
Priority: -- → P3
If we're sure that it's DXVA related, and specific to some subset of devices/drivers, then blacklisting seems like the right way to go.
Flags: needinfo?(matt.woodrow)
Hi Ralph I managed to reproduce it using the following environment:

FF 38.0b4
Build id: 20150413143743
media.windows-media-foundation.use-dxva set to false
OS: Win 8.1 x86
Graphics: AMD Radeon HD 5450
Flags: needinfo?(catalin.varga)
(In reply to Catalin Varga [QA][:VarCat] from comment #23)
> I managed to reproduce this issue on:
> 
> FF 38.0b1
> Build Id: 20150330154247
> 
> 
> FF 39 Developer Edition
> Build Id: 20140314220517
> 
> One thing that I noticed only now is that under about:support page this is
> what is displayed on the Graphics section after I reproduce this bug:
> 
> Graphics
> AzureCanvasBackend	direct2d 1.1
> AzureContentBackend	direct2d 1.1
> AzureFallbackCanvasBackend	cairo
> AzureSkiaAccelerated	0
> (#0) Assert	[D3D11] 2 CreateTexture2D failure Size(1680,1050) Code:
> 0x8007000e
> (#4) Assert	Failed 2 buffer db=0x00000000 dw=0x00000000 for 0, 0, 1680, 1050
> (#5) Assert	[D3D11] 2 CreateTexture2D failure Size(1680,1050) Code:
> 0x8007000e
> (#6) Assert	Failed 2 buffer db=0x00000000 dw=0x00000000 for 0, 0, 1680, 1050
> (#7) Assert	[D3D11] 2 CreateTexture2D failure Size(1680,1050) Code:
> 0x8007000e
> (#8) Assert	Failed 2 buffer db=0x00000000 dw=0x00000000 for 0, 0, 1680, 1050

Can you please get a memory dump from about:memory when this happens? It looks like we're running out of memory and failing to allocate surfaces for the video.
Flags: needinfo?(catalin.varga)
Assignee: nobody → matt.woodrow
Attached file memory-report.json.gz
I've reproduce the bug but I didn't manage to reproduce the error from about:support

I've used FF 38.0b6 and Win 8.1, attached you can find the dump from about:memory.
Flags: needinfo?(catalin.varga)
Just like with the previous releases, wontfix for 38.
We will be happy to take a 39 but we might consider untracking it.
I've also seen this in Firefox 38.0.1 when changing resolution of a YouTube (HTML5) video (any video), and then clicking the Pause button while the spinner still displays over the video. Not very easy to reproduce though.
At this point, mid-beta 39, I'm going to drop tracking for this issue. Please renominate if the problem starts to appear frequently or we have a lead on actually fixing it.
Component: Audio/Video → Audio/Video: Playback
Is this issue reproducible in nightly?
I've tested on Windows 7 64bit and Windows 8.1 32bit using latest Nightly (buildID: 20151007030205) and I wasn't able to reproduce the issue anymore.
not an MSE issue and appearing fixed now
Status: REOPENED → RESOLVED
Closed: 6 years ago5 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.