Closed Bug 1810906 Opened 1 year ago Closed 1 year ago

[wmfme] Implement basic classes for media engine CDM support

Categories

(Core :: Audio/Video: Playback, task, P1)

task

Tracking

()

RESOLVED FIXED
111 Branch
Tracking Status
firefox111 --- fixed

People

(Reporter: alwu, Assigned: alwu)

References

(Blocks 1 open bug)

Details

Attachments

(7 files)

Attachment #9312936 - Attachment description: Bug 1810906 - implement content protection manager. → WIP: Bug 1810906 - part1 : implement content protection manager.

After adding more files, WMFEncoderModule.cpp is no longer in the same
unify build unit with the WMFMediaDataEncoder.cpp. Therefore, we need
to make the implementation of template class WMFMediaDataEncoder
visible in the header file, otherwise the compiler would report link
error of undefined WMFMediaDataEncoder symbol.

Depends on D167303

Attachment #9312936 - Attachment description: WIP: Bug 1810906 - part1 : implement content protection manager. → WIP: Bug 1810906 - part1 : implement the content protection manager.
Attachment #9313128 - Attachment description: WIP: Bug 1810906 - part4 : implement MFCDMProxy. → WIP: Bug 1810906 - part4 : implement a proxy to wrap IMFContentDecryptionModule.
Attachment #9312936 - Attachment description: WIP: Bug 1810906 - part1 : implement the content protection manager. → Bug 1810906 - part1 : implement the content protection manager.
Attachment #9313126 - Attachment description: WIP: Bug 1810906 - part2 : adding includes or missing namespace to fix build errors. → Bug 1810906 - part2 : adding includes or missing namespace to fix build errors.
Attachment #9313127 - Attachment description: WIP: Bug 1810906 - part3 : move WMFMediaDataEncoder implementation to its header to fix link errors. → Bug 1810906 - part3 : move WMFMediaDataEncoder implementation to its header to fix link errors.
Attachment #9313128 - Attachment description: WIP: Bug 1810906 - part4 : implement a proxy to wrap IMFContentDecryptionModule. → Bug 1810906 - part4 : implement a proxy to wrap IMFContentDecryptionModule.
Summary: [wmfme] Implement the content protection manager → [wmfme] Implement basic classes for media engine CDM support
Attachment #9313126 - Attachment description: Bug 1810906 - part2 : adding includes or missing namespace to fix build errors. → Bug 1810906 - part2 : adding includes and missing namespace to fix build errors.

We haven't decided where the CDM proxy is going to be created and
passed, for now let's assume the media engine parent is the entry point
to set the CDM proxy to the content protection manager and the media
source.

Depends on D167329

Pushed by alwu@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/2aa16e0149d2
part1 : implement the content protection manager. r=jolin
https://hg.mozilla.org/integration/autoland/rev/89e7ad08b2a2
part2 : adding includes and missing namespace to fix build errors. r=jolin
https://hg.mozilla.org/integration/autoland/rev/f8c3e3b17536
part3 : move WMFMediaDataEncoder implementation to its header to fix link errors. r=jolin
https://hg.mozilla.org/integration/autoland/rev/1eae73e0ba44
part4 : implement a proxy to wrap IMFContentDecryptionModule. r=jolin
https://hg.mozilla.org/integration/autoland/rev/4f3d40be7421
part5 : implement IMFTrustedInput on MFMediaSource. r=jolin
https://hg.mozilla.org/integration/autoland/rev/d274f0432208
part6 : expose a method to know if a stream is encrypted. r=jolin
https://hg.mozilla.org/integration/autoland/rev/587a70264fdd
part7 : set CDM proxy to the content protection manager and the media source. r=jolin

Backed out for MediaDataEncoderTest failures.

[task 2023-01-23T20:28:52.176Z] 20:28:52     INFO -  TEST-START | MediaDataEncoderTest.H264Encodes
[task 2023-01-23T20:28:52.484Z] 20:28:52  WARNING -  TEST-UNEXPECTED-FAIL | MediaDataEncoderTest.H264Encodes | Value of: AnnexB::IsAnnexB(frame)
[task 2023-01-23T20:28:52.498Z] 20:28:52     INFO -    Actual: true
[task 2023-01-23T20:28:52.498Z] 20:28:52     INFO -  Expected: false @ /builds/worker/checkouts/gecko/dom/media/gtest/TestMediaDataEncoder.cpp:310
[task 2023-01-23T20:28:52.499Z] 20:28:52  WARNING -  TEST-UNEXPECTED-FAIL | MediaDataEncoderTest.H264Encodes | Value of: AnnexB::IsAnnexB(frame)
[task 2023-01-23T20:28:52.499Z] 20:28:52     INFO -    Actual: true
[task 2023-01-23T20:28:52.499Z] 20:28:52     INFO -  Expected: false @ /builds/worker/checkouts/gecko/dom/media/gtest/TestMediaDataEncoder.cpp:310
[task 2023-01-23T20:28:52.499Z] 20:28:52  WARNING -  TEST-UNEXPECTED-FAIL | MediaDataEncoderTest.H264Encodes | Value of: AnnexB::IsAnnexB(frame)
[task 2023-01-23T20:28:52.500Z] 20:28:52     INFO -    Actual: true
[task 2023-01-23T20:28:52.500Z] 20:28:52     INFO -  Expected: false @ /builds/worker/checkouts/gecko/dom/media/gtest/TestMediaDataEncoder.cpp:310
Flags: needinfo?(alwu)
Flags: needinfo?(alwu)
Pushed by alwu@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/69cc67e98f6d
part1 : implement the content protection manager. r=jolin
https://hg.mozilla.org/integration/autoland/rev/a1af87093879
part2 : adding includes and missing namespace to fix build errors. r=jolin
https://hg.mozilla.org/integration/autoland/rev/dff599e1e2f9
part3 : move WMFMediaDataEncoder implementation to its header to fix link errors. r=jolin
https://hg.mozilla.org/integration/autoland/rev/0eb21f843fa5
part4 : implement a proxy to wrap IMFContentDecryptionModule. r=jolin
https://hg.mozilla.org/integration/autoland/rev/3b8db5361091
part5 : implement IMFTrustedInput on MFMediaSource. r=jolin
https://hg.mozilla.org/integration/autoland/rev/7e01eac67c8c
part6 : expose a method to know if a stream is encrypted. r=jolin
https://hg.mozilla.org/integration/autoland/rev/646826f7ef25
part7 : set CDM proxy to the content protection manager and the media source. r=jolin
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: