diff options
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 919 |
1 files changed, 919 insertions, 0 deletions
@@ -1,3 +1,922 @@ +=== release 1.14.5 === + +2019-05-29 17:36:53 +0100 Tim-Philipp Müller <tim@centricular.com> + + * ChangeLog: + * NEWS: + * README: + * RELEASE: + * configure.ac: + * gst-plugins-base.doap: + * meson.build: + Release 1.14.5 + +2019-05-29 17:36:53 +0100 Tim-Philipp Müller <tim@centricular.com> + + * docs/plugins/inspect/plugin-adder.xml: + * docs/plugins/inspect/plugin-alsa.xml: + * docs/plugins/inspect/plugin-app.xml: + * docs/plugins/inspect/plugin-audioconvert.xml: + * docs/plugins/inspect/plugin-audiomixer.xml: + * docs/plugins/inspect/plugin-audiorate.xml: + * docs/plugins/inspect/plugin-audioresample.xml: + * docs/plugins/inspect/plugin-audiotestsrc.xml: + * docs/plugins/inspect/plugin-cdparanoia.xml: + * docs/plugins/inspect/plugin-encoding.xml: + * docs/plugins/inspect/plugin-gio.xml: + * docs/plugins/inspect/plugin-libvisual.xml: + * docs/plugins/inspect/plugin-ogg.xml: + * docs/plugins/inspect/plugin-opengl.xml: + * docs/plugins/inspect/plugin-opus.xml: + * docs/plugins/inspect/plugin-pango.xml: + * docs/plugins/inspect/plugin-pbtypes.xml: + * docs/plugins/inspect/plugin-playback.xml: + * docs/plugins/inspect/plugin-rawparse.xml: + * docs/plugins/inspect/plugin-subparse.xml: + * docs/plugins/inspect/plugin-tcp.xml: + * docs/plugins/inspect/plugin-theora.xml: + * docs/plugins/inspect/plugin-typefindfunctions.xml: + * docs/plugins/inspect/plugin-videoconvert.xml: + * docs/plugins/inspect/plugin-videorate.xml: + * docs/plugins/inspect/plugin-videoscale.xml: + * docs/plugins/inspect/plugin-videotestsrc.xml: + * docs/plugins/inspect/plugin-volume.xml: + * docs/plugins/inspect/plugin-vorbis.xml: + * docs/plugins/inspect/plugin-ximagesink.xml: + * docs/plugins/inspect/plugin-xvimagesink.xml: + Update docs + +2019-05-26 16:36:20 +0200 Tim-Philipp Müller <tim@centricular.com> + + * gst-libs/gst/gl/wayland/wayland_event_source.c: + Revert "gl/wayland: fix glib mainloop integration" + This reverts commit 85c9b7670839801c766a9d1432a5bbc40abcb718. + This caused regressions in master which have not been resolved + yet, so removing backport from 1.14 branch. + See !241 and #603. + Fixes #607 + +2018-11-05 05:35:12 +0000 Matthew Waters <matthew@centricular.com> + + * .gitmodules: + Update common submodule location without /git/ directory + +2018-11-05 12:06:15 +0800 Haihao Xiang <haihao.xiang@intel.com> + + * .gitmodules: + * gst-plugins-base.doap: + Clone the code from gitlab + This fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/503 + +2019-04-26 09:44:07 +0300 Sebastian Dröge <sebastian@centricular.com> + + * gst-libs/gst/tag/gstid3tag.c: + id3tag: Correctly validate the year from v1 tags before passing to GstDateTime + By using strtoul(), invalid values will get mapped to MAXULONG and we + would have to check errno. They won't get mapped to 0. + To solve this, use the signed g_ascii_strtoll(). This will map errors to + 0 or G_MAXINT64 or G_MININT64, and the valid range for GstDateTime is > + 0 and <= 9999 so we can directly check for this here. + Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/384 + +2019-04-23 17:10:47 +0300 Sebastian Dröge <sebastian@centricular.com> + + * gst-libs/gst/gl/egl/gsteglimage.c: + eglimage: Add compatibility define for DRM_FORMAT_NV24 + +2019-03-06 00:59:35 +1100 Matthew Waters <matthew@centricular.com> + + * gst-libs/gst/gl/gstgloverlaycompositor.c: + gloverlaycompositor: Also free the texcoord GL buffer + Fix a typo that was attempting to free the position GL buffer twice + (without any consequences as there was a if (buffer) check) + Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/561 + +2019-01-27 12:35:12 +0900 mrk501 <mrk501e@outlook.com> + + * gst-libs/gst/audio/gstaudioringbuffer.c: + audioringbuffer: Fix wrong memcpy address when reordering channels + When using multichannel audio data and being needed to reorder channels, + audio data is not copied correctly because destination address of + memcpy is wrong. + For example, the following command + $ gst-launch-1.0 pulsesrc ! audio/x-raw,channels=6,format=S16LE ! filesink location=test.raw + will reproduce this issue if there is 6-ch audio input device. + This commit fixes that. + The detailed process of this issue is as follows: + 1. gst-launch-1.0 calls gst_pulsesrc_prepare (gst-plugins-good/ext/pulse/pulsesrc.c) + 1466 gst_pulsesrc_prepare (GstAudioSrc * asrc, GstAudioRingBufferSpec * spec) + 1467 { + (skip...) + 1480 { + 1481 GstAudioRingBufferSpec s = *spec; + 1482 const pa_channel_map *m; + 1483 + 1484 m = pa_stream_get_channel_map (pulsesrc->stream); + 1485 gst_pulse_channel_map_to_gst (m, &s); + 1486 gst_audio_ring_buffer_set_channel_positions (GST_AUDIO_BASE_SRC + 1487 (pulsesrc)->ringbuffer, s.info.position); + 1488 } + In my environment, after line 1485 is processed, position of spec and s are + spec->info.position[0] = 0 + spec->info.position[1] = 1 + spec->info.position[2] = 2 + spec->info.position[3] = 6 + spec->info.position[4] = 7 + spec->info.position[5] = 8 + s.info.position[0] = 0 + s.info.position[1] = 6 + s.info.position[2] = 2 + s.info.position[3] = 1 + s.info.position[4] = 7 + s.info.position[5] = 8 + The values of spec->info.positions equal + GST_AUDIO_BASE_SRC(pulsesrc)->ringbuffer->spec->info.positions. + 2. gst_audio_ring_buffer_set_channel_positions calls + gst_audio_get_channel_reorder_map. + 3. Arguments of gst_audio_get_channel_reorder_map are + from = s.info.position + to = GST_AUDIO_BASE_SRC(pulsesrc)->ringbuffer->spec->info.positions + At the end of this function, reorder_map is set to + reorder_map[0] = 0 + reorder_map[1] = 3 + reorder_map[2] = 2 + reorder_map[3] = 1 + reorder_map[4] = 4 + reorder_map[5] = 5 + 4. Go back to gst_audio_ring_buffer_set_channel_positions and + 2065 buf->need_reorder = TRUE; + is processed. + 5. Finally, in gst_audio_ring_buffer_read, + 1821 if (need_reorder) { + (skip...) + 1829 memcpy (data + i * bpf + reorder_map[j] * bps, ptr + j * bps, bps); + is processed and makes this issue. + +2018-12-14 14:07:47 +0100 Niels De Graef <nielsdegraef@gmail.com> + + * gst-libs/gst/gl/wayland/gstgldisplay_wayland.c: + gl/wayland: destroy wl_shell instance at finalize + +2019-04-23 14:52:28 +0300 Sebastian Dröge <sebastian@centricular.com> + + * gst-libs/gst/audio/gstaudioaggregator.h: + audioaggregator: Add Since: 1.14 markers to all public structs + +2019-01-23 12:50:40 +0100 Michael Tretter <m.tretter@pengutronix.de> + + * gst-libs/gst/gl/gstglupload.c: + glupload: prevent segfault when updating caps + When the glupload element renegotiates the caps, set_caps will reset the + method_impl to NULL, but the method will be kept. transform_caps tries + to use the method_impl to transform the caps, because a method is set, + but will segfault. + +2019-03-25 13:49:39 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com> + + * gst-libs/gst/video/video-info.c: + video-info: explain in logs why colorimetry are rejected + It wasn't clear from the logs why some colorimetry format were rejected. + +2019-04-01 09:53:19 -0400 Aaron Boxer <aaron.boxer@collabora.com> + + * tests/check/libs/discoverer.c: + discoverer: fix a race bug in disco test + +2019-04-01 11:10:21 -0400 Aaron Boxer <aaron.boxer@collabora.com> + + * gst-libs/gst/pbutils/gstdiscoverer.c: + discoverer: async_timeout_cb: don't clean up timeout_source + discoverer_collect() already does this. So, the second + unref triggers an assert. + +2019-03-24 20:45:03 +0000 Tim-Philipp Müller <tim@centricular.com> + + * gst/playback/gstdecodebin2.c: + decodebin2: fix pad leak and problem with GWeakRef code + Follow-up to !160 and commit 6a99ad2c. + Firstly, don't leak the sinkpad. g_weak_ref_get() returns + a strong reference (unless it returns NULL), so that must + be unrefed, as detected by the playbin-complex and + discoverer unit tests. + Next, if we do that we get invalid memory access when the + final pad ref is dropped a few lines below after the + request pad is released. The reason for this is that + GWeakRefs are not movable once they're in use, because + their address will be stored inside the object. In this + case the GWeakRef was embedded inside the GstDemuxerPad + struct which in turn was embedded inside the GArray data + section, and when the GArray gets resized, the structs + move. Just KISS and use a list with individual allocations + for each DemuxerPad instead. + +2019-03-15 18:21:37 -0300 Thibault Saunier <tsaunier@igalia.com> + + * gst/playback/gstdecodebin2.c: + decodebin2: Make sure to remove probes when free GstDecodeGroup + Nothing guarantees that when we free a DecodeGroup the demuxer pads + have already been freed and thus the probes have been removed meaning + that in some case it is possible that the pad probes still get called + *after* the GstDecodeGroup is freed, leading to segfaults (as we use + the freed group in that function). + Sample stack trace when that happens: + #0 sink_pad_query_probe (pad=pad@entry=0x7fe654027180, info=info@entry=0x7ffe433bf270, user_data=0x7fe668076f80) at ../subprojects/gst-plugins-base/gst/playback/gstdecodebin2.c:3004 + 3004 if (last_group->reqpads) { + [Current thread is 1 (Thread 0x7fe69d8a0880 (LWP 24366))] + Missing separate debuginfos, use: dnf debuginfo-install elfutils-libelf-0.176-1.fc29.x86_64 elfutils-libs-0.176-1.fc29.x86_64 libXcursor-1.1.15-4.fc29.x86_64 libXi-1.7.9-8.fc29.x86_64 libgpg-error-1.33-1.fc29.x86_64 libvpx-1.7.0-7.fc29.x86_64 soundtouch-2.1.1-1.fc29.x86_64 + (gdb) bt + #0 0x00007fe68f7f3430 in sink_pad_query_probe (pad=pad@entry=0x7fe654027180 [GstMultiQueuePad], info=info@entry=0x7ffe433bf270, user_data=0x7fe668076f80) at ../subprojects/gst-plugins-base/gst/playback/gstdecodebin2.c:3004 + #1 0x00007fe69e79815e in probe_hook_marshal (hook=0x7fe63003a840, data=0x7ffe433bf160) at ../subprojects/gstreamer/gst/gstpad.c:3565 + #2 0x00007fe69e5774cc in g_hook_list_marshal (hook_list=hook_list@entry=0x7fe654027218, may_recurse=may_recurse@entry=1, marshaller=marshaller@entry=0x7fe69e797d40 <probe_hook_marshal>, data=data@entry=0x7ffe433bf160) at ghook.c:672 + #3 0x00007fe69e797823 in do_probe_callbacks (pad=pad@entry=0x7fe654027180 [GstMultiQueuePad], info=info@entry=0x7ffe433bf270, defaultval=defaultval@entry=GST_FLOW_OK) at ../subprojects/gstreamer/gst/gstpad.c:3727 + #4 0x00007fe69e7a25fd in gst_pad_peer_query (pad=pad@entry=0x7fe654027180 [GstMultiQueuePad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4194 + #5 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0x7fe654027180 [GstMultiQueuePad], data=data@entry=0x7ffe433bf3c0) at ../subprojects/gstreamer/gst/gstpad.c:3376 + #6 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0x7fe6540273d0 [GstPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433bf3c0) at ../subprojects/gstreamer/gst/gstpad.c:3008 + #7 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=0x7fe6540273d0 [GstPad], parent=<optimized out>, query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447 + #8 0x00007fe69e6a60e9 in gst_validate_pad_monitor_query_func (pad=0x7fe6540273d0 [GstPad], parent=0x7fe61c035e00 [GstMultiQueue], query=0x7fe67803f140) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2378 + #9 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x7fe6540273d0 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071 + #10 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0x7fe648019620 [GstPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203 + #11 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0x7fe648019620 [GstPad], data=data@entry=0x7ffe433bf6f0) at ../subprojects/gstreamer/gst/gstpad.c:3376 + #12 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0x7fe62000a9b0 [GstPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433bf6f0) at ../subprojects/gstreamer/gst/gstpad.c:3008 + #13 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=pad@entry=0x7fe62000a9b0 [GstPad], parent=<optimized out>, query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447 + #14 0x00007fe69e0594d6 in gst_video_decoder_src_query_default (dec=0x7fe63001e290 [GstVP8Dec], query=0x7fe67803f140) at ../subprojects/gst-plugins-base/gst-libs/gst/video/gstvideodecoder.c:1684 + #15 0x00007fe69e6a60e9 in gst_validate_pad_monitor_query_func (pad=0x7fe62000a9b0 [GstPad], parent=0x7fe63001e290 [GstVP8Dec], query=0x7fe67803f140) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2378 + #16 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x7fe62000a9b0 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071 + #17 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0x7fe630054300 [GstProxyPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203 + #18 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0x7fe630054300 [GstProxyPad], data=data@entry=0x7ffe433bfa80) at ../subprojects/gstreamer/gst/gstpad.c:3376 + #19 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0x7fe660047810 [GstDecodePad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433bfa80) at ../subprojects/gstreamer/gst/gstpad.c:3008 + #20 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=0x7fe660047810 [GstDecodePad], parent=<optimized out>, query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447 + #21 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x7fe660047810 [GstDecodePad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071 + #22 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0x7fe654076cf0 [GstProxyPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203 + #23 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0x7fe654076cf0 [GstProxyPad], data=data@entry=0x7ffe433bfce0) at ../subprojects/gstreamer/gst/gstpad.c:3376 + #24 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0x7fe668037720 [GstGhostPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433bfce0) at ../subprojects/gstreamer/gst/gstpad.c:3008 + #25 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=0x7fe668037720 [GstGhostPad], parent=<optimized out>, query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447 + #26 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x7fe668037720 [GstGhostPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071 + #27 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0xa762c0 [GstPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203 + #28 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0xa762c0 [GstPad], data=data@entry=0x7ffe433bff40) at ../subprojects/gstreamer/gst/gstpad.c:3376 + #29 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0xa76510 [GstPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433bff40) at ../subprojects/gstreamer/gst/gstpad.c:3008 + #30 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=pad@entry=0xa76510 [GstPad], parent=parent@entry=0x7fe67002b240 [GstQueue], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447 + #31 0x00007fe68f7bd321 in gst_queue_handle_src_query (pad=0xa76510 [GstPad], parent=0x7fe67002b240 [GstQueue], query=0x7fe67803f140) at ../subprojects/gstreamer/plugins/elements/gstqueue.c:1619 + #32 0x00007fe69e6a60e9 in gst_validate_pad_monitor_query_func (pad=0xa76510 [GstPad], parent=0x7fe67002b240 [GstQueue], query=0x7fe67803f140) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2378 + #33 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0xa76510 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071 + #34 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0xa770a0 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203 + #35 0x00007fe69e118c6b in gst_base_transform_default_query (trans=0xa6f4d0 [GstVideoConvert], direction=GST_PAD_SRC, query=0x7fe67803f140) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:1557 + #36 0x00007fe69e6a60e9 in gst_validate_pad_monitor_query_func (pad=0xa772f0 [GstPad], parent=0xa6f4d0 [GstVideoConvert], query=0x7fe67803f140) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2378 + #37 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0xa772f0 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071 + #38 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0xa779e0 [GstPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203 + #39 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0xa779e0 [GstPad], data=data@entry=0x7ffe433c0550) at ../subprojects/gstreamer/gst/gstpad.c:3376 + #40 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0xa77c30 [GstPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433c0550) at ../subprojects/gstreamer/gst/gstpad.c:3008 + #41 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=pad@entry=0xa77c30 [GstPad], parent=parent@entry=0xa7f800 [GstDeinterlace], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447 + #42 0x00007fe68c0449a7 in gst_deinterlace_src_query (pad=0xa77c30 [GstPad], parent=0xa7f800 [GstDeinterlace], query=0x7fe67803f140) at ../subprojects/gst-plugins-good/gst/deinterlace/gstdeinterlace.c:3265 + #43 0x00007fe69e6a60e9 in gst_validate_pad_monitor_query_func (pad=0xa77c30 [GstPad], parent=0xa7f800 [GstDeinterlace], query=0x7fe67803f140) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2378 + #44 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0xa77c30 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071 + #45 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0xa76760 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203 + #46 0x00007fe69e118c6b in gst_base_transform_default_query (trans=0xa46860 [GstFramePositioner], direction=GST_PAD_SRC, query=0x7fe67803f140) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:1557 + #47 0x00007fe69e6a60e9 in gst_validate_pad_monitor_query_func (pad=0xa769b0 [GstPad], parent=0xa46860 [GstFramePositioner], query=0x7fe67803f140) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2378 + #48 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0xa769b0 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071 + #49 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0xa76c00 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203 + #50 0x00007fe69e118c6b in gst_base_transform_default_query (trans=0xa7eb20 [GstVideoScale], direction=GST_PAD_SRC, query=0x7fe67803f140) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:1557 + #51 0x00007fe69e6a60e9 in gst_validate_pad_monitor_query_func (pad=0xa76e50 [GstPad], parent=0xa7eb20 [GstVideoScale], query=0x7fe67803f140) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2378 + #52 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0xa76e50 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071 + #53 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0xa77540 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203 + #54 0x00007fe69e118c6b in gst_base_transform_default_query (trans=0xa6f980 [GstVideoRate], direction=GST_PAD_SRC, query=0x7fe67803f140) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:1557 + #55 0x00007fe68f7369f0 in gst_video_rate_query (trans=0xa6f980 [GstVideoRate], direction=GST_PAD_SRC, query=0x7fe67803f140) at ../subprojects/gst-plugins-base/gst/videorate/gstvideorate.c:1115 + #56 0x00007fe69e6a60e9 in gst_validate_pad_monitor_query_func (pad=0xa77790 [GstPad], parent=0xa6f980 [GstVideoRate], query=0x7fe67803f140) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2378 + #57 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0xa77790 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071 + #58 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0xa82120 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203 + #59 0x00007fe69e118c6b in gst_base_transform_default_query (trans=0xa172a0 [GstCapsFilter], direction=GST_PAD_SRC, query=0x7fe67803f140) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:1557 + #60 0x00007fe69e6a60e9 in gst_validate_pad_monitor_query_func (pad=0xa82370 [GstPad], parent=0xa172a0 [GstCapsFilter], query=0x7fe67803f140) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2378 + #61 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0xa82370 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071 + #62 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0xa44c70 [GstProxyPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203 + #63 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0xa44c70 [GstProxyPad], data=data@entry=0x7ffe433c13a0) at ../subprojects/gstreamer/gst/gstpad.c:3376 + #64 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0x7fe6700271e0 [GstGhostPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433c13a0) at ../subprojects/gstreamer/gst/gstpad.c:3008 + #65 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=0x7fe6700271e0 [GstGhostPad], parent=<optimized out>, query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447 + #66 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x7fe6700271e0 [GstGhostPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071 + #67 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0xa447b0 [GstProxyPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203 + #68 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0xa447b0 [GstProxyPad], data=data@entry=0x7ffe433c1600) at ../subprojects/gstreamer/gst/gstpad.c:3376 + #69 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0x7fe670026f60 [GstGhostPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433c1600) at ../subprojects/gstreamer/gst/gstpad.c:3008 + #70 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=0x7fe670026f60 [GstGhostPad], parent=<optimized out>, query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447 + #71 0x00007fe68f54bb18 in ghostpad_query_function (ghostpad=0x7fe670026f60 [GstGhostPad], parent=0xa2a870 [NleSource], query=0x7fe67803f140) at ../subprojects/gst-editing-services/plugins/nle/nleghostpad.c:556 + #72 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x7fe670026f60 [GstGhostPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071 + #73 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0x7fe61c00ab30 [GstGhostPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203 + #74 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0x7fe61c00ab30 [GstGhostPad], data=data@entry=0x7ffe433c18c0) at ../subprojects/gstreamer/gst/gstpad.c:3376 + #75 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0x7fe6680ccab0 [GstProxyPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433c18c0) at ../subprojects/gstreamer/gst/gstpad.c:3008 + #76 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=0x7fe6680ccab0 [GstProxyPad], parent=<optimized out>, query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447 + #77 0x00007fe68f54b6a9 in internalpad_query_function (internal=0x7fe6680ccab0 [GstProxyPad], parent=0x7fe61c00ab30 [GstGhostPad], query=0x7fe67803f140) at ../subprojects/gst-editing-services/plugins/nle/nleghostpad.c:448 + #78 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x7fe6680ccab0 [GstProxyPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071 + #79 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0x7fe66800e510 [GESSmartMixerPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203 + #80 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0x7fe66800e510 [GESSmartMixerPad], data=data@entry=0x7ffe433c1b80) at ../subprojects/gstreamer/gst/gstpad.c:3376 + #81 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0x7fe6680cc5f0 [GstProxyPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433c1b80) at ../subprojects/gstreamer/gst/gstpad.c:3008 + #82 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=0x7fe6680cc5f0 [GstProxyPad], parent=<optimized out>, query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447 + #83 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x7fe6680cc5f0 [GstProxyPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071 + #84 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0x7fe66805ee60 [GstGhostPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203 + #85 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0x7fe66805ee60 [GstGhostPad], data=data@entry=0x7ffe433c1de0) at ../subprojects/gstreamer/gst/gstpad.c:3376 + #86 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0x7fe654077d90 [GstProxyPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433c1de0) at ../subprojects/gstreamer/gst/gstpad.c:3008 + #87 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=0x7fe654077d90 [GstProxyPad], parent=<optimized out>, query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447 + #88 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x7fe654077d90 [GstProxyPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071 + #89 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0x7fe654027ac0 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203 + #90 0x00007fe69e118c6b in gst_base_transform_default_query (trans=0x7fe6680c71d0 [GstVideoConvert], direction=GST_PAD_SRC, query=0x7fe67803f140) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:1557 + #91 0x00007fe69e6a60e9 in gst_validate_pad_monitor_query_func (pad=0x7fe654026a90 [GstPad], parent=0x7fe6680c71d0 [GstVideoConvert], query=0x7fe67803f140) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2378 + #92 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x7fe654026a90 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071 + #93 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0x7fe6680cc850 [GstProxyPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203 + #94 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0x7fe6680cc850 [GstProxyPad], data=data@entry=0x7ffe433c22d0) at ../subprojects/gstreamer/gst/gstpad.c:3376 + #95 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0x7fe6680374a0 [GstGhostPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433c22d0) at ../subprojects/gstreamer/gst/gstpad.c:3008 + #96 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=0x7fe6680374a0 [GstGhostPad], parent=<optimized out>, query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447 + #97 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x7fe6680374a0 [GstGhostPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071 + #98 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0x7fe6680c7e20 [GstCompositorPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203 + #99 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0x7fe6680c7e20 [GstCompositorPad], data=data@entry=0x7ffe433c2530) at ../subprojects/gstreamer/gst/gstpad.c:3376 + #100 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0xa24170 [GstAggregatorPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433c2530) at ../subprojects/gstreamer/gst/gstpad.c:3008 + #101 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=0xa24170 [GstAggregatorPad], parent=<optimized out>, query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447 + #102 0x00007fe69e0e5512 in gst_aggregator_default_src_query (self=0xa21e90 [GstCompositor], query=0x7fe67803f140) at ../subprojects/gstreamer/libs/gst/base/gstaggregator.c:1909 + #103 0x00007fe69e0547be in gst_video_aggregator_src_query (agg=0xa21e90 [GstCompositor], query=0x7fe67803f140) at ../subprojects/gst-plugins-base/gst-libs/gst/video/gstvideoaggregator.c:2022 + #104 0x00007fe69e6a60e9 in gst_validate_pad_monitor_query_func (pad=0xa24170 [GstAggregatorPad], parent=0xa21e90 [GstCompositor], query=0x7fe67803f140) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2378 + #105 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0xa24170 [GstAggregatorPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071 + #106 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0x9aac10 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203 + #107 0x00007fe69e118c6b in gst_base_transform_default_query (trans=0xa28280 [GstIdentity], direction=GST_PAD_SRC, query=0x7fe67803f140) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:1557 + #108 0x00007fe68f79dfc4 in gst_identity_query (base=0xa28280 [GstIdentity], direction=GST_PAD_SRC, query=0x7fe67803f140) at ../subprojects/gstreamer/plugins/elements/gstidentity.c:957 + #109 0x00007fe69e6a60e9 in gst_validate_pad_monitor_query_func (pad=0x9aae60 [GstPad], parent=0xa28280 [GstIdentity], query=0x7fe67803f140) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2378 + #110 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x9aae60 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071 + #111 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0x99cc40 [GstProxyPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203 + #112 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0x99cc40 [GstProxyPad], data=data@entry=0x7ffe433c2c00) at ../subprojects/gstreamer/gst/gstpad.c:3376 + #113 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0x9aee40 [GstGhostPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433c2c00) at ../subprojects/gstreamer/gst/gstpad.c:3008 + #114 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=0x9aee40 [GstGhostPad], parent=<optimized out>, query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447 + #115 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x9aee40 [GstGhostPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071 + #116 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0x99d100 [GstProxyPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203 + #117 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0x99d100 [GstProxyPad], data=data@entry=0x7ffe433c2e60) at ../subprojects/gstreamer/gst/gstpad.c:3376 + #118 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0x9af0c0 [GstGhostPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433c2e60) at ../subprojects/gstreamer/gst/gstpad.c:3008 + #119 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=0x9af0c0 [GstGhostPad], parent=<optimized out>, query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447 + #120 0x00007fe68f54bb18 in ghostpad_query_function (ghostpad=0x9af0c0 [GstGhostPad], parent=0x99ce70 [NleOperation], query=0x7fe67803f140) at ../subprojects/gst-editing-services/plugins/nle/nleghostpad.c:556 + #121 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x9af0c0 [GstGhostPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071 + #122 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0x99c2c0 [GstProxyPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203 + #123 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0x99c2c0 [GstProxyPad], data=data@entry=0x7ffe433c3120) at ../subprojects/gstreamer/gst/gstpad.c:3376 + #124 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0x9ae1c0 [GstGhostPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433c3120) at ../subprojects/gstreamer/gst/gstpad.c:3008 + #125 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=0x9ae1c0 [GstGhostPad], parent=<optimized out>, query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447 + #126 0x00007fe68f54bb18 in ghostpad_query_function (ghostpad=0x9ae1c0 [GstGhostPad], parent=0xa16290 [NleComposition], query=0x7fe67803f140) at ../subprojects/gst-editing-services/plugins/nle/nleghostpad.c:556 + #127 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x9ae1c0 [GstGhostPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071 + #128 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0x9aa080 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203 + #129 0x00007fe69e118c6b in gst_base_transform_default_query (trans=0xa165a0 [GstCapsFilter], direction=GST_PAD_SRC, query=0x7fe67803f140) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:1557 + #130 0x00007fe69e6a60e9 in gst_validate_pad_monitor_query_func (pad=0x9aa9c0 [GstPad], parent=0xa165a0 [GstCapsFilter], query=0x7fe67803f140) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2378 + #131 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x9aa9c0 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071 + #132 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0x99c9e0 [GstProxyPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203 + #133 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0x99c9e0 [GstProxyPad], data=data@entry=0x7ffe433c3670) at ../subprojects/gstreamer/gst/gstpad.c:3376 + #134 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0x9aebc0 [GstGhostPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433c3670) at ../subprojects/gstreamer/gst/gstpad.c:3008 + #135 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=0x9aebc0 [GstGhostPad], parent=<optimized out>, query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447 + #136 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x9aebc0 [GstGhostPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071 + #137 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0x99d820 [GstProxyPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203 + #138 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0x99d820 [GstProxyPad], data=data@entry=0x7ffe433c38d0) at ../subprojects/gstreamer/gst/gstpad.c:3376 + #139 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0x9af840 [GstGhostPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433c38d0) at ../subprojects/gstreamer/gst/gstpad.c:3008 + #140 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=0x9af840 [GstGhostPad], parent=<optimized out>, query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447 + #141 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x9af840 [GstGhostPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071 + #142 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0x7fe6780247d0 [GstPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203 + #143 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0x7fe6780247d0 [GstPad], data=data@entry=0x7ffe433c3b30) at ../subprojects/gstreamer/gst/gstpad.c:3376 + #144 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0x7fe684032780 [GstTeePad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433c3b30) at ../subprojects/gstreamer/gst/gstpad.c:3008 + #145 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=0x7fe684032780 [GstTeePad], parent=<optimized out>, query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447 + #146 0x00007fe69e6a60e9 in gst_validate_pad_monitor_query_func (pad=0x7fe684032780 [GstTeePad], parent=0x7383f0 [GstTee], query=0x7fe67803f140) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2378 + #147 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x7fe684032780 [GstTeePad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071 + #148 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0x7fe670026060 [GstGhostPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203 + #149 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0x7fe670026060 [GstGhostPad], data=data@entry=0x7ffe433c3e60) at ../subprojects/gstreamer/gst/gstpad.c:3376 + #150 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0x99dce0 [GstProxyPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433c3e60) at ../subprojects/gstreamer/gst/gstpad.c:3008 + #151 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=0x99dce0 [GstProxyPad], parent=<optimized out>, query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447 + #152 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x99dce0 [GstProxyPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071 + #153 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0xa8d6b0 [GstPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203 + #154 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0xa8d6b0 [GstPad], data=data@entry=0x7ffe433c40c0) at ../subprojects/gstreamer/gst/gstpad.c:3376 + #155 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0xa8d900 [GstPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433c40c0) at ../subprojects/gstreamer/gst/gstpad.c:3008 + #156 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=0xa8d900 [GstPad], parent=<optimized out>, query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447 + #157 0x00007fe69e6a60e9 in gst_validate_pad_monitor_query_func (pad=0xa8d900 [GstPad], parent=0x9f6060 [GstStreamSynchronizer], query=0x7fe67803f140) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2378 + #158 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0xa8d900 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071 + #159 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0xad5a80 [GstGhostPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203 + #160 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0xad5a80 [GstGhostPad], data=data@entry=0x7ffe433c43f0) at ../subprojects/gstreamer/gst/gstpad.c:3376 + #161 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0x7fe6680275b0 [GstProxyPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433c43f0) at ../subprojects/gstreamer/gst/gstpad.c:3008 + #162 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=0x7fe6680275b0 [GstProxyPad], parent=<optimized out>, query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447 + #163 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x7fe6680275b0 [GstProxyPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071 + #164 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0xa39580 [GstPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203 + #165 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0xa39580 [GstPad], data=data@entry=0x7ffe433c4650) at ../subprojects/gstreamer/gst/gstpad.c:3376 + #166 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0x7fe6780240e0 [GstPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433c4650) at ../subprojects/gstreamer/gst/gstpad.c:3008 + #167 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=pad@entry=0x7fe6780240e0 [GstPad], parent=parent@entry=0x7fe66800e7b0 [GstQueue], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447 + #168 0x00007fe68f7bd321 in gst_queue_handle_src_query (pad=0x7fe6780240e0 [GstPad], parent=0x7fe66800e7b0 [GstQueue], query=0x7fe67803f140) at ../subprojects/gstreamer/plugins/elements/gstqueue.c:1619 + #169 0x00007fe69e6a60e9 in gst_validate_pad_monitor_query_func (pad=0x7fe6780240e0 [GstPad], parent=0x7fe66800e7b0 [GstQueue], query=0x7fe67803f140) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2378 + #170 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x7fe6780240e0 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071 + #171 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0xad5580 [GstGhostPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203 + #172 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0xad5580 [GstGhostPad], data=data@entry=0x7ffe433c49d0) at ../subprojects/gstreamer/gst/gstpad.c:3376 + #173 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0x7fe6680270f0 [GstProxyPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433c49d0) at ../subprojects/gstreamer/gst/gstpad.c:3008 + #174 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=0x7fe6680270f0 [GstProxyPad], parent=<optimized out>, query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447 + #175 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x7fe6680270f0 [GstProxyPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071 + #176 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0x7fe6780255b0 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203 + #177 0x00007fe69e118c6b in gst_base_transform_default_query (trans=0x7fe674032fa0 [GstVideoConvert], direction=GST_PAD_SRC, query=0x7fe67803f140) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:1557 + #178 0x00007fe69e6a60e9 in gst_validate_pad_monitor_query_func (pad=0x7fe678025a50 [GstPad], parent=0x7fe674032fa0 [GstVideoConvert], query=0x7fe67803f140) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2378 + #179 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x7fe678025a50 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071 + #180 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0x7fe678025800 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203 + #181 0x00007fe69e118c6b in gst_base_transform_default_query (trans=0x7fe6740346d0 [GstVideoScale], direction=GST_PAD_SRC, query=0x7fe67803f140) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:1557 + #182 0x00007fe69e6a60e9 in gst_validate_pad_monitor_query_func (pad=0x7fe678025360 [GstPad], parent=0x7fe6740346d0 [GstVideoScale], query=0x7fe67803f140) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2378 + #183 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x7fe678025360 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071 + #184 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0x7fe678024580 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203 + #185 0x00007fe69e118c6b in gst_base_transform_default_query (trans=0x7fe674011950 [GstVideoBalance], direction=GST_PAD_SRC, query=0x7fe67803f140) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:1557 + #186 0x00007fe69e6a60e9 in gst_validate_pad_monitor_query_func (pad=0x7fe678025110 [GstPad], parent=0x7fe674011950 [GstVideoBalance], query=0x7fe67803f140) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2378 + #187 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x7fe678025110 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071 + #188 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0xa8d460 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203 + #189 0x00007fe69e118c6b in gst_base_transform_default_query (trans=0x7fe674037330 [GstVideoConvert], direction=GST_PAD_SRC, query=0x7fe67803f140) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:1557 + #190 0x00007fe69e6a60e9 in gst_validate_pad_monitor_query_func (pad=0x7fe678024ec0 [GstPad], parent=0x7fe674037330 [GstVideoConvert], query=0x7fe67803f140) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2378 + #191 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0x7fe678024ec0 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071 + #192 0x00007fe69e7a263b in gst_pad_peer_query (pad=pad@entry=0x7fe668027350 [GstProxyPad], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203 + #193 0x00007fe69e7a2c2c in query_forward_func (pad=pad@entry=0x7fe668027350 [GstProxyPad], data=data@entry=0x7ffe433c5670) at ../subprojects/gstreamer/gst/gstpad.c:3376 + #194 0x00007fe69e7a0aae in gst_pad_forward (pad=pad@entry=0xad5800 [GstGhostPad], forward=forward@entry=0x7fe69e7a2b70 <query_forward_func>, user_data=user_data@entry=0x7ffe433c5670) at ../subprojects/gstreamer/gst/gstpad.c:3008 + #195 0x00007fe69e7a0ea2 in gst_pad_query_default (pad=0xad5800 [GstGhostPad], parent=<optimized out>, query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:3447 + #196 0x00007fe68f84ad95 in gst_play_sink_convert_bin_query (pad=0xad5800 [GstGhostPad], parent=<optimized out>, query=0x7fe67803f140) at ../subprojects/gst-plugins-base/gst/playback/gstplaysinkconvertbin.c:525 + #197 0x00007fe69e7a1ee0 in gst_pad_query (pad=pad@entry=0xad5800 [GstGhostPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4071 + #198 0x00007fe69e7a263b in gst_pad_peer_query (pad=0xa380b0 [GstPad], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstpad.c:4203 + #199 0x00007fe69e10564c in default_element_query (element=0xa369f0 [GstFakeSink], query=0x7fe67803f140) at ../subprojects/gstreamer/libs/gst/base/gstbasesink.c:5034 + #200 0x00007fe69e77f8f0 in gst_element_query (element=0xa369f0 [GstFakeSink], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstelement.c:1959 + #201 0x00007fe69e7584f7 in bin_query_generic_fold (vitem=<optimized out>, ret=0x7ffe433c59d0, fold=0x7ffe433c5a60) at ../subprojects/gstreamer/gst/gstbin.c:4232 + #202 0x00007fe69e78ffcc in gst_iterator_fold (it=it@entry=0x744820, func=func@entry=0x7fe69e758460 <bin_query_generic_fold>, ret=ret@entry=0x7ffe433c59d0, user_data=user_data@entry=0x7ffe433c5a60) at ../subprojects/gstreamer/gst/gstiterator.c:617 + #203 0x00007fe69e758b82 in bin_iterate_fold (bin=bin@entry=0xa19d80 [GstBin], iter=iter@entry=0x744820, fold_init=fold_init@entry=0x0, fold_done=fold_done@entry=0x0, fold_func=fold_func@entry=0x7fe69e758460 <bin_query_generic_fold>, fold_data=fold_data@entry=0x7ffe433c5a60, default_return=0) at ../subprojects/gstreamer/gst/gstbin.c:4259 + #204 0x00007fe69e75e776 in gst_bin_query (element=0xa19d80 [GstBin], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstbin.c:4379 + #205 0x00007fe69e77f8f0 in gst_element_query (element=0xa19d80 [GstBin], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstelement.c:1959 + #206 0x00007fe69e7584f7 in bin_query_generic_fold (vitem=<optimized out>, ret=0x7ffe433c5ba0, fold=0x7ffe433c5c30) at ../subprojects/gstreamer/gst/gstbin.c:4232 + #207 0x00007fe69e78ffcc in gst_iterator_fold (it=it@entry=0x744cf0, func=func@entry=0x7fe69e758460 <bin_query_generic_fold>, ret=ret@entry=0x7ffe433c5ba0, user_data=user_data@entry=0x7ffe433c5c30) at ../subprojects/gstreamer/gst/gstiterator.c:617 + #208 0x00007fe69e758b82 in bin_iterate_fold (bin=bin@entry=0x9f42e0 [GstPlaySink], iter=iter@entry=0x744cf0, fold_init=fold_init@entry=0x0, fold_done=fold_done@entry=0x0, fold_func=fold_func@entry=0x7fe69e758460 <bin_query_generic_fold>, fold_data=fold_data@entry=0x7ffe433c5c30, default_return=0) at ../subprojects/gstreamer/gst/gstbin.c:4259 + #209 0x00007fe69e75e776 in gst_bin_query (element=0x9f42e0 [GstPlaySink], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstbin.c:4379 + #210 0x00007fe69e77f8f0 in gst_element_query (element=0x9f42e0 [GstPlaySink], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstelement.c:1959 + #211 0x00007fe69e7584f7 in bin_query_generic_fold (vitem=<optimized out>, ret=0x7ffe433c5d70, fold=0x7ffe433c5e00) at ../subprojects/gstreamer/gst/gstbin.c:4232 + #212 0x00007fe69e78ffcc in gst_iterator_fold (it=it@entry=0x7448d0, func=func@entry=0x7fe69e758460 <bin_query_generic_fold>, ret=ret@entry=0x7ffe433c5d70, user_data=user_data@entry=0x7ffe433c5e00) at ../subprojects/gstreamer/gst/gstiterator.c:617 + #213 0x00007fe69e758b82 in bin_iterate_fold (bin=bin@entry=0x9ee0a0 [GESPipeline], iter=iter@entry=0x7448d0, fold_init=fold_init@entry=0x0, fold_done=fold_done@entry=0x0, fold_func=fold_func@entry=0x7fe69e758460 <bin_query_generic_fold>, fold_data=fold_data@entry=0x7ffe433c5e00, default_return=0) at ../subprojects/gstreamer/gst/gstbin.c:4259 + #214 0x00007fe69e75e776 in gst_bin_query (element=0x9ee0a0 [GESPipeline], query=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstbin.c:4379 + #215 0x00007fe69e77f8f0 in gst_element_query (element=0x9ee0a0 [GESPipeline], query=query@entry=0x7fe67803f140) at ../subprojects/gstreamer/gst/gstelement.c:1959 + #216 0x00007fe69e6b5d01 in _check_position (rate=0x7ffe433c5ee0, position=0x7ffe433c5ee8, act=0xaa82a0, scenario=0x9fe250 [GstValidateScenario]) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-scenario.c:1658 + #217 0x00007fe69e6b5d01 in execute_next_action (scenario=scenario@entry=0x9fe250 [GstValidateScenario]) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-scenario.c:2107 + #218 0x00007fe69e587b31 in g_timeout_dispatch (source=0xaa7da0, callback=0x7fe69e6b5830 <execute_next_action>, user_data=0x9fe250) at gmain.c:4667 + #219 0x00007fe69e58706d in g_main_dispatch (context=0x71bc50) at gmain.c:3182 + #220 0x00007fe69e58706d in g_main_context_dispatch (context=context@entry=0x71bc50) at gmain.c:3847 + #221 0x00007fe69e587438 in g_main_context_iterate (context=context@entry=0x71bc50, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3920 + #222 0x00007fe69e5874d0 in g_main_context_iteration (context=context@entry=0x71bc50, may_block=may_block@entry=1) at gmain.c:3981 + #223 0x00007fe69e3dfd25 in g_application_run (application=0x71c1f0 [GESLauncher], argc=argc@entry=6, argv=argv@entry=0x7ffe433c61c8) at gapplication.c:2470 + #224 0x000000000040393c in main (argc=6, argv=0x7ffe433c61c8) at ../subprojects/gst-editing-services/tools/ges-launch.c:88 + (gdb) p last_group + $1 = (GstDecodeGroup *) 0x52c + (gdb) p group + $2 = (GstDecodeGroup *) 0x7fe668076f80 + (gdb) p group->parent + $3 = (GstDecodeChain *) 0x7fe6680774c0 + (gdb) p group->parent->next_group + There is no member named next_group. + (gdb) group->parent->next_groups + Undefined command: "group->parent->next_groups". Try "help". + (gdb) p group->parent->next_groups + $4 = 0x7fe660004280 = {0x528, 0x529, 0x52a, 0x52b, 0x52c} + (gdb) p *group->parent->next_groups + $5 = {data=0x528, next=0x7fe668077500, prev=0x7fe64c04ab80} + (gdb) p *group + $6 = {dbin = 0x52a, parent = 0x7fe6680774c0, multiqueue = 0x7fe668077500, overrunsig = 167503724544, overrun = 1, no_more_pads = 0, drained = 1745725152, children = 0xa19220 = {0x73d400, <error reading variable> + (gdb) Quit + (gdb) + +2019-03-21 17:50:34 +0100 Josep Torra <jtorra@oblong.com> + + * gst-libs/gst/rtp/gstrtcpbuffer.c: + rtcpbuffer: test for len instead of type + The function rtcp_packet_min_length() returns a length for each known type + and -1 for unknown types. This change fixes the test accordingly and silences + the following warning. + gstrtcpbuffer.c:567:12: error: comparison of constant -1 with expression of type 'GstRTCPType' is always false + [-Werror,-Wtautological-constant-out-of-range-compare] + if (type == -1) + +2019-03-15 17:38:58 +0100 Antonio Ospite <antonio.ospite@collabora.com> + + * gst-libs/gst/rtp/gstrtpbasepayload.c: + rtpbasepayload: print list size in log output instead of -1 + It is weird to see "Preparing to push packet with size 4294967295" in + the logs, so print the list length in case of a buffer list. + +2019-03-14 10:12:27 +0100 Tobias Ronge <tobiasr@axis.com> + + * gst-libs/gst/rtsp/gstrtspconnection.c: + gstrtspconnection: Security loophole making heap overflow + The former code allowed an attacker to create a heap overflow by + sending a longer than allowed session id in a response and including a + semicolon to change the maximum length. With this change, the parser + will never go beyond 512 bytes. + +2019-03-08 19:52:25 +0100 Lucas Stach <l.stach@pengutronix.de> + + * gst-libs/gst/gl/wayland/wayland_event_source.c: + gl/wayland: fix glib mainloop integration + Implement the prepare and check functions according to the + documentation by returning TRUE when events should be dispatched + via the dispatch function. + As wl_display_read_events never blocks we can call it unconditionally + without looking at the poll status. + This simplifies the implementation and gets rid of a race where the + mainloop could get blocked due to nobody actually reading the events + from the wayland connection. + +2019-03-06 09:14:04 +0000 Tim-Philipp Müller <tim@centricular.com> + + * ext/vorbis/gstvorbisdec.c: + vorbisdec: fix leak of header buffers + handle_header_buffer() does no take ownership of + the buffer passed. + Fixes leaks in various unit tests. + +2019-03-05 14:32:37 +0100 Marc Leeman <marc.leeman@gmail.com> + + * gst-libs/gst/rtp/gstrtppayloads.c: + rtp: add H265 to lookup for media info + +2019-03-04 17:05:04 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com> + + * gst-libs/gst/video/videooverlay.c: + videooverlay: Fix render-rectangle range + The range was set to -1 to MAXINT, but the x,y value can be negative. + Relax the restriction so that we can now have negative coordinates. + +2019-02-09 17:21:13 +0000 James Cowgill <jcowgill@jcowgill.uk> + + * gst-libs/gst/video/video-format.c: + video-format: Fix GBRA_10/12 alpha channel pixel strides + These formats have 4 components, so they should also have 4 components + of pixel stride. + +2019-02-18 15:24:18 +0100 Kristofer Bjorkstrom <kristofb@axis.com> + + * gst-libs/gst/rtsp/gstrtspconnection.c: + rtspconnection: Fix GError set over the top of a previous GError + The function fill_bytes could sometimes return a value greater than zero + and in the same time set the GError. + Function read_bytes calls fill_bytes in a while loop. In the special + case above it would call fill_bytes with error already set. + Thus resulting in "GError set over the top of a previous GError". + Solved this by clearing GError when return value is greater than zero. + Actions are taken depending on error type by caller of read_bytes. Eg. + with EWOULDBLOCK gst_rtsp_source_dispatch_read will try to read the + missing bytes again (GST_RTSP_EINTR ) + https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/445 + +2019-02-15 16:45:09 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com> + + * ext/gl/gstglimagesink.c: + glimagesink: Don't call set_property helper in get_property + +2019-02-11 10:01:55 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com> + + * gst-libs/gst/gl/egl/gsteglimage.c: + eglimage: Add some more defines + This allow building on advertised version of libdrm drm_fourcc.h files. + Fixes #549 + +2019-01-28 13:54:43 +0900 Seungha Yang <seungha.yang@navercorp.com> + + * tests/check/libs/discoverer.c: + tests: discoverer: Add async API test cases + Add more test cases for async APIs such as gst_discoverer_{start,stop}, + and gst_discoverer_discover_uri_async() + +2019-01-28 18:13:27 +0900 Seungha Yang <seungha.yang@navercorp.com> + + * gst-libs/gst/pbutils/gstdiscoverer.c: + discoverer: Hold GSource object instead of source id + g_source_remove() works only for a GSource which was attached + to default GMainContext, but the GSource might be attached to + custom context depending on how gst_discoverer_start() was called. + Whatever the attached context was, g_source_destroy() can clean it up. + +2019-01-24 10:14:36 +0200 Sebastian Dröge <sebastian@centricular.com> + + * ext/gl/gstglcolorbalance.c: + glcolorbalance: Copy caps in transform_internal_caps() + We don't get ownership of the caps that are passed in, and doing so + causes crashes at a later time. + Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/546 + +2019-01-11 17:43:03 +0200 Jordan Petridis <jordan@centricular.com> + + * gst/subparse/gstsubparse.c: + * tests/check/elements/subparse.c: + subparse: do not assert when failing to parse subrip timestamp + If a badly formatted was passed into `parse_subrip_time` it would + assert instead of exiting gracefully. This is problematic since + the input is provided by the user, and will trigger a crash. + https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/532 + +2019-01-14 10:29:54 +0200 Sebastian Dröge <sebastian@centricular.com> + + * pkgconfig/gstreamer-pbutils-uninstalled.pc.in: + * pkgconfig/gstreamer-pbutils.pc.in: + pbutils: Add audio, base and video library to Requires line in the pkg-config file + We use all those libraries internally and include headers from them in + the public headers. + And add the tag library to Requires.private as we use it internally and + it would be needed when doing static linking. + Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/537 + +2019-01-12 12:27:27 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com> + + * ext/gl/gstglsinkbin.c: + glsinkbin: validate property in internal sink + It might be the case that glgsinkbin would try to set a property to + its internal sink which doesn't exist in it, leading to a glib's + warning. For example, when playsink sets 'force-aspect-ratio' property + and glsinkbin has, as internal sink, appsink, which doesn't handle + that property. + The patch validates the incoming property to forward to internal sink + if it exists in the internal sink and both properties has the same + type. + +2018-12-14 20:59:11 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst-libs/gst/video/gstvideotimecode.c: + videotimecode: Fix handling of timecodes without daily jam in gst_video_time_code_to_date_time() + So that it behaves according to documentation. + +2018-12-14 14:13:18 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst-libs/gst/video/gstvideotimecode.c: + videotimecode: We only support 30000/1001 and 60000/1001 as drop-frame framerates + 24000/1001 is *not* a drop-frame framerate. + +2018-12-14 13:56:28 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst-libs/gst/video/gstvideotimecode.c: + videotimecode: Fix division by zero in timecode validation function + And add some comments about what exactly we're testing in the + non-trivial cases. + +2018-12-17 08:58:21 +0100 Edward Hervey <edward@centricular.com> + + * gst-libs/gst/rtsp/gstrtspconnection.c: + rtspconnection: Properly exit infinite loop + In the unlikeliness the builder state is invalid, exit the + top-level while(TRUE) loop. + +2018-12-16 11:14:47 +0100 Edward Hervey <edward@centricular.com> + + * gst-libs/gst/pbutils/codec-utils.c: + codec-utils: Don't leak bytewriter data + In error cases, don't forget to reset it. + +2018-12-13 11:20:03 -0500 Olivier Crête <olivier.crete@collabora.com> + + * gst-libs/gst/rtp/gstrtcpbuffer.c: + rtcpbuffer: Validate the length of RTCP packets + +2018-11-30 13:37:26 +0100 Per Forlin <per.forlin@axis.com> + + * gst-libs/gst/rtsp/gstrtspconnection.c: + rtspconnection: Replace Auth header instead of append + gst_rtsp_connection_send() adds the Authorization header to the request. + If this function is being called multiple times with the same request + it will add one more Authorization header every time. + To fix to this issue do not append a new Authorization header on + top of an existing ones. Remove any existing Authorization headers first + and then add the new one. + Fixes gst-plugins-good#425 + +2018-11-29 12:55:28 +0100 Marouen Ghodhbane <marouen.ghodhbane@nxp.com> + + * gst-libs/gst/audio/audio-converter.c: + audio-convert: Fix endianness conversion function init + Endianness conversion should be based on the sample width instead of the + sample depth. + Fixes #510 + +2018-11-23 16:41:38 +0300 Freyr666 <sky_rider_93@mail.ru> + + * ext/gl/gstgldeinterlace.c: + opengl: gldeinterlace: remove interlace-mode from srcpad's caps + This fixes output caps format, so the output frames are not interlaced anymore + +2018-11-28 11:13:39 +0000 Philippe Normand <philn@igalia.com> + + * ext/gl/gstgltestsrc.c: + gltestsrc: Run context query only during decide_allocation + Running the context query in _start and during the NULL->READY state transition + can fail because downstream elements might not be able to answer and thus the + source element would not be able to reuse downstream GLContext and GLDisplay. + This issue happened specifically when trying to use gltestsrc in playbin. + +2018-11-19 15:09:25 +0000 Maciej Wolny <maciej.wolny@codethink.co.uk> + + * gst-libs/gst/gl/gbm/gstglwindow_gbm_egl.h: + * gst-libs/gst/gl/gstgldebug.h: + * gst-libs/gst/gl/gstglfuncs.h: + gst-gl: Remove duplicate declarations + This causes 'redefinition of typedef ...' errors on GCC 4.5.3 + +2019-03-06 09:17:02 +0000 Tim-Philipp Müller <tim@centricular.com> + + * gst-libs/gst/video/convertframe.c: + video: fix pipeline leak in gst_video_convert_sample_async() + +2018-11-30 12:40:19 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst-libs/gst/video/convertframe.c: + video: convertframe: Shut down pipeline asynchronously via the thread pool + If we use the main loop it might happen that the caller (e.g. our unit + test) already shut down the loop once the result was received and in + that case the pipeline would never ever be shut down (and our unit test + would hang). + +2018-11-23 13:25:43 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst-libs/gst/video/convertframe.c: + convertframe: Error out directly in the sync variant if the state change to PAUSED failed + +2018-11-23 13:22:44 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst-libs/gst/video/convertframe.c: + convertframe: Only go to PAUSED state for the async variant + We only care for the pre-roll sample. + +2018-11-23 13:21:23 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst-libs/gst/video/convertframe.c: + convertframe: Error out directly if changing the pipeline state to PLAYING failed + +2018-11-23 13:16:43 +0200 Sebastian Dröge <sebastian@centricular.com> + + * gst-libs/gst/video/convertframe.c: + convertframe: Use refcounting for the context + While this creates a circular reference between the pipeline and the + context, this ensures that the context stays alive for as long as any + callbacks could be called on it. The circular reference is broken once + the conversion is finished (or error, or timeout), which will then cause + everything to be freed. + Previously it was possible that a callback could be called on the + context right after it was freed already. + Also use only a single context structure, the second structure does not + simplify anything and duplicates storage. + +2018-10-17 15:58:40 -0400 Xavier Claessens <xavier.claessens@collabora.com> + + * gst-libs/gst/gl/egl/gstglcontext_egl.h: + gl: Fix subclassing of GstGLContextEGL + +2018-10-16 12:31:57 +0200 Linus Svensson <linussn@axis.com> + + * gst-libs/gst/rtp/gstrtpbasepayload.c: + rtpbasepayload: Update current seqnum for buffer lists + The current sequence number will be the one from the first RTP buffer + when a buffer list is pushed, but should be the last one. + Fixes #495 + +2019-01-22 13:24:29 +0000 Tim-Philipp Müller <tim@centricular.com> + + * gst-libs/gst/gl/meson.build: + meson: opengl: fix enabled_gl_apis in pkg-config file + Make consistent with what autotools puts into enabled_gl_apis + variable. Autotools puts 'gl' in there instead of 'opengl'. + This would cause problems when building -bad glmixers plugin + in meson against a -base that was built with autotools. + See https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/871 + +2019-01-11 16:37:40 +0100 Wim Taymans <wtaymans@redhat.com> + + * gst-libs/gst/video/video-converter.c: + video-converter: fix number of allocated lines + We make an allocator for temporary lines and then use this for all + the steps in the conversion that can do in-place processing. + Keep track of the number of lines each step needs and use this to + allocate the right number of lines. + Previously we would not always allocate enough lines and we would + end up with conversion errors as lines would be reused prematurely. + Fixes #350 + +2018-11-09 10:48:38 +0100 Sjoerd Simons <sjoerd.simons@collabora.co.uk> + + * gst-libs/gst/gl/gstglupload.c: + glupload: dmabuf: be explicit about gl formats used + Rather then letting gst_gl_memory_setup_buffer guess the GL format used + for an eglimage after importing a dmabuf be explicit about it. This + fixes issues where dmabuf import may have used another format then + gst_gl_format_from_video_info would guess on the basis of the available + GL extensions. + In particular on etnaviv the gst_gl_format_from_video_info would + assuming a luminance + alpha GL format is used for YUY2, but the dmabuf + import will always use RG88. Which causes images to end up somewhat pink when + displayed on the screen. + +2018-11-09 10:30:06 +0100 Sjoerd Simons <sjoerd.simons@collabora.co.uk> + + * gst-libs/gst/gl/egl/gsteglimage.c: + gl/egl: Determine correct format on dmabuf import + When importing an egl image from dmabuf gst_gl_format_from_video_info + was used to work what the result GL format will be. Unfortunately that + will only work if the conventional format and the choosen DRM fourcc for + the format match up. + On etnaviv platforms there is no support for GL_EXT_texture_rg, so the + GL format chosen for YUY2 ends up being GST_GL_LUMINANCE_ALPHA. However + DRM does not do luminance + alpha as it's a legacy GL thing, so the + dmabuf import ends up using DRM_FORMAT_GR88. + To fix this, tie the DRM_FORMAT and the GL format together so they + always match up. + +2018-11-10 12:34:36 +0000 Tim-Philipp Müller <tim@centricular.com> + + * gst-libs/gst/gl/meson.build: + meson: fix backported gl patch + compat_includes only exists in master. + Fixes #507 + +2018-10-05 00:48:58 +1000 Matthew Waters <matthew@centricular.com> + + * ext/gl/gstglimagesink.c: + glimagesink: make multiview none equivalent to mono + Fixes the internal viewconvert to not scale buffers for output with the + following pipeline: + gltestsrc ! glimagesink + It also fixes overlay composition with a resized output with an OpenGL + upstream: + gltestsrc ! timeoverlay ! glimagesink + +2018-09-28 12:09:16 +1000 Matthew Waters <matthew@centricular.com> + + * ext/gl/gstglimagesink.c: + glimagesink: only update the output info iff there's a valid display_rect + Attempting to use the MAX(1, display_rect) would result in the overlay + composition attempting to draw into 1x1 buffer and calculate some + grossly incorrect sizes. + previously failing case: + gltestsrc ! textoverlay text=GStreamer ! glimagesinkelement + +2018-09-27 13:30:35 +1000 Matthew Waters <matthew@centricular.com> + + * gst-libs/gst/gl/gstgloverlaycompositor.c: + gl/overlaycompositor: handle ANY caps features gracefully + +2018-09-27 13:29:03 +1000 Matthew Waters <matthew@centricular.com> + + * gst-libs/gst/gl/gstglfilter.c: + glfilter: don't complete overwrite caps features from the subclass + We can get away with ensuring that the memory:GLMemory caps feature is + present in the output caps + +2018-09-05 18:34:06 +1000 Matthew Waters <matthew@centricular.com> + + * gst-libs/gst/gl/meson.build: + gl/meson: check for EGL headers before allowing use of EGL + For distros that provide headers in seperate dev/devel packages this + won't build egl support without the necessary EGL headers. + +2018-08-10 22:44:12 +1000 Matthew Waters <matthew@centricular.com> + + * gst-libs/gst/gl/gstglviewconvert.c: + glviewconvert: fix output when a transformation matrix is used + If we have a transformation matrix, we have no idea where in the output + the video is going to endup. It might also be different and not cover + the entire output. + We need to clear the output to remove any previous data in the backing + texture. + Found from + https://stackoverflow.com/questions/51707229/python-gstreamer-for-dynamic-control-of-element-properties + +2017-06-07 18:00:08 +0200 Nicolas Dufresne <nicolas.dufresne@collabora.com> + + * gst-libs/gst/gl/gstglmemory.c: + glmemory: Fix n_wrapped_pointers usage + gst_gl_memory_setup_buffer() was not properly using the number + of pointers to wrapped. This also fixes the validation, as we + only support 1 wrapper per view, or num_planes * views wrapper. + https://bugzilla.gnome.org/show_bug.cgi?id=783521 + +2018-07-24 18:40:36 +0800 Roland Jon <rlandjon@gmail.com> + + * gst/playback/gstdecodebin3.c: + decodebin3: fix eos event leak + https://bugzilla.gnome.org/show_bug.cgi?id=796860 + +2018-10-17 19:43:51 +0300 Sebastian Dröge <sebastian@centricular.com> + + * ext/ogg/gstoggdemux.c: + oggdemux: Answer POSITION query + +2018-10-15 19:45:46 +0530 Nirbheek Chauhan <nirbheek@centricular.com> + + * gst-libs/gst/video/gstvideometa.c: + videometa: Log map errors with GST_ERROR, not DEBUG + Otherwise it's very easy to miss them when gst_video_frame_map() fails + +2018-10-10 23:15:49 +0200 Mathieu Duponchelle <mathieu@centricular.com> + + * gst-libs/gst/rtsp/gstrtspconnection.c: + rtspconnection: do not duplicate authentication headers + rtsp_connection_send takes care of adding those already, + and some reverse proxies such as nginx will reject the request + altogether if the Authorization header is present twice, + even with the same value. + https://bugzilla.gnome.org/show_bug.cgi?id=797272 + +2018-10-01 17:51:26 -0700 Thiago Santos <thiagossantos@gmail.com> + + * gst-libs/gst/pbutils/encoding-profile.c: + encoding-profile: set_restriction should accept null as valid + It was checking for GST_IS_CAPS only and that would fail if the new + restriction caps was NULL and its documentation says it accepts NULL as + valid input. + +2018-09-29 11:26:27 +0300 Sebastian Dröge <sebastian@centricular.com> + + * gst-libs/gst/video/gstvideometa.c: + video: Fix annotations for gst_buffer_add_video_meta_full() + === release 1.14.4 === 2018-10-02 22:58:06 +0100 Tim-Philipp Müller <tim@centricular.com> |