Closed Bug 1492915 Opened 6 years ago Closed 6 years ago

WebMDemuxer should not try and read keyframe information from partially encrypted packets

Categories

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

All
Unspecified
defect

Tracking

()

RESOLVED FIXED
mozilla64
Tracking Status
firefox-esr60 --- fixed
firefox62 --- wontfix
firefox63 --- fixed
firefox64 --- fixed

People

(Reporter: bryce, Assigned: bryce)

Details

Attachments

(1 file)

When an unencrypted packet is read from a WebM, we attempt to determine if it is a keyframe by inspecting it. If a packet is detected as encrypted we do not perform this check and defer to the container, as the encrypted data cannot be sanely inspected.

When support for partially encrypted WebMs was added, the condition to avoid checking encrypted packets appears to have not been updated for the partial encryption case[0]. This should be updated to avoid misidentifying frames.

[0]: https://searchfox.org/mozilla-central/rev/94e37e71ffbfd39e6ad73ebcda5d77cce8d341ae/dom/media/webm/WebMDemuxer.cpp#679
Rank: 15
Priority: -- → P2
Comment on attachment 9010710 [details]
Bug 1492915 - Stop WebMDemuxer from inspecting partially encrypted packets for keyframe information. r=jya

Jean-Yves Avenard [:jya] has approved the revision.
Attachment #9010710 - Flags: review+
Pushed by bvandyk@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/e6a202d7695b
Stop WebMDemuxer from inspecting partially encrypted packets for keyframe information. r=jya
https://hg.mozilla.org/mozilla-central/rev/e6a202d7695b
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla64
Calling this wontfix for 62, please request uplift to beta/esr60 if you think we should fix it there.
Flags: needinfo?(bvandyk)
Comment on attachment 9010710 [details]
Bug 1492915 - Stop WebMDemuxer from inspecting partially encrypted packets for keyframe information. r=jya

After some consideration, requesting uplift for beta/ESR.

[Approval Request Comment]
If this is not a sec:{high,crit} bug, please state case for ESR consideration: The change is low risk and impacts the playback of encrypted content, which is often paid content. It may also affect AV1 content that is encrypted, depending on how sites choose to serve such content. It would be desirable to avoid such bustages.
User impact if declined: Failure to playback media stored in WebM's with subsample encryption. As AV1 rolls out, sites serving encrypted AV1 in WebM may fail to playback.
Fix Landed on Version: Firefox 64 during nightly cycle
Risk to taking this patch (and alternatives if risky): Low, the change is small and in a well understood part of the codebase
String or UUID changes made by this patch: None

See https://wiki.mozilla.org/Release_Management/ESR_Landing_Process for more info.

Approval Request Comment
[Feature/Bug causing the regression]: Bug 1306477
[User impact if declined]:Failure to playback media stored in WebM's with subsample encryption. As AV1 rolls out, sites serving encrypted AV1 in WebM may fail to playback.
[Is this code covered by automated tests?]: Partially, but 
[Has the fix been verified in Nightly?]: Yes.
[Needs manual test from QE? If yes, steps to reproduce]: No.
[List of other uplifts needed for the feature/fix]: No other changes are needed
[Is the change risky?]: No
[Why is the change risky/not risky?]: The change is small and in a well understood part of the codebase
[String changes made/needed]: None
Flags: needinfo?(bvandyk)
Attachment #9010710 - Flags: approval-mozilla-esr60?
Attachment #9010710 - Flags: approval-mozilla-beta?
Comment on attachment 9010710 [details]
Bug 1492915 - Stop WebMDemuxer from inspecting partially encrypted packets for keyframe information. r=jya

Fix landed to nightly 10 days ago with no reported regression, uplift approved for 63 beta 12, thanks.
Attachment #9010710 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Comment on attachment 9010710 [details]
Bug 1492915 - Stop WebMDemuxer from inspecting partially encrypted packets for keyframe information. r=jya

Fixes broken playback of some encrypted content. Approved for ESR 60.3.
Attachment #9010710 - Flags: approval-mozilla-esr60? → approval-mozilla-esr60+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: