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

RESOLVED FIXED in Firefox -esr60

Status

()

defect
P2
normal
Rank:
15
RESOLVED FIXED
8 months ago
8 months ago

People

(Reporter: bryce, Assigned: bryce)

Tracking

unspecified
mozilla64
All
Unspecified
Points:
---

Firefox Tracking Flags

(firefox-esr60 fixed, firefox62 wontfix, firefox63 fixed, firefox64 fixed)

Details

Attachments

(1 attachment)

Assignee

Description

8 months ago
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

Updated

8 months ago
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+

Comment 4

8 months ago
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

Comment 5

8 months ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/e6a202d7695b
Status: ASSIGNED → RESOLVED
Last Resolved: 8 months 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)
Assignee

Comment 7

8 months ago
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.