GNOME Bugzilla – Bug 765324
compositor: crashes on NULL pointer in _aggregate_frames()
Last modified: 2016-05-04 07:22:47 UTC
this segfault has been present in my app since GStreamer 1.6.0 but appeared only rarely - with GStreamer v1.8.0 it occurs 100% of the time here is a link to a gist with a thread backtrace and valgrind report (the last file named libgstcompositor-so-segfault-v1-8-0-md) --> https://gist.github.com/bill-auger/a5184be29ddf89e14f97#file-libgstcompositor-so-segfault-v1-8-0-md my first attempt at an isolated test case to expose this bug was not successful - for now these are the steps to reproduce: $ git clone https://github.com/bill-auger/av-caster.git $ sudo apt-get install build-essential libfreetype6-dev \ libgstreamer-plugins-base1.0-dev libircclient-dev \ libx11-dev libxcursor-dev libxinerama-dev $ sudo apt-get install freeglut3 gstreamer1.0-alsa gstreamer1.0-plugins-bad \ gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly \ gstreamer1.0-pulseaudio libfreetype6 libgl1-mesa-glx \ libircclient1 libx11-6 libxcomposite1 libxcursor1 \ libxext6 libxinerama1 libxrender1 $ cd av-caster/Builds/Makefile $ make $ build/av-caster-dbg NOTE: unfortunately the install location for libircclient is not consistent across platforms - if your compiler can not find the headers on your system you can: $ sudo mkdir /usr/include/libircclient $ sudo cp /usr/include/libirc* /usr/include/libircclient/
Can you try creating a simple standalone testcase for this problem? It looks like for whatever reason the blending function is NULL.
NOTE: the crash can be averted by passing the following switch which excludes the compositor from the pipeline: $ build/av-caster-dbg --screen-only
yes - as i mentioned my first attempt at a test case from scratch did not expose the bug - i will try again next by decomposing the existing app
Created attachment 326490 [details] minimal test case
Thanks! That should be useful for tracking down the problem
I can reproduce the crash with 1.8.0: Program received signal SIGSEGV, Segmentation fault.
+ Trace 236200
Thread 140737211524864 (LWP 17357)
but not with git master. I think this NULL pointer access in aggregate is a known issue, there may be another bug about it.
*** Bug 765891 has been marked as a duplicate of this bug. ***
> can you try removing the audio branches? less noise in the log then juser@cnt1:~$ ./g.sh + GST_DEBUG=3,aggregator:6,videoaggregator:6,compositor:6 + gst-launch-1.0 compositor name=vmix '!' video/x-raw,format=I420,width=1280,height=720,framerate=30000/1001,pixel-aspect-ratio=1/1 '!' intervideosink channel=video_streamblanker_out audiomixer name=amix '!' audio/x-raw,format=S16LE,channels=2,layout=interleaved,rate=48000 '!' interaudiosink channel=audio_streamblanker_out intervideosrc channel=video_mix_streamblanker '!' video/x-raw,format=I420,width=1280,height=720,framerate=30000/1001,pixel-aspect-ratio=1/1 '!' vmix. interaudiosrc channel=audio_mix_streamblanker '!' audio/x-raw,format=S16LE,channels=2,layout=interleaved,rate=48000 '!' amix. interaudiosrc channel=audio_streamblanker '!' audio/x-raw,format=S16LE,channels=2,layout=interleaved,rate=48000 '!' amix. intervideosrc channel=video_pause_streamblanker '!' video/x-raw,format=I420,width=1280,height=720,framerate=30000/1001,pixel-aspect-ratio=1/1 '!' vmix. intervideosrc channel=video_nostream_streamblanker '!' video/x-raw,format=I420,width=1280,height=720,framerate=30000/1001,pixel-aspect-ratio=1/1 '!' vmix. 0:00:00.023592264 11030 0x1484800 INFO videoaggregator gstvideoaggregator.c:383:gst_videoaggregator_child_proxy_init: intializing child proxy interface 0:00:00.023825831 11030 0x1484800 DEBUG videoaggregator gstvideoaggregator.c:947:gst_videoaggregator_update_qos:<GstVideoAggregator@0x1496bd0> Updating QoS: proportion 0.500000, diff +0:00:00.000000000, timestamp 99:99:99.999999999 0:00:00.023873983 11030 0x1484800 LOG aggregator gstaggregator.c:1427:gst_aggregator_query_latency_unlocked:<GstVideoAggregator@0x1496bd0> Signaling src from thread 0x1484800 0:00:00.023889333 11030 0x1484800 DEBUG aggregator gstaggregator.c:1430:gst_aggregator_query_latency_unlocked:<GstVideoAggregator@0x1496bd0> configured latency live:false min:0 max:-1 0:00:00.025113812 11030 0x1484800 LOG aggregator gstaggregator.c:2615:gst_aggregator_set_latency:<GstAudioAggregator@0x14a29a0> Signaling src from thread 0x1484800 0:00:00.026459539 11030 0x1484800 DEBUG aggregator gstaggregator.c:1368:gst_aggregator_request_new_pad:<vmix> Adding pad sink_0 0:00:00.026519539 11030 0x1484800 DEBUG videoaggregator gstvideoaggregator.c:893:gst_videoaggregator_pad_sink_getcaps:<vmix:sink_0> Get caps with filter: (NULL) 0:00:00.026592912 11030 0x1484800 DEBUG videoaggregator gstvideoaggregator.c:933:gst_videoaggregator_pad_sink_getcaps:<vmix:sink_0> Returning caps: video/x-raw, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string){ Y444, Y42B, YUY2, UYVY, YVYU, I420, YV12, NV12, NV21, Y41B, RGB, BGR, xRGB, xBGR, RGBx, BGRx } 0:00:00.026763600 11030 0x1484800 DEBUG aggregator gstaggregator.c:1368:gst_aggregator_request_new_pad:<amix> Adding pad sink_0 0:00:00.026958764 11030 0x1484800 DEBUG aggregator gstaggregator.c:1368:gst_aggregator_request_new_pad:<amix> Adding pad sink_1 0:00:00.027146580 11030 0x1484800 DEBUG aggregator gstaggregator.c:1368:gst_aggregator_request_new_pad:<vmix> Adding pad sink_1 0:00:00.027195566 11030 0x1484800 DEBUG videoaggregator gstvideoaggregator.c:893:gst_videoaggregator_pad_sink_getcaps:<vmix:sink_1> Get caps with filter: (NULL) 0:00:00.027261996 11030 0x1484800 DEBUG videoaggregator gstvideoaggregator.c:933:gst_videoaggregator_pad_sink_getcaps:<vmix:sink_1> Returning caps: video/x-raw, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string){ Y444, Y42B, YUY2, UYVY, YVYU, I420, YV12, NV12, NV21, Y41B, RGB, BGR, xRGB, xBGR, RGBx, BGRx } 0:00:00.027428317 11030 0x1484800 DEBUG aggregator gstaggregator.c:1368:gst_aggregator_request_new_pad:<vmix> Adding pad sink_2 0:00:00.027479803 11030 0x1484800 DEBUG videoaggregator gstvideoaggregator.c:893:gst_videoaggregator_pad_sink_getcaps:<vmix:sink_2> Get caps with filter: (NULL) 0:00:00.027559141 11030 0x1484800 DEBUG videoaggregator gstvideoaggregator.c:933:gst_videoaggregator_pad_sink_getcaps:<vmix:sink_2> Returning caps: video/x-raw, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string){ Y444, Y42B, YUY2, UYVY, YVYU, I420, YV12, NV12, NV21, Y41B, RGB, BGR, xRGB, xBGR, RGBx, BGRx } Setting pipeline to PAUSED ... 0:00:00.027838254 11030 0x1484800 INFO aggregator gstaggregator.c:1779:gst_aggregator_src_pad_activate_mode_func:<amix:src> Activating pad! 0:00:00.027853346 11030 0x1484800 INFO aggregator gstaggregator.c:915:gst_aggregator_start_srcpad_task:<amix> Starting srcpad task 0:00:00.027952943 11030 0x1484800 LOG aggregator gstaggregator.c:2377:gst_aggregator_pad_activate_mode_func:<amix:sink_0> Signaling buffer consumed from thread 0x1484800 0:00:00.027973808 11030 0x1484800 LOG aggregator gstaggregator.c:2377:gst_aggregator_pad_activate_mode_func:<amix:sink_1> Signaling buffer consumed from thread 0x1484800 0:00:00.028014997 11030 0x1484800 INFO aggregator gstaggregator.c:1779:gst_aggregator_src_pad_activate_mode_func:<vmix:src> Activating pad! 0:00:00.028018418 11030 0x14a3c50 LOG aggregator gstaggregator.c:801:gst_aggregator_aggregate_func:<amix> Checking aggregate 0:00:00.028036355 11030 0x1484800 INFO aggregator gstaggregator.c:915:gst_aggregator_start_srcpad_task:<vmix> Starting srcpad task 0:00:00.028075223 11030 0x14a3c50 LOG aggregator gstaggregator.c:378:gst_aggregator_iterate_sinkpads:<amix:sink_0> calling function 0x7fe3ac5310e0 on pad 0:00:00.028095186 11030 0x14a3c50 LOG aggregator gstaggregator.c:378:gst_aggregator_iterate_sinkpads:<amix:sink_1> calling function 0x7fe3ac5310e0 on pad 0:00:00.028148781 11030 0x1484800 LOG aggregator gstaggregator.c:2377:gst_aggregator_pad_activate_mode_func:<vmix:sink_0> Signaling buffer consumed from thread 0x1484800 0:00:00.028151078 11030 0x14a3c50 LOG aggregator gstaggregator.c:1427:gst_aggregator_query_latency_unlocked:<amix> Signaling src from thread 0x14a3c50 0:00:00.028194528 11030 0x14a3cf0 LOG aggregator gstaggregator.c:801:gst_aggregator_aggregate_func:<vmix> Checking aggregate 0:00:00.028180683 11030 0x1484800 LOG aggregator gstaggregator.c:2377:gst_aggregator_pad_activate_mode_func:<vmix:sink_1> Signaling buffer consumed from thread 0x1484800 0:00:00.028253334 11030 0x14a3cf0 LOG aggregator gstaggregator.c:378:gst_aggregator_iterate_sinkpads:<vmix:sink_0> calling function 0x7fe3ac5310e0 on pad 0:00:00.028210632 11030 0x14a3c50 DEBUG aggregator gstaggregator.c:1430:gst_aggregator_query_latency_unlocked:<amix> configured latency live:true min:110000000 max:1010000000 0:00:00.028351150 11030 0x14a3c50 LOG aggregator gstaggregator.c:428:gst_aggregator_check_pads_ready:<amix> checking pads 0:00:00.028373702 11030 0x14a3c50 LOG aggregator gstaggregator.c:471:gst_aggregator_check_pads_ready:<amix:sink_0> pad not ready to be aggregated yet 0:00:00.028315325 11030 0x1484800 LOG aggregator gstaggregator.c:2377:gst_aggregator_pad_activate_mode_func:<vmix:sink_2> Signaling buffer consumed from thread 0x1484800 0:00:00.028307829 11030 0x14a3cf0 LOG aggregator gstaggregator.c:378:gst_aggregator_iterate_sinkpads:<vmix:sink_1> calling function 0x7fe3ac5310e0 on pad 0:00:00.028442102 11030 0x14a3cf0 LOG aggregator gstaggregator.c:378:gst_aggregator_iterate_sinkpads:<vmix:sink_2> calling function 0x7fe3ac5310e0 on pad 0:00:00.028481420 11030 0x14a3cf0 LOG aggregator gstaggregator.c:1427:gst_aggregator_query_latency_unlocked:<vmix> Signaling src from thread 0x14a3cf0 0:00:00.028495371 11030 0x14a3cf0 DEBUG aggregator gstaggregator.c:1430:gst_aggregator_query_latency_unlocked:<vmix> configured latency live:true min:0 max:0 0:00:00.028513834 11030 0x14a3cf0 LOG aggregator gstaggregator.c:428:gst_aggregator_check_pads_ready:<vmix> checking pads 0:00:00.028525530 11030 0x14a3cf0 LOG aggregator gstaggregator.c:471:gst_aggregator_check_pads_ready:<vmix:sink_0> pad not ready to be aggregated yet 0:00:00.028538945 11030 0x14a3cf0 LOG aggregator gstaggregator.c:662:gst_aggregator_wait_and_check:<vmix> Waiting for src on thread 0x14a3cf0 0:00:00.028396217 11030 0x14a3c50 LOG aggregator gstaggregator.c:662:gst_aggregator_wait_and_check:<amix> Waiting for src on thread 0x14a3c50 0:00:00.028617839 11030 0x14a3ad0 FIXME default gstutils.c:3764:gst_pad_create_stream_id_internal:<interaudiosrc0:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id 0:00:00.028733372 11030 0x14a3c00 FIXME default gstutils.c:3764:gst_pad_create_stream_id_internal:<interaudiosrc1:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id 0:00:00.028725491 11030 0x14a3ad0 DEBUG aggregator gstaggregator.c:1200:gst_aggregator_default_sink_event:<amix:sink_0> Eating event: stream-start event: 0x149de00, time 99:99:99.999999999, seq-num 94, GstEventStreamStart, stream-id=(string)c93c68d99a12ac829263ed01ea7a5617, flags=(GstStreamFlags)GST_STREAM_FLAG_NONE, group-id=(uint)0; 0:00:00.028811847 11030 0x14a3c00 DEBUG aggregator gstaggregator.c:1200:gst_aggregator_default_sink_event:<amix:sink_1> Eating event: stream-start event: 0x7fe3a00040e0, time 99:99:99.999999999, seq-num 101, GstEventStreamStart, stream-id=(string)e04eac8d4e68d3038e477c57873dd74a, flags=(GstStreamFlags)GST_STREAM_FLAG_NONE, group-id=(uint)1; 0:00:00.028986132 11030 0x14a3a80 FIXME default gstutils.c:3764:gst_pad_create_stream_id_internal:<intervideosrc0:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id 0:00:00.029153608 11030 0x14a3b70 FIXME default gstutils.c:3764:gst_pad_create_stream_id_internal:<intervideosrc1:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id 0:00:00.029251820 11030 0x14a3b70 DEBUG videoaggregator gstvideoaggregator.c:1751:gst_videoaggregator_sink_event:<vmix:sink_1> Got stream-start event on pad vmix:sink_1 0:00:00.029305346 11030 0x14a3b70 DEBUG aggregator gstaggregator.c:1200:gst_aggregator_default_sink_event:<vmix:sink_1> Eating event: stream-start event: 0x7fe38c003840, time 99:99:99.999999999, seq-num 112, GstEventStreamStart, stream-id=(string)486678e88aab7f7ea4800404b24cda67, flags=(GstStreamFlags)GST_STREAM_FLAG_NONE, group-id=(uint)2; Pipeline is live and does not need PREROLL ... 0:00:00.029356724 11030 0x14a3b20 FIXME default gstutils.c:3764:gst_pad_create_stream_id_internal:<intervideosrc2:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id 0:00:00.029392329 11030 0x14a3b20 DEBUG videoaggregator gstvideoaggregator.c:1751:gst_videoaggregator_sink_event:<vmix:sink_2> Got stream-start event on pad vmix:sink_2 0:00:00.029394125 11030 0x14a3b70 DEBUG videoaggregator gstvideoaggregator.c:893:gst_videoaggregator_pad_sink_getcaps:<vmix:sink_1> Get caps with filter: video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30000/1001, pixel-aspect-ratio=(fraction)1/1 0:00:00.029414753 11030 0x14a3b20 DEBUG aggregator gstaggregator.c:1200:gst_aggregator_default_sink_event:<vmix:sink_2> Eating event: stream-start event: 0x7fe38c003ea0, time 99:99:99.999999999, seq-num 116, GstEventStreamStart, stream-id=(string)37105a8b74da4ea1ca69f3608bfb5ae9, flags=(GstStreamFlags)GST_STREAM_FLAG_NONE, group-id=(uint)3; Redistribute latency... 0:00:00.029490300 11030 0x14a3b20 DEBUG videoaggregator gstvideoaggregator.c:893:gst_videoaggregator_pad_sink_getcaps:<vmix:sink_2> Get caps with filter: video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30000/1001, pixel-aspect-ratio=(fraction)1/1 0:00:00.029507557 11030 0x14a3b70 DEBUG videoaggregator gstvideoaggregator.c:933:gst_videoaggregator_pad_sink_getcaps:<vmix:sink_1> Returning caps: video/x-raw, width=(int)1280, height=(int)720, framerate=(fraction)30000/1001, format=(string)I420, pixel-aspect-ratio=(fraction)1/1 0:00:00.029605966 11030 0x14a3b20 DEBUG videoaggregator gstvideoaggregator.c:933:gst_videoaggregator_pad_sink_getcaps:<vmix:sink_2> Returning caps: video/x-raw, width=(int)1280, height=(int)720, framerate=(fraction)30000/1001, format=(string)I420, pixel-aspect-ratio=(fraction)1/1 0:00:00.029717740 11030 0x14a3a80 DEBUG videoaggregator gstvideoaggregator.c:1751:gst_videoaggregator_sink_event:<vmix:sink_0> Got stream-start event on pad vmix:sink_0 0:00:00.029774932 11030 0x14a3a80 DEBUG aggregator gstaggregator.c:1200:gst_aggregator_default_sink_event:<vmix:sink_0> Eating event: stream-start event: 0x7fe3880035d0, time 99:99:99.999999999, seq-num 118, GstEventStreamStart, stream-id=(string)1380644c1c883e1daa0c81a280401951, flags=(GstStreamFlags)GST_STREAM_FLAG_NONE, group-id=(uint)4; 0:00:00.029851709 11030 0x14a3a80 DEBUG videoaggregator gstvideoaggregator.c:893:gst_videoaggregator_pad_sink_getcaps:<vmix:sink_0> Get caps with filter: video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30000/1001, pixel-aspect-ratio=(fraction)1/1 0:00:00.029990083 11030 0x14a3a80 DEBUG videoaggregator gstvideoaggregator.c:933:gst_videoaggregator_pad_sink_getcaps:<vmix:sink_0> Returning caps: video/x-raw, width=(int)1280, height=(int)720, framerate=(fraction)30000/1001, format=(string)I420, pixel-aspect-ratio=(fraction)1/1 Setting pipeline to PLAYING ... New clock: GstSystemClock 0:00:00.032426006 11030 0x14a3c00 DEBUG aggregator gstaggregator.c:1200:gst_aggregator_default_sink_event:<amix:sink_1> Eating event: segment event: 0x7fe3a00042a0, time 99:99:99.999999999, seq-num 89, GstEventSegment, segment=(GstSegment)"GstSegment, flags=(GstSegmentFlags)GST_SEGMENT_FLAG_NONE, rate=(double)1, applied-rate=(double)1, format=(GstFormat)GST_FORMAT_TIME, base=(guint64)0, offset=(guint64)0, start=(guint64)0, stop=(guint64)18446744073709551615, time=(guint64)0, position=(guint64)0, duration=(guint64)18446744073709551615;"; 0:00:00.032557073 11030 0x14a3c00 DEBUG aggregator gstaggregator.c:2130:gst_aggregator_pad_chain_internal:<amix:sink_1> Start chaining a buffer buffer: 0x7fe398004b40, pts 0:00:00.001651493, dts 99:99:99.999999999, dur 0:00:00.025000000, size 4800, offset 0, offset_end 1200, flags 0x4840 0:00:00.032605551 11030 0x14a3c00 LOG aggregator gstaggregator.c:2174:gst_aggregator_pad_chain_internal:<amix> Signaling src from thread 0x14a3c00 0:00:00.032624544 11030 0x14a3c00 DEBUG aggregator gstaggregator.c:2233:gst_aggregator_pad_chain_internal:<amix> Selecting start time 0:00:00.000000000 0:00:00.032646010 11030 0x14a3c00 DEBUG aggregator gstaggregator.c:2245:gst_aggregator_pad_chain_internal:<amix:sink_1> Done chaining 0:00:00.032697467 11030 0x14a3c50 LOG aggregator gstaggregator.c:662:gst_aggregator_wait_and_check:<amix> DONE Waiting for src on thread 0x14a3c50 0:00:00.032807727 11030 0x14a3c50 LOG aggregator gstaggregator.c:428:gst_aggregator_check_pads_ready:<amix> checking pads 0:00:00.032876945 11030 0x14a3c50 LOG aggregator gstaggregator.c:471:gst_aggregator_check_pads_ready:<amix:sink_0> pad not ready to be aggregated yet 0:00:00.032948636 11030 0x14a3c50 LOG aggregator gstaggregator.c:378:gst_aggregator_iterate_sinkpads:<amix:sink_0> calling function 0x7fe3ac5310e0 on pad 0:00:00.033021459 11030 0x14a3c50 LOG aggregator gstaggregator.c:378:gst_aggregator_iterate_sinkpads:<amix:sink_1> calling function 0x7fe3ac5310e0 on pad 0:00:00.033096514 11030 0x14a3c50 LOG aggregator gstaggregator.c:428:gst_aggregator_check_pads_ready:<amix> checking pads 0:00:00.032426013 11030 0x14a3ad0 DEBUG aggregator gstaggregator.c:1200:gst_aggregator_default_sink_event:<amix:sink_0> Eating event: segment event: 0x7fe3a0003c40, time 99:99:99.999999999, seq-num 84, GstEventSegment, segment=(GstSegment)"GstSegment, flags=(GstSegmentFlags)GST_SEGMENT_FLAG_NONE, rate=(double)1, applied-rate=(double)1, format=(GstFormat)GST_FORMAT_TIME, base=(guint64)0, offset=(guint64)0, start=(guint64)0, stop=(guint64)18446744073709551615, time=(guint64)0, position=(guint64)0, duration=(guint64)18446744073709551615;"; 0:00:00.033232512 11030 0x14a3ad0 DEBUG aggregator gstaggregator.c:2130:gst_aggregator_pad_chain_internal:<amix:sink_0> Start chaining a buffer buffer: 0x7fe3980044e0, pts 0:00:00.001651487, dts 99:99:99.999999999, dur 0:00:00.025000000, size 4800, offset 0, offset_end 1200, flags 0x4840 0:00:00.033186650 11030 0x14a3c50 LOG aggregator gstaggregator.c:471:gst_aggregator_check_pads_ready:<amix:sink_0> pad not ready to be aggregated yet 0:00:00.033358110 11030 0x14a3c50 DEBUG aggregator gstaggregator.c:670:gst_aggregator_wait_and_check:<amix> got subclass start time: 0:00:00.000000000 0:00:00.033437701 11030 0x14a3c50 DEBUG aggregator gstaggregator.c:688:gst_aggregator_wait_and_check:<amix> possibly waiting for clock to reach 4:10:31.423578155 (base 4:10:31.313578155 start 0:00:00.000000000 latency 0:00:00.110000000 current 4:10:31.316277911) 0:00:00.033544210 11030 0x14a3ad0 LOG aggregator gstaggregator.c:2174:gst_aggregator_pad_chain_internal:<amix> Signaling src from thread 0x14a3ad0 0:00:00.033576090 11030 0x14a3ad0 DEBUG aggregator gstaggregator.c:2233:gst_aggregator_pad_chain_internal:<amix> Selecting start time 0:00:00.000000000 0:00:00.033596044 11030 0x14a3ad0 DEBUG aggregator gstaggregator.c:2245:gst_aggregator_pad_chain_internal:<amix:sink_0> Done chaining 0:00:00.033660509 11030 0x14a3c50 DEBUG aggregator gstaggregator.c:705:gst_aggregator_wait_and_check:<amix> clock returned 2 (jitter: -0:00:00.107199360) 0:00:00.033743858 11030 0x14a3c50 LOG aggregator gstaggregator.c:428:gst_aggregator_check_pads_ready:<amix> checking pads 0:00:00.033813344 11030 0x14a3c50 LOG aggregator gstaggregator.c:460:gst_aggregator_check_pads_ready:<amix> pads are ready 0:00:00.033881170 11030 0x14a3c50 LOG aggregator gstaggregator.c:378:gst_aggregator_iterate_sinkpads:<amix:sink_0> calling function 0x7fe3ac5310e0 on pad 0:00:00.033948995 11030 0x14a3c50 LOG aggregator gstaggregator.c:378:gst_aggregator_iterate_sinkpads:<amix:sink_1> calling function 0x7fe3ac5310e0 on pad 0:00:00.034017820 11030 0x14a3c50 LOG aggregator gstaggregator.c:378:gst_aggregator_iterate_sinkpads:<amix:sink_0> calling function sync_pad_values on pad 0:00:00.034086002 11030 0x14a3c50 LOG aggregator gstaggregator.c:378:gst_aggregator_iterate_sinkpads:<amix:sink_1> calling function sync_pad_values on pad 0:00:00.034157468 11030 0x14a3c50 INFO aggregator gstaggregator.c:498:gst_aggregator_push_mandatory_events:<amix> pushing stream start 0:00:00.034240940 11030 0x14a3c50 FIXME basesink gstbasesink.c:3125:gst_base_sink_default_event:<interaudiosink0> stream-start event without group-id. Consider implementing group-id handling in the upstream elements 0:00:00.034323705 11030 0x14a3c50 INFO aggregator gstaggregator.c:510:gst_aggregator_push_mandatory_events:<amix> pushing caps: audio/x-raw, format=(string)S16LE, rate=(int)48000, channels=(int)2, layout=(string)interleaved 0:00:00.034497788 11030 0x14a3c50 DEBUG aggregator gstaggregator.c:529:gst_aggregator_push_mandatory_events:<amix> pushing segment segment event: 0x7fe398003ae0, time 99:99:99.999999999, seq-num 89, GstEventSegment, segment=(GstSegment)"GstSegment, flags=(GstSegmentFlags)GST_SEGMENT_FLAG_NONE, rate=(double)1, applied-rate=(double)1, format=(GstFormat)GST_FORMAT_TIME, base=(guint64)0, offset=(guint64)0, start=(guint64)0, stop=(guint64)18446744073709551615, time=(guint64)0, position=(guint64)0, duration=(guint64)18446744073709551615;"; 0:00:00.034655762 11030 0x14a3c50 LOG aggregator gstaggregator.c:2480:gst_aggregator_pad_steal_buffer:<amix:sink_0> Signaling buffer consumed from thread 0x14a3c50 0:00:00.034728971 11030 0x14a3c50 DEBUG aggregator gstaggregator.c:2481:gst_aggregator_pad_steal_buffer:<amix:sink_0> Consumed: buffer: 0x7fe3980044e0, pts 0:00:00.001651487, dts 99:99:99.999999999, dur 0:00:00.025000000, size 4800, offset 0, offset_end 1200, flags 0x4840 0:00:00.034812565 11030 0x14a3c50 LOG aggregator gstaggregator.c:2480:gst_aggregator_pad_steal_buffer:<amix:sink_1> Signaling buffer consumed from thread 0x14a3c50 0:00:00.034878795 11030 0x14a3c50 DEBUG aggregator gstaggregator.c:2481:gst_aggregator_pad_steal_buffer:<amix:sink_1> Consumed: buffer: 0x7fe398004b40, pts 0:00:00.001651493, dts 99:99:99.999999999, dur 0:00:00.025000000, size 4800, offset 0, offset_end 1200, flags 0x4840 0:00:00.040418296 11030 0x14a3b70 DEBUG videoaggregator gstvideoaggregator.c:1900:gst_videoaggregator_pad_sink_acceptcaps:<vmix:sink_1> video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30000/1001, pixel-aspect-ratio=(fraction)1/1 0:00:00.040473973 11030 0x14a3b70 LOG videoaggregator gstvideoaggregator.c:1913:gst_videoaggregator_pad_sink_acceptcaps:<vmix:sink_1> src caps video/x-raw, format=(string){ AYUV, BGRA, ARGB, RGBA, ABGR, Y444, Y42B, YUY2, UYVY, YVYU, I420, YV12, NV12, NV21, Y41B, RGB, BGR, xRGB, xBGR, RGBx, BGRx }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ] 0:00:00.040535935 11030 0x14a3b70 DEBUG videoaggregator gstvideoaggregator.c:1930:gst_videoaggregator_pad_sink_acceptcaps:<vmix:sink_1> accepted caps video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30000/1001, pixel-aspect-ratio=(fraction)1/1 0:00:00.040594699 11030 0x14a3b70 DEBUG videoaggregator gstvideoaggregator.c:1900:gst_videoaggregator_pad_sink_acceptcaps:<vmix:sink_1> video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30000/1001, pixel-aspect-ratio=(fraction)1/1 0:00:00.040633970 11030 0x14a3b70 LOG videoaggregator gstvideoaggregator.c:1913:gst_videoaggregator_pad_sink_acceptcaps:<vmix:sink_1> src caps video/x-raw, format=(string){ AYUV, BGRA, ARGB, RGBA, ABGR, Y444, Y42B, YUY2, UYVY, YVYU, I420, YV12, NV12, NV21, Y41B, RGB, BGR, xRGB, xBGR, RGBx, BGRx }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ] 0:00:00.040693667 11030 0x14a3b70 DEBUG videoaggregator gstvideoaggregator.c:1930:gst_videoaggregator_pad_sink_acceptcaps:<vmix:sink_1> accepted caps video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30000/1001, pixel-aspect-ratio=(fraction)1/1 0:00:00.040735047 11030 0x14a3b70 DEBUG videoaggregator gstvideoaggregator.c:1751:gst_videoaggregator_sink_event:<vmix:sink_1> Got caps event on pad vmix:sink_1 0:00:00.040755551 11030 0x14a3b70 INFO videoaggregator gstvideoaggregator.c:800:gst_videoaggregator_pad_sink_setcaps:<vmix:sink_1> Setting caps video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30000/1001, pixel-aspect-ratio=(fraction)1/1 0:00:00.040792675 11030 0x14a3b70 LOG videoaggregator gstvideoaggregator.c:810:gst_videoaggregator_pad_sink_setcaps:<vmix> Taking EVENT lock from thread 0x14a3b70 0:00:00.040810116 11030 0x14a3b70 LOG videoaggregator gstvideoaggregator.c:810:gst_videoaggregator_pad_sink_setcaps:<vmix> Took EVENT lock from thread 0x14a3b70 0:00:00.040825530 11030 0x14a3b70 LOG videoaggregator gstvideoaggregator.c:826:gst_videoaggregator_pad_sink_setcaps:<vmix> Releasing EVENT lock from thread 0x14a3b70 0:00:00.040839903 11030 0x14a3b70 LOG videoaggregator gstvideoaggregator.c:826:gst_videoaggregator_pad_sink_setcaps:<vmix> Took EVENT lock from thread 0x14a3b70 0:00:00.041018791 11030 0x14a3b70 DEBUG videoaggregator gstvideoaggregator.c:1751:gst_videoaggregator_sink_event:<vmix:sink_1> Got segment event on pad vmix:sink_1 0:00:00.041036860 11030 0x14a3b70 DEBUG videoaggregator gstvideoaggregator.c:947:gst_videoaggregator_update_qos:<vmix> Updating QoS: proportion 0.500000, diff +0:00:00.000000000, timestamp 99:99:99.999999999 0:00:00.041072160 11030 0x14a3b70 DEBUG aggregator gstaggregator.c:1200:gst_aggregator_default_sink_event:<vmix:sink_1> Eating event: segment event: 0x7fe38c003a00, time 99:99:99.999999999, seq-num 99, GstEventSegment, segment=(GstSegment)"GstSegment, flags=(GstSegmentFlags)GST_SEGMENT_FLAG_NONE, rate=(double)1, applied-rate=(double)1, format=(GstFormat)GST_FORMAT_TIME, base=(guint64)0, offset=(guint64)0, start=(guint64)0, stop=(guint64)18446744073709551615, time=(guint64)0, position=(guint64)0, duration=(guint64)18446744073709551615;"; 0:00:00.041151868 11030 0x14a3b70 DEBUG aggregator gstaggregator.c:2130:gst_aggregator_pad_chain_internal:<vmix:sink_1> Start chaining a buffer buffer: 0x7fe38c005290, pts 0:00:00.010271653, dts 99:99:99.999999999, dur 0:00:00.033366666, size 1382400, offset 0, offset_end none, flags 0x40 0:00:00.041204779 11030 0x14a3b70 LOG aggregator gstaggregator.c:2174:gst_aggregator_pad_chain_internal:<vmix> Signaling src from thread 0x14a3b70 0:00:00.041233717 11030 0x14a3b70 DEBUG aggregator gstaggregator.c:2233:gst_aggregator_pad_chain_internal:<vmix> Selecting start time 0:00:00.000000000 0:00:00.041258691 11030 0x14a3cf0 LOG aggregator gstaggregator.c:662:gst_aggregator_wait_and_check:<vmix> DONE Waiting for src on thread 0x14a3cf0 0:00:00.041276733 11030 0x14a3cf0 LOG aggregator gstaggregator.c:428:gst_aggregator_check_pads_ready:<vmix> checking pads 0:00:00.041291049 11030 0x14a3cf0 LOG aggregator gstaggregator.c:471:gst_aggregator_check_pads_ready:<vmix:sink_0> pad not ready to be aggregated yet 0:00:00.041309568 11030 0x14a3cf0 LOG aggregator gstaggregator.c:378:gst_aggregator_iterate_sinkpads:<vmix:sink_0> calling function 0x7fe3ac5310e0 on pad 0:00:00.041329120 11030 0x14a3cf0 LOG aggregator gstaggregator.c:378:gst_aggregator_iterate_sinkpads:<vmix:sink_1> calling function 0x7fe3ac5310e0 on pad 0:00:00.041348449 11030 0x14a3cf0 LOG aggregator gstaggregator.c:378:gst_aggregator_iterate_sinkpads:<vmix:sink_2> calling function 0x7fe3ac5310e0 on pad 0:00:00.041366629 11030 0x14a3cf0 LOG aggregator gstaggregator.c:428:gst_aggregator_check_pads_ready:<vmix> checking pads 0:00:00.041380722 11030 0x14a3cf0 LOG aggregator gstaggregator.c:471:gst_aggregator_check_pads_ready:<vmix:sink_0> pad not ready to be aggregated yet 0:00:00.041395225 11030 0x14a3cf0 DEBUG aggregator gstaggregator.c:670:gst_aggregator_wait_and_check:<vmix> got subclass start time: 0:00:00.000000000 0:00:00.041416699 11030 0x14a3cf0 DEBUG aggregator gstaggregator.c:688:gst_aggregator_wait_and_check:<vmix> possibly waiting for clock to reach 4:10:31.313578155 (base 4:10:31.313578155 start 0:00:00.000000000 latency 0:00:00.000000000 current 4:10:31.324257344) 0:00:00.041455385 11030 0x14a3cf0 DEBUG aggregator gstaggregator.c:705:gst_aggregator_wait_and_check:<vmix> clock returned 1 (jitter: +0:00:00.010718093) 0:00:00.041479023 11030 0x14a3cf0 LOG aggregator gstaggregator.c:378:gst_aggregator_iterate_sinkpads:<vmix:sink_0> calling function 0x7fe3ac5310e0 on pad 0:00:00.041498066 11030 0x14a3cf0 LOG aggregator gstaggregator.c:378:gst_aggregator_iterate_sinkpads:<vmix:sink_1> calling function 0x7fe3ac5310e0 on pad 0:00:00.041517021 11030 0x14a3cf0 LOG aggregator gstaggregator.c:378:gst_aggregator_iterate_sinkpads:<vmix:sink_2> calling function 0x7fe3ac5310e0 on pad 0:00:00.041535810 11030 0x14a3cf0 LOG videoaggregator gstvideoaggregator.c:1427:gst_videoaggregator_aggregate:<vmix> Taking EVENT lock from thread 0x14a3cf0 0:00:00.041553944 11030 0x14a3cf0 LOG videoaggregator gstvideoaggregator.c:1427:gst_videoaggregator_aggregate:<vmix> Took EVENT lock from thread 0x14a3cf0 0:00:00.041644916 11030 0x14a3cf0 DEBUG videoaggregator gstvideoaggregator.c:713:gst_videoaggregator_update_src_caps:<vmix> The output format will now be : 2 with chroma : mpeg2 0:00:00.041692066 11030 0x14a3cf0 LOG compositor compositor.c:247:_mixer_pad_get_output_size:<vmix:sink_1> scaling 1280x720 by 16/9 (1/1 / 1/1) 0:00:00.041714863 11030 0x14a3cf0 DEBUG compositor compositor.c:332:gst_compositor_pad_set_info:<vmix:sink_1> This pad will not need conversion 0:00:00.041723445 11030 0x14a3cf0 INFO videoaggregator gstvideoaggregator.c:545:gst_videoaggregator_src_setcaps:<vmix:src> set src caps: video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30000/1001, pixel-aspect-ratio=(fraction)1/1 0:00:00.041755978 11030 0x14a3cf0 LOG videoaggregator gstvideoaggregator.c:571:gst_videoaggregator_src_setcaps:<vmix> Releasing EVENT lock from thread 0x14a3cf0 0:00:00.041772132 11030 0x14a3cf0 LOG videoaggregator gstvideoaggregator.c:571:gst_videoaggregator_src_setcaps:<vmix> Took EVENT lock from thread 0x14a3cf0 0:00:00.041787721 11030 0x14a3cf0 INFO aggregator gstaggregator.c:498:gst_aggregator_push_mandatory_events:<vmix> pushing stream start 0:00:00.041815505 11030 0x14a3cf0 FIXME basesink gstbasesink.c:3125:gst_base_sink_default_event:<intervideosink0> stream-start event without group-id. Consider implementing group-id handling in the upstream elements 0:00:00.041859941 11030 0x14a3cf0 INFO aggregator gstaggregator.c:510:gst_aggregator_push_mandatory_events:<vmix> pushing caps: video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30000/1001, pixel-aspect-ratio=(fraction)1/1 0:00:00.041941629 11030 0x14a3cf0 DEBUG aggregator gstaggregator.c:529:gst_aggregator_push_mandatory_events:<vmix> pushing segment segment event: 0x7fe39c0041d0, time 99:99:99.999999999, seq-num 99, GstEventSegment, segment=(GstSegment)"GstSegment, flags=(GstSegmentFlags)GST_SEGMENT_FLAG_NONE, rate=(double)1, applied-rate=(double)1, format=(GstFormat)GST_FORMAT_TIME, base=(guint64)0, offset=(guint64)0, start=(guint64)0, stop=(guint64)18446744073709551615, time=(guint64)0, position=(guint64)0, duration=(guint64)18446744073709551615;"; 0:00:00.041994738 11030 0x14a3cf0 LOG aggregator gstaggregator.c:2615:gst_aggregator_set_latency:<vmix> Signaling src from thread 0x14a3cf0 0:00:00.042016578 11030 0x14a3cf0 LOG videoaggregator gstvideoaggregator.c:578:gst_videoaggregator_src_setcaps:<vmix> Taking EVENT lock from thread 0x14a3cf0 0:00:00.042032436 11030 0x14a3cf0 LOG videoaggregator gstvideoaggregator.c:578:gst_videoaggregator_src_setcaps:<vmix> Took EVENT lock from thread 0x14a3cf0 0:00:00.042047334 11030 0x14a3cf0 DEBUG videoaggregator gstvideoaggregator.c:1443:gst_videoaggregator_aggregate:<vmix> New ts offset 0:00:00.000000000 0:00:00.042068352 11030 0x14a3cf0 DEBUG videoaggregator gstvideoaggregator.c:1151:gst_videoaggregator_fill_queues:<vmix:sink_1> Taking new buffer with start time 0:00:00.010271653 0:00:00.042089614 11030 0x14a3cf0 LOG aggregator gstaggregator.c:2480:gst_aggregator_pad_steal_buffer:<vmix:sink_1> Signaling buffer consumed from thread 0x14a3cf0 0:00:00.042106936 11030 0x14a3cf0 DEBUG aggregator gstaggregator.c:2481:gst_aggregator_pad_steal_buffer:<vmix:sink_1> Consumed: buffer: 0x7fe38c005290, pts 0:00:00.010271653, dts 99:99:99.999999999, dur 0:00:00.033366666, size 1382400, offset 0, offset_end none, flags 0x40 0:00:00.042134220 11030 0x14a3cf0 DEBUG videoaggregator gstvideoaggregator.c:1492:gst_videoaggregator_aggregate:<vmix> Producing buffer for 0:00:00.000000000 to 0:00:00.033366667, running time start 0:00:00.000000000, running time end 0:00:00.033366667 0:00:00.042163366 11030 0x14a3cf0 LOG videoaggregator gstvideoaggregator.c:1324:gst_videoaggregator_do_qos:<vmix> no observation yet, process frame 0:00:00.042203126 11030 0x14a3cf0 LOG aggregator gstaggregator.c:378:gst_aggregator_iterate_sinkpads:<vmix:sink_0> calling function 0x7fe3acc4b360 on pad 0:00:00.042217145 11030 0x14a3cf0 LOG aggregator gstaggregator.c:378:gst_aggregator_iterate_sinkpads:<vmix:sink_1> calling function 0x7fe3acc4b360 on pad 0:00:00.042235226 11030 0x14a3cf0 LOG aggregator gstaggregator.c:378:gst_aggregator_iterate_sinkpads:<vmix:sink_2> calling function 0x7fe3acc4b360 on pad 0:00:00.042257677 11030 0x14a3cf0 LOG aggregator gstaggregator.c:378:gst_aggregator_iterate_sinkpads:<vmix:sink_0> calling function 0x7fe3acc46ae0 on pad 0:00:00.042276717 11030 0x14a3cf0 LOG aggregator gstaggregator.c:378:gst_aggregator_iterate_sinkpads:<vmix:sink_1> calling function 0x7fe3acc46ae0 on pad 0:00:00.042294654 11030 0x14a3cf0 LOG compositor compositor.c:247:_mixer_pad_get_output_size:<vmix:sink_1> scaling 1280x720 by 16/9 (1/1 / 1/1) 0:00:00.042323374 11030 0x14a3cf0 DEBUG compositor compositor.c:229:_mixer_pad_get_output_size:<vmix:sink_2> Have no caps yet 0:00:00.042347074 11030 0x14a3cf0 LOG aggregator gstaggregator.c:378:gst_aggregator_iterate_sinkpads:<vmix:sink_2> calling function 0x7fe3acc46ae0 on pad Caught SIGSEGV Redistribute latency... 0:00:00.043537291 11030 0x1484800 LOG aggregator gstaggregator.c:1427:gst_aggregator_query_latency_unlocked:<amix> Signaling src from thread 0x1484800 0:00:00.043589260 11030 0x1484800 DEBUG aggregator gstaggregator.c:1430:gst_aggregator_query_latency_unlocked:<amix> configured latency live:true min:110000000 max:1010000000 0:00:00.043686173 11030 0x1484800 DEBUG aggregator gstaggregator.c:1573:gst_aggregator_event_forward_func:<amix:sink_0> return of event push is 1 0:00:00.043706633 11030 0x1484800 DEBUG aggregator gstaggregator.c:1573:gst_aggregator_event_forward_func:<amix:sink_1> return of event push is 1 0:00:00.043782921 11030 0x14a3b70 DEBUG aggregator gstaggregator.c:2245:gst_aggregator_pad_chain_internal:<vmix:sink_1> Done chaining 0:00:00.044818261 11030 0x14a3a80 DEBUG videoaggregator gstvideoaggregator.c:1900:gst_videoaggregator_pad_sink_acceptcaps:<vmix:sink_0> video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30000/1001, pixel-aspect-ratio=(fraction)1/1 0:00:00.044996299 11030 0x14a3a80 LOG videoaggregator gstvideoaggregator.c:1913:gst_videoaggregator_pad_sink_acceptcaps:<vmix:sink_0> src caps video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30000/1001, pixel-aspect-ratio=(fraction)1/1 0:00:00.045103926 11030 0x14a3a80 DEBUG videoaggregator gstvideoaggregator.c:1930:gst_videoaggregator_pad_sink_acceptcaps:<vmix:sink_0> accepted caps video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30000/1001, pixel-aspect-ratio=(fraction)1/1 0:00:00.045295887 11030 0x14a3a80 DEBUG videoaggregator gstvideoaggregator.c:1900:gst_videoaggregator_pad_sink_acceptcaps:<vmix:sink_0> video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30000/1001, pixel-aspect-ratio=(fraction)1/1 0:00:00.045404590 11030 0x14a3a80 LOG videoaggregator gstvideoaggregator.c:1913:gst_videoaggregator_pad_sink_acceptcaps:<vmix:sink_0> src caps video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30000/1001, pixel-aspect-ratio=(fraction)1/1 0:00:00.045524625 11030 0x14a3a80 DEBUG videoaggregator gstvideoaggregator.c:1930:gst_videoaggregator_pad_sink_acceptcaps:<vmix:sink_0> accepted caps video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30000/1001, pixel-aspect-ratio=(fraction)1/1 0:00:00.045629721 11030 0x14a3a80 DEBUG videoaggregator gstvideoaggregator.c:1751:gst_videoaggregator_sink_event:<vmix:sink_0> Got caps event on pad vmix:sink_0 0:00:00.045697120 11030 0x14a3a80 INFO videoaggregator gstvideoaggregator.c:800:gst_videoaggregator_pad_sink_setcaps:<vmix:sink_0> Setting caps video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30000/1001, pixel-aspect-ratio=(fraction)1/1 0:00:00.045779678 11030 0x14a3a80 LOG videoaggregator gstvideoaggregator.c:810:gst_videoaggregator_pad_sink_setcaps:<vmix> Taking EVENT lock from thread 0x14a3a80 0:00:00.046577723 11030 0x14a3b20 DEBUG videoaggregator gstvideoaggregator.c:1900:gst_videoaggregator_pad_sink_acceptcaps:<vmix:sink_2> video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30000/1001, pixel-aspect-ratio=(fraction)1/1 0:00:00.046619159 11030 0x14a3b20 LOG videoaggregator gstvideoaggregator.c:1913:gst_videoaggregator_pad_sink_acceptcaps:<vmix:sink_2> src caps video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30000/1001, pixel-aspect-ratio=(fraction)1/1 0:00:00.046669058 11030 0x14a3b20 DEBUG videoaggregator gstvideoaggregator.c:1930:gst_videoaggregator_pad_sink_acceptcaps:<vmix:sink_2> accepted caps video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30000/1001, pixel-aspect-ratio=(fraction)1/1 0:00:00.046726264 11030 0x14a3b20 DEBUG videoaggregator gstvideoaggregator.c:1900:gst_videoaggregator_pad_sink_acceptcaps:<vmix:sink_2> video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30000/1001, pixel-aspect-ratio=(fraction)1/1 0:00:00.046755883 11030 0x14a3b20 LOG videoaggregator gstvideoaggregator.c:1913:gst_videoaggregator_pad_sink_acceptcaps:<vmix:sink_2> src caps video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30000/1001, pixel-aspect-ratio=(fraction)1/1 0:00:00.046800642 11030 0x14a3b20 DEBUG videoaggregator gstvideoaggregator.c:1930:gst_videoaggregator_pad_sink_acceptcaps:<vmix:sink_2> accepted caps video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30000/1001, pixel-aspect-ratio=(fraction)1/1 0:00:00.046834291 11030 0x14a3b20 DEBUG videoaggregator gstvideoaggregator.c:1751:gst_videoaggregator_sink_event:<vmix:sink_2> Got caps event on pad vmix:sink_2 0:00:00.046852890 11030 0x14a3b20 INFO videoaggregator gstvideoaggregator.c:800:gst_videoaggregator_pad_sink_setcaps:<vmix:sink_2> Setting caps video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30000/1001, pixel-aspect-ratio=(fraction)1/1 0:00:00.046886566 11030 0x14a3b20 LOG videoaggregator gstvideoaggregator.c:810:gst_videoaggregator_pad_sink_setcaps:<vmix> Taking EVENT lock from thread 0x14a3b20 0:00:00.057524235 11030 0x14a3c00 DEBUG aggregator gstaggregator.c:2130:gst_aggregator_pad_chain_internal:<amix:sink_1> Start chaining a buffer buffer: 0x7fe398004c50, pts 0:00:00.026651493, dts 99:99:99.999999999, dur 0:00:00.025000000, size 4800, offset 1200, offset_end 2400, flags 0x4800 0:00:00.057516433 11030 0x14a3ad0 DEBUG aggregator gstaggregator.c:2130:gst_aggregator_pad_chain_internal:<amix:sink_0> Start chaining a buffer buffer: 0x7fe3980045f0, pts 0:00:00.026651487, dts 99:99:99.999999999, dur 0:00:00.025000000, size 4800, offset 1200, offset_end 2400, flags 0x4800 0:00:00.057594496 11030 0x14a3c00 LOG aggregator gstaggregator.c:2174:gst_aggregator_pad_chain_internal:<amix> Signaling src from thread 0x14a3c00 0:00:00.057628924 11030 0x14a3c00 DEBUG aggregator gstaggregator.c:2245:gst_aggregator_pad_chain_internal:<amix:sink_1> Done chaining 0:00:00.057634198 11030 0x14a3ad0 LOG aggregator gstaggregator.c:2174:gst_aggregator_pad_chain_internal:<amix> Signaling src from thread 0x14a3ad0 0:00:00.057648249 11030 0x14a3ad0 DEBUG aggregator gstaggregator.c:2245:gst_aggregator_pad_chain_internal:<amix:sink_0> Done chaining 0:00:00.074473694 11030 0x14a3b70 DEBUG aggregator gstaggregator.c:2130:gst_aggregator_pad_chain_internal:<vmix:sink_1> Start chaining a buffer buffer: 0x7fe38c0053a0, pts 0:00:00.043638319, dts 99:99:99.999999999, dur 0:00:00.033366667, size 1382400, offset 1, offset_end none, flags 0x800 0:00:00.074523370 11030 0x14a3b70 LOG aggregator gstaggregator.c:2174:gst_aggregator_pad_chain_internal:<vmix> Signaling src from thread 0x14a3b70 0:00:00.074539466 11030 0x14a3b70 DEBUG aggregator gstaggregator.c:2233:gst_aggregator_pad_chain_internal:<vmix> Selecting start time 0:00:00.000000000 0:00:00.074549069 11030 0x14a3b70 DEBUG aggregator gstaggregator.c:2245:gst_aggregator_pad_chain_internal:<vmix:sink_1> Done chaining 0:00:00.082489843 11030 0x14a3c00 DEBUG aggregator gstaggregator.c:2130:gst_aggregator_pad_chain_internal:<amix:sink_1> Start chaining a buffer buffer: 0x7fe398004d60, pts 0:00:00.051651493, dts 99:99:99.999999999, dur 0:00:00.025000000, size 4800, offset 2400, offset_end 3600, flags 0x4800 0:00:00.082489861 11030 0x14a3ad0 DEBUG aggregator gstaggregator.c:2130:gst_aggregator_pad_chain_internal:<amix:sink_0> Start chaining a buffer buffer: 0x7fe398004700, pts 0:00:00.051651487, dts 99:99:99.999999999, dur 0:00:00.025000000, size 4800, offset 2400, offset_end 3600, flags 0x4800 0:00:00.082547540 11030 0x14a3c00 LOG aggregator gstaggregator.c:2174:gst_aggregator_pad_chain_internal:<amix> Signaling src from thread 0x14a3c00 0:00:00.082584772 11030 0x14a3c00 DEBUG aggregator gstaggregator.c:2245:gst_aggregator_pad_chain_internal:<amix:sink_1> Done chaining 0:00:00.082587094 11030 0x14a3ad0 LOG aggregator gstaggregator.c:2174:gst_aggregator_pad_chain_internal:<amix> Signaling src from thread 0x14a3ad0 0:00:00.082608641 11030 0x14a3ad0 DEBUG aggregator gstaggregator.c:2245:gst_aggregator_pad_chain_internal:<amix:sink_0> Done chaining 0:00:00.107486464 11030 0x14a3ad0 DEBUG aggregator gstaggregator.c:2130:gst_aggregator_pad_chain_internal:<amix:sink_0> Start chaining a buffer buffer: 0x7fe398004810, pts 0:00:00.076651487, dts 99:99:99.999999999, dur 0:00:00.025000000, size 4800, offset 3600, offset_end 4800, flags 0x4800 0:00:00.107486433 11030 0x14a3c00 DEBUG aggregator gstaggregator.c:2130:gst_aggregator_pad_chain_internal:<amix:sink_1> Start chaining a buffer buffer: 0x7fe398004e70, pts 0:00:00.076651493, dts 99:99:99.999999999, dur 0:00:00.025000000, size 4800, offset 3600, offset_end 4800, flags 0x4800 0:00:00.107536667 11030 0x14a3ad0 DEBUG aggregator gstaggregator.c:2184:gst_aggregator_pad_chain_internal:<amix:sink_0> Waiting for buffer to be consumed 0:00:00.107566679 11030 0x14a3c00 DEBUG aggregator gstaggregator.c:2184:gst_aggregator_pad_chain_internal:<amix:sink_1> Waiting for buffer to be consumed 0:00:00.107565335 11030 0x14a3ad0 LOG aggregator gstaggregator.c:2187:gst_aggregator_pad_chain_internal:<amix:sink_0> Waiting for buffer to be consumed thread 0x14a3ad0 0:00:00.107582300 11030 0x14a3c00 LOG aggregator gstaggregator.c:2187:gst_aggregator_pad_chain_internal:<amix:sink_1> Waiting for buffer to be consumed thread 0x14a3c00 0:00:00.107805951 11030 0x14a3b70 DEBUG aggregator gstaggregator.c:2130:gst_aggregator_pad_chain_internal:<vmix:sink_1> Start chaining a buffer buffer: 0x7fe38c0054b0, pts 0:00:00.077004986, dts 99:99:99.999999999, dur 0:00:00.033366667, size 1382400, offset 2, offset_end none, flags 0x800 0:00:00.107825369 11030 0x14a3b70 LOG aggregator gstaggregator.c:2174:gst_aggregator_pad_chain_internal:<vmix> Signaling src from thread 0x14a3b70 0:00:00.107838358 11030 0x14a3b70 DEBUG aggregator gstaggregator.c:2233:gst_aggregator_pad_chain_internal:<vmix> Selecting start time 0:00:00.000000000 0:00:00.107851193 11030 0x14a3b70 DEBUG aggregator gstaggregator.c:2245:gst_aggregator_pad_chain_internal:<vmix:sink_1> Done chaining Spinning. Please run 'gdb gst-launch-1.0 11030' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core. 0:00:00.141232679 11030 0x14a3b70 DEBUG aggregator gstaggregator.c:2130:gst_aggregator_pad_chain_internal:<vmix:sink_1> Start chaining a buffer buffer: 0x7fe38c0055c0, pts 0:00:00.110371653, dts 99:99:99.999999999, dur 0:00:00.033366666, size 1382400, offset 3, offset_end none, flags 0x800 0:00:00.141278616 11030 0x14a3b70 DEBUG aggregator gstaggregator.c:2184:gst_aggregator_pad_chain_internal:<vmix:sink_1> Waiting for buffer to be consumed 0:00:00.141298120 11030 0x14a3b70 LOG aggregator gstaggregator.c:2187:gst_aggregator_pad_chain_internal:<vmix:sink_1> Waiting for buffer to be consumed thread 0x14a3b70 ^Chandling interrupt. Interrupt: Stopping pipeline ... Execution ended after 0:00:01.526448307 Setting pipeline to PAUSED ... Setting pipeline to READY ... 0:00:01.557810285 11030 0x14a3c50 LOG aggregator gstaggregator.c:831:gst_aggregator_aggregate_func:<amix> flow return is flushing 0:00:01.557855991 11030 0x14a3c50 LOG aggregator gstaggregator.c:785:gst_aggregator_pad_set_flushing:<amix:sink_0> Signaling buffer consumed from thread 0x14a3c50 0:00:01.557885970 11030 0x14a3c50 LOG aggregator gstaggregator.c:785:gst_aggregator_pad_set_flushing:<amix:sink_1> Signaling buffer consumed from thread 0x14a3c50 0:00:01.557887294 11030 0x14a3ad0 LOG aggregator gstaggregator.c:2187:gst_aggregator_pad_chain_internal:<amix:sink_0> DONE Waiting for buffer to be consumed on thread 0x14a3ad0 0:00:01.557927743 11030 0x14a3ad0 DEBUG aggregator gstaggregator.c:2254:gst_aggregator_pad_chain_internal:<amix:sink_0> Pad is flushing, dropping buffer 0:00:01.557989197 11030 0x1484800 INFO aggregator gstaggregator.c:1792:gst_aggregator_src_pad_activate_mode_func:<amix> Deactivating srcpad 0:00:01.558013624 11030 0x1484800 INFO aggregator gstaggregator.c:896:gst_aggregator_stop_srcpad_task:<amix> Stopping srcpad task 0:00:01.558027362 11030 0x1484800 LOG aggregator gstaggregator.c:900:gst_aggregator_stop_srcpad_task:<amix> Signaling src from thread 0x1484800 0:00:01.558057485 11030 0x14a3c00 LOG aggregator gstaggregator.c:2187:gst_aggregator_pad_chain_internal:<amix:sink_1> DONE Waiting for buffer to be consumed on thread 0x14a3c00 0:00:01.558080024 11030 0x14a3c00 DEBUG aggregator gstaggregator.c:2254:gst_aggregator_pad_chain_internal:<amix:sink_1> Pad is flushing, dropping buffer 0:00:01.558102229 11030 0x1484800 LOG aggregator gstaggregator.c:785:gst_aggregator_pad_set_flushing:<amix:sink_0> Signaling buffer consumed from thread 0x1484800 0:00:01.558128092 11030 0x1484800 LOG aggregator gstaggregator.c:2372:gst_aggregator_pad_activate_mode_func:<amix> Signaling src from thread 0x1484800 0:00:01.558147085 11030 0x1484800 LOG aggregator gstaggregator.c:785:gst_aggregator_pad_set_flushing:<amix:sink_1> Signaling buffer consumed from thread 0x1484800 0:00:01.558158848 11030 0x1484800 LOG aggregator gstaggregator.c:2372:gst_aggregator_pad_activate_mode_func:<amix> Signaling src from thread 0x1484800 0:00:01.558176020 11030 0x1484800 LOG aggregator gstaggregator.c:378:gst_aggregator_iterate_sinkpads:<amix:sink_0> calling function gst_aggregator_stop_pad on pad 0:00:01.558190195 11030 0x1484800 LOG aggregator gstaggregator.c:378:gst_aggregator_iterate_sinkpads:<amix:sink_1> calling function gst_aggregator_stop_pad on pad 0:00:01.558218736 11030 0x1484800 INFO aggregator gstaggregator.c:1792:gst_aggregator_src_pad_activate_mode_func:<vmix> Deactivating srcpad 0:00:01.558230011 11030 0x1484800 INFO aggregator gstaggregator.c:896:gst_aggregator_stop_srcpad_task:<vmix> Stopping srcpad task 0:00:01.558240584 11030 0x1484800 LOG aggregator gstaggregator.c:900:gst_aggregator_stop_srcpad_task:<vmix> Signaling src from thread 0x1484800
Can you attach the log in a file, and also really remove the audio parts?
Created attachment 327198 [details] [review] compositor: Set blend functions in ::negotiated_caps() instead of ::fixate_caps() The latter should not change any state but just fixate the caps, while the former is always called when srcpads caps are decided.
This might fix it, but as I can't reproduce the crash and also don't understand what exactly is happening there, it might also not solve it :) In any case it's cleaner. Can you try if it helps?
Comment on attachment 327198 [details] [review] compositor: Set blend functions in ::negotiated_caps() instead of ::fixate_caps() Attachment 327198 [details] pushed as 619d198 - compositor: Set blend functions in ::negotiated_caps() instead of ::fixate_caps() As this is the right thing anyway, independent of fixing this bug.
Ubuntu 16.04 LTS xenial apt source gstreamer1.0-plugins-bad wget patch debuild dpkg -i *.deb ran my test, no crash! yay.