Closed Bug 1344481 Opened 7 years ago Closed 7 years ago

amazon instant video plays audio, but video freezes on windows

Categories

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

defect
Not set
normal

Tracking

()

RESOLVED INCOMPLETE
Tracking Status
platform-rel --- +

People

(Reporter: bkelly, Unassigned)

Details

(Whiteboard: [platform-rel-Amazon][platform-rel-AmazonVideo])

I recently purchased Moana on amazon instant video.  I tried playing it on Firefox, but it basically doesn't work.  I can hear the audio, but the video does not update.  If I skip ahead I get a few frames of video, but then it gets stuck.

I tested on FF51.0.1, FF52 RC2, and FF54.  All of them exhibit this behavior.

I get the DRM chain icon in my URL bar, so I believe this is trying to use native HTML streaming.

My about:support:

Application Basics
------------------

Name: Firefox
Version: 51.0.1
Build ID: 20170125094131
Update Channel: release
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:51.0) Gecko/20100101 Firefox/51.0
OS: Windows_NT 10.0
Multiprocess Windows: 1/1 (Enabled by user)
Safe Mode: false

Crash Reports for the Last 3 Days
---------------------------------

Report ID: bp-4e5bbd6d-6494-4338-9a4d-6fedf2170301
Submitted: 3 days ago

All Crash Reports

Extensions
----------

Name: Application Update Service Helper
Version: 1.0
Enabled: true
ID: aushelper@mozilla.org

Name: Diagnostics
Version: 1.0
Enabled: true
ID: diagnostics@mozilla.org

Name: Multi-process staged rollout
Version: 1.7
Enabled: true
ID: e10srollout@mozilla.org

Name: Pocket
Version: 1.0.5
Enabled: true
ID: firefox@getpocket.com

Name: Send HSTS Priming Requests
Version: 1.0
Enabled: true
ID: hsts-priming@mozilla.org

Name: SHA-1 deprecation staged rollout
Version: 1.3
Enabled: true
ID: disableSHA1rollout@mozilla.org

Name: Web Compat
Version: 1.0
Enabled: true
ID: webcompat@mozilla.org

Graphics
--------

Features
Compositing: Direct3D 11
Asynchronous Pan/Zoom: wheel input enabled
WebGL Renderer: Google Inc. -- ANGLE (NVIDIA Quadro K620 Direct3D11 vs_5_0 ps_5_0)
WebGL2 Renderer: Google Inc. -- ANGLE (NVIDIA Quadro K620 Direct3D11 vs_5_0 ps_5_0)
Hardware H264 Decoding: No; Hardware video decoding disabled or blacklisted
Audio Backend: wasapi
Direct2D: true
DirectWrite: true (10.0.14393.351)
GPU #1
Active: Yes
Description: NVIDIA Quadro K620
Vendor ID: 0x10de
Device ID: 0x13bb
Driver Version: 21.21.13.6909
Driver Date: 8-1-2016
Drivers: C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispiwu.inf_amd64_9ff5ab165faead52\nvd3dumx,C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispiwu.inf_amd64_9ff5ab165faead52\nvwgf2umx,C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispiwu.inf_amd64_9ff5ab165faead52\nvwgf2umx,C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispiwu.inf_amd64_9ff5ab165faead52\nvwgf2umx C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispiwu.inf_amd64_9ff5ab165faead52\nvd3dum,C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispiwu.inf_amd64_9ff5ab165faead52\nvwgf2um,C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispiwu.inf_amd64_9ff5ab165faead52\nvwgf2um,C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispiwu.inf_amd64_9ff5ab165faead52\nvwgf2um
Subsys ID: 109810de
RAM: 2048
GPU #2
Active: No
Description: Intel(R) HD Graphics 4600
Vendor ID: 0x8086
Device ID: 0x0412
Driver Version: 20.19.15.4531
Driver Date: 9-29-2016
Drivers: igdumdim64 igd10iumd64 igd10iumd64 igd12umd64 igdumdim32 igd10iumd32 igd10iumd32 igd12umd32
Subsys ID: 05a61028
RAM: Unknown
Diagnostics
AzureCanvasAccelerated: 0
AzureCanvasBackend: direct2d 1.1
AzureContentBackend: direct2d 1.1
AzureFallbackCanvasBackend: cairo
Decision Log
D3D9_COMPOSITING:
disabled by default: Disabled by default




Important Modified Preferences
------------------------------

accessibility.typeaheadfind.flashBar: 0
browser.cache.disk.capacity: 358400
browser.cache.disk.filesystem_reported: 1
browser.cache.disk.smart_size.first_run: false
browser.cache.disk.smart_size.use_old_max: false
browser.cache.frecency_experiment: 3
browser.download.importedFromSqlite: true
browser.places.smartBookmarksVersion: 8
browser.sessionstore.upgradeBackup.latestBuildID: 20170125094131
browser.startup.homepage: about:home
browser.startup.homepage_override.buildID: 20170125094131
browser.startup.homepage_override.mstone: 51.0.1
browser.tabs.remote.autostart.2: false
browser.tabs.remote.force-enable: true
browser.tabs.warnOnClose: false
browser.urlbar.daysBeforeHidingSuggestionsPrompt: 0
browser.urlbar.lastSuggestionsPromptDate: 20160829
browser.urlbar.maxRichResults: 12
dom.apps.lastUpdate.buildID: 20161019084923
dom.apps.lastUpdate.mstone: 49.0.2
dom.apps.reset-permissions: true
dom.push.userAgentID: 24433343f43c45d5b15474dcd74d08bd
extensions.lastAppVersion: 51.0.1
gfx.crash-guard.d3d11layers.appVersion: 51.0.1
gfx.crash-guard.d3d11layers.deviceID: 0x13bb
gfx.crash-guard.d3d11layers.driverVersion: 21.21.13.6909
gfx.crash-guard.d3d11layers.feature-d2d: true
gfx.crash-guard.d3d11layers.feature-d3d11: true
gfx.crash-guard.status.: 2
gfx.crash-guard.status.d3d11layers: 2
gfx.crash-guard.status.d3d11video: 2
media.benchmark.vp9.fps: 240
media.benchmark.vp9.versioncheck: 1
media.gmp-eme-adobe.abi: x86_64-msvc-x64
media.gmp-eme-adobe.lastUpdate: 1471657173
media.gmp-eme-adobe.version: 17
media.gmp-gmpopenh264.abi: x86_64-msvc-x64
media.gmp-gmpopenh264.lastUpdate: 1471657173
media.gmp-gmpopenh264.version: 1.6
media.gmp-manager.buildID: 20170125094131
media.gmp-manager.lastCheck: 1488639045
media.gmp-widevinecdm.abi: x86_64-msvc-x64
media.gmp-widevinecdm.lastUpdate: 1474400903
media.gmp-widevinecdm.version: 1.4.8.903
media.gmp.storage.version.observed: 1
media.hardware-video-decoding.failed: true
network.cookie.prefsMigrated: true
network.predictor.cleaned-up: true
places.database.lastMaintenance: 1486135610
places.history.expiration.transient_current_max_pages: 132492
plugin.disable_full_page_plugin_for_types: application/pdf
plugin.importedState: true
privacy.donottrackheader.enabled: true
security.pki.sha1_enforcement_level: 3
security.sandbox.content.tempDirSuffix: {aff43732-34ca-42f1-8be9-4b38f43d5a8e}
security.tls.version.min: 0
services.sync.declinedEngines: addons
services.sync.engine.addons: false
services.sync.engine.passwords: false
services.sync.engine.prefs.modified: false
services.sync.lastPing: 1488639086
services.sync.lastSync: Sat Mar 04 2017 09:54:16 GMT-0500 (Eastern Standard Time)
services.sync.numClients: 9
storage.vacuum.last.index: 1
storage.vacuum.last.places.sqlite: 1485277156
ui.osk.debug.keyboardDisplayReason: IKPOS: Touch screen not found.

Important Locked Preferences
----------------------------

Places Database
---------------

JavaScript
----------

Incremental GC: true

Accessibility
-------------

Activated: false
Prevent Accessibility: 0

Library Versions
----------------

NSPR
Expected minimum version: 4.13.1
Version in use: 4.13.1

NSS
Expected minimum version: 3.28.1
Version in use: 3.28.1

NSSSMIME
Expected minimum version: 3.28.1
Version in use: 3.28.1

NSSSSL
Expected minimum version: 3.28.1
Version in use: 3.28.1

NSSUTIL
Expected minimum version: 3.28.1
Version in use: 3.28.1

Experimental Features
---------------------

Sandbox
-------

Content Process Sandbox Level: 1
I tested Brave (the movie) and got the same problem.
Looks like my "Primetime Content Decryption Module" plugin was last updated on August 19, 2016.
I tried in a fresh profile in FF53 aurora and got:

"Widevine Content Decryption Module" updated on March 4, 2017

The problem still occurs.  I now eventually get a dialog box though:

"Your devices available internet bandwidth is too low for uninterrupted stream, or is experiencing intermittent connectivity.  The video might pause while buffering.  Do you want to continue watching?"

AFAICT, thought, might internet is not having any intermittency issues.
I tried in chrome and edge:

Chrome: Movie stutters and pauses, but does not freeze.
Edge: Plays perfectly
platform-rel: --- → +
Whiteboard: [platform-rel-Amazon][platform-rel-AmazonVideo]
The video is fine on FF51.0.1, FF53, and FF54 on my mac.  So seems like a windows specific issue.
Summary: amazon instant video plays audio, but video freezes → amazon instant video plays audio, but video freezes on windows
The symptoms you're describing here for both Chrome and Firefox are consistent with trying to play video which is too high quality for the hardware you're playing it on. That is, it seems your CPU isn't fast enough to decrypt and decode the video at a rate faster than playback needs to consume data. The fact that Edge is playing flawlessly isn't surprising; they use hardware acceleration for their DRM, whereas we and Chrome use a software video decoder.

What is your machine's make and model?

If you disable hardware accelerated video decoding (media.hardware-video-decoding.enabled=false) and restart Firefox, does normal/non-DRM video also exhibit the same problem? For example, on this HD/60fps video:
https://www.youtube.com/watch?v=737Gl1sm0rE
Flags: needinfo?(bkelly)
This is my main build desktop:

Dell Precision T1700
Processor: Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz, 3601 Mhz, 4 Core(s), 8 Logical Processor(s)
Display: NVIDIA Quadro K620

The CPU usage when I tested was at zero.  I find it very surprising that this would be inadequate to play a movie.

I set media.hardware-video-decoding.enabled=false, restarted firefox, and played the linked youtube video.  It ran perfectly without any jank or stuttering.
Flags: needinfo?(bkelly)
I agree that a machine like that should be able to playback video fine. Odd that Chrome also has problems. Are you able to run a mozregression to pinpoint when things went bad?
Flags: needinfo?(bkelly)
Running a bisect now.  I did notice this in the mozregression log though when the problem occurs:

2017-03-06T09:07:26: INFO : [NPAPI 19584] WARNING: pipe error: 109: file c:/builds/moz2_slave/m-cen-w64-ntly-000000000000000/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 346
2017-03-06T09:07:26: INFO : [NPAPI 19584] WARNING: pipe error: 109: file c:/builds/moz2_slave/m-cen-w64-ntly-000000000000000/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 346
So, the bisect just identified when we switched from silverlight to the DRM'd native streaming.  The older versions of firefox don't play the audio with DRM plugin, so they are worse.  I assume this is some kind of version mismatch with the plugin and the now-unsupported versions of FF.

I do see this in the browser console:

atv-ps.amazon.com : server does not support RFC 5746, see CVE-2009-3555

Is there a test I can run with the widevine code by itself to see if that works at all on my machine?

Also, does anyone else see this on win10?
Flags: needinfo?(bkelly)
I am able to play DRM'd videos in netflix.
(In reply to Ben Kelly [not reviewing due to deadline][:bkelly] from comment #9)
> Running a bisect now.  I did notice this in the mozregression log though
> when the problem occurs:
> 
> 2017-03-06T09:07:26: INFO : [NPAPI 19584] WARNING: pipe error: 109: file
> c:/builds/moz2_slave/m-cen-w64-ntly-000000000000000/build/src/ipc/chromium/
> src/chrome/common/ipc_channel_win.cc, line 346
> 2017-03-06T09:07:26: INFO : [NPAPI 19584] WARNING: pipe error: 109: file
> c:/builds/moz2_slave/m-cen-w64-ntly-000000000000000/build/src/ipc/chromium/
> src/chrome/common/ipc_channel_win.cc, line 346

That's typical, and I don't think that's indicative of a problem.
(In reply to Ben Kelly [not reviewing due to deadline][:bkelly] from comment #10)
> So, the bisect just identified when we switched from silverlight to the
> DRM'd native streaming.  The older versions of firefox don't play the audio
> with DRM plugin, so they are worse.  I assume this is some kind of version
> mismatch with the plugin and the now-unsupported versions of FF.
> 
> I do see this in the browser console:
> 
> atv-ps.amazon.com : server does not support RFC 5746, see CVE-2009-3555
> 
> Is there a test I can run with the widevine code by itself to see if that
> works at all on my machine?
> 

https://shaka-player-demo.appspot.com/demo/

Choose the "Sintel 4K Widevine" asset.


> Also, does anyone else see this on win10?

I have an i7 4790K under my desk, and I've not seen this problem on that machine.
(In reply to Ben Kelly [not reviewing due to deadline][:bkelly] from comment #11)
> I am able to play DRM'd videos in netflix.

Can you play Disney or Pixar stuff on Netflix? You've only described problems on Disney content on Amazon. So maybe there's something particular about the license of such content.
(In reply to Chris Pearce (:cpearce) from comment #13)
> https://shaka-player-demo.appspot.com/demo/
> 
> Choose the "Sintel 4K Widevine" asset.

This plays fine.

(In reply to Chris Pearce (:cpearce) from comment #14)
> Can you play Disney or Pixar stuff on Netflix? You've only described
> problems on Disney content on Amazon. So maybe there's something particular
> about the license of such content.

"Finding Dory" plays fine on netflix.

I also tried some non-disney movies on Amazon (King's Speech) and it has the same problem there.

Seems like amazon is the main common factor among the failures so far.

Do we have a test account for amazon?  Maybe its a problem with my account.
Flags: needinfo?(cpearce)
The test account showed the same failure.

I then tried logging out of windows and back in.  Now videos play.  Perhaps some process was in a bad state.

Are there any widevine logs I can look at?
The CDM doesn't keep its own logs. You could use MOZ_LOG=GMP:5,EME:5,CDM:5 to capture the message traffic into and out of the CDM, but since you can no longer repro, that's probably not so useful at this point. :(
Flags: needinfo?(cpearce)
I'm closing this because the issue mysteriously vanished.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.