=== release 1.22.6 ===

2023-09-20 18:10:57 +0100  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* RELEASE:
	* gst-plugins-bad.doap:
	* meson.build:
	  Release 1.22.6

2023-08-10 15:47:03 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mxf/mxfd10.c:
	  mxfdemux: Check number of channels for AES3 audio
	  Only up to 8 channels are allowed and using a higher number would cause
	  integer overflows when copying the data, and lead to out of bound
	  writes.
	  Also check that each buffer is at least 4 bytes long to avoid another
	  overflow.
	  Fixes ZDI-CAN-21661, CVE-2023-40475
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2897
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5365>

2023-08-10 15:45:01 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mxf/mxfup.c:
	  mxfdemux: Fix integer overflow causing out of bounds writes when handling invalid uncompressed video
	  Check ahead of time when parsing the track information whether
	  width, height and bpp are valid and usable without overflows.
	  Fixes ZDI-CAN-21660, CVE-2023-40474
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2896
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5365>

2023-08-09 12:49:19 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/codecparsers/gsth265parser.c:
	  h265parser: Fix possible overflow using max_sub_layers_minus1
	  This fixes a possible overflow that can be triggered by an invalid value of
	  max_sub_layers_minus1 being set in the bitstream. The bitstream uses 3 bits,
	  but the allowed range is 0 to 6 only.
	  Fixes ZDI-CAN-21768, CVE-2023-40476
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2895
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5366>

2023-09-11 18:12:28 +0200  Hugues Fruchet <hugues.fruchet@foss.st.com>

	* gst-libs/gst/wayland/gstwlwindow.c:
	  waylandsink: Fix cropping for video with non-square aspect ratio
	  Padding of unaligned content is still visible at right with some aspect-ratio.
	  Fix this by giving the original content resolution to wp_viewport_set_source()
	  instead of pixel aspect ratio scaled one.
	  Fixes !5259
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5360>

2023-09-14 01:18:59 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth264decoder.c:
	* gst-libs/gst/codecs/gsth264picture.h:
	  h264decoder: Update latency dynamically
	  The actual number of reorder frames is unknown
	  unless frame reordering is disabled
	  (e.g., POC type 2 or constrained-* profiles).
	  Also derived maximum DPB size or max_num_reorder_frames in VUI
	  is not the upper bound of output delay.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2702
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5341>

2023-08-16 13:43:56 +0000  L. E. Segovia <amy@amyspark.me>

	* sys/applemedia/avsamplevideosink.m:
	  applemedia: Also fix inconsistent pixel format definition for NV12
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5203>

2023-08-15 21:45:56 +0000  L. E. Segovia <amy@amyspark.me>

	* sys/applemedia/coremediabuffer.c:
	* sys/applemedia/corevideobuffer.c:
	  applemedia: Fix pixel format for I420
	  In Intel Macs, using full range 8-bit 4:2:0 YCbCr results in a failure on
	  initialization. I've validated this to be the correct pixel format with FFmpeg:
	  https://github.com/FFmpeg/FFmpeg/blob/8653dcaf7d665b15b40ea9a560c8171b0914a882/libavutil/hwcontext_videotoolbox.c#L45
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5203>

2023-08-24 12:12:09 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvadecoder.c:
	* sys/va/gstvadisplay_priv.c:
	  va: Fix in error logs functions mismatches
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5340>

2023-09-15 11:06:52 +1000  Matthew Waters <matthew@centricular.com>

	* sys/androidmedia/gstamcvideoenc.c:
	  androidmedia/enc: handle codec-data before popping GstVideoCodecFrames
	  Issue is that when amc was producing a codec-data buffer, a
	  GstVideoCodecFrame was being popped off the internal queue.  This meant
	  that the codec-data was being associated with the first input frame and
	  the second (first encoded buffer) output buffer with the second input
	  frame.  At the end (assuming one input produces one output which seems
	  to hold in my testing and how the encoder is currently implemented)
	  there would be an input frame missing and would be pushed without any
	  timing information.  This would lead to e.g. muxers rejecting the buffer
	  without PTS and failing to mux.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5335>

2023-09-15 11:06:07 +1000  Matthew Waters <matthew@centricular.com>

	* sys/androidmedia/gstamc-constants.h:
	* sys/androidmedia/gstamcvideoenc.c:
	  androidmedia/enc: add fixme log about partial frames
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5335>

2023-09-16 03:13:33 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecparsers/gstav1parser.c:
	  av1parser: Fix segmentation params update
	  Even if the segmentation feature value is not updated,
	  the parsed "segmentation_update_map" and "segmentation_temporal_update"
	  values should not be cleared as it's referenced during lower
	  level bitstream parsing. Also, don't use assert() in parser
	  unless it's clearly impossible condition.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5336>

2023-08-24 17:40:42 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/rtmp2/rtmp/rtmpclient.c:
	  rtmp2: Allow NULL flash version, omitting the field
	  rtmpsink omits it by default. Allow us to do the same.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5248>

2023-09-05 14:15:04 +0200  Thomas Schneider <thomas.schneider@voliro.ch>

	* sys/androidmedia/gstamc.c:
	  androidmedia: fix hevc codec profile registration
	  Fix the codec registration logic such that all supported
	  profiles are available instead of just the first in the
	  list.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5313>

2023-09-03 13:21:30 +0000  Akihiro Sagawa <sagawa.aki@gmail.com>

	* gst-libs/gst/codecparsers/gstmpegvideoparser.c:
	  codecparsers: Fix MPEG-1 aspect ratio table
	  The values defined in ISO/IEC 11172-2 are different from those used so far.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5300>

2023-08-29 14:55:03 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/wayland/gstwlwindow.c:
	  waylandsink: Crop surfaces to their display width height
	  Setting the surface source rectangle has been omitted so far. As a side effect
	  surface created with padded width/height are being scaled down. Fix this using
	  the viewporter source rectangle configuration. This can later be enhanced
	  to support crop meta.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5298>

2023-08-28 20:58:22 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11convert.cpp:
	  d3d11convert: Passthrough allocation query on same caps
	  Since d3d11convert and its variant elements does not enable basetransform's
	  passthrough, passthrough allocation query needs to be handled
	  manually in order to respect downstream element's min/max buffer
	  requirement.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5297>

2023-08-23 19:27:43 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvencoder.cpp:
	  nvencoder: Fix negotiation error when interlace-mode is unspecified
	  Use GST_PAD_SET_ACCEPT_INTERSECT() to accept caps without interlace-mode
	  field
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5240>

2023-08-23 18:07:31 +0900  Seungha Yang <seungha@centricular.com>

	* sys/win32ipc/protocol/win32ipcpipeserver.cpp:
	  win32ipc: Fix pipe handle leak
	  Named pipe handle must be closed if it's no longer needed
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2923
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5231>

2023-08-22 02:57:24 +0900  Seungha Yang <seungha@centricular.com>

	* gst/videoparsers/gsth265parse.c:
	* tests/check/elements/h265parse.c:
	  h265parse: Allow partially broken hvcC data
	  Ignores parsing error on the last nalu of the array if the nalu type
	  is not VPS/SPS/PPS
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2905
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5220>

2023-08-18 18:21:18 +1000  Jan Schmidt <jan@centricular.com>

	* ext/mdns/gstmicrodnsdevice.c:
	  mdns: Fix a crash on context error
	  Make sure not to free the microdns provider context until the
	  device provider asks it to stop. Fixes a crash if there is
	  an error (such as MDNS port being busy) that makes the
	  mdns listener exit early.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5207>

2023-08-18 09:27:36 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* gst/rtmp2/gstrtmp2sink.c:
	  rtmp2sink: fix crash if message conversion failed
	  The message pointer is not set so we can't display it in logs.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5202>

2023-08-08 01:29:40 +0900  Seungha Yang <seungha@centricular.com>

	* ext/hls/gsthlssink2.c:
	  hlssink2: Always use forward slash separator
	  g_build_filename() will insert back slash on Windows, and resulting
	  playlist will contain media segment path with back slash if
	  "playlist-root" property is specified
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5161>

2023-08-05 01:39:29 +1000  Jan Schmidt <jan@centricular.com>

	* gst/audiolatency/gstaudiolatency.c:
	  audiolatency: Fix event refcounting bug handling latency events
	  Fix a refcounting bug introduced in
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5146
	  If upstream returns FALSE when processing a latency event, it will
	  be unreffed an extra time
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5152>

2023-08-04 17:25:26 +1000  Jan Schmidt <jan@centricular.com>

	* gst/audiolatency/gstaudiolatency.c:
	  audiolatency: Forward latency query and event upstream
	  Make sure the pipeline still configures the latency that it would configure
	  if audiolatency was not in the pipeline.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5152>

2023-07-19 18:08:32 -0500  Ryan Pavlik <ryan.pavlik@collabora.com>

	* sys/androidmedia/gstjniutils.c:
	  androidmedia: Add more null checks (of env) to JNI utilities
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5142>

2023-07-22 10:42:39 +0100  Philippe Normand <philn@igalia.com>

	* gst/transcode/gsttranscodebin.c:
	  transcodebin: Fixes for upstream selectable support
	  The upstream selectable query was not performed in all situations where we
	  handle the stream-start event. This could potentially lead to unlinked pads
	  between decodebin3 and encodebin later on.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5141>

2023-07-19 18:08:32 -0500  Ryan Pavlik <ryan.pavlik@collabora.com>

	* sys/androidmedia/gstjniutils.c:
	  androidmedia: Add more null checks to JNI utilities
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5136>

2023-07-28 14:02:22 -0500  Ryan Pavlik <ryan.pavlik@collabora.com>

	* sys/androidmedia/gstamcvideodec.c:
	  androidmedia: Fix typo
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5136>

2023-07-19 18:08:16 -0500  Ryan Pavlik <ryan.pavlik@collabora.com>

	* sys/androidmedia/gst-android-hardware-camera.c:
	  androidmedia: Clear err if we don't have an optional camera field/constant
	  Fixes startup on devices where those fields/constants are not found.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5136>

2023-07-26 16:45:18 -0500  Ryan Pavlik <ryan.pavlik@collabora.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtc: Fix docs for create-data-channel action signal
	  Initial line of the doc comment was incorrect, so the nicely written
	  docs were not being extracted.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5134>

2023-07-20 16:57:47 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5082>

=== release 1.22.5 ===

2023-07-20 15:22:48 +0100  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* RELEASE:
	* gst-plugins-bad.doap:
	* meson.build:
	  Release 1.22.5

2023-02-19 10:41:51 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst/jpegformat/gstjpegparse.c:
	  jpegparse: Warn only malformed data in APP data.
	  It's only malformed data in APP when its length is less than 6 chars,
	  because it should have at least an id string. Otherwise, if the id string
	  is not handled, no warning is raised, only a debug message noticing it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5053>

2023-02-15 19:02:35 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst/jpegformat/gstjpegparse.c:
	  jpegparse: Parse AVI1 tag in app0.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5053>

2023-02-12 16:11:34 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstjpegdecoder.c:
	  va: jpegdecoder: Do not check SOS state when parsing DRI marker.
	  According to spec, the JPEG_MARKER_DRI(Restart interval definition)
	  marker can come before the SOS marker. So we should not check the SOS
	  state when parsing the DRI marker.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5053>

2023-07-11 21:41:46 +0200  Carlos Rafael Giani <crg7475@mailbox.org>

	* meson.build:
	  gl: Take into account viv-fb vs. viv_fb naming in meson scripts
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4959>

2023-05-16 21:24:44 +1000  Matthew Waters <matthew@centricular.com>

	* meson.build:
	  gl: provide a pkg-config/gir file for the viv-fb backend
	  Required to be able to generate coherent bindings for window system
	  specific APIs due to limitations in gobject-introspection.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4959>

2023-03-26 16:40:28 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/teletextdec/gstteletextdec.c:
	* sys/winks/gstksvideodevice.c:
	* sys/winks/kshelpers.c:
	* tools/gst-app-maker:
	  taglist, plugins: fix compiler warnings with GLib >= 2.76
	  Fix compiler warnings about not using the return value when
	  freeing the GString segment with g_string_free(.., FALSE):
	  ignoring return value of ‘g_string_free_and_steal’ declared with attribute ‘warn_unused_result’
	  which we get with newer GLib versions. These were all harmless.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5015>

2023-06-27 05:09:49 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11bufferpool.cpp:
	* tests/check/libs/d3d11memory.c:
	* tests/check/meson.build:
	  d3d11bufferpool: Fix heavy CPU usage in case of fixed-size pool
	  There's no reason to release GstMemory manually at all.
	  If we do release GstMemory, corresponding GstBuffer will be
	  discarded by GstBufferPool baseclass because the size is changed
	  to zero.
	  Actual cause of heavy CPU usage in case of fixed-size pool
	  (i.e., decoder output buffer pool) and if we remove GstMemory from
	  GstBuffer is that GstBufferPool baseclass is doing busy wait in acquire_buffer()
	  for some reason. That needs to be investigated though, discarding
	  and re-alloc every GstBuffer is not ideal already.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4943>

2023-07-10 12:03:25 +0100  Philippe Normand <philn@igalia.com>

	* ext/webrtc/gstwebrtcbin.c:
	* tests/check/elements/webrtcbin.c:
	  webrtcbin: Prevent critical warning when creating an additional data channel
	  The max_channels value wasn't clamped to 65534 in all situations.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5012>

2023-06-30 18:30:46 +0100  Philippe Normand <philn@igalia.com>

	* ext/webrtc/gstwebrtcstats.c:
	  webrtcstats: Properly report IceCandidate type
	  strcmp returns a positive value if s1 is greater than s2, while we actually
	  needed to check equality here.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4957>

2023-06-20 19:10:38 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4907>

=== release 1.22.4 ===

2023-06-20 17:42:25 +0100  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* RELEASE:
	* gst-plugins-bad.doap:
	* meson.build:
	  Release 1.22.4

2023-06-13 14:25:04 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/dvdspu/gstspu-pgs.c:
	  dvdspu: Avoid integer overflow when checking if enough data is available
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4899>

2023-06-13 14:23:47 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/dvdspu/gstspu-pgs.c:
	  dvdspu: Make sure enough data is allocated for the available data
	  If the size read from the stream is smaller than the currently available
	  data then the size is bogus and the data should simply be discarded.
	  Fixes ZDI-CAN-20994
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2660
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4899>

2023-04-18 09:59:36 +0200  Andoni Morales Alastruey <amorales@fluendo.com>

	* sys/applemedia/vtenc.c:
	* sys/applemedia/vtenc.h:
	  vtenc: remove duplicated framerate and size variables
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4888>

2023-03-30 15:38:22 +0200  Andoni Morales Alastruey <amorales@fluendo.com>

	* sys/applemedia/meson.build:
	* sys/applemedia/vtdec.h:
	* sys/applemedia/vtenc.c:
	* sys/applemedia/vtenc.h:
	* tests/validate/meson.build:
	* tests/validate/vtenc/vtenc_h264.validatetest:
	* tests/validate/vtenc/vtenc_h264/flow-expectations/log-enc-src-expected:
	* tests/validate/vtenc/vtenc_h264_b_frames.validatetest:
	* tests/validate/vtenc/vtenc_h264_b_frames/flow-expectations/log-enc-src-expected:
	* tests/validate/vtenc/vtenc_h265.validatetest:
	* tests/validate/vtenc/vtenc_h265/flow-expectations/log-enc-src-expected:
	* tests/validate/vtenc/vtenc_h265_b_frames.validatetest:
	* tests/validate/vtenc/vtenc_h265_b_frames/flow-expectations/log-enc-src-expected:
	  vtenc: apply DTS offset to ensure DTS <= PTS
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4888>

2023-03-23 20:04:49 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/videoparsers/gsth265parse.c:
	  h265parse: Don't override upstream framerate
	  The framerate should only be replaced (and corrected for alternating field)
	  when it is parsed from the bitstream. Otherwise, the upstream framerate
	  from caps should be trusted and assumed correct.
	  Related to gst-plugins-bad!2020
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4352>

2023-03-23 20:02:16 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/videoparsers/gsth265parse.c:
	* gst/videoparsers/gsth265parse.h:
	  h265parse: Rename parsed_framerate to framerate_from_caps
	  That meaning of parsed_framerate is ambigious, it is set whenever the
	  framerate has been parsed from caps, which can be confused with being
	  parsed from the bitstream. Rename this as framerate_from_caps.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4352>

2023-02-15 13:10:39 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* gst/videoparsers/gsth265parse.c:
	  h265parse: Fix to check returned value
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4352>

2023-05-11 15:28:35 +0200  Michael Olbrich <m.olbrich@pengutronix.de>

	* gst/sdp/gstsdpdemux.c:
	  sdpdemux: ensure that only one srcpad is created per stream
	  If two senders use the same multicast IP and port then new_session_pad()
	  may try to add a srcpad to the same stream twice.
	  stream->srcpad is updated but gst_element_add_pad() fails the second
	  time. As a result stream->srcpad points to a deleted object and
	  access in gst_sdp_demux_stream_free() fails with a segfault.
	  Just ignore the second pad. Nothing useful can be done with it anyway.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4873>

2023-06-11 22:22:36 +0200  Marek Vasut <marex@denx.de>

	* sys/kms/gstkmssink.c:
	  kmssink: Add ST STM32 LTDC auto-detection
	  Add STM32 LTDC controller into list of auto-detected modules.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4872>

2023-06-11 22:22:25 +0200  Marek Vasut <marex@denx.de>

	* sys/kms/gstkmssink.c:
	  kmssink: Add NXP i.MX8M Plus LCDIFv3 auto-detection
	  Add i.MX8M Plus LCDIFv3 controller into list of auto-detected modules.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4872>

2023-04-28 22:25:11 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  va: h265enc: map the mbbrc to correct enum value in get_property()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4870>

2023-04-28 22:26:34 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  va: h264enc: map the mbbrc to correct enum value in get_property()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4870>

2023-06-14 10:08:51 +0200  François Laignel <francois@centricular.com>

	* ext/srtp/gstsrtpdec.c:
	  srtpdec: fix Got data flow before segment event
	  A race condition can occur in `srtpdec` during the READY -> NULL transition:
	  an RTCP buffer can make its way to `gst_srtp_dec_chain` while the element is
	  partially stopped, resulting in the following critical warning:
	  > Got data flow before segment event
	  The problematic sequence is the following:
	  1. An RTCP buffer is being handled by the chain function for the
	  `rtcp_sinkpad`. Since, this is the first buffer, we try pushing the sticky
	  events to `rtcp_srcpad`.
	  2. At the same moment, the element is being transitioned from PAUSED to READY.
	  3. While checking and pushing the sticky events for `rtcp_srcpad`, we reach the
	  Segment event. For this, we try to get it from the "otherpad", in this case
	  `rtp_srcpad`. In the problematic case, `rtp_srcpad` has already been
	  deactivated so its sticky events have been cleared. We won't be pushing any
	  Segment event to `rtcp_srcpad`.
	  4. We return to the chain function for `rtcp_sinkpad` and try pushing the
	  buffer to `rtcp_srcpad` for which deactivation hasn't started yet, hence the
	  "Got data flow before segment event".
	  This commit:
	  - Adds a boolean return value to `gst_srtp_dec_push_early_events`: in case the
	  Segment event can't be retrieved, `gst_srtp_dec_chain` can return  an error
	  instead of calling `gst_pad_push`.
	  - Replaces the obsolete `gst_pad_set_caps` with `gst_pad_push_event`. The
	  additional preconditions checked by previous function are guaranteed here
	  since we push a fixed Caps which was built in the same function.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4860>

2023-06-15 11:11:39 +0200  François Laignel <francois@centricular.com>

	* ext/srtp/gstsrtpdec.c:
	  srtpdec: backport for fix assertion 'parent->numsinkpads <= 1' failed
	  Commit 96450f4c uses the new function `gst_element_decorate_stream_id` which
	  was introduced by 39633967 in 1.23.
	  This commit backports 96450f4c with a simplified version of
	  `gst_element_decorate_stream_id_internal` as a private srtpdec function.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4860>

2023-06-15 01:36:25 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3dvideosink/d3dvideosink.c:
	  d3dvideosink: Fix navigation event leak
	  Fixing regression introduced in 6c2f6c3bd4dd525eb02c6d7000e84b76663d3daf
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4868>

2023-06-13 01:29:14 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/asfmux/gstasfobjects.c:
	  asfmux: fix potentially unaligned write on 32-bit ARM
	  Fixes #2665
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4855>

2023-06-01 15:16:47 +0300  Sebastian Dröge <sebastian@centricular.com>

	* sys/decklink/gstdecklink.h:
	  decklink: Implement Windows string conversion with common API between MinGW and MSVC
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4786>

2023-06-01 15:17:26 +0300  Sebastian Dröge <sebastian@centricular.com>

	* sys/decklink/gstdecklink.h:
	  decklink: Add some newlines in long defines
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4786>

2023-05-31 23:44:42 +0300  Maksym Khomenko <maksym.khomenko@skelia.partners>

	* sys/decklink/gstdecklink.h:
	  decklink: Calculate string size before malloc
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4786>

2023-05-30 15:27:21 +0300  Sebastian Dröge <sebastian@centricular.com>

	* sys/decklink/gstdecklink.h:
	  decklink: Use the macOS version of the SDK on macOS and not the Linux one
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4786>

2023-05-30 13:23:28 +0300  Sebastian Dröge <sebastian@centricular.com>

	* sys/decklink/gstdecklink.h:
	  decklink: Free SDK strings after usage on Linux
	  While they're const char* they still need to be freed like on Windows
	  and macOS and would be leaked otherwise.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4786>

2023-05-30 13:22:44 +0300  Sebastian Dröge <sebastian@centricular.com>

	* sys/decklink/gstdecklink.h:
	  decklink: Correctly handle SDK strings on macOS
	  They're CFStringRef* and not plain NUL-terminated char* C strings.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4786>

2023-05-26 13:26:42 +0100  Colin Kinloch <colin.kinloch@collabora.com>

	* ext/gtk/gstgtkwaylandsink.c:
	* gst-libs/gst/wayland/gstwlwindow.c:
	  waylandsink: Emit "map" signal boarder surface is ready
	  This allows gtkwaylandsink to queue a draw of its gtk widget at the
	  correct time, avoiding a race.
	  Signed-off-by: Colin Kinloch <colin.kinloch@collabora.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4754>

2023-05-25 17:02:24 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/fdkaac/gstfdkaacdec.c:
	  fdkaacdec: Support up to 5 rear channels
	  The `switch (n_rear)` supports up to 5 rear channels, but our channel
	  set only had space for 3. Size the set properly to fix this.
	  This didn't actually cause any memory unsafety as `PUSH_CHAN` would stop
	  incrementing `n_rear` if the channel set is already full.
	  Thanks to @alatiera for noticing this.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4740>

2023-05-24 22:12:51 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11videosink.cpp:
	  d3d11videosink: Fix error on pause and play
	  The show_frame() can be called without prepare() call on paused to
	  playing state change. Thus the prepared buffer should not be cleared
	  on show_frame()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4714>

2023-05-18 09:27:29 -0400  Thibault Saunier <tsaunier@igalia.com>

	* gst/debugutils/gsttestsrcbin.c:
	  testsrcbin: Remove spurious caps unref
	  Caps are cleared at the end of the function
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2575
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4685>

2023-05-19 12:36:19 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4679>

=== release 1.22.3 ===

2023-05-19 09:23:19 +0100  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* README.md:
	* RELEASE:
	* gst-plugins-bad.doap:
	* meson.build:
	  Release 1.22.3

2023-04-20 16:41:11 +0800  Haihua Hu <jared.hu@nxp.com>

	* gst-libs/gst/play/gstplay.c:
	  gstplay: fix critical log when enable playbin3
	  when play rtsp stream with playbin3 enabled, there are some critical logs:
	  g_object_get_is_valid_property: object class 'GstPlayBin3' has no property named 'n-video'
	  g_object_get_is_valid_property: object class 'GstPlayBin3' has no property named 'n-audio'
	  g_object_get_is_valid_property: object class 'GstPlayBin3' has no property named 'n-text'
	  self->collection could be NULL when READY->PAUSED if the pipeline
	  is live, then it will fallback to query playbin2's property,
	  we can call gst_play_streams_info_create_from_collection
	  directly, it will check self->collection internal.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4666>

2023-03-02 18:09:54 +0800  Elliot Chen <elliot.chen@nxp.com>

	* gst-libs/gst/play/gstplay.c:
	  gstplay: avoid getting property of playbin2 if subtitle_sid is null
	  There is a probability of getting "current-text" property
	  when play with playbin3, and this property is available
	  only in playbin2.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4661>

2023-05-16 22:56:15 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11convert.cpp:
	  d3d11convert: Fix for runtime property update
	  Every setup happens in set_caps() method but basetransform will not
	  call the set_caps() if in/out caps were not changed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4652>

2023-03-17 20:44:30 +0100  Aleksandr Slobodeniuk <aslobodeniuk@fluendo.com>

	* sys/d3d11/gstd3d11convert.cpp:
	  d3d11convert: protect 'add-borders' with mutex
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4652>

2023-05-15 13:47:16 +0200  Carlos Rafael Giani <crg7475@mailbox.org>

	* sys/bluez/gstavdtputil.c:
	  avdtputil: Use int instead of int range for fixed bitpool values
	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1698
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4655>

2023-05-16 16:17:05 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/webrtc/nice/nice.c:
	  Revert "webrtc/nice: support consent-freshness RFC7675"
	  This reverts commit 0161687505156f54ff38b976668804ac2763a863.
	  This causes problems when the connection is congested because
	  libnice uses a too agressive timeout contrary to the spec, so
	  it's easy for consent to lapse and streaming to stop if there's
	  packet loss.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4649>

2023-05-10 12:00:15 +0200  Johan Sternerup <johast@axis.com>

	* ext/sctp/gstsctpenc.c:
	  sctpenc: Fix potential shutdown deadlock
	  When transitioning from state PAUSED to READY, the sctpenc element
	  could previously be stuck in an endless loop trying to resend data
	  in case the underlying sctp stream was in the process of
	  resetting. usrsctp_sendv() would repeatedly return EAGAIN with the
	  result that 0 bytes were sent and then sctpenc would retry forever.
	  To bring sctpenc out of the resend loop we just need to inform the
	  sink pad that it is flushing, which is already done for the associated
	  data queue, but we also need to set the bools associated with the
	  sinkpads that are used as the loop criterion.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4636>

2023-04-18 11:21:05 +0200  Daniel Moberg <daniemob@axis.com>

	* ext/webrtc/webrtcdatachannel.c:
	  webrtc: do not tear down data channel before data is flushed
	  Current implementation can in some cases detect
	  that all data is sent but in reality it is not,
	  leading to a push to an unlinked pad.
	  This is a race between the probe used to track data sent and a
	  call to close.
	  This patch sends an EOS before starting the close procedure
	  and then waits for the EOS event to come through to the
	  src pad before commencing with tear down.
	  This ensures that any queued data before EOS is flushed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4633>

2023-04-04 21:50:01 +1000  Jan Schmidt <jan@centricular.com>

	* gst/mpegdemux/gstmpegdemux.c:
	* gst/mpegdemux/gstmpegdemux.h:
	  mpegpsdemux: Rework gap sending
	  Take the gap logic from mpegtsdemux, and don't
	  send gap events on a stream that's outputting buffers with
	  no timestamps. Time isn't advancing, but the stream has
	  buffers - so it's not sparse.
	  Fixes #2374
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4623>

2023-03-05 20:15:19 +0900  Seungha Yang <seungha@centricular.com>

	* sys/va/gstvavp8dec.c:
	  vavp8dec: Fix return type of decode_picture()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4614>

2023-03-05 20:14:06 +0900  Seungha Yang <seungha@centricular.com>

	* sys/va/gstjpegdecoder.h:
	  vajpegdec: Hide gst_jpeg_decoder_get_type() symbol
	  It's not a public symbol yet
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4614>

2023-03-05 20:01:44 +0900  Seungha Yang <seungha@centricular.com>

	* sys/va/gstvabaseenc.h:
	  vabaseenc: Fix return type of encode_frame vfunc
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4614>

2023-03-05 19:53:37 +0900  Seungha Yang <seungha@centricular.com>

	* sys/va/gstvaav1dec.c:
	* sys/va/gstvafilter.c:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	* sys/va/gstvavp8dec.c:
	* sys/va/gstvavpp.c:
	  va: Fix struct empty initialization syntax
	  "struct Foo bar; bar = {};" is not a valid syntax. Also remove use
	  of __typeof__ which is GCC specific
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4614>

2023-05-10 00:51:31 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11videosink.cpp:
	  d3d11videosink: Don't clear prepared buffer on unlock_stop()
	  That can be called between prepare() and render() which results in
	  unexpected error flow return
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4596>

2023-05-06 04:14:49 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth264decoder.c:
	  h264decoder: Drop nonexisting picture silently without error
	  If end_picture() was not successful, we do drop corresponding
	  GstVideoCodecFrame and therefore gst_video_decoder_get_frame()
	  will return nullptr which is expected behavior.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4586>

2023-03-12 14:55:22 +0000  Philippe Normand <philn@igalia.com>

	* ext/webrtc/gstwebrtcbin.c:
	* ext/webrtc/webrtcdatachannel.c:
	* ext/webrtc/webrtcdatachannel.h:
	  webrtcdatachannel: Bind to parent webrtcbin using a weak reference
	  The previous approach of using a simple pointer could lead to a use-after-free
	  in case a data-channel was created and its parent webrtcbin was disposed soon
	  after.
	  Fixes #2103
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4580>

2023-05-04 16:30:09 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/webrtc/nice/nice.c:
	  webrtc/nice: support consent-freshness RFC7675
	  As is supported by libwebrtc already.  This allows ICE components to
	  transition to failed if consent to send from the peer is revoked or if
	  multiple consent packets are lost.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4575>

2023-05-05 21:53:44 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11memory.cpp:
	  d3d11memory: Don't clear wrapped texture memory
	  The external texture may hold already rendered scene and therefore
	  it should not be cleared in alloc method
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4558>

2023-05-04 04:44:31 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfvideoencoder.cpp:
	  mfvideoenc: Allow only even resolution numbers
	  Some H/W vendors support odd resolution if D3D11 texture is used
	  or via IMF2DBuffer, but not all vendors support it.
	  Also software MFT does not allow odd resolution.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1165
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2537
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4548>

2023-05-02 18:14:20 +0100  Philippe Normand <philn@igalia.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: Fix potential deadlock when closing before any data was sent
	  A blocking pad probe is added on new sink pads, it's usually removed after the
	  caps have been negotiated or the signaling state switched to stable, but if that
	  never happens and the pad is released we kept the pad probe active, leaving the
	  pad blocked, preventing clean disposal.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4533>

2023-05-01 17:46:25 +0100  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/webrtc/dtlstransport.c:
	  dtlstransport: Keep strong ref of dtls encoder/decoder
	  Otherwise get_property() calls for the client, certificate and/or
	  remote-certificate properties might access moved objects, since the encoder and
	  decoder are added to the transportsendbin.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4526>

2023-05-01 10:24:54 +0000  Mihail Ivanchev <contact@ivanchev.net>

	* gst/codectimestamper/meson.build:
	  gstcodectimestamper: remove PC file generation from plugin's own meson.build
	  The file generated here is incomplete; it is generated for all plugins in a loop at an upper level.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4520>

2023-04-28 04:28:24 +0900  Seungha Yang <seungha@centricular.com>

	* sys/wasapi2/gstwasapi2util.c:
	  wasapi2: Allows process loopback capture on Windows 10
	  As per MS documentation[1], it requires Windows 10 Build 20348
	  but it seems to be supported by old versions too
	  [1] https://learn.microsoft.com/en-us/windows/win32/api/audioclientactivationparams/
	  ns-audioclientactivationparams-audioclient_process_loopback_params
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2524
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4517>

2023-04-28 18:52:48 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudamemory.c:
	  cudamemory: Fix for semi planar YUV memory size decision
	  UV plan of the semi planar format requires only half of Y plane size
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4506>

2023-04-25 04:59:33 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11window_win32.cpp:
	  d3d11videosink: Fix for ignored initial render rectangle
	  Application can set target render rect before internal HWND
	  configuration
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2518
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4496>

2023-04-25 10:14:47 +0200  Stéphane Cerveau <scerveau@collabora.com>

	* tests/check/meson.build:
	  bad: disable dtls test if openssl is not present
	  On MacOS with homebrew, the openssl library is not
	  properly detected with pkg-config.
	  So disable the test compilation if openssl
	  is not properly detected along with libcrypto.
	  libcrypto is detected but it uses the system one
	  which leads to the error:
	  your binary is not an allowed client of /usr/lib/libcrypto.dylib for
	  architecture x86_64
	  See more details from Apple:
	  https://developer.apple.com/forums/thread/124782
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4483>

2023-04-19 16:59:01 +0200  Martin Nordholts <martn@axis.com>

	* gst-libs/gst/webrtc/nice/nice.c:
	  webrtc: Plug leaks of resolved ICE addresses
	  The addresses we get from `resolve_host_finish()` (via
	  `resolve_host_async()`, `resolve_host_main_cb()`, `on_resolve_host()`,
	  `g_resolver_lookup_by_name_finish()`) must be freed. Otherwise we leak
	  memory.
	  Leak found and confirmed fixed with GCC AddressSanitizer.
	  Change-Id: If32d24452d626234f01b253b77a7d6d16eac1cee
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4482>

2023-04-17 21:34:19 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11compositor.cpp:
	  d3d11compositor: Skip zero alpha input
	  Blending such input is a waste of resource since nothing will
	  be rendered
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4456>

2023-03-30 10:11:11 +1100  Matthew Waters <matthew@centricular.com>

	* ext/closedcaption/gstccconverter.c:
	  ccconverter: reintroduce frame count reset on cycle completion
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4453>

2023-04-18 14:55:23 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mpegtsdemux/tsdemux.c:
	  tsdemux: Set number of channels to 2 for dual mono Opus
	  Instead of leaving it at 0, which will then cause caps creation to fail.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4446>

2023-04-17 11:36:55 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* ext/dash/gstmpdclient.c:
	  dash: mpdclient: fix divide by 0 if segment has no duration
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4441>

2023-04-17 23:06:54 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11compositor.cpp:
	  d3d11compositor: Reconfigure resource only when output caps is changed
	  GstD3D11Converter setup is heavy operation since it requires
	  shader compile, GPU resource allocation, some math, mutex, etc.
	  We can avoid it if negotiated caps is not changed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4440>

2018-07-19 17:21:22 +0200  Michael Olbrich <m.olbrich@pengutronix.de>

	* ext/srtp/gstsrtpdec.c:
	  srtpdec: fix "srtp-key" check
	  The original code was:
	  if (!gst_structure_get (s, "srtp-key", GST_TYPE_BUFFER, &buf, NULL) || !buf) {
	  goto error;
	  } else {
	  stream->key = buf;
	  }
	  So use "srtp-key" if it is set so a non NULL buffer. The condition was
	  incorrectly inverted in ad7ffe64a66ab48d81671651031c449149db4973 to:
	  if (gst_structure_get (s, "srtp-key", GST_TYPE_BUFFER, &buf, NULL) || !buf) {
	  stream->key = buf;
	  } ...
	  Fix the condition so it works as originally intended and avoid accessing
	  'buf' uninitialised.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4423>

2023-03-27 09:20:27 +0200  Aleksandr Slobodeniuk <aslobodeniuk@fluendo.com>

	* sys/d3d11/gstd3d11videosink.cpp:
	* sys/d3d11/gstd3d11window_win32.cpp:
	  d3d11videosink: fix race conditions in win32 window
	  One race condition is the fact that the window object
	  can be destroyed while running some routine in the UI
	  thread (such as resizing). To avoid that situation we make
	  UI thread hold a reference on the window object while it's
	  running.
	  Other probpematic case is when the window handle is reused:
	  if we stop and start the pipeline very fast,
	  so the sink creates a new window object that is going to use
	  the same window handle as the previous one.
	  And finally the case when the pipeline is stopped immediatelly
	  right after starting, this one is also handled in this commit.
	  NOTE: a unit test that reproduces this cases have been added
	  in the previous commit.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4417>

2023-03-21 18:17:12 +0100  Aleksandr Slobodeniuk <aslobodeniuk@fluendo.com>

	* tests/check/elements/d3d11videosink.c:
	* tests/check/meson.build:
	  d3d11videosink: add gstcheck test for win32 window
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4417>

2023-04-02 00:29:24 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11window_win32.cpp:
	  d3d11videosink: Enhancement for initial window size decision
