Bug 243776

Summary: [GStreamer][MediaStream] Additional fixes for disabled video track handling
Product: WebKit Reporter: Philippe Normand <philn>
Component: PlatformAssignee: Philippe Normand <philn>
Status: RESOLVED FIXED    
Severity: Normal CC: lmoura, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 235885    

Philippe Normand
Reported 2022-08-10 03:38:45 PDT
It's a bit racy currently and not handling rtp-payloaded video caps.
Attachments
Philippe Normand
Comment 1 2022-08-10 03:45:02 PDT
EWS
Comment 2 2022-08-16 08:00:45 PDT
Committed 253467@main (853b286ebdf4): <https://commits.webkit.org/253467@main> Reviewed commits have been landed. Closing PR #3186 and removing active labels.
Radar WebKit Bug Importer
Comment 3 2022-08-16 08:01:16 PDT
Lauro Moura
Comment 4 2022-08-24 10:23:42 PDT
http/wpt/mediarecorder/mute-tracks.html is flaky crashing in both GTK/WPE after this: Thread 1 (Thread 0x7f13577fe640 (LWP 346)): #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49 #1 0x00007f15b126c857 in __GI_abort () at abort.c:79 #2 0x00007f15b1a30b3c in g_assertion_message (domain=<optimized out>, file=<optimized out>, line=<optimized out>, func=<optimized out>, message=<optimized out>) at ../glib/gtestutils.c:3223 #3 0x00007f15b1a914ff in g_assertion_message_expr (domain=domain@entry=0x0, file=file@entry=0x7f1530512430 "../gst/videorate/gstvideorate.c", line=line@entry=715, func=func@entry=0x7f1530513010 <__func__.6> "gst_video_rate_push_buffer", expr=expr@entry=0x7f1530512770 "GST_ BUFFER_DURATION (outbuf) != 0") at ../glib/gtestutils.c:3249 #4 0x00007f153050cd16 in gst_video_rate_push_buffer (videorate=0x5565ae44bc80 [GstVideoRate|videorate1], outbuf=0x5565ae42c000 [GstBuffer], duplicate=<optimized out>, next_intime=<optimized out>, invalid_duration=<optimized out>) at ../gst/videorate/gstvideorate.c:715 #5 0x00007f153050e5cf in gst_video_rate_transform_ip (trans=<optimized out>, buffer=0x7f13a0047d80 [GstBuffer]) at ../gst/videorate/gstvideorate.c:1718 #6 0x00007f15aea08fbf in default_generate_output (trans=0x5565ae44bc80 [GstVideoRate|videorate1], outbuf=0x7f13577fd1d0) at ../libs/gst/base/gstbasetransform.c:2187 #7 0x00007f15aea0888c in gst_base_transform_chain (pad=<optimized out>, parent=0x5565ae44bc80 [GstVideoRate|videorate1], buffer=<optimized out>) at ../libs/gst/base/gstbasetransform.c:2345 #8 0x00007f15b184cd6d in gst_pad_chain_data_unchecked (pad=pad@entry=0x5565ae44f1c0 [GstPad|sink], type=type@entry=4112, data=data@entry=0x7f13a0047d80) at ../gst/gstpad.c:4447 #9 0x00007f15b184eff9 in gst_pad_push_data (pad=pad@entry=0x5565ae44ef70 [GstPad|src], type=type@entry=4112, data=data@entry=0x7f13a0047d80) at ../gst/gstpad.c:4711 #10 0x00007f15b18566f2 in gst_pad_push (pad=0x5565ae44ef70 [GstPad|src], buffer=0x7f13a0047d80 [GstBuffer]) at ../gst/gstpad.c:4830 #11 0x00007f15aea08964 in gst_base_transform_chain (pad=<optimized out>, parent=0x5565ae44b7d0 [GstVideoConvert|videoconvert5], buffer=<optimized out>) at ../libs/gst/base/gstbasetransform.c:2381 #12 0x00007f15b184cd6d in gst_pad_chain_data_unchecked (pad=pad@entry=0x5565ae44ed20 [GstPad|sink], type=type@entry=4112, data=data@entry=0x7f13a0047d80) at ../gst/gstpad.c:4447 #13 0x00007f15b184eff9 in gst_pad_push_data (pad=pad@entry=0x5565ae44ead0 [GstPad|src], type=type@entry=4112, data=data@entry=0x7f13a0047d80) at ../gst/gstpad.c:4711 #14 0x00007f15b18566f2 in gst_pad_push (pad=0x5565ae44ead0 [GstPad|src], buffer=0x7f13a0047d80 [GstBuffer]) at ../gst/gstpad.c:4830 #15 0x00007f15aea08964 in gst_base_transform_chain (pad=<optimized out>, parent=0x5565ae446bb0 [GstVideoScale|videoscale1], buffer=<optimized out>) at ../libs/gst/base/gstbasetransform.c:2381 #16 0x00007f15b184cd6d in gst_pad_chain_data_unchecked (pad=pad@entry=0x5565ae44e880 [GstPad|sink], type=type@entry=4112, data=data@entry=0x7f13a0047d80) at ../gst/gstpad.c:4447 #17 0x00007f15b184eff9 in gst_pad_push_data (pad=pad@entry=0x5565ae44e630 [GstPad|src], type=type@entry=4112, data=data@entry=0x7f13a0047d80) at ../gst/gstpad.c:4711 #18 0x00007f15b18566f2 in gst_pad_push (pad=0x5565ae44e630 [GstPad|src], buffer=0x7f13a0047d80 [GstBuffer]) at ../gst/gstpad.c:4830 #19 0x00007f15aea08964 in gst_base_transform_chain (pad=<optimized out>, parent=0x5565ae4479a0 [GstVideoConvert|videoconvert4], buffer=<optimized out>) at ../libs/gst/base/gstbasetransform.c:2381 #20 0x00007f15b184cd6d in gst_pad_chain_data_unchecked (pad=pad@entry=0x5565ae44e3e0 [GstPad|sink], type=type@entry=4112, data=data@entry=0x5565ae3797e0) at ../gst/gstpad.c:4447 #21 0x00007f15b184eff9 in gst_pad_push_data (pad=pad@entry=0x5565ae44f660 [GstPad|encodingsrc], type=type@entry=4112, data=data@entry=0x5565ae3797e0) at ../gst/gstpad.c:4711 #22 0x00007f15b18566f2 in gst_pad_push (pad=pad@entry=0x5565ae44f660 [GstPad|encodingsrc], buffer=buffer@entry=0x5565ae3797e0 [GstBuffer]) at ../gst/gstpad.c:4830 #23 0x00007f1550058b05 in gst_stream_splitter_chain (pad=<optimized out>, parent=0x5565ae3e0470 [GstStreamSplitter|streamsplitter3], buf=0x5565ae3797e0 [GstBuffer]) at ../gst/encoding/gststreamsplitter.c:141 #24 0x00007f15b184cd6d in gst_pad_chain_data_unchecked (pad=pad@entry=0x7f13682ad630 [GstPad|sink], type=type@entry=4112, data=data@entry=0x5565ae3797e0) at ../gst/gstpad.c:4447 #25 0x00007f15b184eff9 in gst_pad_push_data (pad=pad@entry=0x7f13682adad0 [GstPad|src], type=type@entry=4112, data=data@entry=0x5565ae3797e0) at ../gst/gstpad.c:4711 #26 0x00007f15b18566f2 in gst_pad_push (pad=0x7f13682adad0 [GstPad|src], buffer=buffer@entry=0x5565ae3797e0 [GstBuffer]) at ../gst/gstpad.c:4830 #27 0x00007f153c3fb5cd in gst_queue_push_one (queue=0x7f136c00c690 [GstQueue|queue9]) at ../plugins/elements/gstqueue.c:1388 #28 gst_queue_loop (pad=<optimized out>) at ../plugins/elements/gstqueue.c:1541 #29 0x00007f15b1886e77 in gst_task_func (task=0x7f137803f3b0 [GstTask|queue9:src]) at ../gst/gsttask.c:384 #30 0x00007f15b1a92d44 in g_thread_pool_thread_proxy (data=<optimized out>) at ../glib/gthreadpool.c:354 #31 0x00007f15b1a923f1 in g_thread_proxy (data=0x7f136821d980) at ../glib/gthread.c:827 #32 0x00007f15af0543ba in start_thread (arg=0x7f13577fe640) at pthread_create.c:481 #33 0x00007f15b134d7a3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 <snip> STDERR: ERROR:../gst/videorate/gstvideorate.c:715:gst_video_rate_push_buffer: assertion failed: (GST_BUFFER_DURATION (outbuf) != 0) STDERR: WPEWebProcess terminated (pid 93) for reason: crash
Note You need to log in before you can comment on or make changes to this bug.