Bug 224180 - [GStreamer][MediaStream] AudioSource triggering critical warnings
Summary: [GStreamer][MediaStream] AudioSource triggering critical warnings
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
: 222793 (view as bug list)
Depends on:
Blocks:
 
Reported: 2021-04-05 04:14 PDT by Philippe Normand
Modified: 2021-04-13 09:04 PDT (History)
8 users (show)

See Also:


Attachments
Patch (3.27 KB, patch)
2021-04-05 04:20 PDT, Philippe Normand
no flags Details | Formatted Diff | Diff
Patch (3.35 KB, patch)
2021-04-05 09:41 PDT, 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-04-05 04:14:12 PDT
Audioconvert emits warnings because the buffers have no audio meta.
Comment 1 Philippe Normand 2021-04-05 04:20:11 PDT
Created attachment 425145 [details]
Patch
Comment 2 Philippe Normand 2021-04-05 04:30:56 PDT
Example, when running imported/w3c/web-platform-tests/webrtc/simplecall.https.html


Thread 1 (Thread 0x7f91bffff700 (LWP 17092)):
#0  g_logv (log_domain=0x0, log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=<optimized out>) at ../glib/gmessages.c:1413
#1  0x00007f93103f5973 in g_log (log_domain=log_domain@entry=0x0, log_level=log_level@entry=G_LOG_LEVEL_CRITICAL, format=format@entry=0x7f931044dad0 "%s: assertion '%s' failed") at ../glib/gmessages.c:1451
#2  0x00007f93103f619d in g_return_if_fail_warning (log_domain=log_domain@entry=0x0, pretty_function=pretty_function@entry=0x7f930f547af0 <__func__.0> "gst_audio_buffer_map", expression=expression@entry=0x7f930f5479e0 "(!meta && info->layout == GST_AUDIO_LAYOUT_INTERLEAVED) || (meta && info->layout == meta->info.layout)") at ../glib/gmessages.c:2883
#3  0x00007f930f4ffd09 in gst_audio_buffer_map (buffer=buffer@entry=0x7f91bfffd240, info=info@entry=0x7f91b006d068, gstbuffer=gstbuffer@entry=0x7f929c005120 [GstBuffer], flags=(GST_MAP_READ | GST_MAP_WRITE)) at ../gst-libs/gst/audio/audio-buffer.c:110
#4  0x00007f92c67e0d2d in gst_audio_convert_transform (base=<optimized out>, inbuf=0x7f929c005120 [GstBuffer], outbuf=0x7f9198012360 [GstBuffer]) at ../gst/audioconvert/gstaudioconvert.c:824
#5  0x00007f930f74ce71 in default_generate_output (trans=0x7f91b006ce00 [GstAudioConvert], outbuf=0x7f91bfffdce0) at ../libs/gst/base/gstbasetransform.c:2188
#6  0x00007f930f74c504 in gst_base_transform_chain (pad=<optimized out>, parent=0x7f91b006ce00 [GstAudioConvert], buffer=0x7f91bfffdce0 [None]) at ../libs/gst/base/gstbasetransform.c:2341
#7  0x00007f930f63989d in gst_pad_chain_data_unchecked (pad=pad@entry=0x7f91b005fdb0 [GstPad], type=type@entry=4112, data=data@entry=0x7f929c005120) at ../gst/gstpad.c:4399
#8  0x00007f930f63bb19 in gst_pad_push_data (pad=pad@entry=0x7f91b00685e0 [GstProxyPad], type=type@entry=4112, data=data@entry=0x7f929c005120) at ../gst/gstpad.c:4655
#9  0x00007f930f643142 in gst_pad_push (pad=pad@entry=0x7f91b00685e0 [GstProxyPad], buffer=buffer@entry=0x7f929c005120 [GstBuffer]) at ../gst/gstpad.c:4774
#10 0x00007f930f626503 in gst_proxy_pad_chain_default (pad=<optimized out>, parent=<optimized out>, buffer=0x7f929c005120 [GstBuffer]) at ../gst/gstghostpad.c:127
#11 0x00007f930f63989d in gst_pad_chain_data_unchecked (pad=pad@entry=0x7f91a8007650 [GstGhostPad], type=type@entry=4112, data=data@entry=0x7f929c005120) at ../gst/gstpad.c:4399
#12 0x00007f930f63bb19 in gst_pad_push_data (pad=pad@entry=0x7f91b0068a90 [GstStreamSyncPad], type=type@entry=4112, data=data@entry=0x7f929c005120) at ../gst/gstpad.c:4655
#13 0x00007f930f643142 in gst_pad_push (pad=pad@entry=0x7f91b0068a90 [GstStreamSyncPad], buffer=buffer@entry=0x7f929c005120 [GstBuffer]) at ../gst/gstpad.c:4774
#14 0x00007f92c65d54b1 in gst_stream_synchronizer_sink_chain (pad=0x7f91b0068830 [GstStreamSyncPad], parent=<optimized out>, buffer=0x7f929c005120 [GstBuffer]) at ../gst/playback/gststreamsynchronizer.c:814
#15 0x00007f930f63989d in gst_pad_chain_data_unchecked (pad=pad@entry=0x7f91b0068830 [GstStreamSyncPad], type=type@entry=4112, data=data@entry=0x7f929c005120) at ../gst/gstpad.c:4399
#16 0x00007f930f63bb19 in gst_pad_push_data (pad=pad@entry=0x7f91b0068cf0 [GstTeePad], type=type@entry=4112, data=data@entry=0x7f929c005120) at ../gst/gstpad.c:4655
#17 0x00007f930f643142 in gst_pad_push (pad=0x7f91b0068cf0 [GstTeePad], buffer=0x7f929c005120 [GstBuffer]) at ../gst/gstpad.c:4774
#18 0x00007f92c774c7f6 in gst_tee_handle_data (tee=tee@entry=0x159f3f0 [GstTee], data=data@entry=0x7f929c005120, is_list=is_list@entry=0) at ../plugins/elements/gsttee.c:897
#19 0x00007f92c774c9ed in gst_tee_chain (pad=<optimized out>, parent=0x159f3f0 [GstTee], buffer=0x7f929c005120 [GstBuffer]) at ../plugins/elements/gsttee.c:1024
#20 0x00007f930f63989d in gst_pad_chain_data_unchecked (pad=pad@entry=0x1d35ce0 [GstPad], type=type@entry=4112, data=data@entry=0x7f929c005120) at ../gst/gstpad.c:4399
#21 0x00007f930f63bb19 in gst_pad_push_data (pad=pad@entry=0x1d52550 [GstProxyPad], type=type@entry=4112, data=data@entry=0x7f929c005120) at ../gst/gstpad.c:4655
#22 0x00007f930f643142 in gst_pad_push (pad=pad@entry=0x1d52550 [GstProxyPad], buffer=buffer@entry=0x7f929c005120 [GstBuffer]) at ../gst/gstpad.c:4774
#23 0x00007f930f626503 in gst_proxy_pad_chain_default (pad=<optimized out>, parent=<optimized out>, buffer=0x7f929c005120 [GstBuffer]) at ../gst/gstghostpad.c:127
#24 0x00007f930f63989d in gst_pad_chain_data_unchecked (pad=pad@entry=0x1d58060 [GstGhostPad], type=type@entry=4112, data=data@entry=0x7f929c005120) at ../gst/gstpad.c:4399
#25 0x00007f930f63bb19 in gst_pad_push_data (pad=pad@entry=0x1d60120 [GstPad], type=type@entry=4112, data=data@entry=0x7f929c005120) at ../gst/gstpad.c:4655
#26 0x00007f930f643142 in gst_pad_push (pad=0x1d60120 [GstPad], buffer=buffer@entry=0x7f929c005120 [GstBuffer]) at ../gst/gstpad.c:4774
#27 0x00007f92c771343f in gst_concat_sink_chain (pad=0x17d8650 [GstConcatPad], parent=<optimized out>, buffer=0x7f929c005120 [GstBuffer]) at ../plugins/elements/gstconcat.c:456
#28 0x00007f930f63989d in gst_pad_chain_data_unchecked (pad=pad@entry=0x17d8650 [GstConcatPad], type=type@entry=4112, data=data@entry=0x7f929c005120) at ../gst/gstpad.c:4399
#29 0x00007f930f63bb19 in gst_pad_push_data (pad=pad@entry=0x7f91d40127b0 [GstGhostPad], type=type@entry=4112, data=data@entry=0x7f929c005120) at ../gst/gstpad.c:4655
#30 0x00007f930f643142 in gst_pad_push (pad=pad@entry=0x7f91d40127b0 [GstGhostPad], buffer=buffer@entry=0x7f929c005120 [GstBuffer]) at ../gst/gstpad.c:4774
#31 0x00007f930f626503 in gst_proxy_pad_chain_default (pad=<optimized out>, parent=<optimized out>, buffer=0x7f929c005120 [GstBuffer]) at ../gst/gstghostpad.c:127
#32 0x00007f930f63989d in gst_pad_chain_data_unchecked (pad=pad@entry=0x7f91d4007130 [GstProxyPad], type=type@entry=4112, data=data@entry=0x7f929c005120) at ../gst/gstpad.c:4399
#33 0x00007f930f63bb19 in gst_pad_push_data (pad=pad@entry=0x7f91d4012540 [GstGhostPad], type=type@entry=4112, data=data@entry=0x7f929c005120) at ../gst/gstpad.c:4655
#34 0x00007f930f643142 in gst_pad_push (pad=pad@entry=0x7f91d4012540 [GstGhostPad], buffer=buffer@entry=0x7f929c005120 [GstBuffer]) at ../gst/gstpad.c:4774
#35 0x00007f930f626503 in gst_proxy_pad_chain_default (pad=<optimized out>, parent=<optimized out>, buffer=0x7f929c005120 [GstBuffer]) at ../gst/gstghostpad.c:127
#36 0x00007f930f63989d in gst_pad_chain_data_unchecked (pad=pad@entry=0x7f91d4006ed0 [GstProxyPad], type=type@entry=4112, data=data@entry=0x7f929c005120) at ../gst/gstpad.c:4399
#37 0x00007f930f63bb19 in gst_pad_push_data (pad=pad@entry=0x7f91d0018440 [GstMultiQueuePad], type=type@entry=4112, data=data@entry=0x7f929c005120) at ../gst/gstpad.c:4655
#38 0x00007f930f643142 in gst_pad_push (pad=pad@entry=0x7f91d0018440 [GstMultiQueuePad], buffer=buffer@entry=0x7f929c005120 [GstBuffer]) at ../gst/gstpad.c:4774
#39 0x00007f92c7734c80 in gst_single_queue_push_one (allow_drop=<synthetic pointer>, object=0x7f929c005120 [GstBuffer], sq=0x7f91d000da90, mq=0x19946e0 [GstMultiQueue]) at ../plugins/elements/gstmultiqueue.c:1925
#40 gst_multi_queue_loop (pad=<optimized out>) at ../plugins/elements/gstmultiqueue.c:2252
#41 0x00007f930f673257 in gst_task_func (task=0x7f929c005a70 [GstTask]) at ../gst/gsttask.c:384
#42 0x00007f9310418ea4 in g_thread_pool_thread_proxy (data=<optimized out>) at ../glib/gthreadpool.c:354
#43 0x00007f93104185a1 in g_thread_proxy (data=0x18376a0) at ../glib/gthread.c:826
#44 0x00007f931037c4d2 in start_thread (arg=<optimized out>) at pthread_create.c:477
#45 0x00007f930fe6a323 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

STDERR: gst_audio_buffer_map: assertion '(!meta && info->layout == GST_AUDIO_LAYOUT_INTERLEAVED) || (meta && info->layout == meta->info.layout)' failed
Comment 3 Philippe Normand 2021-04-05 09:41:43 PDT
Created attachment 425161 [details]
Patch
Comment 4 EWS 2021-04-06 06:24:37 PDT
Committed r275510: <https://commits.webkit.org/r275510>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 425161 [details].
Comment 5 Radar WebKit Bug Importer 2021-04-06 06:25:16 PDT
<rdar://problem/76264439>
Comment 6 Philippe Normand 2021-04-13 09:04:26 PDT
*** Bug 222793 has been marked as a duplicate of this bug. ***