Bug 220462 - [GStreamer] Player audio sink needs to be initialized earlier
Summary: [GStreamer] Player audio sink needs to be initialized earlier
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Platform (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Philippe Normand
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2021-01-08 07:35 PST by Philippe Normand
Modified: 2021-01-08 10:02 PST (History)
12 users (show)

See Also:


Attachments
Patch (3.36 KB, patch)
2021-01-08 07:38 PST, Philippe Normand
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Philippe Normand 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
Comment 1 Philippe Normand 2021-01-08 07:38:45 PST
Created attachment 417267 [details]
Patch
Comment 2 EWS 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].
Comment 3 Radar WebKit Bug Importer 2021-01-08 10:02:19 PST
<rdar://problem/72934262>