Branch: refs/heads/webkitglib/2.52
Home: https://github.com/WebKit/WebKit
Commit: b7ef457c9c9c43a9a27cb215cb559d6514a64df1
https://github.com/WebKit/WebKit/commit/b7ef457c9c9c43a9a27cb215cb559d6514a64df1
Author: Alicia Boya Garcia <[email protected]>
Date: 2026-05-12 (Tue, 12 May 2026)
Changed paths:
M Source/WebCore/platform/graphics/gstreamer/GStreamerRegistryScanner.cpp
Log Message:
-----------
Cherry-pick 311571@main (2566042879a7).
https://bugs.webkit.org/show_bug.cgi?id=312501
[GStreamer] Report support for supported non-AAC mp4a codecs
https://bugs.webkit.org/show_bug.cgi?id=312501
Reviewed by Xabier Rodriguez-Calvar.
https://commits.webkit.org/310634@main made it so that we no longer mark
all codec strings starting with "mp4a." as supported the moment we find
an MPEG-4 AAC decoder, instead allowing only the specific codec strings
used by AAC.
There are however other audio codec that use strings that start with
"mp4a.", that were already working, and for which WebKit reported
support, even if only accidentally due to finding an AAC decoder.
Notably, this the case for MP3 (mp4a.6b and mp4a.69), AC-3 (mp4a.a5) and
EAC-3 (mp4a.a6). This regression was identified with the MVT test suite:
https://github.com/rdkcentral/MVT
This patch adds those codec strings to GStreamerRegistryScanner when
appropriate decoders are found, both fixing the regression and ensuring
support is not reported accidentally.
Previously the code for initializeDecoders() implied MPEG-1 and MPEG-2
audio is not supported with MSE, even though it was already working and
reported as supported. This patch moves the support check code to the
part of the function common for both MSE and non-MSE.
Support for mp4a.67 has been moved to the check for audio/mpeg,
mpegversion=2. Although in practice virtually all AAC decoders will
support both mpegversion=2 and mpegversion=4, this is the technically
correct place for it.
As a drive-by fix, the logging in GStreamerRegistryScanner::refresh()
has been fixed: all codecs were being reported as being hardware-based
due to leftovers from a refactor.
* Source/WebCore/platform/graphics/gstreamer/GStreamerRegistryScanner.cpp:
(WebCore::GStreamerRegistryScanner::refresh):
(WebCore::GStreamerRegistryScanner::initializeDecoders):
Canonical link: https://commits.webkit.org/311571@main
Canonical link: https://commits.webkit.org/305877.489@webkitglib/2.52
Commit: d5043a96b5d08efda8da101a7ff6691f0d8d36a3
https://github.com/WebKit/WebKit/commit/d5043a96b5d08efda8da101a7ff6691f0d8d36a3
Author: Alicia Boya Garcia <[email protected]>
Date: 2026-05-12 (Tue, 12 May 2026)
Changed paths:
M Source/WebCore/platform/graphics/gstreamer/GStreamerRegistryScanner.cpp
Log Message:
-----------
Cherry-pick 312190@main (056c4c55fb09).
https://bugs.webkit.org/show_bug.cgi?id=313273
[GStreamer] 3 new failures on MVT tests hls-hlsjs-test/HLS_FMP4_MP3 after
310634@main
https://bugs.webkit.org/show_bug.cgi?id=313273
Reviewed by Philippe Normand.
There are two ways to mux MP3 in MP4: the most common is to use the
Object Type Indication of MPEG-1 Audio. This is the most widely
supported approach. Alternatively, it is possible to use the Object Type
Indication of MPEG-4 Audio and inside that, use the AOT corresponding to
MP3 (AOT=34).
This patch makes WebKit report positively in canPlayType() for the
second approach, not only the first.
The second approach is rare enough I have not found any examples in the
wild. Support for it in GStreamer is unknown. Still, it has been found
that some streams use the codec string corresponding to the second
approach despite using the first approach in the bytestream.
Fixes https://bugs.webkit.org/show_bug.cgi?id=313273
* Source/WebCore/platform/graphics/gstreamer/GStreamerRegistryScanner.cpp:
(WebCore::GStreamerRegistryScanner::initializeDecoders):
Canonical link: https://commits.webkit.org/312190@main
Canonical link: https://commits.webkit.org/305877.490@webkitglib/2.52
Compare: https://github.com/WebKit/WebKit/compare/822a38e50852...d5043a96b5d0
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications