-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: Fix support for scte214:supplementalCodecs and SUPPLEMENTAL-CODECS #7456
fix: Fix support for scte214:supplementalCodecs and SUPPLEMENTAL-CODECS #7456
Conversation
commit 4cd76817a514f2e6fec4cf4adf37ca1f484569cb Author: Gregory McGarry <[email protected]> Date: Wed Aug 7 15:21:32 2024 +1000 Avoid infinite loop after fixing const assignment. commit 532ac2d9d8857c80ca18e7ef2b26f14461d2197c Merge: c5f144a86 6a519767d Author: Gregory McGarry <[email protected]> Date: Wed Aug 7 14:24:35 2024 +1000 Merge branch 'dolby/disable-supplemental-codecs' into dolby/fix-supplemental-codecs commit 6a519767d96d9610c6d41b531352b75fdfb14705 Author: Gregory McGarry <[email protected]> Date: Wed Aug 7 14:23:20 2024 +1000 Add missing comma. commit c5f144a86abd24b40bb1b59d1c34c6f530739ed6 Author: Gregory McGarry <[email protected]> Date: Wed Aug 7 14:22:52 2024 +1000 Add missing "include". commit 1dfbbd5ace89c9542a99c0d3598dc395b9835c31 Merge: fcefce871 e3ee8a42d Author: Gregory McGarry <[email protected]> Date: Wed Aug 7 14:15:51 2024 +1000 Merge branch 'dolby/disable-supplemental-codecs' into dolby/fix-supplemental-codecs # Conflicts: # lib/hls/hls_parser.js commit fcefce871dd4231ffe5ee1c692334fa562b5b309 Author: Gregory McGarry <[email protected]> Date: Wed Aug 7 14:13:54 2024 +1000 Fix formatting. commit 3d5556a409b0f119c655950b96df13f3025a3eee Author: Gregory McGarry <[email protected]> Date: Wed Aug 7 13:48:21 2024 +1000 Fix supplementalCodecs for HLS too. commit e3ee8a42d1eec45ae4250fc45d609da3497cc35f Author: Gregory McGarry <[email protected]> Date: Wed Aug 7 12:11:41 2024 +1000 Add ignoreSupplementalCodecs into the right place for HLS. commit 65344bc69426d8d46b33a445acac300da7b5ea68 Author: Gregory McGarry <[email protected]> Date: Wed Aug 7 09:55:16 2024 +1000 Also ignore SUPPLEMENTAL-CODECS attribute in HLS manifest. commit 84766636e65f0741acf617eabf9942b41b7f35fb Author: Gregory McGarry <[email protected]> Date: Wed Aug 7 09:51:12 2024 +1000 Revert "Fix unused include." This reverts commit 682a0ddb1b6fef75c0328858b5dea479c0f75b0c. commit 6df27c773adcc8b73b01cba86793bcd4bdd656cc Author: Gregory McGarry <[email protected]> Date: Wed Aug 7 09:50:53 2024 +1000 Revert "Remove chooseBetterCodecs(), since it doesn't work properly for encrypted content on Win11." This reverts commit d44a067cf173e6e99527e6b61fa9a0ddfe99a8a4. commit f7847af58eb7674b17632eeedf609dd8373cc8bf Author: Gregory McGarry <[email protected]> Date: Tue Aug 6 15:38:42 2024 +1000 Remove unused constant. commit b9e71e5e635338811d4e8d9fd5abe36f50191d22 Author: Gregory McGarry <[email protected]> Date: Tue Aug 6 15:37:44 2024 +1000 Nuke old supplementalProperties. commit 682a0ddb1b6fef75c0328858b5dea479c0f75b0c Author: Gregory McGarry <[email protected]> Date: Tue Aug 6 15:37:25 2024 +1000 Fix unused include. commit 7069f03b678524e88d52778f95a846936012b846 Author: Gregory McGarry <[email protected]> Date: Tue Aug 6 15:37:07 2024 +1000 Fix formatting. commit d44a067cf173e6e99527e6b61fa9a0ddfe99a8a4 Author: Gregory McGarry <[email protected]> Date: Tue Aug 6 14:55:45 2024 +1000 Remove chooseBetterCodecs(), since it doesn't work properly for encrypted content on Win11. commit b4f1598ce5749f7f9492220301f8bcdc410eae3a Author: Gregory McGarry <[email protected]> Date: Tue Aug 6 14:26:20 2024 +1000 Duplicate representation to handle supplementalCodecs. This ensure that MediaCapabilities API is used for stream selection rather than using MediaSource::isTypeSupported() which doesn't work correctly for Dolby Vision. commit a432bd650e25436915846403dda9177a3ef88378 Merge: ca8c18277 5a4c9af63 Author: Gregory McGarry <[email protected]> Date: Fri Jul 19 14:52:39 2024 +1000 Merge branch 'dolby/disable-supplemental-codecs' into dolby/gmcga-build commit ca8c18277e0ceb659c1cfedaca8bdd0344b789ea Merge: 241b84304 bf072fb Author: Gregory McGarry <[email protected]> Date: Fri Jul 19 14:52:17 2024 +1000 Merge remote-tracking branch 'origin/dolby/fairplay2' into dolby/gmcga-build commit 5a4c9af6320007f0e293ae68fcee4ebb445bba3f Author: Gregory McGarry <[email protected]> Date: Fri Jul 19 14:51:01 2024 +1000 Provide configuration switch to disable supplementalCodecs. commit 241b8430453670766d027ff7672c1d68307bdbd8 Merge: f161a1c 8f96e72 Author: Gregory McGarry <[email protected]> Date: Fri Jul 19 14:48:41 2024 +1000 Merge branch 'dolby/fix-rejectCodec2' into dolby/gmcga-build commit 8f96e72 Author: Gregory McGarry <[email protected]> Date: Fri Jul 19 14:25:30 2024 +1000 Fix rejectCodec_() on Safari which uses ManagedMediaSource. commit f5c6ad8 Author: Gregory McGarry <[email protected]> Date: Thu Jul 18 13:57:33 2024 +1000 Correctly get the base codec from a mime-type. commit bf072fb Author: Gregory McGarry <[email protected]> Date: Mon May 6 11:19:16 2024 +1000 Enable FairPlay.
Incremental code coverage: 100.00% |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please, add some tests for it.
Closing due to inactivity. If the author would like to continue this PR, they can reopen it (preferred) or start a new one (if needed). |
Added some missing tests as part of PR7455. Can expand. Can this PR be re-opened to update PR? |
Any update? |
I'm going to create a separate PR with all the necessary fixes, it seems that when you created the PR you didn't check the option to allow maintainers to edit your PR :( |
Currently the codec adds supplemental codecs to the list of allCodecs and has an implicit priority order to select a codec. Support for the codec is tested with MediaSource.isTypeSupported().
There are multiple issues with this approach:
Speaking in DASH parlance, this patch considers that scte214:supplementalCodecs is effectively a short-hand mechanism to specify an alternate variant. In fact, shaka-packager implements the mechanism of supplementalCodecs by duplicating the AdaptationSet with a different @codecs attribute.
This patch duplicates the variant with each supplemental codec and defers codec priority and codec selection until after MediaCapabilities.decodingInfo().
This fixes support for DolbyVision Profile 8, which is otherwise broken because the latest browsers always return false from MediaSource.isTypeSupported(), and DolbyVision is commonly only available in a secure hardware decode pipeline.