Commit 7126633
committed
[MSE][GStreamer] Advertise AC4 in systems supporting it
https://bugs.webkit.org/show_bug.cgi?id=310845
Reviewed by NOBODY (OOPS!).
This patch enables Dolby AC-4 support in systems that have a GStreamer
decoder that supports it. As of writing AC-4 support is still not mature
in desktop but it is present in some set top boxes.
The changes involve adding support for the MIME type and codec strings
in MSE and whitelisting the caps in WebKitThunderDecryptorGStreamer. The
codec string is also checked for format correctness and presentation
version support.
Unfortunately, as of writing the existing GStreamer decoders don't have
a established way of querying AC-4 support levels in a fine grained
manner.
This patch will accept codec strings for presentation version 1.
Presentation version 1 is the minimum version supported by bitstream
version 2, which is the only bitstream version that is part of the
current Dolby AC-4 Kit (1.5) test signals. This combination is also the
only one supported in CMAF according to the current version of the AC-4
spec (ETSI TS 103 190-2 V1.3.1, 2025-07).
This is understood to be a reasonable baseline for what is commonly
supported for a contemporary AC-4 decoder. It is possible however that
in the future we need to add support for e.g. environment variables
to further customize support level, assuming that by then there is still
no way of querying the support level from WebKit.
Original author: Andrzej Surdej <Andrzej_Surdej@comcast.com>
See: WebPlatformForEmbedded/WPEWebKit#1641
* Source/WebCore/platform/graphics/gstreamer/GStreamerRegistryScanner.cpp:
(WebCore::GStreamerRegistryScanner::initializeDecoders):
(WebCore::GStreamerRegistryScanner::isCodecSupported const):
(WebCore::parseAC4LevelAndProfile):
* Source/WebCore/platform/graphics/gstreamer/eme/GStreamerEMEUtilities.h:
* Source/WebCore/platform/graphics/gstreamer/eme/WebKitThunderDecryptorGStreamer.cpp:
* Source/WebCore/platform/graphics/gstreamer/eme/WebKitThunderParser.cpp:1 parent b271e70 commit 7126633
4 files changed
Lines changed: 41 additions & 2 deletions
File tree
- Source/WebCore/platform/graphics/gstreamer
- eme
Lines changed: 37 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
| 52 | + | |
| 53 | + | |
52 | 54 | | |
53 | 55 | | |
54 | 56 | | |
| |||
552 | 554 | | |
553 | 555 | | |
554 | 556 | | |
| 557 | + | |
555 | 558 | | |
556 | 559 | | |
557 | 560 | | |
| |||
800 | 803 | | |
801 | 804 | | |
802 | 805 | | |
| 806 | + | |
| 807 | + | |
803 | 808 | | |
804 | 809 | | |
805 | 810 | | |
| |||
1028 | 1033 | | |
1029 | 1034 | | |
1030 | 1035 | | |
| 1036 | + | |
| 1037 | + | |
| 1038 | + | |
| 1039 | + | |
| 1040 | + | |
| 1041 | + | |
| 1042 | + | |
| 1043 | + | |
| 1044 | + | |
| 1045 | + | |
| 1046 | + | |
| 1047 | + | |
| 1048 | + | |
| 1049 | + | |
| 1050 | + | |
| 1051 | + | |
| 1052 | + | |
| 1053 | + | |
| 1054 | + | |
| 1055 | + | |
| 1056 | + | |
| 1057 | + | |
| 1058 | + | |
| 1059 | + | |
| 1060 | + | |
| 1061 | + | |
| 1062 | + | |
| 1063 | + | |
| 1064 | + | |
| 1065 | + | |
| 1066 | + | |
| 1067 | + | |
1031 | 1068 | | |
1032 | 1069 | | |
1033 | 1070 | | |
| |||
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
98 | 98 | | |
99 | 99 | | |
100 | 100 | | |
101 | | - | |
102 | | - | |
| 101 | + | |
| 102 | + | |
103 | 103 | | |
104 | 104 | | |
105 | 105 | | |
| |||
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
56 | 56 | | |
57 | 57 | | |
58 | 58 | | |
| 59 | + | |
59 | 60 | | |
60 | 61 | | |
61 | 62 | | |
| |||
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
67 | 67 | | |
68 | 68 | | |
69 | 69 | | |
| 70 | + | |
70 | 71 | | |
71 | 72 | | |
72 | 73 | | |
| |||
0 commit comments