GStreamer issueshttps://gitlab.freedesktop.org/groups/gstreamer/-/issues2023-07-27T11:10:48Zhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/936playback:mpegts streams with two audio tracks playbin2 can play but playbin3 ...2023-07-27T11:10:48Zrlandjplayback:mpegts streams with two audio tracks playbin2 can play but playbin3 can'tgstreamer version:1.18.3
1. playback ok case:
GST_DEBUG_COLOR_MODE=off GST_DEBUG=6 GST_DEBUG_FILE='/home/luckysk/work/log/gst.log' GST_DEBUG_DUMP_DOT_DIR='/home/luckysk/work/log' gst-launch-1.0 playbin uri=http://streaming.dolby.com/ftp...gstreamer version:1.18.3
1. playback ok case:
GST_DEBUG_COLOR_MODE=off GST_DEBUG=6 GST_DEBUG_FILE='/home/luckysk/work/log/gst.log' GST_DEBUG_DUMP_DOT_DIR='/home/luckysk/work/log' gst-launch-1.0 playbin uri=http://streaming.dolby.com/ftproot/mitXperts/ts/ts_multi_codec.ts
log and dot :[playbin2_log_and_dot.zip](/uploads/318db0c712e875e3fdc7a46d01c20886/playbin2_log_and_dot.zip)
2. playback ng case:
GST_DEBUG_COLOR_MODE=off GST_DEBUG=6 GST_DEBUG_FILE='/home/luckysk/work/log/gst.log' GST_DEBUG_DUMP_DOT_DIR='/home/luckysk/work/log' gst-launch-1.0 playbin3 uri=http://streaming.dolby.com/ftproot/mitXperts/ts/ts_multi_codec.ts
log and backtrac:[playbin3_log_and_bt.zip](/uploads/a58c3033cc729b6361be79ed20de1dbc/playbin3_log_and_bt.zip)
```c
stream info:
Analyzing http://streaming.dolby.com/ftproot/mitXperts/ts/ts_multi_codec.ts
Done discovering http://streaming.dolby.com/ftproot/mitXperts/ts/ts_multi_codec.ts
Properties:
Duration: 0:01:22.253036037
Seekable: yes
Live: no
container: MPEG-2 Transport Stream
audio: MPEG-4 AAC
Stream ID: 0f331569f0160c08dce66d17f81379d3c995ccbafd32242b230ed7c2ee0635b4:2/00000025
Language: <unknown>
Channels: 2 (front-left, front-right)
Sample rate: 48000
Depth: 32
Bitrate: 0
Max bitrate: 0
audio: E-AC-3 (ATSC A/52B)
Stream ID: 0f331569f0160c08dce66d17f81379d3c995ccbafd32242b230ed7c2ee0635b4:2/00000024
Language: <unknown>
Channels: 6 (front-left, front-right, front-center, lfe1, side-left, side-right)
Sample rate: 48000
Depth: 32
Bitrate: 0
Max bitrate: 0
Max bitrate: 0
video: H.264 (High Profile)
Stream ID: 0f331569f0160c08dce66d17f81379d3c995ccbafd32242b230ed7c2ee0635b4:2/00000021
Width: 1280
Height: 720
Depth: 24
Frame rate: 25/1
Pixel aspect ratio: 1/1
Interlaced: false
Bitrate: 0
Max bitrate: 0
playbin3 backtrace:
Thread 10 (Thread 0x7fd6f8ff9700 (LWP 30537)):
#0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x00007fd70ba3958f in g_cond_wait (cond=cond@entry=0x7fd6ec0ce928, mutex=mutex@entry=0x7fd6ec0ce918) at ../glib/gthread-posix.c:1422
#2 0x00007fd70ace588b in _gst_data_queue_wait_non_empty (queue=queue@entry=0x7fd6ec0ce970) at ../libs/gst/base/gstdataqueue.c:554
#3 0x00007fd70ace6b50 in gst_data_queue_pop (queue=0x7fd6ec0ce970, item=item@entry=0x7fd6f8ff8df8) at ../libs/gst/base/gstdataqueue.c:596
#4 0x00007fd70abb9023 in gst_multi_queue_loop (pad=<optimized out>) at ../plugins/elements/gstmultiqueue.c:2098
#5 0x00007fd70bba7ba1 in gst_task_func (task=0x7fd704422dd0) at ../gst/gsttask.c:328
#6 0x00007fd70ba133e3 in g_thread_pool_thread_proxy (data=<optimized out>) at ../glib/gthreadpool.c:308
#7 0x00007fd70ba12cfd in g_thread_proxy (data=0x7fd6ec0d04f0) at ../glib/gthread.c:805
#8 0x00007fd70b906fa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
#9 0x00007fd70b83760f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 9 (Thread 0x7fd6f97fa700 (LWP 30536)):
#0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x00007fd70ba3958f in g_cond_wait (cond=cond@entry=0x7fd6ec0ce868, mutex=mutex@entry=0x7fd6ec0ce858) at ../glib/gthread-posix.c:1422
#2 0x00007fd70ace588b in _gst_data_queue_wait_non_empty (queue=queue@entry=0x7fd6ec0ce8b0) at ../libs/gst/base/gstdataqueue.c:554
#3 0x00007fd70ace6b50 in gst_data_queue_pop (queue=0x7fd6ec0ce8b0, item=item@entry=0x7fd6f97f9df8) at ../libs/gst/base/gstdataqueue.c:596
#4 0x00007fd70abb9023 in gst_multi_queue_loop (pad=<optimized out>) at ../plugins/elements/gstmultiqueue.c:2098
#5 0x00007fd70bba7ba1 in gst_task_func (task=0x7fd704422ef0) at ../gst/gsttask.c:328
#6 0x00007fd70ba133e3 in g_thread_pool_thread_proxy (data=<optimized out>) at ../glib/gthreadpool.c:308
#7 0x00007fd70ba12cfd in g_thread_proxy (data=0x7fd6ec0d04a0) at ../glib/gthread.c:805
#8 0x00007fd70b906fa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
#9 0x00007fd70b83760f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 8 (Thread 0x7fd6f9ffb700 (LWP 30535)):
#0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x00007fd70ba3958f in g_cond_wait (cond=cond@entry=0x1b378a8, mutex=mutex@entry=0x1b37838) at ../glib/gthread-posix.c:1422
#2 0x00007fd70bb6e097 in do_probe_callbacks (pad=pad@entry=0x1b37820, info=info@entry=0x7fd6f9ff9930,
defaultval=defaultval@entry=GST_FLOW_OK) at ../gst/gstpad.c:3846
#3 0x00007fd70bb7148d in gst_pad_push_event_unchecked (pad=pad@entry=0x1b37820, event=0x7fd6ec0d8a70,
type=type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../gst/gstpad.c:5435
#4 0x00007fd70bb71ad4 in push_sticky (pad=pad@entry=0x1b37820, ev=ev@entry=0x7fd6f9ff9a10, user_data=user_data@entry=0x7fd6f9ff9a70)
at ../gst/gstevent.h:412
#5 0x00007fd70bb6f4b8 in events_foreach (pad=pad@entry=0x1b37820, func=func@entry=0x7fd70bb71a80 <push_sticky>,
user_data=user_data@entry=0x7fd6f9ff9a70) at ../gst/gstpad.c:608
#6 0x00007fd70bb7aa61 in check_sticky (event=0x7fd6ec0d8a70, pad=0x1b37820) at ../gst/gstpad.c:4058
#7 gst_pad_push_event (pad=pad@entry=0x1b37820, event=0x7fd6ec0d8a70) at ../gst/gstpad.c:5619
#8 0x00007fd70bb7aff4 in event_forward_func (pad=pad@entry=0x1b37820, data=data@entry=0x7fd6f9ff9b60) at ../gst/gstevent.h:412
#9 0x00007fd70bb773fe in gst_pad_forward (pad=pad@entry=0x1b3b640, forward=forward@entry=0x7fd70bb7af30 <event_forward_func>,
user_data=user_data@entry=0x7fd6f9ff9b60) at ../gst/gstpad.c:3074
#10 0x00007fd70bb7750d in gst_pad_event_default (pad=0x1b3b640, parent=<optimized out>, event=0x7fd6ec0d8a70) at ../gst/gstpad.c:3171
#11 0x00007fd70bb71157 in gst_pad_send_event_unchecked (pad=pad@entry=0x1b3b640, event=event@entry=0x7fd6ec0d8a70, type=<optimized out>,
type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../gst/gstpad.c:5844
#12 0x00007fd70bb71664 in gst_pad_push_event_unchecked (pad=pad@entry=0x7fd6ec0aa3c0, event=0x7fd6ec0d8a70,
type=type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../gst/gstpad.c:5488
#13 0x00007fd70bb71ad4 in push_sticky (pad=pad@entry=0x7fd6ec0aa3c0, ev=ev@entry=0x7fd6f9ff9d30, user_data=user_data@entry=0x7fd6f9ff9d90)
at ../gst/gstevent.h:412
#14 0x00007fd70bb6f4b8 in events_foreach (pad=pad@entry=0x7fd6ec0aa3c0, func=func@entry=0x7fd70bb71a80 <push_sticky>,
user_data=user_data@entry=0x7fd6f9ff9d90) at ../gst/gstpad.c:608
#15 0x00007fd70bb7aa61 in check_sticky (event=0x7fd6ec0d8a70, pad=0x7fd6ec0aa3c0) at ../gst/gstpad.c:4058
#16 gst_pad_push_event (pad=pad@entry=0x7fd6ec0aa3c0, event=0x7fd6ec0d8a70) at ../gst/gstpad.c:5619
#17 0x00007fd70bb7aff4 in event_forward_func (pad=pad@entry=0x7fd6ec0aa3c0, data=data@entry=0x7fd6f9ff9e80) at ../gst/gstevent.h:412
#18 0x00007fd70bb773fe in gst_pad_forward (pad=pad@entry=0x7fd6e80880a0, forward=forward@entry=0x7fd70bb7af30 <event_forward_func>,
user_data=user_data@entry=0x7fd6f9ff9e80) at ../gst/gstpad.c:3074
#19 0x00007fd70bb7750d in gst_pad_event_default (pad=pad@entry=0x7fd6e80880a0, parent=parent@entry=0x7fd6ec0ad1b0,
event=event@entry=0x7fd6ec0d8a70) at ../gst/gstpad.c:3171
#20 0x00007fd70ab9a3e1 in gst_concat_sink_event (pad=0x7fd6e80880a0, parent=0x7fd6ec0ad1b0, event=0x7fd6ec0d8a70)
at ../plugins/elements/gstconcat.c:689
#21 0x00007fd70bb71157 in gst_pad_send_event_unchecked (pad=pad@entry=0x7fd6e80880a0, event=event@entry=0x7fd6ec0d8a70,
type=<optimized out>, type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../gst/gstpad.c:5844
#22 0x00007fd70bb71664 in gst_pad_push_event_unchecked (pad=pad@entry=0x7fd6e8006060, event=0x7fd6ec0d8a70,
type=type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../gst/gstpad.c:5488
#23 0x00007fd70bb71ad4 in push_sticky (pad=pad@entry=0x7fd6e8006060, ev=ev@entry=0x7fd6f9ffa120, user_data=user_data@entry=0x7fd6f9ffa180)
at ../gst/gstevent.h:412
#24 0x00007fd70bb6f4b8 in events_foreach (pad=pad@entry=0x7fd6e8006060, func=func@entry=0x7fd70bb71a80 <push_sticky>,
user_data=user_data@entry=0x7fd6f9ffa180) at ../gst/gstpad.c:608
#25 0x00007fd70bb7aa61 in check_sticky (event=0x7fd6ec0d8a70, pad=0x7fd6e8006060) at ../gst/gstpad.c:4058
#26 gst_pad_push_event (pad=pad@entry=0x7fd6e8006060, event=0x7fd6ec0d8a70) at ../gst/gstpad.c:5619
#27 0x00007fd70bb7aff4 in event_forward_func (pad=pad@entry=0x7fd6e8006060, data=data@entry=0x7fd6f9ffa270) at ../gst/gstevent.h:412
#28 0x00007fd70bb773fe in gst_pad_forward (pad=pad@entry=0x7fd6ec0c2a50, forward=forward@entry=0x7fd70bb7af30 <event_forward_func>,
user_data=user_data@entry=0x7fd6f9ffa270) at ../gst/gstpad.c:3074
#29 0x00007fd70bb7750d in gst_pad_event_default (pad=0x7fd6ec0c2a50, parent=<optimized out>, event=0x7fd6ec0d8a70) at ../gst/gstpad.c:3171
#30 0x00007fd70bb71157 in gst_pad_send_event_unchecked (pad=pad@entry=0x7fd6ec0c2a50, event=event@entry=0x7fd6ec0d8a70,
type=<optimized out>, type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../gst/gstpad.c:5844
#31 0x00007fd70bb71664 in gst_pad_push_event_unchecked (pad=pad@entry=0x1b3bd90, event=0x7fd6ec0d8a70,
type=type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../gst/gstpad.c:5488
#32 0x00007fd70bb71ad4 in push_sticky (pad=pad@entry=0x1b3bd90, ev=ev@entry=0x7fd6f9ffa440, user_data=user_data@entry=0x7fd6f9ffa4a0)
at ../gst/gstevent.h:412
#33 0x00007fd70bb6f4b8 in events_foreach (pad=pad@entry=0x1b3bd90, func=func@entry=0x7fd70bb71a80 <push_sticky>,
user_data=user_data@entry=0x7fd6f9ffa4a0) at ../gst/gstpad.c:608
#34 0x00007fd70bb7aa61 in check_sticky (event=0x7fd6ec0d8a70, pad=0x1b3bd90) at ../gst/gstpad.c:4058
#35 gst_pad_push_event (pad=pad@entry=0x1b3bd90, event=0x7fd6ec0d8a70) at ../gst/gstpad.c:5619
#36 0x00007fd70bb7aff4 in event_forward_func (pad=pad@entry=0x1b3bd90, data=data@entry=0x7fd6f9ffa590) at ../gst/gstevent.h:412
#37 0x00007fd70bb773fe in gst_pad_forward (pad=pad@entry=0x7fd6ec0c27f0, forward=forward@entry=0x7fd70bb7af30 <event_forward_func>,
user_data=user_data@entry=0x7fd6f9ffa590) at ../gst/gstpad.c:3074
#38 0x00007fd70bb7750d in gst_pad_event_default (pad=0x7fd6ec0c27f0, parent=<optimized out>, event=0x7fd6ec0d8a70) at ../gst/gstpad.c:3171
#39 0x00007fd70bb71157 in gst_pad_send_event_unchecked (pad=pad@entry=0x7fd6ec0c27f0, event=event@entry=0x7fd6ec0d8a70,
type=<optimized out>, type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../gst/gstpad.c:5844
#40 0x00007fd70bb71664 in gst_pad_push_event_unchecked (pad=pad@entry=0x7fd6ec0c70f0, event=0x7fd6ec0d8a70,
type=type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../gst/gstpad.c:5488
#41 0x00007fd70bb71ad4 in push_sticky (pad=pad@entry=0x7fd6ec0c70f0, ev=ev@entry=0x7fd6f9ffa760, user_data=user_data@entry=0x7fd6f9ffa7c0)
at ../gst/gstevent.h:412
#42 0x00007fd70bb6f4b8 in events_foreach (pad=pad@entry=0x7fd6ec0c70f0, func=func@entry=0x7fd70bb71a80 <push_sticky>,
user_data=user_data@entry=0x7fd6f9ffa7c0) at ../gst/gstpad.c:608
#43 0x00007fd70bb7aa61 in check_sticky (event=0x7fd6ec0d8a70, pad=0x7fd6ec0c70f0) at ../gst/gstpad.c:4058
#44 gst_pad_push_event (pad=0x7fd6ec0c70f0, event=event@entry=0x7fd6ec0d8a70) at ../gst/gstpad.c:5619
#45 0x00007fd70adc0eca in gst_video_decoder_push_event (decoder=decoder@entry=0x7fd6e8074bb0, event=event@entry=0x7fd6ec0d8a70)
at ../gst-libs/gst/video/gstvideodecoder.c:978
#46 0x00007fd70adc5964 in gst_video_decoder_sink_event_default (decoder=<optimized out>, event=0x7fd6ec0d8a70)
at ../gst-libs/gst/video/gstvideodecoder.c:1469
#47 0x00007fd70bb71157 in gst_pad_send_event_unchecked (pad=pad@entry=0x7fd6ec0c6ea0, event=event@entry=0x7fd6ec0d8a70,
type=<optimized out>, type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../gst/gstpad.c:5844
#48 0x00007fd70bb71664 in gst_pad_push_event_unchecked (pad=pad@entry=0x7fd6ec0c60c0, event=0x7fd6ec0d8a70,
type=type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../gst/gstpad.c:5488
#49 0x00007fd70bb71ad4 in push_sticky (pad=0x7fd6ec0c60c0, ev=0x7fd6f9ffab90, user_data=0x7fd6f9ffabf0) at ../gst/gstevent.h:412
#50 0x00007fd70bb6f4b8 in events_foreach (pad=pad@entry=0x7fd6ec0c60c0, func=func@entry=0x7fd70bb71db0 <sticky_changed>,
user_data=user_data@entry=0x7fd6f9ffabf0) at ../gst/gstpad.c:608
#51 0x00007fd70bb7197a in gst_pad_push_event_unchecked (pad=pad@entry=0x7fd6ec0c60c0, event=0x7fd6ec0d8840,
type=type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../gst/gstpad.c:5464
#52 0x00007fd70bb71ad4 in push_sticky (pad=pad@entry=0x7fd6ec0c60c0, ev=ev@entry=0x7fd6f9ffacd0, user_data=user_data@entry=0x7fd6f9ffad30)
at ../gst/gstevent.h:412
#53 0x00007fd70bb6f4b8 in events_foreach (pad=pad@entry=0x7fd6ec0c60c0, func=func@entry=0x7fd70bb71a80 <push_sticky>,
user_data=user_data@entry=0x7fd6f9ffad30) at ../gst/gstpad.c:608
#54 0x00007fd70bb7aa61 in check_sticky (event=0x7fd6ec0d8840, pad=0x7fd6ec0c60c0) at ../gst/gstpad.c:4058
#55 gst_pad_push_event (pad=pad@entry=0x7fd6ec0c60c0, event=event@entry=0x7fd6ec0d8840) at ../gst/gstpad.c:5619
#56 0x00007fd70abb9843 in gst_single_queue_push_one (allow_drop=<synthetic pointer>, object=0x7fd6ec0d8840, sq=0x7fd6ec0cc900,
mq=0x1b3f080) at ../plugins/elements/gstmultiqueue.c:1974
#57 gst_multi_queue_loop (pad=<optimized out>) at ../plugins/elements/gstmultiqueue.c:2252
#58 0x00007fd70bba7ba1 in gst_task_func (task=0x7fd6ec0d1050) at ../gst/gsttask.c:328
#59 0x00007fd70ba133e3 in g_thread_pool_thread_proxy (data=<optimized out>) at ../glib/gthreadpool.c:308
#60 0x00007fd70ba12cfd in g_thread_proxy (data=0x7fd6ec0d0450) at ../glib/gthread.c:805
#61 0x00007fd70b906fa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
#62 0x00007fd70b83760f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 7 (Thread 0x7fd6faffd700 (LWP 30533)):
#0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x00007fd70ba396a7 in g_cond_wait_until (cond=cond@entry=0x1b17a88, mutex=mutex@entry=0x1b17a80, end_time=end_time@entry=22068008315)
at ../glib/gthread-posix.c:1470
#2 0x00007fd70b9c2381 in g_async_queue_pop_intern_unlocked (queue=queue@entry=0x1b17a80, wait=wait@entry=1,
end_time=end_time@entry=22068008315) at ../glib/gasyncqueue.c:422
#3 0x00007fd70b9c2921 in g_async_queue_timeout_pop (queue=0x1b17a80, timeout=timeout@entry=15000000) at ../glib/gasyncqueue.c:545
#4 0x00007fd70ba13481 in g_thread_pool_wait_for_new_pool () at ../glib/gthreadpool.c:168
#5 g_thread_pool_thread_proxy (data=<optimized out>) at ../glib/gthreadpool.c:365
#6 0x00007fd70ba12cfd in g_thread_proxy (data=0x7fd704403940) at ../glib/gthread.c:805
#7 0x00007fd70b906fa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
#8 0x00007fd70b83760f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 6 (Thread 0x7fd6fb7fe700 (LWP 30531)):
#0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x00007fd70ba3958f in g_cond_wait (cond=cond@entry=0x7fd70001b710, mutex=mutex@entry=0x7fd70001b6e8) at ../glib/gthread-posix.c:1422
#2 0x00007fd70ace6553 in gst_data_queue_push (queue=0x7fd70001b740, item=item@entry=0x7fd6ec139b20)
at ../libs/gst/base/gstdataqueue.c:521
#3 0x00007fd70abbac58 in gst_multi_queue_chain (pad=<optimized out>, parent=<optimized out>, buffer=<optimized out>)
at ../plugins/elements/gstmultiqueue.c:2448
#4 0x00007fd70bb73042 in gst_pad_chain_data_unchecked (data=0x7fd6ec138d80, type=4112, pad=0x7fd6ec0abd30) at ../gst/gstpad.c:4399
#5 gst_pad_push_data (pad=pad@entry=0x7fd6ec0104d0, type=type@entry=4112, data=data@entry=0x7fd6ec138d80) at ../gst/gstpad.c:4655
#6 0x00007fd70bb79ac2 in gst_pad_push (pad=pad@entry=0x7fd6ec0104d0, buffer=buffer@entry=0x7fd6ec138d80) at ../gst/gstpad.c:4774
#7 0x00007fd70bb5dfdb in gst_proxy_pad_chain_default (pad=<optimized out>, parent=<optimized out>, buffer=0x7fd6ec138d80)
at ../gst/gstghostpad.c:127
#8 0x00007fd70bb73042 in gst_pad_chain_data_unchecked (data=0x7fd6ec138d80, type=4112, pad=0x1b37a80) at ../gst/gstpad.c:4399
#9 gst_pad_push_data (pad=pad@entry=0x7fd6ec0aad00, type=type@entry=4112, data=data@entry=0x7fd6ec138d80) at ../gst/gstpad.c:4655
#10 0x00007fd70bb79ac2 in gst_pad_push (pad=0x7fd6ec0aad00, buffer=0x7fd6ec138d80) at ../gst/gstpad.c:4774
#11 0x00007fd70acd5010 in gst_base_transform_chain (pad=<optimized out>, parent=0x7fd6ec0b6120, buffer=<optimized out>)
at ../libs/gst/base/gstbasetransform.c:2377
#12 0x00007fd70bb73042 in gst_pad_chain_data_unchecked (data=0x7fd6ec138d80, type=4112, pad=0x7fd6ec0aaab0) at ../gst/gstpad.c:4399
#13 gst_pad_push_data (pad=pad@entry=0x7fd6ec0aa860, type=type@entry=4112, data=data@entry=0x7fd6ec138d80) at ../gst/gstpad.c:4655
#14 0x00007fd70bb79ac2 in gst_pad_push (pad=0x7fd6ec0aa860, buffer=buffer@entry=0x7fd6ec138d80) at ../gst/gstpad.c:4774
#15 0x00007fd70acb65a7 in gst_base_parse_push_frame (parse=parse@entry=0x7fd6ec0afdc0, frame=frame@entry=0x7fd6ec11a140)
at ../libs/gst/base/gstbaseparse.c:2589
#16 0x00007fd70acb9301 in gst_base_parse_handle_and_push_frame (frame=0x7fd6ec11a140, parse=0x7fd6ec0afdc0)
at ../libs/gst/base/gstbaseparse.c:2440
#17 gst_base_parse_finish_frame (parse=parse@entry=0x7fd6ec0afdc0, frame=frame@entry=0x7fd6ec11a140, size=size@entry=319)
at ../libs/gst/base/gstbaseparse.c:2747
#18 0x00007fd7081321ff in gst_h264_parse_handle_frame (parse=0x7fd6ec0afdc0, frame=0x7fd6ec11a140, skipsize=0x7fd6fb7fd54c)
at ../gst/videoparsers/gsth264parse.c:1553
#19 0x00007fd70acb13c5 in gst_base_parse_handle_buffer (parse=parse@entry=0x7fd6ec0afdc0, buffer=<optimized out>,
skip=skip@entry=0x7fd6fb7fd54c, flushed=flushed@entry=0x7fd6fb7fd550) at ../libs/gst/base/gstbaseparse.c:2248
#20 0x00007fd70acb722b in gst_base_parse_chain (pad=<optimized out>, parent=0x7fd6ec0afdc0, buffer=<optimized out>)
at ../libs/gst/base/gstbaseparse.c:3297
#21 0x00007fd70bb73042 in gst_pad_chain_data_unchecked (data=0x7fd704438b40, type=4112, pad=0x7fd6ec0aa610) at ../gst/gstpad.c:4399
#22 gst_pad_push_data (pad=pad@entry=0x1b4d530, type=type@entry=4112, data=data@entry=0x7fd704438b40) at ../gst/gstpad.c:4655
#23 0x00007fd70bb79ac2 in gst_pad_push (pad=0x1b4d530, buffer=buffer@entry=0x7fd704438b40) at ../gst/gstpad.c:4774
#24 0x00007fd708218319 in gst_ts_demux_push_pending_data (demux=demux@entry=0x7fd6ec07a070, stream=stream@entry=0x7fd6ec097220,
target_program=target_program@entry=0x0) at ../gst/mpegtsdemux/tsdemux.c:3297
#25 0x00007fd7082197e5 in gst_ts_demux_handle_packet (section=<optimized out>, packet=0x7fd6fb7fd840, stream=0x7fd6ec097220,
demux=0x7fd6ec07a070) at ../gst/mpegtsdemux/tsdemux.c:3365
#26 gst_ts_demux_push (base=0x7fd6ec07a070, packet=0x7fd6fb7fd840, section=<optimized out>) at ../gst/mpegtsdemux/tsdemux.c:3449
#27 0x00007fd7082107f2 in mpegts_base_chain (pad=<optimized out>, parent=0x7fd6ec07a070, buf=<optimized out>)
at ../gst/mpegtsdemux/mpegtsbase.c:1497
#28 0x00007fd70bb73042 in gst_pad_chain_data_unchecked (data=0x7fd70441f000, type=4112, pad=0x1b4d2e0) at ../gst/gstpad.c:4399
#29 gst_pad_push_data (pad=pad@entry=0x1b4d090, type=type@entry=4112, data=data@entry=0x7fd70441f000) at ../gst/gstpad.c:4655
#30 0x00007fd70bb79ac2 in gst_pad_push (pad=0x1b4d090, buffer=0x7fd70441f000) at ../gst/gstpad.c:4774
#31 0x00007fd70bb73042 in gst_pad_chain_data_unchecked (data=0x7fd70441f000, type=4112, pad=0x1b4ce40) at ../gst/gstpad.c:4399
#32 gst_pad_push_data (pad=pad@entry=0x1b36c40, type=type@entry=4112, data=data@entry=0x7fd70441f000) at ../gst/gstpad.c:4655
#33 0x00007fd70bb79ac2 in gst_pad_push (pad=pad@entry=0x1b36c40, buffer=buffer@entry=0x7fd70441f000) at ../gst/gstpad.c:4774
#34 0x00007fd70bb5dfdb in gst_proxy_pad_chain_default (pad=<optimized out>, parent=<optimized out>, buffer=0x7fd70441f000)
at ../gst/gstghostpad.c:127
#35 0x00007fd70bb73042 in gst_pad_chain_data_unchecked (data=0x7fd70441f000, type=4112, pad=0x1b3ac80) at ../gst/gstpad.c:4399
#36 gst_pad_push_data (pad=pad@entry=0x1b362c0, type=type@entry=4112, data=data@entry=0x7fd70441f000) at ../gst/gstpad.c:4655
#37 0x00007fd70bb79ac2 in gst_pad_push (pad=pad@entry=0x1b362c0, buffer=buffer@entry=0x7fd70441f000) at ../gst/gstpad.c:4774
#38 0x00007fd70bb5dfdb in gst_proxy_pad_chain_default (pad=<optimized out>, parent=<optimized out>, buffer=0x7fd70441f000)
at ../gst/gstghostpad.c:127
#39 0x00007fd70bb73042 in gst_pad_chain_data_unchecked (data=0x7fd70441f000, type=4112, pad=0x1b3a2c0) at ../gst/gstpad.c:4399
#40 gst_pad_push_data (pad=pad@entry=0x1b3aa10, type=type@entry=4112, data=data@entry=0x7fd70441f000) at ../gst/gstpad.c:4655
#41 0x00007fd70bb79ac2 in gst_pad_push (pad=pad@entry=0x1b3aa10, buffer=buffer@entry=0x7fd70441f000) at ../gst/gstpad.c:4774
#42 0x00007fd70bb5dfdb in gst_proxy_pad_chain_default (pad=<optimized out>, parent=<optimized out>, buffer=0x7fd70441f000)
at ../gst/gstghostpad.c:127
#43 0x00007fd70bb73042 in gst_pad_chain_data_unchecked (data=0x7fd70441f000, type=4112, pad=0x1b369e0) at ../gst/gstpad.c:4399
#44 gst_pad_push_data (pad=pad@entry=0x1b4cbf0, type=type@entry=4112, data=data@entry=0x7fd70441f000) at ../gst/gstpad.c:4655
#45 0x00007fd70bb79ac2 in gst_pad_push (pad=0x1b4cbf0, buffer=buffer@entry=0x7fd70441f000) at ../gst/gstpad.c:4774
#46 0x00007fd70abc87cf in gst_queue2_push_one (queue=0x7fd704406000) at ../plugins/elements/gstqueue2.c:3074
#47 gst_queue2_loop (pad=<optimized out>) at ../plugins/elements/gstqueue2.c:3199
#48 0x00007fd70bba7ba1 in gst_task_func (task=0x1b34830) at ../gst/gsttask.c:328
#49 0x00007fd70ba133e3 in g_thread_pool_thread_proxy (data=<optimized out>) at ../glib/gthreadpool.c:308
#50 0x00007fd70ba12cfd in g_thread_proxy (data=0x7fd704004e30) at ../glib/gthread.c:805
#51 0x00007fd70b906fa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
#52 0x00007fd70b83760f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 5 (Thread 0x7fd6fbfff700 (LWP 30530)):
#0 0x00007fd70b82c959 in __GI___poll (fds=0x7fd700015190, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1 0x00007fd70ba3454e in g_main_context_poll (priority=<optimized out>, n_fds=2, fds=0x7fd700015190, timeout=<optimized out>,
context=0x7fd7000121c0) at ../glib/gmain.c:4383
#2 g_main_context_iterate (context=0x7fd7000121c0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
at ../glib/gmain.c:4079
#3 0x00007fd70ba3488a in g_main_loop_run (loop=0x7fd7000122b0) at ../glib/gmain.c:4278
#4 0x00007fd70aa35e16 in gdbus_shared_thread_func (user_data=0x7fd700012190) at ../gio/gdbusprivate.c:279
#5 0x00007fd70ba12cfd in g_thread_proxy (data=0x7fd704004ed0) at ../glib/gthread.c:805
#6 0x00007fd70b906fa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
#7 0x00007fd70b83760f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 4 (Thread 0x7fd7094eb700 (LWP 30529)):
#0 0x00007fd70b82c959 in __GI___poll (fds=0x7fd70402fb50, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1 0x00007fd70ba3454e in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7fd70402fb50, timeout=<optimized out>,
context=0x7fd70402fa60) at ../glib/gmain.c:4383
#2 g_main_context_iterate (context=context@entry=0x7fd70402fa60, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
at ../glib/gmain.c:4079
#3 0x00007fd70ba3465c in g_main_context_iteration (context=0x7fd70402fa60, may_block=1) at ../glib/gmain.c:4145
#4 0x00007fd70a6ee01d in ?? () from /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
#5 0x00007fd70ba12cfd in g_thread_proxy (data=0x7fd7040046d0) at ../glib/gthread.c:805
#6 0x00007fd70b906fa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
#7 0x00007fd70b83760f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 3 (Thread 0x7fd709eb9700 (LWP 30528)):
#0 0x00007fd70b82c959 in __GI___poll (fds=0x1b1ca90, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1 0x00007fd70ba3454e in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x1b1ca90, timeout=<optimized out>,
context=0x1b58800) at ../glib/gmain.c:4383
#2 g_main_context_iterate (context=context@entry=0x1b58800, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
at ../glib/gmain.c:4079
#3 0x00007fd70ba3465c in g_main_context_iteration (context=0x1b58800, may_block=may_block@entry=1) at ../glib/gmain.c:4145
#4 0x00007fd70ba346a1 in glib_worker_main (data=<optimized out>) at ../glib/gmain.c:6025
#5 0x00007fd70ba12cfd in g_thread_proxy (data=0x1b2b720) at ../glib/gthread.c:805
#6 0x00007fd70b906fa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
#7 0x00007fd70b83760f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 2 (Thread 0x7fd70a6ba700 (LWP 30527)):
#0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x00007fd70ba3958f in g_cond_wait (cond=cond@entry=0x7fd704406350, mutex=mutex@entry=0x7fd704406328) at ../glib/gthread-posix.c:1422
#2 0x00007fd70abc67d5 in gst_queue2_wait_free_space (queue=0x7fd704406000) at ../plugins/elements/gstqueue2.c:1925
#3 gst_queue2_chain_buffer_or_buffer_list (queue=0x7fd704406000, item=0x7fd705fcaa20, item_type=GST_QUEUE2_ITEM_TYPE_BUFFER)
at ../plugins/elements/gstqueue2.c:2913
#4 0x00007fd70bb73042 in gst_pad_chain_data_unchecked (data=0x7fd705fcaa20, type=4112, pad=0x1b4c9a0) at ../gst/gstpad.c:4399
#5 gst_pad_push_data (pad=pad@entry=0x1b4c500, type=type@entry=4112, data=data@entry=0x7fd705fcaa20) at ../gst/gstpad.c:4655
#6 0x00007fd70bb79ac2 in gst_pad_push (pad=0x1b4c500, buffer=0x7fd705fcaa20) at ../gst/gstpad.c:4774
#7 0x00007fd70bb73042 in gst_pad_chain_data_unchecked (data=0x7fd705fcaa20, type=4112, pad=0x1b4c2b0) at ../gst/gstpad.c:4399
#8 gst_pad_push_data (pad=pad@entry=0x1b4c060, type=type@entry=4112, data=data@entry=0x7fd705fcaa20) at ../gst/gstpad.c:4655
#9 0x00007fd70bb79ac2 in gst_pad_push (pad=pad@entry=0x1b4c060, buffer=0x7fd705fcaa20) at ../gst/gstpad.c:4774
#10 0x00007fd70acd0af5 in gst_base_src_loop (pad=0x1b4c060) at ../libs/gst/base/gstbasesrc.c:3030
#11 0x00007fd70bba7ba1 in gst_task_func (task=0x1b343b0) at ../gst/gsttask.c:328
#12 0x00007fd70ba133e3 in g_thread_pool_thread_proxy (data=<optimized out>) at ../glib/gthreadpool.c:308
#13 0x00007fd70ba12cfd in g_thread_proxy (data=0x1b2b590) at ../glib/gthread.c:805
#14 0x00007fd70b906fa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
#15 0x00007fd70b83760f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 1 (Thread 0x7fd70b569740 (LWP 30522)):
#0 0x00007fd70b82c959 in __GI___poll (fds=0x1aba950, nfds=2, timeout=100) at ../sysdeps/unix/sysv/linux/poll.c:29
#1 0x00007fd70ba3454e in g_main_context_poll (priority=<optimized out>, n_fds=2, fds=0x1aba950, timeout=<optimized out>,
context=0x1b2f320) at ../glib/gmain.c:4383
#2 g_main_context_iterate (context=0x1b2f320, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
at ../glib/gmain.c:4079
#3 0x00007fd70ba3488a in g_main_loop_run (loop=0x1b2f3e0) at ../glib/gmain.c:4278
#4 0x000000000040412d in main (argc=<optimized out>, argv=<optimized out>) at ../tools/gst-launch.c:1245https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/729Stepping backwards and forwards in 1 frame increments completely breaks webm ...2022-11-10T09:21:07ZAlbert O'SheaStepping backwards and forwards in 1 frame increments completely breaks webm playbackAfter filing a bug report to the totem gitlab [here](https://gitlab.gnome.org/GNOME/totem/-/issues/477), I was directed here instead because apparently the issue stems from the back-end system of totem. Here's my original bug report:
> ...After filing a bug report to the totem gitlab [here](https://gitlab.gnome.org/GNOME/totem/-/issues/477), I was directed here instead because apparently the issue stems from the back-end system of totem. Here's my original bug report:
> Using the shortcuts ',' and '.' to step single frames breaks the playback of webm videos. The video becomes un-resumable, the progress bar displays incorrectly, etc. You can reproduce this easily by opening a webm file and going forwards and backwards a few times using those shortcuts. The debug output spits out the error: `GStreamer-CRITICAL \*\*: 11:14:16.929: gst_segment_do_seek: assertion 'start <= stop' failed`
I did some searching for similar issues on this gitlab and found [this](https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/42) and [this](https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/579). With them being years old I decided I may as well open a new issue.https://gitlab.freedesktop.org/gstreamer/gst-examples/-/issues/51Required gstreamer plugin 'nice' not found2021-08-31T23:53:34ZTerence DarwenRequired gstreamer plugin 'nice' not foundI'm trying to run the webrtc-send-recv example here: https://gitlab.freedesktop.org/gstreamer/gst-examples/-/blob/master/webrtc/sendrecv/gst/webrtc-sendrecv.c
I've followed the instructions and have successfully built the executable, bu...I'm trying to run the webrtc-send-recv example here: https://gitlab.freedesktop.org/gstreamer/gst-examples/-/blob/master/webrtc/sendrecv/gst/webrtc-sendrecv.c
I've followed the instructions and have successfully built the executable, but when running it I get a "Required gstreamer plugin 'nice' not found" error.
I've manually built gstreamer v1.19.1, base plugins and the good the bad and the ugly plugins as well as manually built and installed libnice as instructed here https://github.com/libnice/libnice but still get this plug-in error.
I'm using Ubuntu 18.04.3 LTS for this.https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1654wpesrc stalls when there is an error with the location2022-03-12T11:23:18ZMarianna Smidth Buschlewpesrc stalls when there is an error with the locationSpecifying a file path in the location without using `file:` makes the whole thing stall.
The only way to recover is to kill the process.
This works:
```
gst-launch-1.0 -v wpesrc location="file:/home/msb/overlay.html" ! queue ! videocon...Specifying a file path in the location without using `file:` makes the whole thing stall.
The only way to recover is to kill the process.
This works:
```
gst-launch-1.0 -v wpesrc location="file:/home/msb/overlay.html" ! queue ! videoconvert ! ximagesink
```
This stalls:
```
gst-launch-1.0 -v wpesrc location="/home/msb/overlay.html" ! queue ! videoconvert ! ximagesink
```
From `filesrc`/`sink` I didn't expect to have to specify `file:` in the location.
It is fair enough if it is necessary, but then I thing it should be clearer in the documentation.
And should fail gracefully instead of stalling...
Same thing happens if I use fx `location="gstreamer.freedesktop.org"` (without the `https://`)https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/728possibly leak ?2021-08-30T14:20:26ZDavid Dpossibly leak ? I use Gstreamer with kvssink to stream to aws. My pipeline started with appsrc and i emit-signal to a g_main_loop in a Gthread for gstreamer push-buffer.
app is a structure of user data
app->VideoDataB... I use Gstreamer with kvssink to stream to aws. My pipeline started with appsrc and i emit-signal to a g_main_loop in a Gthread for gstreamer push-buffer.
app is a structure of user data
app->VideoDataBuffer is an new array of unsigned char pointer
This code seem to leak about 0.1 mo / 5 secondes but stream perfectly =>
VideoBuffer = gst_buffer_new_allocate(NULL, app->VideoLengthBuffer, NULL);
gst_buffer_fill(VideoBuffer, 0, app->VideoDataBuffer, app->VideoLengthBuffer);
g_signal_emit_by_name(app->VideoSource, "push-buffer", VideoBuffer, &ret);
gst_buffer_unref(VideoBuffer);
This code not leak but rollback many time =>
VideoBuffer = gst_buffer_new_allocate(NULL, app->VideoLengthBuffer, NULL);
gst_buffer_append_memory(VideoBuffer, gst_memory_new_wrapped(GST_MEMORY_FLAG_READONLY,
app->VideoDataBuffer, app->VideoLengthBuffer, 0, app->VideoLengthBuffer, NULL, NULL));
g_signal_emit_by_name(app->VideoSource, "push-buffer", VideoBuffer, &ret);
gst_buffer_unref(VideoBuffer);https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/91GStreamer 1.19.1 not working on Raspberry Pi 32-bit OS2021-09-01T18:08:09ZQ-engineeringGStreamer 1.19.1 not working on Raspberry Pi 32-bit OSGStreamer 1.19.1 is not working on an armv7l system like the Raspberry Pi (32-bit OS). It looks like the sinks (autovideosink, appsink) don't work.
On an aarch64 system (Raspberry Pi 4 with 64-bit OS) everything works fine.GStreamer 1.19.1 is not working on an armv7l system like the Raspberry Pi (32-bit OS). It looks like the sinks (autovideosink, appsink) don't work.
On an aarch64 system (Raspberry Pi 4 with 64-bit OS) everything works fine.https://gitlab.freedesktop.org/gstreamer/gst-examples/-/issues/50webrtc-sendrecv Docker build fails during compilation2023-05-18T15:55:53ZAbhijeetwebrtc-sendrecv Docker build fails during compilationWhen I try to build the c application using docker I get error
webrtc-sendrecv.c: In function 'start_pipeline': webrtc-sendrecv.c:464:5: error: unknown type name 'GstRTPHeaderExtension' GstRTPHeaderExtension \*video_twcc, \*audio_twcc;...When I try to build the c application using docker I get error
webrtc-sendrecv.c: In function 'start_pipeline': webrtc-sendrecv.c:464:5: error: unknown type name 'GstRTPHeaderExtension' GstRTPHeaderExtension \*video_twcc, \*audio_twcc;
```
docker-compose up
Building sendrecv-gst
Sending build context to Docker daemon 42.5kB
Step 1/8 : FROM maxmcd/gstreamer:1.14-buster
---> 806c2f81c379
Step 2/8 : RUN apt-get --allow-releaseinfo-change update
---> Using cache
---> 5dd173f1fe6c
Step 3/8 : RUN apt-get update -y
---> Using cache
---> fb57f3a4c2f0
Step 4/8 : RUN apt-get install -y libjson-glib-dev
---> Using cache
---> 01c95fdbd85f
Step 5/8 : WORKDIR /opt/
---> Using cache
---> ef2010a39972
Step 6/8 : COPY . /opt/
---> Using cache
---> a72bdee43fec
Step 7/8 : RUN make
---> Running in f9fd44daafd4
"gcc" -O0 -ggdb -Wall -fno-omit-frame-pointer -pthread -I/usr/include/json-glib-1.0 -I/usr/include/libsoup-2.4 -I/usr/include/libxml2 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/gstreamer-1.0 webrtc-sendrecv.c -pthread -I/usr/include/json-glib-1.0 -I/usr/include/libsoup-2.4 -I/usr/include/libxml2 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/gstreamer-1.0 -lgstsdp-1.0 -lgstwebrtc-1.0 -lgstbase-1.0 -lgstreamer-1.0 -ljson-glib-1.0 -lsoup-2.4 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -o webrtc-sendrecv
webrtc-sendrecv.c: In function 'start_pipeline':
webrtc-sendrecv.c:464:5: error: unknown type name 'GstRTPHeaderExtension'
GstRTPHeaderExtension *video_twcc, *audio_twcc;
^~~~~~~~~~~~~~~~~~~~~
webrtc-sendrecv.c:468:18: warning: implicit declaration of function 'gst_rtp_header_extension_create_from_uri'; did you mean 'gst_rtp_buffer_add_extension_onebyte_header'? [-Wimplicit-function-declaration]
video_twcc = gst_rtp_header_extension_create_from_uri (RTP_TWCC_URI);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gst_rtp_buffer_add_extension_onebyte_header
webrtc-sendrecv.c:468:16: warning: assignment to 'int *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
video_twcc = gst_rtp_header_extension_create_from_uri (RTP_TWCC_URI);
^
webrtc-sendrecv.c:470:5: warning: implicit declaration of function 'gst_rtp_header_extension_set_id'; did you mean 'gst_rtp_buffer_set_extension_data'? [-Wimplicit-function-declaration]
gst_rtp_header_extension_set_id (video_twcc, 1);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gst_rtp_buffer_set_extension_data
webrtc-sendrecv.c:477:16: warning: assignment to 'int *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
audio_twcc = gst_rtp_header_extension_create_from_uri (RTP_TWCC_URI);
^
make: *** [Makefile:6: webrtc-sendrecv] Error 1
The command '/bin/sh -c make' returned a non-zero code: 2
ERROR: Service 'sendrecv-gst' failed to build : Build failed
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1653Segmentation fault by srtclientsrc2022-04-27T10:54:25ZAlexandrAvshenyukSegmentation fault by srtclientsrcHello GStreamer Team!
I have a GStreamer pipeline inside c++ app:
`srtclientsrc uri=srt://xxx.xxx.xxx.xxx:12000 latency=100 ! tsdemux ! h264parse ! video/x-h264 ! avdec_h264 ! autovideosink sync=false`
Randomly, 1 or 10 minutes after l...Hello GStreamer Team!
I have a GStreamer pipeline inside c++ app:
`srtclientsrc uri=srt://xxx.xxx.xxx.xxx:12000 latency=100 ! tsdemux ! h264parse ! video/x-h264 ! avdec_h264 ! autovideosink sync=false`
Randomly, 1 or 10 minutes after launching the app a segmentation fault appears. I launched my code with gdb and got this:
```
Thread 9 "srtsrc0:src" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffe4a9b700 (LWP 4343)]
0x00007ffff7fbc389 in ?? () from /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstsrt.so
(gdb) bt
#0 0x00007ffff7fbc389 in ()
at /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstsrt.so
#1 0x00007ffff64ac8a1 in () at /lib/x86_64-linux-gnu/libgstbase-1.0.so.0
#2 0x00007ffff64ae4dd in () at /lib/x86_64-linux-gnu/libgstbase-1.0.so.0
#3 0x00007ffff64b15bc in () at /lib/x86_64-linux-gnu/libgstbase-1.0.so.0
#4 0x00007ffff7f18107 in () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#5 0x00007ffff7db9374 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6 0x00007ffff7db8ad1 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#7 0x00007ffff7b27609 in start_thread (arg=<optimized out>)
at pthread_create.c:477
#8 0x00007ffff7a4e293 in clone ()
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb) bt full
#0 0x00007ffff7fbc389 in ()
at /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstsrt.so
#1 0x00007ffff64ac8a1 in () at /lib/x86_64-linux-gnu/libgstbase-1.0.so.0
#2 0x00007ffff64ae4dd in () at /lib/x86_64-linux-gnu/libgstbase-1.0.so.0
#3 0x00007ffff64b15bc in () at /lib/x86_64-linux-gnu/libgstbase-1.0.so.0
#4 0x00007ffff7f18107 in () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#5 0x00007ffff7db9374 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6 0x00007ffff7db8ad1 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#7 0x00007ffff7b27609 in start_thread (arg=<optimized out>)
at pthread_create.c:477
ret = <optimized out>
pd = <optimized out>
unwind_buf =
{cancel_jmp_buf = {{jmp_buf = {140737029715712, 500733984142824456, 140737336214574, 140737336214575, 140737336214720, 140737029713856, -500673938862599160, -500715932185881592}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = 0
#8 0x00007ffff7a4e293 in clone ()
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
```
Also I launched this pipeline with gst-launch-1.0 with debug `GST_DEBUG=audiotestsrc:5` and got this:
```
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Caught SIGSEGV
Spinning. Please run 'gdb gst-launch-1.0 16996' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core.
03:42:53.934309/SRT:RcvQ:worker*E:SRT.c: %880277680:No room to store incoming packet: offset=0 avail=0 ack.seq=130026467 pkt.seq=130026467 rcv-remain=8191
03:42:53.934520/SRT:RcvQ:worker*E:SRT.c: %880277680:No room to store incoming packet: offset=1 avail=0 ack.seq=130026467 pkt.seq=130026468 rcv-remain=8191
03:42:54.831517/SRT:RcvQ:worker*E:SRT.c: %880277680:No room to store incoming packet: offset=2 avail=0 ack.seq=130026467 pkt.seq=130026469 rcv-remain=8191
03:42:54.831993/SRT:RcvQ:worker*E:SRT.c: %880277680:No room to store incoming packet: offset=3 avail=0 ack.seq=130026467 pkt.seq=130026470 rcv-remain=8191
03:42:54.832068/SRT:RcvQ:worker*E:SRT.c: %880277680:No room to store incoming packet: offset=45 avail=0 ack.seq=130026467 pkt.seq=130026512 rcv-remain=8191
03:42:54.832108/SRT:RcvQ:worker*E:SRT.c: %880277680:No room to store incoming packet: offset=46 avail=0 ack.seq=130026467 pkt.seq=130026513 rcv-remain=8191
03:42:54.853990/SRT:RcvQ:worker*E:SRT.c: %880277680:No room to store incoming packet: offset=90 avail=0 ack.seq=130026467 pkt.seq=130026557 rcv-remain=8191
03:42:54.854303/SRT:RcvQ:worker*E:SRT.c: %880277680:No room to store incoming packet: offset=91 avail=0 ack.seq=130026467 pkt.seq=130026558 rcv-remain=8191
03:42:54.901897/SRT:RcvQ:worker*E:SRT.c: %880277680:No room to store incoming packet: offset=133 avail=0 ack.seq=130026467 pkt.seq=130026600 rcv-remain=8191
03:42:54.909167/SRT:RcvQ:worker*E:SRT.c: %880277680:No room to store incoming packet: offset=134 avail=0 ack.seq=130026467 pkt.seq=130026601 rcv-remain=8191
03:42:54.943962/SRT:RcvQ:worker*E:SRT.c: %880277680:No room to store incoming packet: offset=246 avail=0 ack.seq=130026467 pkt.seq=130026713 rcv-remain=8191
03:42:54.944335/SRT:RcvQ:worker*E:SRT.c: %880277680:No room to store incoming packet: offset=247 avail=0 ack.seq=130026467 pkt.seq=130026714 rcv-remain=8191
03:42:54.973951/SRT:RcvQ:worker*E:SRT.c: %880277680:No room to store incoming packet: offset=295 avail=0 ack.seq=130026467 pkt.seq=130026762 rcv-remain=8191
03:42:54.974376/SRT:RcvQ:worker*E:SRT.c: %880277680:No room to store incoming packet: offset=296 avail=0 ack.seq=130026467 pkt.seq=130026763 rcv-remain=8191
03:42:55.024084/SRT:RcvQ:worker*E:SRT.c: %880277680:No room to store incoming packet: offset=340 avail=0 ack.seq=130026467 pkt.seq=130026807 rcv-remain=8191
03:42:55.024489/SRT:RcvQ:worker*E:SRT.c: %880277680:No room to store incoming packet: offset=341 avail=0 ack.seq=130026467 pkt.seq=130026808 rcv-remain=8191
03:42:55.060896/SRT:RcvQ:worker*E:SRT.c: %880277680:No room to store incoming packet: offset=384 avail=0 ack.seq=130026467 pkt.seq=130026851 rcv-remain=8191
03:42:55.061374/SRT:RcvQ:worker*E:SRT.c: %880277680:No room to store incoming packet: offset=385 avail=0 ack.seq=130026467 pkt.seq=130026852 rcv-remain=8191
03:42:55.100892/SRT:RcvQ:worker*E:SRT.c: %880277680:No room to store incoming packet: offset=428 avail=0 ack.seq=130026467 pkt.seq=130026895 rcv-remain=8191
03:42:55.101245/SRT:RcvQ:worker*E:SRT.c: %880277680:No room to store incoming packet: offset=429 avail=0 ack.seq=130026467 pkt.seq=130026896 rcv-remain=8191
03:42:55.144046/SRT:RcvQ:worker*E:SRT.c: %880277680:No room to store incoming packet: offset=470 avail=0 ack.seq=130026467 pkt.seq=130026937 rcv-remain=8191
03:42:55.144397/SRT:RcvQ:worker*E:SRT.c: %880277680:No room to store incoming packet: offset=471 avail=0 ack.seq=130026467 pkt.seq=130026938 rcv-remain=8191
```
I use pop-os 20.04 LTS, GStreamer 1.16 and SRT (installed with GStreamer):
```
dpkg -l | grep srt
ii libsrt1:amd64 1.4.0-1build1 amd64 Secure Reliable Transport UDP streaming library
ii libsrtp2-1:amd64 2.3.0-2 amd64 Secure RTP (SRTP) and UST Reference
```
Thank you in advance!https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/920webmux can't support vp9 svc stream2023-07-08T09:46:12Z侯学华webmux can't support vp9 svc streamwebrtc vp9 svc stream width&height may change in progress.
webmmux can't support caps changed(new width&height).
(https://github.com/GStreamer/gst-plugins-good/blob/master/gst/matroska/matroska-mux.c)
Can ignore the width&height cha...webrtc vp9 svc stream width&height may change in progress.
webmmux can't support caps changed(new width&height).
(https://github.com/GStreamer/gst-plugins-good/blob/master/gst/matroska/matroska-mux.c)
Can ignore the width&height changed event?https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/919deinterlace: meson uses improper output format for ASM on *BSD OS's2021-08-27T07:43:24ZBrad Smithdeinterlace: meson uses improper output format for ASM on *BSD OS'sThe meson bits use the improper output format for *BSD OS's when added in <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/621>.
```
/usr/local/bin/nasm -I../gst-plugins-good-1.18.4/gst/deinterlace -I../gst-pl...The meson bits use the improper output format for *BSD OS's when added in <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/621>.
```
/usr/local/bin/nasm -I../gst-plugins-good-1.18.4/gst/deinterlace -I../gst-plugins-good-1.18.4/gst/deinterlace/x86/ -DARCH_X86_64=1 -DSTACK_ALIGNMENT=64 -DPIC -UPREFIX -f aoutb -o gst/deinterlace/libgstdeinterlace.so.p/yadif.asm.o ../gst-plugin
s-good-1.18.4/gst/deinterlace/x86/yadif.asm
../gst-plugins-good-1.18.4/gst/deinterlace/x86/yadif.asm:28: error: segment name `.rodata align=16' not recognized
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1651How to add probe in the pad of custom plugin?2021-08-26T20:22:13ZDewei WangHow to add probe in the pad of custom plugin?I am developing a custom plugin which might need to add a probe function to control the data flow. I know that I can write a `GstPadProbeReturn` type function and add it to pad with `gst_pad_add_probe()` fuction in the application level ...I am developing a custom plugin which might need to add a probe function to control the data flow. I know that I can write a `GstPadProbeReturn` type function and add it to pad with `gst_pad_add_probe()` fuction in the application level script which builds the GST pipeline. May I ask if there is some way to apply these functions to the script for custom plugin instead, which allows me to insert the probe to the pad? If so, may I know if there is any example?https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/935Video sink irregular stuttering2021-08-28T16:57:37Zzeno-endemann-kdabVideo sink irregular stutteringA simple pipeline such as
`gst-launch-1.0 videotestsrc horizontal-speed=10 ! video/x-raw, framerate=30/1, width=1600, height=900 ! autovideoconvert ! xvimagesink`
does show irregular stuttering in the output (usually after a few second...A simple pipeline such as
`gst-launch-1.0 videotestsrc horizontal-speed=10 ! video/x-raw, framerate=30/1, width=1600, height=900 ! autovideoconvert ! xvimagesink`
does show irregular stuttering in the output (usually after a few seconds). It does not matter what video sink I choose (glimagesink/autovideosink), result is the same.
However, if I encode the videotestsrc into a video file first, e.g.
`gst-launch-1.0 -e videotestsrc horizontal-speed=10 ! video/x-raw, framerate=30/1, width=1600, height=900 ! vaapipostproc ! vaapih264enc ! h264parse ! mp4mux ! filesink location=a.mp4`
and play that video back (using mpv), there is no stuttering whatsoever, which makes me think the video sinks generally are not well synchronized somehow.
I tested this on Kubuntu 21.04 as well as an up-to-date Arch Linux under KDE's kwin (X11 and wayland), and I got confirmation this also happens under Gnome desktops. When testing the pipeline using glimagesink or kmssink under a raw VT, playback is even more stuttery.https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/918qtdemux works incorrectly with opus codecs.2021-11-09T18:39:17ZDũng Hoàngqtdemux works incorrectly with opus codecs.Hi all, I am facing this problem while working on my project I create audio stream file with **qtmux **and stream it but qtdemux can't play it (caps of source pad always return NULL), and this file I can play it by vlc. I use gstreamer 1...Hi all, I am facing this problem while working on my project I create audio stream file with **qtmux **and stream it but qtdemux can't play it (caps of source pad always return NULL), and this file I can play it by vlc. I use gstreamer 1.16.2
This is pipeline to create file.
```
htdung@CaCs:~$ gst-launch-1.0 -e audiotestsrc num-buffers=100 ! opusenc ! qtmux ! filesink location=tmp.qt
```
This is pipeline to stream audio.
```
htdung@CaCs:~$ gst-launch-1.0 filesrc location=tmp.qt ! qtdemux ! rtpopuspay pt=96 ! udpsink host=127.0.0.1 port=10000
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
(gst-launch-1.0:6036): GStreamer-CRITICAL **: 14:25:01.954: gst_caps_get_structure: assertion 'GST_IS_CAPS (caps)' failed
(gst-launch-1.0:6036): GStreamer-CRITICAL **: 14:25:01.954: gst_structure_get_int: assertion 'structure != NULL' failed
ERROR: from element /GstPipeline:pipeline0/GstRtpOPUSPay:rtpopuspay0: GStreamer error: negotiation problem.
Additional debug info:
gstrtpbasepayload.c(712): gst_rtp_base_payload_chain (): /GstPipeline:pipeline0/GstRtpOPUSPay:rtpopuspay0:
No input format was negotiated, i.e. no caps event was received. Perhaps you need a parser or typefind element before the payloader
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
```
Note: But if I try to create the file with mp4mux qtdemux works fine. I tried to find the source code, it seems that it could be caused by hard code
```
case FOURCC_opus:
{
const guint8 *opus_data;
guint8 *channel_mapping = NULL;
guint32 rate;
guint8 channels;
guint8 channel_mapping_family;
guint8 stream_count;
guint8 coupled_count;
guint8 i;
opus_data = stsd_entry_data;
channels = GST_READ_UINT8 (opus_data + 45);
rate = GST_READ_UINT32_LE (opus_data + 48);
channel_mapping_family = GST_READ_UINT8 (opus_data + 54);
stream_count = GST_READ_UINT8 (opus_data + 55);
coupled_count = GST_READ_UINT8 (opus_data + 56);
if (channels > 0) {
channel_mapping = g_malloc (channels * sizeof (guint8));
for (i = 0; i < channels; i++)
channel_mapping[i] = GST_READ_UINT8 (opus_data + i + 57);
}
entry->caps = gst_codec_utils_opus_create_caps (rate, channels,
channel_mapping_family, stream_count, coupled_count,
channel_mapping);
break;
}
default:
break;
}
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/917matroskamux timebar does not work on vlc2021-08-26T12:09:01ZTulliogs-gitmatroskamux timebar does not work on vlcHi,
I succely save the video streaming in .mkv with matroskamux but when I open it with vlc, I can not advance the video with the timebar.
Do you have any idea? I add offset-to-zero but nothing append.
```
GError* error = NULL;
GstEle...Hi,
I succely save the video streaming in .mkv with matroskamux but when I open it with vlc, I can not advance the video with the timebar.
Do you have any idea? I add offset-to-zero but nothing append.
```
GError* error = NULL;
GstElement* source;
GstElement* filesink;
GstElement* matrox;
GstCaps* caps = gst_caps_new_simple("application/x-rtp",
"media", G_TYPE_STRING, "video",
"payload", G_TYPE_INT, 96,
"encoding-name", G_TYPE_STRING, "H264",
NULL);
pipeline = gst_parse_launch("udpsrc name=source ! rtpjitterbuffer !rtph264depay !h264parse !avdec_h264 ! tee name = t !queue !autovideoconvert !matroskamux name=matrox !filesink name=myFile t. ! queue ! videoconvert !d3dvideosink name=mysink", &error);
filesink = gst_bin_get_by_name(GST_BIN(pipeline), "myFile");
g_object_set(filesink, "location", strPathVideo.c_str(), NULL);
matrox = gst_bin_get_by_name(GST_BIN(pipeline), "matrox");
g_object_set(G_OBJECT(matrox), "offset-to-zero", true, NULL);
source = gst_bin_get_by_name(GST_BIN(pipeline), "source");
g_object_set(G_OBJECT(source), "caps", caps, NULL);
g_object_set(G_OBJECT(source), "port", m_port, NULL);
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1650h265parse: Breakage converting byte-stream/au format to hvc1/au format betwee...2021-08-25T22:38:46Zlawrencetrouph265parse: Breakage converting byte-stream/au format to hvc1/au format between 1.16.3 and 1.18.3We have a camera which outputs an H265 stream in byte-stream/au format. With gst-plugins-bad 1.16.3, h265parse works fine - for instance we can record an MP4 successfully using:
```
gst-launch-1.0 -e ourvideosrc ! video/x-h265,width=192...We have a camera which outputs an H265 stream in byte-stream/au format. With gst-plugins-bad 1.16.3, h265parse works fine - for instance we can record an MP4 successfully using:
```
gst-launch-1.0 -e ourvideosrc ! video/x-h265,width=1920,height=1080,framerate=30/1 ! queue ! h265parse ! mp4mux ! filesink location=test.mp4
```
However, with 1.18.3, this is broken - the pipeline fails, with the error:
```
ERROR: from element /GstPipeline:pipeline0/GstMP4Mux:mp4mux0: Could not multiplex stream.
Additional debug info:
../gst-plugins-good-1.18.3/gst/isomp4/gstqtmux.c(5010): gst_qt_mux_add_buffer (): /GstPipeline:pipeline0/GstMP4Mux:mp4mux0:
Buffer has no PTS.
```
Further, if instead of trying to record to MP4, the video is sent over RTP, then the received output on the other end is corrupted, with only the lefthand third of the video working - see attached recording
![broken](/uploads/9f99b02108fcf607518669e20512d9c3/broken.mp4)
I've identified that this breakage was introduced by the commit https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/commit/e88d8480709581a2e54b7954c47193b729b23c79 - which is part of https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/399/commits. Specifically, if I revert those changes, then it works fine again. I've further narrowed it down, so that if I partially revert that commit, with the following diff, then it works fine:
[h265parse_fix.diff](/uploads/119529807caa7e03b1aa81023eefca3d/h265parse_fix.diff)
So I think there is an issue with the above change to h265parse functionality, in particular relating to how byte-stream H265 streams are handled. I'm not certain if my above diff is the correct fix, or if something further is required?https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1649WASAPI uninitializes COM from a different threads2021-09-21T18:21:10ZIgnazioWASAPI uninitializes COM from a different threadsCoInitializeEx and CoUninitialize function should be called from the same thread. However the wasapi prepare is called from a working thread after pipeline start, while the unprepare function is called from the main loop after pipeline s...CoInitializeEx and CoUninitialize function should be called from the same thread. However the wasapi prepare is called from a working thread after pipeline start, while the unprepare function is called from the main loop after pipeline stop.
This could break the COM initialization, for example in our application the device listing doesn't work anymore.
The issue can be verified by printing the thread-id from these lines
- https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/blob/master/sys/wasapi/gstwasapisrc.c#L607
- https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/blob/master/sys/wasapi/gstwasapisrc.c#L747https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1648opencv plugin fails to build on Ubuntu 18.04 with opencv 3.4.12021-08-21T14:43:01ZNeil Youngopencv plugin fails to build on Ubuntu 18.04 with opencv 3.4.1Following the meson build steps outlined here on Ubuntu 18.04. I'm having a source code installation of OpenCV 3.4.1 on that machine.
The meson build fails like so, with any tag from 1.17 to 1.19.1
I don't need bad:opencv. Can I exclud...Following the meson build steps outlined here on Ubuntu 18.04. I'm having a source code installation of OpenCV 3.4.1 on that machine.
The meson build fails like so, with any tag from 1.17 to 1.19.1
I don't need bad:opencv. Can I exclude that from build?
```
[3038/3786] Linking target subprojects/gst-plugins-bad/ext/opencv/libgstopencv.so
FAILED: subprojects/gst-plugins-bad/ext/opencv/libgstopencv.so
c++ -o subprojects/gst-plugins-bad/ext/opencv/libgstopencv.so 'subprojects/gst-plugins-bad/ext/opencv/59711a8@@gstopencv@sha/gstcvdilate.cpp.o' 'subprojects/gst-plugins-bad/ext/opencv/59711a8@@gstopencv@sha/gstcvdilateerode.cpp.o' 'subprojects/gst-plugins-bad/ext/opencv/59711a8@@gstopencv@sha/gstcvequalizehist.cpp.o' 'subprojects/gst-plugins-bad/ext/opencv/59711a8@@gstopencv@sha/gstcverode.cpp.o' 'subprojects/gst-plugins-bad/ext/opencv/59711a8@@gstopencv@sha/gstcvlaplace.cpp.o' 'subprojects/gst-plugins-bad/ext/opencv/59711a8@@gstopencv@sha/gstcvsmooth.cpp.o' 'subprojects/gst-plugins-bad/ext/opencv/59711a8@@gstopencv@sha/gstcvsobel.cpp.o' 'subprojects/gst-plugins-bad/ext/opencv/59711a8@@gstopencv@sha/gstdisparity.cpp.o' 'subprojects/gst-plugins-bad/ext/opencv/59711a8@@gstopencv@sha/gstedgedetect.cpp.o' 'subprojects/gst-plugins-bad/ext/opencv/59711a8@@gstopencv@sha/gstfaceblur.cpp.o' 'subprojects/gst-plugins-bad/ext/opencv/59711a8@@gstopencv@sha/gstfacedetect.cpp.o' 'subprojects/gst-plugins-bad/ext/opencv/59711a8@@gstopencv@sha/gstgrabcut.cpp.o' 'subprojects/gst-plugins-bad/ext/opencv/59711a8@@gstopencv@sha/gsthanddetect.cpp.o' 'subprojects/gst-plugins-bad/ext/opencv/59711a8@@gstopencv@sha/gstmotioncells.cpp.o' 'subprojects/gst-plugins-bad/ext/opencv/59711a8@@gstopencv@sha/gstopencv.cpp.o' 'subprojects/gst-plugins-bad/ext/opencv/59711a8@@gstopencv@sha/gstretinex.cpp.o' 'subprojects/gst-plugins-bad/ext/opencv/59711a8@@gstopencv@sha/gstsegmentation.cpp.o' 'subprojects/gst-plugins-bad/ext/opencv/59711a8@@gstopencv@sha/gstskindetect.cpp.o' 'subprojects/gst-plugins-bad/ext/opencv/59711a8@@gstopencv@sha/gsttemplatematch.cpp.o' 'subprojects/gst-plugins-bad/ext/opencv/59711a8@@gstopencv@sha/gsttextoverlay.cpp.o' 'subprojects/gst-plugins-bad/ext/opencv/59711a8@@gstopencv@sha/MotionCells.cpp.o' 'subprojects/gst-plugins-bad/ext/opencv/59711a8@@gstopencv@sha/motioncells_wrapper.cpp.o' 'subprojects/gst-plugins-bad/ext/opencv/59711a8@@gstopencv@sha/gstdewarp.cpp.o' 'subprojects/gst-plugins-bad/ext/opencv/59711a8@@gstopencv@sha/camerautils.cpp.o' 'subprojects/gst-plugins-bad/ext/opencv/59711a8@@gstopencv@sha/cameraevent.cpp.o' 'subprojects/gst-plugins-bad/ext/opencv/59711a8@@gstopencv@sha/gstcameracalibrate.cpp.o' 'subprojects/gst-plugins-bad/ext/opencv/59711a8@@gstopencv@sha/gstcameraundistort.cpp.o' -Wl,--as-needed -Wl,--no-undefined -shared -fPIC -Wl,--start-group -Wl,-soname,libgstopencv.so subprojects/gstreamer/libs/gst/base/libgstbase-1.0.so.0.1901.0 subprojects/gstreamer/gst/libgstreamer-1.0.so.0.1901.0 subprojects/gst-plugins-base/gst-libs/gst/video/libgstvideo-1.0.so.0.1901.0 subprojects/orc/orc/liborc-0.4.so.0.32.0 subprojects/gst-plugins-bad/gst-libs/gst/opencv/libgstopencv-1.0.so.0.1901.0 /usr/lib/x86_64-linux-gnu/libglib-2.0.so /usr/lib/x86_64-linux-gnu/libgobject-2.0.so -Wl,--export-dynamic /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so -pthread -lm /usr/local/lib/libopencv_dnn.so /usr/local/lib/libopencv_ml.so /usr/local/lib/libopencv_objdetect.so /usr/local/lib/libopencv_shape.so /usr/local/lib/libopencv_stitching.so /usr/local/lib/libopencv_superres.so /usr/local/lib/libopencv_videostab.so /usr/local/lib/libopencv_calib3d.so /usr/local/lib/libopencv_features2d.so /usr/local/lib/libopencv_highgui.so /usr/local/lib/libopencv_videoio.so /usr/local/lib/libopencv_imgcodecs.so /usr/local/lib/libopencv_video.so /usr/local/lib/libopencv_photo.so /usr/local/lib/libopencv_imgproc.so /usr/local/lib/libopencv_flann.so /usr/local/lib/libopencv_core.so -Wl,--end-group '-Wl,-rpath,$ORIGIN/../../../gstreamer/libs/gst/base:$ORIGIN/../../../gstreamer/gst:$ORIGIN/../../../gst-plugins-base/gst-libs/gst/video:$ORIGIN/../../../orc/orc:$ORIGIN/../../gst-libs/gst/opencv' -Wl,-rpath-link,/home/decades/gst-build/builddir/subprojects/gstreamer/libs/gst/base -Wl,-rpath-link,/home/decades/gst-build/builddir/subprojects/gstreamer/gst -Wl,-rpath-link,/home/decades/gst-build/builddir/subprojects/gst-plugins-base/gst-libs/gst/video -Wl,-rpath-link,/home/decades/gst-build/builddir/subprojects/orc/orc -Wl,-rpath-link,/home/decades/gst-build/builddir/subprojects/gst-plugins-bad/gst-libs/gst/opencv
subprojects/gst-plugins-bad/ext/opencv/59711a8@@gstopencv@sha/gstsegmentation.cpp.o: In Funktion »gst_segmentation_set_caps(_GstOpencvVideoFilter*, int, int, int, int, int, int)«:
/home/decades/gst-build/builddir/../subprojects/gst-plugins-bad/ext/opencv/gstsegmentation.cpp:329: Warnung: undefinierter Verweis auf »cv::bgsegm::createBackgroundSubtractorMOG(int, int, double, double)«
collect2: error: ld returned 1 exit status
[3047/3786] Compiling C object 'subprojects/gst-plugins-bad/ext/sctp/usrsctp/a8ab711@@usrsctp-static@sta/usrsctplib_netinet_sctp_output.c.o'
ninja: build stopped: subcommand failed.
```
Sorry for always just having problems with GST :(https://gitlab.freedesktop.org/gstreamer/gst-docs/-/issues/91Basic tutorial 7: undefined reference to `gst_element_request_pad_simple'2023-05-24T12:20:25ZfjmaxBasic tutorial 7: undefined reference to `gst_element_request_pad_simple'TLDR: `gst_element_request_pad_simple` not existed in GStreamer packages on Ubuntu 20.04, maybe we should note this in the tutorial.
Hello,
I'm following basic tutorials with Ubuntu 20.04, with GStreamer packages installed via the...TLDR: `gst_element_request_pad_simple` not existed in GStreamer packages on Ubuntu 20.04, maybe we should note this in the tutorial.
Hello,
I'm following basic tutorials with Ubuntu 20.04, with GStreamer packages installed via the package manager, but not able to compile `basic-tutorial-7.c`.
After looking into the headers, I found the gstelement.h on my system does not contain function `gst_element_request_pad_simple` but it does in the GitLab repository.
And after build GStreamer from source, I can build the code with no issue.https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/916rtpgstdepay: No caps received yet2021-08-21T15:05:29ZEslam Ahmedrtpgstdepay: No caps received yetHello,
## The setup:
* OS: Ubuntu 20.04.2 LTS
* Gstreamer: v1.16.2
## The issue:
Consider the following launch line that is provided to RTSP Media Factory via `gst_rtsp_media_factory_set_launch`:
`rtspsrc location=rtsp://192.168.0.222...Hello,
## The setup:
* OS: Ubuntu 20.04.2 LTS
* Gstreamer: v1.16.2
## The issue:
Consider the following launch line that is provided to RTSP Media Factory via `gst_rtsp_media_factory_set_launch`:
`rtspsrc location=rtsp://192.168.0.222/defaultPrimary?streamType=u latency=100 ! rtph264depay ! h264parse ! video/x-h264,stream-format=byte-stream ! rtpgstpay name=pay0 pt=96`
At the receiver's side the following pipeline is used:
`gst-launch-1.0 rtspsrc location=rtsp://localhost:8553/test ! rtpgstdepay ! h264parse ! avdec_h264 ! nveglglessink`
but `rtpgstdepay` keeps reporting the following:
```
rtpgstdepay gstrtpgstdepay.c:569:gst_rtp_gst_depay_process:<rtpgstdepay0> No caps received yet 0
```
Note that if we switch to a different source camera producing H265 encoded data, the receiver pipeline will work if we replace `h264parse` and `avdec_h264` with `h265parse` and `avdec_h265` respectively.
Why doesn't it work when using H264? Is this codec related?https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/issues/311h264 stuttering and artifacts version 1.18.0 and 1.18.42021-08-18T19:55:19Zwest jonesh264 stuttering and artifacts version 1.18.0 and 1.18.4Issues with using vaapih264enc causing the ![20210818_125122](/uploads/ad25d401ffe856d8cfd18aa221876db9/20210818_125122.mp4)video to show artifacts on screen and stutters constantly.
The stuttering seems to be the same with the video s...Issues with using vaapih264enc causing the ![20210818_125122](/uploads/ad25d401ffe856d8cfd18aa221876db9/20210818_125122.mp4)video to show artifacts on screen and stutters constantly.
The stuttering seems to be the same with the video sent from @tpm with issue https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/issues/157