Closed Bug 1107889 Opened 9 years ago Closed 9 years ago

Nightly: No Youtube on Vista

Categories

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

37 Branch
x86
Windows Vista
defect

Tracking

()

RESOLVED FIXED
mozilla37
Tracking Status
firefox36 --- fixed
firefox37 --- fixed

People

(Reporter: papjason, Assigned: cpearce)

References

(Blocks 1 open bug)

Details

Attachments

(4 files)

Attached image 2014-12-05_1530.png
User Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2236.0 Safari/537.36

Steps to reproduce:

go to any youtube video 


Actual results:

the video shows that loading sign forever


Expected results:

the video should play
the same also happens in safe mode and with a new profile and after a fresh install. Youtube works normally with the normal Firefox version 34.0
Are you speaking about the YT HTML5 player? If yes, it works fine on my side (FF37, win7).
Component: Untriaged → Video/Audio
Product: Firefox → Core
I was unable to reproduce this issue on two different machines using Latest Firefox 37.0a1 (2014-12-05) with Windows 7 x86.

Can you please check if any errors are thrown in Browser Console when you play a video?
Flags: needinfo?(papjason)
Attached image Untitled.jpg
it's the html5 player and this is what the browser console says
Flags: needinfo?(papjason)
Can you reproduce with e10s OFF ?
yes, e10s on, e10s off, e10s on safe mode, e10s off safe mode
I was able to reproduce this bug on Latest Firefox 37.0a1 (2014-12-16) using windows Vista x86 with e10s enabled and disabled.
Status: UNCONFIRMED → NEW
Ever confirmed: true
OS: Windows 7 → Windows Vista
Blocks: MSE
Summary: Nightly: No Youtube → Nightly: No Youtube on Vista
Vasilica, can you confirm that (a) this still appears on the latest Nightly build and (b) this is Vista-specific (meaning it does _not_ occur on windows 7)?

If both of those are the case, my guess is that the fix will be in the WMF PDM.
Flags: needinfo?(vasilica.mihasca)
I confirm that this issue still appears in latest Nightly (2015-01-04) and in latest Developer Edition (2015-01-05) using Windows Vista x86.

It is *not* reproducible on WIndows 7 x64.

This issue is a regression:

(m-c)
Last good revision: ab137ddd3746 (2014-11-13)
First bad revision: 7f0d92595432 (2014-11-14)
Pushlog:
https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=ab137ddd3746&tocha
nge=7f0d92595432

(m-i)
Last good revision: 71fe4233208a
First bad revision: a96930f1e26b
Pushlog:
https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=71fe42
33208a&tochange=a96930f1e26b

It is possible that this bug https://bugzilla.mozilla.org/show_bug.cgi?id=1097436  may have caused this issue?
Flags: needinfo?(vasilica.mihasca)
(In reply to Vasilica Mihasca, QA [:vasilica_mihasca] from comment #9)
> I confirm that this issue still appears in latest Nightly (2015-01-04) and
> in latest Developer Edition (2015-01-05) using Windows Vista x86.
> 
> It is *not* reproducible on WIndows 7 x64.

Very helpful, thanks.

> It is possible that this bug
> https://bugzilla.mozilla.org/show_bug.cgi?id=1097436  may have caused this
> issue?

OK, that basically means that this is an issue with the WMF PDM.

Chris, looks like you wrote most of that code. Is there someone other than yourself who's qualified to look at this? padonot maybe?
Flags: needinfo?(cpearce)
It's possible the way we're instantiating the WMF decoder on Windows doesn't work on Vista.

I can probably look into this later on in the week. The only other person qualified is Edwin really, but I want him to finish what he's working on first.
Flags: needinfo?(cpearce)
Flags: needinfo?(cpearce)
YouTube works for me in my Vista Business VMWare Workstation Virtual Machine, in Nightly 2015-01-06 and Developer Edition 2015-01-06.

Vasilica, are you testing in a Virtual Machine, or are you on physical hardware?

Could you try toggling the pref media.windows-media-foundation.use-dxva to false and seeing if that makes a difference?

Thanks.
Flags: needinfo?(vasilica.mihasca)
I am using a physical hardware.

Toggling the pref media.windows-media-foundation.use-dxva to false,in both latest Nightly 2015-01-06 and Developer Edition 2015-01-06, the result is the same: the video is not loading and only the spinner is displayed.
Flags: needinfo?(vasilica.mihasca)
Thanks Vasilica.

H.264/AAC playback only works on Vista if you have installed the "Platform Update Supplement for Windows Vista". I think it's likely you don't have that installed.

To test this theory, can you please run dxdiag, and "save all information" to a text file, and upload that to this bug?

To do that:
1. Press Windows Key + R
2. in the "Run" dialog that pops up enter "dxiag" (without the quotes) and press Enter.
3. in the "DirectX diagnostics" dialog that pops up, click the "save all information" button, which writes the data to a text file
4. upload that text file to this bug.

Thanks!
Flags: needinfo?(vasilica.mihasca)
Vasilica: can you also look in Regedit and see if the HKEY_CLASSES_ROOT\CLSID\{32d186a7-218f-4c75-8876-dd77273a8999} key exists?

To do that:
1. Press Windows Key + R
2. in the "Run" dialog enter "regedit" and press Enter.
3. in Regedit program's menu, select Edit > Find
4. in the Find dialog copy and paste {32d186a7-218f-4c75-8876-dd77273a8999} and ensure in the "Look At" check box the "Keys" box is checked, but the "Values" and "Data" boxes are not.
5. Select "Find Next".

I would expect the search to fail on your machine, and that would show that the necessary components required to playback video are not installed on your machine.
I think we can detect the presence of the decoders by looking for the COM server used to create it in the registry, and report that we can't play H.264/AAC in canPlayType/IsTypeSupported. We then fallback to non-DASH WebM on YouTube.

https://treeherder.mozilla.org/ui/#/jobs?repo=try&revision=b7a3e6a0b6b8
Flags: needinfo?(cpearce)
Attached file DxDiag.txt
Thanks Chris for providing me such amount of information!

I am attaching the DxDiag.txt file and you were right in comment 15, the search failed.
Using the build from Comment 17, Youtube works perfectly.

And considering all this results I concluded that I didn't had installed the "Platform Update Supplement for Windows Vista" as you mentioned.

After I installed the supplement, I tested on latest Nightly (2015-01-07) and on latest Aurora (2015-01-07) and all works fine.

Thanks again for helping me to figure it out which was the problem! You've been a real help!
Flags: needinfo?(vasilica.mihasca)
test_eme_requestKeySystemAccess.html failed on WinXP, since that test uses the BlankDecoderModule, which needs to report it can play AAC/H.264, and WinXP doesn't have AAC/H.264.

Test fixed:
https://treeherder.mozilla.org/ui/#/jobs?repo=try&revision=44246fde7740
* Detect the presence of the H.264/AAC MFTs by looking in the Windows registry to see if the MFT's classId has a registered factory.
* Use that to decide whether we support H.264/AAC.

In future we can use the same process to check for whether the Intel VP8 decoders are available.

r? dmajor because this is Windows specific stuff.
r? kintiek because this is media stuff.
Assignee: nobody → cpearce
Status: NEW → ASSIGNED
Attachment #8546071 - Flags: review?(kinetik)
Attachment #8546071 - Flags: review?(dmajor)
Comment on attachment 8546071 [details] [diff] [review]
Patch: detect MFT via windows registry

Review of attachment 8546071 [details] [diff] [review]:
-----------------------------------------------------------------

::: dom/media/fmp4/wmf/WMFDecoderModule.cpp
@@ +144,5 @@
> +WMFDecoderModule::HasAAC()
> +{
> +  // CLSID_CMSAACDecMFT
> +  return ClassesRootRegKeyExists(
> +    NS_LITERAL_STRING("CLSID\\{62CE7E72-4C71-4d20-B15D-452831A87D9D}"));

Nit: Use a consistent case for the hex letters (also for the H264)
Attachment #8546071 - Flags: review?(dmajor) → review+
(In reply to David Major [:dmajor] (UTC+13) from comment #21)
> Comment on attachment 8546071 [details] [diff] [review]
> Patch: detect MFT via windows registry
> 
> Review of attachment 8546071 [details] [diff] [review]:
> -----------------------------------------------------------------
> 
> ::: dom/media/fmp4/wmf/WMFDecoderModule.cpp
> @@ +144,5 @@
> > +WMFDecoderModule::HasAAC()
> > +{
> > +  // CLSID_CMSAACDecMFT
> > +  return ClassesRootRegKeyExists(
> > +    NS_LITERAL_STRING("CLSID\\{62CE7E72-4C71-4d20-B15D-452831A87D9D}"));
> 
> Nit: Use a consistent case for the hex letters (also for the H264)

Is the registry case sensitive? That inconsistent case is actually the same case that the string representation of the uuids are in the headers and in my registry, i.e. in the WMF API headers, they don't match.
According to RegOpenKey documentation, "Key names are not case sensitive."
Attachment #8546071 - Flags: review?(kinetik) → review+
Comment on attachment 8546071 [details] [diff] [review]
Patch: detect MFT via windows registry

Landing on Aurora with a=mse pre-approval.

https://hg.mozilla.org/releases/mozilla-aurora/rev/73e32e8ac465

This has a green try push. It does affect normal mp4 playback on Windows, so risk is moderate.
Flags: needinfo?(giles)
Attachment #8546071 - Flags: approval-mozilla-aurora?
Blocks: ytb37
Attachment #8546071 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
https://hg.mozilla.org/mozilla-central/rev/61d64583cfe5
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla37
No longer blocks: ytb37
for what it's worth, i found a solution to my original problem (Nightly, Windows 7, 64). I got to about:config and turned media.fragmented-mp4.exposed to false and both youtube and vine as well as gifs work normally
You need to log in before you can comment on or make changes to this bug.