+2022-11-07 20:31:25 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/pbutils/gstdiscoverer-types.c:
+ discoverer: Annotate `DiscovererInfo::get_audio_streams()` and others with the concrete stream info type
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3353>
+
+2022-11-05 07:34:27 +0100 Edward Hervey <edward@centricular.com>
+
+ * gst/subparse/gstsubparse.c:
+ subparse: Fix non-closed tag handling.
+ Unclear what the goal was, but we could end up reading way past the next_tag.
+ Instead just move everything from after the end tag ('>') to the next_tag.
+ Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=53040
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3340>
+
+2022-10-31 16:06:45 +0100 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gstparsebin.c:
+ parsebin: Fix leak
+ Release the reference on the collection which was given to us when extracting it
+ from the event/message.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319>
+
+2022-10-13 22:15:58 +0530 Sanchayan Maity <sanchayan@asymptotic.io>
+
+ * gst/playback/gstplaybin3.c:
+ playbin3: Fix missing pad unref
+ GST_TRACERS="leaks" GST_DEBUG="GST_TRACER:7,leaks:6" gst-play-1.0 --use-playbin3 test.mkv
+ When running a pipeline like above, leaks are observed.
+ 0:00:56.882419132 240637 0x5562c528ccc0 TRACE GST_TRACER :0:: object-alive, type-name=(string)GstConcatPad, address=(gpointer)0x7efd7c0d20a0, description=(string)<'':sink_0>, ref-count=(uint)1, trace=(string);
+ 0:00:56.882429131 240637 0x5562c528ccc0 TRACE GST_TRACER :0:: object-alive, type-name=(string)GstConcatPad, address=(gpointer)0x7efd7c0d2be0, description=(string)<'':sink_0>, ref-count=(uint)1, trace=(string);
+ 0:00:56.882437056 240637 0x5562c528ccc0 TRACE GST_TRACER :0:: object-alive, type-name=(string)GstConcatPad, address=(gpointer)0x7efd7c0d3720, description=(string)<'':sink_0>, ref-count=(uint)1, trace=(string);
+ gst_element_release_request_pad does not unref the pad. It needs to
+ be followed by gst_object_unref. Doing that fixes the above leaks.
+ Use g_ptr_array_new_with_free_func with gst_object_unref as the free
+ function to unref the pad after release.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3177>
+
+2022-10-26 13:42:59 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/pbutils/codec-utils.c:
+ pbutils: add correct mime mapping for vp9
+ Based on https://www.webmproject.org/vp9/mp4/#codecs-parameter-string
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3260>
+
+2022-10-27 15:13:36 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/app/gstappsrc.c:
+ * gst-libs/gst/audio/gstaudiodecoder.c:
+ * gst-libs/gst/audio/gstaudioencoder.c:
+ * gst-libs/gst/video/gstvideoencoder.c:
+ core/base: Only post latency messages if the latency values have actually changed
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1525
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3282>
+
+2022-10-27 07:21:19 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst-libs/gst/video/gstvideodecoder.c:
+ videodecoder: Only post latency message if it changed
+ Posting latency messages causes a full and potentially expensive latency
+ recalculation of the pipeline. While subclasses should check whether the latency
+ really changed or not before calling this function, we ensure that we do not
+ post such messages if it didn't change.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3282>
+
+2022-10-26 10:25:43 +0200 Daniels Umanovskis <du@axentia.se>
+
+ * sys/ximage/ximagesink.c:
+ * sys/xvimage/xvcontext.c:
+ ximagesink, xvimagesink: set the _NET_WM_PID atom on the window
+ This makes it easier for X11 window management to work with windows created by these sinks
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3267>
+
+2022-10-25 09:39:07 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/gl/gstgldisplay.c:
+ * gst-libs/gst/gl/gstglshader.c:
+ * gst-libs/gst/pbutils/gstdiscoverer.c:
+ * gst-libs/gst/rtsp/gstrtspconnection.c:
+ * gst-libs/gst/rtsp/gstrtspmessage.c:
+ * gst-libs/gst/sdp/gstmikey.c:
+ Fix various warnings from gobject-introspection
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3261>
+
+2022-10-21 21:50:01 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h:
+ * gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+ * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+ gl/vulkan: Fix static linking on macOS
+ duplicate symbol '__invoke_on_main' in:
+ /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstvulkan-1.0.a(cocoa_gstvkwindow_cocoa.m.o)
+ /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstgl-1.0.a(cocoa_gstglwindow_cocoa.m.o)
+ ld: 1 duplicate symbol for architecture x86_64
+ clang: error: linker command failed with exit code 1 (use -v to see invocation)
+ Also make the same change in iOS for consistency.
+ Continuation of https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1132
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3242>
+
+2022-10-04 05:39:51 +0100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/meson.build:
+ build/gl: fix automatic dispmanx detection for rpi4
+ rpi4 doesn't contain dispmanx but still contains bcm_host.pc which
+ confuses the configure detection. Add an explicit check for
+ EGL_DISPMANX_WINDOW_T to ensure that we only build with dispmanx when
+ the types are available.
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/893
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/952
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3230>
+
+2022-10-19 22:08:17 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstglcontextconfig.c:
+ docs/glcontextconfig: rename title to not be GstGLContext
+ Can be confusing havint two pages that both have GstGLContext as the
+ title.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3227>
+
+2022-07-06 21:45:24 +0300 Jordan Petridis <jordan@centricular.com>
+
+ * ext/cdparanoia/meson.build:
+ cdparanoia: Ignore compiler warning coming from the cdparanoia header
+ When trying to build the plugin, GCC starts complaining about issues
+ with one of the cdparanoia headers and it block us from being able
+ to build the plugin with Werror.
+ The current warning in the header look like this:
+ ```
+ [1/2] Compiling C object subprojects/gst-plugins-base/ext/cdparanoia/libgstcdparanoia.so.p/gstcdparanoiasrc.c.o
+ In file included from ../subprojects/gst-plugins-base/ext/cdparanoia/gstcdparanoiasrc.h:37,
+ from ../subprojects/gst-plugins-base/ext/cdparanoia/gstcdparanoiasrc.c:31:
+ /usr/include/cdda/cdda_interface.h:164:3: warning: initialization discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
+ 164 | "Success",
+ | ^~~~~~~~~
+ ...
+ /usr/include/cdda/cdda_interface.h:163:14: warning: ‘strerror_tr’ defined but not used [-Wunused-variable]
+ 163 | static char *strerror_tr[]={
+ | ^~~~~~~~~~~
+ [2/2] Linking target subprojects/gst-plugins-base/ext/cdparanoia/libgstcdparanoia.so
+ ```
+ Last release of cdparanoia was in 2008, so our best bet for the
+ time is to ignore the warnings.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2722>
+
+2022-10-17 14:43:42 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/sdp/gstmikey.c:
+ * gst-libs/gst/sdp/gstsdpmessage.c:
+ sdp: Add/fix various annotations
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>
+
+2022-10-17 14:51:03 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/tag/gstid3tag.c:
+ * gst-libs/gst/tag/gstvorbistag.c:
+ * gst-libs/gst/tag/gstxmptag.c:
+ * gst-libs/gst/tag/id3v2.c:
+ * gst-libs/gst/tag/lang.c:
+ * gst-libs/gst/tag/licenses.c:
+ * gst-libs/gst/tag/tags.c:
+ tag: Add/fix various annotations
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>
+
+2022-10-17 11:31:05 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/allocators/gstdmabuf.c:
+ * gst-libs/gst/allocators/gstfdmemory.c:
+ allocators: Add/fix various annotations
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>
+
+2022-10-15 12:16:01 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/gl/cocoa/gstgldisplay_cocoa.m:
+ * gst-libs/gst/gl/egl/gsteglimage.c:
+ * gst-libs/gst/gl/egl/gstgldisplay_egl.c:
+ * gst-libs/gst/gl/egl/gstgldisplay_egl_device.c:
+ * gst-libs/gst/gl/gstglbasememory.c:
+ * gst-libs/gst/gl/gstglbasememory.h:
+ * gst-libs/gst/gl/gstglbufferpool.c:
+ * gst-libs/gst/gl/gstglcolorconvert.c:
+ * gst-libs/gst/gl/gstglcontext.c:
+ * gst-libs/gst/gl/gstgldisplay.c:
+ * gst-libs/gst/gl/gstglformat.c:
+ * gst-libs/gst/gl/gstglshader.c:
+ * gst-libs/gst/gl/gstglsl.c:
+ * gst-libs/gst/gl/gstglviewconvert.c:
+ * gst-libs/gst/gl/viv-fb/gstgldisplay_viv_fb.c:
+ * gst-libs/gst/gl/wayland/gstgldisplay_wayland.c:
+ * gst-libs/gst/gl/x11/gstgldisplay_x11.c:
+ gl: Add/fix various annotations
+ And fix a memory leaks in gst_gl_display_egl_new() error cases.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>
+
+2022-10-15 00:19:53 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/pbutils/codec-utils.c:
+ * gst-libs/gst/pbutils/descriptions.c:
+ * gst-libs/gst/pbutils/encoding-profile.c:
+ * gst-libs/gst/pbutils/encoding-target.c:
+ * gst-libs/gst/pbutils/gstdiscoverer-types.c:
+ * gst-libs/gst/pbutils/gstdiscoverer.c:
+ * gst-libs/gst/pbutils/missing-plugins.c:
+ pbutils: Add/fix various annotations
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>
+
+2022-10-15 00:00:03 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/rtp/gstrtcpbuffer.c:
+ * gst-libs/gst/rtp/gstrtpbasedepayload.c:
+ * gst-libs/gst/rtp/gstrtpbasepayload.c:
+ * gst-libs/gst/rtp/gstrtpbuffer.c:
+ * gst-libs/gst/rtp/gstrtphdrext.c:
+ * gst-libs/gst/rtp/gstrtpmeta.c:
+ * gst-libs/gst/rtp/gstrtppayloads.c:
+ rtp: Add/fix various annotations
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>
+
+2022-10-14 23:52:40 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/rtsp/gstrtspconnection.c:
+ * gst-libs/gst/rtsp/gstrtspdefs.c:
+ * gst-libs/gst/rtsp/gstrtspmessage.c:
+ * gst-libs/gst/rtsp/gstrtsptransport.c:
+ * gst-libs/gst/rtsp/gstrtspurl.c:
+ rtsp: Add/fix various annotations
+ Also initialize out parameters so that they don't have an undefined
+ value in case of errors.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>
+
+2022-10-14 22:08:07 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/app/gstappsink.c:
+ * gst-libs/gst/app/gstappsrc.c:
+ app: Add/fix various annotations
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>
+
+2022-10-14 22:04:00 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/audio/audio-channel-mixer.c:
+ * gst-libs/gst/audio/audio-converter.c:
+ * gst-libs/gst/audio/audio-info.c:
+ * gst-libs/gst/audio/audio-resampler.c:
+ * gst-libs/gst/audio/audio.c:
+ * gst-libs/gst/audio/gstaudiobasesink.c:
+ * gst-libs/gst/audio/gstaudiobasesrc.c:
+ * gst-libs/gst/audio/gstaudiodecoder.c:
+ * gst-libs/gst/audio/gstaudioencoder.c:
+ audio: Add/fix various annotations
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>
+
+2022-10-14 21:59:43 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/video/gstvideodecoder.c:
+ * gst-libs/gst/video/gstvideoencoder.c:
+ * gst-libs/gst/video/gstvideometa.c:
+ * gst-libs/gst/video/gstvideotimecode.c:
+ * gst-libs/gst/video/video-anc.c:
+ * gst-libs/gst/video/video-anc.h:
+ * gst-libs/gst/video/video-converter.c:
+ * gst-libs/gst/video/video-format.c:
+ * gst-libs/gst/video/video-info.c:
+ * gst-libs/gst/video/video-multiview.c:
+ * gst-libs/gst/video/video-overlay-composition.c:
+ * gst-libs/gst/video/video-sei.h:
+ video: Add/fix various annotations
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>
+
+2022-10-17 13:01:53 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gsturisourcebin.c:
+ urisourcebin: Fix usage of raw and non-raw source provider
+ The computation in analyze_source was wrong, and would state that the element
+ has "all raw source pads" if it had at least one.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1029
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3199>
+
+2022-10-17 18:38:43 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/rtp/gstrtpbuffer.c:
+ * tests/check/libs/rtp.c:
+ rtpbuffer: Initialize extended timestamp to the first wraparound period
+ This allows correct handling of wrapping around backwards during the
+ first wraparound period and avoids the infamous "Cannot unwrap, any
+ wrapping took place yet" error message.
+ It allows makes sure that for actual timestamp jumps a valid value is
+ returned instead of 0, which then allows the caller to handle it
+ properly. Not having this can have the caller see the same timestamp (0)
+ for a very long time, which for example can cause rtpjitterbuffer to
+ output the same timestamp for a very long time.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1500
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3202>
+
+2022-10-14 16:12:45 +0200 Edward Hervey <edward@centricular.com>
+
+ * tools/gst-play.c:
+ gst-play: Don't leak the stream collection
+ We are given a reference to the collection when parsing it from the
+ message. Just store it (instead of referencing it again).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3186>
+
+2022-10-13 11:21:42 -0400 Julian Bouzas <julian.bouzas@collabora.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst-libs/gst/riff/riff-media.c:
+ riff: Mark jpeg as parsed
+ This is needed so that autoplugging works with avidemux and JPEG decoders that
+ need parsed sink caps (eg rockchip 'mppjpegdec' decoder). It also works fine
+ with 'jpegdec' decoder regardless.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3175>
+
+2022-10-07 11:46:29 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst/videorate/gstvideorate.c:
+ videorate: Do not close segment when getting a same segment twice
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3059>
+
+2022-09-14 16:39:48 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst/videorate/gstvideorate.c:
+ * gst/videorate/gstvideorate.h:
+ * tests/validate/meson.build:
+ * tests/validate/videorate/fill_segment_after_caps_changed_before_eos.validatetest:
+ * tests/validate/videorate/fill_segment_after_caps_changed_before_eos/flow-expectations/log-videorate-sink-expected:
+ * tests/validate/videorate/fill_segment_after_caps_changed_before_eos/flow-expectations/log-videorate-src-expected:
+ videorate: Handle closing segment on EOS right after caps event
+ The scenario is what we try in the tests:
+ - we have a segment with .stop set
+ - some frame(s) flow
+ - we get a CAPS event
+ - we get an EOS (before getting buffers after the CAPS event)
+ in that case, without that patch, the segment is not properly closed
+ which is not correct. In this patch we keep track of previous caps until
+ a new buffer arrives, this way in that situation we set previous caps
+ again, and close the segment with the previous buffer.
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1352
+ in this specific case
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3059>
+
+2022-08-22 16:33:23 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/gl/egl/gsteglimage.c:
+ opengl: Fix usage of eglCreate/DestroyImage
+ The implementation was inconsistent between create and destroy. EGLImage
+ creation and destruction is requires for EGL 1.5 and up, while
+ otherwise the KHR version is only available if EGL_KHR_image_base
+ feature is set. Not doing these check may lead to getting a function
+ pointer to a stub, which is notably the case when using apitrace.
+ Fixes #1389
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2925>
+
+2022-10-06 16:23:56 +0200 Aleksandr Slobodeniuk <aslobodeniuk@fluendo.com>
+
+ * gst/playback/gstdecodebin3.c:
+ decodebin3: allow to call "dispose" multiple times
+ https://docs.gtk.org/gobject/concepts.html#reference-counts-and-cycles
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3135>
+
+2022-10-06 13:03:26 +0200 Aleksandr Slobodeniuk <aslobodeniuk@fluendo.com>
+
+ * gst/playback/gstdecodebin3.c:
+ decodebin3: fix mutex leaks
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3126>
+
+2022-10-03 15:20:53 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst/playback/gstdecodebin3-parse.c:
+ decodebin3: Do not try to plug a decoder on raw formats
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3123>
+
+2022-10-06 00:00:59 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/video/gstvideosink.c:
+ videosink: Don't return unknown end-time from get_times()
+ ... in case of reverse playback. Otherwise basesink will not
+ wait for clock
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3121>
+
+2021-07-02 16:22:04 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * gst-libs/gst/gl/egl/gsteglimage.c:
+ eglimage: fix Y412_LE DMABuf import support
+ This fixed the error below:
+ GST_GL_PLATFORM=egl gst-launch-1.0 videotestsrc ! msdkvpp !
+ "video/x-raw(memory:DMABuf),format=Y412_LE" ! glimagesink
+ 0:00:00.063737691 576978 0x557c11266920 ERROR gleglimage
+ gsteglimage.c:577:_drm_rgba_fourcc_from_info: Unsupported format for
+ DMABuf.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1389>
+
+2021-07-02 16:01:19 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * gst-libs/gst/gl/egl/gsteglimage.c:
+ eglimage: add Y410 DMABuf import support
+ This fixed the error below:
+ GST_GL_PLATFORM=egl gst-launch-1.0 videotestsrc ! msdkvpp ! \
+ "video/x-raw(memory:DMABuf),format=Y410" ! glimagesink
+ 0:00:00.040553883 576732 0x55be9b35f920 ERROR gleglimage
+ gsteglimage.c:577:_drm_rgba_fourcc_from_info: Unsupported format for
+ DMABuf.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1389>
+
+2021-07-02 20:31:22 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * gst-libs/gst/gl/egl/gsteglimage.c:
+ eglimage: add Y212_LE / Y212_BE DMABuf import support
+ This fixed the error below:
+ GST_GL_PLATFORM=egl gst-launch-1.0 videotestsrc ! msdkvpp \
+ ! "video/x-raw(memory:DMABuf),format=Y212_LE" ! glimagesink
+ 0:00:00.148086281 575148 0x562a6d36d920 ERROR gleglimage
+ gsteglimage.c:555:_drm_rgba_fourcc_from_info: Unsupported format for
+ DMABuf.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1389>
+
+2021-07-02 15:37:19 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * gst-libs/gst/gl/egl/gsteglimage.c:
+ eglimage: add Y210 DMABuf import support
+ This fixed the error below:
+ GST_GL_PLATFORM=egl gst-launch-1.0 videotestsrc ! msdkvpp ! \
+ "video/x-raw(memory:DMABuf),format=Y210" ! glimagesink
+ 0:00:00.039881627 571365 0x56245eba6920 ERROR gleglimage
+ gsteglimage.c:549:_drm_rgba_fourcc_from_info: Unsupported format for
+ DMABuf
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1389>
+
+2022-10-04 03:57:31 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ Back to development
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3115>
+
+=== release 1.21.1 ===
+
+2022-10-04 01:14:01 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ChangeLog:
+ * NEWS:
+ * RELEASE:
+ * gst-plugins-base.doap:
+ * meson.build:
+ Release 1.21.1
+
+2022-10-04 01:13:59 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ChangeLog:
+ Update ChangeLogs for 1.21.1
+
+2022-10-01 02:33:49 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst/playback/gstplaysink.c:
+ * gst/playback/gstplaysinkaudioconvert.c:
+ * gst/playback/gstplaysinkaudioconvert.h:
+ playsink: Hold a reference to the soft volume element
+ Always hold a reference to the soft volume element
+ provided by the playsinkaudioconvert bin helper, the
+ same as when volume is provided by a sink element,
+ or the soft volume element gets unreffed too soon.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3108>
+
+2022-10-01 04:51:21 +1000 Jan Schmidt <jan@centricular.com>
+
+ * sys/xvimage/xvimageallocator.c:
+ xvimagesink: Don't leak XvShmImage
+ If allocating an XvShmImage generates an X error, but
+ still returns some allocated memory, make sure to free it
+ so it doesn't leak.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3100>
+
+2022-10-01 04:49:16 +1000 Jan Schmidt <jan@centricular.com>
+
+ * sys/xvimage/xvcontext.c:
+ xvimagesink: Zero initialize mask array
+ Clear the stack array before setting bits to pass to
+ XISelectEvents(). Fixes spurious crash from an X error:
+ X Error of failed request: BadValue (integer parameter out of range for operation)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3100>
+
+2022-10-01 04:47:31 +1000 Jan Schmidt <jan@centricular.com>
+
+ * sys/xvimage/xvcontext.c:
+ xvimagesink: Don't leak temporary
+ Use a stack variable instead of a temporarily
+ malloced variable that wasn't being freed
+ properly. Fixes a small leak of a GstXvTouchDevice
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3100>
+
+2022-10-01 04:41:06 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst/playback/gstdecodebin3.c:
+ decodebin3: Make sure event is writable before modifying
+ Make sure we're operating on a private copy of an event when
+ modifying it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3107>
+
+2022-10-01 04:40:09 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst/playback/gsturisourcebin.c:
+ urisourcebin: Make sure event is writable before modifying.
+ Make sure we're operating on a private copy of an event before
+ modifying it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3107>
+
+2022-10-01 04:37:05 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst/playback/gstdecodebin3.c:
+ decodebin3: Don't lose a ref on EOS event
+ Make sure not to give away the ref on the final EOS
+ event for which the probe handler is returning GST_PAD_PROBE_REMOVE
+ when pushing the event manually.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3107>
+
+2022-09-30 00:10:25 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst-libs/gst/pbutils/descriptions.c:
+ * tests/check/libs/pbutils.c:
+ pbutils: descriptions: add meta/x-klv
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3094>
+
+2022-09-30 00:07:07 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst-libs/gst/pbutils/descriptions.c:
+ * tests/check/libs/pbutils.c:
+ pbutils: descriptions: fix gst_pb_utils_get_caps_description_flags()
+ And add a little unit test.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3094>
+
+2022-09-29 09:39:15 +0100 James Cowgill <james.cowgill@blaize.com>
+
+ * gst-libs/gst/tag/gstxmptag.c:
+ xmptag: Call gst_tag_register_musicbrainz_tags during init
+ We need to call this to register the MusixBrainz tags before we use
+ them in an XMP schema.
+ Fixes this critical when attempting to run jpegparse on a JPEG
+ containing MusicBrainz XMP tags:
+ GStreamer-CRITICAL **: 20:41:07.885: gst_tag_get_type: assertion 'info != NULL' failed
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3092>
+
+2022-09-29 14:36:38 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * tests/interactive/test-effect-switch.c:
+ test-effect-switch: Fix some memory leaks and make effect element ownership clearer
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3091>
+
+2018-03-28 17:54:15 +0200 Philipp Zabel <p.zabel@pengutronix.de>
+
+ * gst-libs/gst/audio/gstaudiodecoder.c:
+ * gst-libs/gst/audio/gstaudioencoder.c:
+ * gst-libs/gst/video/gstvideodecoder.c:
+ * gst-libs/gst/video/gstvideoencoder.c:
+ buffer: drop parent meta in deep copy/foreach_metadata
+ The purpose of a deep buffer copy is to be able to release the source
+ buffer and all its dependencies. Attaching the parent buffer meta to
+ the newly created deep copy needlessly keeps holding a reference to the
+ parent buffer.
+ The issue this solves is the fact you need to allocate more
+ buffers, as you have free buffers being held for no reason. In the good
+ cases it will use more memory, in the bad case it will stall your
+ pipeline (since codecs often need a minimum number of buffers to
+ actually work).
+ Fixes #283
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2928>
+
+2022-09-27 13:41:37 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gstdecodebin3.c:
+ decodebin3: Fix memory issues with active selection list
+ This had a couple of issues:
+ * The backing strings (from GstStream) could disappear
+ * The actual list wasn't properly reset/freed when decodebin3 was re-used
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3083>
+
+2022-09-21 19:19:45 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * meson.build:
+ meson: Use implicit builtin dirs in pkgconfig generation
+ Starting with Meson 0.62, meson automatically populates the variables
+ list in the pkgconfig file if you reference builtin directories in the
+ pkgconfig file (whether via a custom pkgconfig variable or elsewhere).
+ We need this, because ${prefix}/libexec is a hard-coded value which is
+ incorrect on, for example, Debian.
+ Bump requirement to 0.62, and remove version compares that retained
+ support for older Meson versions.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1245
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3061>
+
+2022-09-06 17:25:50 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst/videorate/gstvideorate.c:
+ * gst/videorate/gstvideorate.h:
+ * tests/validate/meson.build:
+ * tests/validate/videorate/duplicate_on_eos.validatetest:
+ * tests/validate/videorate/duplicate_on_eos/flow-expectations/log-videorate-sink-expected:
+ * tests/validate/videorate/duplicate_on_eos/flow-expectations/log-videorate-src-expected:
+ * tests/validate/videorate/duplicate_on_eos_disbaled.validatetest:
+ * tests/validate/videorate/duplicate_on_eos_disbaled/flow-expectations/log-videorate-sink-expected:
+ * tests/validate/videorate/duplicate_on_eos_disbaled/flow-expectations/log-videorate-src-expected:
+ * tests/validate/videorate/duplicate_on_eos_half_sec.validatetest:
+ * tests/validate/videorate/duplicate_on_eos_half_sec/flow-expectations/log-videorate-sink-expected:
+ * tests/validate/videorate/duplicate_on_eos_half_sec/flow-expectations/log-videorate-src-expected:
+ videorate: Add a `max-closing-segment-duplication-duration` property
+ This allows users to let videorate fully fill the segments when received
+ EOS or on new segment, removing an arbitrary limit of 25 duplicates which
+ might not be what the user wants (for example on low FPS stream in GES,
+ that sometimes leaded to broken behavior)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3000>
+
+2022-09-12 09:46:43 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * tools/meson.build:
+ meson: Set install_tag on some targets
+ Trying to follow recommendation from Meson documentation:
+ https://mesonbuild.com/Installing.html#installation-tags
+ Move tools into 'bin' or 'bin-devel' categories to keep only libs and
+ plugins in the default 'runtime' category. This simplifies distribution
+ of GStreamer application skipping parts that are not needed, similarly
+ to what Cerbero does by hardcoding huge list of files.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3017>
+
+2022-09-19 08:54:15 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst-libs/gst/video/video-converter.c:
+ video-converter: Fix doc
+ Argument names weren't correct
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3043>
+
+2022-09-09 16:57:18 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst/playback/gstdecodebin2.c:
+ decodebin2: Do not fail if one of the decoders isn't able to output the requested format
+ when expose-all=False
+ When trying to find an decoder in that case, we loop over the different
+ decoder factories, and check that it outputs a format that matches the
+ requested one (through the :caps property), but if we find a decoder
+ that do match but later on some other don't we end up failing
+ autopluging. This patch ensures that we still plug the decoder that can
+ work.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3011>
+
+2022-08-29 10:20:55 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/gl/meson.build:
+ gl:meson: Minor typo fix
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2954>
+
+2022-08-29 10:17:45 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/meson.build:
+ doc: Do not build plugins to build the doc
+ It is not actually necessary
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2954>
+
+2022-09-07 10:36:09 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst-libs/gst/pbutils/gstdiscoverer.c:
+ * gst/playback/gsturidecodebin.c:
+ discoverer: Fix discovering source that expose raw audio/video
+ Exposes a "uridecodebin:post-stream-topology" property as the discoverer
+ needs to have topology information about all streams so we need
+ `uridecodebin` to always plug decodebins for that case.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3009>
+
+2022-09-07 17:11:08 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst/playback/gsturidecodebin.c:
+ uridecodebin: Fix some property documentation syntax
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3009>
+
+2022-09-07 10:39:21 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst/playback/gsturidecodebin.c:
+ * tests/validate/meson.build:
+ * tests/validate/uridecodebin/expose_raw_pad_caps.validatetest:
+ uridecodebin: Ensure that pads caps are set before exposing them
+ We are supposed to guarantee that pads that are exposed have the caps
+ set, but for sources that have pad with "all raw caps" templates, we end
+ up exposing pads that don't have caps set yet, which can break code (in
+ GES for example).
+ To avoid that we let uridecodebin plug a `decodebin` after such pads and
+ let decodebin to handle that for us. In the end the only thing that
+ decodebin does in those cases is to wait for pads to be ready and expose
+ them, after that `uridecodebin` will expose those pads.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3009>
+
+2021-03-24 14:20:18 -0500 Zebediah Figura <z.figura12@gmail.com>
+
+ * meson.build:
+ meson: Build with -Wl,-z,nodelete to prevent unloading of dynamic libraries and plugins
+ GLib made the unfortunate decision to prevent libgobject from ever being
+ unloaded, which means that now any library which registers a static type
+ can't ever be unloaded either (and any library that depends on those,
+ ad nauseam).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/778>
+
+2022-07-06 04:18:37 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/video/video-format.c:
+ video-format: Workaround MSVC build error
+ ../gst-libs/gst/video/video-format.c(6779): error C2219: syntax error:
+ type qualifier must be after '*'
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2719>
+
+2022-09-07 16:35:38 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst/subparse/mpl2parse.c:
+ subparse: fix crash when parsing invalid timestamps in mpl2
+ Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=49245
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2989>
+
+2022-09-01 15:11:31 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * ext/alsa/meson.build:
+ * ext/cdparanoia/meson.build:
+ * ext/gl/meson.build:
+ * ext/libvisual/meson.build:
+ * ext/ogg/meson.build:
+ * ext/opus/meson.build:
+ * ext/pango/meson.build:
+ * ext/theora/meson.build:
+ * ext/vorbis/meson.build:
+ * gst/adder/meson.build:
+ * gst/app/meson.build:
+ * gst/audioconvert/meson.build:
+ * gst/audiomixer/meson.build:
+ * gst/audiorate/meson.build:
+ * gst/audioresample/meson.build:
+ * gst/audiotestsrc/meson.build:
+ * gst/compositor/meson.build:
+ * gst/encoding/meson.build:
+ * gst/gio/meson.build:
+ * gst/overlaycomposition/meson.build:
+ * gst/pbtypes/meson.build:
+ * gst/playback/meson.build:
+ * gst/rawparse/meson.build:
+ * gst/subparse/meson.build:
+ * gst/tcp/meson.build:
+ * gst/typefind/meson.build:
+ * gst/videoconvertscale/meson.build:
+ * gst/videorate/meson.build:
+ * gst/videotestsrc/meson.build:
+ * gst/volume/meson.build:
+ * meson.build:
+ * sys/ximage/meson.build:
+ * sys/xvimage/meson.build:
+ meson: Call pkgconfig.generate in the loop where we declare plugins dependencies
+ Removing some copy pasted code
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-09-01 11:51:48 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/meson.build:
+ * gst-libs/gst/allocators/meson.build:
+ * gst-libs/gst/app/meson.build:
+ * gst-libs/gst/audio/meson.build:
+ * gst-libs/gst/fft/meson.build:
+ * gst-libs/gst/gl/meson.build:
+ * gst-libs/gst/pbutils/meson.build:
+ * gst-libs/gst/riff/meson.build:
+ * gst-libs/gst/rtp/meson.build:
+ * gst-libs/gst/rtsp/meson.build:
+ * gst-libs/gst/sdp/meson.build:
+ * gst-libs/gst/tag/meson.build:
+ * gst-libs/gst/video/meson.build:
+ * meson.build:
+ meson: Namespace the plugins_doc_dep/libraries variables
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-08-31 18:44:14 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * meson.build:
+ meson: Rename plugins list and make them "dependency" objects
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-08-31 14:50:38 +0000 Ádám Balázs <broothy@gmail.com>
+
+ * gst/audioconvert/gstaudioconvert.c:
+ gstaudioconvert: doc: Fix mix-matrix example
+ mix-matrix should contain float elements, modify the example to do so
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2966>
+
+2022-08-30 14:29:41 +0200 Rafael Caricio <rafael@caricio.com>
+
+ * gst-libs/gst/pbutils/gstaudiovisualizer.c:
+ audiovisualizer: fix buffer mapping to not increase refcount
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2953>
+
+2022-08-23 19:12:17 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * sys/ximage/ximagesink.c:
+ * sys/xvimage/xvimagesink.c:
+ x(v)imagesink: Don't create invalid GstNavigationModifierType by simply passing through X11 event states
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2931>
+
+2022-07-22 13:41:17 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst/playback/gstrawcaps.h:
+ playback: add onvif metadata caps to raw caps
+ + remove encoding from x-onvif-metadata caps output by qtdemux
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2889>
+
+2022-08-23 16:02:31 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/videoconvertscale/gstvideoconvertscale.c:
+ videoconvert: fix passthrough on equivalent transfer
+ When the input info and output info are equal, except for the
+ transfer functions that are *not* equivalent, we need to set up
+ a converter as we won't be passthrough.
+ Fixes an assertion in that case.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2929>
+
+2022-08-17 12:53:02 +0200 Guillaume Desmottes <guillaume.desmottes@onestream.live>
+
+ * gst-libs/gst/video/video-converter.c:
+ * gst-libs/gst/video/video-converter.h:
+ * tests/check/libs/video.c:
+ base: video-converter: add accessors for input and output formats
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2905>
+
+2022-08-05 20:52:19 +0900 Seungha Yang <seungha@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst/videoconvertscale/gstvideoconvert.c:
+ * gst/videoconvertscale/gstvideoconvertscale.c:
+ * gst/videoconvertscale/gstvideoconvertscale.h:
+ * gst/videoconvertscale/gstvideoscale.c:
+ videoconvert,videoscale: Do conversion in videoconvert and scaling in videoscale
+ Keep behaving the same as before videoconvertscale port
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2778>
+
+2022-08-05 20:16:00 +0900 Seungha Yang <seungha@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst/videoconvertscale/gstvideoconvert.c:
+ * gst/videoconvertscale/gstvideoconvertscale.c:
+ * gst/videoconvertscale/gstvideoconvertscale.h:
+ * gst/videoconvertscale/gstvideoscale.c:
+ * tests/validate/convertscale/convert_disable_scale.validatetest:
+ * tests/validate/convertscale/convert_disable_scale/flow-expectations/log-converter-src-expected:
+ * tests/validate/convertscale/scale_disable_convert.validatetest:
+ * tests/validate/convertscale/scale_disable_convert/flow-expectations/log-scaler-src-expected:
+ * tests/validate/meson.build:
+ Revert "videoconvertscale: Add properties to disable scaling/converting in videoconvert/videoscale"
+ This reverts commit cd7a91cef1c6a2e24d440126b7f2ab543fb205c5.
+ Reverting properties, scaling in videoconvert and converting in
+ videoscale will be disabled by the other commit
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2778>
+
+2022-08-12 22:42:28 -0700 Khem Raj <raj.khem@gmail.com>
+
+ * gst/subparse/gstssaparse.c:
+ ssaparse: include required system headers for isspace() and sscanf() functions
+ Newer compilers ( clang 15 ) have turned stricter and errors out instead
+ of warning on implicit function declations
+ Fixes
+ gstssaparse.c:297:12: error: call to undeclared library function 'isspace' with type 'int (int)'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
+ while (isspace(*t))
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2879>
+
+2022-08-12 13:16:50 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/rtsp/gstrtspurl.c:
+ * tests/check/libs/rtsp.c:
+ rtspurl: Use gst_uri_join_strings() in gst_rtsp_url_get_request_uri_with_control() instead of a hand-crafted, wrong version
+ For example the query string of the base must not be taken over to the
+ request URL unless there is no control path, and control paths can be
+ absolute and must not be considered relative if they start with a /.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/971
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2868>
+
+2022-08-12 13:15:46 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * tests/check/libs/rtsp.c:
+ rtspurl: Use fail_unless_equals_string() in tests
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2868>
+
+2022-07-27 22:34:42 +1000 Jan Schmidt <jan@centricular.com>
+
+ * ext/pango/gstbasetextoverlay.c:
+ * ext/pango/gstbasetextoverlay.h:
+ basetextoverlay: Don't miscalculate text running times
+ When a new segment event arrives, it immediately updates
+ the current stored segment, which was used for calculating
+ the running time of the current text buffer for every
+ passing video frame. This means a segment that arrives
+ after the text buffer might get used to (mis)calculate
+ the running times subsequently.
+ Instead, calculate and store the right running time
+ using the current segment when storing the buffer. Later
+ the stored segment can get freely updated.
+ This fixes the case where pieces of video and text streams
+ are seamlessly concatenated and fed through the text overlay.
+ Previously, it could lead to the current text buffer suddenly
+ have a massive running time and blocking all further input.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2802>
+
+2022-08-09 18:06:41 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/opus/gstopusenc.c:
+ opusenc: improve inband-fec property documentation
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2853>
+
+2022-06-30 16:14:27 +0300 Jordan Petridis <jordan@centricular.com>
+
+ * ext/alsa/gstalsaplugin.c:
+ gstalsaplugin: return the result of the element registration
+ Previously there were branches that would return FALSE, however
+ it looks like we forgot to return the new result variable.
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/900
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2695>
+
+2022-01-22 02:35:36 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/encoding/gstsmartencoder.c:
+ smartencoder: fix detection of avc1
+ While avc1 is the FourCC, avc is the name used in caps
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1549>
+
+2022-01-22 02:29:54 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/playback/gstdecodebin2.c:
+ decodebin2: don't reverse stream topology order
+ This can be important for instance when a container holds multiple
+ tracks with the same media type, with no indication (eg tags) of
+ which track is the default one.
+ In that case, players usually pick the first track by default.
+ This is especially useful when using smart editing with GES, as
+ it will result in the same ordering as the input file that was
+ used as a template.
+ For reference, this yields the same order as ffprobe.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1549>
+
+2022-01-21 01:02:52 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/encoding/gstsmartencoder.c:
+ gstsmartencoder: don't make calculations for invalid DTS
+ Instead, as the current code relies on having a valid DTS (for lining
+ up passed through and re-encoded segments), simply compute a DTS
+ from the PTS if the DTS was invalid.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1549>
+
+2022-01-21 00:57:16 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst-libs/gst/pbutils/encoding-profile.c:
+ encoding-profile: don't order profiles by stream ID ..
+ when creating a profile from a discoverer info.
+ There is no justification for the existing code, and talking with
+ Thibault he cannot remember why the sort was in place.
+ On the other hand, this allows GES users to not have to implement
+ a callback for the select-tracks-for-object callback when using
+ it to trim a single clip, which the output profile was built from:
+ track elements will be placed in the appropriate track by default,
+ that is the one that will be connected to the matching profile.
+ For multi-clip timelines, the situation doesn't change, users will
+ still have to implement a callback and do the leg work of placing
+ track elements (if any) in a matching track (if any).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1549>
+
+2022-01-21 00:49:33 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst-libs/gst/pbutils/encoding-profile.c:
+ encoding-profile: ignore more output caps fields
+ chroma-format, bit-depth-chroma, bit-depth-luma are all informative
+ fields set by the H265 and H265 parser upon receiving an SPS.
+ They shouldn't be constrained downstream of the parser, instead
+ if a user wants those to ultimately match certain values they
+ should do so by constraining a profile.
+ In this case however, we also always remove the profile constraint
+ in order to let encoders pick a suitable one as a function of the
+ raw input video format and their own capabilities.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1549>
+
+2022-08-01 17:25:56 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gstparsebin.c:
+ parsebin: Avoid crash with unknown streams
+ With the new addition of handling unknown sream types we *could* end up with a
+ chain which doesn't have a current_pad (it's an intermediary one)
+ Fixes #1287
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2822>
+
+2022-05-25 18:40:30 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst-libs/gst/rtsp/gstrtspconnection.c:
+ rtsp+rtmp: Forward warning added to tls-validation-flags to our users
+ With the 2.72 release, glib-networking developers have decided that
+ TLS certificate validation cannot be implemented correctly by them, so
+ they've deprecated it.
+ In a nutshell: a cert can have several validation errors, but there
+ are no guarantees that the TLS backend will return all those errors,
+ and things are made even more complicated by the fact that the list of
+ errors might refer to certs that are added for backwards-compat and
+ won't actually be used by the TLS library.
+ Our best option is to ignore the deprecation and pass the warning onto
+ users so they can make an appropriate security decision regarding
+ this.
+ We can't deprecate the tls-validation-flags property because it is
+ very useful when connecting to RTSP cameras that will never get
+ updates to fix certificate errors.
+ Relevant upstream merge requests / issues:
+ https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2214
+ https://gitlab.gnome.org/GNOME/glib-networking/-/issues/179
+ https://gitlab.gnome.org/GNOME/glib-networking/-/merge_requests/193
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2494>
+
+2022-07-13 22:37:26 +0900 Seungha Yang <seungha@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ compositor: Update plugins cache
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1486>
+
+2022-01-18 21:21:23 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/compositor/compositor.c:
+ compositor: Warn when inputs are SDR/HDR mixed
+ Let user know that the result of mixed SDR/HDR is not guaranteed
+ to be a good visual quality.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1486>
+
+2021-11-24 20:21:52 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/compositor/blend.c:
+ * gst/compositor/blend.h:
+ * gst/compositor/compositor.c:
+ * gst/compositor/compositor.h:
+ compositor: Add support for all formats
+ For formats which we don't have fast-path implementation, compositor
+ will convert it to common unpack formats (AYUV, ARGB, AYUV64 and ARGB64)
+ then blending will happen using the intermediate formats.
+ Finally blended image will be converted back to the selected output format
+ if required.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1486>
+
+2021-11-20 00:41:52 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/compositor/blend.c:
+ * gst/compositor/blend.h:
+ * gst/compositor/compositor.c:
+ compositor: Add support for Y444 high bitdepth formats
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1486>
+
+2021-11-19 16:32:38 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/compositor/blend.c:
+ * gst/compositor/blend.h:
+ * gst/compositor/compositor.c:
+ * gst/compositor/compositororc-dist.c:
+ * gst/compositor/compositororc-dist.h:
+ * gst/compositor/compositororc.orc:
+ compositor: Add support for I420/I422 high bitdepth formats
+ Implementation for {I420,I422}_{10,12}_{LE,BE} formats
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1486>
+
+2021-11-19 21:46:43 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/compositor/blend.c:
+ * gst/compositor/compositor.c:
+ * gst/compositor/compositor.h:
+ compositor: Calculate background color only once
+ ... instead of do that per fill_color() call in case of RGB format.
+ Moreover, respect selected GstVideoColorRange
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1486>
+
+2022-07-27 15:42:44 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/rtsp/gstrtspconnection.c:
+ rtspconnection: protect cancellable by a mutex
+ It is entirely possible for the cancellable to be cancelled (and freed)
+ in gst_rtsp_connection_flush() while there may be an ongoing read/write
+ operation.
+ Nothing prevents gst_rtsp_connection_flush() from waiting for the
+ outstanding read/writes.
+ This could lead to a crash like (where cancellable has been freed
+ within gst_rtsp_connection_flush()):
+ #0 0x00007ffff4351096 in g_output_stream_writev (stream=stream@entry=0x7fff30002950, vectors=vectors@entry=0x7ffe2c6afa80, n_vectors=n_vectors@entry=3, bytes_written=bytes_written@entry=0x7ffe2c6af950, cancellable=cancellable@entry=0x7fff300288a0, error=error@entry=0x7ffe2c6af958) at ../subprojects/glib/gio/goutputstream.c:377
+ #1 0x00007ffff44b2c38 in writev_bytes (stream=0x7fff30002950, vectors=vectors@entry=0x7ffe2c6afa80, n_vectors=n_vectors@entry=3, bytes_written=bytes_written@entry=0x7ffe2c6afb90, block=block@entry=1, cancellable=0x7fff300288a0) at ../subprojects/gst-plugins-base/gst-libs/gst/rtsp/gstrtspconnection.c:1320
+ #2 0x00007ffff44b583e in gst_rtsp_connection_send_messages_usec (conn=0x7fff30001370, messages=messages@entry=0x7ffe2c6afcc0, n_messages=n_messages@entry=1, timeout=timeout@entry=3000000) at ../subprojects/gst-plugins-base/gst-libs/gst/rtsp/gstrtspconnection.c:2056
+ #3 0x00007ffff44d2669 in gst_rtsp_client_sink_connection_send_messages (sink=0x7fffac0192c0, timeout=3000000, n_messages=1, messages=0x7ffe2c6afcc0, conninfo=0x7fffac019610) at ../subprojects/gst-rtsp-server/gst/rtsp-sink/gstrtspclientsink.c:1929
+ #4 gst_rtsp_client_sink_try_send (sink=sink@entry=0x7fffac0192c0, conninfo=conninfo@entry=0x7fffac019610, requests=requests@entry=0x7ffe2c6afcc0, n_requests=n_requests@entry=1, response=response@entry=0x0, code=code@entry=0x0) at ../subprojects/gst-rtsp-server/gst/rtsp-sink/gstrtspclientsink.c:2845
+ #5 0x00007ffff44d3077 in do_send_data (buffer=0x7fff38075c60, channel=<optimized out>, context=0x7fffac042640) at ../subprojects/gst-rtsp-server/gst/rtsp-sink/gstrtspclientsink.c:3896
+ #6 0x00007ffff4281cc6 in gst_rtsp_stream_transport_send_rtp (trans=trans@entry=0x7fff20061f80, buffer=<optimized out>) at ../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-stream-transport.c:632
+ #7 0x00007ffff4278e9b in push_data (stream=0x7fff40019bf0, is_rtp=<optimized out>, buffer_list=0x0, buffer=<optimized out>, trans=0x7fff20061f80) at ../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-stream.c:2586
+ #8 check_transport_backlog (stream=0x7fff40019bf0, trans=0x7fff20061f80) at ../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-stream.c:2645
+ #9 0x00007ffff42793b3 in send_tcp_message (idx=<optimized out>, stream=0x7fff40019bf0) at ../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-stream.c:2741
+ #10 send_func (stream=0x7fff40019bf0) at ../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-stream.c:2776
+ #11 0x00007ffff7d59fad in g_thread_proxy (data=0x7fffbc062920) at ../subprojects/glib/glib/gthread.c:827
+ #12 0x00007ffff7a8ce2d in start_thread () from /lib64/libc.so.6
+ #13 0x00007ffff7b12620 in clone3 () from /lib64/libc.so.6
+ Fix by adding a cancellable lock and returning an extra reference used
+ across all read/write operations. gst_rtsp_connection_flush() can free
+ the in-use cancellable and it will no longer affect any in progress
+ read/write.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2799>
+
+2022-07-22 13:13:42 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/audiomixer/gstaudiointerleave.c:
+ audiointerleave: fix property docs
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2785>
+
+2022-07-23 02:49:20 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst-libs/gst/video/video-chroma.c:
+ video: Fix scaling in 4x horizontal co-sited chroma
+ 4x downscaling of chroma with co-sited chroma has never worked
+ it seems.
+ Fixes incorrect videotestsrc output and videoconvert conversions
+ to Y41B, YUV9, YVU9 and IYU9 with co-sited chroma.
+ e.g.
+ gst-launch-1.0 videotestsrc ! video/x-raw,format=Y41B,width=1280,height=720 ! \
+ videoconvert ! autovideosink
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2789>
+
+2022-07-02 06:08:57 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/video/gstvideoaggregator.c:
+ videoaggregator: Don't force upstream alpha format
+ "video/x-raw,format=RGBA ! some-video-filter ! video/x-raw,format=NV12"
+ is a very common case and therefore such erroring at baseclass
+ does not seem to be a desired behavior.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2703>
+
+2022-07-17 00:30:10 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/video/video-converter.c:
+ video-converter: Use primaries compare function
+ Avoid conversion if both color primaries are functionally equal
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2765>
+
+2022-07-16 23:36:22 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/video/video-color.c:
+ * gst-libs/gst/video/video-color.h:
+ * tests/check/libs/video.c:
+ video-color: Add primaries and colorimetry compare functions
+ SMPTE 170M and 240M use the same RGB and white point coordinates
+ and therefore both primaries can be considered functionally
+ equivalent.
+ Also, some transfer functions have different name but equal
+ gamma functions. Adding another colorimetry compare function
+ to deal with thoes cases at once
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2765>
+
+2022-07-12 14:47:20 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/gl/gstglimagesink.c:
+ glimagesink: only allow setting the GL display/context if it is a valid value
+ Otherwise, when setting the external application context, then the
+ display may be cleared and then not used and the asharing mechanism does
+ not work anymore.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2750>
+
+2022-07-07 23:40:22 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst-libs/gst/gl/gstglupload.c:
+ glupload: Add raw caps to sink pad when needed.
+ When checking if the current upload method can support
+ the requested caps filter in _transform_caps(),
+ make sure the sink pad reports raw caps.
+ Fixes #1311
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2725>
+
+2022-07-07 23:54:44 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst-libs/gst/gl/gstglupload.c:
+ gstglupload: Remove raw caps from individual methods
+ Raw memory upload should always be the least preferred input
+ caps, only added by the raw memory uploader as the last thing
+ in the caps.
+ Caps negotiation should still choose raw data when it needs to,
+ and other upload methods that can accept raw data buffers will still do so.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2725>
+
+2022-07-11 20:12:30 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst-libs/gst/video/gstvideoaggregator.c:
+ videoaggregator: always convert when user provides converter-config
+ The `converter-config` property may be used to perform cropping,
+ conversion should always be performed when the user set the property
+ to a non-NULL value.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2746>
+
+2022-07-08 20:49:21 +0200 Andoni Morales Alastruey <ylatuya@gmail.com>
+
+ * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+ glwindow_cocoa: fix a leak of the GstNSView
+ This leak is also causing a leak of the GstGLCAOpenGLLayer
+ which leaks the GstGLWrappedContext and the GstGLDisplay
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2736>
+
+2022-07-08 20:38:51 +0200 Andoni Morales Alastruey <ylatuya@gmail.com>
+
+ * gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+ gl: Fix leak of the whole CGL context
+ This was leaking the CGL context and several resources
+ allocated in the context, around 70MB for a 1080p clip
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2736>
+
+2022-06-14 12:22:22 +0200 Marc Leeman <m.leeman@televic.com>
+
+ * gst-libs/gst/video/video-format.c:
+ base: lookup RGB format without alpha
+ librfb requests a colour space for depth 32 and bpp 32 with alpha set to
+ 0x0, treat this the same as depth 24 with bpp 32.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2627>
+
+2022-07-04 17:27:50 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst/videoconvertscale/gstvideoconvertscale.c:
+ videoconvertscale: ensure writable caps when fixating format
+ gst_video_convert_scale_get_fixed_format() receives 'othercaps' from
+ basetransforms' fixate_caps() vmethod which explicitly mentions that
+ '`othercaps` may not be writable'.
+ The gst_caps_intersect() call just before may or may not produce new
+ caps. Particularly in cases like EMPTY or ANY caps on either of the
+ inputs, only a ref is taken and returned to the caller.
+ As a result, gst_video_convert_scale_fixate_format() may have attempted
+ to modify a non-writable caps structure.
+ Fix by adding a gst_caps_make_writable().
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2709>
+
+2022-06-30 00:39:50 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/subparse/samiparse.c:
+ samiparse: clean up some GString usage
+ There's no need to re-assign the return value of
+ g_string_append_*() functions and such to the variable
+ holding the GString. These return values are just for
+ convenience so function calls can be chained. The actual
+ GString pointer won't change, it's not a GList after all.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2685>
+
+2022-06-30 00:31:24 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/subparse/samiparse.c:
+ samiparse: micro-optimise entity handling
+ Avoid relocations and hard-code entity string length
+ in the struct, since we basically get it for free here.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2685>
+
+2022-06-30 00:13:19 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/subparse/samiparse.c:
+ * tests/check/elements/subparse.c:
+ samiparse: fix handling of self-closing tags
+ We would check the wrong string (rest of line rather than element)
+ for the / suffix of self-closing tags, which is not only wrong but
+ also has atrocious performance with certain strings like the garbled
+ nonsense clusterfuzz feeds us, which might cause discoverer to time
+ out when processing garbled SAMI files.
+ Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=47461
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2685>
+
+2022-07-01 23:57:08 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst-libs/gst/gl/gstglupload.c:
+ Revert "glupload: Fix caps query with no filter"
+ This reverts commit 6f9ae5d7580763b5d18badb76f2166ff0012886a.
+ The _transform_caps() function can't tell the difference
+ between the caller wanting to know the output caps
+ for the current method, or all possible output caps. If
+ it includes caps for all possible methods, glupload can
+ end up negotiating and sending the wrong output caps
+ downstream.
+ Partially reverts !2687
+ Fixes #1310
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2699>
+
+2022-06-28 09:38:34 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/gl/gstglvideomixer.c:
+ glvideomixer: Only consider property changes a geometry change if there as an actual change
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2669>
+
+2022-06-27 21:28:07 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/gl/gstglvideomixer.c:
+ glvideomixer: Add crop-{left,right,top,bottom} pad properties for cropping inputs
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2669>
+
+2022-06-30 09:02:00 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/sdp/gstsdpmessage.c:
+ sdpmessage: Don't set SDP medias from caps without media/payload/clock-rate fields
+ Previously it would've silently failed reading the payload/clock-rate
+ and instead would've used some random value that happened to be on the
+ stack.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2689>
+
+2022-06-30 12:50:17 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst-libs/gst/gl/gstglupload.c:
+ glupload: Fix caps query with no filter
+ If no filter caps are provided with a caps query, always
+ generate a full set of all caps from all upload methods,
+ not just the configured one. This is needed to handle
+ renegotiation when dealing with raw sysmem caps - as the upload
+ method might accept raw sysmem caps, but only the raw data
+ uploader adds those to the caps query.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2687>
+
+2022-06-30 12:46:31 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst-libs/gst/gl/gstglupload.c:
+ Revert "glupload: allow system memory for dmabuf in transform_caps"
+ This reverts commit f3292dc1561a8d62812c3f1a2bb3de5c5bb6a807.
+ Only the raw data uploader should add sysmem caps to the
+ actual caps query, because we want them to be at the
+ lowest priority. If upstream does select to send raw
+ caps, then the correct upload method will still
+ be chosen because the accept_caps implementation
+ will accept them
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2687>
+
+2022-06-30 18:41:01 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst-libs/gst/gl/gstglupload.c:
+ gl: Don't use the full transform_caps() method for reconfiguration check
+ When checking if we need to reconfigure when uploading, check
+ specifically the output caps of the current method will
+ result in compatible/incompatible caps, not the full set
+ of output caps from all upload methods.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2687>
+
+2022-06-30 08:42:43 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/video/video.h:
+ video: Include new video-sei.h in video.h
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2688>
+
+2022-06-29 10:55:13 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ coding style: allow declarations after statement
+ See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1243/
+ and https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/78
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2683>
+
+2022-06-16 10:19:17 +0000 James Hilliard <james.hilliard1@gmail.com>
+
+ * tests/validate/videorate/change_rate_reverse_playback.validatetest:
+ * tests/validate/videorate/change_rate_while_playing.validatetest:
+ videorate: remove property-value quotes
+ Fixes warnings like:
+ Received a structure string that contains '="0.5"'. Reading as a gdouble value, rather than a string value. This is undesired behaviour, and with GStreamer 1.22 onward, this will be interpreted as a string value instead because it is wrapped in '"' quotes. If you want to guarantee this value is read as a string, before this change, use '=(string)"0.5"' instead. If you want to read in a gdouble value, leave its value unquoted.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2621>
+
+2022-06-25 19:50:10 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * tests/check/meson.build:
+ tests: skip unit tests for dependency-less elements that have been disabled
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1136
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2660>
+
+2022-05-13 12:57:06 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * gst-libs/gst/video/video-frame.c:
+ * gst-libs/gst/video/video-frame.h:
+ * tests/check/libs/video.c:
+ GstVideoFrame: Add g_auto() support
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2412>
+
+2022-06-08 19:18:48 +0300 Vivia Nikolaidou <vivia@ahiru.eu>
+
+ * gst-libs/gst/video/video.c:
+ * gst-libs/gst/video/video.h:
+ avviddec, video.c, h265parse: Workaround for broken field-based interlaced encoders
+ Some encoders (e.g. Makito) have H265 field-based interlacing, but then
+ also specify an 1:2 pixel aspect ratio. That makes it kind-of work with
+ decoders that don't properly support field-based decoding, but makes us
+ end up with the wrong aspect ratio if we implement everything properly.
+ As a workaround, detect 1:2 pixel aspect ratio for field-based
+ interlacing, and check if making that 1:1 would make the new display
+ aspect ratio common. In that case, we override it with 1:1.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2577>
+
+2022-06-12 05:35:27 -0600 James Hilliard <james.hilliard1@gmail.com>
+
+ * gst/playback/gstdecodebin3-parse.c:
+ * gst/playback/gstdecodebin3.c:
+ decodebin3: fix EOS event sequence
+ See docs:
+ https://gstreamer.freedesktop.org/documentation/additional/design/seqnums.html?gi-language=c#seqnums-sequence-numbers
+ Per docs:
+ When a sink element receives an EOS event and creates a new EOS
+ message to post, it should copy the seqnum from the event to the
+ message because the EOS message is a consequence of the EOS event
+ being received.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2588>
+
+2022-04-06 12:56:30 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst-libs/gst/rtsp/gstrtspconnection.c:
+ * gst-libs/gst/video/gstvideodecoder.c:
+ * gst-libs/gst/video/gstvideoencoder.c:
+ * meson.build:
+ * tests/check/elements/audioresample.c:
+ Bump GLib requirement to >= 2.62
+ Can't require 2.64 yet because of
+ https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/323
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2568>
+
+2022-05-16 19:29:10 +0200 Andoni Morales Alastruey <ylatuya@gmail.com>
+
+ * gst-libs/gst/video/meson.build:
+ video: add new video-sei.h header to the list of video_headers
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458>
+
+2022-02-27 18:41:12 +0000 Andoni Morales Alastruey <ylatuya@gmail.com>
+
+ * gst-libs/gst/video/video-sei.c:
+ * gst-libs/gst/video/video-sei.h:
+ Fix documentation
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458>
+
+2022-02-17 15:55:19 +1100 Brad Hards <bradh@frogmouth.net>
+
+ * gst-libs/gst/video/video-sei.c:
+ * gst-libs/gst/video/video-sei.h:
+ h264parse: add unit test for Precision Time Stamp in SEI messages
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458>
+
+2022-02-17 15:55:19 +1100 Brad Hards <bradh@frogmouth.net>
+
+ * gst-libs/gst/video/video-sei.c:
+ h264parse: fix copying of data and UUID
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458>
+
+2021-12-19 19:14:05 +0100 Andoni Morales Alastruey <ylatuya@gmail.com>
+
+ * gst-libs/gst/video/meson.build:
+ * gst-libs/gst/video/video-sei.c:
+ * gst-libs/gst/video/video-sei.h:
+ h264parse: add support Precision Time Stamp in SEI messages
+ Expose User Data Unregistered as a new Meta and add
+ API to parse Precision Time Stamp (ST 0604).
+ Fixes #927
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458>
+
+2022-05-27 14:18:30 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/video/video-info.c:
+ video: Fix NV12_16L32 size calculation
+ The subsampling of the second plane was not taken into account, resulting in a
+ 16bit per pixel buffers instead of 12.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2512>
+
+2022-05-25 02:10:30 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/playback/gstplaybin3.c:
+ playbin3: Configure combiner on pad-added if needed
+ When collection is updated, decodebin3 exposes pad first and then
+ streams-selected message is posted.
+ The condition can cause a situation where playbin3 links non-existing
+ combiner/playsink pads (since streams-selected is not posted yet) with
+ new decodebin output pad. This commit will re-check selected/active
+ streams condition on pad-added and reconfigure output if needed.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2482>
+
+2022-05-23 21:24:40 -0400 Eli Schwartz <eschwartz@archlinux.org>
+
+ * gst-libs/gst/tag/meson.build:
+ meson: use better zlib dependency fallback
+ zlib is required, and if it isn't found it is checked several ways and
+ then forced via subproject(). This code was added in commit
+ b93e37592a3ccc0eaece1c8fef2d362b1e5fe685, to account for systems where
+ zlib doesn't have pkg-config files installed.
+ But Meson already does dependency fallback, and also, since 0.54.0, does
+ the in-between checks for find_library('z') and has_header('zlib.h') via
+ the "system" type dependency. Simplify dependency lookup by marking it
+ as required, which also makes sure that the console log doesn't
+ confusingly list "not found".
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2484>
+
+2022-05-19 12:17:59 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/pbutils/descriptions.c:
+ * gst-libs/gst/pbutils/descriptions.h:
+ pbutils: Add GST_PBUTILS_CAPS_DESCRIPTION_FLAG_METADATA and ONVIF XML Timed MetaData
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2453>
+
+2022-05-15 16:53:12 +0000 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/rtp/gstrtcpbuffer.c:
+ * gst-libs/gst/rtp/gstrtcpbuffer.h:
+ * tests/check/libs/rtp.c:
+ rtcpbuffer: Allow padding on first reduced size packets
+ It is valid to have the padding set to 1 on the first packet and it
+ happens very often from TWCC packets coming from libwebrtc. This means
+ that we were totally ignoring many TWCC packets.
+ Fix test that checked that a first packet with padding was not valid and
+ instead test a single twcc packet with padding to check precisely what
+ this patch was about.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2422>
+
+2022-05-13 13:31:55 +0200 Alicia Boya García <aboya@igalia.com>
+
+ * gst-libs/gst/app/gstappsink.c:
+ * tests/check/elements/appsink.c:
+ appsink: Fix race condition on caps handling
+ Background:
+ Whenever a caps event is received by appsink, the caps are stored in the
+ same internal queue as buffers. Only when enough buffers have been
+ popped from the queue to reach the caps, `priv->sample` gets its caps
+ updated to match, so that they are correct for the following buffers.
+ Note that as far as upstream elements are concerned, the caps of appsink
+ are updated immediately when the CAPS event is sent. Samples pulled from
+ appsink retain the old caps until a later buffer -- one that was sent by
+ upstream elements after the new caps -- is pulled.
+ The race condition:
+ When a flush is received, appsink clears the entire internal queue. The
+ caps of `priv->sample` are not updated as part of this process, and
+ instead remain as those of the sample that was last pulled by the user.
+ This leaves open a race condition where:
+ 1. Upstream sends a new caps event, and possibly some buffers for the
+ new caps.
+ 2. Upstream sends a flush (possibly from a different thread).
+ 3. Upstream sends a new buffer for the new caps. Since as far as
+ upstream is concerned, appsink caps are the new caps already, no new
+ CAPS event is sent.
+ 4. The appsink user pulls a sample, having not pulled before enough
+ samples to reach the buffers sent in step 1.
+ Bug: the pulled sample has the old caps instead of the new caps.
+ Fixing the race condition:
+ To avoid this problem, when a buffer is received after a flush,
+ `priv->sample`'s caps should be updated with the current caps before the
+ buffer is added to the internal queue.
+ Interestingly, before this patch, appsink already had code for this, in
+ gst_app_sink_render_common():
+ /* queue holding caps event might have been FLUSHed,
+ * but caps state still present in pad caps */
+ if (G_UNLIKELY (!priv->last_caps &&
+ gst_pad_has_current_caps (GST_BASE_SINK_PAD (psink)))) {
+ priv->last_caps = gst_pad_get_current_caps (GST_BASE_SINK_PAD (psink));
+ gst_sample_set_caps (priv->sample, priv->last_caps);
+ GST_DEBUG_OBJECT (appsink, "activating pad caps %" GST_PTR_FORMAT,
+ priv->last_caps);
+ }
+ This code assumes `priv->last_caps` is reset when a flush is received,
+ which makes sense, but unfortunately, there was no code in the flush
+ code path resetting it.
+ This patch adds such code, therefore fixing the race condition. A unit
+ test demonstrating the bug and testing its behavior with the fix has
+ also been added.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2413>
+
+2022-05-16 12:34:36 -0400 U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+ * gst-libs/gst/video/gstvideoaggregator.c:
+ videoaggregator: unref temporary caps
+ The "possible_caps" needs unref after finished using to
+ avoid memory leak.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2430>
+
+2022-05-05 02:54:37 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tools/gst-play.c:
+ tools: gst-play: Print position even if duration is unknown
+ Gives better visual feedback regarding position information
+ although duration is unknown, live streams for example.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2365>
+
+2022-05-09 16:21:55 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstglcontext.c:
+ * gst-libs/gst/gl/gstglcontext_private.h:
+ * gst-libs/gst/gl/gstglcontextquirks.c:
+ * gst-libs/gst/gl/meson.build:
+ gl/context: disable timer queries for ARM Mali-G52
+ Performing a timer query with a default framebuffer that is incomplete
+ (from using a surfaceless context) will produce GL errors. Disable the
+ timer query on this platform to avoid the errors.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2396>
+
+2022-05-07 04:43:49 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tools/gst-device-monitor.c:
+ tools: device-monitor: Print string property as-is without serialize
+ gst_value_serialize() does more than what's needed to printf-ing
+ especially when given GValue is already string. Just print string
+ value as-is without gst_value_serialize() to avoid unreadable
+ string print, especially for multi-bytes character encoding cases.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2387>
+
+2022-05-06 09:10:09 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gstplaybin3.c:
+ * gst/playback/gstplaysink.c:
+ * gst/playback/gstplaysink.h:
+ playbin3: Cleanup and refactor combiner sourcecombine
+ * Remove fields no longer used, or that can be replaced by smaller code
+ * Rename "channels" to a more meaningful "input pads"
+ * Directly handle/use combiner pads in the combiners instead of on the playbin3
+ main structure
+ Remove the corresponding combiner sinkpad whenever a uridecodebin3 source pad
+ goes away
+ * If used, store the corresponding combiner sink pad in the SourcePad helper
+ structure
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2384>
+
+2022-05-03 16:25:19 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gstparsebin.c:
+ parsebin: Don't modify inexistant GstStream
+ When handling exposing un-handled streams, we can only replace the GstStream for
+ those we are creating ourselves (i.e. the fallback collection).
+ Fixes assertions when the demuxer creates those streams
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2353>
+
+2022-05-03 16:08:39 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gstdecodebin3.c:
+ playbin3: Don't use unknown types for default selection
+ When creating a fallback default selection from a collection, don't attempt to
+ use unknown stream types
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2353>
+
+2022-05-03 13:37:31 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/audioconvert/gstaudioconvert.c:
+ audioconvert: If no channel-mask can be fixated then use a NONE channel layout
+ Otherwise this is generating caps without a channel-mask, which is
+ invalid for >1 channels and will always fail negotiation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2350>
+
+2022-05-02 14:36:03 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ doc: Update cache for NV12_4L4 and NV12_16LE32 gl support
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190>
+
+2022-04-14 15:02:11 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/gl/egl/gsteglimage.c:
+ * gst-libs/gst/gl/gstglcolorconvert.c:
+ * gst-libs/gst/gl/gstglcolorconvert.h:
+ * gst-libs/gst/gl/gstglformat.c:
+ * gst-libs/gst/gl/gstglmemory.h:
+ opengl: Add NV12_4L4 conversion support
+ This format is produced notably by Hantro G1/G2 HW. Using a shader instead of
+ the Hantro embedded converter helps reduce drastrictly the memory usage at a
+ relatively small GPU overhead.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190>
+
+2022-04-12 14:18:59 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/gl/egl/gsteglimage.c:
+ * gst-libs/gst/gl/gstglcolorconvert.c:
+ * gst-libs/gst/gl/gstglcolorconvert.h:
+ * gst-libs/gst/gl/gstglformat.c:
+ * gst-libs/gst/gl/gstglmemory.h:
+ opengl: Add NV12_16L32S conversion support
+ This adds a first detiling shader with initial support for
+ NV12_16L32S as produced by Mediatek decoders.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190>
+
+2022-04-13 14:54:40 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/gl/gstglsl.c:
+ glsl: Enable GLSL 1.30 if we have OpenGL 3.0/3.1
+ As implemented, we only support OpenGL 3 API from version 3.2. Though, there
+ is no issue enabling GLSL 1.30 even if we are going to restrict our API usage
+ to 2. This allows using texelFetch() on OpenGL 3.0 and 3.1 drivers.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190>
+
+2022-04-12 12:24:03 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/gl/egl/gsteglimage.c:
+ * gst-libs/gst/gl/gstglmemory.c:
+ * gst-libs/gst/gl/gstglutils.c:
+ opengl: Add low level support for tiled formats
+ This adds support for tiled format in stride and plane size
+ code.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190>
+
+2022-04-12 12:16:23 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/video/video-frame.c:
+ video: Port video frame to the new tile size helper
+ This is now moved to the library, so it can be used in multiple
+ places.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190>
+
+2022-04-12 12:14:03 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/video/video-format.c:
+ * gst-libs/gst/video/video-format.h:
+ video: Add a helper to get the tile size information
+ Since the addition of tiling format with subsampled tile size
+ (NV12_16L32S), getting the tile width/height shifts and tile
+ size have become more complex. Add a helper to extract and
+ scale this information for the selected plane and format.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190>
+
+2022-04-12 12:18:06 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/gl/egl/gsteglimage.c:
+ eglimage: Add missing NV21/61 support
+ Caps would allow that, but selecting this format would lead to
+ an "no reached" assertion in the code.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190>
+
+2022-04-27 10:18:39 +0100 Philippe Normand <philn@igalia.com>
+
+ * gst-libs/gst/video/gstvideodecoder.c:
+ videodecoder: release stream lock after handling gap events
+ The stream lock is taken before handling gap events but was not released in all
+ possible runtime situations. This issue was introduced in:
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1274
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2307>
+
+2022-04-28 15:32:27 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst/subparse/samiparse.c:
+ subparse: don't deref a potentially NULL variable
+ If the html SAMI data is malformed, then retrieving the attribute name
+ may fail. We then cannot retrieve the attribute value.
+ Fixes: https://oss-fuzz.com/testcase-detail/4700130671984640
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2317>
+
+2022-04-27 09:22:40 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gstparsebin.c:
+ * tools/gst-play.c:
+ parsebin: Expose streams of unknown type
+ This actually respects the existing `expose-all-streams` property by exposing
+ them and having them present in the stream collection (as streams of type
+ unknown).
+ Fixes #1179
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2309>
+
+2022-04-27 08:23:59 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gstplaybin2.c:
+ playbin2: Remove dead code
+ blacklisted_mimes has been empty for ages. Remove the code "using" it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2306>
+
+2022-04-21 02:04:57 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/pango/gsttimeoverlay.c:
+ * ext/pango/gsttimeoverlay.h:
+ timeoverlay: add support for reference timestamp time mode
+ + update date-time mode to actually use the timestamp that
+ was selected with the time-mode property
+ Co-authored-by: Sebastian Dröge <sebastian@centricular.com>
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2252>
+
+2022-04-27 02:08:00 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst-libs/gst/rtp/gstrtpbasepayload.c:
+ rtpbasepayload: always store input buffer meta before negotiation
+ The decision to store the input buffer depends on whether extensions
+ are to be added to the output buffer, I assume as an optimization.
+ This creates an issue for subclasses that call negotiate(), where
+ header_exts is actually populated, from their handle_buffer()
+ implementation: at chain time, no header extension has been negotiated
+ yet, which means that we don't add extensions to the first batch of
+ buffers that comes out.
+ Keep track of whether negotiate has been called (this is different
+ from the negotiated field) and always store the input buffer until
+ then. This fixes the issue while largely preserving the optimization.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2304>
+
+2022-04-24 23:19:00 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst/videoconvertscale/gstvideoconvertscale.c:
+ videoscale: Fix the src video info error in transfer_colorimetry_from_input()
+ Pipeline such as:
+ gst-launch-1.0 -vf videotestsrc ! video/x-raw,format=NV12,colorimetry=\(string\)bt709 \
+ ! videoscale ! video/x-raw,format=I420 ! fakesink
+ Always trigger a error:
+ ERROR video-info video-info.c:556:gst_video_info_from_caps: no width property given
+ Because it is called before the fixate_size(), the src caps' resolution
+ may be absent or not fixed. That causes that the src video info can not
+ be created correctly and we can not inherit the colorimetry and chroma-site
+ from the input caps.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2289>
+
+2022-04-26 10:58:08 +0200 Guillaume Desmottes <guillaume.desmottes@onestream.live>
+
+ * gst/videorate/gstvideorate.c:
+ videorate: fix assertion when pushing last and only buffer without duration
+ Fixing this pipeline:
+ gst-launch-1.0 filesrc location=sample.png ! pngdec ! videorate ! fakesink
+ - videorate receives a single buffer with pts = 0, duration = invalid;
+ - then it receives eos triggering this buffer to be pushed downstream;
+ - the pushing code was assuming that a duration was set, which is
+ impossible as we received a single buffer and no output framerate was
+ set either. So the best we can do is to push the buffer without
+ duration.
+ Fix #1177
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2296>
+
+2022-04-26 09:29:39 +0200 Edward Hervey <edward@centricular.com>
+
+ * ext/ogg/gstoggstream.c:
+ oggdemux: Protect against invalid framerates
+ This check wasn't done for all mappings.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2295>
+
+2022-03-07 08:46:57 -0500 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * gst-libs/gst/gl/meson.build:
+ Meson: Fix deprecation warnings
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1876>
+
+2022-04-21 11:41:43 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/videorate/gstvideorate.c:
+ Revert "videorate: Update the base time on segment updates"
+ This reverts commit 75b4809ebc23814009bebc70c775ab44d85decf2.
+ See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2186
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2254>
+
+2022-04-21 11:41:36 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * tests/check/elements/videorate.c:
+ Revert "videorate: Add test for segment update"
+ This reverts commit a76f38b2c7ddbed546bb058c32ebcf8a553c003f.
+ See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2186
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2254>
+
+2022-04-21 11:41:25 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/videorate/gstvideorate.c:
+ * tests/check/elements/videorate.c:
+ Revert "videorate: Only "close" the segment if it is discontinous"
+ This reverts commit 6f7922b4dbba5ed780e7b0988669a81848a9e333.
+ See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2186
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2254>
+
+2022-04-21 11:41:15 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/videorate/gstvideorate.c:
+ Revert "videorate: Drop incoming buffers that are outside of the segment"
+ This reverts commit 24fd80344dbc059b72e13d813ca82f414a9d6cce.
+ See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2186
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2254>
+
+2022-04-21 11:40:47 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * tests/check/elements/videorate.c:
+ Revert "videorate: Add unit test for closing a segment and opening a separate one"
+ This reverts commit 98f2a84a289ed4d4cfac9bc5c73182a56eefa99c.
+ See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2186
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2254>
+
+2020-11-26 18:18:52 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst-libs/gst/video/gstvideoaggregator.c:
+ videoaggregator: keep old buffer when processing a MISSING_DATA gap
+ GAP events flagged with MISSING_DATA are transformed into GAP buffers
+ flagged with CORRUPTED.
+ In these cases, it is preferable to simply keep rendering the previous
+ buffer (if there was one) instead of flashing the pad in and out of
+ view.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/708>
+
+2020-11-26 18:16:10 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/compositor/compositor.c:
+ compositor: fix prepare_frame obscuring check
+ A pad without a buffer or with a GAP buffer cannot obscure a
+ pad below it. Ignore those when considering whether a pad should
+ be drawn.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/708>
+
+2020-11-26 15:57:10 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/compositor/compositor.c:
+ compositor: a pad without a frame can't obscure the background
+ Skip those when considering whether the background should be
+ drawn
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/708>
+
+2022-04-20 16:25:49 -0500 Olivier Crête <olivier.crete@collabora.com>
+
+ * tests/check/elements/videoscale.c:
+ videoscale: Add test to ensure that non-scaled metas are kept
+ Just make sure that we're not breaking non-scaled metas
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1630>
+
+2022-02-02 15:28:15 +0000 James Cowgill <james.cowgill@blaize.com>
+
+ * tests/check/elements/videoscale.c:
+ videoscale: Add test for transform_meta function
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1630>
+
+2022-02-02 15:28:21 +0000 James Cowgill <james.cowgill@blaize.com>
+
+ * gst/videoconvertscale/gstvideoconvertscale.c:
+ videoscale: Don't copy scaled metas
+ Returning TRUE from the `transform_meta` function tells
+ GstBaseTransform to copy the meta into the new buffer. If videoscale
+ has already transformed a meta by scaling it, it should always return
+ FALSE to avoid duplicating the meta.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1630>
+
+2022-04-01 15:16:20 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * sys/ximage/ximagesink.c:
+ * sys/xvimage/xvimagesink.c:
+ x11: Fix unused variable warnings
+ These are emitted when XInput 2 is not available.
+ ```
+ ../subprojects/gst-plugins-base/sys/ximage/ximagesink.c: In function ‘gst_x_image_sink_handle_xevents’:
+ ../subprojects/gst-plugins-base/sys/ximage/ximagesink.c:696:29: warning: unused variable ‘state’ [-Wunused-variable]
+ 696 | GstNavigationModifierType state = GST_NAVIGATION_MODIFIER_NONE;
+ | ^~~~~
+ ../subprojects/gst-plugins-base/sys/ximage/ximagesink.c:694:35: warning: unused variable ‘touch_frame_open’ [-Wunused-variable]
+ 694 | gboolean pointer_moved = FALSE, touch_frame_open = FALSE;
+ | ^~~~~~~~~~~~~~~~
+ ../subprojects/gst-plugins-base/sys/xvimage/xvimagesink.c: In function ‘gst_xv_image_sink_handle_xevents’:
+ ../subprojects/gst-plugins-base/sys/xvimage/xvimagesink.c:427:35: warning: unused variable ‘touch_frame_open’ [-Wunused-variable]
+ 427 | gboolean pointer_moved = FALSE, touch_frame_open = FALSE;
+ | ^~~~~~~~~~~~~~~~
+ ../subprojects/gst-plugins-base/sys/xvimage/xvimagesink.c:426:29: warning: unused variable ‘state’ [-Wunused-variable]
+ 426 | GstNavigationModifierType state = GST_NAVIGATION_MODIFIER_NONE;
+ | ^~~~~
+ ```
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2093>
+
+2022-04-21 10:21:37 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * tests/validate/convertscale/convert_disable_scale.validatetest:
+ * tests/validate/convertscale/convert_disable_scale/flow-expectations/log-converter-src-expected:
+ * tests/validate/convertscale/scale_disable_convert.validatetest:
+ * tests/validate/convertscale/scale_disable_convert/flow-expectations/log-scaler-src-expected:
+ tests: convertscale: Do not log EOS events in validateflow
+ We already checked that we are getting an EOS before going back to ready
+ and adding the EOS at the end of the .validateflow is racy as the ERROR
+ message might reach the bus before it is logged.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2264>
+
+2022-04-14 09:48:14 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst/videoconvertscale/gstvideoconvert.c:
+ * gst/videoconvertscale/gstvideoconvertscale.c:
+ * gst/videoconvertscale/gstvideoconvertscale.h:
+ * gst/videoconvertscale/gstvideoscale.c:
+ * tests/validate/convertscale/convert_disable_scale.validatetest:
+ * tests/validate/convertscale/convert_disable_scale/flow-expectations/log-converter-src-expected:
+ * tests/validate/convertscale/scale_disable_convert.validatetest:
+ * tests/validate/convertscale/scale_disable_convert/flow-expectations/log-scaler-src-expected:
+ * tests/validate/meson.build:
+ videoconvertscale: Add properties to disable scaling/converting in videoconvert/videoscale
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/898>
+
+2021-05-21 18:55:25 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst/videoconvertscale/gstvideoconvert.c:
+ * gst/videoconvertscale/gstvideoconvertscale.c:
+ * gst/videoconvertscale/gstvideoconvertscale.h:
+ * gst/videoconvertscale/gstvideoscale.c:
+ videoconvertscale: Don't claim we can support any kind of memory
+ Since d0133a2d11566ff4c0cded7af8dfdff0046e0e8b "videoconvert: Allow
+ passthrough for ANY caps features" videoconvert will always claim that
+ it supports any kind of memory which is true in very specific case (when
+ it is running in passthrough mode). To get elements that autoplug
+ converters depending on the caps running in the pipeline (like
+ autovideoconvert), we need to have converters no lie about what they can
+ do when queried `accept_caps` or `query_caps`.
+ This still accepts any caps feature as before but it introduces
+ a restriction in the way we handle memory capsfeatures.
+ We keep previous behaviour in videoconvert and videoscale.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/898>
+
+2020-04-17 15:23:03 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst/meson.build:
+ * gst/videoconvert/gstvideoconvert.c:
+ * gst/videoconvert/meson.build:
+ * gst/videoconvertscale/README:
+ * gst/videoconvertscale/gstvideoconvert.c:
+ * gst/videoconvertscale/gstvideoconvert.h:
+ * gst/videoconvertscale/gstvideoconvertscale.c:
+ * gst/videoconvertscale/gstvideoconvertscale.h:
+ * gst/videoconvertscale/gstvideoconvertscaleplugin.c:
+ * gst/videoconvertscale/gstvideoscale.c:
+ * gst/videoconvertscale/gstvideoscale.h:
+ * gst/videoconvertscale/meson.build:
+ * gst/videoscale/README:
+ * gst/videoscale/meson.build:
+ * meson_options.txt:
+ Introduce the videocolorscale element
+ Now that videoconvert and videoscale's are both based on
+ GstVideoConverter and are using the exact same code, it makes much more
+ sense to have one element doing the two operation, and it can be
+ more efficient in some cases (one single path for both operations).
+ This removes the `videoscale` and `videoconvert` plugins but keeps the element
+ but makes them also do both operations (adding some APIs to each element).
+ There is a small change in API for the `videoscale:dither` property which
+ was previously a totally unused boolean, it is now an enum and is used.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/898>
+
+2022-04-07 19:36:25 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/sdp/gstsdpmessage.c:
+ sdp: Parse the RFC5576 Source-specific media SDP attributes into caps
+ The format of the caps fields is
+ ssrc-(SSRC_VALUE)-(ATTRIBUTE_NAME)=(ATTRIBUTE_VALUE)
+ .
+ Parsing of the attributes from the caps into the SDP is not implemented
+ as this depends not only a single stream's caps but on the whole rtpbin
+ configuration.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132>
+
+2022-04-18 18:53:45 +0900 Camilo Celis Guzman <camilo@pexip.com>
+
+ * ext/gl/gstglmixerbin.c:
+ gstglmixerbin: minor refactor of _find_element_pad_template
+ As suggested by @slomo, make the loop more readable and prevent returning
+ a garbage value to the caller from the previous implementation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2232>
+
+2022-03-25 10:18:34 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * meson.build:
+ Always define ENABLE_NLS
+ GLib guarantees libintl API is always available, provided by
+ proxy-libintl as last resort. GLib itself unconditionally define
+ ENABLE_NLS.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028>
+
+2022-03-25 10:20:24 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * gst-libs/gst/gettext.h:
+ * gst-libs/gst/gst-i18n-app.h:
+ * gst-libs/gst/gst-i18n-plugin.h:
+ Delete unused i18n headers
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028>
+
+2022-03-25 09:59:23 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * ext/alsa/gstalsaelement.c:
+ * ext/alsa/gstalsaplugin.c:
+ * ext/alsa/gstalsasink.c:
+ * ext/alsa/gstalsasrc.c:
+ * ext/cdparanoia/gstcdparanoiasrc.c:
+ * ext/gl/gstgltestsrc.c:
+ * ext/ogg/gstoggdemux.c:
+ * gst-libs/gst/audio/gstaudiobasesrc.c:
+ * gst-libs/gst/audio/gstaudiocdsrc.c:
+ * gst-libs/gst/gl/gstglbasesrc.c:
+ * gst-libs/gst/pbutils/descriptions.c:
+ * gst-libs/gst/pbutils/missing-plugins.c:
+ * gst-libs/gst/pbutils/pbutils.c:
+ * gst-libs/gst/tag/gsttagdemux.c:
+ * gst-libs/gst/tag/lang.c:
+ * gst-libs/gst/tag/tags.c:
+ * gst/encoding/gstencodebasebin.c:
+ * gst/encoding/gstencodingelements.c:
+ * gst/playback/gstdecodebin2.c:
+ * gst/playback/gstparsebin.c:
+ * gst/playback/gstplaybackelement.c:
+ * gst/playback/gstplaybackplugin.c:
+ * gst/playback/gstplaybin2.c:
+ * gst/playback/gstplaybin3.c:
+ * gst/playback/gstplaysink.c:
+ * gst/playback/gstplaysinkaudioconvert.c:
+ * gst/playback/gstplaysinkconvertbin.c:
+ * gst/playback/gstplaysinkvideoconvert.c:
+ * gst/playback/gsturidecodebin.c:
+ * gst/playback/gsturidecodebin3.c:
+ * gst/playback/gsturisourcebin.c:
+ * gst/tcp/gstmultifdsink.c:
+ * gst/tcp/gstmultihandlesink.c:
+ * gst/tcp/gstmultisocketsink.c:
+ * gst/tcp/gstsocketsrc.c:
+ * gst/tcp/gsttcpclientsink.c:
+ * gst/tcp/gsttcpclientsrc.c:
+ * gst/tcp/gsttcpserversink.c:
+ * gst/tcp/gsttcpserversrc.c:
+ * tools/gst-device-monitor.c:
+ * tools/gst-play.c:
+ Replace gst-i18n-*.h with gi18n-lib.h
+ GLib guarantees libintl is always present, using proxy-libintl as
+ last resort. There is no need to mock gettex API any more.
+ This fix static build on Windows because G_INTL_STATIC_COMPILATION must
+ be defined before including libintl.h, and glib does it for us as part
+ as including glib.h.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028>
+
+2022-03-25 11:21:03 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * tools/gst-play.c:
+ gst-play: Do not split translatable string
+ Concatenating N_() strings does not work with gi18n.h macro, was working
+ only with GStreamer's redefinition.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028>
+
+2021-12-08 11:48:08 +0000 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/gl/meson.build:
+ cuda: Factor out a public GstCUDA library
+ So applications and elements implemented outside GStreamer can reuse
+ our infrastructure
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1472>
+
+2022-04-19 11:05:05 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/video/video-format.c:
+ * gst-libs/gst/video/video-frame.c:
+ video: Fix possible overrun when iterating comp[] array
+ Fix 2 iterations that can overrun the array if the number of component is
+ equal to the size of the array.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2239>
+
+2022-04-19 10:53:15 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/video/video-frame.c:
+ Revert "video-frame: avoid possible out of bound memory access"
+ This reverts commit c4255f08f787ff6a41504b538fa4c2e911d40ec7.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2239>
+
+2022-04-18 15:44:47 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst-libs/gst/sdp/meson.build:
+ meson: Add -Wl,-rpath,${libdir} on macOS
+ We made the gstreamer installation prefix relocatable by picking up
+ plugins relative to the location of libgstreamer-1.0.dylib, similar to
+ how it's done for Windows:
+ https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1627
+ This had a lot of side-effects:
+ https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1051
+ https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/363
+ https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/371
+ https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/362
+ A partial fix for the cerbero side of these was:
+ https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/807
+ However, this relied on the consumers knowing that they need to add
+ `LC_RPATH` entries to the libdir of the prefix. This is done
+ automatically by build systems like Meson, but not by others, such as
+ Autotools, CMake, Cargo, XCode, etc. For those, we need to add the
+ RPATH entries to the gstreamer-1.0.pc file.
+ This also has the side-effect of fixing the loading of gstreamer rust
+ plugins on macOS:
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1159
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1149
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2218>
+
+2022-04-18 18:14:44 +0900 Camilo Celis Guzman <camilo@pexip.com>
+
+ * gst-libs/gst/video/video-frame.c:
+ video-frame: avoid possible out of bound memory access
+ Although the components' initialization code would fill in -1 to all
+ unset components, make the code a bit more defensive and check for an
+ index bound first.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2231>
+
+2021-11-12 20:13:10 +0100 Ruben Gonzalez <rgonzalez@fluendo.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ gst_plugin_load_file: force plugin reload if diff filename
+ If a file includes a new version of a plugin that exits in the
+ registry, the output of gst-inspect is incorrect. The output has the
+ correct version but incorrect filename, and element description.
+ This seems to have also fixed some documentation issues.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1344>
+
+2021-05-25 14:41:51 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+ * gst/playback/gstdecodebin3.c:
+ decodebin3: fix collection leak
+ get_merged_collection() returns an owned stream collection and was
+ leaked in the else block.
+ Fix leak when running:
+ GST_TRACERS=leaks GST_DEBUG="GST_TRACER:7,leaks:6" gst-play-1.0 --use-playbin3 test.mkv
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/954>
+
+2022-04-15 14:03:08 +0900 hoonhee.lee <hoonhee.lee@lge.com>
+
+ * gst/playback/gstplaybin3.c:
+ playbin3: fix missing lock when unknown stream type in pad-removed cb
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2193>
+
+2022-04-14 15:21:48 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gstdecodebin3.c:
+ decodebin3: Don't duplicate stream selections
+ Make sure that the requested stream selection isn't identical to the current
+ one. If that's the case, just carry on as usual.
+ This avoids multiple `streams-selected` posting ... when the selection didn't
+ change.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2185>
+
+2022-04-14 18:44:48 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst-libs/gst/app/gstappsrc.c:
+ appsrc: fix annotations
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2188>
+
+2022-04-15 19:55:34 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/rtp/gstrtpbasepayload.c:
+ rtpbasepayload: Don't write header extensions if there's no corresponding input buffer for the packet
+ The GstRTPHeaderExtension API requires the input buffer to exist.
+ This can happen if the output packet is generated e.g. from a caps or
+ tags event like in the case for rtpgstpay.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2198>
+
+2022-04-14 20:10:46 +1000 Brad Hards <bradh@frogmouth.net>
+
+ * tests/interactive/audio-trickplay.c:
+ * tests/interactive/benchmark-appsink.c:
+ * tests/interactive/benchmark-appsrc.c:
+ * tests/interactive/benchmark-video-conversion.c:
+ * tests/interactive/input-selector-test.c:
+ * tests/interactive/meson.build:
+ * tests/interactive/output-selector-test.c:
+ * tests/interactive/playback/decodetest.c:
+ * tests/interactive/playback/test.c:
+ * tests/interactive/playback/test2.c:
+ * tests/interactive/playback/test3.c:
+ * tests/interactive/playback/test4.c:
+ * tests/interactive/playback/test5.c:
+ * tests/interactive/playback/test6.c:
+ * tests/interactive/playback/test7.c:
+ * tests/interactive/playbin-text.c:
+ * tests/interactive/position-formats.c:
+ * tests/interactive/stress-playbin.c:
+ * tests/interactive/stress-videooverlay.c:
+ * tests/interactive/test-box.c:
+ * tests/interactive/test-colorkey.c:
+ * tests/interactive/test-effect-switch.c:
+ * tests/interactive/test-header-compile:
+ * tests/interactive/test-overlay-blending.c:
+ * tests/interactive/test-resample.c:
+ * tests/interactive/test-reverseplay.c:
+ * tests/interactive/test-scale.c:
+ * tests/interactive/test-textoverlay.c:
+ * tests/interactive/test-videooverlay.c:
+ * tests/meson.build:
+ tests: rename 'icles' subdir to be more descriptive
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2178>
+
+2022-04-12 01:35:43 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tools/meson.build:
+ meson: gst-play: Restore Windows high-resolution timer support
+ Fix regression of the commit 2952a73f4083487f33ae83407bef5245d2f8fef2
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2154>
+
+2022-04-12 01:01:23 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tools/gst-play.c:
+ * tools/meson.build:
+ win32: Enable high-resolution timer for MinGW build
+ timeapi.h is missing in our MinGW toolchain. Include mmsystem.h
+ header instead, which defines struct and APIs in case of our MinGW
+ toolchain. Note that in case of native Windows10 SDK (MSVC build),
+ mmsystem.h will include timeapi.h
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2153>
+
+2022-04-12 15:23:08 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/rtp/gstrtpbasepayload.c:
+ Fix `transfer` gobject-introspection annotation typos
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2160>
+
+2022-04-10 10:55:02 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst/subparse/gstsubparseelement.c:
+ subparse: don't try to index string with -1
+ If the len of the string turns out to be 0, str[len - 1] resolved to
+ str[-1] which is not a good idea.
+ Fixes: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=46543
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2147>
+
+2022-04-08 11:10:49 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/ogg/gstoggstream.c:
+ * ext/ogg/vorbis_parse.c:
+ * ext/ogg/vorbis_parse.h:
+ ogg: fix possible buffer overrun
+ If an ogg stream does not match our expectations of how the end of a
+ buffer may be structured, it was possible to read memory past the end of
+ the buffer parsed by libogg. Include a bounds check for this case and
+ stop parsing.
+ Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3930
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2134>
+
+2022-04-08 01:52:32 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst-libs/gst/rtp/gstrtpbasepayload.c:
+ rtpbasepayload: fix transfer annotation for push and push_list
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2133>
+
+2022-04-07 10:08:37 +0900 hoonhee.lee <hoonhee.lee@lge.com>
+
+ * gst-libs/gst/riff/riff-media.c:
+ riff-media: fix memory leak after usage for g_strjoin
+ This leak is observed with valgrind.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2129>
+
+2022-04-06 18:08:46 +0200 Bastian Krause <bst@pengutronix.de>
+
+ * ext/gl/gstgltransformation.c:
+ * ext/gl/gstgltransformation.h:
+ gltransformation: let graphene alloc its structures memory aligned
+ With NEON instructions enabled, graphene expects the memory passed to it
+ 16-byte-aligned. Otherwise unaligned memory access faults occur causing
+ SIGBUS signals.
+ graphene has alloc functions for its structures that take care of this,
+ so use them.
+ See also: https://github.com/ebassi/graphene/issues/215#issuecomment-794744829
+ Suggested-by: Sebastian Dröge <sebastian@centricular.com>
+ Signed-off-by: Bastian Krause <bst@pengutronix.de>
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1321>
+
+2022-04-04 10:46:24 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst-libs/gst/app/gstappsrc.c:
+ appsrc: Clarify buffer ref semantics in signals
+ The documentation could be read to mean that the caller continuous to
+ 'own' the buffer, and that there is some other mechanism to find out
+ when to unref it.
+ Clarify that "not taking ownership" here means "taking a reference",
+ and specify that you can unref it at any time after calling the
+ function.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2110>
+
+2021-01-21 16:01:38 +0800 Zhao Zhili <quinkblack@foxmail.com>
+
+ * tests/examples/gl/gtk/gstgtk.c:
+ * tests/examples/playback/playback-test.c:
+ examples: fix build on macOS with gtk+-quartz-3.0
+ gdk_quartz_window_get_nsview is not declared in the header file now:
+ error: implicit declaration of function 'gdk_quartz_window_get_nsview'
+ is invalid in C99 [-Werror,-Wimplicit-function-declaration]
+ fixes #979
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2095>
+
+2022-04-01 21:47:59 +0800 Haihua Hu <jared.hu@nxp.com>
+
+ * ext/gl/gstglelement.c:
+ * sys/ximage/ximage.c:
+ * sys/xvimage/xvimage.c:
+ * tests/check/elements/glfilter.c:
+ * tests/check/elements/glimagesink.c:
+ * tests/check/elements/glmixer.c:
+ * tests/check/elements/glstereo.c:
+ * tools/gst-play.c:
+ ximagesink/xvimagesink: use GST_XINITTHREADS to ensure call to XInitThreads
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2098>
+
+2022-03-30 11:06:02 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * meson.build:
+ Use gmodule-no-export-2.0
+ We don't need `-Wl,--export-dynamic`, that's used only for executables
+ that needs to export an API to be used by plugins they load.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031>
+
+2022-03-25 15:00:20 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * ext/alsa/meson.build:
+ * ext/cdparanoia/meson.build:
+ * ext/libvisual/meson.build:
+ * ext/ogg/meson.build:
+ * ext/opus/meson.build:
+ * ext/pango/meson.build:
+ * ext/theora/meson.build:
+ * ext/vorbis/meson.build:
+ * gst-libs/gst/sdp/meson.build:
+ * gst/tcp/meson.build:
+ * gst/videoscale/meson.build:
+ * gst/videotestsrc/meson.build:
+ * gst/volume/meson.build:
+ * meson.build:
+ * sys/ximage/meson.build:
+ * sys/xvimage/meson.build:
+ * tests/check/meson.build:
+ * tests/examples/app/meson.build:
+ * tests/examples/audio/meson.build:
+ * tests/examples/decodebin_next/meson.build:
+ * tests/examples/dynamic/meson.build:
+ * tests/examples/encoding/meson.build:
+ * tests/examples/fft/meson.build:
+ * tests/examples/gio/meson.build:
+ * tests/examples/overlay/meson.build:
+ * tests/examples/playback/meson.build:
+ * tests/examples/playrec/meson.build:
+ * tests/examples/seek/meson.build:
+ * tests/examples/snapshot/meson.build:
+ * tools/meson.build:
+ Remove glib and gobject dependencies everywhere
+ They are part of gst_dep already and we have to make sure to always have
+ gst_dep. The order in dependencies matters, because it is also the order
+ in which Meson will set -I args. We want gstreamer's config.h to take
+ precedence over glib's private config.h when it's a subproject.
+ While at it, remove useless fallback args for gmodule/gio dependencies,
+ only gstreamer core needs it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031>
+
+2022-03-31 12:47:06 +0200 Xabier Rodriguez Calvar <calvaris@igalia.com>
+
+ * gst-libs/gst/gl/gstglcolorconvert.c:
+ glcolorconvert: should copy metadatas from the incoming buffer
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2094>
+
+2022-04-01 10:25:23 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/playback/gstplaybin2.c:
+ * gst/playback/gstplaybin3.c:
+ playbin/playbin3: Allow setting a NULL URI
+ The URI is already initialized to NULL at the beginning and GstPlayer
+ was assuming that it is possible to set to NULL at a later time too.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1124
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2090>
+
+2022-03-31 23:41:41 +0200 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/video/navigation.c:
+ * gst-libs/gst/video/navigation.h:
+ navigation: Rename parse_state to parse_modifier_state
+ `parse_state` sounds a bit weird and `parse_modifier_state` is clearer.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2087>
+
+2022-03-29 17:51:13 +0200 Stéphane Cerveau <scerveau@collabora.com>
+
+ * gst-libs/gst/gl/meson.build:
+ * tests/check/libs/gstglmatrix.c:
+ * tests/check/meson.build:
+ base:gl: add x11 deps to gstglx11_dep
+ On MacOS with homebrew the xlib-xcb.h is in
+ own cellar /opt/homebrew/Cellar/libx11/1.7.3.1/include
+ Need to add the windowing dependencies to gl tests
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2061>
+
+2020-03-30 15:16:29 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * tests/examples/overlay/meson.build:
+ overlay: Fix qt support detection
+ On Ubuntu moc-qt5 command is called moc. This requires Meson 0.54.0 for
+ the new has_tools() method.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2075>
+
+2022-03-29 22:16:14 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tools/gst-play-kb.c:
+ gst-play: Improve Win32 keyboard input handling
+ The console HANDLE will be keep signalled state unless application
+ reads console input buffer immediately. So we should read and flush
+ console input buffer from the thread where the event is signalled,
+ instead of GMain context thread.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2058>
+
+2021-09-11 12:17:56 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * meson.build:
+ * tools/meson.build:
+ tools: Add support for building gstreamer tools against gst-full
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1581>
+
+2022-03-28 18:43:27 +0200 Enrique Ocaña González <eocanha@igalia.com>
+
+ * gst/playback/gstplaysink.c:
+ playsink: improve GL context sharing
+ Configure playsink tried element with the bus of the main pipeline.
+ That tried element can be a gl video sink, which would benefit from being
+ able to propagate context messages to the main pipeline and have other
+ internal pipeline elements configured with it. Having different elements
+ configured with the same GL context allows them to share buffers with
+ video/x-raw(memory:GLMemory) caps and achieving zero-copy.
+ Thanks to Alicia Boya García <aboya@igalia.com> for her work co-debugging
+ the issue and contributing to find a solution.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2056>
+
+2021-06-09 11:25:36 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gsturisourcebin.c:
+ urisourcebin: When streams-aware, remove pads immediately
+ For the same reason we add them immediately
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1905>
+
+2021-06-08 14:31:10 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gsturisourcebin.c:
+ urisourcebin: Don't wait for pads content when streams-aware
+ If the adaptive demux is streams-aware it can add/remove pads at any point in
+ time without the need for no-more-pads or data blocking
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1905>
+
+2021-05-29 07:31:15 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gsturisourcebin.c:
+ urisourcebin: Don't do buffering if source already does
+ Sources that can internally handle buffering shouldn't have yet-another
+ buffering element after it. This can be simply detected by checking if it can
+ answer a TIME BUFFERING query just after creation.
+ If that is the case, we can expose the element source pads directly
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1905>
+
+2021-05-28 07:49:10 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gstdecodebin3.c:
+ decodebin3: Handle upstream selection
+ Detect if upstream handles stream-selection, and if so bypass all stream
+ selection handling (streams are forwarded as-is).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1905>
+
+2022-03-28 12:13:12 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst-libs/gst/pbutils/descriptions.c:
+ pbutils: Fix wmv screen detection
+ strncmp vs !strncmp :)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2050>
+
+2022-03-28 10:10:45 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst-libs/gst/video/video-format.h:
+ video-format: Move NV12_8L128 into the correct position in GST_VIDEO_FORMATS_ALL
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2045>
+
+2022-03-16 10:31:56 +0000 Corentin Damman <c.damman@intopix.com>
+
+ * gst/rawparse/gstrawvideoparse.c:
+ rawvideoparse: set format from caps in gst_raw_video_parse_set_config_from_caps
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1970>
+
+2022-03-27 16:35:14 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/gl/gstglmixerbin.c:
+ glmixerbin: slightly better pad/element creation
+ Use the return value from gst_element_link_pads() and gst_bin_add()
+ Fixes:
+ ../ext/gl/gstglmixerbin.c:305:12: error: variable 'res' set but not used [-Werror,-Wunused-but-set-variable]
+ gboolean res = TRUE;
+ ^
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2038>
+
+2022-03-25 13:00:13 +0100 Stéphane Cerveau <scerveau@collabora.com>
+
+ * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+ gl: cocoa: fix warnings of unused variables
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2026>
+
+2022-03-18 16:59:32 +0000 Thibault Saunier <tsaunier@igalia.com>
+
+ * ext/gl/gstglimagesink.c:
+ * gst-libs/gst/video/navigation.c:
+ * gst-libs/gst/video/navigation.h:
+ * sys/ximage/ximagesink.c:
+ * sys/xvimage/xvimagesink.c:
+ * tests/check/libs/navigation.c:
+ * tests/examples/playback/playback-test.c:
+ navigation: Add support for key Modifiers in all relevant events
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2010>
+
+2022-03-24 13:01:52 +0100 Vivienne Watermeier <vwatermeier@igalia.com>
+
+ * gst-libs/gst/video/navigation.c:
+ * gst-libs/gst/video/navigation.h:
+ navigation: Add missing annotation to send_event_simple
+ Adds the missing "transfer full" annotation for the event argument.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2017>
+
+2022-03-22 21:13:31 +0100 Vivienne Watermeier <vwatermeier@igalia.com>
+
+ * sys/xvimage/meson.build:
+ * sys/xvimage/xvcontext.c:
+ * sys/xvimage/xvcontext.h:
+ * sys/xvimage/xvimagesink.c:
+ xvimagesink: Add touch event support
+ Send touch events for XI_TouchBegin, XI_TouchEnd, and XI_TouchUpdate
+ events, grouping events with identical timestamps into one TOUCH_FRAME.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633>
+
+2022-02-03 15:01:46 +0100 Vivienne Watermeier <vwatermeier@igalia.com>
+
+ * meson_options.txt:
+ * sys/meson.build:
+ * sys/ximage/meson.build:
+ * sys/ximage/ximagesink.c:
+ * sys/ximage/ximagesink.h:
+ ximagesink: Add touch event support
+ Send touch events for XI_TouchBegin, XI_TouchEnd, and XI_TouchUpdate
+ events, grouping events with identical timestamps into one TOUCH_FRAME.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633>
+
+2022-01-31 20:25:23 +0100 Vivienne Watermeier <vwatermeier@igalia.com>
+
+ * gst-libs/gst/video/navigation.c:
+ * gst-libs/gst/video/navigation.h:
+ navigation: Add API for touchscreen events
+ Add 5 new navigation event types for touchscreen events, with the same
+ naming and meaning as in libinput - touch-down, touch-motion, touch-up,
+ touch-frame and touch-cancel - as well as constructors and parse
+ functions for them.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633>
+
+2022-02-14 16:08:23 +0100 Vivienne Watermeier <vwatermeier@igalia.com>
+
+ * ext/gl/gstglimagesink.c:
+ * ext/gl/gstglsinkbin.c:
+ * ext/gl/gstgltransformation.c:
+ * gst/playback/gstplaybin2.c:
+ * gst/playback/gstplaybin3.c:
+ * gst/playback/gstplaysink.c:
+ * gst/videoscale/gstvideoscale.c:
+ * sys/ximage/ximagesink.c:
+ * sys/xvimage/xvimagesink.c:
+ * tests/check/libs/navigation.c:
+ * tests/examples/playback/playback-test.c:
+ all: Use new navigation interface and API
+ Use and implement the new navigation interface in all relevant sink elements,
+ and use API functions everywhere instead of directy accessing the event structure.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633>
+
+2022-02-14 14:22:29 +0100 Vivienne Watermeier <vwatermeier@igalia.com>
+
+ * gst-libs/gst/video/navigation.c:
+ * gst-libs/gst/video/navigation.h:
+ navigation: Add coordinate helper functions
+ Add a function to get x/y coordinates from suitable navigation events,
+ and one to create a copy with given coordinate values.
+ For e.g. translating event coordinates, this avoids having to either
+ switch on the event type to select the right parse function, or
+ having to rely on implementation details of the underlying event
+ structure.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633>
+
+2022-02-14 14:06:12 +0100 Vivienne Watermeier <vwatermeier@igalia.com>
+
+ * gst-libs/gst/video/navigation.c:
+ * gst-libs/gst/video/navigation.h:
+ * tests/check/libs/struct_aarch64.h:
+ * tests/check/libs/struct_arm.h:
+ * tests/check/libs/struct_i386.h:
+ * tests/check/libs/struct_i386_osx.h:
+ * tests/check/libs/struct_ppc32.h:
+ * tests/check/libs/struct_ppc64.h:
+ * tests/check/libs/struct_x86_64.h:
+ navigation: Improve interface to avoid exposing implementation details
+ This deprecates the current send_event interface, and the wrapper
+ functions based on it, replacing it with a send_event_simple interface and
+ wrapper function. Together with the new event constructors, this avoids
+ implementations having to directly access the underlying structure.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633>
+
+2022-03-18 16:34:38 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ doc: Update cache after NV12_8L128 addition
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1379>
+
+2021-08-12 11:00:11 +0800 Ming Qian <ming.qian@nxp.com>
+
+ * gst-libs/gst/video/video-converter.c:
+ * gst-libs/gst/video/video-format.c:
+ * gst-libs/gst/video/video-format.h:
+ * gst-libs/gst/video/video-info.c:
+ * tests/check/elements/videoscale.c:
+ * tests/check/libs/video.c:
+ video: Add support for linear 8x128 NV12 tiles and 10bit BE tiles
+ This adds linear 8x128 NV12 based tiles and NV12 10bit big endian tiles.
+ These formats are used by i.MX 8QXP/8QM VPU and exposed in V4L2.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1379>
+
+2022-03-18 13:42:27 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * meson.build:
+ meson: Bump all meson requirements to 0.60
+ Lots of new warnings ever since
+ https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1934
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1977>
+
+2022-03-18 20:43:24 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/pbutils/gstdiscoverer-types.c:
+ discoverer: chain up to parent finalize methods in all our types
+ Fixes a memory leak:
+ Direct leak of 32 byte(s) in 1 object(s) allocated from:
+ #0 0x5ac5cd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:129:3
+ #1 0x1007007 in g_malloc /work/glib-2.72.0/_builddir/../glib/gmem.c:125:13
+ #2 0xf82e82 in g_data_set_internal /work/glib-2.72.0/_builddir/../glib/gdataset.c:464:8
+ #3 0xf833f7 in g_datalist_id_set_data_full /work/glib-2.72.0/_builddir/../glib/gdataset.c:670:3
+ #4 0xef81be in g_object_notify_queue_freeze /work/glib-2.72.0/_builddir/../gobject/gobject.c:295:7
+ #5 0xef79c6 in g_object_unref /work/glib-2.72.0/_builddir/../gobject/gobject.c:3632:16
+ #6 0x5e58bf in LLVMFuzzerTestOneInput /src/gstreamer/ci/fuzzing/gst-discoverer.c:132:5
+ #7 0x4dd1a2 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15
+ #8 0x4dc98a in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool, bool*) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:514:3
+ #9 0x4de6c4 in fuzzer::Fuzzer::ReadAndExecuteSeedCorpora(std::__Fuzzer::vector<fuzzer::SizedFile, std::__Fuzzer::allocator<fuzzer::SizedFile> >&) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:809:5
+ #10 0x4dea29 in fuzzer::Fuzzer::Loop(std::__Fuzzer::vector<fuzzer::SizedFile, std::__Fuzzer::allocator<fuzzer::SizedFile> >&) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:857:3
+ #11 0x4ce4a0 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:912:6
+ #12 0x4f6f52 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10
+ #13 0x7f1c709980b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x240b2)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1984>
+
+2022-01-17 16:10:37 +0100 Vivienne Watermeier <vwatermeier@igalia.com>
+
+ * ext/gl/gstglvideomixer.c:
+ * tests/check/libs/gstglvideomixerelement.c:
+ * tests/check/meson.build:
+ glvideomixerelement: send translated navigation events to the relevant sink pads
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1495>
+
+2022-01-05 19:33:06 +0100 Vivienne Watermeier <vwatermeier@igalia.com>
+
+ * gst/compositor/compositor.c:
+ * tests/check/elements/compositor.c:
+ compositor: send translated navigation events to the relevant sink pads
+ Fixes #888
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1495>
+
+2022-03-15 13:59:16 +0100 Corentin Noël <tintou@noel.tf>
+
+ * gst-libs/gst/audio/gstaudiodecoder.h:
+ * gst-libs/gst/audio/gstaudioringbuffer.c:
+ * gst-libs/gst/audio/gstaudiosink.h:
+ * gst-libs/gst/audio/gstaudiosrc.h:
+ * gst-libs/gst/video/gstvideoaggregator.h:
+ * gst-libs/gst/video/video-chroma.c:
+ * gst-libs/gst/video/video-scaler.c:
+ gst-plugins-base: Fix several annotations
+ Add annotations for virtual methods when possible.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1965>
+
+2021-12-16 18:41:38 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/opus/gstopusenc.c:
+ opusenc: change default bitrate-type from cbr to constrained-vbr
+ Which is the default in libopus itself as well, with a comment
+ that constrained-vbr is considered "safer for real-time use".
+ Unclear why CBR was the default in the first place.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1451>
+
+2022-03-15 12:57:49 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst-libs/gst/rtp/gstrtpbuffer.c:
+ rtpbuffer: The out args for rtp extension data are optional
+ The code checks that these are != NULL before dereferencing them.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1962>
+
+2022-03-10 10:25:53 +0100 Bastien Nocera <hadess@hadess.net>
+
+ * gst-libs/gst/video/convertframe.c:
+ * meson.build:
+ convertframe: Add support for GL-memory backend GstFrame input
+ Add "gldownload" early in the pipeline so that GL-memory backed raw
+ frames can be downloaded and processed on the CPU.
+ Closes: #1073
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1916>
+
+2022-03-11 18:08:14 -0500 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * gst-libs/gst/gl/meson.build:
+ Meson: Set install_tag on some files
+ Meson tries to guess the tag (runtime, devel, etc) for every installed
+ file, but it cannot guess them all. There is a list at the end of
+ meson-log.txt of files we need to tag manually.
+ See https://mesonbuild.com/Installing.html#installation-tags.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1934>
+
+2022-03-02 03:45:48 +1100 Jan Schmidt <jan@centricular.com>
+
+ * gst/playback/gstplaybin3.c:
+ playbin3: Remove stale code
+ Remove now-unused get_stream_type_for_event() function.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1900>
+
+2022-01-21 16:23:38 +0100 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gstdecodebin3.c:
+ decodebin3: Reset parsebin when new caps arrive
+ Check if parsebin can handle the new caps, and if not reset it so that it can
+ reconfigure itself for the new stream format.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1900>
+
+2022-03-09 10:15:08 +0100 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gstdecodebin3.c:
+ decodebin3: Convert checks to assertions
+ "decodebin.input" is never resetted and should always be present, therefore make
+ it an assertion check
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1900>
+
+2022-01-21 14:52:07 +0100 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gstparsebin.c:
+ parsebin: Implement ACCEPT_CAPS handling
+ The default query handler would go through typefind, which by default accepts
+ any CAPS. But once configured, parsebin can't reconfigure itself, it should
+ therefore pass through the ACCEPT_CAPS query to the first element after
+ typefind (if any).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1900>
+
+2022-01-18 05:48:08 +1100 Jan Schmidt <jan@centricular.com>
+
+ * gst/playback/gstplaybin3.c:
+ playbin3: Hold playbin lock on pad-added
+ Take the playbin lock when accessing the combiner
+ to add a new pad to link to. Fixes races against
+ streams-selected messages triggering reconfiguration.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1900>
+
+2022-01-18 02:52:47 +1100 Jan Schmidt <jan@centricular.com>
+
+ * gst/playback/gstplaybin3.c:
+ playbin3: Reconfigure on streams-selected message.
+ Don't reconfigure outputs when the select-streams
+ event is sent from the app, as the selection may
+ not take effect for some time. Instead, wait
+ for the pipeline to confirm the new set of
+ selected streams when it sends the message.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1900>
+
+2021-11-11 03:20:23 +1100 Jan Schmidt <jan@centricular.com>
+
+ * gst/playback/gstplaysink.c:
+ playsink: Fix reconfiguration after removing text_sink
+ If we previously had subtitles coming in, the video
+ may be chained through a text overlay block. Before,
+ the code would end up trying to link pads that were
+ already linked and video would not get reconnected
+ properly.
+ To fix that, make sure that the candidate
+ pads are actually unlinked first. If a textoverlay
+ is present and no longer needed, it will be cleaned
+ up later in the reconfiguration sequence.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1900>
+
+2021-08-06 19:27:02 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst/playback/gstplaysink.c:
+ playsink: Complete reconfiguration on pad release.
+ Requesting a new pad can start a reconfiguration cycle, where
+ playsink will block all input pads and wait for data on them
+ before doing internal reconfiguration. If a pad is released,
+ that reconfiguration might never trigger because it's now waiting
+ for a pad that doesn't exist any more.
+ In that case, complete the reconfiguration on pad release.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1180>
+
+2022-03-08 09:46:33 +0100 Edward Hervey <edward@centricular.com>
+
+ * gst-libs/gst/pbutils/codec-utils.c:
+ * gst-libs/gst/pbutils/codec-utils.h:
+ * tests/check/libs/pbutils.c:
+ pbutils: Add function to parse RFC 6381 codecs field
+ This is the opposite of `gst_codec_utils_caps_get_mime_codec()`, which allows
+ elements to get the `GstCaps`
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1894>
+
+2022-03-09 16:02:06 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst-libs/gst/rtp/gstrtpbasepayload.c:
+ * tests/check/libs/rtpbasepayload.c:
+ rtpbasepayload: Remove dead twcc code
+ This feature was removed in 7a53fbad68d702ca4905f7da223f4d2884548edc,
+ but this code was left behind.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1902>
+
+2021-12-14 16:14:56 +0100 Edward Hervey <edward@centricular.com>
+
+ * gst/subparse/gstsubparse.c:
+ subparse: Handle GAP events before buffers
+ Make sure we did initial negotiation and segment pushing if we get GAP events
+ before buffers.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1903>
+
+2021-11-17 15:30:38 +0100 Edward Hervey <edward@centricular.com>
+
+ * gst-libs/gst/tag/gsttagdemux.c:
+ tagdemux: Properly propagate sequence numbers
+ If we received a time segment from upstream, we need to make sure we propagate
+ it downstream with the same sequence number.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1903>
+
+2022-03-02 03:43:00 +1100 Jan Schmidt <jan@centricular.com>
+
+ * gst/playback/gstplaybin3.c:
+ playbin3: Add lock to protect buffering messages
+ Fix a small race where a group can receive stream-start
+ and post a pending buffering message just as another
+ thread posts a different buffering message, causing them
+ to be received by the application out of order. In the
+ worst case, this leads the application receiving a
+ stale 99% buffering message and going back to buffering
+ right after the 100% buffering message.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1840>
+
+2022-03-02 12:15:19 +0800 Hou Qi <qi.hou@nxp.com>
+
+ * gst/encoding/gstencodebasebin.c:
+ encodebasebin: Use GST_DEBUG instead of GST_ERROR when skipping muxer
+ _get_muxer() skips the muxers that do not satisfy the requirement and select
+ the desired one. It should not print error log, so use debug log instead.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1830>
+
+2022-03-04 22:21:13 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/gl/gstgldisplay.c:
+ gldisplay: Reorder GST_GL_WINDOW check for egl-device
+ "egl-device" should be checked before the "egl", otherwise unexpected egl will be picked
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1853>
+
+2022-02-24 01:41:34 +1100 Jan Schmidt <jan@centricular.com>
+
+ * tools/gst-play.c:
+ gst-play: Allow switching to previous tracks
+ Implement case sensitive key-press handling,
+ and make 'V', 'A', 'S' switch to the previous
+ video, audio, or subtitle track. The lower-case
+ keypress cycles to the next track, as before
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1841>
+
+2021-09-01 14:02:29 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/sdp/gstsdpmessage.c:
+ * tests/check/libs/sdp.c:
+ sdp: support multiple rid parameters
+ As specified formally in RFC8851
+ Each rid description is placed in its own caps field in the structure.
+ This is very similar to the already existing extmap-$id sdp<->caps
+ transformations that already exists.
+ The mapping is as follows:
+ a=rid:0 direction ';'-separated params
+ where direction is either 'send' or 'recv'
+ gets put into a caps structure like so:
+ rid-0=(string)<"direction","param1","param2",etc>
+ If there are no rid parameters then the caps structure is generated to
+ only contain the direction as a single string like:
+ rid-0=(string)direction
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1760>
+
+2022-03-02 00:52:22 +1100 Jan Schmidt <jan@centricular.com>
+
+ * gst/playback/gsturidecodebin3.c:
+ uridecodebin3: Remove dead variables
+ Leftover junk from original port
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1820>
+
+2022-02-21 10:49:15 +0100 Sebastian Fricke <sebastian.fricke@collabora.com>
+
+ * gst-libs/gst/tag/licenses.c:
+ Remove the uninstalled term
+ Remove the symbolic link `gst-uninstalled` which points to `gst-env`.
+ The `uninstalled` is the old name and the project should stick to a
+ single name for the procedure.
+ Remove the term from all the files, exceptions are variables from
+ dependencies like `uninstalled_variables` from pkgconfig and
+ `meson-uninstalled`.
+ Adjust mentions of the script in the documentation and README.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1743>
+
+2022-02-23 11:10:11 +0100 Sebastian Fricke <sebastian.fricke@collabora.com>
+
+ * README.md:
+ Maintain build instructions at a single location
+ Do not maintain similar build instructions within each gst-plugins-*
+ subproject and the subproject/gstreamer subproject. Use the build
+ instructions from the mono-repository and link to them via hyperlink.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1743>
+
+2021-12-10 15:51:51 +0100 Célestin Marot <marotcelestin@gmail.com>
+
+ * gst-libs/gst/video/video-info.c:
+ video-info: encoded format can have RGB color-matrix (Fixes #1435)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1435>
+
+2022-02-27 13:19:49 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/video/video-format.c:
+ video-format-info: Use correct parameter name in gst_video_format_info_extrapolate_stride() docs
+ ../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.c:7570: Warning: GstVideo: gst_video_format_info_extrapolate_stride: unknown parameter 'info' in documentation comment, should be 'finfo'
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1803>
+
+2022-02-16 18:49:52 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst-libs/gst/audio/audio-converter.c:
+ * gst-libs/gst/audio/audio-converter.h:
+ * gst/audioconvert/gstaudioconvert.c:
+ * gst/audioconvert/gstaudioconvert.h:
+ audioconvert: Add dithering-threshold property
+ By default, no dithering is applied if the target bit depth is above 20
+ bits. This new property allows to apply dithering nonetheless in these
+ cases.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1730>
+
+2022-02-16 13:28:52 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/audio/audio-quantize.c:
+ audio-quantize: Switch dither PRNG from LCG to xorshift
+ While this is slightly more expensive (~48% slower per random number) it
+ does not cause any measurable difference when running through a complete
+ audio conversion pipeline.
+ On the other hand its random numbers are of much higher quality and on
+ spectrograms for 32 bit to 24 bit conversion the difference is clearly
+ visible.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1729>
+
+2022-01-22 01:30:57 +1100 Jan Schmidt <jan@centricular.com>
+
+ * tools/gst-play.c:
+ gst-play: Fix trick-mode handling.
+ The instant-rate value in the TrickMode enum is a
+ flag, but the other values are not. Move instant-rate
+ to the end of the enum and give it a value large enough
+ for it to be used without modifying the trick-mode
+ setting.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1788>
+
+2022-02-24 10:09:50 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * tests/check/elements/appsrc.c:
+ appsrc: Store strong references to the expected buffers in the tests
+ Otherwise the buffers might already be freed as they were only owned by
+ the GstSample / appsrc and potentially don't survive until the pad
+ probe, as observed in some CI runs of the tests.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1787>
+
+2022-02-22 15:08:48 +0100 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst-libs/gst/video/gstvideoaggregator.c:
+ videoaggregator: Correct use of start_time/end_time
+ When 29713c5d changed most uses of `start_time` and `end_time` to
+ `start_running_time` and `end_running_time`, it missed two.
+ Fixes: 29713c5d40a1d7d1f21dada68f55f7a97f0b7025
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1038
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1779>
+
+2022-02-22 10:54:23 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/rtp/gstrtpbasepayload.c:
+ rtpbasepayload: Copy all buffer metadata instead of just GstMetas for the input meta buffer
+ This gives RTP header extensions some more metadata to work from.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1774>
+
+2022-02-21 14:23:27 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/gl/egl/gstglmemoryegl.c:
+ * gst-libs/gst/gl/egl/gstglmemoryegl.h:
+ * gst-libs/gst/gl/gstglbasememory.c:
+ * gst-libs/gst/gl/gstglbasememory.h:
+ * gst-libs/gst/gl/gstglbuffer.c:
+ * gst-libs/gst/gl/gstglbuffer.h:
+ * gst-libs/gst/gl/gstglmemory.c:
+ * gst-libs/gst/gl/gstglmemory.h:
+ * gst-libs/gst/gl/gstglmemorypbo.c:
+ * gst-libs/gst/gl/gstglmemorypbo.h:
+ * gst-libs/gst/gl/gstglrenderbuffer.c:
+ * gst-libs/gst/gl/gstglrenderbuffer.h:
+ gl: Mark GL memory GType functions as deprecated
+ They can't be used in any useful way. The type of every GstMemory is
+ always GST_TYPE_MEMORY and the subtyping relationship has to be
+ implemented on top of that via the associated allocator and mem_type
+ string.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1764>
+
+2022-02-21 15:12:04 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/gl/gstgldisplay.c:
+ * gst-libs/gst/gl/gstglshaderstrings.c:
+ gl: Add `#ifndef GST_REMOVE_DEPRECATED` for existing deprecated API
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1764>
+
+2022-02-21 15:08:44 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/gl/gstgldisplay.c:
+ gl: Add versioned `Deprecated` marker to gst_gl_display_find_window
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1764>
+
+2022-02-21 15:05:55 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/gl/gstgldisplay.h:
+ * gst-libs/gst/gl/gstglshaderstrings.h:
+ gl: Replace existing G_DEPRECATED_FOR usage with GST_GL_DEPRECATED_FOR
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1764>
+
+2022-02-21 15:02:02 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/gl/gl-prelude.h:
+ gl: Add GST_GL_DEPRECATED
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1764>
+
+2022-02-20 14:05:05 +0100 Sebastian Groß <s3b.gr0ss@gmail.com>
+
+ * gst-libs/gst/pbutils/gstaudiovisualizer.c:
+ audiovisualizer: shader: Fix dframe out of bound write
+ shader_fade_and_move_horiz_out writes a complete stride at the end of its
+ dframe data
+ This led to SIGSEGV since the stride reached into sframe->map[0]->memory
+ which could not be umpapped later on.
+ This is due to `d` is increased twice. Once at the end of the upper loop
+ and at the start of the lower loop.
+ The corresponding dframe stride is therefore skipped.
+ Rewind `d` and start at the correct position.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1702
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1751>
+
+2022-02-20 15:20:07 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ doc: Add NV12_16L32S into the cache
+ Autogenerated by CI
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1567>
+
+2022-02-18 15:25:17 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * tests/check/libs/video.c:
+ tests: video: Add a unit test for stride extrapolation
+ This is a minimal unit test the show that the stride extrapolation can work
+ with all pixel format we support. This minimal verify that the extrapolation
+ match the stride we set into GstVideoInfo with 320x240 for all the pixel
+ format we support. The tiles formats are skipped, since their stride is
+ set as two 16bit integers, and we also skip over palette planes.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1567>
+
+2022-01-25 14:04:13 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/video/video-format.c:
+ * gst-libs/gst/video/video-format.h:
+ video: Add an helper to extrapolate strides
+ Many of the legacy APIs, specifically in the Linux Kernel, have a
+ single stride for the pictures. In this context, it is common
+ to extrapolate the other strides based on the selected pixel
+ format. Such function have been copy pasted from video4linux2
+ plugin into wayland, kms and v4l2codecs plugins.
+ This patch implements a generalized from of that function and
+ make it available to everyone through the video library.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1567>
+
+2021-12-02 21:46:59 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/video/video-converter.c:
+ * gst-libs/gst/video/video-format.c:
+ * gst-libs/gst/video/video-format.h:
+ * gst-libs/gst/video/video-frame.c:
+ * gst-libs/gst/video/video-info.c:
+ * gst-libs/gst/video/video-tile.h:
+ * tests/check/elements/videoscale.c:
+ * tests/check/libs/video.c:
+ video: Add NV12_16L32S aka Mediatek MM21 support
+ Unlike other simple tiled formats, the Mediatek HW use different tile size
+ per-plane. The tile size is scaled according to the subsampling. Effectively,
+ using the name 16L32S to represent linearly layout tiles of size 16x32 bytes
+ in the Y plane, and 16x16 in the UV plane. In order to make this specificity
+ discoverable, a new SUBTILES flags have been added.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1567>
+
+2022-02-19 01:58:20 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/video/gstvideoaggregator.c:
+ videoaggregator: Use floor() to calculate current position
+ ... instead of round(). Depending on framerate, calculated position
+ may not be clearly represented by using uint64, 30000/1001 for example.
+ Then the result of round() can be sliglhtly larger (1ns) than
+ buffer timestamp. And that will cause unnecessary frame delay.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1747>
+
+2021-10-28 17:09:34 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/audio/gstaudioencoder.c:
+ base: audioencoder: Keep serialize event behind buffers
+ If a serialized event arrives behind a buffer, it should not be send before
+ it. This fixes the pending event handling so that only early pending events,
+ the one that arrrived or was generated while the adapter was empty get send
+ before pushing buffer. All other events are not pushed after.
+ This issue lead the latency tracer to think our audio encoder did not have any
+ latency. This was testing with opusenc in a live pipeline.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1266>
+
+2022-02-06 22:54:42 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/pbutils/missing-plugins.c:
+ gstinfo,ptpclock,libcheck: Use GetCurrentProcessId() instead of getpid() on Windows
+ getpid() shouldn't be used in case of UWP. Use GetCurrentProcessId()
+ instead which provides exactly the same functionality and can be
+ used with UWP as well.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1006>
+
+2021-10-01 20:27:28 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/gl/winrt/gstglwindow_winrt_egl.cpp:
+ * meson.build:
+ * tests/examples/seek/instant-rate-change.c:
+ meson: Do hard build error for some MSVC warnings
+ Handle various MSVC warnings as errors for development version.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1006>
+
+2022-02-08 23:30:00 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tests/examples/seek/instant-rate-change.c:
+ Remove some trailing white spaces
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1006>
+
+2022-01-07 20:02:46 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/video/gstvideoaggregator.c:
+ * tests/check/elements/compositor.c:
+ videoaggregator: Fix for unhandled negative rate
+ Nagative rates have been considered only in
+ gst_video_aggregator_advance_on_timeout(). Update other places
+ to fix broken reverse playback.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1500>
+
+2021-08-25 20:18:20 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/typefind/gsttypefindfunctions.c:
+ * tests/check/gst/typefindfunctions.c:
+ typefindfunctions: Fix WebVTT format detection
+ If WebVTT file consists of "WebVTT" header without body,
+ the file size can be smaller than 10 bytes.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1359>
+
+2022-01-31 13:01:10 +0100 Vivienne Watermeier <vwatermeier@igalia.com>
+
+ * gst-libs/gst/video/navigation.c:
+ * gst-libs/gst/video/navigation.h:
+ navigation: add more constructors for navigation events
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1610>
+
+2022-02-07 09:30:58 +0100 David Svensson Fors <davidsf@axis.com>
+
+ * gst-libs/gst/pbutils/codec-utils.c:
+ codec-utils: Avoid out-of-bounds error
+ For artificial input (in unit tests), all six bytes of
+ constraint_indicator_flags in hevc_caps_get_mime_codec() can be
+ zero. Add a guard against an out-of-bounds error that occurred in that
+ case. Change variables to signed int so comparison with -1 works.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1677>
+
+2020-07-17 14:37:14 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst/videotestsrc/gstvideotestsrc.c:
+ * gst/videotestsrc/gstvideotestsrc.h:
+ videotestsrc: Don't re-render every frame when it's not needed.
+ When the pattern being rendered by videotestsrc doesn't have motion,
+ cache a rendered buffer and output it repeatedly with updated
+ metadata.
+ Based on a patch by Edward Hervey <edward@centricular.com>
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/10
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1293>
+
+2021-12-22 18:46:44 +0000 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/video/navigation.h:
+ navigation: Fix Since marker for mouse scroll
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1665>
+
+2022-02-03 01:04:40 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/video/video-color.c:
+ video-color: Fix for missing clipping in PQ EOTF function
+ * Add missing clipping in EOTF
+ * Use pre-calculated values
+ * Update variable names to specification's defined ones
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1629>
+
+2022-02-04 11:15:47 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ Back to development
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1635>
+
+=== release 1.20.0 ===
+
+2022-02-03 19:53:25 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * ChangeLog:
+ * NEWS:
+ * README:
+ * RELEASE:
+ * gst-plugins-base.doap:
+ * meson.build:
+ Release 1.20.0
+
+2022-02-03 19:53:18 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * ChangeLog:
+ Update ChangeLogs for 1.20.0
+
+2022-02-03 18:18:03 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst-libs/gst/video/meson.build:
+ * gst-libs/gst/video/video.c:
+ * gst-libs/gst/video/video.h:
+ video: fix up GstVideoOrientationMethod type registration
+ ... in order to make older g-i happy (~1.60) which doesn't like
+ freeform descriptions in the value_name field. Which in turn
+ then makes hotdoc happy instead of erroring out when we bump
+ the symbol index version.
+ We usually only (ab)use the name field for description strings
+ for private plugin enums, not for public API visible to bindings.
+ This lets glib-mkenum generate the _get_type() function for the
+ enum again, which in turn will generate the expected value names
+ to match the enums.
+ We might be able to add this back later once we can upgrade the
+ g-i version requirement (and the documentation job image).
+ This reverts most of commit b0aab48cdcf0a454d14aeb4d907209d8ee3f1add
+
+2021-11-21 17:52:48 -0500 Jeremy Cline <jeremy@jcline.org>
+
+ * gst-libs/gst/tag/gsttagdemux.c:
+ tagdemux: Fix crash when presented with malformed files
+ There's a race condition in gsttagdemux.c between typefinding and the
+ end-of-stream event. If TYPE_FIND_MAX_SIZE is exceeded,
+ demux->priv->collect is set to NULL and an error is returned. However,
+ the end-of-stream event causes one last attempt at typefinding to occur.
+ This leads to gst_tag_demux_trim_buffer() being called with the NULL
+ demux->priv->collect buffer which it attempts to dereference, resulting
+ in a segfault.
+ The malicious MP3 can be created by:
+ printf "\x49\x44\x33\x04\x00\x00\x00\x00\x00\x00%s", \
+ "$(dd if=/dev/urandom bs=1K count=200)" > malicious.mp3
+ This creates a valid ID3 header which gets us as far as typefinding. The
+ crash can then be reproduced with the following pipeline:
+ gst-launch-1.0 -e filesrc location=malicious.mp3 ! queue ! decodebin ! audioconvert ! vorbisenc ! oggmux ! filesink location=malicious.ogg
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/967
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1620>
+
+2022-02-01 05:07:04 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * docs/meson.build:
+ docs: Add objc and objcpp files to hotdoc gst_c_sources
+ Hotdoc should be able to extract and parse comments out of these. Just
+ need to be careful to only add the glob in directories that actually
+ contain *.m (objc) and *.mm (objcpp) files.
+ Also fix some doc comments and remove redundant ones.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1614>
+
+=== release 1.19.90 ===
+
+2022-01-28 14:28:35 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * ChangeLog:
+ * NEWS:
+ * RELEASE:
+ * gst-plugins-base.doap:
+ * meson.build:
+ Release 1.19.90
+
+2022-01-28 14:28:28 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * ChangeLog:
+ Update ChangeLogs for 1.19.90
+
+2022-01-27 14:22:26 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/rtp/gstrtphdrext.c:
+ rtphdrext: Return non-floating references from `gst_rtp_header_extension_create_from_uri()`
+ The header extension objects are never getting a parent object and using
+ floating references only complicates usage, especially via dynamic API
+ like signals.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1582>
+
+2022-01-27 14:26:26 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/rtp/gstrtphdrext.c:
+ rtphdrext: Use `set_metadata()` instead of `set_static_metadata()`
+ The latter needs a static string.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1583>
+
+2022-01-26 00:02:49 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst-libs/gst/audio/audio-info.c:
+ * gst-libs/gst/audio/audio-info.h:
+ * gst-libs/gst/video/video-info.c:
+ * gst-libs/gst/video/video-info.h:
+ VideoInfo, AudioInfo: fix usage with python bindings
+ * Expose an actual constructor from caps
+ * Error out in overrides for code that was using the "manual
+ allocation" pattern which only worked by chance. Direct
+ the script writer to the new_from_caps constructor instead.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-python/-/issues/47
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1571>
+
+2022-01-27 01:38:12 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * po/de.po:
+ * po/fr.po:
+ * po/ro.po:
+ gst-plugins-base: update translations
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1579>
+
+2022-01-24 12:26:25 +0200 Vivia Nikolaidou <vivia@ahiru.eu>
+
+ * gst-libs/gst/audio/gstaudioaggregator.c:
+ audioaggregator: Return NOT_NEGOTIATED when the configuration is invalid
+ Otherwise we just end up outputting garbage.
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/957
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1558>
+
+2022-01-26 11:12:34 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst-libs/gst/video/gstvideoaggregator.h:
+ videoaggregator: Remove extra semicolon in macro usage
+ This is usually necessary to allow gst-indent to treat it as
+ a statement, but we do not run gst-indent on headers and we do not
+ have extra semicolons in other places that this macro is used in the
+ header. Fixes warnings when using the header:
+ ```
+ In file included from gstreamer/subprojects/gst-plugins-base/gst-libs/gst/video/video.h:185,
+ from XYZ:9001:
+ gstreamer/subprojects/gst-plugins-base/gst-libs/gst/video/gstvideoaggregator.h:206:78: warning: ISO C does not allow extra ‘;’ outside of a function [-Wpedantic]
+ 206 | G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstVideoAggregatorConvertPad, gst_object_unref);
+ | ^
+ gstreamer/subprojects/gst-plugins-base/gst-libs/gst/video/gstvideoaggregator.h:214:181: warning: ISO C does not allow extra ‘;’ outside of a function [-Wpedantic]
+ 214 | G_DECLARE_DERIVABLE_TYPE (GstVideoAggregatorParallelConvertPad, gst_video_aggregator_parallel_convert_pad, GST, VIDEO_AGGREGATOR_PARALLEL_CONVERT_PAD, GstVideoAggregatorConvertPad);
+ | ^
+ ```
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1572>
+
+2022-01-24 12:57:10 +0200 Vivia Nikolaidou <vivia@ahiru.eu>
+
+ * gst/audiotestsrc/gstaudiotestsrc.c:
+ audiotestsrc: Produce a default channel mask if possible
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/957
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1560>
+
+2021-12-10 20:09:42 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/video/video-converter.c:
+ video-converter: Fix for broken gamma remap with high bitdepth YUV output
+ Scale down the matrix before calculating RGB -> YUV matrix
+ otherwise offset values will be wrong
+ Fixing pipeline
+ videotestsrc ! video/x-raw,format=ARGB ! videoconvert gamma-mode=remap ! \
+ video/x-raw,format=P010_10LE,colorimetry="bt2020"
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1432>
+
+2022-01-23 13:38:37 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/video/gstvideodecoder.c:
+ videodecoder: Fix property description for new properties
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1556>
+
+2022-01-19 02:42:35 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/playback/gstdecodebin2.c:
+ decodebin2: raise multiqueue max-size-bytes
+ The earlier size of 2 MB was set back in 2009, it doesn't
+ seem unreasonable to raise it to 8 MB these days. The use
+ case at hand is matroskademux containing both a video stream
+ with a very low amount of compression but no decoding latency,
+ and a H265 stream.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1538>
+
+2021-12-27 03:35:29 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/video/gstvideodecoder.c:
+ Revert "videodecoder: Forward hdr-format info downstream"
+ This reverts commit 9b852181d8a1fa2fb1bf3ba898c6ffa04eea3fd4.
+ It's leftover commit which should've been reverted as a part of
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1148
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1475>
+
+2022-01-20 03:17:58 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tools/gst-play.c:
+ * tools/meson.build:
+ tools: gst-play: Enable Windows high-resolution clock
+ Apply https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/817
+ to gst-play as well, especially for better high-framerate
+ (60fps or higher) video support, because
+ 15ms default clock precision (actual value is system dependent)
+ is not sufficient for such scenario.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1541>
+
+2022-01-15 19:03:33 +0100 Tomasz Andrzejak <andreiltd@gmail.com>
+
+ * gst-libs/gst/sdp/gstsdpmessage.c:
+ * tests/check/libs/sdp.c:
+ Add FEC SDP message test
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1527>
+
+2022-01-15 17:02:52 +0100 Tomasz Andrzejak <andreiltd@gmail.com>
+
+ * gst-libs/gst/sdp/gstsdpmessage.c:
+ sdpmessage: fix mapping single char fmtp params
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1527>
+
+2022-01-19 11:05:26 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/pbutils/codec-utils.c:
+ codec-utils: Mark various string return values as `nullable`
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1539>
+
+2022-01-18 23:17:49 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst-libs/gst/rtp/gstrtphdrext.h:
+ rtphdrext: increase GstRTPHeaderExtensionClass padding to LARGE
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/748#note_1223253
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1537>
+
+2022-01-15 10:06:23 +0000 Philippe Normand <philn@igalia.com>
+
+ * gst-libs/gst/pbutils/codec-utils.c:
+ * gst-libs/gst/pbutils/encoding-profile.c:
+ * gst-libs/gst/pbutils/encoding-target.c:
+ * gst-libs/gst/pbutils/install-plugins.c:
+ * gst-libs/gst/pbutils/missing-plugins.c:
+ * gst-libs/gst/pbutils/pbutils.c:
+ pbutils: Define one debug category per module
+ Follow-up of https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1505
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1526>
+
+2022-01-07 18:25:00 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/compositor/compositor.c:
+ compositor: Always draw if all input buffers are GAP
+ Otherwise output buffers will contain random scene
+ (previously rendered or arbitrary initial values) since we don't
+ draw onto output buffer at all.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1498>
+
+2022-01-06 22:10:18 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/video/gstvideoaggregator.c:
+ videoaggregator: Don't pass GAP buffer to prepare_frame_start()
+ Likewise we do check the same condition in prepare_frames_finish(),
+ ignore GAP buffer (zero size with GST_BUFFER_FLAG_GAP flag) without
+ any further processing.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1498>
+
+2022-01-13 23:00:41 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/playback/gsturidecodebin.c:
+ uridecodebin: Fix critical warnings
+ Don't pass non-GstObject object to there.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1519>
+
+2022-01-09 09:39:32 +0000 Philippe Normand <philn@igalia.com>
+
+ * gst-libs/gst/pbutils/codec-utils.c:
+ pbutils: Simplify h264_caps_structure_get_profile_flags_level a bit
+ Refactoring, removing one level of indentation from the function.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1505>
+
+2022-01-08 14:57:00 +0000 Philippe Normand <philn@igalia.com>
+
+ * gst-libs/gst/pbutils/codec-utils.c:
+ * tests/check/libs/pbutils.c:
+ pbutils: H.265 support for gst_codec_utils_caps_get_mime_codec()
+ The codec_data caps payload is parsed and a MIME codec string is generated
+ according to the ISO/IEC 14496-15 specification.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1505>
+
+2022-01-08 14:56:06 +0000 Philippe Normand <philn@igalia.com>
+
+ * gst-libs/gst/pbutils/codec-utils.c:
+ * gst-libs/gst/pbutils/encoding-profile.c:
+ * gst-libs/gst/pbutils/encoding-target.c:
+ * gst-libs/gst/pbutils/pbutils.c:
+ * tests/check/libs/pbutils.c:
+ * tests/check/libs/profile.c:
+ pbutils: Add a pbutils debug category
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1505>
+
+2022-01-07 14:17:46 +0200 Jordan Petridis <jordan@centricular.com>
+
+ gstglutils: introspection annotations fixups
+ * gst_gl_ensure_element_data: specify the type for the element arg
+ * gst_gl_handle_set_context: correctly annotate the display and
+ gl_ctx as just (out) instead of (inout)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1501>
+
+2022-01-09 14:07:12 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/pbutils/codec-utils.c:
+ codec-utils: Use nullable annotation instead of allow-none for various Opus functions
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1506>
+
+2022-01-09 14:05:48 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/pbutils/codec-utils.c:
+ codec-utils: Annotate out parameters for Opus functions as (optional)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1506>
+
+2022-01-09 14:05:11 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/pbutils/codec-utils.c:
+ codec-utils: Add missing annotations to gst_codec_utils_h264_get_profile_flags_level()
+ And fix some minor typos.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1506>
+
+2022-01-05 02:07:59 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * docs/meson.build:
+ * meson.build:
+ meson: Add explicit check: kwarg to all run_command() calls
+ This is required since Meson 0.61.0, and causes a warning to be
+ emitted otherwise:
+ https://github.com/mesonbuild/meson/commit/2c079d855ed87488bdcc6c5c06f59abdb9b85b6c
+ https://github.com/mesonbuild/meson/issues/9300
+ This exposed a bunch of places where we had broken run_command()
+ calls, unnecessary run_command() calls, and places where check: true
+ should be used.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1507>
+
+2021-12-20 21:43:25 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst-libs/gst/audio/gstaudioaggregator.c:
+ * gst/audioresample/gstaudioresample.c:
+ audio: Add logging that was useful in figuring out the last commit
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1461>
+
+2021-12-20 21:37:18 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst-libs/gst/audio/audio-converter.c:
+ * gst-libs/gst/audio/audio-resampler.c:
+ audio-converter: Fix resampling when there's nothing to output
+ Sometimes we can't output anything because we don't have enough
+ incoming frames. In that case, the resampler was trying to call
+ do_quantize() and do_resample() in a loop forever because there would
+ never be samples to output (so chain->samples would always be NULL).
+ Fix this by not calling chain->make_func() in a loop -- seems
+ completely unnecessary since calling it over and over won't change
+ anything if the make_func() can't output samples.
+ Also add some checks for the input and / or output being NULL when
+ doing conversion or quantization. This will happen when we have
+ nothing to output.
+ We can't bail early, because we need resampler->samples_avail to be
+ updated in gst_audio_resampler_resample(), so we must call that and
+ no-op everything along the way.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1461>
+
+2021-12-16 16:43:37 +0100 Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+ * gst/playback/gsturidecodebin.c:
+ uridecodebin: use non-floating object as signal argument
+ ... as was the case with source-setup signal until change of order
+ in commit 52bca104e447309898ca8904b3914211ec7d4114
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1457>
+
+2021-12-13 16:19:44 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/video/video-info.c:
+ video-info: Don't assume colorimetry of UHD resolution as BT.2020
+ BT.2020 color primaries are designed to cover much wider range of
+ CIE chromaticity than BT.709, and also it's used for both SDR and HDR
+ contents. So, the incorrect assumption (i.e., BT.709 as a BT.2020)
+ is risky and resulting image color tends to be visually very wrong.
+ Unless there's obvious clue, don't consider color space of high resolution
+ video stream as BT.2020
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1445>
+
+2021-12-03 01:45:49 +0000 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/meson.build:
+ * gst-libs/gst/sdp/gstsdpmessage.c:
+ * gst-libs/gst/sdp/meson.build:
+ * tests/check/libs/sdp.c:
+ sdp: Handle level-asymmetry-allowed for H264 streams
+ The ["level-asymmetry-allowed"] field states that the peer wants the
+ profile specified in the "profile-level-id" fields but doesn't care
+ about the level. To express this in GStreamer caps term, we add a
+ "profile" field in the caps, which reuses the usual "profile" semantics
+ for H.264 streams and, and remove "profile-level-id" and
+ "level-asymmetry-allowed" fields.
+ ["level-asymmetry-allowed"]: https://www.iana.org/assignments/media-types/video/H264
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1410>
+
+2021-11-19 00:09:03 +0100 Thomas Klausner <tk@giga.or.at>
+
+ * gst/tcp/gstmultifdsink.c:
+ tcp: fix build on Solaris
+ Add missing header.
+ From Claes Nästén via http://gnats.netbsd.org/56509
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1364>
+
+2021-11-16 13:14:25 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst/playback/gsturidecodebin3.c:
+ uridecodebin3: Nullify current item after all play items are freed.
+ There's a potential race condition with this sort of pipelines on
+ certain systems (depends on the processing load):
+ GST_DEBUG_DUMP_DOT_DIR=/tmp \
+ gst-launch-1.0 uridecodebin3 uri=file://stream.mp4 ! glupload ! \
+ glimagesink --gst-debug=*:4
+ Right after the pipeline passes from PAUSED to READY, bin_to_dot_file
+ dumps uridecodebin3 properties, but current uri and suburi might be
+ already freed, causing a potential use-after-freed.
+ This patch makes NULL the current item right after all the play items
+ are freed.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1353>
+
+2021-11-12 18:26:58 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst-libs/gst/audio/audio-resampler.c:
+ audio-resampler: Fix segfault when we can't output any frames
+ Sometimes the resampler has enough space to store all the incoming
+ samples without outputting anything. When this happens,
+ gst_audio_resampler_get_out_frames() returns 0.
+ In that case, the resampler should consume samples and just return.
+ Otherwise, we get a segfault when gst_audio_resampler_resample() tries
+ to resample into a NULL 'out' pointer.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1343>
+
+2021-11-11 19:11:25 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst-libs/gst/pbutils/gstpluginsbaseversion.c:
+ * gst-libs/gst/pbutils/install-plugins.c:
+ * gst-libs/gst/video/video-frame.c:
+ * gst-libs/gst/video/videooverlay.c:
+ docs: fix unnecessary ampersand, < and > escaping in code blocks
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1340>
+
+2021-11-09 12:10:50 +0000 Jiri Uncovsky <jiri.uncovsky@amit.cz>
+
+ * gst-libs/gst/gl/egl/gstglcontext_egl.c:
+ glcontext/egl: add missing unref
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1328>
+
+2021-11-09 12:01:13 +0100 Guillaume Desmottes <guillaume.desmottes@onestream.live>
+
+ * gst-libs/gst/app/gstappsrc.c:
+ appsrc: log when segment changes
+ We were logging when it does not change but not when it does, which is
+ confusing when reading logs.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1327>
+
+2021-11-03 18:44:03 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ Back to development
+
+=== release 1.19.3 ===
+
+2021-11-03 15:43:36 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * ChangeLog:
+ * NEWS:
+ * RELEASE:
+ * gst-plugins-base.doap:
+ * meson.build:
+ Release 1.19.3
+
+2021-11-03 15:43:32 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * ChangeLog:
+ Update ChangeLogs for 1.19.3
+
+2021-11-01 15:48:58 -0400 Matthias Clasen <mclasen@redhat.com>
+
+ * gst-libs/gst/gl/egl/gstglcontext_egl.c:
+ egl: handle configless contexts
+ With EGL_KHR_no_config_context, EGL contexts may just not
+ have an EGLConfig to give you. Deal with it.
+ Fixes: #858
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1289>
+
+2021-10-30 01:55:38 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tests/examples/overlay/win32-videooverlay-playbin.c:
+ examples: win32-videooverlay-playbin: Add a repeat option
+ ... in order to test pipeline/element reuse cases.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1275>
+
+2021-10-30 16:22:39 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst-libs/gst/video/video-format.h:
+ video: Fix order of new video formats
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1282>
+
+2021-10-30 15:50:30 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/gl/gstglutils.c:
+ * gst-libs/gst/video/video.c:
+ base: Fix some annotations
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1281>
+
+2021-10-30 00:34:35 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * tests/examples/playback/playback-test.c:
+ * tests/examples/seek/jsseek.c:
+ Use g_pattern_spec_match() instead of g_pattern_match() which is deprecated since glib 2.70
+ Fixes compiler warnings with glib 2.70
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1279>
+
+2021-10-23 00:44:57 +0200 Piotrek Brzeziński <piotr@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst-libs/gst/video/video-converter.c:
+ * gst-libs/gst/video/video-format.c:
+ * gst-libs/gst/video/video-format.h:
+ * gst-libs/gst/video/video-info.c:
+ * gst-libs/gst/video/video-scaler.c:
+ video-format: Add support for ARGB64 LE/BE and similar variants
+ Co-authored-by: Sebastian Dröge <sebastian@centricular.com>
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1247>
+
+2021-10-25 11:37:45 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ meson: require matching GStreamer dep versions for unstable development releases
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/929
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1244>
+
+2021-10-27 22:49:44 +1100 Jan Schmidt <jan@centricular.com>
+
+ * gst/playback/gstdecodebin3-parse.c:
+ decodebin3: Only unblock for GAP events and buffers.
+ An alternate fix for
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1239
+ and https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1236
+ that makes it clear the intent is to only unblock on a GAP event, and
+ not any others.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1260>
+
+2021-10-26 15:12:16 +0200 Guillaume Desmottes <guillaume.desmottes@onestream.live>
+
+ * gst/playback/gstparsebin.c:
+ parsebin: fix critical when sorting pads
+ If the pad does not have a current caps, get_pad() returns the query
+ caps which can be ANY. In such case the caps does not have any structure
+ resulting in a critical warning when calling gst_caps_get_structure().
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1254>
+
+2021-10-23 16:06:54 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/typefind/gsttypefindfunctions.c:
+ typefindfunctions: Use memcmp() instead of a strange macro around strncmp()
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1234>
+
+2021-10-23 14:31:59 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/typefind/gsttypefindfunctions.c:
+ typefindfunctions: Add various CMAF brands to the MP4 typefinder
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1234>
+
+2021-10-23 14:30:02 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/typefind/gsttypefindfunctions.c:
+ typefindfunctions: Refactor ftyp brands checking
+ Store known brands in arrays and add a helper function to check them.
+ Also add all the `iso3` to `isob` ISO brands and the `hlsf` ISO
+ fragmented brand.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1234>
+
+2021-10-23 14:28:35 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/typefind/gsttypefindfunctions.c:
+ typefindfunctions: Add various other boxes to the list of known top-level MP4 boxes
+ styp, udta, sidx, ssix, prft, mfra, pdin and meta are in the ISOBMFF
+ spec and emsg in the CMAF spec.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1234>
+
+2021-10-25 01:01:56 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * po/af.po:
+ * po/az.po:
+ * po/bg.po:
+ * po/ca.po:
+ * po/cs.po:
+ * po/da.po:
+ * po/de.po:
+ * po/el.po:
+ * po/en_GB.po:
+ * po/eo.po:
+ * po/es.po:
+ * po/eu.po:
+ * po/fi.po:
+ * po/fr.po:
+ * po/fur.po:
+ * po/gl.po:
+ * po/hr.po:
+ * po/hu.po:
+ * po/id.po:
+ * po/it.po:
+ * po/ja.po:
+ * po/lt.po:
+ * po/lv.po:
+ * po/nb.po:
+ * po/nl.po:
+ * po/or.po:
+ * po/pl.po:
+ * po/pt_BR.po:
+ * po/ro.po:
+ * po/ru.po:
+ * po/sk.po:
+ * po/sl.po:
+ * po/sq.po:
+ * po/sr.po:
+ * po/sv.po:
+ * po/tr.po:
+ * po/uk.po:
+ * po/vi.po:
+ * po/zh_CN.po:
+ gst-plugins-base: update translations
+ Fixes #656
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1240>
+
+2021-10-22 17:54:55 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/meson.build:
+ gl/egl: install required egl.h header
+ Fixes build against using the gir.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1227>
+
+2021-10-20 11:56:32 +0200 Guillaume Desmottes <guillaume.desmottes@onestream.live>
+
+ * gst/playback/gststreamsynchronizer.c:
+ streamsynchronizer: set running time offset on events
+ It's cleaner and more generic than overriding the qos events.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1210>
+
+2021-10-18 15:47:00 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * tests/check/meson.build:
+ * tests/validate/meson.build:
+ meson: update for meson.build_root() and .build_source() deprecation
+ -> use meson.project_build_root() or .global_build_root() instead.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1183>
+
+2021-10-18 00:40:14 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * docs/meson.build:
+ * ext/libvisual/meson.build:
+ * gst-libs/gst/gl/meson.build:
+ * gst-libs/gst/tag/meson.build:
+ * meson.build:
+ * tests/meson.build:
+ meson: update for dep.get_pkgconfig_variable() deprecation
+ ... in favour of dep.get_variable('foo', ..) which in some
+ cases allows for further cleanups in future since we can
+ extract variables from pkg-config dependencies as well as
+ internal dependencies using this mechanism.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1183>
+
+2021-10-18 00:03:47 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ meson: clean up conditional paths after version bump
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1183>
+
+2021-02-09 19:56:49 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/pbutils/gstdiscoverer-types.c:
+ * gst-libs/gst/pbutils/gstdiscoverer.c:
+ * gst-libs/gst/pbutils/gstdiscoverer.h:
+ * gst-libs/gst/pbutils/pbutils-private.h:
+ * tools/gst-discoverer.c:
+ discoverer: Set number to stream infos
+ The idea is that we can reference to streams using this unique number,
+ within the context of that discoverer info. That number should always
+ be usable to reference the streams for a specific stream.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/897>
+
+2021-10-20 09:37:40 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst-libs/gst/pbutils/gstdiscoverer.c:
+ discoverer: Don't ref NULL taglist
+ Fixes warning introduced in 064f7bbbfac9610fd391c45091e35391b80e1212
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1200>
+
+2021-10-19 10:07:55 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * gst-libs/gst/audio/meson.build:
+ Revert "audio: Merge simd libs into the main one"
+ This reverts commit 4d3a200358439e6c76c5dd1be2daae0cceb0e44a.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1194>
+
+2021-10-19 17:07:37 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/video/video-overlay-composition.c:
+ video-overlay-composition: Fix constructor guard to actually allow NULL as parameter
+ And don't use a NULL rectangle later.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1195>
+
+2021-10-19 19:46:48 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/eagl/gstglcontext_eagl.m:
+ * gst-libs/gst/gl/gstgldisplay.c:
+ gl/eagl: fix eagl display creation
+ The GstGLDisplayType of the display was win32 instead of the required eagl.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1188>
+
+2021-08-31 16:21:09 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/rtp/gstrtpbasepayload.c:
+ * tests/check/libs/rtpbasepayload.c:
+ * tests/check/libs/rtpdummyhdrextimpl.c:
+ tests/rtp/payload: add test for shrinking extension data
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1146>
+
+2021-08-24 21:26:54 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/rtp/gstrtpbuffer.c:
+ * tests/check/libs/rtp.c:
+ rtp: also support shrinking the extension data
+ Currently the extension data length specified in the RTP header would
+ say it was shorter then the data serialised to a packet. When
+ combining the resulting buffer, the underlying memory would still
+ contain the extra (now 0-filled) padding data.
+ This would mean that parsing the resulting RTP packet would potentially
+ start with a number of 0-filled bytes which many RTP formats are not
+ expecting.
+ Such usage is found by e.g. RTP header extension when allocating the
+ maximum buffer (which may be larger than the written size) and shrinking
+ to the required size the data once all the rtp header extension data has
+ been written.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1146>
+
+2021-10-17 13:14:38 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ext/vorbis/gstvorbisdec.c:
+ vorbisdec: don't emit g_warning() on malformed input data
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1009>
+
+2021-10-17 13:12:11 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ext/theora/gsttheoradec.c:
+ theoradec: don't emit g_warning() on malformed input stream
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1009>
+
+2021-10-17 13:04:14 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/subparse/gstsubparse.c:
+ subparse: don't use g_warning() for malformed input
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1009>
+
+2021-10-17 11:39:57 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * tools/meson.build:
+ tools: Define G_LOG_DOMAIN for various tools as well
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1009>
+
+2021-10-01 15:30:27 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst-libs/gst/allocators/meson.build:
+ * gst-libs/gst/app/meson.build:
+ * gst-libs/gst/audio/meson.build:
+ * gst-libs/gst/fft/meson.build:
+ * gst-libs/gst/gl/meson.build:
+ * gst-libs/gst/pbutils/meson.build:
+ * gst-libs/gst/riff/meson.build:
+ * gst-libs/gst/rtp/meson.build:
+ * gst-libs/gst/rtsp/meson.build:
+ * gst-libs/gst/sdp/meson.build:
+ * gst-libs/gst/tag/meson.build:
+ * gst-libs/gst/video/meson.build:
+ gst-plugins-base: define G_LOG_DOMAIN for all libraries
+ Fixes #634
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1009>
+
+2021-08-15 01:36:14 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst-libs/gst/audio/gstaudioaggregator.c:
+ * gst-libs/gst/video/gstvideoaggregator.c:
+ * gst/compositor/compositor.c:
+ audio/video aggregator: make use of new aggregator inactive pad API
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/867>
+
+2021-10-10 17:07:33 +0100 Philippe Normand <philn@igalia.com>
+
+ * gst-libs/gst/pbutils/gstdiscoverer-types.c:
+ * gst-libs/gst/pbutils/gstdiscoverer.c:
+ * gst-libs/gst/pbutils/gstdiscoverer.h:
+ * gst-libs/gst/pbutils/pbutils-private.h:
+ * tools/gst-discoverer.c:
+ discoverer: Advertise container-specific tags with a new API
+ Since commit a55dafe341ac7398e7c37c30d8b760228296da92, stream-scoped tags no
+ longer appeared as top-level tags, introducing a behaviour regression, specially
+ for MP3 files.
+ The `gst_discoverer_info_get_tags()` API now returns all tags detected for the
+ given media, as documented.
+ A new API is introduced to get container-specific tags,
+ `gst_discoverer_container_info_get_tags()`. The discoverer tool was adapted to
+ use it. `gst_discoverer_info_get_tags()` is now deprecated in favor of
+ `gst_discoverer_container_info_get_tags()` and
+ `gst_discoverer_stream_info_get_tags()`.
+ Fixes #759
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1107>
+
+2021-10-14 18:38:26 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ meson: bump meson requirement to >= 0.59
+ For monorepo build and ugly/bad, for advanced feature
+ option API like get_option('xyz').required(..) which
+ we use in combination with the 'gpl' option.
+ For rest of modules for consistency (people will likely
+ use newer features based on the top-level requirement).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1084>
+
+2021-10-14 23:02:36 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst/encoding/gstsmartencoder.c:
+ smartencoder: Force reencoding of vp9 for profiles can't support
+ If the input file is in a profile we won't be able to output (1 or 3 in BGR
+ format), simply reencode everything for now.
+ Once we add support for that case we can remove that code
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1062>
+
+2021-10-14 22:55:35 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/pbutils/encoding-profile.c:
+ encoding-profile: ignore more fields when creating for discover info
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1062>
+
+2021-10-14 22:29:19 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst/encoding/gstsmartencoder.c:
+ smartencoder: Always plug a vp9parse when encoding vp9
+ This way we know that all relevant fields about video format are
+ added and we avoid renegotiation issues.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1062>
+
+2021-10-05 10:46:26 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst/encoding/gstsmartencoder.c:
+ smartencoder: Fix renegotiating when reencoding parts of the stream with vpx
+ In the encoded streams we might not have all the information about the
+ raw video stream, but when reencoding they end up being specified, even
+ if those are default values.
+ As vp8 decoders always output frames in some YUV color space we can
+ ensure that when upstream doesn't specify any value in its caps we
+ use the default one which is what we end up doing when decoding/reencoding
+ anyway, so this way downstream (matroskamux in that case) doesn't need
+ to be able to renegotiate (which it doesn't).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1062>
+
+2021-10-16 09:29:28 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * ext/ogg/meson.build:
+ * ext/vorbis/meson.build:
+ meson: Mark newly fdkaac/ogg/vorbis as allow fallback
+ This way when the dep is `auto` we will fallback if the system
+ dependency is not available.
+ And use https to get libvorbis
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1171>
+
+2021-10-15 22:07:39 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/gl/meson.build:
+ meson: Fix warning building GstGLEGL
+ We forgot to add the `GstGL` gir as a dependency which was properly
+ done for GstGLWayland and GstGLX11.
+ And document why we use a list for `all_libraries`
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1168>
+
+2021-10-12 15:52:48 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/meson.build:
+ meson: Streamline the way we detect when to build documentation
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1093>
+
+2020-06-27 00:39:00 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/meson.build:
+ * gst-libs/gst/allocators/meson.build:
+ * gst-libs/gst/app/meson.build:
+ * gst-libs/gst/audio/meson.build:
+ * gst-libs/gst/fft/meson.build:
+ * gst-libs/gst/gl/meson.build:
+ * gst-libs/gst/pbutils/meson.build:
+ * gst-libs/gst/riff/meson.build:
+ * gst-libs/gst/rtp/meson.build:
+ * gst-libs/gst/rtsp/meson.build:
+ * gst-libs/gst/sdp/meson.build:
+ * gst-libs/gst/tag/meson.build:
+ * gst-libs/gst/video/meson.build:
+ * meson.build:
+ meson: List libraries and their corresponding gir definition
+ Introduces a `libraries` variable that contains all libraries in a
+ list with the following format:
+ ``` meson
+ libraries = [
+ [pkg_name, {
+ 'lib': library_object
+ 'gir': [ {full gir definition in a dict } ]
+ ],
+ ....
+ ]
+ ```
+ It therefore refactors the way we build the gir so that we can reuse the
+ same information to build them against 'gstreamer-full' in gst-build
+ when linking statically
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1093>
+
+2020-06-27 00:37:39 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/allocators/meson.build:
+ * gst-libs/gst/app/meson.build:
+ * gst-libs/gst/audio/meson.build:
+ * gst-libs/gst/gl/meson.build:
+ * gst-libs/gst/pbutils/meson.build:
+ * gst-libs/gst/rtp/meson.build:
+ * gst-libs/gst/rtsp/meson.build:
+ * gst-libs/gst/sdp/meson.build:
+ * gst-libs/gst/tag/meson.build:
+ * gst-libs/gst/video/meson.build:
+ * meson.build:
+ meson: Mark files as files()
+ Making it more robust and future proof
+ And fix issues that it creates
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1093>
+
+2021-10-13 21:28:58 +0200 Piotrek Brzeziński <piotr@centricular.com>
+
+ * gst-libs/gst/video/video-converter.c:
+ video-converter: Fix v210->I420 last line conversion
+ Last line would not be converted correctly if height was an odd number.
+ Fixed by accounting for data type (8bit vs. 16bit) differences between
+ respective packing and unpacking functions.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/973>
+
+2021-10-13 16:53:41 +0200 Piotrek Brzeziński <piotr@centricular.com>
+
+ * gst-libs/gst/video/video-format.c:
+ video-format: Clean up v210 packing code
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/973>
+
+2021-10-13 17:25:41 +0200 Piotrek Brzeziński <piotr@centricular.com>
+
+ * gst-libs/gst/video/video-converter.c:
+ video-converter: Add fast paths from I420/YV12, UYVY, Y42B and YUY2 to v210
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/973>
+
+2021-10-14 17:48:59 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstglupload.c:
+ gl/dmabuf: add some debug logging about why things may fail to be uploaded
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1145>
+
+2021-09-24 15:02:27 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst/playback/gstplaybin2.c:
+ * gst/playback/gstplaybin3.c:
+ playbin2/3: autoplug/caps: don't expand caps to ANY
+ Retrieving the pad template caps from a ghost pad returns ANY which when
+ merged with any other caps will return ANY. ANY is not very specific
+ and may cause suboptimal code paths in e.g. decoders that assume the
+ lowest common denominator when presented with ANY caps.
+ Fixes negotiating dma-buf with vaapidecodebin between glupload in the
+ video sink element.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1144>
+
+2021-08-02 17:46:37 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tests/examples/playback/playback-test.c:
+ examples: playback-test: Fix for UI resize scenario on Windows
+ Application needs to notify videosink element of video widget resize
+ via gst_video_overlay_set_render_rectangle() since WM_SIZE event
+ wouldn't be notified.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1115>
+
+2020-04-15 23:41:52 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst-libs/gst/audio/meson.build:
+ audio: Merge simd libs into the main one
+ Actually extract the .o objects from the convience libraries and put
+ them into the main one. Without this, they will just be referenced by
+ the .pc file, but it will be unusable because they are not installed.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1122>
+
+2017-08-29 17:21:05 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * ext/gl/gstglimagesink.c:
+ * ext/gl/gstgltransformation.c:
+ * ext/gl/gstglutils.c:
+ * ext/gl/gstglutils.h:
+ * ext/gl/gstglvideomixer.c:
+ * gst-libs/gst/gl/gstglutils.c:
+ * gst-libs/gst/gl/gstglutils.h:
+ * gst-libs/gst/gl/gstglutils_private.h:
+ glutils: Export affine transformation functions for gtkglsink
+ Also remove duplicated copy of those functions from the gl plugin
+ With contributions from Bastien Nocera
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1088>
+
+2021-05-04 15:55:15 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * ext/gl/gstglvideoflip.c:
+ * ext/gl/gstglvideoflip.h:
+ glvideoflip: Replace GstVideoFlipMethod -> GstVideoOrientationMethod
+ It's the same enum, just drop the renamed copy. But keep the registered
+ GEnum as it is part of the API.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1088>
+
+2021-05-04 15:51:36 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * ext/gl/gstglvideoflip.c:
+ glvideoflip: Use the API to parse the image orientation
+ This will reduce the code duplication a little.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1088>
+
+2021-05-04 15:51:13 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * ext/gl/gstglimagesink.c:
+ glimagesink: Use the API to parse the image orientation
+ This will reduce the code duplication a little.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1088>
+
+2021-05-04 15:50:59 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst-libs/gst/video/video.c:
+ * gst-libs/gst/video/video.h:
+ video: Add API to parse the image orientation from a GstTagList
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1088>
+
+2021-05-04 15:39:29 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * ext/gl/gstglimagesink.c:
+ * ext/gl/gstglimagesink.h:
+ glimagesink: Replace GstGLRotateMethod with GstVideoOrientationMethod
+ It's the same enum, just drop the renamed copy. But keep the registered
+ GEnum as it is part of the API.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1088>
+
+2021-05-04 15:28:25 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst-libs/gst/video/meson.build:
+ * gst-libs/gst/video/video.c:
+ * gst-libs/gst/video/video.h:
+ video: Put nicer documentation in GstVideoOrientationMethod
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1088>
+
+2021-09-26 18:05:31 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * tools/gst-play.c:
+ gst-play: pick up minus and plus also from navigation events
+ Makes it easier to test playback rate changes with the video
+ window being in focus.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/928>
+
+2021-10-09 05:39:38 +1100 Jan Schmidt <jan@centricular.com>
+
+ * gst/playback/gsturidecodebin3.c:
+ * gst/playback/gsturisourcebin.c:
+ uridecodebin3/urisourcebin: Reusability fixes
+ Improvements to uridecodebin3 and urisourcebin so that they are
+ reusable across a PAUSED->READY->PAUSED transition.
+ Disconnect and release decodebin3 request pads when urisourcebin
+ removes src pads.
+ In urisourcebin, make sure to remove src pads that are exposed
+ directly (raw pads and static typefind srcpads) when
+ cleaning up.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/768
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1100>
+
+2021-10-10 01:24:44 +1100 Jan Schmidt <jan@centricular.com>
+
+ * gst/playback/gstplaybin3.c:
+ playbin3: Always register 'playbin3' element.
+ If the USE_PLAYBIN3=1 env var is set, we want to replace
+ playbin with playbin3, but separate to that, we always
+ want to register the 'playbin3' element so that applications
+ which explicitly use playbin3 work regardless of the env var.
+ This fixes `USE_PLAYBIN3=1 gst-validate-launcher`, for example.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1102>
+
+2021-10-05 05:43:13 +1100 Jan Schmidt <jan@centricular.com>
+
+ * gst/playback/gstplaybin3.c:
+ playbin3: Avoid group deactivation deadlock.
+ Change locking around group deactivation to avoid deadlocks
+ when shutting down exactly as a buffering message arrives.
+ The PLAYBIN3_LOCK now protects the active field of the
+ source group. Everything else is still protected by the
+ source-group-lock.
+ Also properly protect group switching operations with
+ the PLAYBIN3_LOCK everywhere.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1049>
+
+2021-09-15 16:49:16 +0200 Ludvig Rappe <ludvigr@axis.com>
+
+ * gst-libs/gst/pbutils/codec-utils.c:
+ * tests/check/libs/pbutils.c:
+ pbutils: Remove sample entry code "raw"
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1045>
+
+2021-09-16 15:18:24 +0200 Stéphane Cerveau <scerveau@collabora.com>
+
+ * gst/typefind/gsttypefindfunctions.c:
+ typefindfunctions: differentiate h265 from h264
+ in some cases, the algo gives the same probability
+ to h264 and h265 for h26x stream resulting in a h265
+ stream detected as a h264.
+ if sps/pps/vps detected, increase the probabilty.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/957>
+
+2021-09-26 01:55:39 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst-libs/gst/video/video-format.h:
+ video: make GST_VIDEO_FORMAT_INFO_IS_*() macros booleans
+ Spotted by Stirling Westrup.
+ Fixes #726
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/926>
+
+2021-09-26 01:52:12 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst-libs/gst/audio/audio-info.h:
+ audio: make GST_AUDIO_INFO_IS_UNPOSITIONED return a boolean
+ Luckily this worked right since the flag we check is the
+ only flag and its vale is 1, but feels more correct to
+ actually check for non-zeroness.
+ Spotted by Stirling Westrup.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/926>
+
+2021-09-27 16:11:33 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst-libs/gst/rtp/gstrtphdrext.c:
+ * gst-libs/gst/rtp/gstrtphdrext.h:
+ rtphdrext: Give "inherited" direction in set_attributes
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/906>
+
+2021-09-27 10:19:51 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst-libs/gst/rtp/gstrtphdrext.c:
+ rtphdrext: Use NULL-safe case insensitive comparison
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/906>
+
+2021-09-27 10:01:02 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst-libs/gst/rtp/gstrtphdrext.c:
+ rtphdrext: Print warnings when trying to parse caps
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/906>
+
+2021-09-24 13:38:39 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst-libs/gst/rtp/gstrtphdrext.c:
+ * gst-libs/gst/rtp/gstrtphdrext.h:
+ * tests/check/libs/rtpdummyhdrextimpl.c:
+ rtphdrext: Pass just the attributes to the subclass
+ Since the base class now does the parsing, there is no need
+ to reproduce that code in all the subclasses, just pass the attributes
+ which are the only relevant bit anyway.
+ Also, only store the direction if the subclass accepted the caps
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/906>
+
+2021-09-24 13:19:22 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * tests/check/libs/rtphdrext.c:
+ rtphdrext: Use fail_unless_equals_string() to make tests easier to debug
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/906>
+
+2021-09-24 13:02:13 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * tests/check/libs/rtpdummyhdrextimpl.c:
+ * tests/check/libs/rtphdrext.c:
+ rtphdrext test: Use helper function for caps
+ Also, let the base class parse the direction for us.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/906>
+
+2021-09-24 12:51:01 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst-libs/gst/rtp/gstrtphdrext.c:
+ * gst-libs/gst/rtp/gstrtphdrext.h:
+ rtphdrext: Add helper function to set fields in caps
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/906>
+
+2021-09-23 16:37:45 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst-libs/gst/rtp/gstrtphdrext.c:
+ rtphdrext: Parse direction from the caps
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/906>
+
+2021-09-23 16:33:32 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst-libs/gst/rtp/gstrtphdrext.c:
+ rtphdrext: Set the direction in the caps from the property
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/906>
+
+2021-09-23 16:24:04 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst-libs/gst/rtp/gstrtphdrext.c:
+ * gst-libs/gst/rtp/gstrtphdrext.h:
+ rtphdrext: Store the direction in the base class
+ Store the direction associated wit the RTP header extension in the
+ base class so it can use it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/906>
+
+2021-09-23 16:01:40 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst-libs/gst/rtp/gstrtphdrext.c:
+ * gst-libs/gst/rtp/gstrtphdrext.h:
+ rtphdrext: Set caps without attributes as the default
+ Most subclasses just use the simple function, so just let the base class
+ do it. It makes less code in subclasses.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/906>
+
+2021-09-23 15:36:00 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst-libs/gst/rtp/gstrtphdrext.c:
+ * gst-libs/gst/rtp/gstrtphdrext.h:
+ rtphdrext: Put simple caps generation as the base class default
+ Instead of having a helper function that gets called by almost every
+ subclass, just let the base class set the caps fields automatically.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/906>
+
+2021-09-28 10:11:15 +1000 Brad Hards <bradh@frogmouth.net>
+
+ * README:
+ * RELEASE:
+ doc: update IRC links to OFTC
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/945>
+
+2021-09-27 00:53:34 +0200 Havard Graff <havard.graff@gmail.com>
+
+ * gst-libs/gst/video/gstvideodecoder.c:
+ videodecoder: request sync-points regularly on error
+ If we are not receiving a sync-point for a very long time, we need to
+ keep asking for them. The request-sync-point logic keeps track of how
+ many keyunitrequests we are allowed to send, but that would not matter
+ if we don't keep asking.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/930>
+
+2021-09-26 01:07:02 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ Back to development
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/925>
+
=== release 1.19.2 ===
2021-09-23 01:33:08 +0100 Tim-Philipp Müller <tim@centricular.com>