Bug 220462

Summary: [GStreamer] Player audio sink needs to be initialized earlier
Product: WebKit Reporter: Philippe Normand <pnormand>
Component: PlatformAssignee: Philippe Normand <pnormand>
Status: RESOLVED FIXED    
Severity: Normal CC: calvaris, cgarcia, eric.carlson, ews-watchlist, glenn, gustavo, jer.noble, menard, philipj, sergio, vjaquez, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch none

Philippe Normand
Reported 2021-01-08 07:35:34 PST
Currently we do it in the load method but that's not enough in situations where the player has an audiosourceprovider: Thread 1 (Thread 0x7ff5389609c0 (LWP 35298)): #0 g_logv (log_domain=0x7ff53a14c240 <g_log_domain_gstreamer> "GStreamer", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=<optimized out>) at ../glib/gmessages.c:1377 #1 0x00007ff53ae9ec23 in g_log (log_domain=<optimized out>, log_level=log_level@entry=G_LOG_LEVEL_CRITICAL, format=format@entry=0x7ff53aef495f "%s: assertion '%s' failed") at ../glib/gmessages.c:1415 #2 0x00007ff53ae9f41d in g_return_if_fail_warning (log_domain=<optimized out>, pretty_function=pretty_function@entry=0x7ff53a14e8b0 <__func__.4> "gst_bin_get_by_name", expression=expression@entry=0x7ff53a14d3ac "GST_IS_BIN (bin)") at ../glib/gmessages.c:2771 #3 0x00007ff53a0a7cad in gst_bin_get_by_name (bin=0x0, name=0x7ff54493dbba "volume") at ../gst/gstbin.c:4413 #4 0x00007ff544011505 in WebCore::AudioSourceProviderGStreamer::setClient(WebCore::AudioSourceProviderClient*) () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37 #5 0x00007ff543289522 in non-virtual thunk to WebCore::HTMLMediaElement::mediaPlayerEngineUpdated() () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37 #6 0x00007ff54384cfe7 in WebCore::MediaPlayer::loadWithNextMediaEngine(WebCore::MediaPlayerFactory const*) () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37 #7 0x00007ff543851d01 in WebCore::MediaPlayer::load(WTF::URL const&, WebCore::ContentType const&, WTF::String const&) () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37 #8 0x00007ff5432a2fc3 in WebCore::HTMLMediaElement::loadResource(WTF::URL const&, WebCore::ContentType&, WTF::String const&) () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37 #9 0x00007ff5432a4582 in WTF::Detail::CallableWrapper<WebCore::HTMLMediaElement::selectMediaResource()::{lambda()#1}, void>::call() () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37 #10 0x00007ff5437786ad in WebCore::TaskDispatcher<WebCore::Timer>::dispatchOneTask() () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37 #11 0x00007ff543778776 in WebCore::TaskDispatcher<WebCore::Timer>::sharedTimerFired() () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37 #12 0x00007ff5437ae7d4 in WebCore::ThreadTimers::sharedTimerFiredInternal() () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37 #13 0x00007ff53e841fa5 in WTF::RunLoop::TimerBase::TimerBase(WTF::RunLoop&)::{lambda(void*)#1}::_FUN(void*) () at /app/webkit/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18 #14 0x00007ff53e84221f in WTF::RunLoop::{lambda(_GSource*, int (*)(void*), void*)#1}::_FUN(_GSource*, int (*)(void*), void*) () at /app/webkit/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18 #15 0x00007ff53ae9718f in g_main_dispatch (context=0x557f42bae150) at ../glib/gmain.c:3325 #16 g_main_context_dispatch (context=0x557f42bae150) at ../glib/gmain.c:4043 #17 0x00007ff53ae97538 in g_main_context_iterate (context=0x557f42bae150, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4119 #18 0x00007ff53ae97853 in g_main_loop_run (loop=0x557f42bdce70) at ../glib/gmain.c:4317 #19 0x00007ff53e842368 in WTF::RunLoop::run() () at /app/webkit/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18 #20 0x00007ff5420d77ff in WebKit::WebProcessMain(int, char**) () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37 #21 0x00007ff53a83d022 in __libc_start_main (main=0x557f42951840 <main>, argc=4, argv=0x7ffe040edfa8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffe040edf98) at ../csu/libc-start.c:308 #22 0x0000557f4295187e in _start () at ../sysdeps/x86_64/start.S:120 STDERR: (WebKitWebProcess:35298): GStreamer-CRITICAL **: 06:37:19.886: gst_bin_get_by_name: assertion 'GST_IS_BIN (bin)' failed
Attachments
Patch (3.36 KB, patch)
2021-01-08 07:38 PST, Philippe Normand
no flags
Philippe Normand
Comment 1 2021-01-08 07:38:45 PST
EWS
Comment 2 2021-01-08 10:01:20 PST
Committed r271302: <https://trac.webkit.org/changeset/271302> All reviewed patches have been landed. Closing bug and clearing flags on attachment 417267 [details].
Radar WebKit Bug Importer
Comment 3 2021-01-08 10:02:19 PST
Note You need to log in before you can comment on or make changes to this bug.