Title: [250212] releases/WebKitGTK/webkit-2.26/Source/WebCore
Revision
250212
Author
carlo...@webkit.org
Date
2019-09-23 01:46:35 -0700 (Mon, 23 Sep 2019)

Log Message

Merge r249477 - [GStreamer] Sound is down-pitched when playing video from YLE Areena
https://bugs.webkit.org/show_bug.cgi?id=201399

Reviewed by Xabier Rodriguez-Calvar.

If the FDK-AAC decoder is available, promote it and downrank the
libav AAC decoders, due to their broken LC support, as reported in:
https://ffmpeg.org/pipermail/ffmpeg-devel/2019-July/247063.html

* platform/graphics/gstreamer/GStreamerCommon.cpp:
(WebCore::initializeGStreamer):

Modified Paths

Diff

Modified: releases/WebKitGTK/webkit-2.26/Source/WebCore/ChangeLog (250211 => 250212)


--- releases/WebKitGTK/webkit-2.26/Source/WebCore/ChangeLog	2019-09-23 08:46:32 UTC (rev 250211)
+++ releases/WebKitGTK/webkit-2.26/Source/WebCore/ChangeLog	2019-09-23 08:46:35 UTC (rev 250212)
@@ -1,3 +1,17 @@
+2019-09-04  Philippe Normand  <pnorm...@igalia.com>
+
+        [GStreamer] Sound is down-pitched when playing video from YLE Areena
+        https://bugs.webkit.org/show_bug.cgi?id=201399
+
+        Reviewed by Xabier Rodriguez-Calvar.
+
+        If the FDK-AAC decoder is available, promote it and downrank the
+        libav AAC decoders, due to their broken LC support, as reported in:
+        https://ffmpeg.org/pipermail/ffmpeg-devel/2019-July/247063.html
+
+        * platform/graphics/gstreamer/GStreamerCommon.cpp:
+        (WebCore::initializeGStreamer):
+
 2019-09-17  Carlos Garcia Campos  <cgar...@igalia.com>
 
         [GTK] Cannot create EGL window surface: EGL_BAD_ALLOC

Modified: releases/WebKitGTK/webkit-2.26/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp (250211 => 250212)


--- releases/WebKitGTK/webkit-2.26/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp	2019-09-23 08:46:32 UTC (rev 250211)
+++ releases/WebKitGTK/webkit-2.26/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp	2019-09-23 08:46:35 UTC (rev 250212)
@@ -253,6 +253,23 @@
         if (isGStreamerInitialized)
             gst_mpegts_initialize();
 #endif
+
+        // If the FDK-AAC decoder is available, promote it and downrank the
+        // libav AAC decoders, due to their broken LC support, as reported in:
+        // https://ffmpeg.org/pipermail/ffmpeg-devel/2019-July/247063.html
+        GRefPtr<GstElement> aacDecoder = adoptGRef(gst_element_factory_make("fdkaacdec", nullptr));
+        if (aacDecoder) {
+            GstElementFactory* factory = gst_element_get_factory(aacDecoder.get());
+            gst_plugin_feature_set_rank(GST_PLUGIN_FEATURE_CAST(factory), GST_RANK_PRIMARY);
+
+            const char* const elementNames[] = {"avdec_aac", "avdec_aac_fixed", "avdec_aac_latm"};
+            for (unsigned i = 0; i < G_N_ELEMENTS(elementNames); i++) {
+                GRefPtr<GstElement> avAACDecoder = adoptGRef(gst_element_factory_make(elementNames[i], nullptr));
+                if (avAACDecoder)
+                    gst_plugin_feature_set_rank(GST_PLUGIN_FEATURE_CAST(gst_element_get_factory(avAACDecoder.get())), GST_RANK_MARGINAL);
+            }
+        }
+
 #endif
     });
     return isGStreamerInitialized;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to