Skip to content

Commit d0d31dc

Browse files
suresh-khurdiya-epamvivienne-w
authored andcommitted
[GStreamer] Include MpegAudioParse plugin in Brcm Nexus gstreamer pipeline
https://bugs.webkit.org/show_bug.cgi?id=268559 Reviewed by Xabier Rodriguez-Calvar. On broadcom/nexus with progressive audio, gst_element_query_duration() returns wrong values, which is avoided by forcing mpegaudioparse. See: #1213 Original author: suresh-khurdiya-epam <skhurdiya.contractor@libertyglobal.com> * Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp: (WebCore::ensureGStreamerInitialized): Override mpegaudioparse rank
1 parent 6dc3ccc commit d0d31dc

1 file changed

Lines changed: 13 additions & 0 deletions

File tree

Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -307,6 +307,19 @@ bool ensureGStreamerInitialized()
307307
gst_mpegts_initialize();
308308
#endif
309309

310+
#if PLATFORM(BCM_NEXUS)
311+
{
312+
auto registry = gst_registry_get();
313+
GRefPtr<GstPluginFeature> brcmaudfilter = adoptGRef(gst_registry_lookup_feature(registry, "brcmaudfilter"));
314+
GRefPtr<GstPluginFeature> mpegaudioparse = adoptGRef(gst_registry_lookup_feature(registry, "mpegaudioparse"));
315+
316+
if (brcmaudfilter && mpegaudioparse) {
317+
GST_INFO("overriding mpegaudioparse rank with brcmaudfilter rank + 1");
318+
gst_plugin_feature_set_rank(mpegaudioparse.get(), gst_plugin_feature_get_rank(brcmaudfilter.get()) + 1);
319+
}
320+
}
321+
#endif
322+
310323
registerAppsinkWithWorkaroundsIfNeeded();
311324
#endif
312325
});

0 commit comments

Comments
 (0)