=== release 1.22.12 ===

2024-04-29 20:09:52 +0100  Tim-Philipp Müller <tim@centricular.com>

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

2024-04-16 22:29:15 +1000  Jan Schmidt <jan@centricular.com>

	* gst/dvbsubenc/gstdvbsubenc.c:
	  dvbsubenc: fixed some memory leaks and a crash
	  Fix leaks of internal GstBuffers, and a crash if subtitle segments end
	  up empty.
	  Based on a patch by Jurijs Satcs <jurijs.satcs@veset.tv>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6673>

2024-04-02 19:00:35 +0200  eri <eri@inventati.org>

	* gst-libs/gst/play/gstplay.c:
	  play: Update `video_snapshot` to support playbin3
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6563>

2024-03-28 21:59:02 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* sys/d3d11/gstd3d11videosink.cpp:
	  d3d11videosink: disconnect signals before releasing the window
	  It might happen that the key event arrives when the d3d11videosink
	  is stopping. In case of GstD3D11WindowWin32 it can raise a
	  navigation event even when the sink is already freed, because the
	  window object's refcount may reach 0 in the window thread. In
	  other words sometimes the GstD3D11WindowWin32 lives few ms more
	  then the GstD3D11VideoSink, because it's freed asynchronously.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6493>

2024-03-27 13:53:21 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codecalphadecodebin.c:
	  v4l2codecs: alphadecoder: Explicitly pass 64 bit integers as such through varargs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6470>

2024-03-27 16:17:44 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/codecalpha/gstalphadecodebin.c:
	  alphadecodebin: Explicitly pass 64 bit integers as such through varargs
	  Maybe fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3422
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6470>

2024-03-20 00:07:00 +0100  Tim-Philipp Müller <tim@centricular.com>

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

=== release 1.22.11 ===

2024-03-19 22:01:08 +0100  Tim-Philipp Müller <tim@centricular.com>

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

2024-03-16 19:32:19 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst/dvdspu/gstspu-pgs.c:
	  dvdspu: avoid null dereference
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6390>

2023-03-31 17:43:16 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/meson.build:
	* gst-libs/gst/vulkan/wayland/gstvkdisplay_wayland.c:
	* gst-libs/gst/vulkan/wayland/gstvkdisplay_wayland_private.h:
	* gst-libs/gst/vulkan/wayland/gstvkwindow_wayland.c:
	* gst-libs/gst/vulkan/wayland/gstvkwindow_wayland.h:
	  vulkan/wayland: use xdg_wm_base when available
	  wl_shell is deprecated and has been removed from some compositors.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6396>

2023-03-31 16:45:47 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/wayland/gstvkdisplay_wayland.c:
	  vulkan/wayland: provide a dummy registry global_remove function
	  Even if we don't care about any global objects being removed, wayland
	  will still error if globals are removed without a corresponding listener
	  set up for them.  e.g. wl_output hotplugging
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6396>

2023-03-31 16:33:58 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/wayland/gstvkwindow_wayland.c:
	  vulkan/wayland: rename debug category to mention wayland instead of XCB
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6396>

2024-03-14 20:25:52 +0900  Seungha Yang <seungha@centricular.com>

	* sys/asio/gstasiosink.cpp:
	* sys/asio/gstasiosrc.cpp:
	  asio: Fix {input,output}-channels property handling
	  Fixing regression introduced by the commit 06dc931b52fbd858640506616f5a1a928792b27c
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6371>

2024-03-14 00:49:45 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	  d3d11device: Fix adapter LUID comparison in wrapped device mode
	  Fix integer type mismatching
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3382
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6367>

2024-02-21 21:46:49 +0900  Seungha Yang <seungha@centricular.com>

	* sys/wasapi2/gstwasapi2ringbuffer.cpp:
	  wasapi2: Fix task memory leak
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6218>

2024-02-21 21:50:20 +0900  Seungha Yang <seungha@centricular.com>

	* sys/wasapi/gstwasapiutil.c:
	  wasapi: Fix alloc/free function mismatch
	  ... and fix leak in wasapi device provider
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3326
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6218>

2024-02-20 20:38:55 +0900  Seungha Yang <seungha@centricular.com>

	* sys/asio/gstasioobject.cpp:
	* sys/asio/gstasiosink.cpp:
	* sys/asio/gstasiosrc.cpp:
	  asiosink: Fix channel selection
	  Fixing copy paste mistake
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3321
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6217>

2024-02-16 18:08:36 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* gst/onvif/gstrtponviftimestamp.c:
	* gst/onvif/gstrtponviftimestamp.h:
	  rtponviftimestamp: make sure to set E and T bits on last buffer of lists
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6294>

2024-02-28 09:30:33 +1100  Jan Schmidt <jan@centricular.com>

	* gst/onvif/gstrtponviftimestamp.c:
	  rtponviftimestamp: Use gst_segment_to_stream_time_full()
	  In the situation where playback starts from a keyframe before
	  the target playback segment, then the first buffers will be
	  outside the configured segment and gst_segment_to_stream_time()
	  will return GST_CLOCK_TIME_NONE unconditionally.
	  If drop-out-of-segment is false, the RTP buffers will not be
	  dropped, but will be sent witout ONVIF extension timestamps
	  and given GST_CLOCK_TIME_NONE timestamps on the receiver.
	  Instead, use gst_segment_to_stream_time_full() to extrapolate
	  stream time outside the segment so that such buffers still
	  get assigned their correct timestamps on the receiver.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6287>

2024-03-01 21:00:33 +1100  Jan Schmidt <jan@centricular.com>

	* gst/dvbsubenc/gstdvbsubenc-util.c:
	  dvbsubenc: Fix bottom field size calculation
	  Don't accidentally include the stuffing byte (if present)
	  into the bottom field size. It should only be included in the
	  total segment length.
	  Fixes problems with FFmpeg not rendering the subtitles
	  with a stuffing byte, giving a "Invalid object location!" error.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6281>

2023-03-20 11:20:30 +0100  Edward Hervey <edward@centricular.com>

	* ext/openjpeg/gstopenjpegdec.c:
	* ext/openjpeg/gstopenjpegdec.h:
	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
	  plugins: Fix wrong enum usage
	  gcc 13 now detects conflicting enum usages. Fix the various cases where it was wrong
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6234>

2024-02-22 15:41:16 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* sys/d3d11/gstd3d11window_win32.cpp:
	  d3d11window_win32: fix crash on RC unprepare() vs window_proc()
	  Unprepare method posts WM_GST_D3D11_DESTROY_INTERNAL_WINDOW
	  command to the window queue, and from that moment considers
	  internal_hwnd to be released, and so it sets it to null.
	  The problem is that it's possible that right at that moment
	  the window thread might be already processing some other
	  command, or just another command might be already in the queue.
	  On practice we met a crash when WM_PAINT got processed in between
	  (unprepare already finished and WM_GST_D3D11_DESTROY_INTERNAL_WINDOW
	  was not handled yet)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6230>

2024-02-19 20:57:26 +0900  Seungha Yang <seungha@centricular.com>

	* sys/wasapi2/gstwasapi2ringbuffer.cpp:
	  wasapi2: Respect ringbuffer buffer/latency time
	  Decide buffer size based on configured buffer/latency time
	  if low-latency is disabled, so that ringbuffer can buffer more
	  than minimum required size.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2870
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6215>

2024-02-22 22:11:36 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvabasedec.c:
	  vabasedec: disable derived images for i965 driver
	  Since it has a very poor performance at reading derived images, which is the
	  most common use case for decoders.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6204>

2023-11-30 14:47:06 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstvaallocator.c:
	  vaallocator: remove runtime mapping selection
	  The original idea was to select the type of mapping (either using derive images
	  or downloading the image) in runtime, under the assumption that both methods
	  shared the same memory layout (offsets and strides), because a single
	  GstVideoMeta is assigned by the buffer pool at allocation time. Nonetheless, in
	  recent hardware this assumption is invalid, raising memory access errors.
	  This patch removes completely the mapping type selection at runtime, using the
	  method selected when the allocator is configured, synced with the bufferpool
	  allocation.
	  This problem was fixed originally for iHD driver only. But now it makes sense to
	  remove all of it.
	  Original-patch-by: Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6204>

2024-02-17 00:11:32 +0900  Seungha Yang <seungha@centricular.com>

	* sys/wasapi2/gstwasapi2ringbuffer.cpp:
	  wasapi2: Fix choppy rendering
	  This reverts questionable commit 009bc15f3397252e9e3954ae4af15ffcdbdeac69
	  which looks completely wrong.
	  The GstWasapi2RingBuffer:buffer_size variable is used to
	  calculate available buffer size we can write
	  (i.e., available size = buffer_size - padding_size).
	  But the commit makes the size to be exactly same as buffer period.
	  Then, it can confuse this element as if the endpoint buffer is full on
	  I/O event callback (if padding size is equal to buffer period)
	  but it's not true.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2870
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6140>

2024-02-14 22:11:51 +0100  Robert Mader <robert.mader@collabora.com>

	* sys/v4l2codecs/gstv4l2codech264dec.c:
	  v4l2codecs: h264: Fix a memory leak on renegotiation
	  We only use this anchor when streaming, in which case output_state is
	  set and needs to get unreffed.
	  This is in line with how it is handled for all other codecs.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6134>

2024-02-13 16:27:38 +0000  Tim-Philipp Müller <tim@centricular.com>

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

=== release 1.22.10 ===

2024-02-13 14:39:08 +0000  Tim-Philipp Müller <tim@centricular.com>

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

2024-01-19 14:35:05 +0100  Marvin Schmidt <marv@exherbo.org>

	* ext/wpe/gstwpesrcbin.cpp:
	* ext/wpe/gstwpethreadedview.cpp:
	* ext/wpe/gstwpethreadedview.h:
	* ext/wpe/gstwpevideosrc.cpp:
	* ext/wpe/meson.build:
	  wpe: Rename WPEView to GstWPEThreadedView
	  WebKit commit b12e7ed2ad3a ("[WPE] Upstream the new WPE platform API
	  https://bugs.webkit.org/show_bug.cgi?id=265286")[1] added a `WPEView` typedef
	  which clashes with our `WPEView` class.
	  Rename the `WPEView` class to `GstWPEThreadedView` to avoid the collision.
	  Also prefix the `WPEContextThread` class with `Gst` and rename the
	  source files to reflect the new class name and use lowercase while at it
	  for consistency
	  [1] https://github.com/WebKit/WebKit/commit/b12e7ed2ad3a47ab322507ebac214225f2298acc
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6096>

2024-02-09 10:50:39 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/sdp/gstsdpdemux.c:
	  sdpdemux: Add SDP message (aka session) attributes to the caps too
	  They apply to all medias, and if overridden by the specific media then
	  they would also be overridden just below in the created caps.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6086>

2024-02-08 15:50:43 +0100  Edward Hervey <edward@centricular.com>

	* ext/musepack/gstmusepackdec.c:
	  musepack: Prefer using FFmpeg musepack decoder/demuxer
	  * Bump the rank of the musepack v7/v8 FFmpeg demuxers to SECONDARY
	  * Bump the rank of the musepack v7/v8 FFmpeg audio decoders to SECONDARY
	  * Demote the rank of the musepackdec element to MARGINAL
	  This is for two reasons:
	  * The musepack library is no longer maintained, whereas the FFmpeg
	  implementation can/will receive fixes
	  * The `musepackdec` implementation was a all-in-one "parsing and decoding" blob
	  which doesn't play nicely with decodebin3 and others
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3033
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6085>

2024-02-02 00:18:56 +0100  Heiko Becker <mail@heiko-becker.de>

	* ext/neon/meson.build:
	  neon: Allow building against neon 0.33.x
	  From its NEWS file:
	  "API and ABI backwards-compatible with 0.27.x and later"
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6049>

2024-01-31 15:22:37 +0000  Philippe Normand <philn@igalia.com>

	* ext/srtp/gstsrtpenc.c:
	  srtpenc: Fix potential leak
	  When attempting to process a buffer after the rtcp session was closed the output
	  buffer memory would remain referenced.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6048>

2024-01-25 22:25:19 +1100  Jan Schmidt <jan@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	* ext/webrtc/utils.c:
	* ext/webrtc/utils.h:
	  webrtcbin: Improve SDP intersection for Opus
	  Remove optional sprop-stereo and sprop-maxcapture fields from Opus
	  remote offer caps before intersecting with local codec preferences.
	  According to https://datatracker.ietf.org/doc/html/rfc7587#section-7.1
	  those fields are sender-only informative, and don't affect
	  interoperability.
	  Fixes cases where the webrtc media will end up receive-only if the
	  local side wants to send stereo but the remote is sending mono, or
	  vice versa.
	  There may be other fields in other codecs, so the implementation
	  anticipates needing to add further fields and codecs in the future.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5999>

2024-01-25 00:18:12 +0000  Tim-Philipp Müller <tim@centricular.com>

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

=== release 1.22.9 ===

2024-01-24 18:21:13 +0000  Tim-Philipp Müller <tim@centricular.com>

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

2024-01-24 12:36:48 +0000  Philippe Normand <philn@igalia.com>

	* gst/videoparsers/gstvp9parse.c:
	  vp9parse: Fix critical warning during caps negotiation
	  `gst_pad_get_allowed_caps()` returns a non-writable caps, so we need to make it
	  writable, otherwise the `gst_caps_remove_structure()` call below might trigger a
	  critical warning.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5976>

2024-01-10 03:33:59 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecparsers/gstav1parser.c:
	  av1parser: Fix potential stack overflow during tile list parsing
	  The tile_count_minus_1 must be less than or equal to 511 as specified
	  in spec "6.11.1 General tile list OBU semantics"
	  Fixes #3214 / CVE-2024-0444 / ZDI-CAN-22873
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5971>

2023-12-06 21:25:44 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth264decoder.c:
	  h264decoder: Handle malformed avc/avc3 packets
	  Packetized stream format should not contain start-code prefix
	  in bitstream and each [nal-length-byte, nal-byte] unit should consist of
	  single nal unit. But there are malformed streams in the world.
	  Use newly added gst_h264_parser_identify_and_split_nalu_avc()
	  method to identify each nal unit.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3219
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5934>

2023-12-06 21:23:08 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecparsers/gsth264parser.c:
	* gst-libs/gst/codecparsers/gsth264parser.h:
	* tests/check/libs/h264parser.c:
	  h264parser: Add gst_h264_parser_identify_and_split_nalu_avc() method
	  Equivalent to _split_nalu_hevc() method in h265parser. This method
	  will scan start-code prefix and split into individual NAL units
	  if start-code prefix is detected
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5934>

2023-12-09 16:26:22 +0100  Marek Vasut <marex@denx.de>

	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	  mpeg2decoder: Fix multiplication wraparound
	  The GstMpeg2Picture system_frame_number is guint32, constant 1000 is guint32,
	  GstV4l2CodecMpeg2Dec *_ref_ts multiplication result is u64 .
	  ```
	  u64 result = (u32)((u32)system_frame_number * (u32)1000);
	  ```
	  behaves the same as
	  ```
	  u64 result = (u32)(((u32)system_frame_number * (u32)1000) & 0xffffffff);
	  ```
	  so in case `system_frame_number > 4294967295 / 1000`, the `result` will
	  wrap around. Since the `result` is really used as a cookie used to look
	  up V4L2 buffers related to the currently decoded frame, this wraparound
	  leads to visible corruption during MPEG2 decoding. At 30 FPS this occurs
	  after cca. 40 hours of playback .
	  Fix this by changing the 1000 from u32 to u64, i.e.:
	  ```
	  u64 result = (u64)((u32)system_frame_number * (u64)1000ULL);
	  ```
	  this way, the wraparound is prevented and the correct cookie is used.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5850>

2023-12-09 16:08:31 +0100  Marek Vasut <marex@denx.de>

	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	  vp9decoder: Fix multiplication wraparound
	  The GstVp9Picture system_frame_number is guint32, constant 1000 is guint32,
	  GstV4l2CodecVp9Dec v4l2_vp9_frame.*_frame_ts multiplication result is u64 .
	  ```
	  u64 result = (u32)((u32)system_frame_number * (u32)1000);
	  ```
	  behaves the same as
	  ```
	  u64 result = (u32)(((u32)system_frame_number * (u32)1000) & 0xffffffff);
	  ```
	  so in case `system_frame_number > 4294967295 / 1000`, the `result` will
	  wrap around. Since the `result` is really used as a cookie used to look
	  up V4L2 buffers related to the currently decoded frame, this wraparound
	  leads to visible corruption during VP9 decoding. At 30 FPS this occurs
	  after cca. 40 hours of playback .
	  Fix this by changing the 1000 from u32 to u64, i.e.:
	  ```
	  u64 result = (u64)((u32)system_frame_number * (u64)1000ULL);
	  ```
	  this way, the wraparound is prevented and the correct cookie is used.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5850>

2023-12-09 16:08:31 +0100  Marek Vasut <marex@denx.de>

	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	  vp8decoder: Fix multiplication wraparound
	  The GstVp8Picture system_frame_number is guint32, constant 1000 is guint32,
	  GstV4l2CodecVp8Dec v4l2_vp8_frame.*_frame_ts multiplication result is u64 .
	  ```
	  u64 result = (u32)((u32)system_frame_number * (u32)1000);
	  ```
	  behaves the same as
	  ```
	  u64 result = (u32)(((u32)system_frame_number * (u32)1000) & 0xffffffff);
	  ```
	  so in case `system_frame_number > 4294967295 / 1000`, the `result` will
	  wrap around. Since the `result` is really used as a cookie used to look
	  up V4L2 buffers related to the currently decoded frame, this wraparound
	  leads to visible corruption during VP8 decoding. At 30 FPS this occurs
	  after cca. 40 hours of playback .
	  Fix this by changing the 1000 from u32 to u64, i.e.:
	  ```
	  u64 result = (u64)((u32)system_frame_number * (u64)1000ULL);
	  ```
	  this way, the wraparound is prevented and the correct cookie is used.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5850>

2023-12-11 15:26:11 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstvaallocator.c:
	  vaallocator: only i965 can switch derived/non-derived at mapping
	  Since newer drivers change the strides and offset, and they have to be defined
	  at allocation time because those parameters are stored in the GstVideoMeta in
	  the buffer pool.
	  Thinks patch is based on commit 6b1fba14 and commit 809a984b
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5778>

2023-07-13 16:56:56 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* gst-libs/gst/va/gstvaallocator.c:
	  vaallocator: let pool alloc_info be consitent with the test order in gst_va_allocator_try
	  In gst_va_allocator_try, the first try is to use derive_image, if it
	  succeeds, we should use info from derived image to create bufferpool.
	  If derive fails, then try create_image and give created image info
	  to the pool.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5778>

2023-12-04 20:05:48 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstvaallocator.c:
	  vaallocator: force non-derived for old mesa drivers
	  Mesa <23.3 can't map derived images for P010 format. This patch forces
	  non-derived if this is the case.
	  See: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24381
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5778>

2023-11-30 16:52:02 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/vasurfaceimage.c:
	  va: check surface status before get derive image
	  According with documentation the surface has to be in ready state before getting
	  it derived image. This patch adds that check.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5778>

2023-11-30 12:00:27 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstvaallocator.c:
	  vaallocator: don't fail if drm fourcc are different
	  When exporting a DMABuf from a VASurface the user might tell that the surface
	  was allocated with certain fourcc, but the returned VADRMPRIMESurfaceDescriptor
	  migth tell a different fourcc, as in the case or radeonsi driver, for duplicated
	  fourcc, such as YUY2 and YUYV.
	  Originally it was supposed to be a failed exportation. This patch relax this
	  validation by allowing different fourcc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5778>

2023-11-18 18:51:04 +0100  Robert Mader <robert.mader@collabora.com>

	* gst/camerabin2/gstcamerabin2.c:
	  camerabin: Correctly relink viewfinderbin_queue
	  This reverts a part of de92a6c7f2. Unlike `image_filter` and
	  `video_filter`, `viewfinder_filter` does not get linked to `src` but
	  `viewfinderbin_queue`. Thus the fix in the mentioned commit does not
	  apply for it and should be reverted.
	  This was not spotted earlier as only the other filters are used in
	  the project that uncovered the issue.
	  Fixes: de92a6c7f2 ("camerabin: Fix source updates with user filters")
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5842>

2023-12-18 17:01:36 +0000  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/play/gstplay.c:
	  play: Fix error details parsing
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5831>

2023-12-18 13:52:12 +0000  Tim-Philipp Müller <tim@centricular.com>

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

=== release 1.22.8 ===

2023-12-18 12:09:37 +0000  Tim-Philipp Müller <tim@centricular.com>

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

2023-11-23 20:24:42 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecparsers/gstav1parser.h:
	* gst/videoparsers/gstav1parse.c:
	  av1parser: Fix array sizes in scalability structure
	  Since the AV1 specification is not explicitly mentioning about
	  the array size bounds, array sizes in scalability structure
	  should be defined as possible maximum sizes that can have.
	  Also, this commit removes GST_AV1_MAX_SPATIAL_LAYERS define from
	  public header which is API break but the define is misleading
	  and this patch is introducing ABI break already
	  ZDI-CAN-22300
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5824>

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

	* sys/nvcodec/gstnvdec.c:
	  nvdec: Fix division by zero when calculating buffer duration
	  Don't try to calculate buffer duration from variable framerate
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5774>

2023-11-08 09:53:17 +0000  HuQian <qian.hu@mediatek.com>

	* gst-libs/gst/wayland/gstwlvideoformat.c:
	  waylandsink: fix incorrect RGB and BGR mapping about GST DRM and WL_SHM
	  This commit corrects the mapping relationship between RGB and BGR in GST and DRM.
	  The previous mapping was incorrect, causing potential color mismatches in the output.
	  The changes are as follows:
	  {WL_SHM_FORMAT_RGB888, DRM_FORMAT_RGB888, GST_VIDEO_FORMAT_BGR},
	  {WL_SHM_FORMAT_BGR888, DRM_FORMAT_BGR888, GST_VIDEO_FORMAT_RGB},
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5792>

2023-12-10 04:26:59 +0100  Stefan Brüns <stefan.bruens@rwth-aachen.de>

	* ext/ladspa/meson.build:
	* meson_options.txt:
	  ladspa: Make RDF parsing truely optional
	  If the ladspa plugin is enabled explicitly or via auto-features, the
	  liblrdf dependency can not be disabled.
	  As the RDF parsing currently provides hardly any features, the possibility
	  to disable it fairly useful.
	  Fixes: #3168
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5802>

2023-07-28 00:39:46 +0900  Seungha Yang <seungha@centricular.com>

	* gst/onvif/gstrtponviftimestamp.c:
	  rtponviftimestamp: Fix drop-out-of-segment=false mode
	  Fixing unexpected buffer dropping and flow error in case that:
	  * use-reference-timestamps=false
	  * drop-out-of-segment=false
	  * Calculated utc offset is not valid because buffer is out-of-segment
	  The above case should be considered as a valid data flow without returning
	  errors.
	  Fixing regression introduced by
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1683
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5788>

2023-12-05 09:28:25 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* meson.build:
	  meson: update PACKAGE_BUGREPORT
	  Some were still using pre-monorepo links.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5786>

2023-07-17 16:21:47 +0000  Rabindra Harlalka <13387-rabindra-harlalka@users.noreply.gitlab.freedesktop.org>

	* ext/aes/gstaesenc.c:
	  aesenc: Fix IV length addition to output buffer length
	  Add length of IV to output buffer length only for the first buffer.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5785>

2023-12-06 12:01:36 +0100  Alessandro Bono <alessandro.bono369@gmail.com>

	* ext/dtls/gstdtlscertificate.c:
	  gstdtlscertificate: Define _WINSOCKAPI_ before including windows.h
	  This avoid a build failure when compiling against OpenSSL 3.2.0. The
	  problem is when windows.h is included before WinSock2.h. Because
	  windows.h includes winsock.h[1]. Defining _WINSOCKAPI_ stops windows.h
	  including winsock.h.
	  Error:
	  ```
	  [748/1041] Compiling C object ext/dtls/gstdtls.dll.p/gstdtlscertificate.c.obj
	  FAILED: ext/dtls/gstdtls.dll.p/gstdtlscertificate.c.obj
	  [...]
	  Windows Kits\10\include\10.0.17763.0\shared\ws2def.h(235): error C2011: 'sockaddr': 'struct' type redefinition
	  Windows Kits\10\include\10.0.17763.0\um\winsock.h(482): note: see declaration of 'sockaddr'
	  ```
	  [1] https://stackoverflow.com/a/1372836
	  Closes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3167
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5783>

2023-12-07 15:36:26 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* sys/d3d11/meson.build:
	  d3d11: fix building with address sanitizer
	  When building with address sanitizer it gives next error:
	  "gstd3d11window_corewindow.cpp : fatal error C1128: number of sections
	  exceeded object file format limit: compile with /bigobj"
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5782>

2023-11-21 14:26:54 +0100  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* gst-libs/gst/codecparsers/gstav1parser.c:
	  codecparsers: av1: Clip max tile rows and cols values
	  Clip tile rows and cols to 64 as describe in AV1 specification
	  to avoid writing outside array range but preserve sb_cols
	  and sb_rows value which are used to futher computation.
	  Fixes ZDI-CAN-22226 / CVE-2023-44429
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5734>

2023-11-21 14:04:49 +0100  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* gst-libs/gst/codecparsers/gstav1parser.c:
	  Revert "codecparsers: av1: Clip max tile rows and cols values"
	  This reverts commit b76a801f57353b893c344025cac56413140fca6d.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5734>

2023-11-21 01:41:16 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth264decoder.c:
	  h264decoder: Fix GstVideoCodecFrame leak
	  If current buffer has no slice data, frame should be released.
	  Otherwise frames will stay in decoder baseclass forever.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5733>

2023-11-21 21:14:12 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvh264dec.cpp:
	* sys/qsv/gstqsvh265dec.cpp:
	  qsvdecoder: Fix stream format detection
	  Fixing typo
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5711>

2023-10-22 11:06:27 +0200  Robert Mader <robert.mader@collabora.com>

	* gst/camerabin2/gstcamerabin2.c:
	  camerabin: Fix source updates with user filters
	  Take the case into account when user filters have been set before the
	  source gets updated.
	  Note that the further linking of the filters, if present, happens below
	  in the `gst_camera_bin_check_and_replace_filter()` calls.
	  The audio filter is still affected by the same issue but left out for
	  now.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5682>

2023-11-15 22:41:47 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11dxgicapture.cpp:
	* sys/d3d11/gstd3d11screencapture.cpp:
	* sys/d3d11/gstd3d11screencapture.h:
	* sys/d3d11/gstd3d11screencapturedevice.cpp:
	* sys/d3d11/gstd3d11screencapturesrc.cpp:
	* sys/d3d11/gstd3d11winrtcapture.cpp:
	  d3d11screencapturesrc: Fix wrong color with HDR enabled
	  Even if IDXGIOutput6 says current display colorspace is HDR,
	  captured texture via IDXGIOutputDuplication::AcquireNextFrame()
	  is converted frame by OS unless we use IDXGIOutput5::DuplicateOutput1()
	  with DXGI_FORMAT_R16G16B16A16_FLOAT format, in order for captured
	  frame to be scRGB color space. Then application should perform
	  tonemap operation based on reported display white level, color primaries, etc.
	  Since we don't have any tonemapping implementation, ignores colorimetry
	  reported by IDXGIOutput6.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3128
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5679>

2023-11-15 19:13:08 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/player/gstplayer.c:
	  player: Without dispatcher emit signals directly instead of via the default main context
	  This is how it was documented and how it worked before the port to GstPlay.
	  Without this, applications expecting signals to be emitted directly
	  without anything running the main context will simply not receive any
	  signals.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5673>

2022-08-08 14:46:16 -0400  Olivier Crête <olivier.crete@collabora.com>

	* ext/webrtc/webrtcsdp.c:
	  webrtcsdp: Don't require fingerprint in inactive media
	  Inactive m-lines don't need a fingerprint as they may not
	  have a connection.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5663>

2021-10-12 11:29:21 -0400  Olivier Crête <olivier.crete@collabora.com>

	* ext/webrtc/webrtcsdp.c:
	  webrtcsdp: Remove comparison between media and session fingerprint
	  The code seems to validate that the media-level fingerprint matches
	  the fingerprint of the previous media or of the whole session. There
	  is no such requirement in any RFC I found. The session-session one
	  is just meant to act as a fallback when there is no media-level
	  fingerprint.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5663>

2023-11-11 14:10:37 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/play/gstplay-signal-adapter.c:
	  play: Automatically flush the bus when disposing the signal adapter
	  See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3107
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5653>

2023-11-13 14:57:09 +0000  Tim-Philipp Müller <tim@centricular.com>

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

=== release 1.22.7 ===

2023-11-13 11:04:22 +0000  Tim-Philipp Müller <tim@centricular.com>

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

2023-10-20 00:09:57 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mxf/mxfdemux.c:
	* gst/mxf/mxfdemux.h:
	  mxfdemux: Store GstMXFDemuxEssenceTrack in their own fixed allocation
	  Previously they were stored inline inside a GArray, but as references to
	  the tracks were stored in various other places although the array could
	  still be updated (and reallocated!), this could lead to dangling
	  references in various places.
	  Instead now store them in a GPtrArray in their own allocation so each
	  track's memory position stays fixed.
	  Fixes ZDI-CAN-22299
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3055
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5638>

2023-10-04 11:14:38 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* gst-libs/gst/codecparsers/gstav1parser.c:
	  codecparsers: av1: Clip max tile rows and cols values
	  Clip tile rows and cols to 64 as describe in AV1 specification.
	  Fixes ZDI-CAN-22226 / CVE-2023-44429
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3015
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5637>

2023-10-06 13:49:15 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* gst/audiobuffersplit/gstaudiobuffersplit.c:
	  audiobuffersplit: disable max-silence-time if set to 0
	  According to the property documentation max-silence-time is supposed to be
	  disabled when set to 0 but it was not.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5632>

2023-05-26 17:38:13 +0000  Balló György <ballogyor@gmail.com>

	* gst-libs/gst/wayland/meson.build:
	  gstwayland: Don't depend on wayland-protocols
	  wayland-protocols are needed to build gstwayland, but not for dependent projects.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5618>

2023-11-04 19:36:06 +0900  Seungha Yang <seungha@centricular.com>

	* sys/wasapi2/gstwasapi2client.cpp:
	* sys/wasapi2/gstwasapi2client.h:
	* sys/wasapi2/gstwasapi2device.c:
	  wasapi2device: Ignore activation failed device
	  Enumerates all devices even if activation error is detected
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3090
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5609>

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

	* docs/plugins/gst_plugins_cache.json:
	* ext/libde265/libde265-dec.c:
	  libde265dec: Only decode the main profile
	  The src caps of the libde265 is now fixed to I420, and so if the
	  stream is other format, such as 4:4:4 or 10 bits format, the pipeline
	  will crash because the dowstream element accesses the video buffer as
	  I420 format.
	  We now restrain the input caps to "main" profile, which only contains
	  4:2:0 8 bits stream.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5596>

2023-11-04 03:16:47 +0100  Marek Vasut <marex@denx.de>

	* sys/v4l2codecs/gstv4l2decoder.c:
	  v4l2codecs: Avoid QBUF/DQBUF struct timeval .tv_usec wrap-around at frame 1000000
	  When decoding stream using hardware V4L2 decoder element, in any of the
	  currently supported formats, the decoding will fail once frame number
	  1000000 is reached. The reported error clearly indicates a wrap-around
	  occured, instead of receiving decoded frame 1000000, frame 0 is received
	  from the hardware V4L2 decoder driver.
	  The problem is actually not in the driver itself, but rather in gstreamer,
	  which uses `struct v4l2_buffer` member `.timestamp` in a special way. The
	  timestamp of buffers with encoded data added to the SINK (input) queue of
	  the driver is copied by the driver into matching buffers with decoded data
	  added to the SOURCE (output) queue of the driver. In fact, the timestamp
	  is not a timestamp at all, but rather in this special case, only part of
	  it is used as an incrementing frame counter.
	  The `.timestamp` is of type `struct timeval`, which is defined in
	  `sys/time.h` [1]. Only the `tv_usec` member of this structure is used
	  for the incrementing frame counter. However, suseconds_t tv_usec [2]
	  may be limited to range [-1, 1000000]:
	  "
	  [XSI] The type suseconds_t shall be a signed integer type capable of
	  storing values at least in the range [-1, 1000000].
	  "
	  Therefore, once frame 1000000 is reached, a rollover occurs and decoding
	  fails.
	  Fix this by using both `struct timeval` members, `.tv_sec` and `.tv_usec`
	  with matching modular arithmetic, this way the failure would occur again
	  just short of 2^84 frames, which should be plenty.
	  [1] https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_time.h.html
	  [2] https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_types.h.html
	  A test case using stateless hardware h264 decoder, the WARN/ERROR output
	  in gstreamer log indicates a failure occurred. With this change, that
	  error no longer occurs and the WARN/ERROR are not present:
	  ```
	  pc$ gst-launch-1.0 videotestsrc num-buffers=1001001 pattern=6 ! \
	  video/x-raw,width=16,height=16,format=I420 ! \
	  x264enc ! filesink location=/tmp/test.h264
	  dut$ GST_DEBUG="*:3" gst-launch-1.0 filesrc location=/tmp/test.h264 ! \
	  h264parse ! v4l2slh264dec ! fakesink
	  ...
	  0:03:51.393677606 12111     0x370df400 WARN      \
	  v4l2codecs-decoder gstv4l2decoder.c:1157:gst_v4l2_request_set_done:<v4l2decoder2> \
	  Requested frame 1000000, but driver returned frame 0.
	  0:03:51.394140597 12111     0x370df400 WARN      \
	  v4l2codecs-decoder gstv4l2decoder.c:1157:gst_v4l2_request_set_done:<v4l2decoder2> \
	  Requested frame 1000001, but driver returned frame 1.
	  0:03:51.394425216 12111     0x370df400 WARN      \
	  v4l2codecs-decoder gstv4l2decoder.c:1157:gst_v4l2_request_set_done:<v4l2decoder2> \
	  Requested frame 1000002, but driver returned frame 2.
	  0:03:51.394665211 12111     0x370df400 WARN      \
	  v4l2codecs-decoder gstv4l2decoder.c:1157:gst_v4l2_request_set_done:<v4l2decoder2> \
	  Requested frame 1000003, but driver returned frame 3.
	  0:03:51.394785833 12111     0x370df400 WARN      \
	  v4l2codecs-h264dec gstv4l2codech264dec.c:1059:gst_v4l2_codec_h264_dec_output_picture:<v4l2slh264dec0> \
	  error: Failed to decode frame 1000000
	  ERROR: from element /GstPipeline:pipeline0/v4l2slh264dec:v4l2slh264dec0: Failed to decode frame 1000000
	  ```
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5603>

2023-10-31 17:59:32 +0100  Kalev Lember <klember@redhat.com>

	* ext/openh264/gstopenh264dec.cpp:
	* ext/openh264/gstopenh264enc.cpp:
	  openh264: Fail gracefully if openh264 encoder/decoder creation fails
	  This can happen with the dummy "noopenh264" library that the freedesktop
	  flatpak runtime ships, and Fedora is planning on shipping as well. In
	  both cases the dummy implementation gets replaced with the actual
	  openh264 library that's downloaded directly from Cisco, but just to be
	  on safe side, this patch makes it careful to check the return values to
	  avoid crashing if the underlying library hasn't been swapped out yet.
	  The patch is taken from freedesktop-sdk and was originally written by
	  Valentin David <valentin.david@codethink.co.uk>.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5586>

2023-10-25 21:37:24 +0900  Seungha Yang <seungha@centricular.com>

	* sys/wasapi2/gstwasapi2ringbuffer.cpp:
	  wasapi2: Don't use global volume control object
	  ISimpleAudioVolume controls volume of corresponding audio session
	  and there would be only single input/output audio session
	  in case of share-mode, which means that it controls audio volume of the
	  process. Instead, use IAudioStreamVolume interface which controls
	  volume of the stream.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5579>

2023-10-29 22:42:52 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11window_win32.cpp:
	  d3d11videosink: Fix window switching in case of fullscreen mode
	  Other Windows applications allow window switching even when
	  an application window is in fullscreen mode. Also fixing
	  regression introduced in 15248d8b84db9e79e6d4587b212b12ca82fc4a6b
	  which makes restored window is always located at topmost
	  since we do not call SetWindowPos() anymore when restoring
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5578>

2023-10-28 01:23:36 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11screencapturesrc.cpp:
	  d3d11screencapturesrc: Fix mouse cursor blending
	  Ignore alpha component of source (mouse cursor texture)
	  when blending alpha channel, otherwise the background area of source
	  (which has zeros) will be written to render target. Then it will result
	  in black rectangle if output texture is converted to premultiplied alpha
	  texture
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5577>

2023-10-25 23:19:51 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfvideoencoder.cpp:
	  mfvideoencoder: Fix typo in template caps
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3058
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5556>

2023-10-10 10:39:55 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/mpegtsmux/gstatscmux.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.h:
	  tsmux: Fix default get_es_descrs_func
	  `tsmux_stream_default_get_es_descrs` is missing the `user_data`
	  parameter and shouldn't be cast to `TsMuxStreamGetESDescriptorsFunc`.
	  Prefer not casting at all to make sure we don't miss such an issue.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5516>

2023-10-10 10:22:44 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/mpegtsmux/gstatscmux.c:
	* gst/mpegtsmux/tsmux/tsmux.c:
	* gst/mpegtsmux/tsmux/tsmux.h:
	  tsmux: Fix default new_stream_func
	  `tsmux_stream_new` is missing the `user_data` parameter and shouldn't be
	  cast to `TsMuxNewStreamFunc`.
	  Prefer not casting at all to make sure we don't miss such an issue.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5516>

2023-10-10 10:12:44 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/mpegtsmux/tsmux/tsmuxstream.h:
	  tsmux: Add missing include
	  We need `GstMpegtsPMTStream` here.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5516>

2023-10-17 00:57:56 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/mpegtsmux/tsmux/tsmux.c:
	  tsmux: Simplify tsmux_section_write_packet
	  - Don't try to make the parameters match `GHFunc`. Use a dedicated
	  callback for `g_hash_table_foreach`.
	  - Don't try to be clever with buffer memories. We're allocating a full
	  packet anyway, might as well memcpy and save on a lot of complexity.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5516>

2023-10-17 00:54:38 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/mpegtsmux/tsmux/tsmux.c:
	  tsmux: tsmux_packet_out should always consume its buffer
	  Consuming the buffer only when successful is an antipattern and easily
	  leads to leaks.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5516>

2023-10-16 23:54:20 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/mpegtsmux/tsmux/tsmux.c:
	  tsmux: Don't memset in pad_stream when writing a PCR packet
	  tsmux_write_ts_header will write a stuffing adaptation field, so we
	  don't need to prefill the buffer.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5516>

2023-10-16 23:52:48 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/mpegtsmux/tsmux/tsmux.c:
	  tsmux: Move out parameters of tsmux_write_ts_header
	  Move them to the end of the parameter list and also allow passing NULLs
	  to ignore the payload information, but assert that the payload length is
	  zero in this case.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5516>

2023-10-16 23:50:16 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/mpegtsmux/tsmux/tsmux.c:
	  tsmux: Fix two more uses of gst_buffer_map
	  The buffers should be used for writing.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5516>

2023-10-16 15:41:48 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/mpegtsmux/tsmux/tsmux.c:
	  tsmux: Fix error handling in pad_stream
	  Don't leak the map or the buffer if we encounter an error.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5513>

2023-10-16 15:31:04 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/mpegtsmux/tsmux/tsmux.c:
	  tsmux: Fill padding packets with stuffing bytes
	  Instead of leaving it uncleared, emitting probably old packet data but
	  potentially also random or sensitive application data.
	  Also fix the mapping mode.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5513>

2023-10-17 14:56:34 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codech265dec.c:
	  v4l2codecs: h265: Fix entry_point_offsets array leak
	  This array was being leaked.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5503>

2023-10-17 12:42:59 -0400  Detlev Casanova <detlev.casanova@collabora.com>

	* gst-libs/gst/codecs/gsth265decoder.c:
	  codecs: h265: Do not free slice header before using it
	  The v4l2codecs H.265 decoder uses the
	  GstH265SliceHdr::entry_point_offset_minus1 array so make sure that it is not
	  freed before decoding the frame.
	  Before this patch, some H.265 input would segfault in
	  gst_v4l2_codec_h265_dec_fill_slice_params() when executing the line:
	  guint32 entry_point_offset = slice_hdr->entry_point_offset_minus1[i] + 1;
	  Make sure that the array is not freed before using it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5503>

2023-10-12 16:25:59 +0530  Rahul T R <r-ravikumar@ti.com>

	* sys/kms/gstkmssink.c:
	  kmssink: Add TIDSS auto-detection
	  Add Texas Instruments TIDSS display controller into list of
	  auto-detected modules.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5486>

2023-10-15 20:30:22 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	  d3d11converter: Fix 10/12bits planar output
	  Simple division can result in 10/12bits overflow.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5484>

2023-10-12 02:26:07 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11window_win32.cpp:
	  d3d11videosink: Fix rendering with initial fullscreen state
	  Change fullscreen mode once the swapchain is fully configured
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5466>

2023-10-11 23:29:04 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11window_win32.cpp:
	  d3d11videosink: Fix toggling between fullscreen and maximized
	  Use GetWindowPlacement() and SetWindowPlacement() APIs
	  to remember and restore window status, such as maximized, position,
	  restore position, etc.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3016
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5466>

2023-10-10 15:43:07 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2format.c:
	  v4l2codecs: Fix tiled formats stride conversion
	  While adding arbitrary tile support, a round up operation was badly
	  converter. This caused the Y component of the stride to be 0. This
	  eventually lead to a crash in glupoad preceded by the following
	  assertion.
	  gst_gl_buffer_allocation_params_new: assertion 'alloc_size > 0' failed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5463>

2023-10-09 19:09:15 +0900  Seungha Yang <seungha@centricular.com>

	* sys/decklink/gstdecklink.h:
	  decklink: Fix broken COM string conversion
	  WideCharToMultiByte return is the string length without null terminate
	  character if passed "cchWideChar" does not include the null terminate
	  character size. Instead of passing the exact string length, pass -1 so that
	  the API can understand the input string is null terminated already and
	  returned value from the API includes the character.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3023
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5446>

2023-10-05 13:34:14 +0800  James Oliver <james.oliver@icetana.com.au>

	* sys/nvcodec/gstnvh265encoder.cpp:
	  nvh265encoder: fix bounds for auto-select GPU enumeration
	  Fixes the bounds-check for encoder auto-select GPU enumeration to be
	  between 0-7 instead of 0-6. This should allow 8-GPU machines to work
	  with nvautogpuh265enc for the last enumerated GPU.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5439>

2023-10-05 13:29:49 +0800  James Oliver <james.oliver@icetana.com.au>

	* sys/nvcodec/gstnvh264encoder.cpp:
	  nvh264encoder: fix bounds for auto-select GPU enumeration
	  Fixes the bounds-check for encoder auto-select GPU enumeration to be
	  between 0-7 instead of 0-6. This should allow 8-GPU machines to work
	  with nvautogpuh264enc for the last enumerated GPU.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5439>

2023-09-27 12:33:39 +0200  Philippe Normand <philn@igalia.com>

	* gst/inter/gstinteraudiosink.c:
	  interaudiosink: Ensure adapters don't store buffers with audio meta
	  The interaudiosrc might take buffers of different sizes from the audio adapter,
	  so keeping metas consistency would be an issue. So the sink now strips the audio
	  metas away and the src adds them back (for non-interleaved layouts only) when
	  taking buffers from the adapter.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5416>

2023-09-13 15:11:32 +0100  Philippe Normand <philn@igalia.com>

	* gst/inter/gstinteraudiosrc.c:
	  interaudiosrc: Add audio meta to buffers containing non-interleaved samples
	  Without this a downstream audioconverter wouldn't be able to map the
	  GstAudioBuffer prior to conversion.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5416>

2023-09-27 01:12:01 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11decoder.cpp:
	  d3d11decoder: Fix crash on negotiate() when decoder is not configured
	  The negotiate() can be called by GstVideoDecoder baseclass on GAP event,
	  and decoder helper object might not be configured at the time
	  when negotiate() is called.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5401>

2023-09-20 19:41:00 +0100  Tim-Philipp Müller <tim@centricular.com>

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

=== 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
	  Use AdjustWindowRect() method to calculate window size so that
	  video scene can be rendered on client area without black borders
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4416>

2023-04-12 00:31:17 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development

=== release 1.22.2 ===

2023-04-11 17:29:28 +0100  Tim-Philipp Müller <tim@centricular.com>

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

2023-04-10 20:10:50 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth264decoder.c:
	* gst-libs/gst/codecs/gsth264picture.c:
	  h264decoder: Enable low-latency bumping in case of pic_order_cnt_type 2
	  In case of POC type 2, output order is equal to decoding order
	  (no frame reordering)
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2447
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4383>

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

	* gst-libs/gst/codecs/gsth264decoder.c:
	* gst-libs/gst/codecs/gsth264picture.c:
	* gst-libs/gst/codecs/gsth264picture.h:
	  h264decoder: Fix for latency report
	  The minimum latency answered by an element should be the maximum
	  latency from the element's perspective. Also consider max_reorder_frames
	  update as a sequence change
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4383>

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

	* gst-libs/gst/codecs/gsth264decoder.c:
	  h264decoder: Ignore invalid max_num_reorder_frames in VUI
	  It's not fatal and can be ignored
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4383>

2023-04-06 19:40:12 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth265decoder.c:
	  h265decoder: Fix for latency report when src caps is not configured
	  Depending on subclass, negotiation might not happen on new_sequence()
	  Fixing regression introduced by the commit
	  4a4823b9728fbb944e05d89e0fee681ab5b33e25
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4383>

2023-04-06 19:36:03 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth264decoder.c:
	  h264decoder: Fix for latency report when src caps is not configured
	  Depending on subclass, negotiation might not happen on new_sequence()
	  Fixing regression introduced by the commit
	  4a4823b9728fbb944e05d89e0fee681ab5b33e25
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4383>

2023-04-10 17:31:29 +0800  Wang Chuan <jdyaomo@gmail.com>

	* sys/d3d11/gstd3d11window_win32.cpp:
	  gstd3d11window: fix memory leak
	  GstStructure may leak when using external HWND
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4382>

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

	* ext/qroverlay/gstdebugqroverlay.c:
	  debugqroverlay: fix string leak
	  g_string_free(.., FALSE) gives us ownership of the string
	  already, no need to duplicate that again with g_strdup(),
	  and doing so will leak the string returned by g_string_free()
	  here. Caught by compiler warnings in newer GLib versions.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4380>

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

	* sys/decklink/gstdecklinkaudiosink.cpp:
	  decklinkaudiosink: Fix playback when video caps is configured before audio
	  Scheduled playback starts on videosink's state change or on caps
	  but it's possible that audiosink is configure without caps yet.
	  Try start scheduled playback on audiosink's caps event as well
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4368>

2023-04-04 12:22:31 +0200  Wojciech Kapsa <wojciech.kapsa@medvc.eu>

	* docs/plugins/gst_plugins_cache.json:
	* sys/decklink/gstdecklink.cpp:
	* sys/decklink/gstdecklink.h:
	* sys/decklink/gstdecklinkvideosink.cpp:
	* sys/decklink/gstdecklinkvideosrc.cpp:
	  decklink: fix 10 bit RGB (r210) format auto detection
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2391
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4342>

2023-03-31 04:40:58 +0900  Seungha Yang <seungha@centricular.com>

	* tools/gst-transcoder.c:
	  tools: Count argc after parsing GOption on Windows
	  Existing codes rely on modified argc value by g_option_context_parse()
	  but g_option_context_parse_strv() is used in case of Windows.
	  Count arguments after the option parsing manually.
	  Fixing command "gst-inspect-1.0.exe -b"
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4322>

2023-03-16 16:02:26 +0000  Colin Kinloch <colin.kinloch@collabora.com>

	* ext/gtk/gstgtkwaylandsink.c:
	  gtkwaylandsink: Destroy GstWlWindow when parent GtkWindow is destroyed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4312>

2023-03-29 12:58:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkmemory.c:
	  vkmemory: flush whole size
	  Running element_vkcolorconver test with Vulkan validation layer this error is
	  raised:
	  Code 0 : Validation Error: [ VUID-VkMappedMemoryRange-size-01390 ] Object 0:
	  handle = 0x100000000010, type = VK_OBJECT_TYPE_DEVICE_MEMORY;
	  | MessageID = 0xdd4e6d8b
	  | vkFlushMappedMemoryRanges: Size in pMemRanges[0] is 0x4, which is not a
	  multiple of VkPhysicalDeviceLimits::nonCoherentAtomSize (0x40) and offset +
	  size (0x0 + 0x4 = 0x4) not equal to the memory size (0xb). The Vulkan spec
	  states: If size is not equal to VK_WHOLE_SIZE, size must either be a multiple of
	  VkPhysicalDeviceLimits::nonCoherentAtomSize, or offset plus size must equal the
	  size of memory
	  The reason of is that the image size used in the test doesn't comply hardware
	  restrictions. In order to avoid juggling with image size and hardware
	  restrictions, this patch proposes to use VK_WHOLE_SIZE macro.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4311>

2023-03-29 12:44:00 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* tests/check/libs/vkimage.c:
	  tests: vkimage: add VK_IMAGE_USAGE_SAMPLED_BIT usage bit
	  Running tests with Vulkan Validation enabled show an error on vkimage tests:
	  Code 0 : Validation Error: [ VUID-VkImageViewCreateInfo-image-04441 ]
	  Object 0: VK_NULL_HANDLE, type = VK_OBJECT_TYPE_COMMAND_BUFFER; Object 1: handle
	  = 0x50000000005, type = VK_OBJECT_TYPE_IMAGE;
	  | MessageID = 0xb75da543
	  | Invalid usage flag for VkImage 0x50000000005[] used by vkCreateImageView(). In
	  this case, VkImage should have VK_IMAGE_USAGE_SAMPLED_BIT |
	  VK_IMAGE_USAGE_STORAGE_BIT | VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT |
	  VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT |
	  VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT | VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT |
	  VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR |
	  VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT |
	  VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR |
	  VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR |
	  VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR |
	  VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR | VK_IMAGE_USAGE_SAMPLE_WEIGHT_BIT_QCOM
	  | VK_IMAGE_USAGE_SAMPLE_BLOCK_MATCH_BIT_QCOM set during creation.
	  The Vulkan spec states: image must have been created with a usage value
	  containing at least one of the usages defined in the valid image usage list for
	  image views
	  This patch adds VK_IMAGE_USAGE_SAMPLED_BIT to the usage bits in test.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4311>

2023-03-29 11:04:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkfullscreenquad.c:
	  vkfullscreenquad: set enable_clear as TRUE by default
	  While using the validation layer with this pipeline:
	  gst-launch-1.0 videotestsrc num-buffers=10 ! vulkanupload ! vulkancolorconvert ! vulkansink
	  The validation layer throws this message:
	  Code 0 : Validation Error: [ VUID-VkAttachmentDescription-format-06699 ]
	  Object 0: handle = 0x5555562e9610, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x52b3229e |
	  vkCreateRenderPass: pCreateInfo->pAttachments[0] format is
	  VK_FORMAT_B8G8R8A8_UNORM and loadOp is VK_ATTACHMENT_LOAD_OP_LOAD, but
	  initialLayout is VK_IMAGE_LAYOUT_UNDEFINED.
	  The Vulkan spec states: If format includes a color or depth aspect and loadOp is
	  VK_ATTACHMENT_LOAD_OP_LOAD, then initialLayout must not be VK_IMAGE_LAYOUT_UNDEFINED
	  When creating the render pass the loadOp can be either
	  `VK_ATTACHMENT_LOAD_OP_CLEAR` or `VK_ATTACHMENT_LOAD_OP_LOAD` depending on
	  `enable_clear`. While `enable_clear` is FALSE by default (which means
	  `VK_ATTACHMENT_LOAD_OP_LOAD`). Nonetheless, its value is explicitly changed by
	  `vkoverlaycompositor` to FALSE too!
	  This behavior was introduced in merge request #2470 where
	  `VK_ATTACHMENT_LOAD_OP_CLEAR` was a fixed value for loadOp. Thus, the bug
	  consists in a missing initialization of `enable_clear` to TRUE from that merge
	  request.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4311>

2023-03-27 16:28:04 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkswapper.c:
	  vulkanswapper: correctly handle force-aspect-ratio=false
	  It was simply ignored so actually handle it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4290>

2023-02-13 12:05:27 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* ext/openjpeg/gstopenjpegdec.c:
	  openjpegdec: allow multithread decoding only in subframe mode
	  To avoid mis-ordered frames, allow multithread decoding only in
	  subframe mode.
	  Fixes #1786
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4275>

2023-03-24 00:23:42 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11bufferpool.cpp:
	  d3d11bufferpool: Fix invalid access in debug print loop
	  Add missing condition check in for loop
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4258>

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

	* sys/nvcodec/gstnvh264encoder.cpp:
	  nvh264encoder: Fix template caps
	  It should include progressive as well
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4253>

2023-03-20 17:44:23 +0000  Colin Kinloch <colin.kinloch@collabora.com>

	* ext/gtk/gstgtkwaylandsink.c:
	  gtkwaylandsink: Fix crash when rendering after the window is closed
	  Continuation of https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4197
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4238>

2023-03-19 21:21:31 +0100  Adrien De Coninck <deconinck.adrien@gmail.com>

	* sys/winks/ksdeviceprovider.c:
	  ksdeviceprovider: Fix leak in gst_dshow_device_provider_start
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4227>

2023-03-19 20:57:18 +0100  Adrien De Coninck <a.deconinck@intopix.com>

	* sys/directshow/dshowdeviceprovider.cpp:
	  dshowdeviceprovider: Fix leak in gst_dshow_device_provider_start
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4227>

2023-03-17 16:32:45 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/bs2b/gstbs2b.c:
	* ext/bs2b/gstbs2b.h:
	* ext/openal/gstopenal.c:
	* gst/mxf/mxfmetadata.c:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	  plugins: Fix various trivial clang compiler warnings
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4221>

2023-03-17 15:51:53 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/mpegtsdemux/tsdemux.c:
	  tsdemux: Fix reading of extended Opus channel configuration
	  Argument evaluation order is implementation defined in C, and gcc is
	  evaluating right-to-left (works) while clang is evaluating left-to-right
	  (does not work).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4221>

2023-03-17 23:28:58 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth264picture.c:
	  h264decoder: Fix DPB bumping process
	  As per spec C.4.5.3 "Bumping", if bumping is needed but DPB holds
	  no "output needed" picture, then a picture that has the smallest
	  POC should be considered first for output
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4219>

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

	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	  nvencoder: Fix CQP option setting
	  ... and zero initialize LUID and CUDA device list to address
	  coverity issue
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4217>

2023-03-16 13:33:46 +0100  Albert Sjölund <alberts@axis.com>

	* gst-libs/gst/webrtc/nice/nicestream.c:
	  webrtc: Fix segfault traversing ice transports
	  Previously, reassigning loop index l in nicestream.c
	  could cause a segfault if l->data was null, as it could
	  reassign l to a null variable, triggering the loop
	  postassignment l->next, which then segfaults due to
	  l now being null. It is instead moved into the loop.
	  _delete_transport already performs the reassignment
	  inline.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4213>

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

	* sys/wasapi2/gstwasapi2client.cpp:
	  wasapi2: Fix potential crash on device activation failure
	  The activation object is live in COM thread already and therefore
	  self refcount hack is pointless.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4207>

2023-03-16 13:25:39 +0100  Albert Sjölund <alberts@axis.com>

	* ext/webrtc/webrtcdatachannel.c:
	  webrtc: patch leak caused by early return
	  In webrtc_data_channel_send functions, both data and string,
	  an early return on a non-open datachannel caused it to leak
	  the buffer used for pushing to appsrc, meaning any buffer
	  sent after leaving the open state was leaked in full.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4206>

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

	* sys/d3d11/gstd3d11window.cpp:
	* sys/d3d11/gstd3d11window.h:
	  d3d11videosink: Fix tearing in case of fullscreen mode
	  DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING and DXGI_PRESENT_ALLOW_TEARING should
	  be used only if required, when user wants Vsync off for example.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2376
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4188>

2023-03-16 00:53:31 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	  d3d11converter: Fix conversion backend selection
	  Intended behavior was selecting video processor only if pixel shader
	  is disabled, since we prefer shader over video processor
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4189>

2023-03-14 22:08:54 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11compositor.cpp:
	  d3d11compositor: Fix composition error on release_pad()
	  Composition might be still in progress while it's being released
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4186>

2023-01-07 16:18:03 +0100  Antonio Rojas <arojas@archlinux.org>

	* ext/zxing/gstzxing.cpp:
	  zxing: add support for zxing-c++ 2.0
	  format is a C++ string in 2.0
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4148>

2023-03-10 16:47:17 +1100  Matthew Waters <matthew@centricular.com>

	* ext/vulkan/vkoverlaycompositor.c:
	  vulkanoverlaycompositor: don't do a potential use after free
	  Removing a meta from a buffer means one doesn't have access to it
	  anymore.  Instead use the already reffed composition directly.
	  Fixes a use-after-free in the following pipeline:
	  ... ! vulkanupload ! timeoverlay ! vulkanoverlaycompositor ! ...
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4147>

2023-03-09 14:38:13 +1100  Matthew Waters <matthew@centricular.com>

	* ext/closedcaption/gstcea708decoder.c:
	  cea708overlay: fix HCR interpretation
	  An unsigned counter with a for (i = end; i >= 0; i--), can be optimized to
	  infinite loop as an unsigned value will always be >= 0.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4141>

2023-03-07 23:46:50 +0900  Seungha Yang <seungha@centricular.com>

	* gst/videoparsers/gsth264parse.c:
	* gst/videoparsers/gsth264parse.h:
	  h264parse: Validate VUI framerate
	  A few streams contain invalid/wrong framerate in VUI. Do validate
	  it based on the spec and ignore invalid VUI framerate values.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1753
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4131>

2023-02-28 18:48:24 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst/jpegformat/gstjpegparse.c:
	  jpegparse: demote and promote log messages level
	  Before those levels where when implementing the plugin. Now these
	  levels are for reporting issues from users.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4130>

2023-02-12 22:37:01 +0800  He Junyan <junyan.he@intel.com>

	* gst/jpegformat/gstjpegparse.c:
	  jpegparse: reset parse state when the SOI is not the first marker
	  There may be garbage or some bits before a SOI comes in some problematic
	  mjpeg streams. For example, some network error may cause the EOI marker
	  of the previous frame lost, and when the new frame's SOI comes, we still
	  use the state of the last frame, which will generate errors.
	  For this kind of frames without EOI, if that frame already has some data
	  (the SOS segment is detected), we still push it as a frame with CORRUPTED
	  flag set. But if not, we just discard all the data before the new SOI.
	  Co-Authored-By: Víctor Jáquez <vjaquez@igalia.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4130>

2023-03-04 16:13:04 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development

=== release 1.22.1 ===

2023-03-04 13:42:32 +0000  Tim-Philipp Müller <tim@centricular.com>

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

2023-02-23 14:14:57 +0100  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/meson.build:
	* sys/applemedia/vtdec.c:
	* sys/applemedia/vtdec.h:
	  vtdec: Correctly retrieve reorder queue length from SPS
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4110>

2023-03-01 06:36:15 +1100  Jan Schmidt <jan@centricular.com>

	* sys/applemedia/avfvideosrc.m:
	  avfvideosrc: Fix description and trailing whitespace
	  Minor fix to mention that the element is also useful on MacOS,
	  and remove some trailing whitespace
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4096>

2023-03-01 06:32:19 +1100  Jan Schmidt <jan@centricular.com>

	* sys/applemedia/avfvideosrc.m:
	  avfvideosrc: Don't wait on main thread for permissions request
	  Recursively invoking the NSMainLoop can cause crashes in
	  applications that don't expect it. Instead of waiting for
	  permission to be granted, move the wait later - until we
	  actually need device permissions when starting the capture
	  session. That moves the wait into the streaming thread
	  instead of the application thread that's setting the pipeline
	  state to READY.
	  Instead of a manual state change implementation to open
	  and close the device, use the basesrc start/stop methods that
	  are intended for the purpose.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4096>

2023-02-28 15:26:45 +0100  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc: Fix checking for certain CPU variants when running in VMs
	  These checks were introduced to prevent exposing ARGB64/RGBA64 in the caps
	  when running on M1 Pro/Max with macOS <13 because of a bug in VideoToolbox.
	  Unfortunately, the initial buffer size of 15 is too short when running
	  in a VM - the CPU brand string there looks like "Apple M1 Pro (Virtual)",
	  which due to its length causes sysctlbyname to return -1, resulting in
	  broken formats still showing up in the caps.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4082>

2023-01-28 02:32:13 +0900  Seungha Yang <seungha@centricular.com>

	* tools/gst-transcoder.c:
	  tools: Make sure UTF-8 encoded command line arguments on Windows
	  On Windows, arguments passed in main() are system codepage
	  encoded and might not be valid UTF-8 string.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4072>

2023-02-20 03:20:46 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvencoder.cpp:
	  nvencoder: Fix b-frame encoding on Linux
	  On Windows, Win32 event handle is used to wait for encoded output,
	  but it's not available on Linux. We should delay bitstream locking
	  if encoder returns "need-more-input"
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4008>

2023-02-22 00:47:09 +0900  Seungha Yang <seungha@centricular.com>

	* gst/videoparsers/gsth265parse.c:
	* tests/check/elements/h265parse.c:
	  h265parse: Always set profile on src caps
	  h265parse should provide profile for autoplugging
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4068>

2023-02-24 21:58:00 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstjpegdecoder.c:
	  jpegdecoder: fail early if no input caps have been provided
	  The jpegdecoder class does not implement the ->parse() virtual function,
	  and we always need to add the jpegparse element before it. So we should
	  set_needs_format of the decoder to TRUE, then if no parse before it, it
	  can fail with a "not-negotiated" error early, rather than go on and
	  generate unexpected error.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1829
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4066>

2023-02-24 21:49:27 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecs/gstav1decoder.c:
	  av1decoder: fail early if no input caps have been provided
	  The av1decoder class does not implement the ->parse() virtual function,
	  and we always need to add the av1parse element before it. So we should
	  set_needs_format of the decoder to TRUE, then if no parse before it, it
	  can fail with a "not-negotiated" error early, rather than go on and
	  generate unexpected error.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4066>

2023-02-24 21:38:48 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecs/gstvp9decoder.c:
	  vp9decoder: fail early if no input caps have been provided
	  The vp9decoder class does not implement the ->parse() virtual function,
	  and we always need to add the vp9parse element before it. So we should
	  set_needs_format of the decoder to TRUE, then if no parse before it, it
	  can fail with a "not-negotiated" error early, rather than go on and
	  generate unexpected error.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4066>

2023-02-24 21:27:27 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecs/gstvp8decoder.c:
	  vp8decoder: fail early if no input caps have been provided
	  The vp8decoder class does not implement the ->parse() virtual function,
	  it can only accepts frame aligned data. If some element such as filesrc
	  feed it with unaligned data, the behaviour is undecided. So we should
	  set_needs_format of the decoder to TRUE, then it can fail with a
	  "not-negotiated" error early, rather than go on and generate unexpected
	  error.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4066>

2023-02-24 21:12:40 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecs/gstmpeg2decoder.c:
	  mpeg2decoder: fail early if no input caps have been provided
	  The mpeg2decoder class does not implement the ->parse() virtual function,
	  and we always need to add the mpegvideoparse element before it. So we should
	  set_needs_format of the decoder to TRUE, then if no parse before it, it
	  can fail with a "not-negotiated" error early, rather than go on and
	  generate unexpected error.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4066>

2023-02-24 21:09:31 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecs/gsth264decoder.c:
	  h264decoder: fail early if no input caps have been provided
	  The h264decoder class does not implement the ->parse() virtual function,
	  and we always need to add the h264parse element before it. So we should
	  set_needs_format of the decoder to TRUE, then if no parse before it, it
	  can fail with a "not-negotiated" error early, rather than go on and
	  generate unexpected error.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4066>

2023-02-24 20:15:20 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecs/gsth265decoder.c:
	  h265decoder: fail early if no input caps have been provided
	  The h265decoder class does not implement the ->parse() virtual function,
	  and we always need to add the h265parse element before it. So we should
	  set_needs_format of the decoder to TRUE, then if no parse before it, it
	  can fail with a "not-negotiated" error early, rather than go on and
	  generate unexpected error.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4066>

2023-01-27 12:45:10 +0100  Robert Rosengren <robertr@axis.com>

	* ext/curl/gstcurlhttpsrc.c:
	  curlhttpsrc: Add curl anyauth option
	  Add curl anyauth option to support http request to endpoints not using
	  only basic authentication (as default in curl). Also aligning with
	  curlhttpsink that already uses this option.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4065>

2023-02-22 15:18:12 +0100  Célestin Marot <c.marot@intopix.com>

	* sys/d3d11/gstd3d11overlaycompositor.cpp:
	  d3d11overlaycompositor: fix texture width and height
	  The dimension of the overlay texture directly corresponds to the size of the overlay **buffer** which is given by its video meta.
	  The dimension at which the overlay should be displayed directly correspond to the overlay `render_width`and `render_height`.
	  This match the behavior of glimagesink
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4053>

2023-02-22 11:52:38 +0000  Tim-Philipp Müller <tim@centricular.com>

	* po/fur.po:
	  gst-plugins-bad: update translations
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4041>

2023-02-16 15:03:25 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* gst-libs/gst/va/gstvaallocator.c:
	  vaallocator: Check return value from va_sync_surface
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4007>

2023-02-09 16:54:16 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/va/gstvaav1dec.c:
	* sys/va/gstvabaseenc.c:
	* sys/va/gstvabasetransform.c:
	* sys/va/gstvaencoder.c:
	* sys/va/gstvah264enc.c:
	  va: Fix some code defects
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4007>

2022-12-22 10:17:42 +0000  Philippe Normand <philn@igalia.com>

	* ext/wpe/WPEThreadedView.cpp:
	* ext/wpe/wpe-extension/gstwpeextension.c:
	  wpe: Logging fixes for the WebExtension
	  Using logging macros without a `GST_CAT_DEFAULT` in scope leads to critical
	  warnings.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4022>

2023-02-21 15:19:35 +1100  Matthew Waters <matthew@centricular.com>

	* ext/closedcaption/gstccconverter.c:
	  ccconverter: don't debug a potentially freed filter caps
	  Fixes a use-after-free
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4013>

2023-02-21 00:27:27 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11videosink.cpp:
	* sys/d3d11/gstd3d11window.cpp:
	* sys/d3d11/gstd3d11window.h:
	* sys/d3d11/gstd3d11window_win32.cpp:
	  d3d11videosink: Fix rendering on external handle
	  Partial revert of the commit 068a5c1053ae05b3c7747243948447e764d25aa6.
	  That introduced size mismatch between internal and external HWND
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4010>

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

	* sys/va/gstvah265enc.c:
	  vah265enc: Use helper to update properties.
	  This is a continuation of the original patch by
	  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4009>

2023-02-14 10:29:00 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* gst-libs/gst/codecparsers/gstav1parser.c:
	* gst-libs/gst/codecparsers/gsth265parser.c:
	  av1parser, h265parser: Fix some code defects
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4003>

2023-02-07 04:58:04 +1100  Jan Schmidt <jan@centricular.com>

	* ext/webrtc/gstwebrtcstats.c:
	  webrtc: Calculate the jitter for remote-inbound-rtp stats
	  Populate the clock-rate in the internal stats structure, so
	  it can be used by the _get_stats_from_remote_rtp_source_stats()
	  method to calculate remote receivers' jitter.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3994>

2023-02-01 10:44:26 +1100  Jan Schmidt <jan@centricular.com>

	* ext/webrtc/gstwebrtcstats.c:
	  webrtcbin: Report full codec-stats for source pads
	  Use the current caps for webrtcbin srcpads, as received_caps
	  are only stored for sink pads based on incoming caps events.
	  Makes it so that webrtcbin stats reports contain fuller
	  codec information.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3994>

2023-02-17 14:56:20 +0800  Yinhang Liu <yinhang.liu@intel.com>

	* sys/msdk/gstmsdk.c:
	  msdkav1enc: fix the category for msdkav1enc debug
	  The msdkav1enc debug initialized with gst_msdkav1dec_debug,
	  fix this.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3991>

2023-02-16 01:36:41 +0900  Seungha Yang <seungha@centricular.com>

	* gst/codectimestamper/gstcodectimestamper.c:
	  codectimestamper: Fix timestamping on sequence update
	  ... and enhance debug logging.
	  Keep internal timestamp offsets on drain, no reason to reset them
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3987>

2023-02-15 09:45:28 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* gst-libs/gst/codecparsers/gsth264bitwriter.c:
	* gst-libs/gst/codecparsers/gsth265bitwriter.c:
	  codecparsers: {h264,h265}bitwriter: Remove redundant condition checks
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3978>

2023-02-12 23:17:41 +0900  Seungha Yang <seungha@centricular.com>

	* sys/amfcodec/gstamfav1enc.cpp:
	  amfav1enc: Set stream-format on caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3961>

2023-02-12 23:12:21 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/qsv/gstqsvav1enc.cpp:
	  qsvav1enc: Set stream-format on caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3961>

2023-02-07 16:25:02 +0100  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtdec.c:
	* sys/applemedia/vtenc.c:
	* sys/applemedia/vtutil.h:
	  vtenc/vtdec: Fix typo in RGBA64_LE availability define
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3962>

2023-02-07 16:04:22 +0100  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc: Disable ARGB/RGBA64 caps on M1 Pro/Max with macOS <13
	  Fixes #1358.
	  Passing ARGB64/RGBA64 to vtenc caused the encoding to fail
	  when running on M1 Pro/Max variants with macOS 12.x, so let's
	  remove these formats from caps when such scenario is detected.
	  This issue appears to have been fixed OS-side in macOS 13.0.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3962>

2023-02-09 18:51:30 +0100  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtdec.c:
	  vtdec: Fix not waiting for async frames when flushing
	  This was causing incorrect output when seeking, especially
	  when used with a multithreaded source like `videotestsrc n-threads=2`.
	  It should now correctly wait for frames still being processed by VT
	  while vtdec is flushing.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3937>

2023-02-10 12:52:17 +0100  Alessandro Bono <alessandro.bono369@gmail.com>

	* sys/win32ipc/protocol/win32ipcutils.cpp:
	  win32ipcutils: Add missing include
	  We are using std::isspace() with one parameter. That function is defined
	  in the cctype header.
	  ```
	  win32ipcutils.cpp(34): error C2672: 'std::isspace': no matching overloaded function found
	  win32ipcutils.cpp(34): error C2780: 'bool std::isspace(_Elem,const std::locale &)': expects 2 arguments - 1 provided
	  ```
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3936>

2023-02-06 15:26:48 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/codecparsers/gstav1parser.c:
	  av1parser: Don't consider unknown metadata OBUs a bitstream error
	  Just don't parse them.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1774
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3924>

2023-02-07 08:49:24 +0100  Edward Hervey <edward@centricular.com>

	* ext/closedcaption/gstceaccoverlay.c:
	  closedcaption: Don't leak caps event
	  All events that we handle should be unreffed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3906>

2023-02-03 22:10:12 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvencoder.cpp:
	* sys/nvcodec/gstnvencoder.h:
	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	  nvencoder: Fix min buffers parameter of allocation query in auto GPU mode
	  At the time when propose_allocation() get called, encoder session
	  would not be initialized yet.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3891>

2023-01-19 11:03:09 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264dec.c:
	  va: Avoid the array index overflow when filling 8x8 scaling list.
	  The VA API has not defined the scaling list entries for U/V planes
	  for the 4:4:4 stream. In fact, we do not meet the 4:4:4 format output
	  for H264 so far, and scaling list is not used frequently, so we just
	  print out some warning and ignore these scaling list values.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3877>

2022-11-09 20:20:35 +0100  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc: Disable HW acceleration for interlaced ProRes
	  Due to a bug in the VT API, attempting to encode interlaced content
	  with ProRes results in an error, halting the pipeline instead of
	  gracefully falling back to software encoding.
	  Should be removed in the future if Apple ever fixes this issue.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3878>

2023-02-01 17:26:57 +0200  Sebastian Dröge <sebastian@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/aom/gstav1dec.c:
	* ext/aom/gstav1enc.c:
	  aom: Include stream-format and alignment in the AV1 caps
	  The decoder does not work with arbitrary alignment and annexb stream
	  format and the encoder can give the information that it outputs
	  obu-stream/tu to downstream.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3873>

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

	* sys/nvcodec/gstnvvp9dec.c:
	  nvvp9dec: Fix return value
	  It should return GstFlowReturn value, not boolean
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3874>

2023-01-27 15:54:48 -0300  Thibault Saunier <tsaunier@igalia.com>

	* gst/transcode/gsturitranscodebin.c:
	  uritranscodebin: Fix unref of NULL
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3837>

2022-12-30 00:49:27 +0900  Seungha Yang <seungha@centricular.com>

	* gst/mpegdemux/gstmpegdemux.c:
	  mpegpsdemux: Ignore DTS if PTS < DTS
	  It's possibly timestamp rollover case. But PTS < DTS is already
	  invalid case anyway.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3836>

2023-01-24 23:26:50 +0900  Seungha Yang <seungha@centricular.com>

	* sys/wasapi2/gstwasapi2ringbuffer.cpp:
	  wasapi2src: Fix loopback capture on Windows 10 Anniversary Update
	  ... or older. Work around an OS bug that loopback capture
	  device doesn't notify event.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1738
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3820>

2023-01-04 17:30:47 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkmemory.c:
	  vulkan: memory: Flush non coherent memory after write.
	  Spec 7.1.3:
	  If a memory object does not have the VK_MEMORY_PROPERTY_HOST_COHERENT_BIT
	  property, then vkFlushMappedMemoryRanges must be called in order to guarantee
	  that writes to the memory object from the host are made available to the host
	  domain, where they can be further made available to the device domain via a
	  domain operation. Similarly, vkInvalidateMappedMemoryRanges must be called to
	  guarantee that writes which are available to the host domain are made visible to
	  host operations.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3817>

2023-01-24 11:26:02 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/nvcodec/plugin.c:
	  nvcodec: Log readable errors when initializing CUDA
	  It is really difficult for people to figure out why nvcodec has
	  0 features. Even the debug log is cryptic. Also make sure the errors
	  go to the ERROR log level, which is more likely to be enabled by
	  default.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3813>

2023-01-24 11:16:38 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/nvcodec/plugin.c:
	  nvcodec: Fix reporting of CuDeviceGetCount error
	  cuda_ret is was always going to be CUDA_SUCCESS in the error log.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3813>

2023-01-25 16:46:42 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development

=== release 1.22.0 ===

2023-01-23 19:29:34 +0000  Tim-Philipp Müller <tim@centricular.com>

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

2023-01-23 16:28:08 +0000  Tim-Philipp Müller <tim@centricular.com>

	* po/hr.po:
	* po/ro.po:
	* po/zh_CN.po:
	  gst-plugins-bad: update translations
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3773>

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

	* sys/d3d11/gstd3d11compositor.cpp:
	  d3d11compositor: Workaround blending artifacts on Intel platform
	  Disable vendor implemented converter in d3d11compositor to workaround
	  artifacts
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3770>

2023-01-19 15:24:05 +0100  Jonas Danielsson <jonas.danielsson@spiideo.com>

	* ext/wpe/WPEThreadedView.cpp:
	* ext/wpe/WPEThreadedView.h:
	* ext/wpe/gstwpesrcbin.cpp:
	* ext/wpe/gstwpevideosrc.cpp:
	  wpe: Add 'run-javascript' action signal
	  Introduce way of running a script in the context of the internal
	  webView.
	  Fixes #1722
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3753>

2023-01-19 22:40:36 +0900  Seungha Yang <seungha@centricular.com>

	* sys/win32ipc/gstwin32ipcvideosrc.cpp:
	  win32ipcvideosrc: Fix leak in fallback copy path
	  Clear shared memory after use
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3751>

2023-01-19 15:36:40 +0100  Edward Hervey <edward@centricular.com>

	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	  va: Fix path leak
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3755>

=== release 1.21.90 ===

2023-01-13 19:08:48 +0000  Tim-Philipp Müller <tim@centricular.com>

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

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

	* gst-libs/gst/d3d11/gstd3d11memory.cpp:
	  d3d11memory: Fix potential crash in GstD3D11PoolAllocator
	  Allocator object can be the final refcount holder, when a GstD3D11Memory
	  is being released. Do unref allocator once there's no more
	  remaining operation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3715>

2023-01-12 22:14:30 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11memory.cpp:
	  d3d11memory: Remove GstD3D11PoolAllocator::dispose
	  Clear GstD3D11Device object in finalize method as well
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3715>

2023-01-11 15:41:21 +0000  Tim-Philipp Müller <tim@centricular.com>

	* po/LINGUAS:
	* po/es.po:
	* po/hr.po:
	* po/ka.po:
	* po/lt.po:
	* po/nl.po:
	* po/ru.po:
	* po/sk.po:
	* po/sl.po:
	* po/sr.po:
	* po/uk.po:
	* po/zh_TW.po:
	  gst-plugins-bad: update translations
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3711>

2023-01-11 14:53:39 +0000  Tim-Philipp Müller <tim@centricular.com>

	* scripts/dist-translations.py:
	* scripts/meson.build:
	  Fix translation pot files when creating dist tarballs
	  Add version as per Translation Project requirements and
	  also add a .pot file without the ABI suffix.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3711>

2023-01-11 12:17:13 +0200  Sebastian Dröge <sebastian@centricular.com>

	* tools/gst-transcoder.c:
	  tools: Use `gst_macos_main()` on macOS
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1673
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3709>

2023-01-11 03:23:57 +0900  Seungha Yang <seungha@centricular.com>

	* meson.build:
	  meson: gst-plugins-bad: Disable spammy MSVC warning
	  warning C5051: attribute 'noinline' requires at least '/std:c++20';
	  ignored
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3705>

2023-01-09 12:39:55 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/mxf/mxfmetadata.c:
	  mxfmux: Add all local tags to the primer
	  No matter if they're allocated via GSlice or malloc(). The allocator is
	  completely irrelevant, all local tags need to be in the primer so they
	  can be handled.
	  This didn't have any effect in practice because all local tags that
	  appear in the muxer are allocated via GSlice. Only from the demuxer they
	  might be allocated via malloc().
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3699>

2022-12-15 18:42:26 +0000  Philippe Normand <philn@igalia.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/aom/gstav1enc.c:
	* ext/aom/gstav1enc.h:
	  av1enc: Add property for controlling max distance between 2 keyframes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2743>

2022-07-11 11:03:16 +0530  Yatin Mann <yatinmaan1@gmail.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/aom/gstav1enc.c:
	* ext/aom/gstav1enc.h:
	  aom: av1enc: Expose more properties
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2743>

2023-01-08 23:46:40 +0530  yatinmaan <yatinmaan1@gmail.com>

	* ext/aom/gstav1enc.h:
	  aom: av1enc: Remove redundant enum variants from header
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2743>

2022-07-11 09:27:41 +0530  Yatin Mann <yatinmaan1@gmail.com>

	* ext/aom/gstav1enc.c:
	* ext/aom/gstav1enc.h:
	  aom: av1enc: Ensure that input pts is strictly increasing
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2743>

2022-07-04 19:55:59 +0530  Yatin Mann <yatinmaan1@gmail.com>

	* ext/aom/gstav1enc.c:
	  aom: av1enc: Fix pts unit
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2743>

2023-01-02 18:34:59 +0900  ekwange <ekwange@gmail.com>

	* ext/directfb/dfbvideosink.c:
	* ext/directfb/dfbvideosink.h:
	  dfbvideosink: Fix compile error
	  Fix some compile errors
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3670>

2023-01-01 19:19:03 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/webrtc/nice/nice.c:
	  webrtc nice: Let libnice handle STUN/TURN DNS resolution
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3676>

2023-01-06 15:07:42 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/webrtc/nice/meson.build:
	* gst-libs/gst/webrtc/nice/nice.c:
	  webrtc: Change requirement to libnice 0.1.20
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3676>

2023-01-04 21:37:55 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/meson.build:
	  docs: explicitly declare gir build dependencies
	  As the path to the gir file is passed to hotdoc.generate_doc() and
	  not the build target itself, meson doesn't know about the dependency.
	  In turn, as the CI doesn't build everything before building the
	  documentation target, some gir files might not exist, for instance
	  in the case of gst-rtsp-server, causing the output documentation to
	  be empty.
	  The error occurred silently because hotdoc accepts wildcards for
	  *-sources arguments, thus it won't warn about a missing gir file as
	  it is legitimate for glob matching to resolve to nothing.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3686>

2023-01-04 18:55:08 -0300  Rodrigo Bernardes <rodrigo.bernardes@kantaribopemedia.com>

	* sys/dvb/parsechannels.c:
	  dvbbasebin: don't rely on g_key_file_get_(integer|uint64) return
	  instead check if an error was returned, and fail if any
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3688>

2023-01-03 15:01:37 -0500  Olivier Crête <olivier.crete@collabora.com>

	* ext/srt/gstsrtobject.c:
	  srt: Avoid crash on unknown option
	  Use the correct field that is null instead of the struct value which
	  never is.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3672>

2022-12-30 10:30:38 -0500  Xavier Claessens <xavier.claessens@collabora.com>

	* ext/qroverlay/gstbaseqroverlay.c:
	  qroverlay: Add qrcode-case-sensitive property
	  This allows to encode case sensitive strings, like wifi SSID/password.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3662>

2023-01-03 17:28:18 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecs/gsth265decoder.c:
	  h265decoder: Fix a memory leak because of slice header.
	  The gst_h265_slice_hdr_free() should free the slice header just
	  parsed, not the priv->current_slice. Or, the memory leak will
	  happen because we do not free the slices in priv->nalu list.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3671>

2022-12-30 17:10:12 +0000  مهدي شينون (Mehdi Chinoune) <mehdi.chinoune@hotmail.com>

	* ext/opencv/meson.build:
	  meson: Accept latest version of opencv 4.x
	  We've been bumping along the maximum opencv 4.x version for years,
	  just accept all opencv versions till someone reports breakage.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1680
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3664>

2022-12-26 20:53:53 +0900  Seungha Yang <seungha@centricular.com>

	* sys/va/gstvajpegdec.c:
	  vajpegdec: Set maybe-leaked flag on template caps
	  The fixup function could return new caps object
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3642>

2022-12-22 21:29:39 +0000  Philippe Normand <philn@igalia.com>

	* ext/webrtc/gstwebrtcbin.c:
	* ext/webrtc/gstwebrtcstats.c:
	* tests/check/elements/webrtcbin.c:
	  webrtcbin: Support for setting kind attribute on RTCRtpStreamStats
	  The attribute maps the `kind` property of the associated transceiver.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3630>

2022-12-23 01:00:57 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11memory.cpp:
	* gst-libs/gst/d3d11/gstd3d11memory.h:
	  d3d11memory: Fix typo in vfunc name
	  s/set_actvie/set_active/g
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3627>

2022-12-19 19:53:28 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvenc.c:
	* sys/nvcodec/gstnvenc.h:
	* sys/nvcodec/gstnvencoder.cpp:
	  nvcudaenc: Don't use default CUDA stream
	  Set non-default CUDA stream via NvEncSetIOCudaStreams() if possible,
	  so that NVENC's internal kernel function can run on the given CUDA
	  stream instead of default CUDA stream
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3615>

2022-12-14 10:35:53 +0100  Evgeny Pavlov <lucenticus@gmail.com>

	* sys/amfcodec/gstamfav1enc.cpp:
	* sys/amfcodec/gstamfav1enc.h:
	* sys/amfcodec/include/components/VideoEncoderAV1.h:
	* sys/amfcodec/meson.build:
	* sys/amfcodec/plugin.cpp:
	  amfcodec: add support of AMF AV1 encoder
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3569>

2022-12-22 00:22:46 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudabasetransform.c:
	  cudabasetransform: Update CUDA stream on context update
	  CUDA stream must be associated with updated CUDA context
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3618>

2022-12-21 14:36:31 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvafilter.c:
	  va: Delay the VAProcPipelineCaps query after context created.
	  The VAAPI vaQueryVideoProcPipelineCaps() requires the context as the
	  parameter. So far, we always pass VA_INVALID_ID and it can succeed.
	  But the API does not say that and in theory, a valid context is required.
	  Now the new platform really needs a valid context and so we have to
	  delay that query until the context is created.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3613>

2022-12-21 00:20:17 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvdecoder.c:
	  nvdecoder: Use own CUDA stream in GL output path
	  Use the same CUDA stream passed to CuvidMapVideoFrame()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3611>

2022-12-13 08:58:43 -0500  Xavier Claessens <xavier.claessens@collabora.com>

	* meson.build:
	  Fix API visibility macros
	  This copies the logic from GLib discussed there:
	  https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2936
	  Beside being simpler, it also fix all public symbols being annotated
	  with dllexport when doing a static build, as discovered there:
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3540#note_1678335
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3567>

2022-12-19 18:41:46 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvdec.c:
	* sys/nvcodec/gstnvdecoder.c:
	  nvdec: Don't use default CUDA stream
	  NVDEC launches CUDA kernel function (ConvertNV12BLtoNV12 or so)
	  when CuvidMapVideoFrame() is called. Which seems to be
	  NVDEC's internal post-processing kernel function, maybe
	  to convert tiled YUV to linear YUV format or something similar.
	  A problem if we don't pass CUDA stream to the CuvidMapVideoFrame()
	  call is that the NVDEC's internel kernel function will use default CUDA stream.
	  Then lots of the other CUDA API calls will be blocked/serialized.
	  To avoid the unnecessary blocking, we should pass our own
	  CUDA stream object to the CuvidMapVideoFrame() call
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3605>

2022-12-16 15:03:12 +0100  Edward Hervey <edward@centricular.com>

	* gst/mpegtsdemux/mpegtsbase.c:
	  mpegts: Always clear packetizer on DISCONT push mode
	  If a discontinuity is detected in push mode, we need to clear the cached section
	  observations since they might have potentially changed.
	  This was only done properly when operating with TIME segments (dvb, udp,
	  adaptive demuxers, ...) but not with BYTE segments (such as with custom app/fd
	  sources).
	  We still don't want to flush out the PCR observations, since this might be
	  needed for seeking in push-based BYTE sources.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1650
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3584>

2022-12-17 20:04:01 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11window_win32.cpp:
	  d3d11videosink: Fixing focus lost on desktop layout change
	  Watch all message on the window thread, instead of internal window only.
	  Otherwise, some global window messages, such as desktop layout change,
	  wouldn't be handled by our window.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3593>

2022-12-17 01:01:00 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/avfvideosrc.m:
	  avfvideosrc: Report latency when doing screen capture
	  There is no `device` when doing screen capture, but there is always an
	  `input`, so use that to decide when we can reply to a latency query.
	  Without this, the latency query just fails.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3589>

2022-12-16 18:15:04 +0100  Victor Manuel Jaquez Leal <vjaquez@igalia.com>

	* sys/va/gstvaav1dec.c:
	  vaav1dec: Remove double caps unref.
	  There was a duplicated caps unref raising a warning.
	  Also it reorgs the sorrounding code for simplicity.
	  Fixes: #1196
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3587>

2022-12-16 02:52:08 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11videosink.cpp:
	* sys/d3d11/gstd3d11window.cpp:
	* sys/d3d11/gstd3d11window.h:
	* sys/d3d11/gstd3d11window_win32.cpp:
	  d3d11videosink: Move potentially time-consuming operations to ::prepare()
	  Move following tasks to ::prepare() from ::show_frame()
	  * CPU -> GPU upload
	  * GstD3D11Window object setup, including input caps change handling
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3574>

2022-12-16 21:42:50 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11window_win32.cpp:
	  d3d11videosink: Call ShowWindow() from window thread
	  ... when rendering on external HWND. ShowWindow() will cause
	  synchronous message passing to window thread and then can be blocked.
	  At the same time, window thread can wait for GStreamer thread.
	  Instead of the synchronous call, queue the task to window message
	  and performs from the window thread.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3583>

2022-12-15 01:15:10 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11videosink.cpp:
	* sys/d3d11/gstd3d11window.cpp:
	* sys/d3d11/gstd3d11window.h:
	* sys/d3d11/gstd3d11window_dummy.cpp:
	* sys/d3d11/gstd3d11window_win32.cpp:
	  d3d11videosink: Fix deadlock when parent window is busy
	  Deadlock sequence:
	  * From a streaming thread, d3d11videosink sends synchronous message
	  to the parent window, so that internal (child) window can be
	  constructed on the parent window's thread
	  * App thread (parent window thread) is waiting for pipeline's
	  state change (to GST_STATE_NULL) but streaming thread is
	  blocked and waiting for app thread
	  To avoid the deadlock, GstD3D11WindowWin32 should send message
	  to the parent window asynchronously.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3570>

2022-12-13 12:23:56 +0100  Thibault Saunier <tsaunier@igalia.com>

	* ext/wpe/gstwpevideosrc.cpp:
	  base:navigation: Cleanup navigation key modifiers enum
	  We were exposing the 'ALT' modifier as if we were guaranteeing its
	  accuracy but truth is we were only exposing configuration dependent
	  values.
	  Make the API simpler for now, the same way as Gtk3 was exposing it, and
	  when we have time to guarantee more values by making them take backends
	  configuration into account, we will expose those values in a accurate
	  way.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1402
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3565>

2022-10-18 12:17:04 +1100  Matthew Waters <matthew@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/webrtc/gstwebrtcbin.c:
	* ext/webrtc/gstwebrtcbin.h:
	* ext/webrtc/utils.c:
	* ext/webrtc/utils.h:
	* tests/check/elements/webrtcbin.c:
	  webrtc: implement support for msid values
	  Local msid values are taken from sink pad property, or fallback to the
	  previously used cname.
	  The remote msid values are exposed on the relevant src pads.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3106>

2022-12-13 04:31:24 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecparsers/gsth264parser.h:
	  h264parser: Update doc for GST_H264_FRMAE_PACKING_TOP_BOTTOM
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1318>

2021-11-07 11:18:15 +1100  Brad Hards <bradh@frogmouth.net>

	* gst-libs/gst/codecparsers/gsth264parser.h:
	* sys/msdk/gstmsdkh264enc.c:
	  h264parser: typo fix in enum value
	  Old value is marked deprecated, new enum with same entry is added. Should be binary compatible.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1318>

2022-10-21 22:46:16 -0500  A. Wilcox <AWilcox@Wilcox-Tech.com>

	* gst-libs/gst/mpegts/gstmpegtsdescriptor.c:
	* tests/check/libs/mpegts.c:
	  mpegts: Handle when iconv doesn't support ISO 6937
	  Systems like musl libc don't support ISO 6937 in iconv.  This ensures
	  that the MPEG-TS plugin can cope with that.  There is existing support
	  in the plugin for other methods, so it seems to have been the original
	  intent anyway.
	  Fixes: #1314
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3245>

2022-12-11 10:12:25 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstvaallocator.c:
	  vaallocator: Fix gi annotations.
	  Remove spurious types and skip functions that returns VASurfaceID
	  which isn't exposed to introspection.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3557>

2022-11-22 12:32:52 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* ext/zxing/gstzxing.cpp:
	* ext/zxing/meson.build:
	  zxing: update to 1.4.0 tag
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3450>

2022-12-06 11:30:47 +0100  Edward Hervey <edward@centricular.com>

	* gst/mpegtsdemux/mpegtspacketizer.c:
	  mpegts: Check continuity counter on section streams
	  This wasn't really done, and is needed in order to detect potential section
	  changes for sections that have got identical information (such as when switching
	  between streams that have the same PAT/PMT pid and subtable information).
	  Other checks exist in tsbase to detect if the "new" PAT/PMT really is an update or not.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3530>

2022-12-08 06:05:25 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudanvrtc.c:
	  cuda: Fix runtime compiler library loading on Windows
	  The cuda is a part of GPU driver but runtime compiler is a part of
	  cuda toolkit, which means the version number can be different.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3545>

2022-12-08 05:58:48 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcuda-private.h:
	* gst-libs/gst/cuda/gstcudautils.c:
	* gst-libs/gst/cuda/gstcudautils.h:
	* sys/nvcodec/gstcudamemorycopy.c:
	  cuda: Hide memory copy util function
	  The method was intended to be used by only cudaupload/download elements
	  and not ready to be a part of public API
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3545>

2022-12-08 04:32:47 +0900  Seungha Yang <seungha@centricular.com>

	* sys/winks/gstksvideosrc.c:
	  ksvideosrc: Warn for deprecated plugin use
	  This plugin should not be used any more
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3544>

2022-12-08 04:25:55 +0900  Seungha Yang <seungha@centricular.com>

	* sys/winscreencap/gstdx9screencapsrc.c:
	* sys/winscreencap/gstgdiscreencapsrc.c:
	  winscreencap: Warn for deprecated plugin use
	  This plugin should not be used any more
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3544>

2022-11-27 00:26:22 +0900  Seungha Yang <seungha@centricular.com>

	* gst/proxy/gstproxysink.c:
	  proxysink: Post EOS message on EOS event
	  proxysink is actual sink (GST_ELEMENT_FLAG_SINK flag has configured)
	  so it should post EOS message.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3472>

2022-12-07 12:28:55 -0300  Thibault Saunier <tsaunier@igalia.com>

	* gst/videoparsers/gsth264parse.c:
	  h264parse: Avoid setting wrong colorimetry info if the stream doesn't contain it
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3543>

2022-12-01 19:35:07 +0200  Marek Olejnik <molejnik@fluendo.com>

	* gst-libs/gst/codecs/gsth265decoder.c:
	  h265decoder: Do not abort when failed to prepare ref pic set
	  Currently the element calls abort when failed to prepare reference
	  picture set. This can happent when the input stream is somehow
	  corrupted, like a rtsp strem with lost packets. Now it will only
	  return with GST_FLOW_ERROR instead of terminating whole process.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3505>

2022-12-07 10:21:52 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/dvbsubenc/gstdvbsubenc.c:
	  dvbsubenc: Forward GAP events as-is if we wouldn't produce an end packet and are not in the middle of an existing subtitle
	  An end packet is only produced once for the last subtitle, so multiple
	  GAP events between subtitles would result only in a single end packet
	  and nothing else otherwise. This would potentially starve downstream
	  then, so instead forward the GAP events in that case.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3534>

2022-12-05 19:30:43 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/directshow/dshowvideosink.cpp:
	  directshow: Fix build error with glib 2.75 and newer
	  Starting with glib 2.75, `NULL` is `nullptr`, which cannot be
	  implicitly coerced to `0`, unlike `NULL`. So explicitly pass `0`.
	  ```
	  [3206/4524] Compiling C++ object subprojects/gst-plugins-bad/sys/directshow/gstdirectshow.dll.p/dshowvideosink.cpp.obj
	  FAILED: subprojects/gst-plugins-bad/sys/directshow/gstdirectshow.dll.p/dshowvideosink.cpp.obj
	  "cl" "-Isubprojects\gst-plugins-bad\sys\directshow\gstdirectshow.dll.p" "-Isubprojects\gst-plugins-bad\sys\directshow" "-I..\subprojects\gst-plugins-bad\sys\directshow" "-Isubprojects\gst-plugins-bad" "-I..\subprojects\gst-plugins-bad" "-Isubprojects\gst-plugins-base\gst-libs" "-I..\subprojects\gst-plugins-base\gst-libs" "-Isubprojects\gstreamer\libs" "-I..\subprojects\gstreamer\libs" "-Isubprojects\gstreamer" "-I..\subprojects\gstreamer" "-Isubprojects\orc" "-I..\subprojects\orc" "-I..\subprojects\gst-plugins-bad\sys\directshow\strmbase\baseclasses" "-Isubprojects\gst-plugins-base\gst-libs\gst\video" "-Isubprojects\gstreamer\gst" "-Isubprojects\gst-plugins-base\gst-libs\gst\audio" "-Isubprojects\gst-plugins-base\gst-libs\gst\tag" "-IC:/gst-install/include/glib-2.0" "-IC:/gst-install/lib/glib-2.0/include" "-IC:/gst-install/include" "/MD" "/nologo" "/showIncludes" "/utf-8" "/W2" "/EHsc" "/O2" "/Zi" "/wd4018" "/wd4146" "/wd4244" "/wd4305" "/utf-8" "/we4002" "/we4003" "/we4013" "/we4020" "/we4027" "/we4029" "/we4033" "/we4045" "/we4047" "/we4053" "/we4062" "/we4098" "/we4101" "/we4189" "/utf-8" "-D_MBCS" "/wd4189" "/wd4456" "/wd4701" "/wd4703" "/wd4706" "/wd4996" "-DHAVE_CONFIG_H" "/Fdsubprojects\gst-plugins-bad\sys\directshow\gstdirectshow.dll.p\dshowvideosink.cpp.pdb" /Fosubprojects/gst-plugins-bad/sys/directshow/gstdirectshow.dll.p/dshowvideosink.cpp.obj "/c" ../subprojects/gst-plugins-bad/sys/directshow/dshowvideosink.cpp
	  ../subprojects/gst-plugins-bad/sys/directshow/dshowvideosink.cpp(62): warning C5051: attribute 'noinline' requires at least '/std:c++20'; ignored
	  ../subprojects/gst-plugins-bad/sys/directshow/dshowvideosink.cpp(123): error C2664: 'LRESULT SendMessageA(HWND,UINT,WPARAM,LPARAM)': cannot convert argument 3 from 'nullptr' to 'WPARAM'
	  ../subprojects/gst-plugins-bad/sys/directshow/dshowvideosink.cpp(123): note: A native nullptr can only be converted to bool or, using reinterpret_cast, to an integral type
	  C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winuser.h(3690): note: see declaration of 'SendMessageA'
	  ../subprojects/gst-plugins-bad/sys/directshow/dshowvideosink.cpp(635): error C2664: 'BOOL SystemParametersInfoA(UINT,UINT,PVOID,UINT)': cannot convert argument 2 from 'nullptr' to 'UINT'
	  ../subprojects/gst-plugins-bad/sys/directshow/dshowvideosink.cpp(635): note: A native nullptr can only be converted to bool or, using reinterpret_cast, to an integral type
	  C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winuser.h(13153): note: see declaration of 'SystemParametersInfoA'
	  ../subprojects/gst-plugins-bad/sys/directshow/dshowvideosink.cpp(1593): error C2664: 'LRESULT SendMessageA(HWND,UINT,WPARAM,LPARAM)': cannot convert argument 3 from 'nullptr' to 'WPARAM'
	  ../subprojects/gst-plugins-bad/sys/directshow/dshowvideosink.cpp(1593): note: A native nullptr can only be converted to bool or, using reinterpret_cast, to an integral type
	  C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winuser.h(3690): note: see declaration of 'SendMessageA'
	  ```
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3528>

2022-12-05 02:29:08 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development

=== release 1.21.3 ===

2022-12-05 01:28:21 +0000  Tim-Philipp Müller <tim@centricular.com>

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

2022-12-04 12:25:41 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ChangeLog:
	* docs/random/ChangeLog-0.8:
	  Remove ChangeLog files from git repository
	  This information is tracked fully in the git repository, so
	  no point having the ChangeLog duplicate it, and it interferes
	  with grepping the repository.
	  We are going to create the ChangeLogs on the fly when generating
	  tarballs going forward (with a limited history), since it's still
	  valuable for tarball consumers to be able to easily see a list of
	  recent changes.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/73
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3521>

2022-11-07 00:10:39 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	* scripts/gen-changelog.py:
	  meson: Generate ChangeLog files for release tarballs on dist
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3521>

2022-12-01 03:52:53 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/d3d11/plugin.cpp:
	  d3d11av1dec: Promote rank to primary + 1
	  ... so that this element can have higher rank than the other software
	  AV1 decoders
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3495>

2022-12-02 07:03:30 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvajpegdec.c:
	  vajpegdec: Reenable element negotiation.
	  negotiation vmethod were overwritten by vabasedec, leading to errors.
	  This was a regression of commit b6538e0560.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3509>

2022-12-01 13:28:16 +0100  Johan Sternerup <johast@axis.com>

	* gst-libs/gst/webrtc/nice/nicestream.c:
	  webrtc: Fix possible use-after-free of GstWebRTCICETransport
	  Because of the asynchronous resolving of mDNS ICE candidates it is
	  possible that GstWebRTCICE outlives webrtcbin. This in turn prolongs
	  the lifetime of the GstWebRTCNiceStream objects via refs in
	  nice_stream_map. Thus the GstWebRTCICETransport objects held in
	  GstWebRTCNiceStream may be invalid at the time they are accessed by
	  the _on_candidate_gathering_done() callback since GstWebRTCNiceStream
	  doesn't take a reference to them. Doing so would create a circular
	  reference, so instead this commit introduces weak references to the
	  transport objects and then we can check if the objects are valid before
	  accessing them.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3502>

2022-11-28 20:42:29 +0100  Victor Manuel Jaquez Leal <vjaquez@igalia.com>

	* sys/va/gstvaav1dec.c:
	* sys/va/gstvabasedec.c:
	* sys/va/gstvabasedec.h:
	* sys/va/gstvah264dec.c:
	* sys/va/gstvah265dec.c:
	* sys/va/gstvajpegdec.c:
	* sys/va/gstvampeg2dec.c:
	* sys/va/gstvavp8dec.c:
	* sys/va/gstvavp9dec.c:
	  va: Handle input caps change.
	  Update output caps if it's notified by baseclass
	  See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3328
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3480>

2022-11-27 13:00:20 +0100  Victor Manuel Jaquez Leal <vjaquez@igalia.com>

	* sys/va/gstvaav1dec.c:
	  vaav1dec: Use gst_va_base_dec_set_output_state().
	  And even that vaav1dec doesn't use vabasedec negotiate vmethod, it should align
	  with the new scheme of using base's width & height for surface size and
	  output_info structure for downstream display size negotiation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3480>

2022-11-26 11:45:52 +0100  Victor Manuel Jaquez Leal <vjaquez@igalia.com>

	* sys/va/gstvavp9dec.c:
	  vavp9dec: Use gst_va_base_dec_set_output_state().
	  As this element reopen the internal decoder differently, it only uses the helper
	  function to negotiate.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3480>

2022-11-28 19:31:57 +0100  Victor Manuel Jaquez Leal <vjaquez@igalia.com>

	* sys/va/gstvampeg2dec.c:
	  vampeg2dec: Streams are progressive by default.
	  By initializating progressive, then interlaced streams are detected correctly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3480>

2022-11-26 09:11:39 +0100  Victor Manuel Jaquez Leal <vjaquez@igalia.com>

	* sys/va/gstvabasedec.c:
	* sys/va/gstvabasedec.h:
	* sys/va/gstvah264dec.c:
	* sys/va/gstvah265dec.c:
	* sys/va/gstvampeg2dec.c:
	* sys/va/gstvavp8dec.c:
	  va: Add and use common decode negotiate vmethod.
	  This vmethod can be used by decoders with the same VA decoder reopen logic:
	  same profile, chroma, width and height.
	  Also a new public method called gst_va_base_dec_set_output_state() with the
	  common GStreamer code for setting the output state, which is always called by
	  the negotiate vmethod.
	  In order to do this refactoring, new variables in vabasedec have to be populated
	  by the decoders:
	  * width and height define the resolution set in VA decoder. In the case of H264
	  would be de coded_width and codec_height, or max_width and max_height in AV1.
	  * output_info is the downstream video info used for negotiation in
	  gst_va_base_dec_set_output_state().
	  * input_state, from codec parent class shall be also held by vabasedec
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3480>

2022-11-24 13:52:59 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvaav1dec.c:
	  vaav1dec: Use gst_va_base_dec_prepare_output_frame().
	  And simplify a bit the code flow.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3480>

2022-11-24 13:15:04 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvabasedec.c:
	* sys/va/gstvabasedec.h:
	* sys/va/gstvah264dec.c:
	* sys/va/gstvajpegdec.c:
	* sys/va/gstvampeg2dec.c:
	* sys/va/gstvavp8dec.c:
	* sys/va/gstvavp9dec.c:
	  va: Add and use gst_va_base_dec_prepare_output_frame().
	  This helper will do downstream negotiation and later will
	  allocate the output frame.
	  H265 and AV1 decoders don't use this approach since their output
	  frame allocation is different.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3480>

2022-11-23 18:29:58 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvaav1dec.c:
	* sys/va/gstvah264dec.c:
	* sys/va/gstvah265dec.c:
	* sys/va/gstvavp8dec.c:
	  va: Remove last_ret error handling in decoders.
	  It was used in the early development of the base classes. Now it
	  shouldn't be needed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3480>

2022-11-23 18:14:30 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvaav1dec.c:
	* sys/va/gstvabasedec.c:
	* sys/va/gstvabasedec.h:
	* sys/va/gstvah264dec.c:
	* sys/va/gstvah265dec.c:
	* sys/va/gstvajpegdec.c:
	* sys/va/gstvampeg2dec.c:
	* sys/va/gstvavp8dec.c:
	* sys/va/gstvavp9dec.c:
	  va: Add and use gst_va_base_dec_process_output().
	  This function will copy the frame, if it's needed, and will apply buffer flags.
	  The function is used by all the decoders.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3480>

2022-12-01 22:50:30 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1dec.c:
	* sys/va/gstvabaseenc.c:
	  va: Fix the caps memory leak by gst_va_pool_new_with_config().
	  The gst_va_pool_new_with_config() will ref the caps, and so we need
	  to unref after that.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3503>

2022-11-30 13:33:49 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvaav1dec.c:
	* sys/va/gstvadevice.c:
	* sys/va/gstvadevice.h:
	* sys/va/gstvah264dec.c:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265dec.c:
	* sys/va/gstvah265enc.c:
	* sys/va/gstvajpegdec.c:
	* sys/va/gstvampeg2dec.c:
	* sys/va/gstvavp8dec.c:
	* sys/va/gstvavp9dec.c:
	  va: Add render node name in non-first devices.
	  There could be multi-GPU setups where the non-first has more
	  entrypoints than the first one, and the elements names are not
	  homogeneous, leading to pipeline building error.
	  This patch add the render node in the elements names when they belong
	  to the non-first device.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3491>

2022-11-26 21:02:00 +0100  Victor Manuel Jaquez Leal <vjaquez@igalia.com>

	* sys/va/gstvafilter.c:
	  vafilter: Increase the caps for HDR.
	  As they might be other medatadata types.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3473>

2022-11-26 20:48:45 +0100  Victor Manuel Jaquez Leal <vjaquez@igalia.com>

	* sys/va/gstvafilter.c:
	  vafilter: Increase the number of 3DLUT caps to 16.
	  To fix the warning on Alderlake
	  vafilter gstvafilter.c:534:gst_va_filter_ensure_filters:<vafilter0>
	  vaQueryVideoProcFiltersCaps: list argument exceeds maximum number
	  Increase the number of caps to 16 as vadumpcaps does.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3473>

2022-11-15 06:58:14 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* tests/examples/va/vaenc-dynamic-reconfigure.c:
	  example: vaenc-dynamic-reconfigure: Support H265.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2036>

2022-05-04 10:42:59 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  va: Add H265 SCC profile support.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2036>

2022-05-02 23:14:32 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  va: Add extended formats support such as 10/12 bits, 4:2:2 and 4:4:4.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2036>

2022-04-25 15:49:31 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaencoder.c:
	* sys/va/gstvaencoder.h:
	* sys/va/gstvah265enc.c:
	  va: enable multi tile support for H265 encoder.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2036>

2022-06-02 21:18:16 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  va: enable vah265lpenc for low power mode H265 encoder.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2036>

2022-04-18 22:36:09 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  va: Add the low-delay-b frame support for H265.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2036>

2022-04-06 17:06:20 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaencoder.c:
	* sys/va/gstvaencoder.h:
	  va: Add prediction direction attribute support for H265 encoder.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2036>

2022-03-25 21:55:28 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/plugin.c:
	  va: Register and enable and the vah265enc plugin.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2036>

2022-03-25 21:54:30 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	* sys/va/gstvah265enc.h:
	* sys/va/meson.build:
	  va: Implement the vah265enc plugin for va HEVC encoding.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2036>

2022-11-29 02:22:50 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfvideosrc.cpp:
	  mfvideosrc: Fix buffer leak
	  The allocated buffer should be released
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3479>

2022-11-29 02:10:42 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfsourcereader.cpp:
	* sys/mediafoundation/gstwin32devicewatcher.cpp:
	  mediafoundation: Chain up from GObject::constructed
	  ... so that GstTracer can trace it
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3479>

2022-11-29 02:06:11 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11videosink.cpp:
	* sys/d3d11/gstd3d11window_corewindow.cpp:
	* sys/d3d11/gstd3d11window_dummy.cpp:
	* sys/d3d11/gstd3d11window_swapchainpanel.cpp:
	* sys/d3d11/gstd3d11window_win32.cpp:
	  d3d11: Use correct ref/unref methods
	  Those objects are GstObject subclasses
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3479>

2022-11-25 20:19:22 +0900  Seungha Yang <seungha@centricular.com>

	* sys/win32ipc/gstwin32ipcvideosrc.cpp:
	  win32ipcvideosrc: Fix property name and enum value mismatch
	  Make them consistent
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3465>

2022-11-25 20:14:43 +0900  Seungha Yang <seungha@centricular.com>

	* sys/win32ipc/gstwin32ipcvideosrc.cpp:
	  win32ipcvideosrc: Protect pipe from flush thread
	  The pipe object must be protected against GstBaseSrc::unlock()
	  thread.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3465>

2022-11-25 18:38:27 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gsth264parser.c:
	  h264parser: Fix a typo in pred_weight_table parsing.
	  When setting default values, the reference list number of l1 is wrong.
	  Fix: https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/issues/336
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3464>

2022-11-22 17:01:37 +0800  Ma, Mingyang <mingyang.ma@intel.com>

	* sys/msdk/gstmsdkdec.c:
	  msdkdec: Update decoding pts
	  Update frame pts before calling gst_video_decoder_finish_frame, or frames may be lost when transcoding in specific stream
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3449>

2022-11-19 02:56:27 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* meson_options.txt:
	* sys/meson.build:
	* sys/win32ipc/gstwin32ipcutils.cpp:
	* sys/win32ipc/gstwin32ipcutils.h:
	* sys/win32ipc/gstwin32ipcvideosink.cpp:
	* sys/win32ipc/gstwin32ipcvideosink.h:
	* sys/win32ipc/gstwin32ipcvideosrc.cpp:
	* sys/win32ipc/gstwin32ipcvideosrc.h:
	* sys/win32ipc/meson.build:
	* sys/win32ipc/plugin.cpp:
	* sys/win32ipc/protocol/win32ipcmmf.cpp:
	* sys/win32ipc/protocol/win32ipcmmf.h:
	* sys/win32ipc/protocol/win32ipcpipeclient.cpp:
	* sys/win32ipc/protocol/win32ipcpipeclient.h:
	* sys/win32ipc/protocol/win32ipcpipeserver.cpp:
	* sys/win32ipc/protocol/win32ipcpipeserver.h:
	* sys/win32ipc/protocol/win32ipcprotocol.cpp:
	* sys/win32ipc/protocol/win32ipcprotocol.h:
	* sys/win32ipc/protocol/win32ipcutils.cpp:
	* sys/win32ipc/protocol/win32ipcutils.h:
	  win32ipc: Add WIN32 shared memory videosrc/sink elements
	  Windows supports various IPC methods but that's completely
	  different form that of *nix from implementation point of view.
	  So, instead of adding shared memory functionality to existing
	  shm plugin, new WIN32 shared memory source/sink elements
	  are implemented in this commit.
	  Each videosink (server) and videosrc (client) pair will communicate
	  using WIN32 named pipe and thus user should configure unique/proper
	  pipe name to them (e.g., \\.\pipe\MyPipeName).
	  Once connection is established, videosink will create named shared memory
	  object per frame and client will be able to consume the object
	  (i.e., memory mapped file handle) without additional copy operation.
	  Note that implementations under "protocol" directory are almost
	  pure C/C++ with WIN32 APIs except for a few defines and debug functions.
	  So, applications can take only the protocol part so that the application
	  can send/receive shared-memory object from/to the other end
	  even if it's not an actual GStreamer element.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3441>

2022-11-23 14:35:07 +0100  Jan Lorenz <jan.lorenz@pascom.net>

	* sys/mediafoundation/gstmfcapturedshow.cpp:
	  mfvideosrc: check HRESULT of CreateClassEnumerator correctly
	  Fixes a crash during direct show device enumeration
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1599
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3460>

2022-11-22 15:27:38 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/kms/gstkmssink.h:
	  kmssink: Fix compilation without kernel headers
	  There was a drm/drm_mode.h included added recently, drm/ is usually
	  referencing the linux kernel header, but we only requires the libdrm
	  headers to be installed. On top of this, including drm_mode.h is never
	  needed as its already included by drm.h.
	  Fixes #1596
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3452>

2022-11-10 08:50:35 -0500  Daniel Morin <daniel.morin@collabora.com>

	* ext/onnx/gstonnxclient.cpp:
	* ext/onnx/gstonnxclient.h:
	* ext/onnx/gstonnxobjectdetector.cpp:
	* ext/onnx/meson.build:
	  onnx: Update to OnnxRT >= 1.13.1 API
	  - Replace deprecated methods
	  - Add a check on ORT version we are compatible with.
	  - Add clarification to the example given.
	  - Add the url to retrieve the model mentioned in the example.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3388>

2022-11-22 16:42:26 +0800  He Junyan <junyan.he@intel.com>

	* gst/videoparsers/gsth265parse.c:
	  h265parse: Add the missing timestamp when splitting a frame.
	  When splitting a frame, the gst_buffer_copy_region() does not copy
	  the timestamp correctly for sub frames when the offset is not 0.
	  We still need those timestamps for each output sub frame.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3448>

2022-11-22 15:50:44 +0800  He Junyan <junyan.he@intel.com>

	* gst/videoparsers/gsth264parse.c:
	  h264parse: Add the missing timestamp when splitting a frame.
	  When splitting a frame, the gst_buffer_copy_region() does not copy
	  the timestamp correctly for sub frames when the offset is not 0.
	  We still need those timestamps for each output sub frame.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3448>

2022-11-21 19:40:35 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/dvbsubenc/gstdvbsubenc-util.c:
	* gst/dvbsubenc/gstdvbsubenc.c:
	* gst/dvbsubenc/gstdvbsubenc.h:
	  dvbsubenc: Write Display Definition Segment if a non-default width/height is used
	  Otherwise it can't be rendered by dvbsuboverlay or ffmpeg at least.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3446>

2022-10-28 00:06:23 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/aom/gstav1dec.c:
	  av1dec: Demote rank to secondary
	  cerbero does not build this plugin for now, and there's altanative
	  dav1ddec
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3287>

2022-11-18 13:32:10 -0800  Bill Hofmann <bill.hofmann@gmail.com>

	* sys/kms/gstkmsedid.c:
	* sys/kms/gstkmsedid.h:
	* sys/kms/gstkmssink.c:
	* sys/kms/gstkmssink.h:
	* sys/kms/meson.build:
	  kmssink: add HDR10 infoframe support
	  If stream has HDR10 metadata and HDMI device EDID supports it, this patch
	  will set the DRM properties accordingly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3303>

2022-11-21 15:48:49 -0500  Bill Hofmann <bill.hofmann@gmail.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/kms/gstkmssink.c:
	* sys/kms/gstkmssink.h:
	  kmssink: Add skip-vsync property
	  The legacy emulation in DRM/KMS drivers badly interact with GStreamer and
	  may cause the framerate to be halved. With this property, users can disable
	  vsync (which is handled internally by the emulation) in order to regain the
	  full framerate.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3303>

2022-11-18 02:06:51 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gstav1decoder.c:
	  av1decoder: Clear highest_spatial_layer per sequence header
	  Clear the value to default zero, indicating that no spatial scalability
	  layer is used.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3430>

2022-11-18 01:59:55 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gstav1decoder.c:
	  av1decoder: Don't error out by dropped OBU
	  OBU can be dropped if the current layer is not in selected operation
	  point
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3430>

2022-11-18 01:49:43 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gstav1decoder.c:
	  av1decoder: Fix wrong spatial layer validation
	  Highest spatial id and temporal id is independent, and should not drop
	  temporal enhance layer by the previous condition. Note that
	  the decision for dropping OBU based on operation point is being
	  handled in gst_av1_parser_identify_one_obu() already.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1585
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3430>

2022-11-18 01:43:26 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecparsers/gstav1parser.c:
	  av1parser: Don't print warning for expected OBU drop
	  Dropping an OBU which is not in selected operation point is an
	  expected condition.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3430>

2022-11-18 01:41:33 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecparsers/gstav1parser.c:
	  av1parser: Remove impossible condition
	  unsigned integer cannot be negative
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3430>

2022-11-19 19:22:17 +1100  Jan Schmidt <jan@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: Remove queue after rtpfunnel
	  The original BUNDLE support commit placed a queue after the
	  rtpfunnel that combines streams, but I don't see a good reason for
	  it. It has default settings, so if network output is slow might
	  accidentally store up to 1 second of pending data, increasing
	  latency.
	  Remove it in favour of doing any necessary buffering before
	  webrtcbin. If it turns out that there is a reason for it to
	  exist, the limits should probably be configurable and small.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3437>

2022-11-19 04:42:56 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/webrtc/webrtc_fwd.h:
	  webrtc: Improve GstWebRTCStatsType docstring
	  Fix a typo of peer-connectiion -> peer-connection
	  Add a link to the w3c RTCStats type for a description
	  of what each statistics type is.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3434>

2022-11-19 04:42:20 +1100  Jan Schmidt <jan@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: Fix a typo in debug log
	  transceiever -> transceiver
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3434>

2022-11-13 03:07:54 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/qsv/plugin.cpp:
	  qsv: Promote encoder rank to PRIMARY on Windows
	  QSV is very well integrated with GstD3D11 infrastructure on Windows,
	  and this is the recommended H/W encoder element over the MediaFoundation
	  plugins on Intel GPU system.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3393>

2022-11-15 13:50:13 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2format.c:
	  video: Add arbitrary tile dimensions support
	  In current tile representation, only tiles with power of two
	  width and height in bytes are supported. This limitation
	  prevents adding more complex tiles formats.
	  In this patch, we deprecate tile_ws and tile_hs from GstVideoFormatInfo and
	  replace if with an array of GstVideoTileInfo. Each plane tiles are then
	  described with their pixels width/height, line stride and total size.
	  The helper gst_video_format_info_get_tile_sizes() that depends on the
	  deprecated API is also being removed. This can simply be removed as it wasn't
	  in any stable release yet.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3424>

2020-08-31 14:04:54 +0200  Johan Sternerup <johast@axis.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/webrtc/gstwebrtcbin.c:
	* gst-libs/gst/webrtc/ice.c:
	* gst-libs/gst/webrtc/ice.h:
	* gst-libs/gst/webrtc/nice/nice.c:
	  webrtcbin: Add settings for HTTP proxy
	  Pass this to libnice which has a simple HTTP 1.0 proxy with basic
	  authentication only.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2867>

2021-10-20 13:02:31 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst/mpegtsdemux/tsdemux.c:
	  tsdemux: Add pad-name to warning for continuity mismatch
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3141>

2022-05-02 19:13:41 +0200  Enrique Ocaña González <eocanha@igalia.com>

	* ext/hls/gsthlsdemux.c:
	* ext/hls/gsthlsdemux.h:
	* ext/hls/m3u8.c:
	* ext/hls/m3u8.h:
	* tests/check/elements/hlsdemux_m3u8.c:
	  hlsdemux: Expose EXT-X-PROGRAM-DATE-TIME as tags.
	  This allows an application to use timestamps associated
	  with fragments.
	  Patch by: Thomas Bluemel <tbluemel@control4.com>
	  See: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/195
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1417>

2022-11-16 19:39:47 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvabaseenc.c:
	  vabaseenc: Reduce logging noise if finish_frame fails.
	  Fixes: #1579
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3423>

2022-11-13 03:28:23 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/amfcodec/plugin.cpp:
	  amfcodec: Promote encoder rank to PRIMARY
	  This H/W encoder implementation is the recommended element
	  on AMD system over the MediaFoundation one.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3394>

2022-11-02 14:45:51 +0100  Edward Hervey <edward@centricular.com>

	* gst/mpegtsdemux/tsdemux.c:
	  tsdemux: Push GST_EVENT_STREAM_COLLECTION
	  Demuxers that are not streams-aware will have that handled by parsebin. This
	  created a difference in results downstream between streams-aware and
	  non-streams-aware demuxers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2784>

2022-11-14 15:53:00 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	  v4l2codecs: Allow output caps to be updated
	  This change allow output caps to be updated even though we stay in
	  streaming state. This is needed so that any upstream updated to fields
	  like framerate, hdr data, etc. can result in a downstream caps event
	  being pushed.
	  Previously, any of these changes was being ignored and the downstream
	  caps would not reflect it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3328>

2022-11-05 21:06:39 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvav1dec.c:
	* sys/nvcodec/gstnvdecoder.c:
	* sys/nvcodec/gstnvdecoder.h:
	* sys/nvcodec/gstnvh264dec.c:
	* sys/nvcodec/gstnvh265dec.c:
	* sys/nvcodec/gstnvvp8dec.c:
	* sys/nvcodec/gstnvvp9dec.c:
	  nvdecoder: Handle input caps change
	  Update output caps if it's notified by baseclass
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3328>

2022-11-05 21:00:43 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvav1dec.c:
	* sys/nvcodec/gstnvdecoder.c:
	* sys/nvcodec/gstnvdecoder.h:
	* sys/nvcodec/gstnvh264dec.c:
	* sys/nvcodec/gstnvh265dec.c:
	* sys/nvcodec/gstnvvp8dec.c:
	* sys/nvcodec/gstnvvp9dec.c:
	  nvdecoder: Don't hold decoder output state
	  It's not referenced by this implementation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3328>

2022-11-05 20:16:21 +0900  Seungha Yang <seungha@centricular.com>

	* tests/examples/codecs/decoder-caps-update.cpp:
	* tests/examples/codecs/meson.build:
	* tests/examples/meson.build:
	  examples: Add test code to verify decoder caps update
	  Sample command lines
	  * Configures pipeline with video encoder
	  decoder-caps-update \
	  --encoder="video/x-raw,format=NV12 ! qsvh264enc" \
	  --decoder=d3d11h264dec \
	  --videosink=d3d11videosink
	  * Playing exisiting file
	  decoder-caps-update \
	  --location=test_file.mp4 \
	  --decoder=d3d11h264dec \
	  --videosink=d3d11videosink
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3328>

2022-11-05 02:47:54 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11av1dec.cpp:
	* sys/d3d11/gstd3d11decoder.cpp:
	* sys/d3d11/gstd3d11decoder.h:
	* sys/d3d11/gstd3d11h264dec.cpp:
	* sys/d3d11/gstd3d11h265dec.cpp:
	* sys/d3d11/gstd3d11mpeg2dec.cpp:
	* sys/d3d11/gstd3d11vp8dec.cpp:
	* sys/d3d11/gstd3d11vp9dec.cpp:
	  d3d11decoder: Handle input caps change
	  Update output caps if it's notified by baseclass
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3328>

2022-11-05 01:07:02 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gstav1decoder.c:
	* gst-libs/gst/codecs/gstav1picture.c:
	* gst-libs/gst/codecs/gstav1picture.h:
	* gst-libs/gst/codecs/gsth264decoder.c:
	* gst-libs/gst/codecs/gsth264picture.c:
	* gst-libs/gst/codecs/gsth264picture.h:
	* gst-libs/gst/codecs/gsth265decoder.c:
	* gst-libs/gst/codecs/gsth265picture.c:
	* gst-libs/gst/codecs/gsth265picture.h:
	* gst-libs/gst/codecs/gstmpeg2decoder.c:
	* gst-libs/gst/codecs/gstmpeg2picture.c:
	* gst-libs/gst/codecs/gstmpeg2picture.h:
	* gst-libs/gst/codecs/gstvp8decoder.c:
	* gst-libs/gst/codecs/gstvp8picture.c:
	* gst-libs/gst/codecs/gstvp8picture.h:
	* gst-libs/gst/codecs/gstvp9decoder.c:
	* gst-libs/gst/codecs/gstvp9picture.c:
	* gst-libs/gst/codecs/gstvp9picture.h:
	  codecs: Keep track of non-decoding-essential input state change
	  In theory, input caps can be updated anytime at non-keyframe or
	  sequence boundary, such as HDR10 metadata, framerate, aspect-ratio
	  or so. Those information update might not trigger ::new_sequence()
	  or subclass may ignore the changes.
	  By this commit, input state change will be tracked by baseclass
	  and subclass will be able to know the non-decoding-essential
	  update by checking the codec specific picture struct
	  on ::output_picture()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3328>

2022-11-16 09:42:08 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst/mpegtsdemux/mpegtspacketizer.c:
	  Revert "mpegtspacketizer: memcmp potentially seen_before data"
	  This reverts commit fcad4cc646a23e4e621ec5e8485958ab78d98090.
	  This was wrong is so many ways.
	  * The memcmp was badly used (it should use == 0 to check the data is identical,
	  and not != 0)
	  * There was no boundary checks on the present stream section_data when passing
	  it to memcmp.
	  * The return value should have been TRUE (i.e. we have done all checks, none of
	  them failed, therefore the section has been seen before)
	  * stream->section_data would *always* be NULL if the section had already been
	  processed
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1559
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3421>

2022-11-16 09:29:59 +0100  Edward Hervey <edward@centricular.com>

	* gst/mpegtsdemux/mpegtsbase.c:
	  mpegts: Check is program is identical before updating
	  There is no need to update the program if it's identical :)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3421>

2022-11-16 03:15:44 +0900  Seungha Yang <seungha@centricular.com>

	* gst/codectimestamper/gstcodectimestamper.c:
	* gst/codectimestamper/gstcodectimestamper.h:
	  codectimestamper: Remove duplicated GstSegment struct
	  Use the one in priv struct. And use gst_segment_is_equal()
	  to compare GstSegment
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3380>

2022-11-09 18:03:48 +1100  Matthew Waters <matthew@centricular.com>

	* gst/codectimestamper/gstcodectimestamper.c:
	* tests/check/elements/h264timestamper.c:
	* tests/check/meson.build:
	  h264/5timestamper: provide a workaround for h264/5parse producing pts=NONE buffers
	  A workaround for
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/649
	  and
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/287
	  which is hard to change baseparse behaviour for both video and audio
	  parsers.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3380>

2022-11-12 06:16:59 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	  nvcodec: Update plugin cache
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3389>

2022-11-12 05:45:15 +0900  Seungha Yang <seungha@centricular.com>

	* tests/check/elements/cudaconvert.c:
	  tests: cudaconvert: Update test code
	  Adding more formats, and rescale test with borders
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3389>

2022-11-12 04:48:50 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudaconvertscale.c:
	  cudaconvertscale, cudascale: Add "add-borders" property and support 8bits RGB planar formats
	  Adding "add-borders" property which is identical to that of
	  videoscale and this will be enabled by default.
	  And adding RGBP/BGRP/GBR/GBRA format support.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3389>

2022-11-12 04:06:32 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/cuda-converter.c:
	* sys/nvcodec/cuda-converter.h:
	* sys/nvcodec/gstcudaconverter.c:
	* sys/nvcodec/gstcudaconverter.h:
	* sys/nvcodec/gstcudaconvertscale.c:
	* sys/nvcodec/meson.build:
	  cuda: Rewrite colorspace/rescale object
	  Rewriting GstCudaConverter object, since the old implementation was not
	  well organized and it's hard to add new features.
	  Moreover, the conversion operations were not very optimized.
	  Major change of this implementation:
	  * Remove redundant intermediate conversion operations such as
	  any RGB -> ARGB(64) conversion or any YUV -> Y444 (or 16bits Y444).
	  That's not required most of cases. The only required case is
	  converting 24bits (such as RGB/BGR) packed format to 32bits format
	  because CUDA texture object does not support sampling 24bits format
	  * Use normalized sample fetching (i.e., [0, 1] range float value)
	  and also normalized coordinates system for CUDA texture.
	  It's consistent with the other graphics APIs such as Direct3D
	  and OpenGL, that makes sampling operations much easier.
	  * Support a kind of viewport and adopt math for colorspace conversion
	  from GstD3D11 implementation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3389>

2022-11-10 19:38:03 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudamemory.c:
	* sys/nvcodec/gstcudaformat.h:
	  cudaupload,cudadownload: Add support for planar 8bits RGB formats
	  Defines RGBP, BGRP, and GBR formats, which have the same memory
	  layout as already supported Y444. And defines GBRA format as well
	  which needs just one additional alpha plane
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3389>

2022-11-10 20:47:44 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudacontext.c:
	  cudacontext: Store texture alignment
	  it was missed in the previous refactoring
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3389>

2022-11-12 04:01:08 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudabasefilter.c:
	* sys/nvcodec/gstcudabasefilter.h:
	* sys/nvcodec/gstcudaconvert.c:
	* sys/nvcodec/gstcudaconvert.h:
	* sys/nvcodec/gstcudaconvertscale.c:
	* sys/nvcodec/gstcudaconvertscale.h:
	* sys/nvcodec/gstcudafilter.c:
	* sys/nvcodec/gstcudascale.c:
	* sys/nvcodec/gstcudascale.h:
	* sys/nvcodec/meson.build:
	  cudaconvert, cudascale: Port to GstCudaBaseCovert baseclass
	  Don't need to hold duplicated code in the source tree
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3389>

2022-11-09 21:31:01 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudabasefilter.h:
	* sys/nvcodec/gstcudaconvertscale.c:
	* sys/nvcodec/gstcudaconvertscale.h:
	* sys/nvcodec/gstcudafilter.c:
	* sys/nvcodec/meson.build:
	  cuda: Add convertscale element
	  GstCudaConverter object can do colorspace conversion and scale at once.
	  Adding new element "cudaconvertscale" to do that, this can
	  save unnecessary GPU operation if colorspace conversion and
	  rescale is required for given input stream format.
	  Most of codes are taken from d3d11convert element
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3389>

2022-11-10 14:39:12 +0800  Elliot Chen <elliot.chen@nxp.com>

	* gst-libs/gst/play/gstplay.c:
	  gstplay: add warning message details check before post it
	  For some warning message which has no detail data, need check to avoid printing critical log.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3382>

2021-10-14 11:56:58 +0200  Rafał Dzięgiel <rafostar.github@gmail.com>

	* tests/check/elements/dash_mpd.c:
	  tests: Add DASH MPD baseURL with query test
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1147>

2021-10-14 10:12:51 +0200  Rafał Dzięgiel <rafostar.github@gmail.com>

	* ext/dash/gstmpdparser.c:
	  mpdparser: Fix missing baseURL query
	  When no initializationURL or mediaURL, return baseURL that also
	  contains original URI query if available. This fixes a problem
	  where URI query was being omitted in the HTTP requests.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1147>

2021-10-14 10:09:31 +0200  Rafał Dzięgiel <rafostar.github@gmail.com>

	* ext/dash/gstmpdclient.c:
	* ext/dash/gstmpdparser.c:
	* ext/dash/gstmpdparser.h:
	  mpdparser: Be consistent about returning duplicated URL
	  Instead of returning a "const gchar" or a "gchar" that should not be freed, always
	  return a duplicated string as those functions were used together with g_strdup anyway.
	  This is needed to prepare support for returning modified strings in next commit.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1147>

2021-10-14 10:18:40 +0200  Rafał Dzięgiel <rafostar.github@gmail.com>

	* ext/dash/gstmpdparser.c:
	  mpdparser: Return correct mediaURL value
	  This fixes a problem where get_mediaURL was returning NULL when segmentURL
	  was unavailable instead of baseURL as a fallback.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1147>

2022-11-13 02:08:15 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	  d3d11converter: Fix YUY2 conversion error
	  Always configure shader conversion path, then fallback to the
	  shader path if processor is not available
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3392>

2022-11-12 22:55:52 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst-libs/gst/d3d11/gstd3d11-private.h:
	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* tests/check/elements/d3d11colorconvert.c:
	  d3d11: Add support for planar RGB formats
	  Adding RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, and
	  GBRA_12LE format support
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3392>

2022-11-13 02:28:42 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	  d3d11screencapturesrc: Update plugin cache
	  Missed in
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3360
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3392>

2022-11-15 00:11:15 +1100  Jan Schmidt <jan@centricular.com>

	* ext/aes/gstaesdec.c:
	  aesdec: Fix padding removal for per-buffer-padding=FALSE
	  When per-buffer-padding is FALSE, the OpenSSL context needs
	  to be told to remove any padding at the end of the ciphertext
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1243
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3406>

2022-11-12 09:16:36 +0100  Edward Hervey <edward@centricular.com>

	* gst/transcode/gsttranscodebin.c:
	  transcodebin: Use const arguments for clarity
	  And rename it when it classhes with existing local variable
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390>

2022-11-12 09:15:23 +0100  Edward Hervey <edward@centricular.com>

	* gst/transcode/gsttranscodebin.c:
	  transcodebin: Don't leak GstStream
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390>

2022-11-12 08:35:27 +0100  Edward Hervey <edward@centricular.com>

	* gst/transcode/gsttranscodebin.c:
	  transcode: Don't leak caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390>

2022-11-12 08:35:12 +0100  Edward Hervey <edward@centricular.com>

	* gst/transcode/gst-cpu-throttling-clock.c:
	  transcode: Don't leak timer
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390>

2022-11-11 14:37:17 +0100  Edward Hervey <edward@centricular.com>

	* gst/mpegtsdemux/mpegtsbase.c:
	  mpegtsbase: Don't leak GList
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390>

2022-11-12 10:04:39 +0100  Edward Hervey <edward@centricular.com>

	* gst/transcode/gsturitranscodebin.c:
	  uritranscodebin: Don't leak uris, profile, sinkpad and filters
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390>

2022-11-12 10:04:26 +0100  Edward Hervey <edward@centricular.com>

	* gst/transcode/gsttranscodebin.c:
	  transcodebin: Don't leak profile
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390>

2022-11-12 10:03:48 +0100  Edward Hervey <edward@centricular.com>

	* gst/transcode/gsttranscodebin.c:
	  transcodebin: Actually free the TranscodingStream structure
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390>

2022-11-12 10:02:53 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/transcoder/gsttranscoder.c:
	  transcoder: Don't leak API bus and GMainLoop
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390>

2022-11-10 03:23:53 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/meson.build:
	  meson: d3d11: Clarify the message for WGC support check
	  Even Windows10 SDK seems to have required symbols depending on installed
	  SDK version
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3376>

2022-11-10 02:49:38 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11winrtcapture.cpp:
	  d3d11screencapturesrc: Fix build error with MSVC x86
	  Delete the code for now. Note that the code block is unnecessary already
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3375>

2022-11-10 14:31:43 +1100  Matthew Waters <matthew@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	* ext/webrtc/webrtcdatachannel.c:
	* ext/webrtc/webrtcdatachannel.h:
	  webrtc/datachannel: handle error messages from appsrc/sink
	  Fixes a possible race where closing a data channel may produce e.g.
	  not-linked errors.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3381>

2022-11-10 14:22:30 +1100  Matthew Waters <matthew@centricular.com>

	* ext/sctp/gstsctpdec.c:
	  sctpdec: fix stream reset (src pad removal) if no data is ever received
	  If we don't receive any data from usrsctp, then there will be no src pad
	  for the stream id and the stream reset will fail to remove the relevant
	  src pad.  Workaround by first attempting to add the relevant src pad, then
	  almost immediately removing it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3381>

2022-07-19 17:42:12 +0800  He Junyan <junyan.he@intel.com>

	* tests/check/libs/h264bitwriter.c:
	* tests/check/libs/h265bitwriter.c:
	  test: Correct the test suite name of the h264 and h265 bitwriter.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3384>

2022-10-10 19:58:12 +0100  Colin Kinloch <colin.kinloch@collabora.com>

	* sys/va/gstvavpp.c:
	  videocrop, videobox: Simplify navigation event handling and support touch events
	  Signed-off-by: Colin Kinloch <colin.kinloch@collabora.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3053>

2022-09-23 19:29:31 +0100  Colin Kinloch <colin.kinloch@collabora.com>

	* sys/va/gstvavpp.c:
	  va: Fix vapostproc navigation event co-ordinate mapping
	  Signed-off-by: Colin Kinloch <colin.kinloch@collabora.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3053>

2022-09-19 18:05:28 +0100  Colin Kinloch <colin.kinloch@collabora.com>

	* sys/va/gstvavpp.c:
	  va: Use gst_video_orientation_from_tag to parse orientation
	  Signed-off-by: Colin Kinloch <colin.kinloch@collabora.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3053>

2022-09-07 16:26:22 +0800  Tong Wu <tong1.wu@intel.com>

	* sys/msdk/gstmsdkvpp.c:
	  msdkvpp: delete the macros to make video memory work on Windows
	  Since gst_msdk_import_to_msdk_surface has been implemented for d3d11, we
	  delete the macros to make it work on Windows.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231>

2022-09-07 15:29:37 +0800  Tong Wu <tong1.wu@intel.com>

	* sys/msdk/gstmsdkvpp.c:
	  msdkvpp: modify the way of copying system memory to msdk surface
	  Replace video_copy with memcpy to fix the issue when the sizes of the
	  src frame and dst frame don't match. Moreover, for Windows, you have to
	  do the copy first and call gst_msdk_import_to_msdk_surface later.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231>

2022-09-07 10:55:57 +0800  Tong Wu <tong1.wu@intel.com>

	* sys/msdk/gstmsdkvpp.c:
	  msdkvpp: add d3d11 support during negotiation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231>

2022-09-02 16:03:09 +0800  Tong Wu <tong1.wu@intel.com>

	* sys/msdk/gstmsdkvpp.c:
	  msdkvpp: add d3d11 video memory to sink and src caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231>

2022-09-07 10:44:16 +0800  Tong Wu <tong1.wu@intel.com>

	* sys/msdk/gstmsdkvpp.c:
	* sys/msdk/gstmsdkvpp.h:
	  msdkvpp: delete use_sinkpad_va and use_srcpad_va
	  This two variables are no longer useful. Delete them for now.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231>

2022-08-26 16:19:33 +0800  Tong Wu <tong1.wu@intel.com>

	* sys/msdk/gstmsdkenc.c:
	  msdkenc: modify the way of copying system memory to msdk surface
	  Replace video_copy with memcpy to fix the issue when the sizes of the
	  src frame and dst frame don't match. Moreover, for Windows, you have to
	  do the copy first and call gst_msdk_import_to_msdk_surface later.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231>

2022-10-17 17:01:18 +0800  Tong Wu <tong1.wu@intel.com>

	* sys/msdk/gstmsdkallocator.h:
	* sys/msdk/gstmsdkallocator_d3d.c:
	* sys/msdk/gstmsdkenc.c:
	  msdkallocator_d3d: add d3d11 video memory and import it to msdk surface
	  This patch introduces d3d11 texture and index to GstMsdkMemoryID and
	  implements gst_msdk_import_to_msdk_surface in order to wrap the surface
	  to mfxMemId.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231>

2022-08-26 14:13:36 +0800  Tong Wu <tong1.wu@intel.com>

	* sys/msdk/gstmsdkallocator_d3d.c:
	  msdkallocator_d3d: implement GetHDL callback function
	  During encoding process, oneVPL runtime will call GetHDL callback function.
	  This patch implements this function for the use of msdk.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231>

2022-10-17 16:48:15 +0800  Tong Wu <tong1.wu@intel.com>

	* sys/msdk/gstmsdkallocator.h:
	* sys/msdk/gstmsdkallocator_libva.c:
	* sys/msdk/gstmsdkallocator_libva.h:
	* sys/msdk/gstmsdkenc.c:
	* sys/msdk/gstmsdkvpp.c:
	  msdkallocator: add a parameter to function gst_msdk_import_to_msdk_surface
	  Add a flags parameter to function gst_msdk_import_to_msdk_surface and
	  move the function declaration to gstmsdkallcator.h to prepare for adding
	  Windows implementation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231>

2022-08-19 13:51:11 +0800  Tong Wu <tong1.wu@intel.com>

	* sys/msdk/gstmsdkenc.c:
	* sys/msdk/gstmsdkenc.h:
	  msdkenc: add d3d11 pool during negotiation
	  This patch adds Windows specific set_format and propose_allocation
	  functions to enable creating d3d11 pools during negotiation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231>

2022-08-19 13:40:05 +0800  Tong Wu <tong1.wu@intel.com>

	* sys/msdk/gstmsdkenc.c:
	* sys/msdk/gstmsdkh265enc.c:
	* sys/msdk/gstmsdkvp9enc.c:
	* sys/msdk/msdk.h:
	  msdkenc: add D3D11 caps for msdkenc
	  This patch adds D3D11 feature to sink factory for msdkenc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231>

2022-05-07 17:10:34 +0800  Tong Wu <tong1.wu@intel.com>

	* sys/msdk/gstmsdkcontext.c:
	* sys/msdk/gstmsdkcontext.h:
	* sys/msdk/gstmsdkcontextutil.c:
	* sys/msdk/gstmsdkcontextutil.h:
	* sys/msdk/gstmsdkdec.c:
	* sys/msdk/gstmsdkenc.c:
	* sys/msdk/gstmsdkvpp.c:
	  MSDK: Introduce d3d11 device to MSDK context
	  Currently MSDK context does not support d3d11va. Now introduce d3d11va
	  device to MSDK context, making it able to create msdk session with d3d11
	  device and to easily share with upstream and donwstream.
	  Add environment variable to enable user to choose GPU device in multi-GPU
	  environment. This variable is only valid when there's no context
	  returned by upstream or downstream. Otherwise it will use the device
	  that created by upstream or downstream.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231>

2022-05-07 16:28:50 +0800  Tong Wu <tong1.wu@intel.com>

	* sys/msdk/meson.build:
	  MSDK: Add gst d3d11 lib into MSDK's dependency
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231>

2022-11-09 14:59:41 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvafilter.c:
	  vafilter: Log out processed surfaces for debug.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3373>

2022-11-09 14:53:30 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvadeinterlace.c:
	* sys/va/gstvavpp.c:
	  vadeinterlace, vapostproc: Drop output buffer if process failed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3373>

2022-11-07 16:32:50 -0300  Daniel <daniel.almeida@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/debugutils/gstvideocodectestsink.c:
	  debugutils: videocodectestsink: add support for more formats
	  Add support for more formats so as to run the libvpx high bit depth test suite.
	  This means the files under CONFIG_VP9_HIGHBITDEPTH
	  This also allows running the yuv444p 8bit file in the regular 8 bit vp9 suite.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3356>

2022-11-10 15:07:20 +0800  Elliot Chen <elliot.chen@nxp.com>

	* gst-libs/gst/play/gstplay.c:
	  gstplay: fix segmentation fault caused by subtitle info update
	  For subtitle stream played by subrui, gstplay will update subtitle
	  information before select the stream by using playbin3. Need check
	  the subtitle_sid value to avoid segmentation fault.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3383>

2022-11-09 14:16:23 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* ext/gs/gstgssink.cpp:
	  gssink: add 'content-type' property
	  Useful when one wants to upload a video as `video/mp4` instead of
	  'video/quicktime` for example.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3371>

2022-06-01 21:24:41 +1000  Matthew Waters <matthew@centricular.com>

	* ext/closedcaption/ccutils.c:
	* ext/closedcaption/ccutils.h:
	* ext/closedcaption/gstcccombiner.c:
	* ext/closedcaption/gstcccombiner.h:
	  cccombiner: initial implementation of using CCBuffer helper
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3211>

2022-06-01 17:47:55 +1000  Matthew Waters <matthew@centricular.com>

	* ext/closedcaption/ccutils.c:
	* ext/closedcaption/ccutils.h:
	* ext/closedcaption/gstccconverter.c:
	* ext/closedcaption/gstccconverter.h:
	* tests/check/elements/ccconverter.c:
	  closedcaption: move CC buffering to helper object
	  Move most of the interesting code from ccconverter to this new helper
	  object.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3211>

2022-05-30 21:39:13 +1000  Matthew Waters <matthew@centricular.com>

	* ext/closedcaption/ccutils.c:
	* ext/closedcaption/ccutils.h:
	* ext/closedcaption/gstcccombiner.c:
	* ext/closedcaption/gstccconverter.c:
	  closedcaption: move cdp->cc_data into shared location
	  So it can be used by both ccconverter and cccombiner
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3211>

2022-05-13 15:19:43 +1000  Matthew Waters <matthew@centricular.com>

	* ext/closedcaption/ccutils.c:
	* ext/closedcaption/ccutils.h:
	* ext/closedcaption/gstcccombiner.c:
	* ext/closedcaption/gstccconverter.c:
	* ext/closedcaption/gstclosedcaption.c:
	  closedcaption: move cc_data->cdp to shared file
	  Used by both ccconverter and cccombiner
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3211>

2022-05-12 13:22:00 +1000  Matthew Waters <matthew@centricular.com>

	* ext/closedcaption/gstccconverter.c:
	  ccconverter: avoid different indent versions indenting !! differently.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3211>

2022-05-12 13:19:58 +1000  Matthew Waters <matthew@centricular.com>

	* ext/closedcaption/ccutils.c:
	* ext/closedcaption/ccutils.h:
	* ext/closedcaption/gstcccombiner.c:
	* ext/closedcaption/gstcccombiner.h:
	* ext/closedcaption/gstccconverter.c:
	* ext/closedcaption/meson.build:
	  closedcaption: move cdp framerate table to common file
	  shared by both cccombiner and ccconverter
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3211>

2022-05-12 13:15:19 +1000  Matthew Waters <matthew@centricular.com>

	* ext/closedcaption/gstcccombiner.c:
	  cccombiner: don't assume a single cea608 data packet per buffer
	  e.g. 24fps can have up to 3 and would include either two field0 or
	  field1 cea608 data.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3211>

2022-05-06 14:00:38 +1000  Matthew Waters <matthew@centricular.com>

	* ext/closedcaption/gstccconverter.c:
	* tests/check/elements/ccconverter.c:
	  ccconverter: drop data when overflow on extracting cea608 from cc_data
	  If the buffer overflows, then drop rather than causing a failure and
	  fropping the output buffer indefinitely.  This may have caused downstream to
	  be waiting for data the will never arrive.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3211>

2022-05-05 18:27:50 +1000  Matthew Waters <matthew@centricular.com>

	* ext/closedcaption/gstccconverter.c:
	* tests/check/elements/ccconverter.c:
	  ccconverter: fix framerate passthrough with malformed input
	  If an input is malformed (only produces cea608 field 1 cc_data) then
	  when in passthrough we would effectively be dropping every second cea608
	  on output as we would not store any unused cea608 data.
	  Fix by having all code paths go through the framerate conversion code
	  which will store and retrieve any relevant data across buffers.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3211>

2022-11-10 05:54:18 +0900  Seungha Yang <seungha@centricular.com>

	* sys/amfcodec/gstamfh264enc.cpp:
	* sys/amfcodec/gstamfh265enc.cpp:
	  amfcodec: Fix typos
	  Fixing typo surfrace -> surface
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3378>

2022-11-10 06:03:45 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfcapturedshow.cpp:
	  mfvideosrc: Return S_OK from ISampleGrabberCB callback
	  The Microsoft's ISampleGrabber implementation seems to be ignoring
	  the HRESULT return value from the callback though,
	  S_OK is the right HRESULT code.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3379>

2022-11-08 19:26:39 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11screencapturedevice.cpp:
	* sys/d3d11/gstd3d11screencapturesrc.cpp:
	  d3d11screencapturesrc: Specify PAR 1/1 to template caps
	  ... otherwise PAR can be wrongly signalled during the negotiation
	  Fixing below pipeline when desktop resolution is not 640x480
	  gst-launch-1.0.exe \
	  d3d11screencapturesrc ! videoscale !
	  video/x-raw,width=640,height=480,pixel-aspect-ratio=1/1 ! d3d11videosink
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3360>

2022-05-22 12:02:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* tests/examples/va/meson.build:
	* tests/examples/va/vaenc-dynamic-reconfigure.c:
	  tests: examples: va: Add encoders dynamic reconfiguration.
	  Take the QSV encoder test and used it for VA.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2466>

2022-11-05 15:12:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvacaps.c:
	* sys/va/gstvah264enc.c:
	  va: caps: Fix raw caps for H264 encoding.
	  Mesa gallium and Intel i965 ill reports unsupported video formats.
	  This commit reverts ecb12a05 and adds a deeper workaround, since
	  ecb12a05 only fix the template caps, but not when renegotation
	  happens.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2466>

2022-10-21 10:56:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvabaseenc.c:
	  vabaseenc: Log out the flow error name.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2466>

2022-10-20 11:20:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: Enable parameters change while running.
	  1. Removes the verification if the internal encoder is not opened
	  yet to allow the property setting.
	  2. And toggles on the base class' reconf flag for each property
	  variable that can be modified at run time.
	  3. Mark those modifiable properties as mutable while playing.
	  Currently the run-time modifiable properties are:
	  qpi, qpp, qpb, bitrate, target percentage, target usage and rate control
	  Other properties can be enabled too, but they need testing.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2466>

2022-10-20 11:13:19 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvabaseenc.c:
	* sys/va/gstvabaseenc.h:
	  vabaseenc: Enable encoder reconfiguration.
	  Adds an internal function reset() which drains the internal queues and
	  calls the reconfig() vmethod.
	  This reset() method is called inconditionally at set_format() and in
	  handle_frame() if the instance's reconf flag is enabled.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2466>

2022-09-20 20:55:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: Avoid reopen encoder or renegotiate.
	  If parameters remain similar enough to avoid either encoder reopening
	  or downstream renegotiation, avoid it.
	  This is going to be useful for dynamic parameters setting.
	  To check if the stream parameters changed, so the internal encoder has
	  to be closed and opened again, are required two steps:
	  1. If input caps, profile, chroma or rate control mode have changed.
	  2. If any of the calculated variables and element properties have
	  changed.
	  Later on, only if the output caps also changed, the pipeline
	  is renegotiated.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2466>

2022-09-20 19:11:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvaencoder.c:
	* sys/va/gstvaencoder.h:
	  vaencoder: Add gst_va_encoder_get_reconstruct_pool_config()
	  This method will return the caps configured in the reconstruct buffer
	  pool, and its maxium number of buffers to allocate.
	  The caps are needed later to know if the internal encoder has to be
	  reopened if the stream properties change.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2466>

2022-11-08 03:43:02 +0900  Seungha Yang <seungha@centricular.com>

	* sys/directshow/plugin.cpp:
	  directshow: Demote rank of device provider to GST_RANK_NONE
	  Current directshow plugin seems to be unstable and unmaintained
	  for many many years.
	  See
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3323
	  and
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1828
	  Disable this device provider by default to avoid any side-effect
	  of this plugin
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3355>

2022-11-08 11:43:19 +0100  Victor Manuel Jaquez Leal <vjaquez@igalia.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: Fix properties documentation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3361>

2022-11-08 11:36:12 +0100  Victor Manuel Jaquez Leal <vjaquez@igalia.com>

	* sys/va/gstvaav1dec.c:
	* sys/va/gstvabaseenc.c:
	* sys/va/gstvacompositor.c:
	* sys/va/gstvah264dec.c:
	* sys/va/gstvah265dec.c:
	* sys/va/gstvajpegdec.c:
	* sys/va/gstvampeg2dec.c:
	* sys/va/gstvavp8dec.c:
	* sys/va/gstvavp9dec.c:
	  va: Document device-path property.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3361>

2022-11-08 10:37:10 +0100  Victor Manuel Jaquez Leal <vjaquez@igalia.com>

	* docs/plugins/gst_plugins_cache.json:
	  va: Reenable plugin cache.
	  This basically a revert of commit 9bb560e7
	  Also it adds vaav1dec.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3361>

2022-11-08 11:34:20 +0100  Victor Manuel Jaquez Leal <vjaquez@igalia.com>

	* sys/va/gstvampeg2dec.c:
	* sys/va/gstvavp8dec.c:
	  vavp8dec, vampeg2dec: Fix type name.
	  The camel case name is wrong when registering the type.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3361>

2022-10-26 18:05:32 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvacaps.c:
	  vacaps: Sort raw caps according their efficiency.
	  Caps negotiations considers template caps order. This patch sets the
	  correct order according the feture caps: VAMemory, DMABuf and
	  SystemMemory.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3349>

2022-11-08 02:08:08 +0000  Tim-Philipp Müller <tim@centricular.com>

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

=== release 1.21.2 ===

2022-11-07 23:53:59 +0000  Tim-Philipp Müller <tim@centricular.com>

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

2022-11-07 23:53:57 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ChangeLog:
	  Update ChangeLogs for 1.21.2

2020-12-08 16:55:26 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/srt/gstsrtobject.c:
	* ext/srt/gstsrtobject.h:
	  srt: Add a property to disable automatic reconnect
	  This adds a new boolean property `auto-reconnect`, defaulting to `true`.
	  Setting it to `false` makes the elements (in caller mode) immediately
	  report an error to the application instead of trying to reconnect.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3326>

2022-10-26 18:04:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvabasetransform.c:
	  vabasetransform: Fail if cannot import the input buffer.
	  Otherwise got a buffer double free.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3348>

2022-11-06 01:53:46 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfcapturedshow.cpp:
	* sys/mediafoundation/gstmfcapturedshow.h:
	* sys/mediafoundation/gstmfdevice.cpp:
	* sys/mediafoundation/gstmfsourceobject.cpp:
	* sys/mediafoundation/gstmfsourceobject.h:
	* sys/mediafoundation/gstmfsourcereader.cpp:
	* sys/mediafoundation/gstmfvideosrc.cpp:
	* sys/mediafoundation/meson.build:
	  mfvideosrc: Add support for DirectShow capture filter
	  Adding DirecShow video capture filter mode, in addition
	  to existing MediaFoundation and WinRT(UWP) mode, to support
	  DirectShow only filters (not KS driver compatible)
	  such as custom virtual camera filters.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3350>

2021-12-01 16:23:41 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/rtmp2/gstrtmp2sink.c:
	* gst/rtmp2/gstrtmp2src.c:
	* gst/rtmp2/rtmp/rtmpclient.c:
	  rtmp2: Improve error messages
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403>

2021-12-01 16:04:24 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/rtmp2/gstrtmp2sink.c:
	* gst/rtmp2/gstrtmp2src.c:
	* gst/rtmp2/rtmp/rtmpclient.c:
	* gst/rtmp2/rtmp/rtmpconnection.c:
	  rtmp2/connection: Pass triggering GError in 'error' signal
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403>

2021-12-01 16:02:53 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/rtmp2/rtmp/rtmpconnection.c:
	  rtmp2/connection: Pass triggering GError to _emit_error
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403>

2021-12-01 16:01:10 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/rtmp2/rtmp/rtmpconnection.c:
	  rtmp2/connection: Discern reasons for cancelling all commands
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403>

2021-12-01 15:53:13 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/rtmp2/rtmp/rtmpconnection.c:
	  rtmp2/connection: Handle EOF like error
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403>

2021-12-01 15:49:22 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/rtmp2/rtmp/rtmpclient.c:
	  rtmp2/client: Make sure 'salt' is not NULL
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403>

2021-12-01 15:46:42 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/rtmp2/rtmp/rtmpclient.c:
	  rtmp2/client: Make sure 'reason' is not NULL
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403>

2021-12-01 16:13:42 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/rtmp2/rtmp/rtmpclient.c:
	  rtmp2/client: Make sure 'desc' is not NULL
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403>

2021-12-01 16:11:31 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/rtmp2/rtmp/rtmpclient.c:
	  rtmp2/client: Make sure 'code' is not NULL
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403>

2022-11-07 07:45:53 +0100  Edward Hervey <edward@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	* ext/webrtc/gstwebrtcstats.c:
	* ext/webrtc/transportstream.c:
	* ext/webrtc/utils.c:
	* ext/webrtc/utils.h:
	* ext/webrtc/webrtcsdp.c:
	  webrtcbin: Don't duplicate enum string values
	  Some were leaked when debugging was enabled. Instead just directly use the
	  static strings as-is.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3347>

2022-11-04 14:24:58 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/debugutils/gstvideocodectestsink.c:
	  videocodectestsink: Add YUV422 support
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3331>

2022-11-05 21:35:08 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11window.cpp:
	  d3d11videosink: Always clear back buffer on resize
	  Swapchain may not need to be resized if the size of backbuffer
	  is equal to the previous size. Then previously rendered frame will be stay
	  on the screen. Do clear back buffer whenever resize() is called
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3341>

2022-11-05 00:00:43 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvallocator_va.cpp:
	  qsv: Fix encoding error when input memory belongs to other GPU
	  Copy frame if VA display of input buffer is different from that
	  of encoder, like we've been doing on Windows
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3335>

2022-11-04 21:52:39 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	  va: baseenc: Do not import the VA surface from other display.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1167
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3322>

2022-11-04 21:26:23 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvacompositor.c:
	  va: compositor: Do not use allocator and pool from other display.
	  Just like the va decoder, the compositor should not use allocator
	  and pool from other display. Also, when importing the input buffer,
	  if it is from other display, we should fallback to memory copy.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1167
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3322>

2022-11-04 17:12:22 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabasetransform.c:
	  va: basetransform: Do not use allocator and pool from other display.
	  Just like the va decoder, the vpp and deinterlace should not use allocator
	  and pool from other display. Also, when importing the input buffer, if it
	  is from other display, we should fallback to memory copy.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1167
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3322>

2022-11-04 17:08:12 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabasedec.c:
	  va: basedec: Do not use allocator and pool from other display.
	  The command line such as:
	  gst-launch-1.0 -vf filesrc location=1.264 ! h264parse !
	  vah264dec ! varenderD129postproc ! fakesink
	  The decoder here gets the allocation proposal from the vpp which is
	  on another GPU device. The allocator and pool belong to other display
	  and should not be used in the decoder.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1167
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3322>

2022-11-04 20:28:34 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/va/gstvaallocator.c:
	* gst-libs/gst/va/gstvaallocator.h:
	  libs: va: Add API to peek the va buffer's display.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3322>

2022-11-04 20:28:34 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/va/gstvaallocator.c:
	* gst-libs/gst/va/gstvaallocator.h:
	  libs: va: Add API to peek the va memory's display.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3322>

2022-11-04 17:06:37 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/va/gstvaallocator.c:
	* gst-libs/gst/va/gstvaallocator.h:
	  libs: va: Add API to peek the allocator's display.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3322>

2022-11-04 17:03:35 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/va/gstvaallocator.h:
	  libs: va: Fix code style in gstvaallocator.h
	  Replace all tabs with spaces.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3322>

2022-11-05 05:32:52 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/d3dvideosink/d3dvideosink.c:
	  d3dvideosink: Update plugin description
	  Direct3D is too generic (there are various version numbers).
	  Clarify that this element is using the Direct3D9 API
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3333>

2022-11-04 08:41:10 +0100  Edward Hervey <edward@centricular.com>

	* ext/lv2/gstlv2.c:
	  lv2: Don't leak plugin information on registration
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319>

2022-11-04 08:40:24 +0100  Edward Hervey <edward@centricular.com>

	* ext/ladspa/gstladspa.c:
	  ladspa: Don't leak plugin information on registration
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319>

2022-11-04 08:09:52 +0100  Edward Hervey <edward@centricular.com>

	* ext/fdkaac/gstfdkaacenc.c:
	  fdkaacenc: Properly terminate GEnumValue table
	  It should be terminated with a NULL entry, otherwise we just stray into the
	  realms of cryptographic libraries^W^W random memory usage.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319>

2022-07-27 15:59:35 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/srt/gstsrtobject.c:
	  srt: Remove callers for which srt_bstats fails
	  This keeps them from accumulating in the element and in the stats while
	  the sink is not being fed, as long as we at least periodically grab
	  stats.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3156>

2022-07-29 11:53:18 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/srt/gstsrtobject.c:
	  srt: Use simpler list operations for callers
	  Avoid `g_list_append` and `g_list_remove` (which have to scan the list)
	  and replace them with `g_list_prepend` and `g_list_delete_link`.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3156>

2020-11-10 10:06:37 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/srt/gstsrtobject.c:
	  srt: Clean up poll/sock lifecycle
	  Make sure `srtobject->poll_id` is never invalid as long as `srtobject`
	  exists. Only remove our caller socket from it when the socket becomes
	  invalid.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3156>

2022-06-08 16:35:54 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/srt/gstsrtobject.c:
	  srt: Clean up error handling
	  - Make the srt_epoll_wait loops more uniform.
	  - Error only via GError when possible; let the element send the error
	  message. Avoids a second error message.
	  - Return 0 when cancelled. Avoids an error message from the element.
	  - Don't send an error message from send_headers when we're a server
	  sink.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3156>

2022-10-11 11:14:59 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/srt/gstsrtobject.c:
	  srt: Simplify socket stats
	  Don't hide stats depending on whether we're a sending or receiving
	  socket. While we're here, add some more debug logs.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3156>

2020-10-05 19:50:13 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/srt/gstsrtobject.c:
	* ext/srt/gstsrtobject.h:
	  srt: Replace stats accumulation with naive byte counting
	  srt_bstats cannot be used to get the stats of closed connections, so the
	  best we can do is keep the running count ourselves.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3156>

2022-11-04 18:32:05 +0900  Seungha Yang <seungha@centricular.com>

	* sys/directshow/gstdshow.cpp:
	  directshow: Validate enumerated AM_MEDIA_TYPE struct
	  The video info struct can be null if format is undefined
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3323>

2022-11-03 23:40:00 +0900  Seungha Yang <seungha@centricular.com>

	* tests/examples/d3d11/d3d11decoder-appsink.cpp:
	* tests/examples/d3d11/d3d11videosink-present.cpp:
	  examples: d3d11: Fix GCC build error/warning
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3318>

2022-11-03 05:18:03 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/qsv/gstqsvjpegenc.cpp:
	  qsvjpegenc: Add support for YUY2 format
	  Now GstD3D11 defines YUY2 format
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3316>

2022-11-03 05:12:31 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/qsv/gstqsvallocator.cpp:
	* sys/qsv/gstqsvallocator.h:
	* sys/qsv/gstqsvallocator_d3d11.cpp:
	* sys/qsv/gstqsvdecoder.cpp:
	* sys/qsv/gstqsvjpegdec.cpp:
	* sys/qsv/gstqsvjpegdec.h:
	* sys/qsv/meson.build:
	* sys/qsv/plugin.cpp:
	  qsv: Add JPEG decoder
	  Because DXVA does not define JPEG decoding, we need this
	  vendor specific API for Windows
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3316>

2022-11-03 03:38:33 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst-libs/gst/d3d11/gstd3d11-private.h:
	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	  d3d11: Add support for YUY2 format
	  YUY2 is a primary YUV 4:2:2 format for DXVA.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3316>

2022-11-01 09:47:38 +0800  Tong Wu <tong1.wu@intel.com>

	* sys/msdk/gstmsdkcontext.c:
	  msdkcontext: use gst_object_unref instead of g_object_unref
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3301>

2022-10-31 16:59:18 +0800  Tong Wu <tong1.wu@intel.com>

	* sys/msdk/gstmsdkcontext.c:
	  msdkcontext: use gst_object_ref for GstVaDisplay
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3301>

2022-10-31 16:56:32 +0800  Tong Wu <tong1.wu@intel.com>

	* sys/msdk/gstmsdkcontext.c:
	  msdkcontext: g_object_new() must not return nullptr
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3301>

2022-10-31 16:52:23 +0800  Tong Wu <tong1.wu@intel.com>

	* sys/msdk/gstmsdkenc.c:
	  msdkenc: use GST_CAPS_FEATURE_MEMORY_VA to check the feature
	  Add macros to protect sinkpad_is_va(), since it is not defined on
	  Windows.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3301>

2022-11-01 12:03:24 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* ext/wpe/gstwpevideosrc.cpp:
	  wpe: fix wpevideosrc gst-play example
	  wpe:// no longer works since 1.20, see wpesrc examples.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3306>

2022-10-27 10:03:34 -0400  Eric Knapp <emkman99@gmail.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: Added option to insert CEA-708 closed captions
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2910>

2022-11-01 22:19:18 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/qsv/gstqsvav1enc.cpp:
	* sys/qsv/gstqsvh264dec.cpp:
	* sys/qsv/gstqsvh264enc.cpp:
	* sys/qsv/gstqsvh265dec.cpp:
	* sys/qsv/gstqsvh265enc.cpp:
	* sys/qsv/gstqsvjpegenc.cpp:
	* sys/qsv/gstqsvutils.h:
	* sys/qsv/gstqsvvp9dec.cpp:
	* sys/qsv/gstqsvvp9enc.cpp:
	  qsv: Check 16K resolution support
	  ... and remove duplicated code
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3310>

2021-05-14 10:24:05 +0200  Marijn Suijten <marijns95@gmail.com>

	* gst-libs/gst/vulkan/gstvkimageview.c:
	* gst-libs/gst/vulkan/gstvkimageview.h:
	  vulkan: Mark gst_vulkan_image_view_new create_info as constant pointer
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1615>

2021-01-05 22:33:12 +0100  Marijn Suijten <marijns95@gmail.com>

	* gst-libs/gst/vulkan/gstvkcommandpool.c:
	* gst-libs/gst/vulkan/gstvkdescriptorpool.c:
	* gst-libs/gst/vulkan/gstvkdevice.c:
	* gst-libs/gst/vulkan/gstvkphysicaldevice.c:
	* gst-libs/gst/vulkan/gstvkqueue.c:
	  vulkan: Remove unnecessary null checks
	  These null checkes are slightly misleading when double-checking
	  mutability for external language interop.  None of the functions in
	  these files allow the variable at hand to become `NULL` under normal
	  operation, because they are checked at initialization and never (allowed
	  to be) reassigned to `NULL`.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1615>

2021-01-04 01:07:04 +0100  Marijn Suijten <marijns95@gmail.com>

	* gst-libs/gst/vulkan/gstvkdisplay.c:
	* gst-libs/gst/vulkan/gstvkfence.c:
	* gst-libs/gst/vulkan/gstvkimagememory.c:
	* gst-libs/gst/vulkan/gstvkqueue.c:
	  vulkan: Add missing `(nullable)` annotation to `Returns`
	  Most of these functions already state they might return `%NULL`, but
	  this is not picked up by G-IR.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1615>

2021-01-04 00:40:24 +0100  Marijn Suijten <marijns95@gmail.com>

	* gst-libs/gst/vulkan/gstvkdescriptorcache.c:
	* gst-libs/gst/vulkan/gstvkdescriptorpool.c:
	* gst-libs/gst/vulkan/gstvkdescriptorset.c:
	* gst-libs/gst/vulkan/gstvkinstance.c:
	* gst-libs/gst/vulkan/gstvkwindow.c:
	  vulkan: Add missing `array length` and `(out)` annotation to parameters
	  Add `array length` annotation for `layouts` such that `n_layouts` is
	  properly marked as its length, and add `(out)` where a function returns
	  in that parameter.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1615>

2022-11-01 02:00:33 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11decoder.cpp:
	  d3d11decoder: Fix for VP9 decoding with odd resolution
	  Fixing off by one mismatch when width and/or height of stream
	  is odd number
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3302>

2022-10-28 03:25:38 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/qsv/gstqsvallocator.cpp:
	* sys/qsv/gstqsvallocator.h:
	* sys/qsv/gstqsvallocator_d3d11.cpp:
	* sys/qsv/gstqsvdecoder.cpp:
	* sys/qsv/gstqsvvp9dec.cpp:
	* sys/qsv/gstqsvvp9dec.h:
	* sys/qsv/meson.build:
	* sys/qsv/plugin.cpp:
	  qsv: Add VP9 decoder
	  Recent Intel GPU supports 12bits VP9 decoding but only VP9
	  profile2 with 10bits is defined by DXVA spec.
	  Thus, we need this vendor specific decoder element
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3290>

2022-10-30 19:01:54 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11vp9dec.cpp:
	  d3d11vp9dec: Disallow Profile2 12bits stream
	  Since DXVA does not support the format, specify bit-depth field
	  to sinkpad template caps so that d3d11vp9dec can be skipped
	  during autoplugging
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3297>

2022-10-30 18:37:55 +0900  Seungha Yang <seungha@centricular.com>

	* gst/videoparsers/gstvp9parse.c:
	  vp9parse: Set subsampling to src caps even if GBR stream
	  Some muxer elements will need the subsampling information
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3297>

2022-10-30 18:35:08 +0900  Seungha Yang <seungha@centricular.com>

	* gst/videoparsers/gstvp9parse.c:
	  vp9parse: Delaying src caps until frame is parsed if profile > 0
	  subsampling and/or bitdepth information will be required for
	  negotiation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3297>

2022-10-29 16:17:53 +0530  Sanchayan Maity <sanchayan@asymptotic.io>

	* docs/plugins/gst_plugins_cache.json:
	* ext/fdkaac/gstfdkaacenc.c:
	  fdkaacenc: Update documentation to clarify bitrate and peak-bitrate
	  bitrate property is only applicable for constant bitrate and
	  peak-bitrate is only applicable for variable bitrate. Clarify
	  the same.

2022-10-29 12:19:58 +0530  Sanchayan Maity <sanchayan@asymptotic.io>

	* docs/plugins/gst_plugins_cache.json:
	* ext/fdkaac/gstfdkaacenc.c:
	* ext/fdkaac/gstfdkaacenc.h:
	  fdkaacenc: Add support for setting bitrate mode

2021-01-31 22:00:36 +0530  Sanchayan Maity <sanchayan@asymptotic.io>

	* docs/plugins/gst_plugins_cache.json:
	* ext/fdkaac/gstfdkaacenc.c:
	* ext/fdkaac/gstfdkaacenc.h:
	  fdkaacenc: Add support for setting peak bitrate

2021-01-23 18:35:12 +0530  Sanchayan Maity <sanchayan@asymptotic.io>

	* docs/plugins/gst_plugins_cache.json:
	* ext/fdkaac/gstfdkaacenc.c:
	* ext/fdkaac/gstfdkaacenc.h:
	  fdkaacenc: Add support for enabling afterburner
	  This is an additional quality parameter. In the default configuration this
	  quality switch is deactivated because it would cause a workload increase
	  which might be significant. If workload is not an issue in the application
	  it can be recommended to activate this feature.

2020-11-26 19:23:11 +0530  Sanchayan Maity <sanchayan@asymptotic.io>

	* ext/fdkaac/gstfdkaacdec.c:
	  fdkaacdec: Do not report decoding error for flush request
	  A flush request is done when set_format is called to empty internal bit
	  buffer maintained by fdk-aac. When this happens, during the explicit
	  call to handle_buffer, decodeFrame does not return a AAC_DEC_OK. This
	  gets reported as a decoding error while no decoding error in fact took
	  place. Since this can be confusing, just return a GST_FLOW_OK and log
	  that an explicit flush was requested.

2022-10-25 13:22:30 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/codecparsers/gstvp9parser.c:
	  vp9parser: initialize subsampling to -1
	  The default value of 0 is a valid subsampling value and could be
	  confused with an 'unset' value.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3260>

2022-10-27 14:20:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvaencoder.c:
	  vaencoder: Reset attribute index to one.
	  Further fix to 4ffb3663 where I forgot to reset the attribute index.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3285>

2022-10-03 15:20:24 -0300  Thibault Saunier <tsaunier@igalia.com>

	* ext/dash/gstdashdemux.c:
	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
	  adaptivedemux: Minor typo fix
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3159>

2022-09-20 15:32:52 -0300  Thibault Saunier <tsaunier@igalia.com>

	* ext/dash/gstmpdclient.c:
	  dash: Fix computing `repeat_index` when seeking in stream with a start !=0 on the first fragment
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3159>

2022-10-27 15:21:30 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gsth265bitwriter.c:
	* gst-libs/gst/codecparsers/gsth265bitwriter.h:
	* tests/check/libs/h265bitwriter.c:
	  h265bitwriter: Correct the all API to byte aligned.
	  In fact, all the h265 bit writer have byte aligned output. So we
	  change the API from bit size in unit to byte size, which is easy
	  to use.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3193>

2022-10-27 13:42:17 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gsth264bitwriter.c:
	* gst-libs/gst/codecparsers/gsth264bitwriter.h:
	* sys/va/gstvah264enc.c:
	* tests/check/libs/h264bitwriter.c:
	  h264bitwriter: Correct the all API to byte aligned.
	  In fact, all the h264 bit writer have byte aligned output except
	  the slice header. So we change the API from bit size in unit to
	  byte size, which is easy to use. For slice header, we add a extra
	  "trail_bits_num" to return the unaligned bits number.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3193>

2022-10-27 14:40:49 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gsth264bitwriter.c:
	* gst-libs/gst/codecparsers/gsth265bitwriter.c:
	  bitwriter: Fix a nal conversion bug when input is not byte aligned.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3193>

2022-10-24 11:56:51 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkvpp.c:
	  msdkvpp: Set va mem caps as higher priority
	  We use va pool as msdkvpp's bufferpool, which means both va memory
	  and dma memory will be allocated by va pool. Considering drm modifier
	  stuff is not ready, we use va memory with higher priortiry than
	  dma memory when deciding vpp caps.
	  Besides, this patch removes the specified "interlace-mode" in vpp caps.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3253>

2022-10-18 03:36:23 +0000  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkav1enc.c:
	* sys/msdk/gstmsdkav1enc.h:
	* sys/msdk/gstmsdkenc.c:
	* sys/msdk/gstmsdkenc.h:
	  msdkav1enc: Remove reorder TU workaround
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3225>

2022-10-18 03:10:43 +0000  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkav1enc.c:
	* sys/msdk/gstmsdkav1enc.h:
	* sys/msdk/gstmsdkenc.c:
	* sys/msdk/gstmsdkenc.h:
	  msdkav1enc: Remove pts workaround
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3225>

2022-10-27 04:15:01 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecparsers/meson.build:
	  codecparsers: {h264,h265}bitwriter: Don't install headers yet
	  Those APIs are quite early stage of development, and we might want to
	  change them in the near future
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3275>

2022-10-18 16:34:41 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkvpp.c:
	  msdkvpp: Fix upper frc
	  Refact vpp commit 4c6b7194451ff6fbfe88834219d982302114d74b broke the
	  upper FRC, here to fix this by using outbuf_new.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3223>

2022-07-29 18:15:08 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/msdk/gstmsdkav1enc.c:
	  bad: Add msdkav1enc docs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2971>

2022-10-25 08:14:18 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/codecalpha/gstalphacombine.c:
	  alphacombine: Add missing query handler for gaps
	  The gap handling was in place, but there was no event handler to trigger it.
	  Implement the alpha sink event handler for the gaps. This fixes handling of
	  valid streams which may not refresh the alpha frames for every video frames.
	  It will also allow a clean error if the stream was missing the initial
	  alpha frame, at least until we find a better way to handle these
	  invalid frames.
	  Related to #1518
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3264>

2022-10-26 11:47:43 +0200  Ignacio Casal Quinteiro <qignacio@amazon.com>

	* sys/applemedia/avfdeviceprovider.m:
	  avfdeviceprovider: do not leak the properties
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3268>

2022-10-21 10:57:39 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvaencoder.c:
	  vaencoder: Fix caps semantics.
	  When using gst_va_caps_from_profiles() the semantics of sink/src caps
	  depends if the element is an encoder or a decoder.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3063>

2022-10-19 16:44:07 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvadecoder.c:
	* sys/va/gstvaencoder.c:
	  va: Fix typos.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3063>

2022-08-11 12:51:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvaencoder.c:
	* sys/va/gstvah264enc.c:
	  vah264enc: Fail if unsupported rate control.
	  Handle when encoder doesn't support rate control, which is set as
	  VA_RC_NONE, and if the set rate control mode is not supported by the
	  GStreamer element, the element configuration fails.
	  Also it logs out max and target bitrate.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3063>

2022-09-15 12:56:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: Add todo item.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3063>

2022-10-19 16:08:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvaencoder.c:
	* sys/va/gstvaencoder.h:
	* sys/va/gstvah264enc.c:
	  vaencoder: Honor entrypoint at constructor.
	  The entrypoint is set when the encoder helper is constructed,
	  nonetheless it was also passed as parameter when opening. That's
	  buggy.
	  In order to simplify the code, the entrypoint at construction is
	  honored.
	  But gst_va_encoder_has_profile_and_entrypoint() now doesn't rely in
	  the internal list of profiles since it only contains those that
	  belongs to codec and entrypoint, thus it queries directly the VA
	  driver.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3063>

2022-08-11 12:50:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvabaseenc.c:
	  vabaseenc: Scope error bail out.
	  Though this is not enforced by the GStreamer code style, it's clearer
	  to add a nested scope for error handling using label/goto.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3063>

2022-09-20 15:00:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvabaseenc.c:
	* sys/va/gstvabaseenc.h:
	* sys/va/gstvah264enc.c:
	  vabaseenc: Use class entrypoint.
	  Add a macro to access to class entrypoint and use it instead of move
	  it to a variable.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3063>

2022-10-26 02:55:34 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11-private.h:
	* gst-libs/gst/d3d11/gstd3d11format.h:
	  d3d11: Move format defines to private header
	  Those defines will be likely changed/deleted in the future, and we
	  don't need to expose them to public at the moment
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3265>

2022-10-25 09:39:07 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/transcoder/gsttranscoder.c:
	* gst-libs/gst/va/gstvaallocator.c:
	* gst-libs/gst/vulkan/gstvkerror.c:
	  Fix various warnings from gobject-introspection
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3261>

2022-10-22 11:13:10 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/elements/fdkaac.c:
	* tests/check/meson.build:
	  fdkaac: add minimal unit test
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1785>

2022-10-22 11:10:24 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/fdkaac/gstfdkaacenc.c:
	  fdkaacenc: fix output caps in case of implicit signaling and HE-AAC
	  Need to put the actual profile in the output caps otherwise any
	  capsfilter after the encoder that was used to force the output
	  profile will fail, such as
	  fdkaacenc ! audio/mpeg,stream-format=adts,profile=he-aac-v1 ! ..
	  because we put profile=lc in there to match the profile signaled
	  in the ADTS header. This is expressed through the base-profile=lc
	  in the GStreamer caps though, the profile needs to carry the
	  'real' profile.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1785>

2022-10-21 17:10:57 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/fdkaac/gstfdkaacenc.c:
	  fdkaacenc: don't set base-profile=lc for non-backwards compatible output
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1785>

2022-10-21 13:15:29 +0100  Tim-Philipp Müller <tim@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/fdkaac/gstfdkaacenc.c:
	  fdkaacenc: rename profile=sbr|ps to profile=he-aac-v1|he-aac-v2
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1785>

2022-03-01 14:12:27 +0100  Piotrek Brzeziński <piotr@centricular.com>

	* ext/fdkaac/gstfdkaacenc.c:
	  fdkaacenc: add support for AAC-LD
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1785>

2022-02-23 17:17:25 +0100  Piotrek Brzeziński <piotr@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/fdkaac/gstfdkaacenc.c:
	  fdkaacenc: add support for HE-AACv1 and HE-AACv2
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1785>

2022-10-22 04:28:03 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	  gst-plugins-bad: Update Windows plugins cache
	  Add/update d3d11, qsv, nvcodec, wic, directshow, and amfcodec plugins cache
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3250>

2022-10-22 03:02:56 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudamemorycopy.c:
	* sys/nvcodec/gstnvencoder.cpp:
	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	  nvcodec: Update for documentation
	  * Use GST_PARAM_DOC_SHOW_DEFAULT flags for GPU ID related
	  properties
	  * Fix some typos
	  * Add since markers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3250>

2022-10-22 02:59:13 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfaudiodecoder.cpp:
	* sys/mediafoundation/gstmfaudioencoder.cpp:
	* sys/mediafoundation/gstmfh264enc.cpp:
	* sys/mediafoundation/gstmfh265enc.cpp:
	* sys/mediafoundation/gstmfvideoencoder.cpp:
	* sys/mediafoundation/gstmfvp9enc.cpp:
	  mediafoundation: Update for documentation
	  * Use GST_PARAM_DOC_SHOW_DEFAULT flags for GPU ID related
	  properties
	  * Add doc caps
	  * Add since markers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3250>

2022-10-22 04:09:39 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfvideoencoder.cpp:
	  mfvideoencoder: Document only hardware encoders
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3250>

2022-10-22 22:37:33 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfvideoencoder.cpp:
	  mfvideoencoder: Fix device enumeration
	  Although a GPU does not support the codec, the other GPU might
	  be able to support the codec
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3250>

2022-10-22 02:56:23 +0900  Seungha Yang <seungha@centricular.com>

	* sys/amfcodec/gstamfh264enc.cpp:
	* sys/amfcodec/gstamfh265enc.cpp:
	  amfcodec: Update for documentation
	  * Use GST_PARAM_DOC_SHOW_DEFAULT flags for GPU ID related
	  properties
	  * Add doc caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3250>

2022-10-22 02:53:16 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvdecoder.cpp:
	* sys/qsv/gstqsvencoder.cpp:
	  qsv: Use GST_PARAM_DOC_SHOW_DEFAULT flag
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3250>

2022-10-22 02:49:00 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11compositor.cpp:
	* sys/d3d11/gstd3d11decoder.cpp:
	* sys/d3d11/gstd3d11deinterlace.cpp:
	* sys/d3d11/gstd3d11screencapturesrc.cpp:
	* sys/d3d11/gstd3d11testsrc.cpp:
	* sys/d3d11/gstd3d11videosink.cpp:
	  d3d11: Update for documentation
	  * Use GST_PARAM_DOC_SHOW_DEFAULT flags for GPU ID related
	  properties
	  * Add doc caps
	  * Increase deinterlace max resolution
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3250>

2022-10-22 02:48:23 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11screencapturesrc.cpp:
	* sys/d3d11/gstd3d11winrtcapture.cpp:
	  d3d11: Run indent
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3250>

2022-10-22 22:33:01 +0900  Seungha Yang <seungha@centricular.com>

	* sys/wic/plugin.cpp:
	  wic: Add since marker
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3250>

2022-10-22 03:12:19 +0900  Seungha Yang <seungha@centricular.com>

	* sys/directshow/plugin.cpp:
	  directshow: Add since marker
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3250>

2022-10-21 23:20:47 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_config.cpp:
	* sys/qsv/libmfx/meson.build:
	* sys/qsv/meson.build:
	  qsv: Enable MinGW toolchain support
	  Use PCRE regex method to work around (likely) GCC std::regex bug,
	  and enable building for non-MSVC
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3239>

2022-10-21 21:50:01 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/vulkan/cocoa/gstvkcocoa_utils.h:
	* gst-libs/gst/vulkan/cocoa/gstvkwindow_cocoa.m:
	* gst-libs/gst/vulkan/ios/gstvkios_utils.h:
	* gst-libs/gst/vulkan/ios/gstvkwindow_ios.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-18 17:05:41 +1100  Matthew Waters <matthew@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: configure rtpulpfecdec passthrough property
	  This allows downstream (payloaders mostly) to be able to correctly
	  detect actual packet loss from rtp sequence numbers.
	  See
	  https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/581
	  for background.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1407
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3212>

2022-10-07 04:20:29 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11screencapture.cpp:
	* sys/d3d11/gstd3d11screencapture.h:
	* sys/d3d11/gstd3d11screencapturesrc.cpp:
	* sys/d3d11/gstd3d11winrtcapture.cpp:
	* sys/d3d11/gstd3d11winrtcapture.h:
	* sys/d3d11/meson.build:
	  d3d11screencapture: Add WinRT API based capture mode
	  Add Windows Graphics Capture (WGC) API based screen capture mode.
	  The conditions where this mode is used:
	  * Explicitly requested by user (capture-api property)
	  * To capture specific window
	  * When DXGI desktop duplication API does not work on hybrid graphics systems
	  (e.g., multi-gpu laptop)
	  Full features of this implementation require Windows 11. And Windows 11
	  SDK is required to build this feature.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3144>

2022-10-06 23:54:14 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11dxgicapture.cpp:
	* sys/d3d11/gstd3d11dxgicapture.h:
	* sys/d3d11/gstd3d11screencapture.cpp:
	* sys/d3d11/gstd3d11screencapture.h:
	* sys/d3d11/gstd3d11screencapturesrc.cpp:
	* sys/d3d11/meson.build:
	  d3d11screencapture: Subclassing capture implementation
	  Preparation to use WinRT capture API
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3144>

2022-10-21 19:08:49 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/qsv/gstqsvav1enc.cpp:
	* sys/qsv/gstqsvdecoder.cpp:
	* sys/qsv/gstqsvencoder.cpp:
	* sys/qsv/gstqsvh264dec.cpp:
	* sys/qsv/gstqsvh264enc.cpp:
	* sys/qsv/gstqsvh265dec.cpp:
	* sys/qsv/gstqsvh265enc.cpp:
	* sys/qsv/gstqsvjpegenc.cpp:
	* sys/qsv/gstqsvvp9enc.cpp:
	* sys/qsv/plugin.cpp:
	  qsv: Add plugin doc
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2738>

2022-07-09 05:38:05 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/libmfx/api/vpl/mfx.h:
	* sys/qsv/libmfx/api/vpl/mfxcommon.h:
	* sys/qsv/libmfx/api/vpl/mfxdefs.h:
	* sys/qsv/libmfx/api/vpl/mfxencodestats.h:
	* sys/qsv/libmfx/api/vpl/mfxjpeg.h:
	* sys/qsv/libmfx/api/vpl/mfxstructures.h:
	* sys/qsv/libmfx/api/vpl/mfxvideo++.h:
	* sys/qsv/libmfx/api/vpl/mfxvideo.h:
	* sys/qsv/libmfx/dispatcher/linux/device_ids.h:
	* sys/qsv/libmfx/dispatcher/linux/mfxloader.cpp:
	* sys/qsv/libmfx/dispatcher/linux/mfxloader.h:
	* sys/qsv/libmfx/dispatcher/linux/mfxvideo_functions.h:
	* sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl.cpp:
	* sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl.h:
	* sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_config.cpp:
	* sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_loader.cpp:
	* sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_lowlatency.cpp:
	* sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_msdk.cpp:
	* sys/qsv/libmfx/dispatcher/windows/main.cpp:
	* sys/qsv/libmfx/dispatcher/windows/mfx_critical_section.cpp:
	* sys/qsv/libmfx/dispatcher/windows/mfx_critical_section.h:
	* sys/qsv/libmfx/dispatcher/windows/mfx_dispatcher.cpp:
	* sys/qsv/libmfx/dispatcher/windows/mfx_dispatcher.h:
	* sys/qsv/libmfx/dispatcher/windows/mfx_dispatcher_defs.h:
	* sys/qsv/libmfx/dispatcher/windows/mfx_dispatcher_log.cpp:
	* sys/qsv/libmfx/dispatcher/windows/mfx_dispatcher_log.h:
	* sys/qsv/libmfx/dispatcher/windows/mfx_driver_store_loader.cpp:
	* sys/qsv/libmfx/dispatcher/windows/mfx_driver_store_loader.h:
	* sys/qsv/libmfx/dispatcher/windows/mfx_dxva2_device.cpp:
	* sys/qsv/libmfx/dispatcher/windows/mfx_dxva2_device.h:
	* sys/qsv/libmfx/dispatcher/windows/mfx_exposed_functions_list.h:
	* sys/qsv/libmfx/dispatcher/windows/mfx_function_table.cpp:
	* sys/qsv/libmfx/dispatcher/windows/mfx_library_iterator.cpp:
	* sys/qsv/libmfx/dispatcher/windows/mfx_library_iterator.h:
	* sys/qsv/libmfx/dispatcher/windows/mfx_load_dll.cpp:
	* sys/qsv/libmfx/dispatcher/windows/mfx_load_dll.h:
	* sys/qsv/libmfx/dispatcher/windows/mfx_vector.h:
	* sys/qsv/libmfx/dispatcher/windows/mfx_win_reg_key.cpp:
	* sys/qsv/libmfx/dispatcher/windows/mfx_win_reg_key.h:
	* sys/qsv/libmfx/dispatcher/windows/mfxvideo++.h:
	* sys/qsv/libmfx/dispatcher/windows/version.rc.in:
	* sys/qsv/libmfx/meson.build:
	  qsv: Update SDK version to v2022.2.4
	  See release note
	  https://github.com/oneapi-src/oneVPL/releases/tag/v2022.2.0
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2738>

2022-10-14 16:05:28 +0800  He Junyan <junyan.he@intel.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: Correct the pts for frames and OBUs inside a TU.
	  When the output alignment is smaller than the input alignment, for
	  example, When the output alignment is "FRAME" and the parse is likely
	  connecting to a decoder, the current PTS setting for AV1 frames inside
	  a TU is not very correct.
	  For example, a TU may begin with non-displayed frames and end with a
	  displayed frame. The current way will assign the PTS to the first
	  non-displayed frame, which is a decode-only frame and the PTS will be
	  discarded in the video decoder. While the last displayed frame has
	  invalid PTS, and so the video decoder needs to guess its PTS based on
	  the frame rate and previous frame's PTS. This is not a decent and
	  robust way. And more important, when the previous frames provide DTS,
	  the video decoder will also guess the PTS based on the previous frames'
	  DTS and trigger the warning like:
	  gstvideodecoder.c:3147:gst_video_decoder_prepare_finish_frame: \
	  <vavp9dec0> decreasing timestame
	  It sets the reordered_output and makes the decoder in free run mode.
	  We should correct the PTS for a TU, let the non-displayed frames have
	  no PTS while set the correct PTS to the displayed one. Also, when the
	  AV1 stream has multi spatial layers, there are more than one displayed
	  frames inside one TU with the same PTS.
	  Note: If the input alignment is not TU aligned, we can not know the
	  exact PTS of this TU, and so we just clear the PTS of the decode only
	  frame and leave others unchanged.
	  We also correct all the PTS if the output is OBU aligned. All their
	  PTS and DTS are set to the input buffer's PTS.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3182>

2022-10-14 17:25:45 +0800  He Junyan <junyan.he@intel.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: Only check the TU bound when the alignment is TU.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3182>

2022-10-14 15:46:16 +0800  He Junyan <junyan.he@intel.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: push all data once when input alignment not smaller than output.
	  When the incoming data has big alignment than the output, we do not need to
	  call finish_frame() and exit the current handle_frame() for each splitted
	  frame. We can push them all at one shot with in one handle_frame(), whcih
	  may improve the performance and can help us to find the edge of TU.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3182>

2022-10-14 15:27:52 +0800  He Junyan <junyan.he@intel.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: Set the output buffer flags correctly.
	  The current code forgets to clear some flags and has some typo.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3182>

2022-10-21 10:50:36 +1100  Matthew Waters <matthew@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: also add rtcp-fb ccm fir for video mlines by default
	  In addition to the 'nack pli' already added.  Both are supported by
	  rtpbin/rtpsession by default already.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3235>

2022-10-19 16:03:55 +0900  Sangchul Lee <sc11.lee@samsung.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: Improve documentation of 'turn-server' property
	  Description about how to set time-limited credentials is added.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3229>

2022-09-23 18:25:41 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/debugutils/gstfakeaudiosink.c:
	* gst/debugutils/gstfakesinkutils.c:
	* gst/debugutils/gstfakesinkutils.h:
	* gst/debugutils/gstfakevideosink.c:
	  fake{video|audio}sink: don't proxy properties at instance init.
	  Instead proxy properties from the GstBaseSink class at class_init time,
	  and duplicate the rest of the fakesink properties manually.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1442
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3073>

2022-10-18 11:16:20 +0200  Alba Mendez <alba.mendez@dolby.com>

	* gst-libs/gst/webrtc/nice/nice.c:
	  webrtcbin: support adding TURN servers after pipeline start
	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1680
	  When a TURN server is added for the first time, propagate
	  the change to all nice streams that already exist. This
	  lets us add servers after the pipeline has been started
	  (and streams have been added).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3217>

2022-10-17 06:48:12 -0500  Fabian Orccon <forccon@fluendo.com>

	* ext/srtp/meson.build:
	  srtp: Fix test skipping when plugin option is disabled
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3200>

2022-10-14 00:17:52 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11videosink.cpp:
	* tests/examples/d3d11/d3d11videosink-present.cpp:
	  d3d11videosink: Add "emit-present" property
	  Controls the decision for "present" signal use, and
	  allows delayed "present" signal handler install via the property
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3176>

2022-10-17 19:36:13 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/play/gstplay-signal-adapter.c:
	  play: Add/fix various annotations
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>

2022-10-17 11:29:02 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/vulkan/android/gstvkdisplay_android.c:
	* gst-libs/gst/vulkan/cocoa/gstvkdisplay_cocoa.m:
	* gst-libs/gst/vulkan/gstvkdevice.c:
	* gst-libs/gst/vulkan/gstvkdisplay.c:
	* gst-libs/gst/vulkan/gstvkfence.c:
	* gst-libs/gst/vulkan/gstvkformat.c:
	* gst-libs/gst/vulkan/gstvkinstance.c:
	* gst-libs/gst/vulkan/gstvkqueue.c:
	* gst-libs/gst/vulkan/gstvkutils.c:
	* gst-libs/gst/vulkan/ios/gstvkdisplay_ios.m:
	* gst-libs/gst/vulkan/wayland/gstvkdisplay_wayland.c:
	* gst-libs/gst/vulkan/xcb/gstvkdisplay_xcb.c:
	  vulkan: Add/fix various annotations
	  And fix a memory leak in gst_vulkan_display_wayland_new() in error
	  cases.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>

2022-10-17 10:54:06 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	* gst-libs/gst/d3d11/gstd3d11memory.cpp:
	  d3d11: Add/fix various annotations
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>

2022-10-17 10:51:42 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/cuda/gstcudacontext.c:
	* gst-libs/gst/cuda/gstcudautils.c:
	  cuda: Add/fix various annotations
	  And fix a memory leak when creating a CUDA context fails.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>

2022-10-17 10:47:02 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/codecs/gsth264decoder.c:
	* gst-libs/gst/codecs/gsth264picture.c:
	* gst-libs/gst/codecs/gsth265decoder.c:
	* gst-libs/gst/codecs/gsth265picture.c:
	* gst-libs/gst/codecs/gstvp9decoder.h:
	  codecs: Add/fix various annotations
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>

2022-10-17 10:44:24 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstnonstreamaudiodecoder.c:
	  badaudio: Add/fix annotations
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>

2022-10-14 21:51:17 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/webrtc/ice.c:
	* gst-libs/gst/webrtc/ice.h:
	* gst-libs/gst/webrtc/icetransport.c:
	* gst-libs/gst/webrtc/icetransport.h:
	* gst-libs/gst/webrtc/nice/nice.c:
	  webrtc: Add/fix various annotations
	  And mark string parameters as const.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>

2022-10-17 00:40:46 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/wasapi2/gstwasapi2client.cpp:
	* sys/wasapi2/gstwasapi2client.h:
	* sys/wasapi2/gstwasapi2device.c:
	* sys/wasapi2/gstwasapi2ringbuffer.cpp:
	* sys/wasapi2/gstwasapi2ringbuffer.h:
	* sys/wasapi2/gstwasapi2sink.c:
	* sys/wasapi2/gstwasapi2src.c:
	* sys/wasapi2/gstwasapi2util.c:
	* sys/wasapi2/gstwasapi2util.h:
	  wasapi2: Add support for process loopback capture
	  Adding loopback capture mode for specified PID.
	  Note that this feature requires Windows 10 build 20348
	  (Windows 11/Windows Server 2022 or later),
	  and any process loopback related properties will not be exposed
	  if OS does not support it.
	  Example launch lines:
	  * wasapi2src loopback-mode=include-process-tree loopback-target-pid=<PID>
	  Captures audio generated by an application (specified by PID)
	  and its child process
	  * wasapi2src loopback-mode=exclude-process-tree loopback-target-pid=<PID>
	  Captures desktop audio excluding PID and its child process
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1278
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3195>

2022-10-14 16:21:07 -0400  Arun Raghavan <arun@asymptotic.io>

	* gst/rtmp2/gstrtmp2sink.c:
	  rtmp2sink: Correctly return GST_FLOW_ERROR on error
	  If there is an error while connecting, the streaming task will be stopped, and
	  is_running() will be false, causing a GST_FLOW_FLUSHING to be returned. Instead,
	  we perform the error check (!self->connection) first, to return an error if
	  that's what occured.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3189>

2022-10-14 18:51:43 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* gst-libs/gst/webrtc/nice/nice.c:
	  webrtc/nice: fix small leak of split strings
	  g_strfreev previously stopped at our manual NULL-termination. Fix by
	  restoring the pointer after joining.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3188>

2022-10-12 16:11:47 +0800  He Junyan <junyan.he@intel.com>

	* gst/videoparsers/gstvp9parse.c:
	  vp9parse: The show_existing_frame buffer should not be decode only.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3155>

2022-10-11 16:17:26 +0800  He Junyan <junyan.he@intel.com>

	* gst/videoparsers/gstvp9parse.c:
	  vp9parse: Correct the pts for frames inside a super frame.
	  When the alignment is "FRAME" and the parse is likely connecting to
	  a decoder, the current PTS setting for VP9 frames inside a super
	  frame is not very correct.
	  For example, the super frame may begin with non-displayed frames and
	  end with a displayed frame. The current way will assign the PTS to
	  the first non-displayed frame, which is a decode-only frame and the
	  PTS will be discarded in the video decoder. While the last displayed
	  frame has invalid PTS, and so the video decoder needs to guess its
	  PTS based on the frame rate and previous frame's PTS. This is not a
	  decent and robust way. And more important, when the previous frames
	  provide DTS, the video decoder will also guess the PTS based on the
	  previous frames' DTS and trigger the warning like:
	  gstvideodecoder.c:3147:gst_video_decoder_prepare_finish_frame: \
	  <vavp9dec0> decreasing timestame
	  It sets the reordered_output and makes the decoder in free run mode.
	  We should correct the PTS for a super frame, let the non-displayed
	  frames have no PTS while set the correct PTS to the displayed one.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3155>

2022-10-08 00:29:03 +0200  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/avfvideosrc.m:
	  avfvideosrc: Allow specifying crop coordinates during screen capture
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3153>

2022-10-12 11:12:50 +0200  Edward Hervey <edward@centricular.com>

	* gst/mxf/gstmxfelement.c:
	* gst/mxf/meson.build:
	* gst/mxf/mxfcustom.c:
	* gst/mxf/mxfcustom.h:
	  mxfdemux: Add support for Canon XF-HEVC
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1495
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3163>

2022-10-12 11:12:14 +0200  Edward Hervey <edward@centricular.com>

	* gst/mxf/mxfdemux.c:
	  mxfdemux: Don't leak index table segments on failures
	  The segment was freed ... but not the contents :)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3163>

2022-10-11 13:09:20 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/webrtc/webrtc_fwd.h:
	  webrtc: Move GST_WEBRTC_ERROR_TYPE_ERROR at the end of the enum to keep ABI compatibility
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3154>

2022-10-06 20:37:45 +0900  Sangchul Lee <sc11.lee@samsung.com>

	* tests/check/elements/webrtcbin.c:
	  tests/webrtc: Add test for 'add-turn-server' action signal
	  It just checks return value of the action signal.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3131>

2020-12-10 16:25:26 +0100  Johan Sternerup <johast@axis.com>

	* ext/sctp/gstsctpenc.c:
	  sctpenc: Prohibit sending of interleaved message parts
	  Apparently we cannot start sending messages from another datachannel
	  before the previous message was completely sent. usrsctplib will
	  complain about being locked on another stream id and set
	  errno=EINVAL.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2454>

2022-10-07 08:30:05 +0200  Wojciech Kapsa <wojciech.kapsa@medvc.eu>

	* sys/decklink/gstdecklinkvideosrc.cpp:
	* sys/decklink/gstdecklinkvideosrc.h:
	  decklink: reset calculation of gst_decklink_video_src_update_time_mapping on no_signal. When the HDMI cable was disconnected for a long time, the calculation took too much time. SDI cable works fine.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3132>

2022-10-07 07:56:21 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* ext/dash/meson.build:
	  Meson: Fix libxml2 fallback
	  The variable xml2lib_dep does not exist. The correct name is already in
	  the wrap file.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3136>

2022-09-22 22:39:31 +0900  Sangchul Lee <sc11.lee@samsung.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: Fix pointer dereference before null check
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3129>

2022-09-26 13:57:15 +0200  Wojciech Kapsa <wojciech.kapsa@medvc.eu>

	* docs/plugins/gst_plugins_cache.json:
	* sys/decklink/gstdecklink.cpp:
	* sys/decklink/gstdecklink.h:
	* sys/decklink/gstdecklinkaudiosink.cpp:
	* sys/decklink/gstdecklinkaudiosink.h:
	* sys/decklink/gstdecklinkaudiosrc.cpp:
	* sys/decklink/gstdecklinkaudiosrc.h:
	* sys/decklink/gstdecklinkdeviceprovider.cpp:
	* sys/decklink/gstdecklinkvideosink.cpp:
	* sys/decklink/gstdecklinkvideosink.h:
	* sys/decklink/gstdecklinkvideosrc.cpp:
	* sys/decklink/gstdecklinkvideosrc.h:
	  decklink: Add new persistent-id property and sort devices by persistent ID
	  The order of the devices iterator from the SDK is undefined and can
	  randomly change.
	  Keep the device-number property for backwards compatibility and
	  simplicity but prefer the persistent-id property and also use it for the
	  device provider implementation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3078>

2022-10-04 19:19:57 -0300  Thibault Saunier <tsaunier@igalia.com>

	* gst/transcode/gsttranscodebin.c:
	* gst/transcode/gsttranscodeelement.c:
	  transcodebin: Implement support for upstream stream selection
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3128>

2022-10-05 05:38:54 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	  d3d11: Fix debug build on UWP
	  GstDXGIGetDebugInterface() is unused when targeting UWP. We directly
	  call DXGIGetDebugInterface1() in that case.
	  Fixes build failure:
	  ../gst-libs/gst/d3d11/gstd3d11device.cpp(271): error C2440: '=': cannot convert from 'HRESULT (__cdecl *)(UINT,const IID &,void **)' to 'DXGIGetDebugInterface_t'
	  ../gst-libs/gst/d3d11/gstd3d11device.cpp(271): note: This conversion requires a reinterpret_cast, a C-style cast or function-style cast
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3118>

2022-10-05 15:59:03 +0900  Sangchul Lee <sc11.lee@samsung.com>

	* gst-libs/gst/webrtc/nice/nice.c:
	  webrtc/nice: Make sure to return NULL when validating turn server fails
	  It affects 'add-turn-server' signal action and 'turn-server' property
	  of webrtcbin.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3120>

2022-03-21 10:29:21 +0100  Johan Sternerup <johan.sternerup@axis.com>

	* ext/webrtc/webrtcdatachannel.c:
	* gst-libs/gst/webrtc/datachannel.c:
	* gst-libs/gst/webrtc/datachannel.h:
	* gst-libs/gst/webrtc/webrtc-priv.h:
	* gst-libs/gst/webrtc/webrtc_fwd.h:
	* tests/check/elements/webrtcbin.c:
	  webrtc: return error when sending on non-open datachannel
	  According to W3C
	  specification (https://w3c.github.io/webrtc-pc/#datachannel-send) we
	  should return InvalidStateError exception when trying to send when the
	  channel is not open. In the world of C/glib/gstreamer we don't have
	  exceptions but have to rely on gboolean/GError instead. Introducing
	  these calls for a change in function signature of the action signals
	  used to send data on the datachannel. Changing the signature of the
	  existing "send-string" and "send-data" signals would mean an immediate
	  breaking change so instead we deprecate them. Furthermore, there is no
	  way to express GError** as an argument to an action signal in a way
	  that fits language bindings (pointer-to-pointer simply does not work)
	  and we have to use regular functions instead.
	  Therefore we introduce gst_webrtc_data_channel_send_data_full() and
	  gst_webrtc_data_channel_send_string_full() while deprecating the old
	  functions and corresponding signals.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1958>

2022-09-23 17:18:35 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/codecparsers/gsth265bitwriter.c:
	* gst-libs/gst/codecparsers/gsth265parser.c:
	* gst-libs/gst/codecparsers/gsth265parser.h:
	* sys/nvcodec/gstnvh265dec.c:
	* sys/va/gstvah265dec.c:
	* tests/check/libs/h265bitwriter.c:
	  h265parse: fix typo in member of GstH265SPS
	  Rename sps_extnsion_params to sps_extension_params
	  Fix comment about vui_parameters_present_flag
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3072>

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-bad.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-09-29 14:34:31 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/gaudieffects/gstgaussblur.c:
	  gaussblur: Fix memory leak when setting caps multiple times
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3091>

2022-09-27 18:17:24 +0100  Christopher Obbard <chris.obbard@collabora.com>

	* sys/v4l2codecs/gstv4l2codecdevice.c:
	  v4l2codecs: Warn user when no media devices are found
	  Currently if the user is not able to access the devices under /dev/media*,
	  either due to no media devices present on the system or simply no permission
	  to access the device, v4l2codecs initialises with no features or debug messages.
	  Since calling `GST_DEBUG="v4l2*:7" gst-inspect-1.0 v4l2codecs` is a typical way
	  to diagnose why element(s) failed to enumerate, we should be more verbose here
	  when the user is not able to access any /dev/media* device. So print a simple
	  debug message in this case to aid debugging.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3088>

2022-09-20 23:31:45 +0300  Mart Raudsepp <mart@leio.tech>

	* gst/mpegtsdemux/mpegtsbase.c:
	  tsdemux: Don't trigger a program change when falling back to ignore-pcr behaviour
	  Since commit a79a756b79aa1675e we could change to ignore-pcr automatically at 500ms
	  into a live stream when no PCR is seen by then. However the stream counting in
	  program change detection was wrongly considering ignore-pcr programs to have a
	  separate PCR PID, even though we are actually ignoring the PCR PID completely,
	  resulting in an erroneous program switch getting triggered from the different
	  stream count. This in turn would send an EOS and switch out the pads for what
	  actually is still the same program, while we intended to simply apply a
	  workaround for broken encoders.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3060>

2022-09-27 19:46:28 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* meson.build:
	  meson: Remove builtin variable datadir from pkgconfig variables
	  Fixes warning with meson 0.62:
	  gst-plugins-bad| subprojects/gst-plugins-bad/meson.build:546: WARNING:
	  Project targets '>= 0.62' but uses feature deprecated since '0.62.0':
	  pkgconfig.generate variable for builtin directories. They will be
	  automatically included when referenced
	  and more.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3086>

2022-09-22 09:14:57 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* tests/interactive/pitch-test.c:
	  bad/soundtouch: Fix interactive test build on MSVC
	  Needed for https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/930
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3064>

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-20 13:38:26 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvabaseenc.c:
	  vabaseenc: Move out encoder validation from assertion.
	  Assertion can be disabled at compilation time. Still it's important to
	  validate it the encoder object was opened by the subclass. This patch
	  removes the assertion and returns if the encoder is open.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3051>

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-20 16:21:24 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkav1enc.c:
	  msdkav1enc: We should not set other alignment here
	  According to spec, we have 32bit alignment for height (progressive) and
	  16bit alignment for width, so here we don't need to add other alignment
	  settings.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3050>

2022-09-17 17:49:47 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  va: h264enc: Fix rate control enum register failure for the second GPU.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3041>

2022-09-17 10:14:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: Avoid precision lost by just rounding up.
	  The code where dividing by 16 and later multiplying by 16, which is
	  spurious and a potential loose of precision.

2022-09-16 14:17:38 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: Update AUD property if driver can't handle raw data.

2022-09-16 13:55:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: Remove unused dispose method.

2022-09-16 15:45:11 -0400  Eric Knapp <emkman99@gmail.com>

	* sys/va/gstvadeinterlace.c:
	  vadeinterlace: Fix passthrough latency query
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3038>

2022-09-17 05:01:55 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvh265dec.c:
	  nvh265sldec: Sync up with d3d11h265dec implementation
	  Each RefPicSetStCurrBefore/RefPicSetStCurrAfter/RefPicSetLtCurr array
	  might have empty element (i.e., reference pictures might not be stored
	  sequentially). Don't error out for the empty element case,
	  but instead, iterates each array and fill NVDEC's reference list
	  as much as possible
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1441
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3039>

2022-09-16 12:50:33 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvabaseenc.c:
	* sys/va/gstvabaseenc.h:
	* sys/va/gstvah264enc.c:
	  va: baseenc: Fix gobject style for chained method.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3035>

2022-09-13 23:20:54 +0900  Seungha Yang <seungha@centricular.com>

	* gst/codectimestamper/gsth264timestamper.c:
	* gst/codectimestamper/gsth265timestamper.c:
	  codectimestamper: Update document
	  Add more description about those elements
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3021>

2022-06-09 22:32:16 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1dec.c:
	  va: av1dec: user internal buffer pool for non output layers.
	  The AV1 support multi spatial layers within one TU with different
	  resolutions, and only the highest spatial layer need to be output.
	  For example, there are two spatial layer, base level is 800x600
	  and higher level is 1920x1080. We need to decode both because the
	  higher level needs base layer as reference, but we only need to output
	  1920x1080 frames here.
	  The current manner always renegotiates the caps once we detect the
	  current picture resolution changes, so we renegotiate again and
	  again between different layers. That's a big waste and has very
	  low performance. We now only do the renegotiation for the highest
	  output layer. For other non output layers, we just keep a internal
	  buffer pool which is big enough to handle the surface allocation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2382>

2022-05-12 10:12:37 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecs/gstav1decoder.c:
	* gst-libs/gst/codecs/gstav1decoder.h:
	  codecs: av1decoder: Add the highest_spatial_layer field.
	  As SPEC says, when multi spatial layer exists, we should only output
	  one frame with the highest spatial id from each TU. We now store the
	  highest spatial layer information in the base class in order to let
	  the sub class handle different layers easily.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2382>

2022-09-15 00:52:14 +0000  Devin Anderson <danderson@microsoft.com>

	* ext/voamrwbenc/gstvoamrwbenc.c:
	* tests/check/elements/voamrwbenc.c:
	* tests/check/meson.build:
	  voamrwbenc: Fix truncation of audio data at end-of-stream when audio data doesn't align on 20 millisecond frame size.
	  The AMR-WB codec imposes a fixed 20 millisecond frame size.  In its current
	  form, the `voamrwbenc` plugin deals with this limitation by discarding any
	  audio at the end of the stream that falls short of 20 milliseconds.  This patch
	  keeps the audio data, and appends silence to the end to preserve frame size
	  alignment.
	  The patch also adds tests to check for the updated behavior.  I noticed that
	  tests weren't being built, so I changed the build to allow for building the
	  tests when the `tests` and `voamrwbenc` options are set.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3027>

2022-09-15 21:56:27 +0900  Seungha Yang <seungha@centricular.com>

	* gst/codectimestamper/gstcodectimestamper.c:
	  codectimestamper: Fix for unknown framerate
	  Use default framerate if numerator or denominator is unknown
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3031>

2022-08-26 08:43:34 -0400  Thibault Saunier <tsaunier@igalia.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/qsv/plugin.cpp:
	  Build documentation for rust plugins
	  - Update the docker image we use, starting using the standard one adding
	  `gtk4-doc` as required by rust plugins
	  - Update the plugins_doc_caches as required, some more plugins are built
	  with the new image
	  - Install ninja from pip as the version from F31 is too old
	  - Avoid buildings all GSreamer plugins when building the doc as it takes
	  time and resources for no good reason
	  - Stop linking to `GInstanceInitFunc` as it is not present in latest GLib
	  documentation, leading to warnings in hotdoc.
	  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-15 12:14:56 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/meson.build:
	  tests: add a few more orc tests
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3029>

2022-09-14 00:58:37 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvdec.c:
	  nvdec: Fix for HEVC decoding when coded resolution is larger than display resolution
	  As documented in the SDK header, we should set coded width/height
	  values to the corresponding decoder configuration option,
	  instead of display resolution
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1438
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3022>

2022-09-13 04:06:02 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudamemorycopy.c:
	  cudaupload,cudadownload: Fix document
	  * Fix typo, NVIDA -> NVIDIA
	  * Add cudadownload doc to the source file
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3018>

2022-09-13 01:02:55 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudamemorycopy.c:
	  cudaupload,cudadownload: Use shared GstD3D11Device context if possible
	  Handle d3d11 device context in set_context() method with
	  additional device compatibility check so that only NVIDIA GPU
	  associated d3d11 device can be configured in the element.
	  And clear old d3d11 device per set_info() for d3d11 device to be
	  updated as well.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3018>

2022-09-13 01:02:50 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/cuda-gst.h:
	* gst-libs/gst/cuda/gstcudacontext.c:
	* gst-libs/gst/cuda/gstcudaloader.c:
	* gst-libs/gst/cuda/gstcudautils.c:
	* gst-libs/gst/cuda/gstcudautils.h:
	* gst-libs/gst/cuda/meson.build:
	* gst-libs/gst/cuda/stub/cuda.h:
	* gst-libs/gst/cuda/stub/cudaD3D11.h:
	  cuda: Remove GST_CUDA_HAS_D3D define from header
	  ... and fix d3d11 specific enum type name
	  GST_CUDA_HAS_D3D is a build time define which indicates whether
	  GstD3D11 library is available or not, but DirectX SDK headers
	  must be available on the build system already.
	  Expose Direct3D related symbols if the build target is Windows
	  (i.e., if G_OS_WIN32 is defined)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3018>

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-06-06 10:56:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* docs/plugins/gst_plugins_cache.json:
	  va: Remove from plugin cache.
	  GstVA is not currently build by CI, because libva version is lower
	  than expected. So, the gstva library is not build, thus some symbols
	  aren't documented, breaking the documentation CI.
	  To move things forward, let's just remove temporarly the va plugins
	  from cache. While we decide on how to update the libva package in
	  the CI.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1025>

2022-06-27 18:56:01 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstvaallocator.h:
	  va: allocator: Fix parameter name to match signature.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1025>

2022-02-07 17:34:57 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* docs/libs/va/index.md:
	* docs/libs/va/sitemap.txt:
	* gst-libs/gst/va/gstva.h:
	* gst-libs/gst/va/gstvaallocator.c:
	* gst-libs/gst/va/gstvaallocator.h:
	* gst-libs/gst/va/gstvadisplay.c:
	* gst-libs/gst/va/gstvapool.c:
	* gst-libs/gst/va/gstvasurfacecopy.h:
	* gst-libs/gst/va/gstvautils.c:
	* gst-libs/gst/va/gstvavideoformat.c:
	* gst-libs/gst/va/meson.build:
	* sys/va/gstjpegdecoder.c:
	* sys/va/gstjpegdecoder.h:
	* sys/va/gstvabasetransform.c:
	* sys/va/gstvacompositor.c:
	* sys/va/gstvafilter.c:
	* sys/va/gstvah264enc.c:
	  va: Complete library and plugin documentation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1025>

2022-09-13 14:46:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstva.h:
	* gst-libs/gst/va/meson.build:
	* sys/va/gstvabasedec.c:
	* sys/va/gstvacaps.c:
	* sys/va/gstvadecoder.c:
	* sys/va/gstvadisplay_priv.c:
	* sys/va/gstvaencoder.c:
	* sys/va/gstvafilter.c:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvajpegdec.c:
	  va: Move gstvavideoformat out of library headers.
	  Since it's no needed for API consumers. Though it can be added later.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1025>

2021-10-03 10:17:00 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* docs/meson.build:
	* gst-libs/gst/va/meson.build:
	  docs: Generate libgstva GI and pkg-config.
	  Currently libgstva is only exposed internally to gst-plugins-bad. No
	  headers are installed, no documentation generated, pkgconfig file,
	  neither gobject-introspection files.
	  This patch turn on all that.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1025>

2022-05-19 00:44:40 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/codectimestamper/gstcodectimestamper.c:
	* gst/codectimestamper/gstcodectimestamper.h:
	* gst/codectimestamper/gsth264timestamper.c:
	* gst/codectimestamper/gsth264timestamper.h:
	* gst/codectimestamper/gsth265timestamper.c:
	* gst/codectimestamper/gsth265timestamper.h:
	* gst/codectimestamper/meson.build:
	* gst/codectimestamper/plugin.c:
	* gst/meson.build:
	* meson_options.txt:
	  Add H.264/H.265 timestamp correction element
	  Adding {h264,h265}timestamper element to correct timestamp of
	  encoded frames. This initial version supports only DTS
	  correction based on given PTS and SPS data.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2580>

2022-09-07 11:22:45 -0400  Thibault Saunier <tsaunier@igalia.com>

	* gst/debugutils/gsttestsrcbin.c:
	* tests/validate/meson.build:
	* tests/validate/testsrcbin/caps_spec.validatetest:
	* tests/validate/testsrcbin/caps_spec/flow-expectations/log-testsrcbin0-video_src_0-expected:
	  testsrcbin: Add a way to specify caps for the output of the sources
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3007>

2022-09-08 17:29:37 -0400  Thibault Saunier <tsaunier@igalia.com>

	* gst/debugutils/gsttestsrcbin.c:
	  testsrcbin: Plug some leaks
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3007>

2020-11-19 18:34:00 -0300  Thibault Saunier <tsaunier@igalia.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/debugutils/gsttestsrcbin.c:
	  testsrcbin: Add an 'expose-sources-async' property
	  Which allows simluating usual source which require decoding etc in decodebin for example
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3007>

2022-09-05 18:32:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvajpegdec.c:
	  vajpegdec: Enhance explanation comment.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2948>

2022-09-06 14:53:41 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvacaps.c:
	  va: caps: Use G_STMT_START / END
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2948>

2022-09-05 16:59:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvajpegdec.c:
	  vajpegdec: Check if driver has internal color conversion.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2948>

2022-09-06 18:49:02 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: fix picking available payload types
	  When picking an available payload type, we need to pick one that is
	  available across all media.
	  The previous code, when multiple media were present, looked at the first one,
	  noticed it had pt 96 as the media pt, then simply looked at the next media,
	  noticed it didn't, and decided 96 was available.
	  Instead, check if the pt is used by any of the media, if it is, decide
	  it is not available and go to the next pt. I'm fairly sure that was the
	  original intent.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2984>

2022-08-03 19:36:11 +0300  Jordan Petridis <jordan@centricular.com>

	* ext/fluidsynth/gstfluiddec.c:
	  fluidsynth: correctly version guard methods
	  We bumped the minimum version to 2.1 but the api we used
	  wasn't introduced till version 2.2 of fluidsynth
	  Follow-up to gstreamer/gstreamer!2718
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2718
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2835>

2022-08-21 03:37:40 +1000  Jan Schmidt <jan@centricular.com>

	* ext/dash/gstdashdemux.c:
	* ext/dash/gstdashdemux.h:
	* ext/dash/gstmpdclient.c:
	* ext/dash/gstmpdclient.h:
	  dashdemux: Preserve current representation on live manifest updates
	  When updating a manifest during live playback, preserve the current
	  representation for each stream.
	  During update_fragment_info, if the current representation changed
	  because it couldn't be matched, trigger a caps change and new
	  header download.
	  This reverts commit e0e1db212fd0df2239583b9099fc4361adeded05
	  and reapplies "dashdemux: Fix issue when manifest update sets slow start
	  without passing necessary header & caps changes downstream" with
	  changes.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/507
	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1729
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2920>

2022-09-02 09:55:20 +0000  Florian Zwoch <fzwoch@gmail.com>

	* sys/va/plugin.c:
	  va: Fix log message when registering H264 encoder.
	  The log message would report an error for the H264 decoder when
	  registering failed, but we tried to register the H264 encoder instead.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2974>

2022-07-05 17:14:37 -0400  Olivier Crête <olivier.crete@collabora.com>

	* ext/webrtc/gstwebrtcbin.c:
	* tests/check/elements/webrtcbin.c:
	  webrtcbin: Allow locked mlines with no caps, as the last ones
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2439>

2022-05-16 18:05:25 -0400  Olivier Crête <olivier.crete@collabora.com>

	* ext/webrtc/gstwebrtcbin.c:
	* tests/check/elements/webrtcbin.c:
	  webrtcbin: Reject creating an offer if a locked mline has no caps
	  This avoids getting in a bunch of corner cases. We'd have to insert
	  a "rejected" line from the start as a place-holder to get around this,
	  but the rest of the code just becomes more complicated, so just
	  disallow it for now.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2439>

2022-05-16 17:17:13 -0400  Olivier Crête <olivier.crete@collabora.com>

	* ext/webrtc/gstwebrtcbin.c:
	* ext/webrtc/webrtctransceiver.c:
	* ext/webrtc/webrtctransceiver.h:
	* tests/check/elements/webrtcbin.c:
	  webrtcbin: Store pending mid to make create-offer idempotent
	  If the mid is not stored in the transceiver, but it is stored in
	  last_offer, then a further create-offer call will just ignore that
	  transceiver.
	  Also include unit test for ensure it doesn't regress.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2439>

2022-05-26 18:17:16 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkvpp.c:
	* sys/msdk/gstmsdkvpp.h:
	  msdkvpp: Add va memory when fixating src caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>

2022-06-08 12:31:56 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkvpp.c:
	* sys/msdk/gstmsdkvpp.h:
	  msdkvpp : Use va pool at linux path and system pool for windows
	  We use msdkvpp's own pool to allocate buffers instead of external frame
	  allocator mfxFrameAllocator.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>

2022-05-09 18:34:38 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkallocator.h:
	* sys/msdk/gstmsdkallocator_libva.c:
	* sys/msdk/gstmsdkvpp.c:
	  msdkvpp: Import buffer to msdk_surface
	  If the buffer is not msdk_buffer, we can try to directly import the
	  attached memory (i.e. va mem and dmabuf mem) by applying the common
	  uitl function: import_to_msdk_function ().
	  Here add a flag "from_qdata" in GstMsdkSurface to handle the cropping case,
	  we should avoid updating the crop values when msdk_surface is from the
	  memory's qdata, because the crop info from this surface is the already
	  updated one.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>

2022-05-09 18:19:01 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkvpp.c:
	  msdkvpp: Add va caps at sink and src pad
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>

2022-08-25 17:28:36 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkenc.c:
	  msdkenc: Apply common util func to import mem as msdk_surface
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>

2022-05-27 17:56:33 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkallocator.c:
	* sys/msdk/gstmsdkallocator.h:
	* sys/msdk/gstmsdkallocator_libva.c:
	* sys/msdk/gstmsdkallocator_libva.h:
	* sys/msdk/meson.build:
	* sys/msdk/msdk.h:
	  msdk: Add help functions to get mfxFrameSurface1 from GstBuffer and wrap it as GstMsdkSurface
	  Note that the memory abstraction for system memory is for windows path.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>

2022-05-19 19:18:21 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkenc.c:
	* sys/msdk/msdk.c:
	* sys/msdk/msdk.h:
	  msdkenc: Use va pool on linux and system pool for windows
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>

2022-05-19 18:57:50 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkenc.c:
	  msdkenc: Directly import dmabuf memory as mfx surface
	  When input buffer is of dmabuf memory but not a msdk buffer (i.e., the
	  allocator is not msdk_allocator), then we can try to get fd of this mem,
	  create the corresponding va surface and wrap it as mfx surface.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>

2022-04-21 17:27:09 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkenc.c:
	  msdkenc: Directly import va memory as mfx surface
	  If input buffer is of va memory, we can directly obtain va surface from
	  the buffer and wrap it as mfx surface.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>

2022-03-03 10:07:19 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdk_va.c:
	* sys/msdk/gstmsdk_va.h:
	* sys/msdk/gstmsdkenc.c:
	* sys/msdk/meson.build:
	  msdk: Use va libs API to get VA surface from buffer
	  Direct apply gst_va_buffer_get_surface to get VASurface from a buffer,
	  so remove corresponding functions which are not used.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>

2022-09-01 15:11:31 -0400  Thibault Saunier <tsaunier@igalia.com>

	* ext/aes/meson.build:
	* ext/aom/meson.build:
	* ext/assrender/meson.build:
	* ext/avtp/meson.build:
	* ext/bs2b/meson.build:
	* ext/bz2/meson.build:
	* ext/chromaprint/meson.build:
	* ext/closedcaption/meson.build:
	* ext/colormanagement/meson.build:
	* ext/curl/meson.build:
	* ext/dash/meson.build:
	* ext/dc1394/meson.build:
	* ext/directfb/meson.build:
	* ext/dtls/meson.build:
	* ext/dts/meson.build:
	* ext/faac/meson.build:
	* ext/faad/meson.build:
	* ext/fdkaac/meson.build:
	* ext/flite/meson.build:
	* ext/fluidsynth/meson.build:
	* ext/gme/meson.build:
	* ext/gs/meson.build:
	* ext/gsm/meson.build:
	* ext/gtk/meson.build:
	* ext/hls/meson.build:
	* ext/iqa/meson.build:
	* ext/isac/meson.build:
	* ext/kate/meson.build:
	* ext/ladspa/meson.build:
	* ext/ldac/meson.build:
	* ext/libde265/meson.build:
	* ext/lv2/meson.build:
	* ext/mdns/meson.build:
	* ext/modplug/meson.build:
	* ext/mpeg2enc/meson.build:
	* ext/mplex/meson.build:
	* ext/musepack/meson.build:
	* ext/neon/meson.build:
	* ext/onnx/meson.build:
	* ext/openal/meson.build:
	* ext/openaptx/meson.build:
	* ext/opencv/meson.build:
	* ext/openexr/meson.build:
	* ext/openh264/meson.build:
	* ext/openjpeg/meson.build:
	* ext/openmpt/meson.build:
	* ext/openni2/meson.build:
	* ext/opus/meson.build:
	* ext/qroverlay/meson.build:
	* ext/resindvd/meson.build:
	* ext/rsvg/meson.build:
	* ext/rtmp/meson.build:
	* ext/sbc/meson.build:
	* ext/sctp/meson.build:
	* ext/smoothstreaming/meson.build:
	* ext/sndfile/meson.build:
	* ext/soundtouch/meson.build:
	* ext/spandsp/meson.build:
	* ext/srt/meson.build:
	* ext/srtp/meson.build:
	* ext/svthevcenc/meson.build:
	* ext/teletextdec/meson.build:
	* ext/ttml/meson.build:
	* ext/voaacenc/meson.build:
	* ext/voamrwbenc/meson.build:
	* ext/vulkan/meson.build:
	* ext/wayland/meson.build:
	* ext/webp/meson.build:
	* ext/webrtc/meson.build:
	* ext/webrtcdsp/meson.build:
	* ext/wildmidi/meson.build:
	* ext/wpe/meson.build:
	* ext/x265/meson.build:
	* ext/zbar/meson.build:
	* ext/zxing/meson.build:
	* gst/accurip/meson.build:
	* gst/adpcmdec/meson.build:
	* gst/adpcmenc/meson.build:
	* gst/aiff/meson.build:
	* gst/asfmux/meson.build:
	* gst/audiobuffersplit/meson.build:
	* gst/audiofxbad/meson.build:
	* gst/audiolatency/meson.build:
	* gst/audiomixmatrix/meson.build:
	* gst/audiovisualizers/meson.build:
	* gst/autoconvert/meson.build:
	* gst/bayer/meson.build:
	* gst/camerabin2/meson.build:
	* gst/codecalpha/meson.build:
	* gst/coloreffects/meson.build:
	* gst/debugutils/meson.build:
	* gst/dvbsubenc/meson.build:
	* gst/dvbsuboverlay/meson.build:
	* gst/dvdspu/meson.build:
	* gst/faceoverlay/meson.build:
	* gst/festival/meson.build:
	* gst/fieldanalysis/meson.build:
	* gst/freeverb/meson.build:
	* gst/frei0r/meson.build:
	* gst/gaudieffects/meson.build:
	* gst/gdp/meson.build:
	* gst/geometrictransform/meson.build:
	* gst/id3tag/meson.build:
	* gst/inter/meson.build:
	* gst/interlace/meson.build:
	* gst/ivfparse/meson.build:
	* gst/ivtc/meson.build:
	* gst/jp2kdecimator/meson.build:
	* gst/jpegformat/meson.build:
	* gst/librfb/meson.build:
	* gst/midi/meson.build:
	* gst/mpegdemux/meson.build:
	* gst/mpegpsmux/meson.build:
	* gst/mpegtsdemux/meson.build:
	* gst/mpegtsmux/meson.build:
	* gst/mxf/meson.build:
	* gst/netsim/meson.build:
	* gst/onvif/meson.build:
	* gst/pcapparse/meson.build:
	* gst/pnm/meson.build:
	* gst/proxy/meson.build:
	* gst/rawparse/meson.build:
	* gst/removesilence/meson.build:
	* gst/rist/meson.build:
	* gst/rtmp2/meson.build:
	* gst/rtp/meson.build:
	* gst/sdp/meson.build:
	* gst/segmentclip/meson.build:
	* gst/siren/meson.build:
	* gst/smooth/meson.build:
	* gst/speed/meson.build:
	* gst/subenc/meson.build:
	* gst/switchbin/meson.build:
	* gst/timecode/meson.build:
	* gst/transcode/meson.build:
	* gst/videofilters/meson.build:
	* gst/videoframe_audiolevel/meson.build:
	* gst/videoparsers/meson.build:
	* gst/videosignal/meson.build:
	* gst/vmnc/meson.build:
	* gst/y4m/meson.build:
	* meson.build:
	* sys/amfcodec/meson.build:
	* sys/androidmedia/meson.build:
	* sys/applemedia/meson.build:
	* sys/asio/meson.build:
	* sys/bluez/meson.build:
	* sys/d3d11/meson.build:
	* sys/d3dvideosink/meson.build:
	* sys/decklink/meson.build:
	* sys/directshow/meson.build:
	* sys/directsound/meson.build:
	* sys/dvb/meson.build:
	* sys/fbdev/meson.build:
	* sys/ipcpipeline/meson.build:
	* sys/kms/meson.build:
	* sys/magicleap/meson.build:
	* sys/mediafoundation/meson.build:
	* sys/msdk/meson.build:
	* sys/nvcodec/meson.build:
	* sys/opensles/meson.build:
	* sys/qsv/meson.build:
	* sys/shm/meson.build:
	* sys/tinyalsa/meson.build:
	* sys/uvch264/meson.build:
	* sys/v4l2codecs/meson.build:
	* sys/va/meson.build:
	* sys/wasapi/meson.build:
	* sys/wasapi2/meson.build:
	* sys/wic/meson.build:
	* sys/winks/meson.build:
	* sys/winscreencap/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/adaptivedemux/meson.build:
	* gst-libs/gst/audio/meson.build:
	* gst-libs/gst/codecparsers/meson.build:
	* gst-libs/gst/codecs/meson.build:
	* gst-libs/gst/cuda/meson.build:
	* gst-libs/gst/d3d11/meson.build:
	* gst-libs/gst/insertbin/meson.build:
	* gst-libs/gst/interfaces/meson.build:
	* gst-libs/gst/mpegts/meson.build:
	* gst-libs/gst/opencv/meson.build:
	* gst-libs/gst/play/meson.build:
	* gst-libs/gst/player/meson.build:
	* gst-libs/gst/sctp/meson.build:
	* gst-libs/gst/transcoder/meson.build:
	* gst-libs/gst/uridownloader/meson.build:
	* gst-libs/gst/va/meson.build:
	* gst-libs/gst/vulkan/meson.build:
	* gst-libs/gst/wayland/meson.build:
	* gst-libs/gst/webrtc/meson.build:
	* gst-libs/gst/webrtc/nice/meson.build:
	* meson.build:
	  meson: Namespace the plugins_doc_dep/libraries variables
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>

2022-09-01 10:28:13 -0400  Thibault Saunier <tsaunier@igalia.com>

	* gst-libs/gst/cuda/meson.build:
	  cuda: meson: Fix generating GstCuda gir file against gstreamer-full
	  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-30 05:02:31 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11memory.cpp:
	  d3d11memory: Fix GstAllocator::mem_copy() implementation
	  We were checking possible bind flags for the DXGI format
	  of the source texture but that's never applied to
	  the destination texture desc.
	  Just use the already configured bind (and misc) flags of source texture
	  for the destination texture allocation without additional check.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2950>

2022-08-24 08:22:49 +0200  Robert Rosengren <robertr@axis.com>

	* ext/curl/gstcurlbasesink.c:
	* ext/curl/gstcurlbasesink.h:
	  curlbasesink: gst_curl_base_sink_transfer_thread_close is internal
	  gst_curl_base_sink_transfer_thread_close is moved from external header
	  to be static function, as it has no users.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2732>

2022-07-07 09:20:04 +0200  Robert Rosengren <robertr@axis.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/curl/gstcurlhttpsink.c:
	* ext/curl/gstcurlhttpsink.h:
	  curlhttpsink: Only set MIME as content-type if not set by property
	  Setting the content-type property shall override internally detected MIME
	  types, to make it possible to do as following example (where audio/basic to be
	  used prior to audio/x-mulaw):
	  gst-launch-1.0 ... ! mulawenc ! audio/x-mulaw,rate=8000,channels=1 !
	  curlhttpsink location=<url> content-type=audio/basic
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2732>

2022-08-26 00:16:56 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11-private.h:
	* gst-libs/gst/d3d11/gstd3d11bufferpool.cpp:
	* gst-libs/gst/d3d11/gstd3d11bufferpool.h:
	* gst-libs/gst/d3d11/gstd3d11compile.cpp:
	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	* gst-libs/gst/d3d11/gstd3d11converter.h:
	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* gst-libs/gst/d3d11/gstd3d11device.h:
	* gst-libs/gst/d3d11/gstd3d11format.cpp:
	* gst-libs/gst/d3d11/gstd3d11format.h:
	* gst-libs/gst/d3d11/gstd3d11memory.cpp:
	* gst-libs/gst/d3d11/gstd3d11memory.h:
	* gst-libs/gst/d3d11/gstd3d11utils.cpp:
	* sys/d3d11/gstd3d11pluginutils.h:
	  d3d11: Update library doc
	  * Private header name is changed to gstd3d11-private.h to follow
	  naming convention
	  * Add Since mark everywhere
	  * Update member variable names to be consistent with the other
	  object implementations in this library
	  * Correct outdated documentation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2945>

2022-08-25 14:24:25 +0200  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/avfvideosrc.m:
	  avfvideosrc: Fix wrong default framerate value
	  Current default G_MAXINT is not a correct value under any circumstances.
	  This creates an issue with screen capture, during which we currently do
	  not get any framerate info causing G_MAXINT to show up, where elements
	  downstream can possibly misbehave - for example, `vtenc` causes
	  a kernel panic.
	  Replace with 30/1 to avoid such scenarios.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2944>

2022-08-25 15:28:21 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstjpegdecoder.c:
	  jpegdecoder: return the real error of decode_scan and decode_frame.
	  The current handle_frame() does not return the real error that happens
	  in decode_scan and decode_frame, which makes the pipeline continue with
	  the error and may trigger asserting later.
	  We also return the error when decode_quant_table or decode_huffman_table
	  fails.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2938>

2022-08-19 21:54:48 +0900  Seungha Yang <seungha@centricular.com>

	* tests/examples/d3d11/d3d11videosink-present.cpp:
	* tests/examples/d3d11/meson.build:
	  examples: d3d11videosink: Add present signal example
	  Add an example to show the usage of present singal.
	  In this example, a text overlay with alpha blended background
	  will be rendered on swapchain's backbuffer by using
	  Direct3D11, Direct2D, and DirectWrite APIs.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2923>

2022-08-24 00:13:21 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11videosink.cpp:
	* sys/d3d11/gstd3d11window.cpp:
	* sys/d3d11/gstd3d11window.h:
	* sys/d3d11/gstd3d11window_dummy.cpp:
	  d3d11videosink: Add display-format property
	  Make swapchian's display format configurable, since some DXGI formats
	  we can use for swapchain are not API interop compatible.
	  For instance, BGRA format should be used for Direct2D interop.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2923>

2022-08-19 20:25:31 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11videosink.cpp:
	* sys/d3d11/gstd3d11window.cpp:
	* sys/d3d11/gstd3d11window.h:
	* sys/d3d11/gstd3d11window_corewindow.cpp:
	* sys/d3d11/gstd3d11window_swapchainpanel.cpp:
	* sys/d3d11/gstd3d11window_win32.cpp:
	  d3d11videosink: Add present signal
	  The "present" signal will be emitted just before the
	  IDXGISwapChain::Present() call. The client can perform additional
	  GPU operation with given GstD3D11Device object and
	  ID3D11RenderTargetView handle. Or, the client can read back
	  the scene to be displayed on window using the signal.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2923>

2022-08-19 04:49:53 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth265decoder.c:
	  h265decoder: Update SpsMaxLatencyPictures properly
	  The SpsMaxLatencyPictures value never gets back to zero even if
	  it's needed. Update the value properly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2915>

2022-08-19 04:44:48 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth265decoder.c:
	  h265decoder: Reorganize debug printing
	  As of the MR
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2575
	  gst_h265_decoder_process_sps() is called per slice and it causes
	  noisy debug message print.
	  Reorganize related and the other debug printings at once.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2915>

2022-08-20 16:15:15 +0100  Philippe Normand <philn@igalia.com>

	* ext/openh264/gstopenh264dec.cpp:
	* ext/openh264/gstopenh264enc.cpp:
	  openh264: Register debug categories earlier
	  Otherwise the GST_ERROR message logged in case of ABI mismatch would be done on
	  an uninitialized category.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2918>

2022-08-20 16:57:27 +0100  Philippe Normand <philn@igalia.com>

	* ext/openh264/gstopenh264enc.cpp:
	  openh264enc: Fix constrained-high encoding
	  constrained-high is high without B-frames, there is no EProfileIdc for this, so
	  assume high instead of hitting an assert down the line.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2919>

2022-08-19 09:07:50 -0400  Thibault Saunier <tsaunier@igalia.com>

	* gst-libs/gst/webrtc/ice.c:
	* gst-libs/gst/webrtc/ice.h:
	* gst-libs/gst/webrtc/nice/nice.c:
	  webrtc:ice: Fix candidate stats related APIs for bindings
	  null-terminated arrays of structures is not usable.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2917>

2022-08-18 13:27:02 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265dec.c:
	  va: h265dec: Enable the scc_main_4:4:4_10 profile.
	  We should enable this profile which is already allown in vaprofile.c
	  after libva 1.8 version.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2909>

2022-07-06 09:08:17 -0400  U. Artie Eoff <ullysses.a.eoff@intel.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/kms/gstkmssink.c:
	* sys/kms/gstkmssink.h:
	  kmssink: add fd property
	  This allows an application to provide their own opened DRM device
	  fd handle to kmssink.  For example, an application can lease
	  multiple fd's from a DRM master to display on different CRTC
	  outputs at the same time with multiple kmssink instances.
	  Specifying the fd property is not allowed when driver-name
	  and/or bus-id properties are specified.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2807>

2022-08-19 00:05:17 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11deinterlace.cpp:
	* sys/d3d11/gstd3d11screencapture.cpp:
	* sys/d3d11/gstd3d11videosink.cpp:
	  d3d11: Use CRITICAL_SECTION instead of GRecMutex
	  The GRecMutex abstraction (and heap allocation happens in GLib)
	  is unnecessary for this plugin.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2914>

2022-08-17 11:18:54 -0400  Thibault Saunier <tsaunier@igalia.com>

	* gst-libs/gst/webrtc/webrtc_fwd.h:
	  webrtc: doc: Cleanup Since markers
	  We hide some newly public symbols when moving some objects to the library
	  which was not really correct in the end. Properly add the Since markers
	  as needed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2891>

2022-08-16 08:59:00 -0400  Thibault Saunier <tsaunier@igalia.com>

	* gst-libs/gst/webrtc/ice.h:
	  webrtc:ice: Reindent header
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2891>

2022-08-15 21:27:06 -0400  Thibault Saunier <tsaunier@igalia.com>

	* gst-libs/gst/webrtc/ice.h:
	  webrtc:ice: Mark protected fields as such
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2891>

2022-08-15 21:25:25 -0400  Thibault Saunier <tsaunier@igalia.com>

	* gst-libs/gst/webrtc/datachannel.c:
	* gst-libs/gst/webrtc/dtlstransport.c:
	* gst-libs/gst/webrtc/ice.c:
	* gst-libs/gst/webrtc/icestream.c:
	* gst-libs/gst/webrtc/icetransport.c:
	* gst-libs/gst/webrtc/rtpreceiver.c:
	* gst-libs/gst/webrtc/rtpsender.c:
	* gst-libs/gst/webrtc/rtptransceiver.c:
	  webrtc: Fix documentaton moving symbols in the right pages
	  As those symbols are documented in a 'fwd' header smart indexing in
	  hotdoc wasn't working.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2891>

2022-08-15 11:52:50 -0400  Thibault Saunier <tsaunier@igalia.com>

	* gst-libs/gst/webrtc/ice.c:
	* gst-libs/gst/webrtc/ice.h:
	* gst-libs/gst/webrtc/nice/nice.c:
	  webrtc:ice: Avoid using GArray in public API
	  And use plain null terminated C arrays instead.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2891>

2022-08-15 11:37:57 -0400  Thibault Saunier <tsaunier@igalia.com>

	* gst-libs/gst/webrtc/ice.c:
	  webrtc:ice: Fix some annotations
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2891>

2022-08-15 11:36:25 -0400  Thibault Saunier <tsaunier@igalia.com>

	* gst-libs/gst/webrtc/ice.c:
	* gst-libs/gst/webrtc/ice.h:
	  webrtc: Make GstWebRTCIceCandidateStats a Boxed type
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2891>

2022-08-14 17:38:24 -0400  Thibault Saunier <tsaunier@igalia.com>

	* gst-libs/gst/webrtc/ice.h:
	  webrtc:ice: Add padding to structures
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2891>

2022-08-14 21:49:27 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/cuda-gst.h:
	* gst-libs/gst/cuda/gstcudanvrtc.c:
	* gst-libs/gst/cuda/gstcudanvrtc.h:
	* gst-libs/gst/cuda/gstnvrtcloader.c:
	* gst-libs/gst/cuda/gstnvrtcloader.h:
	* gst-libs/gst/cuda/meson.build:
	* sys/nvcodec/gstcudafilter.c:
	  cuda: Hide runtime compiler related header and symbols
	  That's already abstracted via gst_cuda_nvrtc_compile() method
	  and therefore, we do not need to expose such symbols yet.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2884>

2022-08-17 12:22:38 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvajpegdec.c:
	  vajpegdec: Fix memory leak.
	  Free value content.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2899>

2022-08-16 20:05:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvajpegdec.c:
	  vajpegdec: Fix 4:2:2 for i965.
	  Since i965 uses NV12 either for 4:2:0 and 4:2:2 chroma (using an
	  internal color conversion) the chroma validation has to be shortcut.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2899>

2022-08-16 19:50:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstvavideoformat.c:
	  va: libs: Add Y42B format.
	  Enable 4:2:2 JPEG decoding in iHD.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2899>

2022-08-16 16:06:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstvavideoformat.c:
	* gst-libs/gst/va/gstvavideoformat.h:
	* sys/va/gstvacaps.c:
	  va: Validate JPEG subsampling configurations.
	  There are Mesa Gallium drivers that report subsampling but without
	  any pixel format. So, strip out these subsamplings.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2899>

2022-08-16 14:45:46 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvadecoder.c:
	* sys/va/gstvaencoder.c:
	  va: gst_va_create_raw_caps_from_config() may return NULL.
	  This patch verifies if the function returns NULL in the caller.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2899>

2022-08-17 11:42:09 -0400  Eric Knapp <emkman99@gmail.com>

	* sys/decklink/gstdecklink.cpp:
	* sys/decklink/gstdecklink.h:
	* sys/decklink/gstdecklinkvideosrc.cpp:
	  decklink: Validate video input format
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2892>

2022-08-15 11:23:56 -0400  Eric Knapp <emkman99@gmail.com>

	* sys/decklink/gstdecklink.cpp:
	  decklink: Auto-detect 10-bit YUV
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2892>

2022-08-14 22:31:29 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst-libs/gst/play/gstplay-media-info.h:
	* gst-libs/gst/play/gstplay-signal-adapter.h:
	* gst-libs/gst/play/gstplay-video-overlay-video-renderer.h:
	* gst-libs/gst/play/gstplay-video-renderer.h:
	* gst-libs/gst/play/gstplay-visualization.h:
	  gst-play: missing cleanup for g_autoptr
	  Without this change cleanup function for g_autoptr is not defined for
	  GstPlayMediaInfo, GstPlaySignalAdapter, GstPlayVideoRenderer,
	  GstPlayVideoOverlayVideoRenderer and GstPlayVisualization. Cleanup
	  function was defined in gstplay.h, but missing in other header files.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2888>

2022-08-16 21:01:47 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/meson.build:
	  meson: d3d11: Fix missing header install
	  Install gstd3d11compile.h header file
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2896>

2022-08-15 01:50:15 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11av1dec.cpp:
	* sys/d3d11/gstd3d11decoder.cpp:
	* sys/d3d11/gstd3d11decoder.h:
	* sys/d3d11/gstd3d11h264dec.cpp:
	* sys/d3d11/gstd3d11h265dec.cpp:
	* sys/d3d11/gstd3d11mpeg2dec.cpp:
	* sys/d3d11/gstd3d11vp8dec.cpp:
	* sys/d3d11/gstd3d11vp9dec.cpp:
	  d3d11decoder: Do timer based DecoderBeginFrame retry
	  ... instead of retry count based one, because the precision of Sleep()
	  varies depending on system and application configuration.
	  Also, don't retry DecoderBeginFrame if decoder is doing flush.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2886>

2022-08-14 21:18:24 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudamemorycopy.c:
	  cudaupload,cudadownload: Don't simplify caps in transform_caps
	  The simplified caps might not be a subset of filter caps
	  and basetransform will complain about it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2883>

2022-08-15 00:22:14 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11decoder.cpp:
	  d3d11decoder: Do not use miniobject qdata
	  The miniobject qdata uses global mutex.
	  Use ID3D11DeviceChild::{Set,Get}PrivateData methods instead.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2885>

2022-08-13 05:24:03 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	  docs: Remove dxgiscreencapsrc from documentation
	  The implementation was dropped in
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1750
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2878>

2022-08-13 12:24:37 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/player/gstplayer-media-info.c:
	  player: Don't leak wrapped video info
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1373
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2880>

2022-08-13 11:50:20 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/play/gstplay.c:
	  play: Make ownership of video-sink clearer in combination with floating references
	  And correctly handle the case of VideoRenderer::create_video_sink() not
	  actually returning a floating reference, which might be tricky for some
	  bindings.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2880>

2022-08-13 11:49:08 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/play/gstplay.c:
	  play: Fix object construction
	  Ideally new() functions should simply call g_object_new() and not much
	  else, so let's do that here and handle all the construction properly in
	  a GObject way.
	  Now a play object created via g_object_new() is actually usable.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2880>

2022-08-13 11:39:59 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/player/gstplayer.c:
	  player: Fix object construction
	  Ideally new() functions should simply call g_object_new() and not much
	  else, so let's do that here and handle all the construction properly in
	  a GObject way.
	  Now a player object created via g_object_new() is actually usable.
	  In addition, also fix the video-renderer property so that reading it
	  returns an object of the correct type.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2880>

2022-08-13 11:30:35 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/player/gstplayer.c:
	  player: Release signal adapter on finalize
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2880>

2022-08-08 23:37:11 +0900  Seungha Yang <seungha@centricular.com>

	* gst/mxf/mxfaes-bwf.c:
	  mxfdemux: Always calculate BlockAlign of raw audio
	  Workaround for nBlockAlign and nBitsPerSample mismatch. Always
	  use the formula described in the specification for BlockAlign value
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2864>

2022-08-12 22:05:36 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/meson.build:
	  meson: d3d11: Fix build with GIR enabled
	  ... and remove unused list
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2870>

2022-08-12 18:24:41 +0300  Matthias Clasen <mclasen@redhat.com>

	* gst-libs/gst/player/gstplayer.c:
	  gstplayer: Plug a memory leak
	  This was showing up as a memory leak in GTK's
	  gstreamer media backend:
	  40 bytes in 1 blocks are definitely lost in loss record 18,487 of 40,868
	  at 0x484586F: malloc (vg_replace_malloc.c:381)
	  by 0x50D5278: g_malloc (gmem.c:125)
	  by 0x50EDBA5: g_slice_alloc (gslice.c:1072)
	  by 0x50EFBCC: g_slice_alloc0 (gslice.c:1098)
	  by 0x51F2F45: g_type_create_instance (gtype.c:1911)
	  by 0x51DAE37: g_object_new_internal (gobject.c:2011)
	  by 0x51DC080: g_object_new_with_properties (gobject.c:2181)
	  by 0x51DCB20: g_object_new (gobject.c:1821)
	  by 0x9855F86: UnknownInlinedFun (gstplayer-wrapped-video-renderer.c:109)
	  by 0x9855F86: gst_player_new (gstplayer.c:579)
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1374
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2875>

2022-08-12 11:32:45 +0200  Corentin Damman <c.damman@intopix.com>

	* sys/d3d11/gstd3d11window.cpp:
	  d3d11window: fix DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING swap chain flag for full screen
	  Fixes #1372 (regression introduced in 5eeec165)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2866>

2022-08-10 11:12:37 +0100  Philippe Normand <philn@igalia.com>

	* ext/wpe/gstwpesrcbin.cpp:
	  wpesrc: Switch URI handler to web+... protocols
	  The web://http:// URIs were not compliant with RFC 3986. Using web+http://
	  allows us to use the GstUri parser to pass down a valid URI to `wpevideosrc`.
	  Corresponding change for the CEF source element:
	  https://github.com/centricular/gstcefsrc/commit/8d499495dd79cc0bf9a38ae82b03e374d78f68ae
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2856>

2022-08-09 12:24:53 +0200  Corentin Damman <c.damman@intopix.com>

	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	  nvcodec: fix caps leaks in nvh264/h265encoder
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2850>

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

	* sys/va/gstvah264enc.c:
	  vah264enc: Set codec frame sync point if IDR
	  This flag is used by GstVideoEncoder base class for certain configurations.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2852>

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

	* sys/va/gstvaencoder.c:
	* sys/va/gstvaencoder.h:
	* sys/va/gstvah264enc.c:
	  vah264enc: Packed headers can be zero.
	  A driver can report back no packed header support (VA_ENC_PACKED_HEADER_NONE).
	  This patch removes that false verification.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2851>

2022-08-07 23:24:04 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* sys/d3d11/gstd3d11convert.cpp:
	* sys/d3d11/gstd3d11decoder.cpp:
	* sys/d3d11/gstd3d11window_win32.cpp:
	  d3d11: Use WIN32 API directly for locking with RAII pattern
	  Such abstraction is unnecessary for this library/plugin.
	  Use WIN32 API directly instead of GLib wrappers.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2848>

2022-08-07 22:41:07 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11_private.h:
	* gst-libs/gst/d3d11/gstd3d11memory.cpp:
	  d3d11memory: Remove unnecessary locking
	  * memory map/unmap is already protected by d3d11 device lock.
	  Don't need to take another memory lock.
	  * Use WIN32 critical section and slim reader/writer lock APIs
	  directly instead of GLib wrappers.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2848>

2022-08-05 17:20:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: Fix caps for mesa gallium.
	  Radeon mesa gallium driver has a bug which adds P010_10LE sink caps
	  format. This patch removes formats which arent 420 chroma.
	  gst_caps_set_format_array() wasn't used because the fix traverse
	  several structures with potential different formats.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2844>

2022-08-05 15:54:39 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvah264dec.c:
	* sys/va/gstvaprofile.c:
	  vah264dec: Complete profiles in decoder.
	  Instead of specifying all the H.264 "supported" profiles in the global
	  hash table (used either by decoders and encoders), just complete them
	  in the decoder only, since the encoder doesn't support them.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2844>

2022-08-05 22:34:06 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11pluginutils.cpp:
	* sys/d3d11/gstd3d11window.cpp:
	* sys/d3d11/gstd3d11window.h:
	* sys/d3d11/gstd3d11window_dummy.cpp:
	* sys/qsv/gstqsvallocator_d3d11.cpp:
	* tests/examples/d3d11/d3d11converter.cpp:
	* tests/examples/d3d11/d3d11videosink-appsrc.cpp:
	  d3d11: Don't find global default allocator
	  We were using global default allocator already. Pass null
	  allocator object to *_alloc() methods then the method will
	  use default allocator.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2843>

2022-08-05 22:23:52 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11memory.cpp:
	  d3d11memory: Allow null GstD3D11Allocator to alloc methods
	  Similar to gst_allocator_alloc(), use default GstD3D11Allocator
	  when caller passes null allocator object
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2843>

2022-08-06 00:03:43 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11_private.h:
	* gst-libs/gst/d3d11/gstd3d11compile.cpp:
	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* gst-libs/gst/d3d11/gstd3d11format.cpp:
	* gst-libs/gst/d3d11/gstd3d11memory.cpp:
	* gst-libs/gst/d3d11/gstd3d11utils.cpp:
	* sys/d3d11/gstd3d11decoder.cpp:
	* sys/d3d11/gstd3d11deinterlace.cpp:
	* sys/d3d11/gstd3d11pluginutils.cpp:
	* sys/d3d11/gstd3d11testsrc.cpp:
	* sys/d3d11/gstd3d11window.cpp:
	  d3d11: Use std::call_once()
	  g_once_init_enter() always takes global mutex for non-GCC build.
	  Use C++ once call implementation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2843>

2022-08-06 04:57:49 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	  d3d11device: Use WIN32 critical section API directly
	  GLib's GRecMutex will allocate another heap memory for CRITICAL_SECTION
	  struct and g_rec_mutex_lock/g_rec_mutex_unlock use WIN32 APIs actually.
	  We don't need such intermediate function calls and redundant heap allocation.
	  Just call WIN32 APIs directly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2845>

2022-08-03 17:52:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvabaseenc.c:
	* sys/va/gstvabaseenc.h:
	* sys/va/gstvah264enc.c:
	  vah264enc: Lock properties read/write.
	  This is a first step for changing properties at runtime.
	  And add missing bitrate upate and notification.
	  Fixes: #1258
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2836>

2022-08-04 13:02:00 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: Use guint32 for rc_ctrl as it's for rc_ctrl_mode.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2836>

2022-08-04 12:57:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: Split aud property and its usage.
	  Just as other property variables, it's split for ease it usage,
	  particularly after adding access locks.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2836>

2022-08-04 12:00:58 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvabaseenc.h:
	  va: baseenc: Untabbify and format.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2836>

2022-08-03 03:29:20 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11compositor.cpp:
	  d3d11compositor: Add gamma-mode and primaries-mode properties
	  Allows controlling gamma remap and/or chromatic adaptation behavior.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2831>

2022-08-03 01:47:46 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11videosink.cpp:
	* sys/d3d11/gstd3d11window.cpp:
	* sys/d3d11/gstd3d11window.h:
	* sys/d3d11/gstd3d11window_dummy.cpp:
	  d3d11videosink: Add gamma-mode and primaries-mode properties
	  Allows controlling gamma remap and/or chromatic adaptation behavior.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2831>

2022-08-03 01:19:41 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11convert.cpp:
	  d3d11convert: Add gamma-mode and primaries-mode properties
	  Allows controlling gamma remap and/or chromatic adaptation behavior.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2831>

2022-08-03 00:26:33 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	* gst-libs/gst/d3d11/gstd3d11converter.h:
	  d3d11converter: Add options for gamma and primaries conversion
	  Gamma remap and/or primaries conversion requires additional
	  processing which might be something user want to avoid, performance
	  reason for example
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2831>

2022-08-01 13:04:47 +0200  Robert Mader <robert.mader@collabora.com>

	* ext/wayland/gstwaylandsink.c:
	  waylandsink: Logging code style updates
	  For better readability of debug messages and to keep similar code
	  in sync with `GstGtkWaylandsink`.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2694>

2022-06-30 11:48:45 +0200  Robert Mader <robert.mader@collabora.com>

	* ext/wayland/gstwaylandsink.c:
	  waylandsink: Rename occurrences of GstWaylandSink to 'self'
	  Rename all occurrences to `self`, making it consintent with `GstWl*`
	  and `GstGtkWaylandsink`.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2694>

2022-07-19 15:10:00 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvavpp.c:
	  vapostproc: Check for colorimetry changes.
	  It uses what's merged in
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2765
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2777>

2022-04-11 15:35:45 -0500  Olivier Crête <olivier.crete@collabora.com>

	* tests/examples/gtk/gtkwaylandsink.c:
	  gtkwaylandsink test: Add navigationtest to example
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1515>

2021-12-08 10:30:21 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/gtk/gstgtkutils.c:
	* ext/gtk/gstgtkutils.h:
	* ext/gtk/gstgtkwaylandsink.c:
	* ext/gtk/gstgtkwaylandsink.h:
	* ext/gtk/gstplugin.c:
	* ext/gtk/gtkgstbasewidget.c:
	* ext/gtk/gtkgstbasewidget.h:
	* ext/gtk/gtkgstwaylandwidget.c:
	* ext/gtk/gtkgstwaylandwidget.h:
	* ext/gtk/meson.build:
	* ext/meson.build:
	* meson_options.txt:
	* tests/examples/gtk/gtkwaylandsink.c:
	* tests/examples/gtk/meson.build:
	* tests/examples/gtk/window.ui:
	* tests/examples/meson.build:
	  Add new gtkwaylandsink element
	  This is based on gtksink, but similar to waylandsink uses Wayland APIs
	  directly instead of rendering with Gtk/Cairo primitives.
	  Note that the long term plan is to move this into the existing extension
	  in `-good`, which requires the Wayland library to move the as well.
	  For this reason several files like `gstgtkutils.*` and `gtkgstbasewidget.*`
	  are straight copies and should be kept in sync.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1515>

2022-08-02 05:06:24 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11window.cpp:
	* sys/d3d11/gstd3d11window_win32.cpp:
	  d3d11videosink: Translate mouse position
	  Converts mouse cursor position represented in display coordinates to
	  stream coordinates.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2824>

2022-08-02 04:16:31 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11videosink.cpp:
	  d3d11videosink: Early terminate mouse/keyboard event handling
	  ... and add missing null check (plus coding style fix)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2824>

2022-07-30 17:28:41 +0100  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/webrtc/nice/nice.c:
	* gst-libs/gst/webrtc/nice/nicestream.c:
	* gst-libs/gst/webrtc/nice/nicetransport.c:
	  webrtc: nice: WeakRef access fixes
	  The GstWebRTCNiceStream::ice property getter already hands-off a full reference,
	  so there is no need to call g_weak_ref_get() in call sites.
	  Fixes #1350
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2819>

2022-07-30 17:19:42 +0100  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/webrtc/ice.h:
	  webrtc: ice: Fix GstWebRTCICE parent class
	  It is a GstObject, not a GObject.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2819>

2022-07-30 17:43:38 +0100  Philippe Normand <philn@igalia.com>

	* ext/dtls/gstdtlssrtpdec.c:
	* ext/dtls/gstdtlssrtpenc.c:
	  dtls: Properly name encoder/decoder logging categories
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2820>

2022-07-30 17:42:50 +0100  Philippe Normand <philn@igalia.com>

	* ext/dtls/gstdtlsagent.c:
	* ext/dtls/gstdtlsagent.h:
	* ext/dtls/gstdtlsconnection.c:
	* ext/dtls/gstdtlsconnection.h:
	  dtls: Make agent and connection GstObjects
	  Facilitates debug logs interpretation of GST_DEBUG_OBJECT() calls.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2820>

2022-07-30 02:29:49 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/sctp/usrsctp/meson.build:
	* sys/qsv/libmfx/meson.build:
	  meson: Don't pass -Werror to vendored code
	  Do it the correct way with libusrsctp -- override the option so that
	  it's done in a compiler-agnostic and future-proof way.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2494>

2022-05-25 18:40:30 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst/rtmp2/gstrtmp2locationhandler.c:
	* gst/rtmp2/rtmp/rtmpclient.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-05-25 16:03:22 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/dtls/gstdtlscertificate.c:
	  dtls: Disable OpenSSL 3.0 deprecation warnings for now
	  Fedora 36 ships with OpenSSL 3.0, which deprecates all low-level APIs,
	  so this code needs to be rewritten. There is no easy fix in the
	  porting guide, and it recommends disabling the warnings if you can't
	  use the high-level API.
	  https://wiki.openssl.org/index.php/OpenSSL_3.0#Upgrading_to_OpenSSL_3.0_from_OpenSSL_1.1.1
	  Here's the replacement API:
	  https://www.openssl.org/docs/man3.0/man7/migration_guide.html#Deprecated-low-level-object-creation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2494>

2022-07-29 02:36:40 +0900  Seungha Yang <seungha@centricular.com>

	* sys/wasapi2/gstwasapi2ringbuffer.cpp:
	  wasapi2: Fix initial mute/volume setting
	  Fix up volume/mute change flag setting
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2809>

2022-07-26 13:59:33 -0400  Eric Knapp <emkman99@gmail.com>

	* sys/va/gstvah264enc.c:
	  va: h264enc: Make AUD the first NAL unit
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2796>

2022-07-26 15:49:32 -0400  U. Artie Eoff <ullysses.a.eoff@intel.com>

	* ext/webrtc/meson.build:
	* gst-libs/gst/webrtc/nice/meson.build:
	  meson: webrtc: ensure definition of libgstwebrtcnice_dep
	  ... and skip if it's disabled.
	  Fixes #1344
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2797>

2022-04-18 23:25:13 +0530  yatinmaan <yatinmaan1@gmail.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/webrtc/fwd.h:
	* ext/webrtc/gstwebrtcbin.c:
	* ext/webrtc/gstwebrtcbin.h:
	* ext/webrtc/gstwebrtcstats.c:
	* ext/webrtc/meson.build:
	* ext/webrtc/transportstream.c:
	* ext/webrtc/webrtcsctptransport.h:
	* gst-libs/gst/webrtc/ice.c:
	* gst-libs/gst/webrtc/ice.h:
	* gst-libs/gst/webrtc/icestream.c:
	* gst-libs/gst/webrtc/icestream.h:
	* gst-libs/gst/webrtc/icetransport.h:
	* gst-libs/gst/webrtc/meson.build:
	* gst-libs/gst/webrtc/nice/meson.build:
	* gst-libs/gst/webrtc/nice/nice.c:
	* gst-libs/gst/webrtc/nice/nice.h:
	* gst-libs/gst/webrtc/nice/nice_fwd.h:
	* gst-libs/gst/webrtc/nice/nicestream.c:
	* gst-libs/gst/webrtc/nice/nicestream.h:
	* gst-libs/gst/webrtc/nice/nicetransport.c:
	* gst-libs/gst/webrtc/nice/nicetransport.h:
	* gst-libs/gst/webrtc/webrtc-priv.h:
	* gst-libs/gst/webrtc/webrtc.h:
	* gst-libs/gst/webrtc/webrtc_fwd.h:
	  webrtc: Split WebRTCICE into base classes and implementation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2398>

2022-07-22 22:50:33 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvallocator_d3d11.cpp:
	* sys/qsv/gstqsvencoder.cpp:
	  qsvencoder: Add support for D3D11 shared texture
	  Although input texture belongs to the other d3d11 device,
	  we can do GPU copy when its physical device is identical.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2790>

2022-07-23 00:41:49 +0900  Seungha Yang <seungha@centricular.com>

	* sys/amfcodec/gstamfencoder.cpp:
	* sys/d3d11/gstd3d11screencapture.cpp:
	* sys/d3d11/gstd3d11window_dummy.cpp:
	* sys/mediafoundation/gstmfvideoencoder.cpp:
	* sys/mediafoundation/gstmfvideoencoder.h:
	* sys/nvcodec/gstnvencoder.cpp:
	  d3d11: Port to GstD3D11Fence
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2790>

2022-07-23 00:11:18 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11_fwd.h:
	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* gst-libs/gst/d3d11/gstd3d11device.h:
	  d3d11: Implement fence abstraction
	  Depending on device feature level, d3d11 runtime can support
	  ID3D11Fence which is equivalent to ID3D12Fence.
	  Waiting using fence has performance-wise benefit over pulling
	  ID3D11Query status. If ID3D11Fence is not supported by device,
	  then ID3D11Query will be used instead.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2790>

2022-06-08 15:44:26 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* gst-libs/gst/codecs/gsth265decoder.c:
	  codecs: h265: Make sure that sps is processed just before decoding
	  It may happens that bitstream doesn't provided SPS in decoding order
	  (like in VPSSPSPPS_A_MainConcept_1 conformance test file).
	  To be sure that the decoder got the correct SPS parameters process
	  SPS just before start decoding the frame.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2575>

2022-03-18 15:04:18 +0100  Sebastian Fricke <sebastian.fricke@collabora.com>

	* gst-libs/gst/codecs/gsth265decoder.c:
	  codecs: h265: Fix typos
	  Fix multiple typos in warning and info messages.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2575>

2022-05-16 15:27:40 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* gst/videoparsers/gsth265parse.c:
	  videoparsers: h265: Be less restrictive between PPS and SPS parsing order
	  Allow to parse PPS to be parser even if SPS hasn't been parsered before.
	  This help to parse VPSSPSPPS_A_MainConcept_1 conformance test
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2575>

2022-05-16 15:25:36 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* gst-libs/gst/codecparsers/gsth265parser.c:
	* gst-libs/gst/codecparsers/gsth265parser.h:
	  codecparsers: Defering computation of pps and sps fields
	  While possible defer computataion of pps and sps fields until
	  slice parsing since it may happens that bitstreams don't encoded
	  them in expected order.
	  A example weird ordered bitstreams is VPSSPSPPS_A_MainConcept_1
	  conformance test.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2575>

2022-07-20 12:11:47 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codech264dec.c:
	  v4l2codecs: h264: Reset the number of slices on picture start
	  This way, if we aborted a frame in the middle, we don't endup thinking
	  there is multiple slices to send.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1079>

2022-07-12 15:44:45 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codech264dec.c:
	  v4l2codecs: h264: Fix initialization of the slice array
	  The function g_array_sized_new() leaves the len to 0, but the slice
	  implementation assumes it would be set to 4. Sending multiple slices is
	  not yet support for H.264 as no driver needed it yet, but if that code
	  was to be used it would have overflowed as the array would never grow as
	  multiple 0 by 2 always results in 0.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1079>

2022-07-12 15:43:34 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codech264dec.c:
	  v4l2codecs: h264: Rename count variable to num_controls
	  This is the counter for the used control slot. The term num_controls was
	  introduced in the HEVC decoder and felt like a better choice.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1079>

2022-06-20 12:22:20 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codech265dec.c:
	  v4l2codecs: hevc: Add an API check
	  This adds an API check and bump recommended base kernel version to 5.20.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1079>

2022-07-12 08:56:07 -0400  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.h:
	* sys/v4l2codecs/meson.build:
	* sys/v4l2codecs/plugin.c:
	  v4l2codecs: Add v4l2 stateless H265 decoder
	  Add v4l2 stateless H265 decoder.
	  Co-authored-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
	  Co-authored-by: Sebastian Fricke <sebastian.fricke@collabora.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1079>

2022-04-25 15:27:39 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/gstv4l2decoder.c:
	  v4l2codecs: Increase minimum payload size
	  Fluster MAXBINS_{A-C}_TI_5 HEVC tests files require to store
	  a payload larger than usual given their resolutions.
	  Increase the minimum payload size to handle them correctly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1079>

2022-07-12 08:57:38 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/linux/v4l2-controls.h:
	* sys/v4l2codecs/linux/videodev2.h:
	  v4l2codecs: Align v4l2 headers with HEVC final uAPI
	  HEVC uAPI have landed for kernel 5.10.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1079>

2022-04-29 12:10:05 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/codecparsers/gsth265parser.c:
	* gst-libs/gst/codecparsers/gsth265parser.h:
	  codecparsers: h265: Introduce long_term_ref_pic_set_size
	  This is the size of the `if( long_term_ref_pics_present_flag )` inside
	  slice_segment_header( ) syntax. This size in bit, and after de-emulation
	  is needed by some HW.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1079>

2022-07-21 16:11:03 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/audiobuffersplit/gstaudiobuffersplit.c:
	  audiobuffersplit: Actually store number of samples to drop in gapless mode
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2780>

2022-07-21 16:10:18 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/audiobuffersplit/gstaudiobuffersplit.c:
	  audiobuffersplit: Use input running time for comparison instead of the currently tracked running time
	  Otherwise gapless mode would do completely wrong calculations on
	  discontinuities and cause input/output to drift slowly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2780>

2022-07-21 13:38:22 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/audiobuffersplit/gstaudiobuffersplit.c:
	  audiobuffersplit: Combine two if expressions to reduce indentation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2780>

2022-07-22 04:51:14 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11compositor.cpp:
	  d3d11compositor: Add support for crop meta
	  GstD3D11Converter supports cropping already. Cropping is just
	  a matter of setting source rectangle area to converter,
	  from d3d11 point of view
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2782>

2022-07-18 00:41:00 +0900  Seungha Yang <seungha@centricular.com>

	* tests/examples/d3d11/d3d11converter.cpp:
	* tests/examples/d3d11/meson.build:
	  examples: d3d11: Add GstD3D11Converter example
	  An example to demonstrate color space conversion, rescale and flip/rotation
	  using GstD3D11Converter
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2767>

2022-07-21 05:13:21 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11.h:
	* gst-libs/gst/d3d11/gstd3d11_fwd.h:
	* gst-libs/gst/d3d11/gstd3d11_private.h:
	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	* gst-libs/gst/d3d11/gstd3d11converter.h:
	* gst-libs/gst/d3d11/gstd3d11format.cpp:
	* gst-libs/gst/d3d11/meson.build:
	* sys/d3d11/gstd3d11compositor.cpp:
	* sys/d3d11/gstd3d11convert.cpp:
	* sys/d3d11/gstd3d11decoder.cpp:
	* sys/d3d11/gstd3d11pluginutils.cpp:
	* sys/d3d11/gstd3d11pluginutils.h:
	* sys/d3d11/gstd3d11testsrc.cpp:
	* sys/d3d11/gstd3d11window.h:
	* sys/d3d11/meson.build:
	  d3d11: Move GstD3D11Converter to gst-libs
	  The object is equivalent to GstVideoConverter but for D3D11.
	  Application can use this object directly for various conversions,
	  such as color space conversion, rescale, crop and flip/rotation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2767>

2022-07-21 05:40:45 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11.h:
	* gst-libs/gst/d3d11/gstd3d11memory.cpp:
	* gst-libs/gst/d3d11/gstd3d11memory.h:
	* gst-libs/gst/d3d11/meson.build:
	  d3d11: Define enum and flags types manually
	  gnome.mkenums_simple() doesn't work well for GstD3D11, seems to
	  be confused by numeric representation of D3D11, must be a bug
	  in GLib or so. Just don't rely on the incomplete automagic.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2767>

2022-07-21 05:39:58 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11format.cpp:
	  d3d11: Run gst-indent
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2767>

2022-07-06 16:14:13 +0300  Jordan Petridis <jordan@centricular.com>

	* ext/openmpt/gstopenmptdec.c:
	  openmpt: update from now deprecated api
	  https://lib.openmpt.org/doc/classopenmpt_1_1module.html#ab2695af0baa274054f5687741fa7c05b
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2721>

2022-04-29 19:27:16 +0800  Fan F He <fan.f.he@intel.com>

	* sys/msdk/gstmsdkenc.c:
	* sys/msdk/gstmsdkenc.h:
	* sys/msdk/gstmsdkh264enc.c:
	* sys/msdk/gstmsdkh265enc.c:
	* sys/msdk/gstmsdkh265enc.h:
	* sys/msdk/msdk-enums.c:
	* sys/msdk/msdk-enums.h:
	  msdkenc: Enable LowDelayBrc and MaxFrameSize for I/P frame
	  Enable these features for accurate bitrate control.
	  Feature introduction of LowDelayBRC, MaxFrameSizeI and MaxFrameSizeP could be found here:
	  https://github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/mediasdk-man.md
	  Signed-off-by: Fan F He <fan.f.he@intel.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2742>

2022-07-20 05:28:51 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11converter.cpp:
	* sys/d3d11/gstd3d11converter.h:
	* sys/d3d11/gstd3d11testsrc.cpp:
	* sys/d3d11/gstd3d11window_dummy.cpp:
	  d3d11converter: Use GstStructure to set initialization options
	  Runtime updatable options are exposed via object properties
	  but there are a few options which should be known at initialization
	  time. Use GstStructure to signal it and to be easily extensible
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2776>

2022-07-19 01:52:48 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11converter.cpp:
	  d3d11converter: Use primaries and transfer function compare methods
	  Different enum values could be functionally equal, then we don't need
	  to do full conversion.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2776>

2022-07-17 04:48:24 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11format.cpp:
	* gst-libs/gst/d3d11/gstd3d11format.h:
	* sys/d3d11/gstd3d11converter.cpp:
	* sys/d3d11/gstd3d11pluginutils.cpp:
	* sys/d3d11/gstd3d11pluginutils.h:
	* sys/d3d11/gstd3d11screencapture.cpp:
	* sys/d3d11/gstd3d11window.cpp:
	  d3d11format: Move DXGI color space mapping method to gst-libs
	  Expose color space mapping method to public so that application
	  can configure GstCaps or GstVideoInfo using DXGI color space
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2776>

2022-07-17 00:33:55 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11convert.cpp:
	  d3d11convert: Use new colorimetry compare function
	  Avoid conversion if both are functionally identical
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2765>

2022-07-17 23:58:19 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11testsrc.cpp:
	  d3d11testsrc: Fix SMPTE pattern rendering
	  It was wrong vertex shader code
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2766>

2022-07-13 10:30:49 +0200  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtdec.c:
	* sys/applemedia/vtenc.c:
	  applemedia: Add HEVC support to vtenc and vtdec
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2754>

2022-06-16 03:57:37 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11.h:
	* gst-libs/gst/d3d11/gstd3d11compile.cpp:
	* gst-libs/gst/d3d11/gstd3d11compile.h:
	* gst-libs/gst/d3d11/meson.build:
	* sys/d3d11/gstd3d11compositor.cpp:
	* sys/d3d11/gstd3d11converter.cpp:
	* sys/d3d11/gstd3d11overlaycompositor.cpp:
	* sys/d3d11/gstd3d11screencapture.cpp:
	* sys/d3d11/gstd3d11screencapturesrc.cpp:
	* sys/d3d11/gstd3d11shader.cpp:
	* sys/d3d11/gstd3d11shader.h:
	* sys/d3d11/gstd3d11testsrc.cpp:
	* sys/d3d11/meson.build:
	* sys/d3d11/plugin.cpp:
	  d3d11: Move HLSL compiler to gst-libs
	  We should move this functionality to gst-libs so that GstD3D11Converter
	  can be moved to gst-libs.
	  Another advantage is that applications can call our
	  HLSL compiler wrapper method without any worry about OS version
	  dependent system installed HLSL library.
	  Note that there are multiple HLSL compiler library versions
	  on Windows and system installed one would be OS version dependent.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2760>

2022-06-04 18:07:16 -0400  Thibault Saunier <tsaunier@igalia.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: Add a signal to plug bandwidth estimator elements
	  We need GStreamer elements to do the bandwidth estimation as this way
	  they can also control the pacing of the transmission flow as specified
	  in the [GCC] algorithm for example.
	  Bandwidth estimator element are placed right before the "RTPSession" as
	  an "rtp-aux-sender" element. This way they can use the "Transport-wide
	  Congestion Control" RTCP feedback messages through the "RTPTwcc" custom
	  events that are sent by the rtpsession.
	  Applications are responsible to react to the bandwidth estimator element
	  and set the encoder target bitrate etc... which means that we can not
	  pass an estimator as an element factory, so a signal as been chosen
	  instead.
	  [GCC]: https://datatracker.ietf.org/doc/html/draft-ietf-rmcat-gcc-02
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2562>

2022-07-08 00:16:02 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth265decoder.c:
	  h265decoder: Report latency
	  Similar to that of h264decoder
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2726>

2022-07-08 22:05:12 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	  va: baseenc: Do not use codec frame structure again after finish_frame().
	  In _push_out_one_buffer(), we use codec frame structure again for error handling
	  after we already call finish_frame(), which is a latent segment fault.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2739>

2022-07-08 21:57:40 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	  va: baseenc: Do not clear the codec frame twice when error.
	  The current manner will clear the input codec frame twice if we fail
	  to push the output data, which will trigger an assert.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2739>

2022-07-05 18:21:12 +0300  Jordan Petridis <jordan@centricular.com>

	* ext/fluidsynth/gstfluiddec.c:
	  fluiddec: Remove workaround for version 1.1.9
	  We require >= 2.1 version since the previous commit
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2718>

2022-07-05 17:32:12 +0300  Jordan Petridis <jordan@centricular.com>

	* ext/fluidsynth/gstfluiddec.c:
	* ext/fluidsynth/meson.build:
	  fluidsynth: update from now deprecated api
	  fluid_synth_set_chorus_on and fluid_synth_set_reverb_on were
	  deprecated in favor of new funtions where you can also specify
	  the fx_group the effect would apply.
	  The behavior of the set_* variants was to apply to all groups
	  so we pass -1 to the new functions as per documentation.
	  https://www.fluidsynth.org/api/group__chorus__effect.html#ga3c48310eecdca9cd338799d19f19c32d
	  and
	  https://www.fluidsynth.org/api/group__reverb__effect.html#gacb7917564c988cf54f2e35189b509c8e
	  and the introduction of the change:
	  https://github.com/FluidSynth/fluidsynth/pull/673
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2718>

2022-07-08 02:24:56 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11_private.h:
	* gst-libs/gst/d3d11/gstd3d11memory.cpp:
	* sys/d3d11/gstd3d11compositor.cpp:
	* sys/d3d11/gstd3d11convert.cpp:
	* sys/d3d11/gstd3d11converter.cpp:
	* sys/d3d11/gstd3d11decoder.cpp:
	* sys/d3d11/gstd3d11deinterlace.cpp:
	* sys/d3d11/gstd3d11overlaycompositor.cpp:
	* sys/d3d11/gstd3d11pluginutils.cpp:
	* sys/d3d11/gstd3d11testsrc.cpp:
	* sys/d3d11/gstd3d11window.cpp:
	* sys/d3d11/gstd3d11window_corewindow.cpp:
	* sys/d3d11/gstd3d11window_dummy.cpp:
	* sys/d3d11/gstd3d11window_swapchainpanel.cpp:
	* sys/d3d11/gstd3d11window_win32.cpp:
	  d3d11: Use scoped device lock
	  Make code simpler and more deadlock-free
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2728>

2022-07-08 18:53:01 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvencoder.cpp:
	  qsvencoder: Fix for latency report when B-frame is enabled
	  QSV runtime will introduce additional delay when B-frame is enabled
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2730>

2022-07-08 19:05:19 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvencoder.cpp:
	  qsvencoder: Do not query again if previous call succeeded
	  Don't need to query multiple times
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2730>

2022-07-08 03:38:30 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11screencapture.cpp:
	* sys/d3d11/gstd3d11screencapture.h:
	* sys/d3d11/gstd3d11screencapturesrc.cpp:
	  d3d11screencapturesrc: Set colorimetry to caps
	  Make use of reported DXGI colorspace if possible
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2729>

2022-07-08 20:11:00 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11pluginutils.cpp:
	  d3d11: Update colorspace map
	  Map DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709 to sRGB colorimetry
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2729>

2022-07-08 04:37:33 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11pluginutils.cpp:
	* sys/d3d11/gstd3d11pluginutils.h:
	  d3d11: Add an utility method for DXGI colorspace conversion
	  Add a method for DXGI_COLOR_SPACE_TYPE -> GstVideoColorimetry conversion
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2729>

2022-07-08 01:30:13 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11utils.cpp:
	  d3d11: Serialize ensure_element_data() call
	  It can be called any time from random thread. Thus, multiple
	  device objects can be created for the same physical device
	  if the call is not serialized, that's not a scenario we expect.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2727>

2022-07-07 02:17:56 +0900  Seungha Yang <seungha@centricular.com>

	* gst/proxy/gstproxysink.c:
	  proxysink: Fix GstProxySrc leak
	  Clear weak pointer to peer src when disposing.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1552>

2022-07-06 03:14:25 +0900  Seungha Yang <seungha@centricular.com>

	* gst/proxy/gstproxysink.c:
	* gst/proxy/gstproxysink.h:
	* tests/check/elements/proxysink.c:
	* tests/check/meson.build:
	  proxysink: Make sure stream-start and caps events are forwarded
	  There might be a sequence of event and buffer flow:
	  - Got stream-start/caps/segment events
	  - Got flush events
	  - And then buffers with a new segment event
	  In the above case, stream-start and caps event might not be reached to
	  peer proxysrc if peer proxysrc is not ready to receive them.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1552>

2022-03-04 14:28:21 +1100  Matthew Waters <matthew@centricular.com>

	* ext/webrtc/gstwebrtcice.c:
	  webrtc: implement support for asynchronous host resolution
	  Doesn't block anymore if a mdns host resolution takes multiple seconds
	  to complete in e.g. stun/turn/ice candidate usage.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1961>

2022-07-04 22:27:34 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11converter.cpp:
	* sys/d3d11/gstd3d11converter.h:
	  d3d11converter: Remove convert() method
	  Expose only single convert_buffer() method. It's safer approach than
	  passing arbitrary list of SRV/RTV pointers.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2713>

2022-07-04 22:26:19 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11testsrc.cpp:
	  d3d11testsrc: Use convert_buffer() method
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2713>

2022-07-04 22:01:49 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11compositor.cpp:
	* sys/d3d11/gstd3d11videoprocessor.cpp:
	* sys/d3d11/gstd3d11videoprocessor.h:
	* sys/d3d11/gstd3d11videosink.cpp:
	* sys/d3d11/gstd3d11window.h:
	* sys/d3d11/meson.build:
	  d3d11: Remove video processor
	  Processing using ID3D11VideoProcessor was integrated into
	  GstD3D11Converter and GstD3D11VideoProcessor implementation is
	  not used anymore.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2713>

2022-07-04 21:57:42 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11_private.h:
	* gst-libs/gst/d3d11/gstd3d11memory.cpp:
	* gst-libs/gst/d3d11/gstd3d11memory.h:
	* sys/d3d11/gstd3d11window.cpp:
	* sys/d3d11/gstd3d11window_dummy.cpp:
	* tests/examples/d3d11/d3d11videosink-appsrc.cpp:
	  d3d11memory: Update alloc_wrapped() API to avoid staging texture alloc
	  Add size parameter and use it for CPU accessible memory size
	  instead of allocating staging texture per API call.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2713>

2022-06-30 11:04:29 +0200  Ignazio Pillai <ignazp@amazon.com>

	* sys/wasapi/gstwasapiutil.c:
	  wasapi: Implement default audio channel mask
	  Some multichannel capture devices does not provide a channel mask value
	  which will result in a pipeline failure due to the empty channel mask.
	  Implemented the same fix used for wasapi2
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1204
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2692>

2022-07-03 01:22:10 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11videosink.cpp:
	* sys/d3d11/gstd3d11window.cpp:
	* sys/d3d11/gstd3d11window.h:
	* sys/d3d11/gstd3d11window_dummy.cpp:
	* sys/d3d11/gstd3d11window_win32.cpp:
	  d3d11videosink: Add support for rotation
	  Adding "rotate-method" property
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1396
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2708>

2022-07-03 01:18:19 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11videosink.cpp:
	* sys/d3d11/gstd3d11videosink.h:
	  d3d11videosink: Protect window with lock at every place
	  Access to the object should be thread safe to support runtime
	  property update
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2708>

2022-07-02 04:23:41 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11basefilter.cpp:
	* sys/d3d11/gstd3d11convert.cpp:
	  d3d11convert: Add support for GstVideoOrientationMethod
	  Add flip/rotation support via GstVideoDirectionInterface
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2708>

2022-07-02 02:15:00 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11converter.cpp:
	  d3d11converter: Add support for GstVideoOrientationMethod
	  Shader can handle rotation/flip with other conversions
	  at once in a single pipeline, and depending on device
	  capability, videoprocessor may support it too.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2708>

2022-07-01 23:49:49 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11videosink.cpp:
	* sys/d3d11/gstd3d11window.cpp:
	* sys/d3d11/gstd3d11window.h:
	* sys/d3d11/gstd3d11window_dummy.cpp:
	  d3d11videosink: Use single GstD3D11Converter object
	  GstD3D11Converter supports videoprocessor and texture upload.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2697>

2022-07-01 21:35:15 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11_private.h:
	* gst-libs/gst/d3d11/gstd3d11memory.cpp:
	  d3d11memory: Add private method for texture wrapped memory allocation
	  Unlike public method gst_d3d11_allocator_alloc_wrapped(), newly
	  added method by this commit will not calculate CPU accessible memory
	  size, since staging texture must be allocated to calculate the size.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2697>

2022-07-01 21:20:02 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11_private.h:
	* sys/d3d11/gstd3d11pluginutils.h:
	  d3d11: Use library private header in plugin
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2697>

2022-07-01 20:47:37 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11compositor.cpp:
	  d3d11compositor: Use single GstD3D11Converter object
	  ... and remove unnessary videoprocessor/upload/copy code
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2697>

2022-07-01 04:12:23 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11convert.cpp:
	  d3d11convert: Add border-color property
	  Use user specified border-color instead of black color
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2697>

2022-07-01 20:13:29 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11convert.cpp:
	  d3d11convert: Use single GstD3D11Converter object
	  ... and don't use GstD3D11VideoProcessor. Now GstD3D11Converter will
	  be able to convert using videoprocessor, and texture upload is also supported by
	  GstD3D11Converter. All the noisy code can be removed therefore.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2697>

2022-06-22 02:44:26 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11compositor.cpp:
	* sys/d3d11/gstd3d11convert.cpp:
	* sys/d3d11/gstd3d11converter.cpp:
	* sys/d3d11/gstd3d11converter.h:
	* sys/d3d11/gstd3d11testsrc.cpp:
	* sys/d3d11/gstd3d11window.cpp:
	* sys/d3d11/gstd3d11window_dummy.cpp:
	  d3d11converter: Add support conversion using videoprocessor
	  * Add videoprocessor feature to d3d11converter, in order to unifiy
	  conversion flow.
	  * Add convert_buffer() method to support automatic shader/videoprocessor
	  selection. The method also supports texture upload if input memory
	  cannot be used for conversion (e.g., system memory or so)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2697>

2022-06-21 23:43:46 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11overlaycompositor.cpp:
	* sys/d3d11/gstd3d11overlaycompositor.h:
	* sys/d3d11/gstd3d11window.cpp:
	* sys/d3d11/gstd3d11window_dummy.cpp:
	  d3d11overlaycompositor: Objectify overlay render implementation
	  Be consistent with other implementations
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2697>

2022-06-21 22:44:55 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11compositor.cpp:
	* sys/d3d11/gstd3d11convert.cpp:
	* sys/d3d11/gstd3d11pluginutils.cpp:
	* sys/d3d11/gstd3d11pluginutils.h:
	* sys/d3d11/gstd3d11window.cpp:
	* sys/d3d11/gstd3d11window_dummy.cpp:
	  d3d11: Don't use const pointer to GstDxgiColorSpace
	  Instead, fill values of passed GstDxgiColorSpace struct
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2697>

2022-06-28 16:40:55 +0300  Sebastian Dröge <sebastian@centricular.com>

	* sys/decklink/gstdecklink.h:
	* sys/decklink/gstdecklinkvideosink.cpp:
	  decklinkvideosink: Pass video frames directly to the Decklink SDK without copying
	  If the video frame is stored in PBO memory then we need to copy anyway as
	  it might be stored in CPU-accessible GPU memory that can't be accessed
	  from the Decklink driver.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2674>

2022-05-10 14:11:06 +0800  Vincent Cheah Beng Keat <vincent.beng.keat.cheah@intel.com>

	* sys/msdk/gstmsdkdec.c:
	* sys/msdk/gstmsdkmjpegdec.c:
	* sys/msdk/meson.build:
	  msdkmjpegdec: Add support for error report
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2401>

2022-06-23 01:10:38 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvencoder.cpp:
	* sys/nvcodec/gstnvencoder.h:
	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh264encoder.h:
	* sys/nvcodec/gstnvh265encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.h:
	* sys/nvcodec/plugin.c:
	  nvencoder: Add support for dynamic GPU device selection
	  Adding nvautogpu{h264,h265}enc class which will accept upstream logical
	  GPU device object (GstCudaContext or GstD3D11Device) instead of
	  using pre-assigned GPU instance.
	  If upstream logical GPU device object is not NVENC compatible
	  (e.g., D3D11 device of non-NVIDIA GPU) or it's system memory,
	  then user specified "cuda-device-id" or "adapter-luid" property
	  will be used for GPU device selection.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2666>

2022-06-27 20:50:15 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudautils.c:
	  cuda: Protect gst_cuda_ensure_element_context() with lock
	  Serialize the order of context setup since it can be called
	  from multiple threads
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2666>

2022-06-30 16:45:46 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudamemory.c:
	* sys/nvcodec/gstcudabasefilter.c:
	* sys/nvcodec/gstcudaformat.h:
	  cuda: Add YUY2 and UYVY formats for GL interop
	  Those formats are not supported conversion formats by CUDA convert/scale elements
	  but would be useful for GL <-> CUDA interop use case.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2691>

2022-06-30 17:47:05 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudamemorycopy.c:
	  cudadownload: Passthrough in case of CUDA -> SYSTEM
	  GstCudaMemory supports CPU access via CUDA pinned host memory already
	  and it would show faster memory transfer performance between
	  GPU and CPU than copying from/to normal system memory.
	  If downstream supports video meta, we can passthrough CUDA memory.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2690>

2022-06-30 09:09:02 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: Reject caps that are not valid for creating an SDP media.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2689>

2022-04-22 16:37:34 +0200  Corentin Damman <c.damman@intopix.com>

	* sys/nvcodec/gstcudaformat.h:
	  cudaformat: add support for planar 4:2:2 YUV formats in CUDA D3D11 interop
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2269>

2022-04-22 15:58:13 +0200  Corentin Damman <c.damman@intopix.com>

	* gst-libs/gst/cuda/gstcudamemory.c:
	* sys/nvcodec/gstcudaformat.h:
	  cudamemory: add support for planar 4:2:2 YUV formats
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2269>

2021-06-22 14:43:29 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/gstv4l2decoder.c:
	  v4l2codecs: enumerate all possible formats
	  Some decoder may also allow to (down) scale the decoded video.
	  Use VIDIOC_ENUM_FRAMESIZES iotcl to enumerate the possible output
	  formats resolutions.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2589>

2022-06-26 22:26:29 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvav1dec.c:
	* sys/nvcodec/gstnvdecoder.h:
	* sys/nvcodec/gstnvh264dec.c:
	* sys/nvcodec/gstnvh264dec.h:
	* sys/nvcodec/gstnvh265dec.c:
	* sys/nvcodec/gstnvh265dec.h:
	* sys/nvcodec/gstnvvp8dec.c:
	* sys/nvcodec/gstnvvp8dec.h:
	* sys/nvcodec/gstnvvp9dec.c:
	* sys/nvcodec/gstnvvp9dec.h:
	  nvcodec: Add cuda-device-id read-only property to stateless decoders
	  ... and remove unnecessary intermediate subclass from class hierarchy
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2665>

2022-06-26 21:09:50 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvdec.c:
	  nvcodec: Add cuda-device-id read-only property to CUVID decoders
	  Similar to the other hardware decoder plugins, provides assigned
	  device id via property
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2665>

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-29 00:31:01 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11convert.cpp:
	  d3d11convert: Add support for GstVideoCropMeta
	  Performs crop, scale, and color space conversion all in
	  a single render pipeline. Note that cropping related property is not
	  added in this element (which will make negotiation very complicated),
	  but user can configure videocrop element for crop meta to be attached
	  on each buffer.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2678>

2022-06-28 17:40:56 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11videosink.cpp:
	  d3d11videosink: Fix for force-aspect-ratio setting when rendering on shared texture
	  Set specified force-aspect-ratio value on window object
	  in case of shared texture rendering as well
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1304
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2671>

2022-06-26 06:39:54 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfvideoencoder.cpp:
	* sys/mediafoundation/gstmfvideoencoder.h:
	  mfvideoenc: Fix broken encoding when resolution is not an even number
	  Width and height values of 4:2:0 subsampled YUV format should be even number,
	  and if it's not the case, there should be padding which is not a contiguous memory layout.
	  Do copy input frames to MediaFoundation's memory in that case for now.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1165
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2661>

2022-06-28 01:29:06 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/opus/gstopusheader.h:
	  dv, opusparse: fix duplicate symbols in static build
	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1262
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2670>

2022-06-27 04:07:04 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/plugin.cpp:
	  d3d11: Enumerate devices via native DXGI API
	  D3D11CreateDevice() can fail for some reason (e.g., buggy GPU driver)
	  and then gst_d3d11_device_new() will return nullptr.
	  Use DXGI API directly instead of relying on the gst_d3d11_device_new()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2663>

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

	* tests/examples/d3d11/d3d11videosink-appsrc.cpp:
	* tests/examples/d3d11/meson.build:
	  examples: Add an example for application texture sharing
	  This example shows GstD3D11BufferPool usage and a way of
	  D3D11 texture sharing between application and GStreamer via appsrc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2646>

2022-06-24 07:06:00 +0900  Seungha Yang <seungha@centricular.com>

	* tests/examples/d3d11/d3d11decoder-appsink.cpp:
	* tests/examples/d3d11/meson.build:
	  examples: Add d3d11decoder zero-copy rendering example
	  This example code demonstrates D3D11 device sharing between
	  application and GStreamer. Application can access texture
	  using appsink and it can be rendered on application's window without
	  any copy operation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2646>

2022-06-24 22:17:28 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11utils.cpp:
	* gst-libs/gst/d3d11/gstd3d11utils.h:
	  d3d11: Add a helper method for GstContext creation
	  Add gst_d3d11_context_new() method for application to create
	  GstContext using GstD3D11Device.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2646>

2022-06-24 01:00:00 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11memory.cpp:
	* gst-libs/gst/d3d11/gstd3d11memory.h:
	  d3d11memory: Add support for wrapping application texture
	  Add gst_d3d11_allocator_alloc_wrapped() method to support wrapping
	  application texture using GstD3D11Memory without copy.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2646>

2022-06-24 01:25:07 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/d3d11-prelude.h:
	* gst-libs/gst/d3d11/gstd3d11.h:
	* gst-libs/gst/d3d11/gstd3d11_fwd.h:
	* gst-libs/gst/d3d11/gstd3d11_private.h:
	* gst-libs/gst/d3d11/gstd3d11bufferpool.cpp:
	* gst-libs/gst/d3d11/gstd3d11bufferpool.h:
	* gst-libs/gst/d3d11/gstd3d11config.h.meson:
	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* gst-libs/gst/d3d11/gstd3d11device.h:
	* gst-libs/gst/d3d11/gstd3d11format.cpp:
	* gst-libs/gst/d3d11/gstd3d11format.h:
	* gst-libs/gst/d3d11/gstd3d11memory.cpp:
	* gst-libs/gst/d3d11/gstd3d11memory.h:
	* gst-libs/gst/d3d11/gstd3d11utils.cpp:
	* gst-libs/gst/d3d11/gstd3d11utils.h:
	* gst-libs/gst/d3d11/meson.build:
	  d3d11: Install library headers
	  Our Direct3D11 abstraction layer has been improved and
	  it gained good shape from API point of view.
	  Also, On Windows, GstD3D11 has various advantages over GstGL
	  in terms of compatibility/stability/feature/performance.
	  Note that WGL implementation is known to be buggy for some
	  drivers/vendors/scenario (that's a reason why Google implemented ANGLE).
	  Moreover, GstGL is not fully optimized for Windows unfortunately.
	  It's the time to open this interface to application developers
	  for various optimized processing using our Direct3D11
	  infrastructure.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2646>

2022-06-24 01:21:48 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11bufferpool.cpp:
	* gst-libs/gst/d3d11/gstd3d11memory.cpp:
	* gst-libs/gst/d3d11/gstd3d11memory.h:
	* sys/amfcodec/gstamfencoder.cpp:
	* sys/d3d11/gstd3d11compositor.cpp:
	* sys/d3d11/gstd3d11convert.cpp:
	* sys/d3d11/gstd3d11decoder.cpp:
	* sys/d3d11/gstd3d11deinterlace.cpp:
	* sys/d3d11/gstd3d11screencapturesrc.cpp:
	* sys/d3d11/gstd3d11testsrc.cpp:
	* sys/d3d11/gstd3d11upload.cpp:
	* sys/d3d11/gstd3d11videosink.cpp:
	* sys/nvcodec/gstnvencoder.cpp:
	* sys/qsv/gstqsvallocator_d3d11.cpp:
	* sys/qsv/gstqsvdecoder.cpp:
	* sys/qsv/gstqsvencoder.cpp:
	  d3d11: Update gst_d3d11_allocation_params_new() interface
	  Define GST_D3D11_ALLOCATION_FLAG_DEFAULT (0) value instead of
	  casting enum type everywhere. And pass D3D11_RESOURCE_MISC_FLAG value
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2646>

2022-06-27 12:06:50 -0400  U. Artie Eoff <ullysses.a.eoff@intel.com>

	* sys/va/gstvavpp.c:
	  va: postproc: add scale-method property
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2654>

2022-06-27 11:54:28 -0400  U. Artie Eoff <ullysses.a.eoff@intel.com>

	* sys/va/gstvafilter.c:
	* sys/va/gstvafilter.h:
	* sys/va/gstvavpp.c:
	  va: filter/postproc: move unconditional props to vavpp
	  Only conditional/dynamic properties should be installed/handled
	  by vafilter.  Thus, move and install the unconditional/static
	  properties in vavpp.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2654>

2022-06-23 11:39:57 -0400  U. Artie Eoff <ullysses.a.eoff@intel.com>

	* sys/va/gstvacompositor.c:
	* sys/va/gstvafilter.c:
	* sys/va/gstvafilter.h:
	  va: compositor/filter: use scale method setter
	  Use the filter's scale method member instead of the sample's member.
	  Removes the filter_flags member from the composite sample.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2654>

2022-06-23 11:11:16 -0400  U. Artie Eoff <ullysses.a.eoff@intel.com>

	* sys/va/gstvafilter.c:
	* sys/va/gstvafilter.h:
	  va: filter: add scale method field and setter
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2654>

2022-01-21 21:33:52 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvabasedec.h:
	* sys/va/gstvajpegdec.c:
	* sys/va/gstvajpegdec.h:
	* sys/va/gstvaprofile.c:
	* sys/va/meson.build:
	* sys/va/plugin.c:
	  va: Add vajpegdec element.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1575>

2022-06-24 19:42:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstva.h:
	* gst-libs/gst/va/gstvaallocator.c:
	* gst-libs/gst/va/gstvaallocator.h:
	* sys/va/gstvabasedec.c:
	* sys/va/gstvabasedec.h:
	  va: allocator: Add hack for no fourcc when surface creation.
	  This patch adds general mechanism for handling specific hacks. In this
	  case for jpeg decoder in i965 driver, which cannot create surfaces
	  with fourcc specified.
	  From jpeg decoder to the allocator, which creates the surfaces,
	  there's a non-simple path: basedec pseudo-class adds a hacks guint32
	  which will be set by actual elements (vajpegdec, in this case) and
	  basedec will always set the hack to the allocator when the allocator
	  is instantiated.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1575>

2022-06-24 19:54:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstvavideoformat.c:
	  va: Add RGBP format definition.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1575>

2022-04-28 13:16:03 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvacaps.c:
	  va: caps: Add jpeg fields in coded caps.
	  Given the supported rt formats in a profile/entrypoint config it's
	  possible to know the supported JPEG colorspace and subsampling. This
	  patch adds this information in coded caps to a safer autoplugging
	  after jpegparser.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1575>

2022-01-17 15:43:47 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstjpegdecoder.c:
	* sys/va/gstjpegdecoder.h:
	* sys/va/meson.build:
	  va: Add jpegdecoder base class.
	  This base class is intented for hardware accelerated decoders, but since
	  only VA uses it, it will be kept internally in va plugin.
	  It follows the same logic as the others video decoders in the library but.
	  as JPEG are independet images, there's no need to handle a DBP so no need
	  of a picture object. Instead a scan object is added with all the structures
	  required to decode the image (huffman and quant tables, mcus, etc.).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1575>

2022-06-27 12:36:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/meson.build:
	  va: build: Remove duplicated source.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1575>

2022-06-27 19:58:58 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudamemorycopy.c:
	  cudamemorycopy: Make sure writable caps before removing fields
	  The caps to be modified may not be writable when D3D11/GL/NVMM
	  are all disabled.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2664>

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-06-23 14:31:10 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstvaallocator.c:
	  va: allocator: Use always lseek to get dmabuf size.
	  Gallium drivers historically have reported strange dmabuf sizes, from always
	  zero to the whole frame (multiple fds). The simplest solution is to use lseek
	  SEEK_END to get the prime descriptor size.
	  Also the allocator raises a warning if both values differ in order to report
	  it to driver.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2574>

2022-06-08 09:02:52 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/va/gstvaallocator.c:
	  va: allocator: Fix translation of VADRMPRIMESurfaceDescriptor
	  VADRMPRIMESurfaceDescriptor structure describes the offsets from the
	  point of view of the specific handle (DMABuf). While GstVideoInfo
	  (and the meta) describes offsets from the point of the view of the
	  GstBuffer, an aggregate of all the GstMemory (1 per handle).
	  This changes combined with [Mesa Fix](https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16813)
	  fixes decoding failure with AMD driver.
	  Fixes #1223
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2574>

2022-06-23 21:43:11 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11.h:
	* gst-libs/gst/d3d11/gstd3d11stagingbufferpool.cpp:
	* gst-libs/gst/d3d11/gstd3d11stagingbufferpool.h:
	* gst-libs/gst/d3d11/meson.build:
	* sys/amfcodec/gstamfencoder.cpp:
	* sys/d3d11/gstd3d11compositor.cpp:
	* sys/d3d11/gstd3d11decoder.cpp:
	* sys/d3d11/gstd3d11download.cpp:
	* sys/d3d11/gstd3d11screencapturesrc.cpp:
	* sys/d3d11/gstd3d11testsrc.cpp:
	* sys/d3d11/gstd3d11upload.cpp:
	* sys/d3d11/gstd3d11videosink.cpp:
	* sys/qsv/gstqsvallocator_d3d11.cpp:
	* sys/qsv/gstqsvencoder.cpp:
	  d3d11: Revert staging buffer pool implementation
	  The staging buffer pool implementation was added to improve
	  throughput performance since we can avoid per-frame
	  CPU copy operation via staging texture but it turned out that
	  we can not make it thread safe. See
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1182
	  Reverting the staging texture implementation as it does not show
	  any visible value.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2651>

2022-06-23 21:35:23 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvdecoder.cpp:
	  qsvdecoder: Fix system memory alignment
	  Do right padding, not left
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2651>

2022-06-23 21:41:24 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11decoder.cpp:
	  d3d11decoder: Fix texture download
	  Stride applied to src/dst was reversed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2651>

2022-06-16 17:02:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst/jpegformat/gstjpegparse.c:
	  jpegparse: Add YUV440 sampling support.
	  Found some samples with this sampling, so in order to support it,
	  JPEG2000 header cannot be used anymore, a this patch also adds the
	  enums for each supported colorspace and sampling, avoiding hacks.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2641>

2022-06-16 16:33:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstvaallocator.c:
	* sys/va/gstvafilter.c:
	  va: Use driver implementation macro rather than function.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2642>

2022-06-18 10:36:53 +0800  He Junyan <junyan.he@intel.com>

	* gst/videoparsers/gsth265parse.c:
	  h265parse: Fix uninitialized width and height when update src caps.
	  The commit b90d0274 introduces uninitialized width and height when we
	  consider to change the "pixel-aspect-ratio" for some interlaced stream.
	  We need to check the resolution in the src caps, and if no resolution
	  info found, there is no need to consider the aspect ratio.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2630>

2022-06-21 20:04:15 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11deinterlace.cpp:
	* sys/d3d11/gstd3d11testsrc.cpp:
	* sys/d3d11/gstd3d11window.cpp:
	  d3d11: Fix some typos
	  Fix up spelling and d3d11testsrc class meta.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2644>

2022-06-18 20:14:22 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11compositor.cpp:
	* sys/d3d11/gstd3d11compositor.h:
	* sys/d3d11/gstd3d11compositorbin.cpp:
	* sys/d3d11/gstd3d11compositorbin.h:
	* sys/d3d11/meson.build:
	* sys/d3d11/plugin.cpp:
	  d3d11compositor: Performance optimization
	  Removing glvideomixer-like nuance (it was initially referenced)
	  and rewriting element since it's not an optimal design at all
	  from performance point of view.
	  * Remove wrapper bin (and internal conversion/upload/download elements)
	  which will waste CPU/GPU resources. Conversion/blending can be done by the
	  d3d11compositor element at once.
	  * Add support YUV blending without RGB conversion.
	  The RGB <-> YUV conversion is completely unnecessary since YUV textures
	  support blending as well.
	  * Remove complicated blending operation properties since it's hard
	  to use from application point of view. Instead, adding "operator" property
	  like what compositor element does.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2631>

2022-06-18 20:40:40 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11converter.cpp:
	  d3d11converter: Fix alpha factor update
	  converter should set entire constant buffer values since it's mapped
	  with write-discard flag
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2631>

2022-06-02 14:22:21 +0200  Robert Mader <robert.mader@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/wayland/gstwaylandsink.c:
	* ext/wayland/gstwaylandsink.h:
	* gst-libs/gst/wayland/gstwlwindow.c:
	* gst-libs/gst/wayland/gstwlwindow.h:
	  gstwaylandsink: Add rotate-method property
	  Similar to and inspired by glimagesink and gtkglsink.
	  Using the Wayland buffer transform API allows to offload
	  rotate operations to the Wayland compositor. This can have
	  several advantages:
	  - The Wayland compositor may be able to use hardware plane
	  capabilities to do the rotation.
	  - In case of pre-rotated content on rotated outputs the
	  rotations may equal out, potentially allowing the
	  compositor to use hardware planes even if they don't
	  support rotate operations.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2543>

2022-06-18 04:05:53 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11decoder.h:
	  d3d11decoder: Check 16K resolution support
	  16K decoding is supported by some GPUs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2629>

2022-06-17 05:11:08 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11av1dec.cpp:
	* sys/d3d11/gstd3d11decoder.cpp:
	* sys/d3d11/gstd3d11decoder.h:
	* sys/d3d11/gstd3d11h264dec.cpp:
	* sys/d3d11/gstd3d11h265dec.cpp:
	* sys/d3d11/gstd3d11mpeg2dec.cpp:
	* sys/d3d11/gstd3d11vp8dec.cpp:
	* sys/d3d11/gstd3d11vp9dec.cpp:
	  d3d11decoder: Add support for non-zero crop-{x,y} position
	  AVC and HEVC define crop rectangle and the x/y coordinates might
	  not be zero. This commit will address the non-zero x/y offset coordinates
	  via GstVideoCropMeta if downstream supports the meta and d3d11 memory.
	  Otherwise decoder will copy decoded texture into output frame.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2624>

2022-06-17 02:45:51 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11convert.cpp:
	* sys/d3d11/gstd3d11converter.cpp:
	  d3d11converter: Implement filling border color
	  Equivalent to GST_VIDEO_CONVERTER_OPT_BORDER_ARGB and
	  GST_VIDEO_CONVERTER_OPT_FILL_BORDER options of GstVideoConverter
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2622>

2022-06-16 02:18:43 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11compositor.cpp:
	* sys/d3d11/gstd3d11convert.cpp:
	* sys/d3d11/gstd3d11converter.cpp:
	* sys/d3d11/gstd3d11converter.h:
	* sys/d3d11/gstd3d11testsrc.cpp:
	* sys/d3d11/gstd3d11window.cpp:
	* sys/d3d11/gstd3d11window.h:
	* sys/d3d11/gstd3d11window_dummy.cpp:
	* sys/d3d11/plugin.cpp:
	  d3d11converter: Objectify converter
	  ... and set conversion options via property
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2622>

2022-06-16 00:52:16 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11shader.cpp:
	* sys/d3d11/gstd3d11shader.h:
	  d3d11shader: Remove GstD3D11Quad helper object
	  It's not very generic to be used for various scenario. Use native D3D11
	  APIs directly instead.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2622>

2022-06-16 00:50:12 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11compositor.cpp:
	  d3d11compositor: Don't use GstD3D11Quad
	  The helper object will be removed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2622>

2022-06-15 23:46:27 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11overlaycompositor.cpp:
	  d3d11overlaycompositor: Fix HLSL compiler warning
	  warning X3206: 'Sample': implicit truncation of vector type
	  And don't use GstD3D11Quad since it will result in redundant API calls
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2622>

2022-02-01 23:46:43 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/closedcaption/gstcccombiner.c:
	* ext/closedcaption/gstcccombiner.h:
	  cccombiner: expose output-padding property
	  When schedule=true and output-padding=false, cccombiner will not
	  inject padding in the output closed caption meta stream.
	  The property has no effect when schedule=false.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1621>

2022-06-15 15:06:20 -0400  Olivier Crête <olivier.crete@collabora.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: Limit sink query to sink pads
	  This allows the reception of streams that don't exactly match
	  the codec preferences. In particular, the ssrc in the codec preferences
	  is local sender SSRC, the other side is expected to send a different SSRC.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2615>

2022-06-08 19:18:48 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst/videoparsers/gsth265parse.c:
	  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>

2021-05-19 16:03:22 +0200  Stéphane Cerveau <scerveau@collabora.com>

	* ext/srt/gstsrtsrc.c:
	* ext/srt/gstsrtsrc.h:
	  srtsrc: add "keep-listening" property to avoid EOS on disconnect
	  The property 'keep-listening' avoids EOS
	  when the remote client disconnects.
	  It can be useful to a keep a pipeline alive
	  when the srt connection drops remotely.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/967>

2021-05-19 16:00:13 +0200  Stéphane Cerveau <scerveau@collabora.com>

	* ext/srt/gstsrtsrc.c:
	  srtsrc: remove dead code
	  Remove code useless since
	  132e3a1af9deb1d2cdf84d22b954967207bcc03a
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/967>

2022-05-19 05:24:08 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvh264dec.cpp:
	  qsvh264dec: Use newly added avcC data parsing API
	  Use gst_h264_parser_parse_decoder_config_record() method to parse
	  codec_data.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2449>

2022-05-19 05:06:04 +0900  Seungha Yang <seungha@centricular.com>

	* gst/videoparsers/gsth264parse.c:
	  h264parse: Use newly added avcC data parsing API
	  Use gst_h264_parser_parse_decoder_config_record() method to parse
	  codec_data.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2449>

2022-05-19 04:49:36 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth264decoder.c:
	  h264decoder: Use newly added avcC data parsing API
	  Use gst_h264_parser_parse_decoder_config_record() method to parse
	  codec_data.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2449>

2022-05-19 04:25:38 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecparsers/gsth264parser.c:
	* gst-libs/gst/codecparsers/gsth264parser.h:
	* tests/check/libs/h264parser.c:
	  h264parser: Add an API for AVCDecoderConfigurationRecord parsing
	  Add a method for AVC configuration date parsing
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2449>

2022-06-15 10:07:26 +0300  Sebastian Dröge <sebastian@centricular.com>

	* sys/decklink/gstdecklink.cpp:
	  decklinkvideosink: Fix selection of > PAL widescreen modes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2601>

2022-06-07 16:30:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvabasedec.c:
	  va: basedec: Select output format with the used chroma in decoder.
	  Currently, video format is decided with downstream caps intersection,
	  but that's not correct since chroma is not considered. The video
	  decoders have to decide the output format given the used chroma, not
	  by the downstream caps negotiation.
	  This patch changes that. Still, caps feature is selected by caps
	  negotiation, then, with the preferred caps feature, the output format
	  is search within that caps feature.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2569>

2022-05-23 11:41:17 +1000  Matthew Waters <matthew@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/vulkan/gstvulkan.c:
	* ext/vulkan/meson.build:
	* ext/vulkan/vkoverlaycompositor.c:
	* ext/vulkan/vkoverlaycompositor.h:
	  vulkan: add vulkan overlay compositor element
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2470>

2022-05-23 11:26:24 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkfullscreenquad.c:
	* gst-libs/gst/vulkan/gstvkfullscreenquad.h:
	  vkfullscreenquad: add support for disabling clearing
	  e.g. if drawing over the top of an existing image, we don'w want to
	  clear.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2470>

2022-05-23 11:25:03 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkfullscreenquad.c:
	* gst-libs/gst/vulkan/gstvkfullscreenquad.h:
	  vkfullscreenquad: support setting blend operations
	  Allows e.g. blending with an existing image.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2470>

2022-05-23 11:24:04 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkfullscreenquad.c:
	  vkfullscreenaud: create the vulkan command pool upfront
	  Allows outside to reuse the same command buffer pool much more easily.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2470>

2022-05-17 17:07:49 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkbuffermemory.h:
	* gst-libs/gst/vulkan/gstvkbufferpool.h:
	* gst-libs/gst/vulkan/gstvkcommandbuffer.h:
	* gst-libs/gst/vulkan/gstvkdescriptorpool.h:
	* gst-libs/gst/vulkan/gstvkdescriptorset.h:
	* gst-libs/gst/vulkan/gstvkfence.h:
	* gst-libs/gst/vulkan/gstvkimagebufferpool.h:
	* gst-libs/gst/vulkan/gstvkimagememory.h:
	* gst-libs/gst/vulkan/gstvkmemory.h:
	* gst-libs/gst/vulkan/gstvkvideofilter.h:
	  vulkan: add some missing GAutoPtr definitions
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2470>

2022-05-17 16:32:09 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkimageview.h:
	  vulkan: remove unneeded #ifdef for GAutoPtr
	  Not necessary anymore as we depend on a new enough Glib version
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2470>

2022-05-17 13:22:33 +1000  Matthew Waters <matthew@centricular.com>

	* ext/vulkan/gstvulkanelements.h:
	* ext/vulkan/vkcolorconvert.h:
	* ext/vulkan/vkdeviceprovider.h:
	* ext/vulkan/vkdownload.h:
	* ext/vulkan/vkimageidentity.h:
	* ext/vulkan/vkshaderspv.h:
	* ext/vulkan/vksink.h:
	* ext/vulkan/vkupload.h:
	* ext/vulkan/vkviewconvert.h:
	  vulkan: move element register definition to relevant element headers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2470>

2022-06-13 03:29:11 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11converter.cpp:
	* sys/d3d11/gstd3d11pluginutils.cpp:
	* sys/d3d11/gstd3d11pluginutils.h:
	  d3d11converter: Add support for colorimetry conversion
	  Handle color primaries and gamma functions.
	  HDR <-> SDR conversion (tone mapping) should be implemented as well
	  but not a part of this patch.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2581>

2022-06-14 03:15:42 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11convert.cpp:
	  d3d11convert: Don't passthrough if colorimetry conversion is required
	  Different input/output colorimetry requires conversion
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2581>

2022-06-14 00:24:41 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11pluginutils.cpp:
	  d3d11window: Use SDR colorspace whenever possible
	  PQ uses completely different light level scale
	  and it should not be used for SDR bt2020.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2581>

2022-06-06 03:41:52 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11converter.cpp:
	* sys/d3d11/gstd3d11converter.h:
	* sys/d3d11/gstd3d11pluginutils.cpp:
	* sys/d3d11/gstd3d11pluginutils.h:
	  d3d11converter: Rewrite conversion object
	  Rewriting GstD3D11Converter (equivalent to GstVideoConverter)
	  to optimize some conversion path and clean up.
	  * Extract YUV <-> RGB conversion matrix building method to
	  utils. It will be used by other implementation
	  * Use calculated offset values for YCbCr <-> YPbPr conversion
	  instead of hardcoded values
	  * Handle color range adjustment
	  * Move transform matrix building helper function to utils.
	  The method will be used by other elements
	  * Use single constant buffer. Multiple constatne buffer for
	  conversion pipeline is almost pointless
	  * Remove lots of duplicated HLSL code and split pixel shader
	  code path into sampling -> colorspace conversion ->
	  shader output packing
	  * Avoid floating point precision error around UV coordinates
	  * Optimize RGB -> YUV conversion path
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2581>

2022-05-24 10:40:26 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/gstv4l2format.c:
	* sys/v4l2codecs/gstv4l2format.h:
	* sys/v4l2codecs/linux/videodev2.h:
	  v4l2codecs: Add P010 pixel format
	  Copy V4L2_PIX_FMT_P010 define from linux header.
	  V4L2_PIX_FMT_P010 is the little endian definition of P010 so map
	  it GST_VIDEO_FORMAT_P010_10LE.
	  Add it v4l2 default video formats to allows v4l2 decoders to
	  enumerate and use it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2590>

2022-04-06 12:56:30 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/gs/gstgscommon.cpp:
	* gst/mpegtsdemux/mpegtsbase.c:
	* gst/mxf/mxfdemux.c:
	* meson.build:
	* sys/d3d11/gstd3d11deinterlace.cpp:
	* sys/va/vacompat.h:
	  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-06-08 10:42:18 +0300  Sebastian Dröge <sebastian@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/decklink/gstdecklink.cpp:
	* sys/decklink/gstdecklink.h:
	  decklink: Add support for 4K DCI, 8K/UHD2 and 8K DCI modes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2570>

2022-06-02 06:06:48 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvallocator_d3d11.cpp:
	  qsvencoder: Do not copy if input is D3D11 texture
	  In case that input is D3D11 texture, QSV seems to work regardless
	  of the alignment. Actually the alignment requirement seems to make
	  only sense for system memory.
	  Other Intel GPU dependent implementations (new VA encoder, and MediaFoundation)
	  do not require such alignment nor other vendor specific ones (NVENC and AMF)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2540>

2022-06-09 23:19:24 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11decoder.cpp:
	  d3d11decoder: Fix for alternate interlacing signalling
	  Don't set d3d11+interlace caps feature. None of d3d11 elements
	  support it
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2579>

2022-06-04 22:33:34 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11testsrc.cpp:
	* sys/d3d11/gstd3d11testsrc.h:
	* sys/d3d11/meson.build:
	* sys/d3d11/plugin.cpp:
	  d3d11: Add d3d11testsrc element
	  Adding Direct3D11 based videotestsrc element
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2554>

2022-06-08 16:38:00 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/meson.build:
	  -bad/docs: be more selective about header files to exclude
	  A few header files in -bad contain comments that start with the
	  /** gtk-doc pattern, but should not actually be parsed (and warned
	  about as such).
	  Previously, we were using far-reaching wildcard patterns to avoid
	  parsing those, but this had the unintended side effect of also
	  excluding legitimate files, and creating confusion when comments
	  were not parsed from those.
	  Switch to excluding specific files instead.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2576>

2022-05-27 05:15:13 +1000  Jan Schmidt <jan@centricular.com>

	* sys/androidmedia/gstamc-constants.h:
	* sys/androidmedia/gstamc.c:
	* sys/androidmedia/gstamcvideoenc.c:
	* sys/androidmedia/gstamcvideoenc.h:
	  amc: Add H.265 encoder mapping.
	  Add mime type mapping to enable the use of Android H.265 encoders
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2511>

2022-05-13 17:21:25 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkdec.c:
	* sys/msdk/gstmsdkdec.h:
	  msdkdec: Decoder should use its own pool when downstream allocator is not recognizable
	  Msdkdec should use it own pool when the allocation from downstream query
	  is not any msdk_allocator (i.e. msdk_video_allocator,
	  msdk_dmabuf_allocator and msdk_system_allocator). Otherwise, when using
	  pipeline "msdkh264dec ! vah264enc !" to transcode a not 16-bit-aligned
	  stream (i.e. 1920x1080), the transcoding will fail due to the size
	  mismatch issue between decoder pool and encoder pool.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2451>

2022-06-06 10:56:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* docs/plugins/gst_plugins_cache.json:
	  va: Update plugin cache.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2522>

2022-05-29 13:43:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: Guard logging functions
	  .. and use spec for rate control rather than static switch.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2522>

2022-05-30 10:20:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvabaseenc.c:
	* sys/va/gstvah264enc.c:
	  vah264enc: Support default and none rate control.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2522>

2022-05-29 12:09:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvaencoder.c:
	* sys/va/gstvaencoder.h:
	* sys/va/gstvah264enc.c:
	  va: encoder: Rate control property.
	  Fixes: #1241
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2522>

2022-05-30 11:26:24 +0100  Philippe Normand <philn@igalia.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/webrtc/gstwebrtcbin.c:
	* tests/check/elements/webrtcbin.c:
	  webrtcbin: Add a prepare-data-channel GObject signal
	  This new signal allows data-channel consumers to configure signal handlers on a
	  newly created data-channel, before any data or state change has been notified.
	  The webrtcin unit-tests were refactored to make use of this new signal.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2427>

2022-05-16 16:43:57 +0100  Philippe Normand <philn@igalia.com>

	* ext/webrtc/webrtcdatachannel.c:
	  webrtcdatachannel: Chain to parent class constructed
	  And add a debug log statement.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2427>

2022-06-02 10:32:28 -0400  Eric Knapp <emkman99@gmail.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/decklink/gstdecklink.cpp:
	* sys/decklink/gstdecklink.h:
	* sys/decklink/gstdecklinkvideosink.cpp:
	* sys/decklink/gstdecklinkvideosink.h:
	  decklinkvideosink: Add 3G-SDI Level A output support
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2544>

2022-06-04 15:05:05 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gsth264parser.c:
	  h264parser: Fix memory leaks in parse_user_data_unregistered().
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2551>

2022-06-04 17:23:00 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/rtmp2/rtmp/rtmpmessage.c:
	  rtmp2: Fix allocation of GstRtmpMeta
	  Use the right size.
	  On 64-bit platforms, `GstMetaInfo` is larger than `GstRtmpMeta`, which
	  masked this bug. On 32-bit platforms, it causes crashes. Thanks to
	  @maxatka for discovering this.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1721
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2553>

2022-06-02 16:38:55 +0200  Robert Mader <robert.mader@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/wayland/gstwaylandsink.c:
	  gstwaylandsink: Add support for the "render-rectangle" property
	  We already implement the `set_render_rectangle` videooverlay interface,
	  thus install the videooverlay property accordingly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2479>

2022-01-04 15:20:41 +0100  Robert Mader <robert.mader@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/wayland/gstwaylandsink.c:
	* ext/wayland/gstwaylandsink.h:
	* ext/wayland/meson.build:
	* ext/wayland/wldisplay.c:
	* ext/wayland/wldisplay.h:
	* ext/wayland/wlwindow.c:
	* ext/wayland/wlwindow.h:
	* gst-libs/gst/wayland/gstwl_fwd.h:
	* gst-libs/gst/wayland/gstwlbuffer.c:
	* gst-libs/gst/wayland/gstwlbuffer.h:
	* gst-libs/gst/wayland/gstwlcontext.c:
	* gst-libs/gst/wayland/gstwlcontext.h:
	* gst-libs/gst/wayland/gstwldisplay.c:
	* gst-libs/gst/wayland/gstwldisplay.h:
	* gst-libs/gst/wayland/gstwllinuxdmabuf.c:
	* gst-libs/gst/wayland/gstwllinuxdmabuf.h:
	* gst-libs/gst/wayland/gstwlshmallocator.c:
	* gst-libs/gst/wayland/gstwlshmallocator.h:
	* gst-libs/gst/wayland/gstwlvideobufferpool.c:
	* gst-libs/gst/wayland/gstwlvideobufferpool.h:
	* gst-libs/gst/wayland/gstwlvideoformat.c:
	* gst-libs/gst/wayland/gstwlvideoformat.h:
	* gst-libs/gst/wayland/gstwlwindow.c:
	* gst-libs/gst/wayland/gstwlwindow.h:
	* gst-libs/gst/wayland/meson.build:
	* gst-libs/gst/wayland/wayland-prelude.h:
	* gst-libs/gst/wayland/wayland.c:
	* gst-libs/gst/wayland/wayland.h:
	* tests/examples/waylandsink/main.c:
	* tests/examples/waylandsink/wayland-threads.c:
	  gstwayland: Move reusable parts of the waylandsink into a library
	  In preparation for the new element `GstGtkWaylandSink`, move reusable
	  parts out of `GstWaylandSink` into the already exisiting but very
	  barebone library.
	  Notable changes include:
	  - the `GstWaylandVideo` interface was dropped
	  - support for `wl-shell` was dropped
	  - lots of renaming in order to match established naming patterns
	  - lots of code modernisations, reducing boilerplate
	  - members were made private wherever possible
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2479>

2022-06-06 00:30:15 +0200  Jan Alexander Steffens (heftig) <heftig@archlinux.org>

	* ext/opencv/gstcvtracker.cpp:
	* ext/opencv/gstcvtracker.h:
	* ext/opencv/meson.build:
	  opencv: Allow building against 4.6.x
	  Replace the broken version checks with one modeled after
	  `GLIB_CHECK_VERSION`.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2557>

2022-05-30 16:31:38 -0400  Olivier Crête <olivier.crete@collabora.com>

	* ext/webrtc/gstwebrtcbin.c:
	* tests/check/elements/webrtcbin.c:
	  webrtcbin: Reject answers that don't contain the same number of m-line as offer
	  Otherwise, it segfaults later. Also add test to validate this.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2526>

2022-03-15 12:44:20 +0100  Marc Leeman <m.leeman@televic.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/librfb/gstrfb-utils.c:
	* gst/librfb/gstrfb-utils.h:
	* gst/librfb/gstrfbsrc.c:
	* gst/librfb/gstrfbsrc.h:
	* gst/librfb/meson.build:
	  rfbsrc: add uri interface
	  Adding a uri interface enables plugging in RFB/VNC sources to anything
	  that makes use of uridecodebin:
	  gst-play-1.0 rfb://:password@10.40.216.180:5903?shared=1
	  Use userinfo to pass user (ignored) and password, other key/value pairs
	  can be encoded in the query part of the URI (see shared)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1963>

2022-05-17 00:36:24 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>

	* gst/videoparsers/gsth264parse.c:
	* gst/videoparsers/gstvideoparseutils.c:
	* gst/videoparsers/gstvideoparseutils.h:
	  videoparse: rename from _free to _clear
	  The function does not free the structure but the data
	  contained within.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458>

2022-05-16 14:21:53 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>

	* gst-libs/gst/codecparsers/gsth264parser.c:
	  h264parse: fix leak in user data unregistered
	  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/codecparsers/gsth264parser.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>

	* tests/check/elements/h264parse.c:
	  h264parse: add unit test for Precision Time Stamp in SEI messages
	  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/codecparsers/gsth264parser.c:
	* gst-libs/gst/codecparsers/gsth264parser.h:
	* gst/videoparsers/gsth264parse.c:
	* gst/videoparsers/gsth264parse.h:
	* gst/videoparsers/gstvideoparseutils.c:
	* gst/videoparsers/gstvideoparseutils.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-06-02 02:22:19 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/meson.build:
	  meson: cuda: Add missing override_dependency()
	  Required for GstCuda library to be consumed via "gstreamer-cuda-1.0"
	  dependency.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2539>

2022-06-02 21:25:38 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudautils.c:
	  cuda: Fix uninitialized debug category
	  Make sure debug category init
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2542>

2022-04-22 06:46:07 +0000  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkav1enc.c:
	* sys/msdk/gstmsdkav1enc.h:
	* sys/msdk/gstmsdkenc.c:
	* sys/msdk/gstmsdkenc.h:
	  msdkav1enc: Reorder pts
	  This is a workaround for pts because oneVPL cannot handle the pts
	  correctly when there is b-frames. We first cache the input frame pts in
	  a queue then retrive the smallest one for the output encoded frame as
	  we always output the coded frame when this frame is displayable.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2089>

2022-03-31 06:45:03 +0000  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkav1enc.c:
	* sys/msdk/gstmsdkav1enc.h:
	  msdkav1enc: Add b-pyramid and p-pyramid
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2089>

2022-03-31 06:33:55 +0000  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkav1enc.c:
	* sys/msdk/gstmsdkav1enc.h:
	  msdkav1enc: Add tile for encoding
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2089>

2022-03-31 06:03:36 +0000  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdk.c:
	* sys/msdk/gstmsdkav1enc.c:
	* sys/msdk/gstmsdkav1enc.h:
	* sys/msdk/gstmsdkenc.c:
	* sys/msdk/gstmsdkenc.h:
	* sys/msdk/meson.build:
	  msdk: Add msdkav1enc element
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2089>

2022-05-31 20:39:29 +0200  Jakub Adam <jakub.adam@collabora.com>

	* sys/amfcodec/gstamfencoder.cpp:
	  amfencoder: always empty the queue when pushing output samples
	  gst_amf_encoder_try_output() pushes at most one output buffer downstream
	  although more may be ready. As a consequence, output samples will keep
	  queueing up in AMFComponent whenever QueryOutput() returns AMF_REPEAT
	  (and do_wait is FALSE). This has negative impact on latency when the
	  video being encoded is a live stream.
	  In order to avoid it, always retrieve and push all samples available in
	  AMFComponent's output queue at once.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2536>

2022-05-29 06:55:27 +0900  Seungha Yang <seungha@centricular.com>

	* sys/directshow/gstdshowvideosrc.cpp:
	* sys/directshow/plugin.cpp:
	  directshow: Fix for uninitialized debug category warning
	  A method in the code is used in another place (device provider)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2519>

2022-05-29 12:42:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvabaseenc.c:
	* sys/va/gstvabasetransform.c:
	  va: Register base classes as abstract.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2521>

2022-05-29 12:09:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvaencoder.c:
	  va: encoder: Use entrypoint type.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2521>

2022-05-27 14:47:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvah264enc.c:
	  va264enc: Fix typo.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2508>

2022-05-27 14:45:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvaencoder.c:
	  va: encoder: Fix regression since commit 2042c2d4f0.
	  There's no need to compare with the open entrypoint to query the
	  encoder. This commit removes the checks to the configured entrypoint
	  with the parameter.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2508>

2022-03-26 23:48:46 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfh264enc.cpp:
	* sys/mediafoundation/gstmfh265enc.cpp:
	* sys/mediafoundation/gstmfvideoencoder.cpp:
	* sys/mediafoundation/gstmfvideoencoder.h:
	* sys/mediafoundation/gstmfvp9enc.cpp:
	* tests/examples/mediafoundation/meson.build:
	* tests/examples/mediafoundation/mfvideoenc-dynamic-reconfigure.c:
	* tests/examples/meson.build:
	  mfvideoencoder: Handle dynamic property update
	  Re-init MFT on property update to apply new encoding options
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2037>

2022-03-26 23:50:24 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/plugin.cpp:
	  mediafoundation: Run indent
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2037>

2022-03-26 22:24:27 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfvideoencoder.cpp:
	  mfvideoenc: Remove redundant bitwise or operation
	  MFT_ENUM_FLAG_SORTANDFILTER_APPROVED_ONLY (0xc0) covers
	  MFT_ENUM_FLAG_SORTANDFILTER (0x40)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2037>

2022-03-26 21:47:10 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfvideoencoder.cpp:
	  mfvideoencoder: Early terminate d3d11 interop
	  Shared texture will work only for the same GPU
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2037>

2022-03-26 21:43:50 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfvideoencoder.cpp:
	  mfvideoencoder: Check HRESULT code as well for GPU sync
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2037>

2022-03-26 21:40:47 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfvideoencoder.cpp:
	  mfvideoencoder: Don't specify keyed mutex misc flag
	  Current implemetation copies textures using non-keyed mutex way.
	  D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX is pointless
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2037>

2022-05-25 13:25:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvacompositor.c:
	  vacompositor: Pass video info pointer than copying it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2496>

2022-05-25 13:24:41 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvacompositor.c:
	  vacompositor: Remove useless consts.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2496>

2022-05-27 21:13:43 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11memory.cpp:
	* gst-libs/gst/d3d11/gstd3d11memory.h:
	* sys/d3d11/gstd3d11decoder.cpp:
	  d3d11decoder: Work around Intel DXVA driver crash
	  Intel DXVA driver crashes sometimes (from GPU thread) if
	  ID3D11VideoDecoder is released while there are outstanding view objects.
	  To make sure the object life cycle, holds an ID3D11VideoDecoder refcount
	  in GstD3D11Memory object.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2504>

2022-05-26 23:50:08 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvencoder.cpp:
	  qsvencoder: Bind internal texture to render target
	  ... so that memory allocator can initialize texture with black color
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2502>

2022-05-26 23:46:05 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11memory.cpp:
	  d3d11memory: Clear YUV texture with black color
	  We prefer black color as an initial texture color and
	  Direct3D11 runtime will initialize texture with zeros (except for alpha)
	  which is fine for RGB formats. But UV components of YUV texture
	  requires manual clear for black color.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2502>

2022-05-24 12:54:05 -0400  U. Artie Eoff <ullysses.a.eoff@intel.com>

	* tests/check/elements/vacompositor.c:
	* tests/check/meson.build:
	  tests: va: add simple vacompositor test
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2481>

2022-04-22 16:29:56 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkh265enc.c:
	* sys/msdk/gstmsdkh265enc.h:
	  msdkh265enc: Add intra refresh parameters
	  Note that for msdkh265enc, intra refresh parameters are only supported
	  under low-power mode. If these parameters are set without enabling lowpower,
	  they will be simply ignored.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2308>

2022-04-15 13:38:20 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkh264enc.c:
	* sys/msdk/gstmsdkh264enc.h:
	  msdkh264enc: Add intra refresh parameters
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2308>

2022-05-23 00:36:50 +0900  Seungha Yang <seungha@centricular.com>

	* tests/examples/d3d11/d3d11videosink-kb.c:
	* tests/examples/d3d11/d3d11videosink-kb.h:
	* tests/examples/d3d11/d3d11videosink.c:
	* tests/examples/d3d11/meson.build:
	* tests/examples/key-handler.c:
	* tests/examples/key-handler.h:
	* tests/examples/nvcodec/meson.build:
	* tests/examples/nvcodec/nvcodec-kb.c:
	* tests/examples/nvcodec/nvcodec.c:
	* tests/examples/nvcodec/nvcodec.h:
	* tests/examples/qsv/meson.build:
	* tests/examples/qsv/qsvenc-dynamic-reconfigure.c:
	  tests: examples: Stop duplicating keyboard interaction handler code
	  Extract the code from QSV and use it for D3D11 and NVCODEC examples
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2468>

2022-05-26 14:08:55 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/webrtc/gstwebrtcice.c:
	  webrtc: fix build with older libnice versions
	  1) check for right macro name when checking for NICE_VERSION_CHECK
	  2) if libnice version is 0.1.18.1 this should not satisfy
	  a NICE_VERSION_CHECK(0,1,19).
	  Fixes build with libnice 0.1.18.1 subproject checkout.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2499>

2022-05-24 05:33:05 +1000  Jan Schmidt <jan@centricular.com>

	* sys/androidmedia/gstamc.c:
	  amc: Don't map input buffer with write mode
	  When copying data out of a GStreamer buffer, we don't
	  need to map it writable.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2492>

2022-05-11 09:17:46 +0100  Philippe Normand <philn@igalia.com>

	* ext/webrtc/gstwebrtcice.c:
	  webrtc: Use new libnice API to get the candidate relay address
	  Corresponding libnice API added in:
	  https://gitlab.freedesktop.org/libnice/libnice/-/merge_requests/229 (0.1.19)
	  https://gitlab.freedesktop.org/libnice/libnice/-/merge_requests/232 (0.1.20)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1998>

2022-05-11 09:15:33 +0100  Philippe Normand <philn@igalia.com>

	* ext/webrtc/gstwebrtcice.c:
	* ext/webrtc/meson.build:
	  webrtc: Ensure the NICE_CHECK_VERSION macro is available
	  This macro was introduced in libnice 0.1.19.1, so until we bump our libnice
	  dependency to 0.1.20 we have to vendor the macro.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1998>

2022-03-26 12:36:46 +0000  Philippe Normand <philn@igalia.com>

	* ext/webrtc/gstwebrtcice.c:
	* ext/webrtc/gstwebrtcice.h:
	* ext/webrtc/gstwebrtcstats.c:
	  webrtc: Refactor ICECandidateStats freeing logic to a dedicated function
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1998>

2022-03-20 12:36:07 +0000  Philippe Normand <philn@igalia.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: Document IceCandidateStats and RTCIceCandidatePairStats
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1998>

2021-09-01 16:12:24 +0000  Sherrill Lin <lshuying@amazon.com>

	* tests/check/elements/webrtcbin.c:
	  webrtcstats: Update unit test for outbound rtp stats
	  "remote-id" is not guaranteed to present after commit 1deb034e3d873f577a38bc483e6256b0346ee874.
	  Thus, we should not fail the test if "remote-id" is not found.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1998>

2021-06-30 16:01:10 -0400  Sherrill Lin <lshuying@amazon.com>

	  webrtcstats: Improve selected candidate pair stats by adding ICE candidate info
	  The implementation follows w3.org specs:
	  * https://www.w3.org/TR/webrtc-stats/#icecandidate-dict*
	  * https://www.w3.org/TR/webrtc-stats/#candidatepair-dict*
	  Corresponding unit tests are also added.
	  Rebased and updated from
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1462
	  Fixes #1207
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1998>

2022-05-23 20:58:47 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	* sys/va/gstvabaseenc.h:
	* sys/va/gstvaencoder.c:
	* sys/va/gstvaencoder.h:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvah264enc.h:
	* sys/va/plugin.c:
	  va: H264enc: Add encoder for VAEntrypointEncSliceLP.
	  We name vah264lpenc to support H264's VAEntrypointEncSliceLP encoder.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2472>

2022-05-25 20:01:34 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	  va: encoder: Do not reset the frame count when reconfig().
	  We should not reset the input/output_frame_count when some configure
	  changes. For example, the if resolution changes, the current way just
	  resets the frame count and make the PTS of the output buffer restart
	  from the original PTS of the first frame. That causes a lot of QOS
	  event and drop all the new frames.
	  We should only reset them when encoder start().
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2489>

2022-05-25 19:57:18 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	* sys/va/gstvabaseenc.h:
	* sys/va/gstvah264enc.c:
	  va: encoder: change reset_state() to a virtual function of base class.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2489>

2022-05-24 10:21:31 -0400  U. Artie Eoff <ullysses.a.eoff@intel.com>

	* sys/va/gstvacompositor.c:
	  vacompositor: check caps and info return values
	  Check return values for get caps and video info from caps.
	  This was flagged by static analysis.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2480>

2022-05-25 02:38:01 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11av1dec.cpp:
	* sys/d3d11/gstd3d11h264dec.cpp:
	* sys/d3d11/gstd3d11h265dec.cpp:
	* sys/d3d11/gstd3d11mpeg2dec.cpp:
	* sys/d3d11/gstd3d11vp8dec.cpp:
	* sys/d3d11/gstd3d11vp9dec.cpp:
	  d3d11decoder: Don't print error log on negotiation failure
	  It may not be a critical error and even expected when shutting down
	  pipeline or flushing.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2483>

2022-05-24 11:06:39 +0200  Erwann Gouesbet <erwann.gouesbet@blacknut.com>

	* sys/d3d11/gstd3d11screencapture.cpp:
	  d3d11screencapture: Fix missing/outdated cursor shape
	  d3d11screencapture can miss a cursor shape to draw or draw an outdated cursor shape.
	  - AcquireNextFrame only provides cursor shape when there is one update
	  - current d3d11screencapture skips cursor shape when mouse is not drawn
	  So, if a gstreamer application uses d3d11screencapture with cursor initially not drawn
	  "show-cursor"=false and then switches this property to true, the cursor will not be
	  actually drawn until AcquireNextFrame provides a new cursor shape.
	  This commit makes d3d11screencapture always update the cursor shape information, even
	  if the mouse is not drawn. d3d11screencapture will always have the latest cursor shape
	  when requested to draw it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2485>

2022-05-24 14:47:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/plugin.c:
	  va: Avoid unused variable if logging is disabled.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2478>

2022-05-22 10:10:38 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvaencoder.c:
	* sys/va/gstvah264enc.c:
	  va: Keep include's code style
	  Headers are in alphabetical order.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2465>

2022-05-24 13:19:45 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvafilter.c:
	  vafilter: Fix logging of unsupported alpha blending.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2477>

2022-05-24 14:36:36 +1000  Matthew Waters <matthew@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	* tests/check/elements/webrtcbin.c:
	  webrtcbin: reuese the same fec/rtx/red payload types for the same media payload
	  WHen bundling, if multiple medias are used with the same media payload, then
	  each of the fec/rtx/red additions would add a distinct payload.  This could
	  very easily overflow the available payload space.
	  Instead, track the relationship between the media payload value and
	  the relevant fec/rtx/red payload values and reuse them whenever
	  necessary, even when bundling.
	  e.g.
	  ...
	  a=group:BUNDLE video0 video1
	  m=video 9 UDP/SAVPF 96 97
	  a=mid:video0
	  a=rtpmap:96 VP8/90000
	  a=rtpmap:97 rtx/90000
	  a=fmtp:97 apt=96
	  ...
	  m=video 9 UDP/SAVPF 96 97
	  a=mid:video1
	  a=rtpmap:96 VP8/90000
	  a=rtpmap:97 rtx/90000
	  a=fmtp:97 apt=96
	  ...
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2474>

2022-05-23 00:04:03 +0900  Seungha Yang <seungha@centricular.com>

	* tests/examples/qsv/qsvenc-dynamic-reconfigure.c:
	  tests: examples: Fix typo in QSV encoder example
	  Fixing width adjustment
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2467>

2022-05-22 22:44:11 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvav1enc.cpp:
	* sys/qsv/gstqsvav1enc.h:
	* sys/qsv/meson.build:
	* sys/qsv/plugin.cpp:
	* tests/examples/qsv/qsvenc-dynamic-reconfigure.c:
	  qsv: Add AV1 encoder element
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2467>

2022-05-22 21:38:34 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvencoder.cpp:
	* sys/qsv/gstqsvh264enc.cpp:
	* sys/qsv/gstqsvh265enc.cpp:
	* sys/qsv/gstqsvjpegenc.cpp:
	* sys/qsv/gstqsvvp9enc.cpp:
	  qsvencoder: Move common property to baseclass
	  adapter-luid and device-path are common for all codecs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2467>

2022-05-23 15:03:03 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	  va: baseenc: No need to check the frame pointer in handle_frame().
	  No need to check the NULL pointer of "frame" in error handling, it
	  is assured non-NULL by base class and we already use it everywhere
	  in this function.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2471>

2022-05-22 15:03:54 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	  va: baseenc: include the "vacompat.h" for old version glib.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2463>

2022-04-26 12:07:26 -0400  U. Artie Eoff <ullysses.a.eoff@intel.com>

	* sys/va/plugin.c:
	  va: vpp: enable compositor
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2332>

2022-04-26 12:06:17 -0400  U. Artie Eoff <ullysses.a.eoff@intel.com>

	* sys/va/gstvacompositor.c:
	* sys/va/gstvacompositor.h:
	* sys/va/gstvafilter.c:
	* sys/va/gstvafilter.h:
	* sys/va/meson.build:
	  va: vpp: add compositor
	  New implementation of a VA-API compositor with blend feature.
	  Various chunks of code was taken from vavpp.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2332>

2022-03-25 21:51:47 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  va: Apply the va base encoder to the vah264enc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2330>

2022-03-25 21:48:05 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	* sys/va/gstvabaseenc.h:
	* sys/va/meson.build:
	  va: Add the GstVaBaseEnc common object for all va encoders.
	  Just like the GstVaBaseDec and GstVaBaseTransform, this base encoder
	  will handle all common logic for all va encoders.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2330>

2022-05-15 00:56:59 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11_private.h:
	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* gst-libs/gst/d3d11/gstd3d11format.cpp:
	* gst-libs/gst/d3d11/gstd3d11format.h:
	  d3d11device: Enhance format enumeration and debugging
	  * Enhance debug log to print human readable D3D11_FORMAT_SUPPORT flags
	  value, instead of packed numeric flagset value.
	  * Only device supported format will be added to format table.
	  Depending on device feature level (i.e., D3D9 feature devices),
	  16bits formats will not be supported. Although there might be formats
	  we deinfed but not supported, it will not be a major issue in practice
	  since our D3D11 implementation does not support legacy devices already
	  (known limitation) and also old d3dvideosink will be promoted in that case.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2441>

2021-12-22 19:23:37 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/jpegformat/gstjpegparse.c:
	* gst/jpegformat/gstjpegparse.h:
	* gst/jpegformat/meson.build:
	* tests/check/elements/jpegparse.c:
	  jpegparse: Rewrite element.
	  Now it uses the JPEG parser in libgstcodecparsers, while the whole
	  code is simplified by relying more in baseparser class for tag
	  handling.
	  The element now signals chroma-format and default framerate is 0/1,
	  which is for still-images.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1473>

2021-12-25 13:00:17 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* tests/check/elements/jpegparse.c:
	  tests: jpegparse: Mark data as static.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1473>

2021-12-22 18:13:17 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst/jpegformat/gstjifmux.c:
	* gst/jpegformat/gstjifmux.h:
	* gst/jpegformat/gstjpegformat.h:
	* gst/jpegformat/gstjpegparse.c:
	* gst/jpegformat/meson.build:
	  jpegformat: Use codecparsers' for JPEG markers.
	  Instead of repeating JPEG markers definition, this patch uses those
	  defined in gstcodecparsers library.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1473>

2021-12-22 17:35:23 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst/jpegformat/gstjpegparse.c:
	* gst/jpegformat/gstjpegparse.h:
	  jpegparse: Headers cleanup
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1473>

2022-05-18 16:54:53 +0100  Philippe Normand <philn@igalia.com>

	* ext/webrtc/webrtcdatachannel.c:
	  datachannel: Notify low buffered amount according to spec
	  Quoting
	  https://www.w3.org/TR/webrtc/#dom-rtcdatachannel-bufferedamountlowthreshold
	  The bufferedAmountLowThreshold attribute sets the threshold at which the
	  bufferedAmount is considered to be low. When the bufferedAmount decreases from
	  above this threshold to **equal** or below it, the bufferedamountlow event fires.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2448>

2022-05-17 14:15:40 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  tsmux: Make sure to set srcpad caps under all conditions before outputting the first buffer
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1218
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2438>

2022-05-17 04:27:00 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	  d3d11device: Don't print ERROR log on open failure
	  Device open can be failed in various reasons, but it's unlikely
	  our problem
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2433>

2022-05-17 14:02:28 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/sdp/gstsdpdemux.c:
	  sdpdemux: Release request pads from rtpbin when freeing a stream
	  Otherwise the pads of the rtpbin stay around forever and are leaked.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2437>

2022-05-17 03:32:10 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/libmfx/meson.build:
	* sys/qsv/meson.build:
	  qsv: Disable non-MSVC build on Windows
	  ... and remove pointless UWP consideration that will never work.
	  Cross-compiled binary has an issue which causes deadlock.
	  Although cerbero will not build this plugin for non-MSVC build,
	  people can still build this plugin and may complain its brokenness.
	  See also
	  https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/854
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2431>

2022-04-28 16:02:26 +0100  Diogo Goncalves <diogo@diporg.com>

	* sys/applemedia/avfvideosrc.m:
	  avfvideosrc: fix wrong framerate selected for caps
	  This fix solves an issue where a format that doesn't support the
	  requested framerate would be selected. It ensures that we use the first
	  format and framerate pair that supports the requested caps.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2331>

2022-05-12 05:13:08 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11av1dec.cpp:
	* sys/d3d11/gstd3d11decoder.cpp:
	* sys/d3d11/gstd3d11decoder.h:
	* sys/d3d11/gstd3d11h264dec.cpp:
	* sys/d3d11/gstd3d11h265dec.cpp:
	* sys/d3d11/gstd3d11mpeg2dec.cpp:
	* sys/d3d11/gstd3d11vp8dec.cpp:
	* sys/d3d11/gstd3d11vp9dec.cpp:
	  d3d11decoder: Add hardcoded minimum resolution values to caps for NVIDIA
	  NVIDIA GPUs have undocumented limitation regarding minimum resolution
	  and it can be queried via a NVDEC API. However, since we don't want to
	  bring CUDA/NVDEC API into D3D11, use hardcoded values for now
	  until we find a nice way for capability check.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2406>

2022-05-12 07:23:29 +0200  Edward Hervey <edward@centricular.com>

	* gst/mxf/mxfdemux.c:
	  mxfdemux: Handle files produced by legacy FFmpeg
	  Until March 2022, the FFmpeg MXF muxer would write the various index table
	  segments with the same instance ID, which should only be used if it is a
	  duplicate/repeated table.
	  In order to cope with those, we first compare the other index table segment
	  properties (body/index SID, start position) before comparing the instance
	  ID. This will ensure that we don't consider them as duplicate, but can still
	  detect "real" duplicates (which would have the same other properties).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2407>

2022-05-03 16:23:09 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvabasedec.c:
	  va: basedec: Always select first available format.
	  If the stream chroma doesn't match with any video format in the source
	  caps template (generated from va config surface formats) instead of
	  return unknown, return the first available format in the template,
	  assuming that the driver would be capable to do color conversions.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2404>

2022-05-07 03:15:44 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth265decoder.c:
	  h265decoder: Improve robustness against malformed NAL packets
	  Use newly added gst_h265_parser_identify_and_split_nalu_hevc()
	  method to handle broken streams where packetized NAL unit
	  contain start code prefix in it.
	  It's obviously wrong stream but we know how to work around it
	  and even need to support such broken streams since
	  stateless decoder implementations are being a primary
	  decoder element.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2394>

2022-05-10 03:32:42 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecparsers/gsth265parser.c:
	* gst-libs/gst/codecparsers/gsth265parser.h:
	* tests/check/libs/h265parser.c:
	  h265parser: Add a new NAL parsing API to handle malformed packets
	  Add gst_h265_parser_identify_and_split_nalu_hevc() method to
	  handle a case where packetized stream contains start-code prefix.
	  This new method behaves similar to exisiting gst_h265_parser_identify_nalu_hevc()
	  but it will scan start-code prefix to split given data into
	  NAL units.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2394>

2022-03-30 17:19:54 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvaav1dec.c:
	* sys/va/gstvabasedec.c:
	* sys/va/gstvah264dec.c:
	* sys/va/gstvah265dec.c:
	* sys/va/gstvampeg2dec.c:
	* sys/va/gstvavp8dec.c:
	* sys/va/gstvavp9dec.c:
	  va: basedec: Select format from template or negotiated caps.
	  Instead of using a hard-coded list of preferred formats according the
	  chroma type, now if now caps are pre-negotiated, from template caps
	  will choose the first format with the same chroma type. If
	  pre-negotiated, then it will choose the first format, with same chroma
	  type, from the first caps structure.
	  Also all the decoders will check if GST_VIDEO_FORMAT_UNKNOWN is
	  returned, failing the negotiation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2351>

2022-05-06 17:53:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstvadisplay_drm.c:
	  libs: va: Add O_CLOEXEC flag at opening drm device.
	  So any other potential subprocess won't have access to it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2386>

2022-05-06 18:21:00 -0400  Olivier Crête <olivier.crete@ocrete.ca>

	* gst/pcapparse/gstpcapparse.c:
	  pcapparse: Set timestamp in DTS, not PTS
	  This matches the behaviour of basesrc, in particular, it matches the
	  behaviour of udpsrc, so it's easier to use to as a replacement to test
	  rtpjitterbuffer and other similar elements.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2388>

2022-01-16 15:51:32 +0300  Dmitry Osipenko <digetx@gmail.com>

	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/linux/v4l2-controls.h:
	  v4l2codecs: h264: Set frame type flags
	  V4L spec now requires decode_params flags to be set in accordance to the
	  frame's type. In particular this is required by H.264 decoder of NVIDIA
	  Tegra SoC to operate properly. Set the flags based on type of parsed
	  slices.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1757>

2022-05-06 10:50:59 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* tests/check/meson.build:
	  tests: Skip test if srtp element not built
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2383>

2022-05-06 01:46:36 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11memory.cpp:
	  d3d11memory: Protect against concurrent access from GPU and CPU to staging texture
	  Staging texture does not allow GPU access while it's CPU mapped.
	  But because we cannot block concurrent READ access by GstMemory design,
	  additional staging texture is still required.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1182
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2375>

2022-05-05 02:16:54 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11screencapture.cpp:
	* sys/d3d11/gstd3d11screencapture.h:
	* sys/d3d11/gstd3d11screencapturesrc.cpp:
	* tests/examples/d3d11/d3d11screencapturesrc.cpp:
	  d3d11screencapturesrc: Fix crash when d3d11 device is different from owned one
	  GstD3D11ScreenCapture object is pipeline-independent global object
	  and the object can be shared by multiple src elements,
	  in order to overcome a limitation of DXGI Desktop Duplication API.
	  Note that the API allows only single capture session in a process for
	  a monitor.
	  Therefore GstD3D11ScreenCapture object must be able to handle a case
	  where a src element holds different GstD3D11Device object. Which can
	  happen when GstD3D11Device context is not shared by pipelines.
	  What's changed:
	  * Allocates capture texture with D3D11_RESOURCE_MISC_SHARED for the
	  texture to be able to copied into other device's texture
	  * Holds additional shader objects per src element and use it when drawing
	  mouse
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1197
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2366>

2022-05-05 20:35:57 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mxf/mxfmux.c:
	  mxfmux: Disable aggregator's default negotiation
	  mxfmux can't negotiate caps with upstream/downstream and always outputs
	  specific caps based on the input streams. This will always happen before
	  it produces the first buffers.
	  By having the default aggregator negotiation enabled the same caps
	  would be pushed twice in the beginning, and again every time a
	  reconfigure event is received.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2372>

2022-05-05 20:35:49 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegtsmux: Disable aggregator's default negotiation
	  mpegtsmux can't negotiate caps with upstream/downstream and always outputs
	  specific caps based on the input streams. This will always happen before
	  it produces the first buffers.
	  By having the default aggregator negotiation enabled the same caps
	  would be pushed twice in the beginning, and again every time a
	  reconfigure event is received.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2372>

2022-05-05 00:24:26 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth264decoder.c:
	  h264decoder: Fix for unhandled low-delay decoding case
	  Baseclass calls get_preferred_output_delay() in a chain of
	  sequence header parsing and then new_sequence() is called
	  with required DPB size (includes render-delay) information.
	  Thus latency query should happen before the sequence header
	  parsing for subclass to report required render-delay accordingly
	  via get_preferred_output_delay() method.
	  (e.g., zero delay in case of live pipeline)
	  This commit is to fix wrong liveness signalling in case of
	  upstream packetized format.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2363>

2022-05-05 00:49:27 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth265decoder.c:
	  h265decoder: Fix for unhandled low-delay decoding case
	  Baseclass calls get_preferred_output_delay() in a chain of
	  sequence header parsing and then new_sequence() is called
	  with required DPB size (includes render-delay) information.
	  Thus latency query should happen before the sequence header
	  parsing for subclass to report required render-delay accordingly
	  via get_preferred_output_delay() method.
	  (e.g., zero delay in case of live pipeline)
	  This commit is to fix wrong liveness signalling in case of
	  upstream packetized format.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2364>

2022-05-04 23:36:30 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvh264dec.c:
	* sys/nvcodec/gstnvh265dec.c:
	  nvh264dec,nvh265dec: Don't realloc bitstream buffer per slice
	  Allocated memory size has not been updated which results in
	  realloc per slice. Fixing it and also release bitstream buffer
	  on ::close(), not finalize.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2361>

2022-04-29 20:28:53 +0200  Jakub Adam <jakub.adam@collabora.com>

	* sys/d3d11/gstd3d11screencapture.cpp:
	  d3d11screencapture: Set viewport when drawing mouse cursor
	  If there weren't any moved/dirty regions in the captured frame, the
	  viewport of the ID3D11DeviceContext would be left at whatever previous
	  value it had, which could lead to the cursor being drawn in a wrong
	  position and/or in an incorrect size.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2362>

2022-05-02 22:59:59 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvav1dec.c:
	* sys/nvcodec/gstnvav1dec.h:
	* sys/nvcodec/gstnvdecoder.c:
	* sys/nvcodec/gstnvdecoder.h:
	* sys/nvcodec/gstnvh264dec.c:
	* sys/nvcodec/gstnvh265dec.c:
	* sys/nvcodec/gstnvvp8dec.c:
	* sys/nvcodec/gstnvvp9dec.c:
	* sys/nvcodec/meson.build:
	* sys/nvcodec/plugin.c:
	  nvcodec: Add AV1 decoder
	  Adding GstCodecs based AV1 decoder element
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1453>

2022-05-03 23:56:12 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gstav1decoder.c:
	* gst-libs/gst/codecs/gstav1decoder.h:
	  av1decoder: Add support for render delay
	  Sync up with other decoder baseclass implementations
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1453>

2022-04-28 03:14:54 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gstav1decoder.c:
	* gst-libs/gst/codecs/gstav1picture.h:
	  av1decoder: Hold OBU temporal and spatial id in picture struct
	  NVDEC API requires the information
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1453>

2022-05-04 01:03:37 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/meson.build:
	  meson: nvcodec: Remove unnecessary override option and fix build with non-MSVC
	  cpp_std=c++11 was hack for macOS build but we don't build this plugin
	  for Apple device anymore. And add "-Wno-deprecated-declarations"
	  compile option for gcc/clang
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1453>

2021-12-17 17:22:22 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/cuviddec.h:
	* sys/nvcodec/nvEncodeAPI.h:
	* sys/nvcodec/nvcuvid.h:
	  nvcodec: Bump SDK header version to 11.1
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1453>

2022-05-02 22:46:06 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvdecoder.c:
	* sys/nvcodec/gstnvh264dec.c:
	* sys/nvcodec/gstnvh265dec.c:
	* sys/nvcodec/gstnvvp8dec.c:
	* sys/nvcodec/gstnvvp9dec.c:
	  nvdecoder: Handle DPB size margin in a single place
	  ... instead of each subclass
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2343>

2022-05-02 22:41:53 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11av1dec.cpp:
	* sys/d3d11/gstd3d11decoder.cpp:
	* sys/d3d11/gstd3d11h264dec.cpp:
	* sys/d3d11/gstd3d11h265dec.cpp:
	* sys/d3d11/gstd3d11mpeg2dec.cpp:
	* sys/d3d11/gstd3d11vp8dec.cpp:
	* sys/d3d11/gstd3d11vp9dec.cpp:
	  d3d11decoder: Handle DPB size margin in a single place
	  ... instead of each subclass
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2343>

2022-04-28 04:25:05 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gstav1decoder.c:
	* gst-libs/gst/codecs/gstav1decoder.h:
	* gst-libs/gst/codecs/gstmpeg2decoder.c:
	* gst-libs/gst/codecs/gstmpeg2decoder.h:
	* gst-libs/gst/codecs/gstvp8decoder.c:
	* gst-libs/gst/codecs/gstvp8decoder.h:
	* gst-libs/gst/codecs/gstvp9decoder.c:
	* gst-libs/gst/codecs/gstvp9decoder.h:
	* sys/d3d11/gstd3d11av1dec.cpp:
	* sys/d3d11/gstd3d11mpeg2dec.cpp:
	* sys/d3d11/gstd3d11vp8dec.cpp:
	* sys/d3d11/gstd3d11vp9dec.cpp:
	* sys/nvcodec/gstnvvp8dec.c:
	* sys/nvcodec/gstnvvp9dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	* sys/va/gstvaav1dec.c:
	* sys/va/gstvampeg2dec.c:
	* sys/va/gstvavp8dec.c:
	* sys/va/gstvavp9dec.c:
	  codecs: Signal required DPB size for AV1,MPEG2,VP8, and VP9 via new_sequence()
	  Make all codecs consistent so that subclass can know additional DPB
	  size requirement depending on render-delay configuration regardless
	  of codec. Note that render-delay feature is not implemented for AV1
	  yet but it's planned.
	  Also, consider new_sequence() is mandatory requirement, not optional
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2343>

2022-04-12 12:17:09 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2format.c:
	  v4l2codecs: Port to the new tile size helper
	  This will complete the scaling of width/height shift scaling
	  as only a partial implementation was made.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190>

2022-05-02 11:46:59 -0400  Thibault Saunier <tsaunier@igalia.com>

	* gst-libs/gst/cuda/meson.build:
	  cuda: Fix introspection warnings
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1183
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2344>

2022-05-02 21:57:07 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudautils.c:
	  Revert "cuda: Fix GstCudaContext refcount bug"
	  This reverts commit df7ee0e21518ab5586e4094f2089048f3767d5f5.
	  We should not unref it since gst_message_new_have_context()
	  takes ownership of the GstContext.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2342>

2022-05-02 09:15:57 +0200  Edward Hervey <edward@centricular.com>

	* gst/mpegtsdemux/mpegtspacketizer.c:
	  tsdemux: Demote warning to simple debug
	  That issue is actually handled, so don't pollute the logs with such warning.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2340>

2022-04-29 19:08:46 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/interlace/gstinterlace.c:
	  interlace: Also handle a missing "interlace-mode" field as progressive
	  Otherwise caps negotiation will fail in situations that are supposed
	  to work, like:
	  "video/x-raw,framerate=(fraction)60/1" ! interlace field-pattern=0 ! "video/x-raw,framerate=(fraction)30/1"
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2335>

2022-04-29 19:08:32 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/interlace/gstinterlace.c:
	  interlace: Add some more debug output to the getcaps function
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2335>

2022-04-29 16:56:54 +0100  Myles Inglis <myles.inglis@vcatechnology.com>

	* gst-libs/gst/cuda/gstcudautils.c:
	  cuda: Fix GstCudaContext refcount bug
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2334>

2022-04-28 17:08:11 +0200  Ludvig Rappe <ludvigr@axis.com>

	* ext/webrtc/icestream.c:
	  webrtc: Fix memory leak in icestream
	  Since both g_value_set_object() and g_weak_ref_get() takes a reference
	  there will be two new references to the GstWebRTCICE object when there
	  should be only one. g_value_take_object() has the same functionality as
	  g_value_set_object() but does not take a reference.
	  Without this change, the GstWebRTCICE object will be leaked.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2333>

2022-04-27 22:50:37 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudautils.c:
	  cuda: Correct CUDA device id field in GstContext structure
	  device id is unsigned int, not signed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2311>

2022-04-28 13:23:39 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/codecs/gsth265decoder.h:
	  codecs: h265decoder: Fix documentation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2328>

2022-04-27 15:24:50 +0200  Edward Hervey <edward@centricular.com>

	* gst/mpegtsdemux/mpegtsbase.c:
	  mpegts: Handle "empty" PMT gracefully
	  Some streams have 2 PMT sections in a single TS packet. The first one is "valid"
	  but doesn't contain/define any streams. That causes an unrecoverable issue when
	  we try to activate the 2nd (valid) PMT.
	  Instead of doing that, pre-emptively refuse to process PMT without any streams
	  present within. We still do post that section on the bus to inform applications.
	  Fixes #1181
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2310>

2022-04-26 09:11:07 +0200  Stéphane Cerveau <scerveau@collabora.com>

	* tests/check/elements/srtp.c:
	  srtp: fix flaky unit test
	  Use different port for each test to avoid other UDP
	  packet to be received.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2294>

2022-04-28 00:48:35 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/plugin.cpp:
	  d3d11h265dec: Assign PRIMARY + 1 rank
	  Promote d3d11h265dec to be default one if available
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2314>

2022-04-28 00:31:49 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvvp9dec.c:
	  nvvp9sldec: Increase DPB size to cover render delay
	  This should've included in the previous MR
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/987
	  already, but missed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2313>

2022-03-07 15:44:04 +0000  Thibault Saunier <tsaunier@igalia.com>

	* ext/qroverlay/gstqroverlay.c:
	  qroverlay: Reset data_changed after we use the info
	  It was never reset so it was always TRUE once the data was changed!
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2299>

2022-03-04 22:00:18 +0000  Thibault Saunier <tsaunier@igalia.com>

	* ext/qroverlay/gstqroverlay.c:
	  qroverlay: Add a GstQROverlay meta
	  See documentation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2299>

2022-04-27 00:27:06 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* gst/onvif/gstrtponviftimestamp.c:
	  rtponviftimestamp: add extension data to all packets ..
	  regardless of whether they are input as individual buffers or
	  buffer lists.
	  The ONVIF specification requires all packets to hold the extension,
	  it makes no sense to behave differently when handling buffer lists.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2303>

2022-03-08 21:26:16 +0000  Thibault Saunier <tsaunier@igalia.com>

	* sys/nvcodec/gstcudaconvert.c:
	  cudaconvert: Enhance debugging when setting video info fails
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2300>

2022-04-26 22:35:30 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gsth265bitwriter.c:
	  codecparsers: bitwriter: Calculate PicSizeInCtbsY when writing slice header.
	  The slice->pps->PicWidthInCtbsY/PicHeightInCtbsY values are calculated when
	  we parse the slice header. But they are not calculated in bitwriter and so
	  may not have valid value when writing slice header.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2287>

2022-04-24 17:26:03 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gsth265bitwriter.c:
	  codecparsers: bitwriter: Fix some coverity issues of H265 bitwriter.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2287>

2022-04-24 00:02:18 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabasedec.c:
	  va: dec: Use gst_buffer_pool_config_set_va_alignment() to set alignment.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2282>

2022-04-23 23:59:08 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/va/gstvapool.h:
	  va: pool: Replace all tabs with spaces in header file.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2282>

2022-04-23 23:52:34 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/va/gstvapool.c:
	  va: pool: Delete the GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT.
	  The va pool is used for GPU side surface/image, its alignment should
	  not be changed arbitrarily by others. So we decide not to expose the
	  GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT flag anymore.
	  Instead, user can call gst_buffer_pool_config_set_va_alignment() to
	  set its surface/image alignment.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2282>

2022-04-23 23:40:14 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/va/gstvapool.c:
	* gst-libs/gst/va/gstvapool.h:
	  va: pool: Add set_va_alignment() API.
	  We want to use gst_buffer_pool_config_set_va_alignment() to replace
	  gst_buffer_pool_config_get_video_alignment(). The later one is specific
	  for GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT option.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2282>

2022-04-26 01:16:06 +0800  He Junyan <junyan.he@intel.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: Fix a latent memory leak in colorimetry setting.
	  Also delete the useless "have_cinfo" judgement.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2288>

2022-04-24 22:54:58 +0800  He Junyan <junyan.he@intel.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: Correct the meaning of color_range flag.
	  According to spec:
	  color range equal to 0 shall be referred to as the studio swing
	  representation and color range equal to 1 shall be referred to as
	  the full swing representation.
	  The current status is just the opposite.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2288>

2022-04-25 22:59:14 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvencoder.cpp:
	  qsvencoder: Workaround for invalid DTS with VP9
	  SDK runtime seems to report zero DTS for all frames in case of VP9 but
	  we don't need to use DTS for the codec.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2291>

2022-04-24 00:37:40 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/meson.build:
	* sys/nvcodec/meson.build:
	  nvcodec: Stop building for non-{Windows,Linux} target
	  The other platforms, specifically macOS have not been supported already
	  because this plugin loads so or dll. Moreover, NVIDIA dropped
	  support for macOS as of CUDA 11.0. See also
	  https://developer.nvidia.com/nvidia-cuda-toolkit-11_0_0-developer-tools-mac-hosts
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2283>

2022-03-28 17:06:46 +0200  Stéphane Cerveau <scerveau@collabora.com>

	* tests/check/elements/srtp.c:
	* tests/check/meson.build:
	  srtp: add unit tests
	  Enable unit tests in meson.build
	  Add test_play_key_error to check the stats
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2027>

2022-03-25 17:47:23 +0100  Stéphane Cerveau <scerveau@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/srtp/gstsrtpdec.c:
	* ext/srtp/gstsrtpdec.h:
	  srtpdec: add counts in stats
	  In order to count the buffers which have been received and dropped for
	  decryption reason, add a stats to track it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2027>

2022-04-23 04:00:21 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11window_win32.cpp:
	  d3d11videosink: Fix for unhandled mouse double click events
	  Only window created with CS_DBLCLKS style can receive those mouse
	  double click events, so we need to use the style for internal/external
	  windows can get double click events.
	  Also, passthrough mouse events to parent window in the same message pumping
	  threads instead of manually forwarding each mouse event.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1172
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2277>

2022-03-07 08:46:57 -0500  Xavier Claessens <xavier.claessens@collabora.com>

	* gst-libs/gst/vulkan/meson.build:
	* sys/msdk/meson.build:
	  Meson: Fix deprecation warnings
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1876>

2022-04-22 17:44:06 +0200  Stéphane Cerveau <scerveau@collabora.com>

	* ext/rsvg/gstrsvgdec.h:
	  rvsg: fix cairo include
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2276>

2022-04-22 12:29:29 +0200  Corentin Damman <c.damman@intopix.com>

	* sys/nvcodec/cuda-converter.c:
	  cuda-converter: fix nvrtc compilation on non-English locale systems
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2268>

2022-04-21 00:38:37 +0900  Sangchul Lee <sc11.lee@samsung.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: Avoid access of freed memory
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2256>

2022-04-15 22:19:09 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  va: h264enc: Do not let L0 number surplus the HW limitation.
	  The algorithm to calculate the L0/L1 number may let the L0 number
	  surplus the HW limitation. We should ensure that limitation after
	  that calculation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2202>

2022-03-02 14:42:42 +0800  He Junyan <junyan.he@intel.com>

	* tests/check/libs/h265bitwriter.c:
	* tests/check/meson.build:
	  test: Add test cases for the H265 bitwriter.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1831>

2022-03-02 14:31:05 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gsth265bitwriter.c:
	* gst-libs/gst/codecparsers/gsth265bitwriter.h:
	* gst-libs/gst/codecparsers/meson.build:
	  codecparsers: bitwriter: Add the common bit writer functions for H265.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1831>

2022-04-20 13:18:34 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvavpp.c:
	  va: vpp: Update the colorimetry and HDR fields when fixup src caps.
	  When we fixup src caps, the current way of handling the HDR fields is not
	  correct.
	  1. We trim the HDR fields only when the input caps is not a subset of the
	  fixup src caps. But in fact, the input caps with HDR fields such as the
	  "mastering-display-info" can possibly be the subset of the fixup src caps,
	  if they have all same other fields.
	  2. We always copy the colorimetry from input caps to src caps if it is
	  absent. But when hdr-tone-mapping is enabled, the HDR->SDR conversion makes
	  the colorimetry change. We should use downstream's setting, or just use the
	  default colorimetry of SDR.
	  We changes to:
	  1. If hdr-tone-mapping is enabled, we trim all HDR fields and add a correct
	  colorimetry.
	  2. Copy colorimetry from input if it is still absent.
	  3. Consider the subset replacement.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2244>

2022-04-20 23:06:56 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvdecoder.h:
	* sys/qsv/gstqsvh264dec.cpp:
	* sys/qsv/gstqsvh264enc.cpp:
	* sys/qsv/gstqsvh265dec.cpp:
	* sys/qsv/gstqsvh265enc.cpp:
	* sys/qsv/gstqsvjpegenc.cpp:
	* sys/qsv/gstqsvvp9enc.cpp:
	  qsv: Add GPU description to element long-name on Windows
	  Would be useful for a multi-Intel-GPU system
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2249>

2022-04-19 21:38:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvavpp.c:
	  vapostproc: Notify if hdr-tone-mapping property changes.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2247>

2022-03-30 18:09:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/vasurfaceimage.c:
	* gst-libs/gst/va/vasurfaceimage.h:
	* sys/va/gstvafilter.c:
	* sys/va/gstvah264enc.c:
	  va: Expose a couple va surface/buffer methods.
	  And use them in va plugin.
	  Also, set as default logging category the vadisplay one.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2077>

2022-04-20 08:09:58 +0900  Wonchul Lee <wonchul.dev@gmail.com>

	* ext/dash/gstdashsink.c:
	  dashsink: Unlock when failed to get content
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2242>

2022-04-18 17:50:22 +0900  Camilo Celis Guzman <camilo@pexip.com>

	* gst/videoparsers/gstav1parse.c:
	  gstav1parse: fixup various possible logical errors
	  Found via an analyzed build for Clang. Specifically we had:
	  gstav1parse.c[1850,11] in gst_av1_parse_detect_stream_format: Logic error: The left operand of '==' is a garbage value
	  gstav1parse.c[1606,11] in gst_av1_parse_handle_to_small_and_equal_align: Logic error: The left operand of '==' is a garbage value
	  Also a couple of false-positives:
	  gstav1parse.c[1398,24] in gst_av1_parse_handle_one_obu: Logic error: Branch condition evaluates to a garbage value
	  gstav1parse.c[1440,37] in gst_av1_parse_handle_one_obu: Logic error: The left operand of '-' is a garbage value
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2230>

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-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/curl/gstcurlelement.c:
	* ext/curl/gstcurlhttpsrc.c:
	* ext/dash/gstdashdemux.c:
	* ext/ladspa/gstladspa.c:
	* ext/openal/gstopenal.c:
	* ext/openal/gstopenalelement.c:
	* ext/opencv/gsttemplatematch.cpp:
	* ext/resindvd/resindvdbin.c:
	* ext/resindvd/resindvdsrc.c:
	* ext/rtmp/gstrtmpsrc.c:
	* ext/smoothstreaming/gstmssdemux.c:
	* ext/smoothstreaming/gstsmoothstreaming-plugin.c:
	* ext/sndfile/gstsf.c:
	* ext/sndfile/gstsfdec.c:
	* ext/sndfile/gstsfelement.c:
	* ext/sndfile/gstsfsink.c:
	* ext/sndfile/gstsfsrc.c:
	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
	* gst/aiff/aiffparse.c:
	* gst/aiff/gstaiffelement.c:
	* gst/asfmux/gstasfmux.c:
	* gst/asfmux/gstasfparse.c:
	* gst/camerabin2/camerabingeneral.c:
	* gst/camerabin2/gstcamerabin2.c:
	* gst/camerabin2/gstdigitalzoom.c:
	* gst/camerabin2/gstviewfinderbin.c:
	* gst/camerabin2/gstwrappercamerabinsrc.c:
	* gst/dvdspu/gstdvdspu.c:
	* gst/midi/midi.c:
	* gst/mpegtsdemux/mpegtsbase.c:
	* gst/transcode/gsttranscodebin.c:
	* gst/transcode/gsttranscodeelement.c:
	* sys/dvb/gstdvb.c:
	* sys/dvb/gstdvbelement.c:
	* sys/dvb/gstdvbsrc.c:
	* sys/dvb/parsechannels.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-04-13 15:23:56 -0400  Thibault Saunier <tsaunier@igalia.com>

	* gst-libs/gst/cuda/gstcudautils.c:
	* gst-libs/gst/cuda/gstcudautils.h:
	* sys/nvcodec/gstcudamemorycopy.c:
	  cuda: Fix typo in gst_cuda_buffery_copy_type_to_string
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1472>

2021-12-12 13:19:52 +0000  Thibault Saunier <tsaunier@igalia.com>

	* gst-libs/gst/cuda/gstcudacontext.c:
	* gst-libs/gst/cuda/gstcudacontext.h:
	* gst-libs/gst/cuda/gstcudautils.h:
	  cuda: Add a `gst_cuda_context_new_wrapped` constructor
	  So that application or people implementing cuda element from
	  outside GStreamer itself can ensure that their contexts are used
	  by GStreamer.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1472>

2021-12-08 11:48:08 +0000  Thibault Saunier <tsaunier@igalia.com>

	* docs/libs/cuda/index.md:
	* docs/libs/cuda/sitemap.txt:
	* docs/meson.build:
	* gst-libs/gst/cuda/cuda-gst.h:
	* gst-libs/gst/cuda/cuda-prelude.h:
	* gst-libs/gst/cuda/gstcudabufferpool.c:
	* gst-libs/gst/cuda/gstcudabufferpool.h:
	* gst-libs/gst/cuda/gstcudacontext.c:
	* gst-libs/gst/cuda/gstcudacontext.h:
	* gst-libs/gst/cuda/gstcudaloader.c:
	* gst-libs/gst/cuda/gstcudaloader.h:
	* gst-libs/gst/cuda/gstcudamemory.c:
	* gst-libs/gst/cuda/gstcudamemory.h:
	* gst-libs/gst/cuda/gstcudanvrtc.c:
	* gst-libs/gst/cuda/gstcudanvrtc.h:
	* gst-libs/gst/cuda/gstcudautils.c:
	* gst-libs/gst/cuda/gstcudautils.h:
	* gst-libs/gst/cuda/gstnvrtcloader.c:
	* gst-libs/gst/cuda/gstnvrtcloader.h:
	* gst-libs/gst/cuda/meson.build:
	* gst-libs/gst/cuda/stub/cuda.h:
	* gst-libs/gst/cuda/stub/cudaGL.h:
	* gst-libs/gst/cuda/stub/nvrtc.h:
	* gst-libs/gst/meson.build:
	* sys/nvcodec/cuda-converter.c:
	* sys/nvcodec/cuda-converter.h:
	* sys/nvcodec/gstcudabasefilter.c:
	* sys/nvcodec/gstcudabasetransform.c:
	* sys/nvcodec/gstcudabasetransform.h:
	* sys/nvcodec/gstcudaconvert.c:
	* sys/nvcodec/gstcudafilter.c:
	* sys/nvcodec/gstcudamemorycopy.c:
	* sys/nvcodec/gstcudascale.c:
	* sys/nvcodec/gstcuvidloader.h:
	* sys/nvcodec/gstnvbaseenc.c:
	* sys/nvcodec/gstnvbaseenc.h:
	* sys/nvcodec/gstnvdec.c:
	* sys/nvcodec/gstnvdec.h:
	* sys/nvcodec/gstnvdecoder.c:
	* sys/nvcodec/gstnvdecoder.h:
	* sys/nvcodec/gstnvenc.c:
	* sys/nvcodec/gstnvenc.h:
	* sys/nvcodec/gstnvencoder.cpp:
	* sys/nvcodec/gstnvencoder.h:
	* sys/nvcodec/gstnvh264dec.c:
	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh264encoder.h:
	* sys/nvcodec/gstnvh265dec.c:
	* sys/nvcodec/gstnvh265encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.h:
	* sys/nvcodec/gstnvvp8dec.c:
	* sys/nvcodec/gstnvvp9dec.c:
	* sys/nvcodec/meson.build:
	* sys/nvcodec/plugin.c:
	  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>

2021-12-03 13:12:42 +0000  Thibault Saunier <tsaunier@igalia.com>

	* sys/nvcodec/gstnvbaseenc.c:
	* sys/nvcodec/gstnvenc.c:
	  nvenc: Give more details about errors
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1472>

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>

2022-04-19 04:37:05 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3dvideosink/d3dvideosink.c:
	  d3dvideosink: Remove outdated comment
	  d3dvideosink is not a primary video sink element
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2223>

2022-04-18 00:25:18 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth264decoder.c:
	* gst-libs/gst/codecs/gsth265decoder.c:
	  h264decoder,h265decoder: Do not hold codec_data buffer
	  ... also do not need to extract it from caps.
	  Decoder uses codec_data only once per set_format() and
	  baseclass will extract codec_data buffer already.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2212>

2022-04-17 23:55:55 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11decoder.cpp:
	  d3d11decoder: Do not preallocate texture using downstream d3d11 buffer pool
	  Our decoder implementation does not use downstream d3d11 pool for
	  decoding because of special requirement of D3D11/DXVA. So preallocation
	  using the downstream buffer pool will waste GPU memory in most cases.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2211>

2022-04-14 13:22:03 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst/videoparsers/gsth264parse.c:
	  h264parse: Include coded-picture-structure info in caps
	  This reverts commit 652773de366a98e155332bf8ffb83ee5e6bea9e5 and
	  modifies it to rename the caps field name to coded-picture-structure.
	  It was previously removed because it confuses the decoder and we didn't
	  have a valid use case for including it in the encoded caps at this
	  stage. We now do have such a use case but still don't want to confuse
	  the decoder, so the field is renamed.
	  However, it is still not accurate without looking at the SEI picture
	  structure of each frame, so it was named coded-picture-structure. If its
	  value is "frame" it is most likely progressive, if it's "field" it is
	  most likely interlaced or mixed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2177>

2022-04-18 12:44:19 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  va: h264enc: Fix the forgotten unlock() when getting device path property.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2215>

2022-04-17 22:25:14 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvdecoder.cpp:
	  qsvdecoder: Use system memory for non-d3d11 downstream
	  QSV's memory download implementation seems to be more faster
	  than our implementation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2206>

2022-04-17 02:14:50 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvdecoder.cpp:
	* sys/qsv/gstqsvh265dec.cpp:
	* sys/qsv/gstqsvh265dec.h:
	* sys/qsv/meson.build:
	* sys/qsv/plugin.cpp:
	  qsv: Add H.265 decoder
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2206>

2022-04-17 02:18:37 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvh264dec.cpp:
	* sys/qsv/gstqsvutils.cpp:
	* sys/qsv/plugin.cpp:
	  qsv: Include single gstva.h
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2206>

2022-04-17 02:04:08 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvh264dec.cpp:
	  qsvh264dec: Don't register element if it's not supported by device
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2206>

2022-04-17 01:27:10 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvdecoder.cpp:
	* sys/qsv/gstqsvdecoder.h:
	* sys/qsv/gstqsvh264dec.cpp:
	  qsvh264dec: Add support for packetized format
	  Handle avc/avc3 packetized formats
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2206>

2022-04-17 00:00:55 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvdecoder.cpp:
	* sys/qsv/gstqsvencoder.cpp:
	* sys/qsv/gstqsvh264dec.cpp:
	* sys/qsv/gstqsvh264enc.cpp:
	* sys/qsv/gstqsvh265enc.cpp:
	* sys/qsv/gstqsvjpegenc.cpp:
	* sys/qsv/gstqsvvp9enc.cpp:
	* sys/qsv/plugin.cpp:
	  qsv: Move debug init into each source file
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2206>

2022-04-16 23:51:05 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvdecoder.cpp:
	  qsvdecoder: Reset next_task_index per init_session()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2206>

2022-04-16 21:27:57 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11decoder.cpp:
	  d3d11decoder: Copy HDR10 related caps field manually
	  If negotiate() is called from the set_format() chain, sinkpad may not
	  hold caps yet, so baseclass cannot copy it over to srcpad caps.
	  Copy them manually.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2203>

2022-04-16 22:27:13 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvh264enc.cpp:
	* sys/qsv/gstqsvh265enc.cpp:
	  qsvencoder: Rename property name i-frames to idr-interval
	  ... and clarify the meaning of the value for each h264 and h265
	  encoder since the usage of mfxInfoMFX::IdrInterval is different
	  per codec.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2204>

2022-04-16 21:26:55 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvh265enc.cpp:
	  qsvh265enc: Write HDR10 metadata SEI
	  If device supports HDR10 metadata API, write the information
	  into bitstream per IDR.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2204>

2022-04-13 06:19:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* docs/plugins/gst_plugins_cache.json:
	  gst_plugins_cache.json: Update va plugins.
	  * Update conditionally-available attribute in vah264enc properties.
	  * Update GstVaFeature usage.
	  * Update GstVaEncoderRatecontrol usage.
	  * Update vapostproc classification.
	  * Add `add-borders` property in vapostproc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2169>

2022-04-13 05:58:46 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: Use GstVaFeature enum for enabling MBBRC.
	  GstVaFeature is a common enumeration for auto/disabled/enabled kind of
	  property setting.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2169>

2022-04-13 05:56:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvaencoder.c:
	* sys/va/gstvaencoder.h:
	* sys/va/gstvah264enc.c:
	  vah264enc: Move rate-control enum to encoder class helper.
	  Since it's a common enumeration used, as user setting property, for
	  most of codecs.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2169>

2022-04-13 05:52:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: Add device-path property.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2169>

2022-04-15 13:19:36 +0000  Corentin Damman <c.damman@intopix.com>

	* sys/nvcodec/gstcudautils.c:
	  cudautils: fix critical typo in gst_cuda_buffer_fallback_copy
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2194>

2022-04-14 20:10:46 +1000  Brad Hards <bradh@frogmouth.net>

	* po/POTFILES.skip:
	* tests/interactive/meson.build:
	* tests/interactive/pitch-test.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-14 08:23:51 +0200  Edward Hervey <edward@centricular.com>

	* gst/mpegtsdemux/gstmpegdefs.h:
	* gst/mpegtsdemux/tsdemux.c:
	  tsdemux: Fix AC-4 detection
	  This regression was introduced by
	  https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1102
	  and has been present since 1.18
	  * Stream Type 0x06 is defined in the base mpeg-ts specification as Private PES
	  Packets. Determining the content should be solely based on descriptors found
	  within the PMT.
	  * This was abused in that commit by defining a "bluray-only" stream type for AC4
	  : `ST_BD_AUDIO_AC4`
	  * This should be entirely handled in the regular private pes handling further
	  down in the code
	  Fixes #1154
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2175>

2022-04-10 17:28:03 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  va: h264enc: Correct the hierarchical level name for pyramid-b frames.
	  The current way names the level by the number of B frames it contains, the
	  less it contains, the higher level it is. So the non ref B frames are in the
	  lowest layer and the B frames in the highest level refer to I/P frames.
	  But the widely used way is just the opposite, the ref B frames are in the
	  lower level and non ref B frames are at the highest level.
	  The is just a terminology change, and does not have any effect for compression
	  result and quality.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2149>

2022-04-12 10:34:27 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gstav1parser.c:
	  codecs: av1parser: Fix a typo in seq_level_idx check.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2157>

2022-04-13 01:46:34 +0900  Seungha Yang <seungha@centricular.com>

	* sys/amfcodec/gstamfh265enc.cpp:
	  amfh265enc: Handle preset option
	  Add missing preset option handling
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2165>

2022-04-13 01:39:43 +0900  Seungha Yang <seungha@centricular.com>

	* sys/amfcodec/gstamfencoder.cpp:
	  amfencoder: Do shared resource copy only if texture belongs to other device
	  Staging texture from the same d3d11device can be copied without
	  shared resource handling
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2165>

2022-04-12 01:01:23 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11decoder.cpp:
	* sys/d3d11/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-11 16:03:41 -0500  Olivier Crête <olivier.crete@collabora.com>

	* ext/wpe/gstwpevideosrc.cpp:
	  wpevideosrc: Give WebKit the keyboard, touch and pointer modifiers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2156>

2022-04-11 15:56:19 -0500  Olivier Crête <olivier.crete@collabora.com>

	* ext/wpe/gstwpevideosrc.cpp:
	  wpesrc: Convert from utf32 to support other keys
	  This makes all of the non-letter keys work.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2156>

2022-04-11 15:54:05 -0500  Olivier Crête <olivier.crete@collabora.com>

	* ext/wpe/gstwpevideosrc.cpp:
	  wpesrc: Initialize key event to 0
	  Otherwise, WebKit sees random modifiers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2156>

2022-04-12 11:20:00 +0200  Andoni Morales Alastruey <amorales@fluendo.com>

	* sys/amfcodec/gstamfh264enc.cpp:
	  amfcodec: fix setting quality presets
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2159>

2022-04-11 10:32:40 +0200  Edward Hervey <edward@centricular.com>

	* gst/mxf/mxfdemux.c:
	  mxfdemux: Fix issue with re-syncing
	  In case of re-syncing (i.e. moving to another partition to avoid too much of an
	  interleave), there was previously no checks to figure out whether a given
	  partition was already fully handled (i.e. when coming across it again after a
	  previous resync).
	  In order to handle this at least for single-track partitions, check whether we
	  have reached the essence track duration, and if so skip the partition.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2150>

2022-04-11 10:31:15 +0200  Edward Hervey <edward@centricular.com>

	* gst/mxf/mxfdemux.c:
	  mxfdemux: Don't double-increase track position
	  The essence track position should only be overriden if we sucesfully switched to
	  another position. In case of EOS we do not want to override it else we would
	  increase the track position *again* at the end of this function
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2150>

2022-04-12 01:49:17 +0900  Seungha Yang <seungha@centricular.com>

	* sys/amfcodec/gstamfencoder.cpp:
	* sys/amfcodec/gstamfh264enc.cpp:
	* sys/amfcodec/gstamfh265enc.cpp:
	* sys/amfcodec/meson.build:
	  amfcodec: Fix for MinGW build
	  timeapi.h header might not be missing depending on toolchain.
	  Also do hard meson error if winmm dep is not available but
	  amfcodec is explicitly enabled.
	  And fixing various GCC build warning errors.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2155>

2022-04-09 23:32:19 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvallocator.cpp:
	* sys/qsv/gstqsvallocator_d3d11.cpp:
	* sys/qsv/gstqsvencoder.cpp:
	* sys/qsv/gstqsvjpegenc.cpp:
	* sys/qsv/gstqsvjpegenc.h:
	* sys/qsv/meson.build:
	* sys/qsv/plugin.cpp:
	  qsv: Add JPEG encoder
	  Note that YUY2 is not supported yet, since the format support is not
	  implemented now.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2142>

2022-04-10 02:34:17 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/amfcodec/gstamfencoder.cpp:
	* sys/amfcodec/gstamfh264enc.cpp:
	* sys/amfcodec/gstamfh265enc.cpp:
	* sys/amfcodec/plugin.cpp:
	  amfcodec: Update plugin cache
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2143>

2022-04-09 00:52:07 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvencoder.cpp:
	* sys/nvcodec/gstnvencoder.h:
	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	* tests/examples/nvcodec/nvcodec.c:
	  nvencoder: Update property names and default values
	  Update properties of newly written D3D11/CUDA mode encoders
	  to be consistent with Intel QSV plugin. And rename "zerolatency"
	  to "zero-reorder-delay" because previous "zerolatency" may
	  misleading
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2140>

2022-04-09 00:00:59 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvh264enc.cpp:
	* sys/qsv/gstqsvh265enc.cpp:
	* sys/qsv/gstqsvvp9enc.cpp:
	* tests/examples/qsv/qsvenc-dynamic-reconfigure.c:
	  qsvencoder: Update property names and default values
	  Stop using MSDK plugins property naming, instead use unified names
	  and default values to be consistent with newly written NVIDIA encoders.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2140>

2022-03-31 04:16:24 +0900  Seungha Yang <seungha@centricular.com>

	* meson_options.txt:
	* sys/amfcodec/gstamfencoder.cpp:
	* sys/amfcodec/gstamfencoder.h:
	* sys/amfcodec/gstamfh264enc.cpp:
	* sys/amfcodec/gstamfh264enc.h:
	* sys/amfcodec/gstamfh265enc.cpp:
	* sys/amfcodec/gstamfh265enc.h:
	* sys/amfcodec/gstamfutils.cpp:
	* sys/amfcodec/gstamfutils.h:
	* sys/amfcodec/meson.build:
	* sys/amfcodec/plugin.cpp:
	* sys/meson.build:
	  amfcodec: Add support for h264/h265 encoding
	  New encoder implementations for AMD GPU using AMF API
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2109>

2022-03-31 01:36:37 +0900  Seungha Yang <seungha@centricular.com>

	* sys/amfcodec/include/components/ColorSpace.h:
	* sys/amfcodec/include/components/Component.h:
	* sys/amfcodec/include/components/ComponentCaps.h:
	* sys/amfcodec/include/components/PreAnalysis.h:
	* sys/amfcodec/include/components/VideoDecoderUVD.h:
	* sys/amfcodec/include/components/VideoEncoderHEVC.h:
	* sys/amfcodec/include/components/VideoEncoderVCE.h:
	* sys/amfcodec/include/core/AudioBuffer.h:
	* sys/amfcodec/include/core/Buffer.h:
	* sys/amfcodec/include/core/Compute.h:
	* sys/amfcodec/include/core/ComputeFactory.h:
	* sys/amfcodec/include/core/Context.h:
	* sys/amfcodec/include/core/CurrentTime.h:
	* sys/amfcodec/include/core/D3D12AMF.h:
	* sys/amfcodec/include/core/Data.h:
	* sys/amfcodec/include/core/Debug.h:
	* sys/amfcodec/include/core/Dump.h:
	* sys/amfcodec/include/core/Factory.h:
	* sys/amfcodec/include/core/Interface.h:
	* sys/amfcodec/include/core/Plane.h:
	* sys/amfcodec/include/core/Platform.h:
	* sys/amfcodec/include/core/PropertyStorage.h:
	* sys/amfcodec/include/core/PropertyStorageEx.h:
	* sys/amfcodec/include/core/Result.h:
	* sys/amfcodec/include/core/Surface.h:
	* sys/amfcodec/include/core/Trace.h:
	* sys/amfcodec/include/core/Variant.h:
	* sys/amfcodec/include/core/Version.h:
	* sys/amfcodec/include/core/VulkanAMF.h:
	  amfcodec: Import AMF SDK headers
	  SDK version v1.4.24 at the commit of
	  https://github.com/GPUOpen-LibrariesAndSDKs/AMF/commit/fbf12cd39fe1812ed902525a1c001307b94871b9
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2109>

2022-04-09 02:13:57 +0900  Seungha Yang <seungha@centricular.com>

	* sys/msdk/gstmsdkcontextutil.c:
	  msdk: Fix Windows build
	  Headers of gstva should not be included on Windows
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2141>

2022-04-08 04:24:36 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11window_win32.cpp:
	  d3d11window: Use ANSI version WIN32 API explicitly
	  We were using ANSI version APIs implicitly because UNICODE is not
	  defined by ourselves. But potentially it can be broken if user
	  defines UNICODE.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2131>

2022-04-08 04:02:55 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11av1dec.cpp:
	* sys/d3d11/gstd3d11screencapturesrc.cpp:
	* sys/d3d11/gstd3d11videosink.cpp:
	  d3d11: Run indent
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2131>

2022-03-11 20:46:11 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecparsers/gsth265parser.c:
	* gst-libs/gst/codecparsers/gsth265parser.h:
	  h265parser: Fix short_term_ref_pic_set() size calculation
	  This field is used by DXVA/NVDEC/VA, and each specification
	  describes (NVDEC is not well documented) that it's the number of
	  bits used in short_term_ref_pic_set().
	  DXVA doesn't explicitly mention that whether the size of
	  emulation preventation bytes (EPB) is inclusive or not, but
	  VA is clearly specifying that it's the size after removing
	  EPB. Excluding EPB size here makes more sense therefore.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1930>

2022-04-06 11:21:25 +0200  Edward Hervey <edward@centricular.com>

	* gst/mxf/mxfvanc.c:
	  mxfvanc: Handle empty VANC packets
	  Some XDCAM recorders store empty packets for VANC, and don't even include the
	  2byte length.
	  Handle them in the same way as VANC packets with 0 packets.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2122>

2022-04-01 22:52:18 +0900  Sangchul Lee <sc11.lee@samsung.com>

	* gst-libs/gst/webrtc/datachannel.c:
	* gst-libs/gst/webrtc/webrtc_fwd.h:
	  webrtc/datachannel: Change initial data channel state to CONNECTING
	  It complies with http://w3c.github.io/webrtc-pc/#dom-rtcdatachannelstate.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2099>

2022-04-04 20:47:03 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvencoder.cpp:
	  qsvencoder: Don't use USAGE_HINT_ENCODER and enable derived image support
	  Peformance issue by disabled derived image support was reported
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2111>

2022-04-04 20:36:14 +0900  Seungha Yang <seungha@centricular.com>

	* sys/va/gstvah264enc.c:
	  Revert "vah264enc: Disable derived image support"
	  This reverts commit 0011feb0d660f331abde5b1e36f1c56e9cf3b014.
	  The commit caused performance-wise regression for some platforms
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2111>

2022-04-01 15:35:17 +0800  Tong Wu <tong1.wu@intel.com>

	* sys/msdk/msdk.c:
	  msdk: use mfxU32 instead of uint32_t
	  Msdk should use mfx variables defined in mfxdefs.h. Replace uint32_t
	  with mfxU32.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2091>

2022-04-01 15:00:01 +0200  Stéphane Cerveau <scerveau@collabora.com>

	* tests/examples/camerabin2/gst-camerabin2-test.c:
	  bad: examples: fix unused res warning
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2095>

2022-03-29 14:42:04 +0200  Johan Sternerup <johast@axis.com>

	* ext/webrtc/gstwebrtcice.c:
	* ext/webrtc/icestream.c:
	* ext/webrtc/icestream.h:
	* ext/webrtc/nicetransport.c:
	  webrtc: Improve robustness of nice agent signal handlers
	  NiceAgent and it's associated thread is alive for as long as
	  GstWebRTCICE is alive so make sure any signal handlers connected to
	  NiceAgent do not access data that is deleted earlier.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2073>

2022-04-03 22:12:33 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	  nvcodec: Fix typos
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2107>

2022-04-03 22:08:51 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvencoder.h:
	  nvencoder: Fix operator overloading
	  GUID equality check was inverted
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2107>

2022-04-01 21:09:10 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/va/meson.build:
	  libs: va: make sure va-enumtypes.h is generated before it's used
	  Need to add a dep for the generated header file to the dependency()
	  so that it gets generated before anyone tries to #include files
	  from it (which may happen before the actual lib is built because
	  that's only needed when stuff is linked together later).
	  See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2057#note_1323236
	  and CI build failures in https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2096
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2103>

2022-04-01 05:02:58 +0900  Seungha Yang <seungha@centricular.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: Disable derived image support
	  Behavior of derived image seems to be platform dependent and
	  it's buggy in some cases.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1110
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2086>

2022-04-01 22:47:07 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  va: h264enc: Do not use USAGE_HINT_ENCODER for input pool.
	  It seems that the VA_SURFACE_ATTRIB_USAGE_HINT_ENCODER is used only
	  for the recon surfaces, if we set this flags for input raw surfaces,
	  the alignment is wrong and we get broken result.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2100>

2022-04-01 15:59:58 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/va/gstvaallocator.c:
	  va: Fix printf format modifier for drm modifiers
	  DRM modifiers are 64bit, the printf modifier is platform dependant. Use
	  the G_GINT64_MODIFIER macro to make this printf portable.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2102>

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/vulkan/meson.build:
	* ext/webrtc/meson.build:
	* gst-libs/gst/d3d11/meson.build:
	* gst/rtp/meson.build:
	* meson.build:
	* sys/bluez/meson.build:
	* sys/dvb/meson.build:
	* tests/check/meson.build:
	* tests/examples/ipcpipeline/meson.build:
	* tests/examples/opencv/meson.build:
	* tests/examples/webrtc/meson.build:
	* tests/examples/wpe/meson.build:
	* tests/icles/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-24 14:15:00 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* ext/sctp/usrsctp/meson.build:
	* meson.build:
	  Fix cross build with mingw32
	  At least on Ubuntu 20.04 the x86_64-w64-mingw32-gcc toolchain defaults
	  to WinXP. We require at least Vista for FILE_STANDARD_INFO.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2022>

2022-03-25 22:04:05 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvallocator_va.cpp:
	* sys/qsv/gstqsvencoder.cpp:
	* sys/qsv/gstqsvh264enc.cpp:
	* sys/qsv/gstqsvh265enc.cpp:
	* sys/qsv/gstqsvvp9enc.cpp:
	  qsvencoder: Add support for VA memory
	  Use VA allocator and buffer pool implementation for zero-copy
	  encoding with upstream VA elements
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2030>

2022-03-25 21:03:02 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvallocator_va.h:
	* sys/qsv/gstqsvdecoder.cpp:
	* sys/qsv/gstqsvencoder.cpp:
	  qsv: Use pipeline's VA context
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2030>

2022-03-29 14:52:33 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstva.h:
	* gst-libs/gst/va/gstvaallocator.c:
	* gst-libs/gst/va/gstvaallocator.h:
	* gst-libs/gst/va/gstvapool.c:
	* gst-libs/gst/va/gstvapool.h:
	* gst-libs/gst/va/meson.build:
	* sys/va/gstvabasedec.c:
	* sys/va/gstvabasetransform.c:
	* sys/va/gstvaencoder.c:
	* sys/va/gstvah264enc.c:
	  libs: va: add VA allocator parameter for derived images usage.
	  Added GstVaFeature enum type, and new parameter for VA allocator's
	  set_format() and get_format(). Also added a new parameter in VA pool
	  gst_va_pool_new_with_config() and
	  gst_buffer_pool_config_set_va_allocation_params().
	  This new parameter will define if derived images will by used for
	  buffer mapping.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2057>

2022-03-28 21:25:50 +0900  Sangchul Lee <sc11.lee@samsung.com>

	* ext/webrtc/gstwebrtcbin.c:
	* ext/webrtc/gstwebrtcstats.c:
	* tests/check/elements/webrtcbin.c:
	  webrtcstats: Unify 'packets-lost' data type to int64
	  Previously, 'packets-lost' member of RTCReceivedRtpStreamStats had
	  a value of G_TYPE_INT from rtpsource or a value of G_TYPE_UINT64
	  from rtpjitterbuffer.
	  Because of the negative value of estimated amount of packets lost
	  in rtpsource as well as the description in
	  https://www.w3.org/TR/webrtc-stats/#dom-rtcreceivedrtpstreamstats
	  it is fixed to set this value with G_TYPE_INT64.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2049>

2022-03-30 12:12:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvaencoder.c:
	  va: encoder: Remove unused allocation config.
	  Since it's also done inside of gst_va_pool_new_with_config().
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2072>

2022-03-30 02:49:40 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/va/gstvadisplay.c:
	* gst-libs/gst/va/gstvautils.c:
	  vadisplay: Add description readonly property
	  Expose description of vendor for user information, similar to
	  the description property of d3d11device.
	  Also, set description and DRM device path on GstContext structure
	  so that user can read them and it will be printed on terminal
	  when gst-launch-1.0 is used
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2064>

2022-03-30 07:03:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstvaallocator.c:
	* gst-libs/gst/va/gstvapool.c:
	* gst-libs/gst/va/gstvapool.h:
	* gst-libs/gst/va/va_fwd.h:
	  va: Don't expose internal classes.
	  VA allocators and pools classes don't need to be exposed as external
	  symbols.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2070>

2022-03-30 12:01:20 +0800  Haihua Hu <jared.hu@nxp.com>

	* gst-libs/gst/play/gstplay.c:
	  gstplay: don't print error log in warning_cb
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2069>

2022-03-29 20:14:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvavpp.c:
	  vapostproc: Build classification dynamically.
	  By default, the classification is
	  "Converter/Filter/Colorspace/Scaler/Video/Hardware", but if VA
	  post-processor driver supports either color balance, skin tone
	  enhancement, sharpening or noise reduction, "Effect" is added.
	  Thus, if vapostproc ranking is raised, it can be chosen by
	  autovideosink.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2066>

2022-02-21 14:02:52 +1100  Matthew Waters <matthew@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	* ext/webrtc/gstwebrtcbin.h:
	* ext/webrtc/gstwebrtcstats.c:
	  webrtc: produce stats for all relevant streams
	  Instead of only using the last ssrc that was pushed into a sink pad.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>

2022-02-11 16:50:42 +1100  Matthew Waters <matthew@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtc: avoid different versions of gnu-indent always wanting to change !!
	  Add some sneaky parenthesis to avoid always having to use git commit -n
	  or revert out hunk of the change.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>

2021-11-26 22:04:14 +1100  Matthew Waters <matthew@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	* ext/webrtc/transportstream.c:
	* ext/webrtc/transportstream.h:
	* tests/check/elements/webrtcbin.c:
	  webrtc: implement initial simulcast fec/rtx usage
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>

2021-11-26 22:11:06 +1100  Matthew Waters <matthew@centricular.com>

	* ext/webrtc/webrtcdatachannel.c:
	* gst-libs/gst/webrtc/datachannel.c:
	  webrtc/datachannel: fix use-after-free in sctp state notification
	  g_signal_disconnect*() doesn't stop any existing callbacks from running
	  which means that if the notify::state callback is in progress in one
	  thread and the data channel object is finalize()ed in another thread,
	  then there could be a use-after-free trying lock the data channel
	  object.
	  We can't reasonably use a GWeakRef as we don't have a 'parent' object to
	  free the GWeakRef after the data channel is finalized.  This is also
	  complicated by the fact that the application can hold a reference to the
	  data channel object that would live beyond the lifetime of webrtcbin
	  itself.
	  We solve this by implementing a ghetto weak-ref solution internally with
	  a list of outstanding data channels.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>

2021-11-26 22:06:39 +1100  Matthew Waters <matthew@centricular.com>

	* tests/check/elements/webrtcbin.c:
	  tests/webrtc: fix a use-after-free in test_data_channel_close
	  g_object_weak_ref() is not thread-safe and the data channel object's
	  refs/unrefs can happen on multiple threads.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>

2021-11-26 21:51:57 +1100  Matthew Waters <matthew@centricular.com>

	* tests/check/elements/webrtcbin.c:
	  tests/webrtc: fix a race in the tests related to state tracking
	  If things progress fast enough, some state changes may not be seen be
	  the waiting code.
	  Fix by:
	  1. keeping a list of all the state changes
	  2. waiting checks each entry and if the relevant state is found, all
	  states up to and including then are removed.
	  This ensures that any waits will see all the state sets.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>

2021-11-26 02:00:12 +1100  Matthew Waters <matthew@centricular.com>

	* tests/check/elements/webrtcbin.c:
	  tests/webrtc: factor out src pad property checking to a separate function
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>

2021-11-16 19:27:11 +1100  Matthew Waters <matthew@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	* ext/webrtc/gstwebrtcstats.c:
	* ext/webrtc/transportstream.c:
	* ext/webrtc/transportstream.h:
	* ext/webrtc/webrtctransceiver.c:
	* ext/webrtc/webrtctransceiver.h:
	* tests/check/elements/webrtcbin.c:
	  webrtcbin: initial support for sending and receiving simulcast streams
	  Input (sink pads) is the already-ssrc-muxed stream with the relevant rtp
	  sdes header extensions already applied:
	  - mid
	  - stream-id
	  - repaired-stream-id
	  Output (src pads) have the pads separated into individual ssrc's as
	  that's what rtpbin gives us.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>

2021-11-16 18:11:49 +1100  Matthew Waters <matthew@centricular.com>

	* tests/check/elements/webrtcbin.c:
	  tests/webrtc: test for enabled bundled fec/rtx
	  Doesn't actually check that any fec/rtx happens, just that the pipeline
	  is vaguely sane and doesn't error.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>

2021-11-16 17:39:18 +1100  Matthew Waters <matthew@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: support multiple received streams for a single mline
	  Each rtpbin exposed recv_src pad is now exposed as webrtcbin src_%u pad
	  now with no meaining applied to the value of %u.  Previously this used
	  to mean the mline in the SDP.  If this is is still required, then the
	  transceiver can be retrieved from the pad and the "mlineindex" property
	  from the transciever.  The "mid" is also retrievable from the
	  transceiver.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>

2021-11-16 17:28:04 +1100  Matthew Waters <matthew@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	* gst-libs/gst/webrtc/webrtc_fwd.h:
	  webrtc: explicitly error out in a couple of renegotiation cases
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>

2021-11-16 17:21:31 +1100  Matthew Waters <matthew@centricular.com>

	* ext/webrtc/transportstream.c:
	  webrtc/transportstream: add debug category
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>

2021-11-03 21:18:53 +1100  Matthew Waters <matthew@centricular.com>

	* tests/check/elements/webrtcbin.c:
	  tests/webrtc: also check valid mline for srcpad codec-preferences negotiation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>

2021-11-03 20:46:23 +1100  Matthew Waters <matthew@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	* ext/webrtc/gstwebrtcbin.h:
	  webrtcbin: don't name src pads based on the mline specifically anymore
	  Naming based on the mline doesn't really work with e.g. simulcast
	  scenarios.
	  It is entirely possible to retrieve the transceiver and then the mline
	  from that if that is so required.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>

2021-10-29 18:40:04 +1100  Matthew Waters <matthew@centricular.com>

	* tests/check/elements/webrtcbin.c:
	  webrtc/tests: print the correct media idx on error
	  Instead of the attribute index
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>

2021-10-29 18:38:37 +1100  Matthew Waters <matthew@centricular.com>

	* tests/check/elements/webrtcbin.c:
	  webrtc/tests: give slightly better names to the dot file dumps
	  Don't use printf-specifiers with g_strconcat().
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>

2021-07-21 17:48:34 +1000  Matthew Waters <matthew@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	* ext/webrtc/utils.h:
	* tests/check/elements/webrtcbin.c:
	  webrtcbin: improve some debugging output
	  - Put human readable names into debug strings.
	  - Demote some frequent rtpbin signal logging
	  - Don't use GST_PTR_FORMAT in g_set_error()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>

2021-07-21 17:39:11 +1000  Matthew Waters <matthew@centricular.com>

	* tests/check/elements/webrtcbin.c:
	  webrtcbin: silence spurious warning when creating answer transceiver
	  When creating a transceiver when creating an answer, the media kind of the
	  transceiver was never set correctly initially.  This would lead to a
	  GST_WARNING being produced about changin a transceiver's media kind.
	  Fix by retrieving the GstSDPMedia kind from the offer instead as the answer
	  GstSDPMedia has not been set as the answer caps have not been chosen yet.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>

2021-07-21 14:29:35 +1000  Matthew Waters <matthew@centricular.com>

	* tests/check/elements/webrtcbin.c:
	  tests/webrtc: always use a unique SSRC for each stream
	  Will become more relevant with mid/rid->ssrc mappings
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>

2021-07-21 14:14:30 +1000  Matthew Waters <matthew@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: add a specific find_transceiver_by_mid function
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>

2021-07-20 20:17:13 +1000  Matthew Waters <matthew@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: explicitly use a variable for the rtp session idx
	  Slightly clearer in meaning.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>

2021-07-01 15:54:34 +1000  Matthew Waters <matthew@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	* tests/check/elements/webrtcbin.c:
	  webrtcbin: support using an a=mid value from the sink/transceiver caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>

2022-03-25 15:56:01 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstva.h:
	* gst-libs/gst/va/gstvaallocator.h:
	* gst-libs/gst/va/gstvadisplay.c:
	* gst-libs/gst/va/gstvadisplay.h:
	* gst-libs/gst/va/gstvadisplay_drm.c:
	* gst-libs/gst/va/gstvadisplay_drm.h:
	* gst-libs/gst/va/gstvadisplay_wrapped.h:
	* gst-libs/gst/va/gstvapool.c:
	* gst-libs/gst/va/gstvapool.h:
	* gst-libs/gst/va/gstvasurfacecopy.h:
	* gst-libs/gst/va/gstvautils.c:
	* gst-libs/gst/va/gstvautils.h:
	* gst-libs/gst/va/gstvavideoformat.h:
	* gst-libs/gst/va/va_fwd.h:
	* gst-libs/gst/va/vasurfaceimage.h:
	* sys/va/gstvaav1dec.c:
	* sys/va/gstvabasedec.c:
	* sys/va/gstvabasetransform.c:
	* sys/va/gstvacaps.c:
	* sys/va/gstvadecoder.c:
	* sys/va/gstvadeinterlace.c:
	* sys/va/gstvadisplay_priv.c:
	* sys/va/gstvadisplay_priv.h:
	* sys/va/gstvaencoder.c:
	* sys/va/gstvaencoder.h:
	* sys/va/gstvafilter.c:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvavpp.c:
	* tests/examples/va/main.c:
	* tests/examples/va/multiple-vpp.c:
	  va: Set <gst/va/gstva.h> as library single point entry header.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2048>

2022-02-23 15:40:19 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/va/gstvaallocator.c:
	* gst-libs/gst/va/gstvaallocator.h:
	* gst-libs/gst/va/gstvapool.c:
	* gst-libs/gst/va/gstvapool.h:
	* gst-libs/gst/va/gstvasurfacecopy.c:
	* gst-libs/gst/va/gstvasurfacecopy.h:
	* gst-libs/gst/va/meson.build:
	* gst-libs/gst/va/vasurfaceimage.c:
	* gst-libs/gst/va/vasurfaceimage.h:
	* sys/va/gstvaav1dec.c:
	* sys/va/gstvabasedec.c:
	* sys/va/gstvabasetransform.c:
	* sys/va/gstvadecoder.c:
	* sys/va/gstvadeinterlace.c:
	* sys/va/gstvaencoder.c:
	* sys/va/gstvafilter.c:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvavpp.c:
	* sys/va/meson.build:
	  va: Move allocators and pool objects into gstva library.
	  In order to other plugins use gstva objects, such as allocators and buffer
	  pools, this merge request move them from the va plugin to the gstva library.
	  This objects are not exposed in <gst/va/gstva.h> since they are not expected
	  to be used by users, only by plugin implementators.
	  Because of the surface copy design, which is used to implement allocator's
	  mem_copy() virtual function, depends on the vafilter, which is kept inside
	  the plugin, memory copy through VAPosproc is disabled and removed temporarly.
	  Also added some missing parameter validation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2048>

2022-02-23 15:25:08 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/va/gstvavideoformat.c:
	* gst-libs/gst/va/gstvavideoformat.h:
	* gst-libs/gst/va/meson.build:
	* sys/va/gstvaallocator.c:
	* sys/va/gstvabasedec.c:
	* sys/va/gstvacaps.c:
	* sys/va/gstvadecoder.c:
	* sys/va/gstvadisplay_priv.c:
	* sys/va/gstvafilter.c:
	* sys/va/meson.build:
	* sys/va/vasurfaceimage.c:
	  va: Move the video format functions into gstlibva.
	  Untabifying header file.
	  The logging category was moved from the plugin generic category to
	  the display category. It can argue that video formats hacks are
	  display dependant.
	  Added validations for input parameters.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2048>

2022-03-27 23:27:54 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvencoder.cpp:
	* sys/qsv/gstqsvencoder.h:
	* sys/qsv/gstqsvh264enc.cpp:
	* sys/qsv/gstqsvh265enc.cpp:
	* sys/qsv/gstqsvvp9enc.cpp:
	* tests/examples/meson.build:
	* tests/examples/qsv/key-handler.c:
	* tests/examples/qsv/key-handler.h:
	* tests/examples/qsv/meson.build:
	* tests/examples/qsv/qsvenc-dynamic-reconfigure.c:
	  qsvencoder: Add support for dynamic bitrate update
	  ... and add more encoding options.
	  QSV API supports dynamic bitrate change without IDR insertion.
	  That's more efficient way of runtime encoding option update
	  than starting from new sequence with IDR per bitrate option change.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2039>

2022-03-25 23:15:33 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvh265enc.cpp:
	  qsvh265enc: Add missing gop-size property
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2039>

2022-03-25 21:13:22 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvallocator.cpp:
	  qsv: Fix mfxFrameAllocator::Lock for encoder
	  Only read map is possible for encoder input system memory
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2039>

2022-03-28 20:51:35 +1100  Matthew Waters <matthew@centricular.com>

	* sys/applemedia/videotexturecache.m:
	  applemeida/texturecache: remove unused variable
	  Fixes:
	  ../sys/applemedia/videotexturecache.m:71:20: error: variable 'features' set but not used [-Werror,-Wunused-but-set-variable]
	  GstCapsFeatures *features;
	  ^
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046>

2022-03-28 20:50:27 +1100  Matthew Waters <matthew@centricular.com>

	* sys/applemedia/corevideobuffer.c:
	  applemedia/corevideobuffer: remove unused variable
	  Fixes:
	  ../sys/applemedia/corevideobuffer.c:209:19: error: variable 'video_meta' set but not used [-Werror,-Wunused-but-set-variable]
	  GstVideoMeta *video_meta;
	  ^
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046>

2022-03-28 20:49:01 +1100  Matthew Waters <matthew@centricular.com>

	* sys/applemedia/iosurfaceglmemory.c:
	  applemedia/iosgl: remove unused variable
	  Fixes:
	  ../sys/applemedia/iosurfaceglmemory.c:219:41: error: variable 'texfmt' set but not used [-Werror,-Wunused-but-set-variable]
	  GLuint tex_id, tex_target, texifmt, texfmt;
	  ^
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046>

2022-03-28 20:37:54 +1100  Matthew Waters <matthew@centricular.com>

	* sys/applemedia/vtdec.c:
	  vtdec: remove unused variable
	  Fixes:
	  ../sys/applemedia/vtdec.c:611:35: error: variable 'output_flags' set but not used [-Werror,-Wunused-but-set-variable]
	  VTDecodeFrameFlags input_flags, output_flags;
	  ^
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046>

2022-03-28 20:24:59 +1100  Matthew Waters <matthew@centricular.com>

	* sys/applemedia/avsamplevideosink.m:
	  avsamplevideosink: remove unused variable
	  Fixes
	  ../sys/applemedia/avsamplevideosink.m:80:20: error: variable 'gstelement_class' set but not used [-Werror,-Wunused-but-set-variable]
	  GstElementClass *gstelement_class;
	  ^
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046>

2022-03-28 20:11:29 +1100  Matthew Waters <matthew@centricular.com>

	* sys/applemedia/avfassetsrc.m:
	  avfassetsrc: fix unused-but-set warning
	  ../sys/applemedia/avfassetsrc.m:1014:12: error: variable 'caps' set but not used [-Werror,-Wunused-but-set-variable]
	  GstCaps *caps;
	  ^
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046>

2022-03-28 19:42:04 +1100  Matthew Waters <matthew@centricular.com>

	* gst/speed/gstspeed.c:
	  speed: fix unused-but-set warning
	  ../gst/speed/gstspeed.c:523:39: error: variable 'base' set but not used [-Werror,-Wunused-but-set-variable]
	  gint64 start_value, stop_value, base;
	  ^
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046>

2022-03-28 18:38:23 +1100  Matthew Waters <matthew@centricular.com>

	* ext/resindvd/gstpesfilter.c:
	  resindvd: silence unused-but-set warning
	  ../ext/resindvd/gstpesfilter.c:117:11: error: variable 'STD_buffer_size_bound' set but not used [-Werror,-Wunused-but-set-variable]
	  guint16 STD_buffer_size_bound;
	  ^
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046>

2022-03-28 18:23:20 +1100  Matthew Waters <matthew@centricular.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegts: don't shadow res variable
	  Fixes unused-but-set warning:
	  ../gst/mpegtsmux/gstbasetsmux.c:2115:43: error: variable 'res' set but not used [-Werror,-Wunused-but-set-variable]
	  gboolean all_headers, done = FALSE, res = FALSE;
	  ^
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046>

2022-03-28 18:12:43 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/mpegts/gst-dvb-section.c:
	  mpeg: fix unused-but-set warning
	  ../gst-libs/gst/mpegts/gst-dvb-section.c:206:9: error: variable 'i' set but not used [-Werror,-Wunused-but-set-variable]
	  guint i = 0, allocated_events = 12;
	  ^
	  ../gst-libs/gst/mpegts/gst-dvb-section.c:365:9: error: variable 'i' set but not used [-Werror,-Wunused-but-set-variable]
	  guint i = 0, allocated_streams = 12;
	  ^
	  ../gst-libs/gst/mpegts/gst-dvb-section.c:543:9: error: variable 'i' set but not used [-Werror,-Wunused-but-set-variable]
	  guint i = 0, allocated_streams = 12;
	  ^
	  ../gst-libs/gst/mpegts/gst-dvb-section.c:885:9: error: variable 'i' set but not used [-Werror,-Wunused-but-set-variable]
	  guint i = 0, allocated_services = 8;
	  ^
	  ../gst-libs/gst/mpegts/gst-dvb-section.c:1316:9: error: variable 'i' set but not used [-Werror,-Wunused-but-set-variable]
	  guint i = 0, allocated_services = 8;
	  ^
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046>

2022-03-28 10:10:45 +0300  Sebastian Dröge <sebastian@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	  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-28 15:56:22 +1100  Matthew Waters <matthew@centricular.com>

	* gst/mpegdemux/gstpesfilter.c:
	  mpegdemux: silence unused-but-set werror
	  ../gst/mpegdemux/gstpesfilter.c:117:11: error: variable 'STD_buffer_size_bound' set but not used [-Werror,-Wunused-but-set-variable]
	  guint16 STD_buffer_size_bound;
	  ^
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2044>

2022-03-25 14:25:02 +1100  Andrew Pritchard <andrew@vivi.io>

	* sys/androidmedia/jni/gstamcsurfacetexture-jni.c:
	  Fix GstAmcSurfaceTexture segfault Check that `self` and `self->callback` are defined. `self` can be set to `NULL` in `remove_listener`, and `self->callback` can be set to `NULL` inside `gst_amc_surface_texture_jni_set_on_frame_available_callback`. This can cause a segfault since the Java object can outlive the C object, and call the callback after `remove_listener` is called.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2024>

2022-03-23 17:31:37 +1100  Matthew Waters <matthew@centricular.com>

	* ext/closedcaption/gstccconverter.c:
	* ext/closedcaption/gstccconverter.h:
	* tests/check/elements/ccconverter.c:
	  ccconverter: ensure correct ordering of cea608 across output buffers
	  e.g. if a 60fps output is configured, we can only produce a single field
	  of cea608 that must alternate between field 1 and field 2.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2019>

2022-03-23 15:13:10 +1100  Matthew Waters <matthew@centricular.com>

	* ext/closedcaption/gstccconverter.c:
	* tests/check/elements/ccconverter.c:
	  ccconverter: ignore padding cea608 data even if marked as 'valid'
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2019>

2022-03-23 10:36:28 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2decoder.c:
	  v4l2codecs: Detect missing M2M_HOLD_CAPTURE_BUF
	  Produce an error if we try to use the feature of holding capture buffer
	  but it is not supported by the driver. Ingoring this can lead to stalls
	  as the driver will run-out of capture buffer to decode into. This
	  affects slice decoders but also split-field interlaced decoding.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2009>

2022-03-23 09:11:35 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codech264dec.c:
	  v4l2codecs: h264: Set other field poc if available
	  Whenever the other field POC is available, pass it back to the
	  driver. This should not be strictly required, but it makes things
	  easier to debug and more forgiven.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2009>

2021-12-21 10:59:37 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/v4l2codecs/gstv4l2decoder.h:
	  v4l2codecs: Trace request by it FD
	  This helps when crossing the debug logs with the kernel logs.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2009>

2021-12-21 10:55:58 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codech264dec.c:
	  v4l2codecs: h264: Fix dpb entry flag FLAG_FIELD
	  The logic to guess back this value was broken. Use the value
	  now saved into the picture instead. This was tested using
	  LibreELEC patched 5.15 kernel, and fixed the interlaced decode
	  issues.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2009>

2021-12-21 10:52:32 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/codecs/gsth264decoder.c:
	* gst-libs/gst/codecs/gsth264picture.h:
	  codecs: h264: Save the field_pic_flag
	  This flag is set when the stream is interlaced and the specific
	  slice is made of single parity fields rather the paired at the
	  macroblock layer. This is rarely needed in late decoding process
	  but the Rockchip RKVDEC HW interface requires it, hence needs to
	  be passed through V4L2 Stateless interface.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2009>

2022-03-25 13:26:52 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* tests/examples/d3d11/d3d11device.cpp:
	  d3d11: Fix example build error
	  ```
	  ../subprojects/gst-plugins-bad/tests/examples/d3d11/d3d11device.cpp:129:50: error: invalid conversion from ‘int’ to ‘DXGI_FORMAT’ [-fpermissive]
	  129 |     D3D11_SHADER_RESOURCE_VIEW_DESC srv_desc = { 0, };
	  ```
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2029>

2022-03-18 16:59:32 +0000  Thibault Saunier <tsaunier@igalia.com>

	* ext/directfb/dfbvideosink.c:
	* ext/opencv/gsthanddetect.cpp:
	* ext/vulkan/vksink.c:
	* sys/d3d11/gstd3d11videosink.cpp:
	* sys/d3dvideosink/d3dhelpers.c:
	* tests/check/pipelines/ipcpipeline.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 21:39:30 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265dec.c:
	  va: h265dec: Fix a crash because of missing reference frame.
	  Some problematic H265 stream may miss the reference frame in the DPB,
	  and get some message like: "No short term reference picture for xxx".
	  So there may be empty entries in ref_pic_list0/1 when passing to
	  decode_slice() function of sub class. We need to check the NULL pointer.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2018>

2022-03-24 15:19:27 +0800  Chun-wei Fan <fanchunwei@src.gnome.org>

	* ext/openexr/meson.build:
	  openexr: Specify modules when finding OpenEXR.
	  Specify modules to look for OpenEXR when CMake is used, as we may have
	  CMake config files instead of pkg-config files that result from building
	  OpenEXR, which may be built with CMake which is typically the case on Visual
	  Studio builds.
	  In this case, Meson does seem to find the 'OpenEXR' package with CMake
	  after trying pkg-config, but does not consider it enough without the
	  'modules:' argument.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2014>

2022-03-22 00:30:28 +0900  Sangchul Lee <sc11.lee@samsung.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: Update documentation of 'get-stats' action signal
	  Some stats fields are updated according to the current implementation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2005>

2022-03-25 00:27:42 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	* ext/webrtc/webrtctransceiver.c:
	* ext/webrtc/webrtctransceiver.h:
	* tests/check/elements/webrtcbin.c:
	  Revert "webrtcbin: fix msid line and allow customization"
	  This reverts commit 3cad3455377d5a22faa138d9df840257059776c8.
	  That commit was breaking the association between an audio and
	  a video track in the standard case.
	  In practice, to support carrying separate MediaStream, we are
	  going a way to map what MediaStreamTrack belong to what MediaStream,
	  but that will require some thinking about the API.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2023>

2022-03-24 19:55:48 +0200  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst/mpegtsdemux/mpegtspacketizer.c:
	* gst/mpegtsdemux/mpegtspacketizer.h:
	* gst/mpegtsdemux/tsdemux.c:
	  tsdemux: Don't check SCTE events for being too far from the PCR
	  Otherwise it happens that SCTE events can only be scheduled up to 15
	  seconds since the last seen PCR, which is a useless restriction.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2021>

2022-03-21 23:03:36 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	* ext/webrtc/webrtctransceiver.c:
	* ext/webrtc/webrtctransceiver.h:
	* tests/check/elements/webrtcbin.c:
	  webrtcbin: fix msid line and allow customization
	  From https://datatracker.ietf.org/doc/html/draft-ietf-mmusic-msid-16:
	  > Multiple media descriptions with the same value for msid-id and
	  > msid-appdata are not permitted.
	  Our previous implementation of simply using the CNAME as the msid
	  identifier and the name of the transceiver as the msid appdata was
	  misguided and incorrect, and created issues when bundling multiple
	  video streams together: the ontrack event was emitted with the same
	  streams for the two bundled medias, at least in Firefox.
	  Instead, use the transceiver name as the identifier, and expose
	  a msid-appdata property on transceivers to allow for further
	  customization by the application. When the property is not set,
	  msid-appdata can be left empty as it is specified as optional.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2003>

2022-01-05 10:15:34 -0300  Thibault Saunier <tsaunier@igalia.com>

	* ext/wpe/gstwpesrcbin.cpp:
	  wpe: Mark first audio buffer as discont
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1492>

2022-01-04 15:49:35 -0300  Thibault Saunier <tsaunier@igalia.com>

	* ext/wpe/gstwpe.h:
	* ext/wpe/gstwpesrcbin.cpp:
	* ext/wpe/gstwpevideosrc.cpp:
	* ext/wpe/meson.build:
	* tests/validate/meson.build:
	* tests/validate/wpe/load_bytes_first.validatetest:
	  wpe: Use `about:blank` as default URL to support only using load-bytes
	  WebKit is not going to render anything until a URI is set, leading to a
	  WPE posting a `WPE View did not render a buffer` error message. To avoid
	  requiring the user to know it if they only want to use
	  `wpesrc::load-bytes` we can just use `about:blank` as default and
	  everything will work as users would expect.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1492>

2022-01-27 23:54:34 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/debugutils/gstfakeaudiosink.c:
	* gst/debugutils/gstfakeaudiosink.h:
	* gst/debugutils/gstfakevideosink.c:
	* gst/debugutils/gstfakevideosink.h:
	  fakevideosink,fakeaudiosink: Proxy handoff and preroll-handoff signals
	  Proxy signals for application to be able to consume them
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1585>

2021-12-24 19:49:34 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/aom/gstav1enc.c:
	  aom: av1enc: Specify Temporal Unit alignment
	  Encoded bitstream consists of leading Temporal delimiter OBU
	  with frame, that's Temporal Unit alignment.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1471>

2022-03-24 02:52:45 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvh264enc.cpp:
	* sys/qsv/gstqsvh265enc.cpp:
	* sys/qsv/gstqsvvp9enc.cpp:
	  qsvencoder: Clear caps after debug print
	  Otherwise debug function will print (null) for alread cleared pointer
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2012>

2022-03-24 02:43:43 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvh264enc.cpp:
	  qsvh264enc: Fix profile and level setting in codec data
	  The profile field in SPS is located after header byte
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2012>

2022-03-16 04:58:16 +0900  Seungha Yang <seungha@centricular.com>

	  nvcodec: Add new Direct3D11/CUDA mode encoder implementation
	  Adding new encoder elements nvd3d11{h264,h265}enc for Direct3D11
	  input support and re-written nvcuda{h264,h265}enc elements.
	  Newly writeen elements have some differences compared with old
	  nv{h264,h265}enc including non-backward compatible changes.
	  * RGBA is not a supported input format any more:
	  New elements will support only YUV formats to avoid implicit conversion
	  done by hardware. Ideally it should be done by upstream element
	  in order to have more control on it. Moreover, RGBA support can cause
	  redundant RGBA -> YUV conversion if multiple encoders are
	  used for the same RGBA input
	  * Subsampled planar format support is dropped:
	  I420 and YV12 format are not supported formats for Direct3D11.
	  Although it's supported in CUDA mode, it's not a hardware friendly
	  memory layout and it will waste GPU memory since UV planes
	  will have large padding due to the memory layout requirement of NVENC.
	  * GL support is dropped: Similar to the RGBA case,
	  GL support in encoder would be suboptimal if GL input is
	  used by multiple encoders, because each encoder will copy GL memory
	  into CUDA memory.
	  Upstream cudaupload element can be used for GL <-> CUDA
	  interop instead.
	  * No more pre-allocation of encoder input surfaces. New implementation
	  will use input CUDA memory without copy (zero-copy) or
	  will copy into a NVENC's input buffer struct in case of
	  system memory input.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1997>

2022-02-10 10:21:01 +0100  Vivienne Watermeier <vwatermeier@igalia.com>

	* ext/wpe/WPEThreadedView.cpp:
	* ext/wpe/WPEThreadedView.h:
	* ext/wpe/gstwpevideosrc.cpp:
	  wpevideosrc: Add touch event support
	  Dispatches a list of active touch events to the wpe view on each
	  received TOUCH_FRAME event. Touch inputs currently only move the cursor,
	  since wpe doesn't seem to support clicking/scrolling or zooming with
	  touch input.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633>

2022-02-14 16:08:23 +0100  Vivienne Watermeier <vwatermeier@igalia.com>

	* ext/directfb/dfbvideosink.c:
	* ext/opencv/gsthanddetect.cpp:
	* ext/vulkan/vksink.c:
	* gst/librfb/gstrfbsrc.c:
	* sys/d3d11/gstd3d11videosink.cpp:
	* sys/d3dvideosink/d3dhelpers.c:
	* sys/d3dvideosink/d3dvideosink.c:
	* sys/directshow/dshowvideosink.cpp:
	* sys/va/gstvavpp.c:
	* tests/check/pipelines/ipcpipeline.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-03-22 10:37:59 +0800  Tong Wu <tong1.wu@intel.com>

	* sys/msdk/gstmsdkenc.c:
	* sys/msdk/gstmsdkh265enc.c:
	* sys/msdk/gstmsdkvp9enc.c:
	  msdkenc: add macro definitions to avoid the gst-inspect error
	  Since the strings are empty for GST_MSDK_CAPS_MAKE_WITH_DMABUF_FEATURE
	  and GST_MSDK_CAPS_MAKE_WITH_VA_FEATURE, when excuting
	  gst-inspect-1.0.exe msdkh265enc, there will be convert static caps error
	  because of the extra semicolon between two empty strings. Now macro
	  definitions are added to avoid this issue.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2004>

2022-01-26 14:55:51 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkdec.c:
	  msdkdec: Check width and height of mfxVideoParam before allocation
	  DecodeHeader must be called to fill the mfxVideoParam before allocation,
	  and thus the check for width and height in mfxVideoParam is necessary.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1817>

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>

2022-03-21 13:01:03 +0100  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/gstv4l2decoder.c:
	  v4l2codecs: Fix memory leak
	  Free pending_requests array when releasing decoder to avoid memory leak
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2000>

2022-02-02 10:05:16 -0300  Daniel Almeida <daniel.almeida@collabora.com>

	* gst-libs/gst/codecs/gstav1decoder.c:
	* gst-libs/gst/codecs/gstav1decoder.h:
	* gst-libs/gst/codecs/gstvp9decoder.c:
	* sys/d3d11/gstd3d11av1dec.cpp:
	* sys/va/gstvaav1dec.c:
	  av1decoder: Sync duplicate_picture with VP9 one
	  Pass the current frame to the duplicate_picture callback. This makes it easier
	  to set the frame's output_buffer if we already have one available. Also
	  documented that unlike VP9, it is not optional to implement this as the
	  picture will populate the DPB if it is a key-frame. To ensure this, remove the
	  default implementation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1992>

2022-03-18 15:59:21 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/codecs/gstvp9decoder.c:
	  vp9decoder: Copy system_frame_number in duplicate_picture
	  Just like AV1, copy the system_frame_number from the original picture to make
	  it clear they reference the same data.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1992>

2022-03-09 16:35:56 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/codecs/gstav1decoder.c:
	  cdoecs: av1: Copy system_frame_number in duplicate_picture
	  The system_frame_number is notably used by V4L2 decoder as a unique
	  indentifier for the frame that was decoded. This value is used to tell driver
	  which frame to reference, as V4L2 does not have an efficient mechanism to
	  otherwise pass back the frames.
	  For this reason, and because it is more ligical, copy the original
	  system_frame_number into the duplicate picture instead of using the current
	  frame.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1992>

2022-03-21 22:03:53 +0900  Seungha Yang <seungha@centricular.com>

	* sys/va/meson.build:
	  meson: va: Define GST_USE_UNSTABLE_API
	  Remove extra_c_args which is not defined in this meson file at all,
	  and define GST_USE_UNSTABLE_API to avoid build warnings
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1999>

2022-03-16 13:17:21 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/codecparsers/gstav1parser.c:
	* gst-libs/gst/codecparsers/gstav1parser.h:
	* gst-libs/gst/codecs/gstav1decoder.c:
	  codecs: av1: Fix state when we show existing keyframe
	  Showing existing keyframe have special meaning in AV1. All the references
	  frame will be refreshed with the original keyframe information. The refresh
	  process (7.20) is implemented by saving data from the frame_header into the
	  state. To fix this special case, load all the relevant information into the
	  frame_header.
	  As there is nothing happening in between this and the loading of the key-frame
	  into the state, this patch also remove the separate API function, using it
	  internally instead.
	  Fixes #1090
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1971>

2022-03-18 13:04:59 +0100  Jakub Adam <jakub.adam@collabora.com>

	* sys/d3d11/gstd3d11screencapture.cpp:
	  d3d11: Fix some typos
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1985>

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 13:37:30 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/openexr/gstopenexrdec.cpp:
	  openexr: Fix some warnings
	  ```
	  ../subprojects/gst-plugins-bad/ext/openexr/gstopenexrdec.cpp:46:24: warning: ‘Imf_3_1::Int64’ is deprecated: use uint64_t [-Wdeprecated-declarations]
	  46 |   virtual Int64 tellg ();
	  |                        ^
	  In file included from ../subprojects/gst-plugins-bad/ext/openexr/gstopenexrdec.cpp:32:
	  /usr/include/OpenEXR/ImfInt64.h:23:32: note: declared here
	  23 | typedef IMATH_NAMESPACE::Int64 Int64;
	  |                                ^~~~~
	  ../subprojects/gst-plugins-bad/ext/openexr/gstopenexrdec.cpp:47:32: warning: ‘Imf_3_1::Int64’ is deprecated: use uint64_t [-Wdeprecated-declarations]
	  47 |   virtual void seekg (Int64 pos);
	  |                                ^
	  In file included from ../subprojects/gst-plugins-bad/ext/openexr/gstopenexrdec.cpp:32:
	  /usr/include/OpenEXR/ImfInt64.h:23:32: note: declared here
	  23 | typedef IMATH_NAMESPACE::Int64 Int64;
	  |                                ^~~~~
	  ../subprojects/gst-plugins-bad/ext/openexr/gstopenexrdec.cpp:67:26: warning: ‘Imf_3_1::Int64’ is deprecated: use uint64_t [-Wdeprecated-declarations]
	  67 | Int64 MemIStream::tellg ()
	  |                          ^
	  In file included from ../subprojects/gst-plugins-bad/ext/openexr/gstopenexrdec.cpp:32:
	  /usr/include/OpenEXR/ImfInt64.h:23:32: note: declared here
	  23 | typedef IMATH_NAMESPACE::Int64 Int64;
	  |                                ^~~~~
	  ../subprojects/gst-plugins-bad/ext/openexr/gstopenexrdec.cpp:73:29: warning: ‘Imf_3_1::Int64’ is deprecated: use uint64_t [-Wdeprecated-declarations]
	  73 | MemIStream::seekg (Int64 pos)
	  |                             ^
	  In file included from ../subprojects/gst-plugins-bad/ext/openexr/gstopenexrdec.cpp:32:
	  /usr/include/OpenEXR/ImfInt64.h:23:32: note: declared here
	  23 | typedef IMATH_NAMESPACE::Int64 Int64;
	  |                                ^~~~~
	  ```
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1977>

2022-03-18 09:48:46 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gstav1parser.h:
	  codecparsers: av1parser: Fix a typo in FilmGrainParams comment.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1974>

2022-03-10 17:37:26 +0100  Jakub Adam <jakub.adam@collabora.com>

	* sys/d3d11/gstd3d11screencapture.cpp:
	* sys/d3d11/gstd3d11screencapture.h:
	* sys/d3d11/gstd3d11screencapturesrc.cpp:
	  d3d11screencapturesrc: Allow capturing screen sub-area
	  Adds crop-x, crop-y, crop-width, crop-height properties specifying the
	  screen area to capture.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1932>

2022-03-15 17:01:59 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: Warn when offer didn't intersect with transceiver caps
	  We were silently falling back to creating a recvonly offer if the caps
	  didn't intersect.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1864>

2022-03-17 13:36:25 +1100  Matthew Waters <matthew@centricular.com>

	* ext/closedcaption/gstccconverter.c:
	  ccconverter: drop data with a warning if scratch buffers overflow
	  Instead of asserting which could bring down the entire application.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1972>

2022-03-11 17:02:55 +0000  Philippe Normand <philn@igalia.com>

	* ext/wpe/WPEThreadedView.cpp:
	  wpe: Reintroduce persistent WebContext
	  A WebContext leak was introduced in MR
	  https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2252.
	  If we wanted one WebContext per WebView we should also unref the
	  WebKitWebContext when destroying the WebView.
	  This patch reintroduces the persistent WebContext, initially part of
	  https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1484.
	  Fixes #1084
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1933>

2022-03-16 00:05:19 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: fix deadlock when setting up FEC encoder
	  We bind transceivers' fec_percentage property to the FEC encoder
	  percentage property, and with the binding bidirectional a deadlock
	  was introduced by the latest changes from !1762:
	  We take hold of the transceiver's object lock, then add the binding
	  and set the property to its initial value on the encoder, which causes
	  set_property to deadlock in the transceiver when the binding kicks in.
	  Changing the binding type to DEFAULT (source to target) is enough
	  to address the deadlock and still serves the original intent.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1967>

2022-03-10 19:22:52 +0900  Sangchul Lee <sc11.lee@samsung.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: Check data channel transport for notifying 'ice-gathering-state'
	  Previously, it did not care about data channel's. It is fixed by adding
	  some conditions.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1957>

2022-03-14 01:19:53 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudamemorycopy.c:
	* sys/nvcodec/gstcudautils.c:
	* sys/nvcodec/gstcudautils.h:
	  nvcodec: Move CUDA <-> GL, D3D11, NVMM copy function to utils
	  This method can be used in other elements as well.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1945>

2022-03-12 01:12:25 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvh265dec.c:
	  nvh265sldec: Add support for delayed output
	  Delay 4 frames in case of non-live to improve throughput
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1937>

2022-03-12 21:54:45 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth265decoder.c:
	* gst-libs/gst/codecs/gsth265decoder.h:
	  h265decoder: Add support for delayed output
	  Functionally identical to the other decoder baseclasses.
	  Delayed output can improve throughput depending on decoding APIs.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1937>

2022-03-12 00:53:04 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth265decoder.h:
	  h265decoder: Update documentation
	  Sync up with other baseclasses
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1937>

2022-03-12 04:45:22 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth265decoder.c:
	* gst-libs/gst/codecs/gsth265picture.h:
	  h265decoder: Drain decoder on new_sequence()
	  Holding previously decoded but not outputted pictures even after
	  new_sequence is not a safe approach in various aspect.
	  However, we cannot drain out DPB on new_sequence() unconditionally,
	  because there is a case where decoder should drop decoded pictures
	  if NoOutputOfPriorPicsFlag is set.
	  To detect NoOutputOfPriorPicsFlag before the new_sequence() call,
	  this patch splits decoding process into two path, one for nal unit parsing
	  in order to detect NoOutputOfPriorPicsFlag and then each nal unit
	  will be decoded.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1937>

2022-03-12 03:15:48 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth265decoder.c:
	* gst-libs/gst/codecs/gsth265picture.c:
	* gst-libs/gst/codecs/gsth265picture.h:
	  h265decoder: Remove unused pts variable
	  We can know timestamp from associated GstVideoCodecFrame
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1937>

2022-03-13 00:17:48 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvbaseenc.c:
	  nvenc: Fix deadlock because of too strict buffer pool size
	  The pool size might need to be larger than encoding surface pool size.
	  Also, because we always copy input frame into internal CUDA memory,
	  there's no reason to restrict max size of buffer pool.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1939>

2022-03-12 10:31:13 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  va: Fix a regression because of "Invert video codec frame dependency".
	  1. Always set the according GstVaH264EncFrame pointer when GstVideoCodecFrame
	  pointer is assigned, which can make the logic safe.
	  2. Fix the forgotten change in _sort_by_frame_num. Its input pointer now is
	  GstVideoCodecFrame type.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1935>

2022-03-09 03:45:18 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gstav1decoder.c:
	* gst-libs/gst/codecs/gstav1picture.c:
	* gst-libs/gst/codecs/gstav1picture.h:
	* gst-libs/gst/codecs/gsth264decoder.c:
	* gst-libs/gst/codecs/gsth264picture.c:
	* gst-libs/gst/codecs/gsth264picture.h:
	* gst-libs/gst/codecs/gsth265decoder.c:
	* gst-libs/gst/codecs/gsth265picture.c:
	* gst-libs/gst/codecs/gsth265picture.h:
	* gst-libs/gst/codecs/gstmpeg2decoder.c:
	* gst-libs/gst/codecs/gstmpeg2picture.c:
	* gst-libs/gst/codecs/gstmpeg2picture.h:
	* gst-libs/gst/codecs/gstvp8decoder.c:
	* gst-libs/gst/codecs/gstvp8picture.h:
	* gst-libs/gst/codecs/gstvp9decoder.c:
	* gst-libs/gst/codecs/gstvp9picture.c:
	* gst-libs/gst/codecs/gstvp9picture.h:
	* sys/nvcodec/gstnvh264dec.c:
	* sys/va/gstvah264dec.c:
	  codecs: Rename picture clear functions
	  Our convention for clear method is gst_clear_foo_bar().
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1897>

2022-03-11 23:20:26 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvh265dec.c:
	  nvh265sldec: Always fill SPS/PPS related parameters
	  Address compare was not a valid approach since it works
	  only if SPS/PPS id are changed. Otherwise it will always point to
	  the same address of member variables of h265parser.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1931>

2022-03-11 19:32:59 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth264picture.c:
	  h264decoder: Fix invalid memory access
	  gst_h264_dpb_needs_bump() can be called with null picture
	  in case of live
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1928>

2022-02-10 08:01:02 +0100  Branko Subasic <branko@axis.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/onvif/gstrtponviftimestamp.c:
	* gst/onvif/gstrtponviftimestamp.h:
	* tests/check/elements/rtponviftimestamp.c:
	  rtponviftimestamp: add support for using reference timestamps
	  Make it posible to configure the element to obtain the timestamps from
	  reference timestamp meta data instead of using the ntp-offset property,
	  or estimating its own offset. Currently the only time format supported
	  is "timestamp/x-unix", i.e. UTC time expressed in the unix time epoch.
	  In addition the custom event GstNtpOffset has been renamed to
	  GstOnvifTimestamp, to reflect that it is not necessarily used to convey
	  the ntp-offset. As a consequence we had to modify a couple of files in
	  the rtsp-server as well.
	  Fixes #984
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1683>

2022-03-10 18:40:12 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/sdp/gstsdpdemux.c:
	  sdpdemux: add media attributes to caps to fix ptp clock handling
	  Those are needed by rtpjitterbuffer to do the right thing, e.g.
	  a=ts-refclk:ptp=IEEE1588-2008:00-**-**-**-**-**-**-**:0
	  a=mediaclk:direct=1266592257
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1924>

2022-03-08 16:20:27 +0100  Corentin Damman <c.damman@intopix.com>

	* sys/nvcodec/gstcudaformat.h:
	* sys/nvcodec/gstcudamemorycopy.c:
	  cudamemorycopy: add D3D11 resource support
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1807>

2022-03-09 09:35:16 +0100  Corentin Damman <c.damman@intopix.com>

	* sys/nvcodec/gstcudacontext.c:
	* sys/nvcodec/meson.build:
	  cudacontext: find associated DXGI Adapter LUID
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1807>

2022-02-28 14:40:51 +0100  Corentin Damman <c.damman@intopix.com>

	* sys/nvcodec/gstcudautils.c:
	* sys/nvcodec/gstcudautils.h:
	* sys/nvcodec/meson.build:
	* sys/nvcodec/stub/cuda.h:
	  cudautils: add support of D3D11 resource as Cuda graphics resource type
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1807>

2022-02-28 11:24:31 +0100  Corentin Damman <c.damman@intopix.com>

	* sys/nvcodec/gstcudaloader.c:
	* sys/nvcodec/gstcudaloader.h:
	* sys/nvcodec/stub/cuda.h:
	  cudaloader: add D3D11 API
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1807>

2022-03-10 10:33:56 +0100  Edward Hervey <edward@centricular.com>

	* gst/mpegtsdemux/mpegtsbase.c:
	* gst/mpegtsdemux/mpegtsbase.h:
	  mpegts: Handle glib < 2.58
	  By using a workaround to the lack of g_ptr_array_steal_index.
	  Fixes #1078
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1917>

2022-03-10 15:36:00 +1100  Matthew Waters <matthew@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: fix ulpfecenc passthrough pt
	  ulpfecenc uses a value of pt=255 for passthrough.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1075
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1914>

2022-03-10 02:28:11 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvdec.c:
	* sys/nvcodec/gstnvdec.h:
	  nvh264dec,nvh265dec: Fix broken key-unit trick and reverse playback
	  On GstVideoDecoder::{drain,flush}, we send null packet with
	  CUVID_PKT_ENDOFSTREAM flag to drain out decoder. Which will
	  reset CUVID parser as well.
	  To continue decoding after the drain, the next input buffer
	  should include sequence headers otherwise CUVID parser will
	  not report any decodeable frame.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1911>

2021-11-02 09:20:55 +0100  Edward Hervey <edward@centricular.com>

	* gst/mpegtsdemux/mpegtsbase.c:
	  tsbase: Handle more program updates
	  There could be a case where the new program has the same program number as the
	  previous one ... but is actually located on a PID previously used for elementary
	  stream. In that case the program is guaranteed to not be an update of the
	  previous program but a completely new one.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1893>

2021-11-02 09:18:57 +0100  Edward Hervey <edward@centricular.com>

	* gst/mpegtsdemux/mpegtsbase.c:
	* gst/mpegtsdemux/mpegtsbase.h:
	  mpegtsbase: Use an array to track programs
	  We need to be able to look for programs by their PID also. Using a hash table
	  was a bit sub-par (and overkill) for storing a range of programs.
	  This is needed because there could potentially be two programs with the same
	  program id but different PMT PID (while one is being deactivated the new one
	  would "exist").
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1893>

2022-03-04 13:19:17 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: Invert video codec frame dependency.
	  Instead of using GstMiniObject to hold H264 frame, now it uses a plain
	  structure. Besides, instead of holding a reference to
	  GstVideoCodecFrame, the H264 frame structure is set as a
	  GstVideoCodecFrame user data.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1856>

2022-03-09 02:14:50 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudamemorycopy.c:
	  cudamemorycopy: Fix GL resource leak
	  Clear GL resources on stop()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1896>

2022-03-07 18:46:55 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegtsmux: Start last_ts with GST_CLOCK_TIME_NONE
	  And use the output segment position for the outgoing timestamp while it
	  is. This is needed to delay the calculation of `output_ts_offset` until
	  we actually have a usable timestamp, as tsmux will output a few initial
	  packets while `last_ts` is still unset.
	  Without this, the calculation would use the initial `0` value, which did
	  not have the intended effect of making VBR mode behave like CBR mode,
	  but always calculated an offset equal to the selected start time.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1884>

2022-03-07 18:46:08 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegtsmux: Use GST_CLOCK_STIME_NONE for output_ts_offset
	  It's a GstClockTimeDiff, thus GST_CLOCK_TIME_NONE isn't appropriate.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1884>

2022-03-08 01:26:50 +0900  Seungha Yang <seungha@centricular.com>

	* sys/decklink/linux/DeckLinkAPI.h:
	* sys/decklink/linux/DeckLinkAPIConfiguration.h:
	* sys/decklink/linux/DeckLinkAPIDeckControl.h:
	* sys/decklink/linux/DeckLinkAPIDiscovery.h:
	* sys/decklink/linux/DeckLinkAPIDispatch.cpp:
	* sys/decklink/linux/DeckLinkAPIModes.h:
	* sys/decklink/linux/DeckLinkAPITypes.h:
	* sys/decklink/linux/DeckLinkAPIVersion.h:
	* sys/decklink/linux/LinuxCOM.h:
	* sys/decklink/osx/DeckLinkAPI.h:
	* sys/decklink/osx/DeckLinkAPIConfiguration.h:
	* sys/decklink/osx/DeckLinkAPIDeckControl.h:
	* sys/decklink/osx/DeckLinkAPIDiscovery.h:
	* sys/decklink/osx/DeckLinkAPIDispatch.cpp:
	* sys/decklink/osx/DeckLinkAPIModes.h:
	* sys/decklink/osx/DeckLinkAPIStreaming.h:
	* sys/decklink/osx/DeckLinkAPITypes.h:
	* sys/decklink/osx/DeckLinkAPIVersion.h:
	* sys/decklink/win/DeckLinkAPI.h:
	* sys/decklink/win/DeckLinkAPI_i.c:
	  decklink: Update SDK version to 12.2.2
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1883>

2022-03-08 03:45:01 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudamemorycopy.c:
	  cudamemorycopy: Remove texture-target caps field
	  It's GL specific field, and we can remove it unconditionally
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1865>

2022-03-05 02:30:24 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudaformat.h:
	* sys/nvcodec/gstcudamemorycopy.c:
	* sys/nvcodec/gstcudanvmm.c:
	* sys/nvcodec/gstcudanvmm.h:
	* sys/nvcodec/meson.build:
	* sys/nvcodec/plugin.c:
	  cudaupload,cudadownload: Add support for dGPU NVMM
	  Implement NVMM <-> CUDA, GL, SYSTEM memory conversion. Jetson is
	  not supported yet. Note that NVMM <-> GL interop on Jetson platform
	  is supported by GstGL
	  Some example pipelines are:
	  - Convert NVMM to GstGL memory
	  nvv4l2decoder ! "video/x-raw(memory:NVMM)" ! cudadownload ! "video/x-raw(memory:GLMemory)" ! glimagesink
	  - Upload system memory to NVMM and encode
	  video/x-raw,format=NV12 ! cudaupload ! "video/x-raw(memory:NVMM)" ! nvv4l2h264enc
	  - Convert NVMM to GstCUDA memory and encode
	  nvvideoconvert ! "video/x-raw(memory:NVMM)" ! cudaupload ! "video/x-raw(memory:CUDAMemory)" ! nvh264enc
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1865>

2022-03-03 15:06:00 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvaencoder.c:
	* sys/va/gstvaencoder.h:
	* sys/va/gstvah264enc.c:
	  va: encoder: Don't preallocate reconstruct buffers.
	  It's not required by VA to register the reconstruct buffers at context
	  creation, just as in decoders.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1857>

2022-03-07 10:19:53 +0000  Philippe Normand <philn@igalia.com>

	* tests/check/libs/play.c:
	  gstplay: tests: Keep track of errors/warnings
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1869>

2022-03-07 10:16:36 +0000  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/play/gstplay.c:
	  gstplay: Do not error out on message parsing failures
	  Specially when parsing errors and warnings, the details field can be NULL and
	  the gst_structure_get() call would return FALSE in such cases, triggering false
	  positive errors.
	  Follow-up for #1063
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1869>

2022-03-07 10:14:43 +0000  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/play/gstplay.c:
	* gst-libs/gst/play/gstplay.h:
	  gstplay: Fix warning parsing API
	  The GError is an out parameter, so should be a ** parameter, like the details
	  parameter.
	  See also #1063
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1869>

2022-03-07 18:59:37 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudamemorycopy.c:
	  cudamemorycopy: Fix build when gl is disabled
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1707
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1868>

2022-03-02 09:15:12 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkdec.c:
	  msdkdec: Fix to not trigger SFC scaling when vpp at downstream
	  When there is vpp scaling downstream, we need to make sure SFC is not
	  triggered because vpp may fall into passthrough mode which causes
	  the decoder negotiation to create src caps with vpp scaled width/height.
	  This patch includes bitstream's original size in first query with
	  downstream in gst_msdkdec_src_caps, which is the same for what we do for
	  color format in this query. This is to ensure SFC scaling starts to
	  work only when downstream directly asks for a different size instead of
	  through vpp.
	  Note that here SFC scaling follows the same behavior as msdkvpp:
	  if user only changes width or height, e.g. dec ! video/x-raw,width=xx !,
	  the height will be modified to the value which fits the original DAR.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1838>

2022-03-06 19:18:20 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudautils.c:
	  nvcodec: Add missing null check in context sharing code
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1834>

2022-03-04 03:33:41 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudadownload.c:
	* sys/nvcodec/gstcudadownload.h:
	* sys/nvcodec/gstcudaformat.h:
	* sys/nvcodec/gstcudamemorycopy.c:
	* sys/nvcodec/gstcudamemorycopy.h:
	* sys/nvcodec/gstcudaupload.c:
	* sys/nvcodec/gstcudaupload.h:
	* sys/nvcodec/meson.build:
	* sys/nvcodec/plugin.c:
	  nvcodec: Refactor cudaupload/download and add support for GL memory
	  * Implement new baseclass GstCudaMemoryCopy to remove duplicated
	  cudaupload/download code
	  * Add support for CUDA <-> GL memory conversion via cudaupload/download
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1834>

2022-03-03 03:25:47 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/cuda-converter.c:
	* sys/nvcodec/cuda-converter.h:
	* sys/nvcodec/gstcudabasefilter.c:
	* sys/nvcodec/gstcudabufferpool.c:
	* sys/nvcodec/gstcudadownload.c:
	* sys/nvcodec/gstcudamemory.c:
	* sys/nvcodec/gstcudamemory.h:
	* sys/nvcodec/gstcudaupload.c:
	* sys/nvcodec/gstnvbaseenc.c:
	* sys/nvcodec/gstnvdec.c:
	* sys/nvcodec/gstnvdecoder.c:
	* sys/nvcodec/plugin.c:
	  nvcodec: Refactor GstCudaMemory abstraction
	  * Hide GstCudaMemory member variables
	  * Make GstCudaAllocator object GstCudaContext independent
	  * Set offset/stride of memory correctly via video meta
	  * Drop GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT support.
	  This implementation actually does not support custom alignment
	  because we allocate device memory via cuMemAllocPitch
	  of which alignment is almost uncontrollable
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1834>

2022-03-02 22:03:54 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/cuda-converter.h:
	* sys/nvcodec/gstcudabasefilter.c:
	* sys/nvcodec/gstcudabasefilter.h:
	* sys/nvcodec/gstcudabasetransform.c:
	* sys/nvcodec/gstcudabasetransform.h:
	* sys/nvcodec/gstcudaconvert.c:
	* sys/nvcodec/gstcudadownload.c:
	* sys/nvcodec/gstcudadownload.h:
	* sys/nvcodec/gstcudaformat.h:
	* sys/nvcodec/gstcudaupload.c:
	* sys/nvcodec/gstcudaupload.h:
	  nvcodec: Refactor basetransform subclasses
	  * cudaupload/download
	  - Specify only formats actually we can deal with
	  nvcodec elements, not all video formats
	  - Supports CUDA output for download and input for upload in order
	  to make passthrough possible, like other upload/download elements.
	  * cudabasetransform
	  - Reset conversion element if upstream CUDA memory
	  holds different CUDA context and the element can accept it.
	  This is the same behavior as corresponding d3d11 filter elements.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1834>

2022-03-02 20:55:29 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudabufferpool.c:
	* sys/nvcodec/gstcudabufferpool.h:
	  cudabufferpool: Move GstCudaContext object to public member
	  ... so that plugins can understand assosicated cuda context with the
	  pool.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1834>

2022-03-03 02:48:17 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudacontext.c:
	* sys/nvcodec/gstcudacontext.h:
	* sys/nvcodec/gstcudautils.c:
	  cudacontext: Require explicit gpu id instead of auto (-1)
	  Sync up with GstD3D11Device implementation. The auto stuff should
	  be handled in context sharing step, not device creation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1834>

2022-03-03 03:24:14 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudaloader.c:
	* sys/nvcodec/gstcudamemory.c:
	* sys/nvcodec/gstcudascale.c:
	* sys/nvcodec/gstcuvidloader.c:
	* sys/nvcodec/gstnvrtcloader.c:
	  nvcodec: Indent update
	  ... to prevent gnu indent version dependent diffs.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1834>

2022-03-02 05:01:42 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudacontext.c:
	  cudacontext: Remove unnecessary cuInit() call
	  It's already called at plugin init time
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1834>

2022-03-05 11:35:29 +0800  He Junyan <junyan.he@intel.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: Add a comment when the detection of TU fails.
	  Also update the print message.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1863>

2022-03-04 16:48:54 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/camerabin2/gstwrappercamerabinsrc.c:
	  camerabin: Remove drain query
	  This was to support very old V4L2 kernel. As we moved to DMABuf and can now
	  detach buffers on renegotiation, the buffer it tries to fix no longer exist.
	  The risk to blocking indefinitly the application does still exist though.
	  Fixes #1070
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1861>

2022-03-03 23:00:41 +0800  He Junyan <junyan.he@intel.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: check the error return when parse_alignment_from_caps()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1837>

2022-03-03 22:38:56 +0800  He Junyan <junyan.he@intel.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: Use the intersected caps to decide the alignment.
	  When we negotiate with downstream, We should use the intersected
	  caps of input and output to decide the alignment and stream format.
	  The current code just uses the input caps which may lack the stream
	  format.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1837>

2022-03-03 21:30:00 +0800  He Junyan <junyan.he@intel.com>

	* gst/ivfparse/gstivfparse.c:
	  ivfparse: Set the alignment to tu for AV1 stream.
	  Just do the same as other demux.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1837>

2022-03-03 17:51:11 +0800  He Junyan <junyan.he@intel.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: Only detect the stream format when input alignment is tu.
	  The demux now outputs the AV1 stream in "tu" alignment, so we do not need
	  to detect the input alignment. But the annex b stream format is not recognized
	  by the demux, we still need to detect that stream format for the first input.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1837>

2022-03-02 16:22:25 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: Save the default alignment
	  Otherwise the transformation is not applied and decoders may not
	  get the appropriate format despite the caps being negotiated
	  correctly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1837>

2022-03-02 16:20:31 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: Remove duplicated check
	  The case of both strings being empty is already checked in the
	  helper function. No functional changes.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1837>

2022-03-04 10:02:56 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/videoparsers/gstvp9parse.c:
	  vp9parse: Fix auto-plugging of HW frame decoder
	  Decoders that required frame aligmment and didn't have an associated
	  alpha decoder were skipped. This is because the parser was constructing
	  caps based on the software alpha decoder, which specify super-frame
	  alignment.
	  Iterate over the caps to filter the one that have a matching codec-alpha, with
	  the semantic the no codec-alpha field means codec-alpha=false. Then if
	  everything was removed, callback to the original, so that the first non-alpha
	  decoder will be picked.
	  Fixes #820
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1855>

2022-03-04 14:17:47 +0100  Edward Hervey <edward@centricular.com>

	* gst/mpegtsdemux/tsdemux.c:
	  tsdemux: Handle PES headers bigger than a mpeg-ts packet
	  While the actual PES header parser could notify us that it needed more data, we
	  would never actually act on it.
	  This commit will accumulate incoming packets in such situation and re-attempt
	  the header parsing.
	  Fixes #1027
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1852>

2022-03-03 11:32:23 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvabasetransform.c:
	  va: basetransform: Add device-path read-only property.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1844>

2022-03-03 11:05:36 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvabasedec.c:
	* sys/va/gstvabasedec.h:
	  va: basedec: Add device-path read-only property.
	  And elements will notify the used device-path if display is DRM.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1844>

2022-03-04 13:34:50 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: Remove GST_PARAM_CONDITIONALLY_AVAILABLE.
	  Since it's used only when the property is conditionally installed, and
	  these parameters are always installed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1845>

2022-03-04 09:15:42 +0100  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaencoder.c:
	  va: encoder: Clean dead code.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1845>

2022-03-03 14:08:16 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvaencoder.c:
	  va: encoder: Fix error code path when open.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1845>

2022-03-03 13:57:35 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: Remove preferred_output_delay.
	  In the current state of the encoder it's just dead code.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1845>

2022-03-03 09:59:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvaencoder.c:
	* sys/va/gstvaencoder.h:
	* sys/va/gstvah264enc.c:
	  vah264enc: Avoid mapping coded buffer twice.
	  Currently for copying the coded buffer onto a GStreamer buffer, the
	  coded buffer is mapped two times: one for getting the size, and later
	  for do the actual copy. We can avoid this by doing directly in the
	  element rather than in the general encoder object.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1845>

2022-03-02 20:53:16 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvaencoder.c:
	* sys/va/gstvaencoder.h:
	* sys/va/gstvah264enc.c:
	  vah264enc: Single parameter array per picture.
	  There's no need, at least in H.264, to hold a global parameter array,
	  since there's no need to submit SPS, trellis, hdr or quality in every
	  buffer, but only on IDR ones.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1845>

2022-03-02 20:06:01 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/plugin.c:
	  va: Fix log message
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1845>

2022-03-04 09:57:02 +0000  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/play/gstplay.c:
	* gst-libs/gst/play/gstplay.h:
	  play: Fix error parsing API
	  The GError is an out parameter, so should be a ** parameter, like the details
	  parameter.
	  Fixes #1063
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1849>

2021-08-03 12:14:49 +1000  Matthew Waters <matthew@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	* ext/webrtc/transportstream.c:
	* ext/webrtc/transportstream.h:
	* ext/webrtc/webrtctransceiver.c:
	* ext/webrtc/webrtctransceiver.h:
	* tests/check/elements/webrtcbin.c:
	  webrtc: support renegotiating adding/removing RTX
	  We need to always add the RTX/RED/ULPFEC elements as rtpbin will only
	  call us once to request aux/fec senders/receivers.
	  We also need to regenerate the media section of the SDP instead of
	  blindly copying from the previous offer.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1762>

2022-03-01 11:43:09 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkenc.c:
	  msdkenc: Change default ref frames number as 0
	  When user does not set ref-frames in pipeline, we should let MediaSDK
	  decide the reference frame number via setting default value as 0 at
	  gstreamer side.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1839>

2022-03-04 04:18:06 +0900  Seungha Yang <seungha@centricular.com>

	* sys/wic/meson.build:
	  meson: wic: Fix typo
	  Should check WIC build option, not MediaFoundation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1847>

2022-03-03 04:22:15 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvdecoder.h:
	* sys/qsv/gstqsvencoder.h:
	* sys/qsv/gstqsvh264dec.cpp:
	* sys/qsv/gstqsvh264enc.cpp:
	* sys/qsv/gstqsvh265enc.cpp:
	* sys/qsv/gstqsvvp9enc.cpp:
	  qsv: Remove strcpy for DRM device path
	  Simplify code. It's just one-time allocation, so don't need to worry
	  about leaking.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1835>

2022-03-03 04:57:42 +0900  Seungha Yang <seungha@centricular.com>

	* sys/msdk/gstmsdkcontext.c:
	  msdk: Don't print error log for missing DRM device path
	  It's expected in case that such DRM device is unavailable for some reasons,
	  specifically non-Intel platform or so
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1836>

2022-01-30 03:11:37 +0900  Seungha Yang <seungha@centricular.com>

	* meson_options.txt:
	* sys/meson.build:
	* sys/wic/gstwicdecoder.cpp:
	* sys/wic/gstwicdecoder.h:
	* sys/wic/gstwicimagingfactory.cpp:
	* sys/wic/gstwicimagingfactory.h:
	* sys/wic/gstwicjpegdec.cpp:
	* sys/wic/gstwicjpegdec.h:
	* sys/wic/gstwicpngdec.cpp:
	* sys/wic/gstwicpngdec.h:
	* sys/wic/gstwicutils.cpp:
	* sys/wic/gstwicutils.h:
	* sys/wic/meson.build:
	* sys/wic/plugin.cpp:
	  wic: Add support for JPEG and PNG decoding
	  Adding Windows Imaging Component (WIC) plugin with JPEG/PNG decoding
	  support.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1605>

2022-03-02 06:17:22 +0900  Seungha Yang <seungha@centricular.com>

	* sys/directshow/gstdshow.cpp:
	* sys/directshow/gstdshowvideodec.cpp:
	  directshow: Fix for division by zero
	  The AvgTimePerFrame value may be unknown. Use arbitrary
	  value (30 fps) instead of crashing.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1828>

2022-02-20 03:59:32 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvallocator.cpp:
	* sys/qsv/gstqsvallocator.h:
	* sys/qsv/gstqsvallocator_d3d11.cpp:
	* sys/qsv/gstqsvallocator_va.cpp:
	* sys/qsv/gstqsvdecoder.cpp:
	* sys/qsv/gstqsvdecoder.h:
	* sys/qsv/gstqsvencoder.cpp:
	* sys/qsv/gstqsvh264dec.cpp:
	* sys/qsv/gstqsvh264dec.h:
	* sys/qsv/gstqsvutils.h:
	* sys/qsv/meson.build:
	* sys/qsv/plugin.cpp:
	  qsv: Add H.264 decoder
	  Initial decoder implementation with baseclass
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1786>

2022-02-21 10:49:15 +0100  Sebastian Fricke <sebastian.fricke@collabora.com>

	* ext/wpe/WPEThreadedView.cpp:
	* ext/wpe/gstwpe.cpp:
	* ext/wpe/gstwpe.h:
	  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>

2022-02-21 12:26:49 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* docs/plugins/gst_plugins_cache.json:
	  docs: Add vah264enc metadata.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051>

2021-10-05 01:53:19 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/plugin.c:
	  va: enable the H264 encoder.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051>

2021-10-05 01:51:48 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	* sys/va/gstvah264enc.h:
	* sys/va/meson.build:
	  va: Add H264 encoder.
	  This a new VA-API implementation of a H264 encoder.
	  It can control the GOP and parameter settings, while the MV searching,
	  VCL and the rate control algorithm are implemented by VA drivers and HW.
	  It supports most of the common usage options in H264, but still lacks
	  of look ahead, field, B frame weighted prediction, etc.
	  Co-authored-by: Victor Jaquez <vjaquez@igalia.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051>

2021-10-05 01:50:07 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaencoder.c:
	* sys/va/gstvaencoder.h:
	* sys/va/meson.build:
	  va: Add a common encoder object.
	  As the counterpart of the va decoder, this class handles all the
	  common logic for the encoding routine and miscellaneous queries about
	  encoding.
	  Co-authored-by: Victor Jaquez <vjaquez@igalia.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051>

2022-01-20 21:44:20 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/vacompat.h:
	  va: Add vacompat.h to wrap glib functions.
	  The g_queue_clear_full() and g_array_copy() functions in the glib
	  may not be available for the current glib version check, so we add
	  helper functions to wrap it.
	  This should be deleted after the glib version bumps.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051>

2021-10-21 22:56:23 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaprofile.c:
	* sys/va/gstvaprofile.h:
	  va: Add the profile string name into the profile_map.
	  We also add a helper function of gst_va_profile_from_name to get
	  the VA profile value by its profile string name.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051>

2021-10-05 01:53:47 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaprofile.c:
	  va: Change the H264 profile string order in the profile_map.
	  The first one should be the one that matches the VA profile's name
	  most precisely.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051>

2021-10-05 01:45:25 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvacaps.c:
	* sys/va/gstvacaps.h:
	  va: caps: Expose gst_va_create_coded_caps as helper function.
	  And allow free indentation for array declaration.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051>

2021-10-05 01:43:28 +0800  He Junyan <junyan.he@intel.com>

	* tests/check/libs/h264bitwriter.c:
	* tests/check/meson.build:
	  test: Add test cases for the H264 bitwriter.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051>

2021-10-05 01:42:41 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gsth264bitwriter.c:
	* gst-libs/gst/codecparsers/gsth264bitwriter.h:
	* gst-libs/gst/codecparsers/meson.build:
	  codecparsers: bitwriter: Add the common bit writer functions for H264.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051>

2021-10-05 01:41:07 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/nalutils.c:
	* gst-libs/gst/codecparsers/nalutils.h:
	  codecparsers: nalutils: Add nal_writer_reset_and_get_data help function.
	  We not only want to create a NAL gstmemory, but also need to create and
	  get the raw data of a NAL writer for the later usage.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051>

2022-02-28 16:33:23 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* ext/gs/meson.build:
	  gs: look for google_cloud_cpp_storage.pc
	  storage_client.pc was legacy and has been removed:
	  https://github.com/googleapis/google-cloud-cpp/commit/df6fa3611cdfbc37d40e1451afa91fd7d2e7d5f7#diff-bc35ad7c2fe631fd5578a06092412dba81c7ddd27bb25df7e17bb13771799afcL743
	  No need to keep looking for storage_client.pc as a fallback as 1.25.0,
	  our minimum version, already ships google_cloud_cpp_storage.pc
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1815>

2022-02-25 15:00:05 +0800  jinsl00000 <jinsl00000@msn.cn>

	* sys/ipcpipeline/gstipcpipelinecomm.c:
	* sys/ipcpipeline/meson.build:
	  ipcpipeline: fix crash and error on windows with SOCKET or _pipe()
	  The fd was in different meanings on windows:
	  POSIX read and write use the fd as a file descriptor.
	  The gst_poll use the fd as a WSASocket.
	  This patch use WSASocket as default on windows. This is a temporary measure, because IPC has many different implement. There may be a better way in the future.
	  See #1044
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1791>

2022-02-14 16:15:46 +0800  Wu Tong <tong1.wu@intel.com>

	* sys/msdk/gstmsdkcontextutil.c:
	* sys/msdk/gstmsdkenc.c:
	  MSDK: Add _context_query() and avoid compile error on Windows
	  To avoid compile error on Windows, macro definitions are added to suppress va
	  variables. In the meantime, add function _context_query() to query
	  context on Windows.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1693>

2022-02-24 20:26:46 +0530  Sanchayan Maity <sanchayan@asymptotic.io>

	* ext/ldac/gstldacenc.c:
	  ldac: Set eqmid in caps
	  We set the eqmid in caps to be usable downstream by rtpldacpay for
	  knowing the frame count.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1797>

2022-01-31 16:13:32 +0200  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst/mpegtsmux/gstbasetsmux.c:
	  tsmux: Skip empty buffers
	  They can be created e.g. by aggregator when there is a gap. Such buffers
	  should not be muxed at all.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1611>

2022-02-21 11:37:26 -0500  Xavier Claessens <xavier.claessens@collabora.com>

	* data/meson.build:
	* ext/voamrwbenc/meson.build:
	* gst/freeverb/meson.build:
	  devenv: Add some missing GStreamer specific env variables
	  This should make "meson devenv" closer to what "gst-env.py" sets.
	  - GST_VALIDATE_SCENARIOS_PATH
	  - GST_VALIDATE_APPS_DIR
	  - GST_OMX_CONFIG_DIR
	  - GST_ENCODING_TARGET_PATH
	  - GST_PRESET_PATH
	  - GST_PLUGIN_SCANNER
	  - GST_PTP_HELPER
	  - _GI_OVERRIDES_PATH
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1768>

2018-12-05 01:22:48 +0100  Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>

	* ext/fdkaac/gstfdkaacdec.c:
	* ext/fdkaac/gstfdkaacdec.h:
	  fdkaacdec: Support arbitrary channel configs
	  Try to match the config to GStreamer positions. If something doesn't
	  fit, fall back to a set of unpositioned channels.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1561>

2018-12-05 01:07:19 +0100  Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>

	* ext/fdkaac/gstfdkaacdec.c:
	* ext/fdkaac/gstfdkaacdec.h:
	  fdkaacdec: Use predefined channel layouts
	  This limits the decoder to the layouts predefined for the encoder
	  (including the MPEG standard layouts) but greatly simplifies the
	  implementation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1561>

2022-02-01 14:51:27 +0200  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst/mpegtsmux/gstbasetsmux.c:
	* gst/mpegtsmux/gstbasetsmux.h:
	  tsmux: Lock mux->tsmux, the programs hash table, and pad streams
	  They contain implementations that are not thread-safe (e.g. GList, GHashTable).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1616>

2022-02-17 15:16:40 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkdec.c:
	  msdkdec: Fix uninitialized variables
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1731>

2022-02-17 15:12:52 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkdec.c:
	* sys/msdk/gstmsdkvpp.c:
	  msdk: Fix unchecked return values
	  There are several calls of gst_video_info_from_caps and gst_video_frame_copy
	  without checks for the returned values. This patch adds all necessary
	  function return checks.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1738>

2022-02-22 05:19:51 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvencoder.cpp:
	  qsvencoder: Fix caps leak in Linux build
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1769>

2022-02-22 05:15:04 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/plugin.cpp:
	  qsv: Fix debug category name of qsvallocator
	  Remove gst prefix to make $env:GST_DEBUG="qsv*:6" work for qsvallocator
	  as well
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1769>

2022-02-21 16:45:50 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* docs/plugins/gst_plugins_cache.json:
	  bad:docs: Add vaav1dec in documentation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1773>

2022-02-21 14:17:11 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11memory.cpp:
	* gst-libs/gst/d3d11/gstd3d11memory.h:
	  d3d11: Remove non-existing gst_d3d11_memory_get_type() API from header
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1764>

2022-02-14 23:30:45 +0300  Dmitry Osipenko <dmitry.osipenko@collabora.com>

	* sys/v4l2codecs/gstv4l2format.c:
	* sys/v4l2codecs/gstv4l2format.h:
	  v4l2codecs: Support YUV420M format
	  YUV420M format of V4L essentially is I420 with separate memory planes.
	  It's used by NVIDIA Tegra V4L decoder. Support this format by v4l2codecs.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1727>

2022-02-20 23:59:46 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11screencapturesrc.cpp:
	  d3d11screencapturesrc: Use staging buffer pool for performance
	  By using staging pool/buffer, we can avoid per frame
	  staging texture -> system memory copy.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1756>

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-01-26 13:39:40 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2format.c:
	* sys/v4l2codecs/gstv4l2format.h:
	  v4l2codecs: Enable MediaTek MM21 (NV12_16L32S)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1567>

2022-01-19 15:53:05 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2format.c:
	  v4l2codecs: Add support for multi planar buffers
	  V4L2 have some pixel formats that produces 2 dmabuf, this add
	  support for these format.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1567>

2022-01-25 14:08:47 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/wayland/wlshmallocator.c:
	* sys/kms/gstkmsallocator.c:
	* sys/v4l2codecs/gstv4l2format.c:
	  Port plugins to gst_video_format_info_extrapolate_stride()
	  This reduces code duplication and simplify addition of new
	  pixel formats into related plugins.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1567>

2022-02-20 06:36:45 +0900  Seungha Yang <seungha@centricular.com>

	* sys/winscreencap/dxgicapture.c:
	* sys/winscreencap/dxgicapture.h:
	* sys/winscreencap/gstdxgiscreencapsrc.c:
	* sys/winscreencap/gstdxgiscreencapsrc.h:
	* sys/winscreencap/gstwinscreencap.c:
	* sys/winscreencap/meson.build:
	  winscreencap: Remove dxgiscreencapsrc element
	  We have the d3d11screencapturesrc element in d3d11 plugin
	  which is obviously better than this element in terms of performance
	  and design, so we don't need to make people be confused by two separate elements.
	  Let's pick the better implementation and remove unnecessary one.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1750>

2022-02-08 15:23:17 +0100  Jan Alexander Steffens (heftig) <heftig@archlinux.org>

	* ext/wpe/meson.build:
	  wpe: Clean up build script
	  Use feature.require to check for gstgl and exit early if 'wpe' is
	  disabled (don't even check for wpe-webkit-1.1).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1668>

2022-02-19 00:37:34 +0900  Seungha Yang <seungha@centricular.com>

	* sys/directshow/dshowvideosink.cpp:
	* sys/directshow/gstdshowaudiodec.h:
	  directshow: Fix build warnings
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1744>

2022-02-19 00:14:38 +0900  Seungha Yang <seungha@centricular.com>

	* sys/directshow/dshowdecwrapper/gstdshowdecwrapper.cpp:
	* sys/directshow/dshowdecwrapper/gstdshowdecwrapper.h:
	* sys/directshow/dshowdecwrapper/meson.build:
	* sys/directshow/dshowdeviceprovider.cpp:
	* sys/directshow/dshowdeviceprovider.h:
	* sys/directshow/dshowsinkwrapper/meson.build:
	* sys/directshow/dshowsrcwrapper/meson.build:
	* sys/directshow/dshowvideofakesrc.cpp:
	* sys/directshow/dshowvideofakesrc.h:
	* sys/directshow/dshowvideosink.cpp:
	* sys/directshow/dshowvideosink.h:
	* sys/directshow/gstdshow.cpp:
	* sys/directshow/gstdshow.h:
	* sys/directshow/gstdshowaudiodec.cpp:
	* sys/directshow/gstdshowaudiodec.h:
	* sys/directshow/gstdshowaudiosrc.cpp:
	* sys/directshow/gstdshowaudiosrc.h:
	* sys/directshow/gstdshowfakesink.cpp:
	* sys/directshow/gstdshowfakesink.h:
	* sys/directshow/gstdshowfakesrc.cpp:
	* sys/directshow/gstdshowfakesrc.h:
	* sys/directshow/gstdshowutil.cpp:
	* sys/directshow/gstdshowutil.h:
	* sys/directshow/gstdshowvideodec.cpp:
	* sys/directshow/gstdshowvideodec.h:
	* sys/directshow/gstdshowvideosrc.cpp:
	* sys/directshow/gstdshowvideosrc.h:
	* sys/directshow/meson.build:
	* sys/directshow/plugin.cpp:
	  directshow: Merge plugins into single directshow plugin
	  ... and lower rank of dshowvideosink and dshowdeviceprovider
	  to GST_RANK_MARGINAL since we don't prefer this plugin
	  by default
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1744>

2022-02-19 00:12:55 +0900  Seungha Yang <seungha@centricular.com>

	* sys/directshow/dshowdecwrapper/gstdshowaudiodec.cpp:
	* sys/directshow/dshowdecwrapper/gstdshowaudiodec.h:
	* sys/directshow/dshowdecwrapper/gstdshowfakesrc.cpp:
	* sys/directshow/dshowdecwrapper/gstdshowfakesrc.h:
	* sys/directshow/dshowdecwrapper/gstdshowutil.cpp:
	* sys/directshow/dshowdecwrapper/gstdshowutil.h:
	* sys/directshow/dshowdecwrapper/gstdshowvideodec.cpp:
	* sys/directshow/dshowdecwrapper/gstdshowvideodec.h:
	* sys/directshow/dshowsinkwrapper/dshowvideofakesrc.cpp:
	* sys/directshow/dshowsinkwrapper/dshowvideosink.cpp:
	* sys/directshow/dshowsinkwrapper/dshowvideosink.h:
	* sys/directshow/dshowsrcwrapper/gstdshow.h:
	* sys/directshow/dshowsrcwrapper/gstdshowaudiosrc.h:
	* sys/directshow/dshowsrcwrapper/gstdshowsrcwrapper.cpp:
	* sys/directshow/dshowsrcwrapper/gstdshowvideosrc.cpp:
	* sys/directshow/dshowsrcwrapper/gstdshowvideosrc.h:
	  directshow: Remove white spaces
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1744>

2021-10-19 16:10:06 -0300  Martin Reboredo <yakoyoku@gmail.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/vulkan/gstvulkan.c:
	* ext/vulkan/gstvulkanelements.h:
	* ext/vulkan/meson.build:
	* ext/vulkan/vkshaderspv.c:
	* ext/vulkan/vkshaderspv.h:
	  vulkanshaderspv: SPIRV based filter
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1197>

2022-02-18 16:23:09 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	  v4l2codecs: vp9: Fix reset_frame_context parameter
	  It was assumed that the kernel parameters would match with the bitstream value
	  but instead the author when with another set of value. Surprisingly, this
	  makes no difference with the resulting fluster score.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1748>

2022-02-18 16:02:27 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	  v4l2codecs: vp9: Only fill compressed headers if needed
	  Fixes: 13944cf3ee871722 ("v4l2codecs: vp9: Make compressed hdr control optional")
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1748>

2022-01-14 23:42:27 -0600  Tim Mooney <Tim.Mooney@ndsu.edu>

	* sys/v4l2codecs/linux/types-compat.h:
	  v4l2: include <sys/ioccom.h> on Illumos
	  Needed for _IOR/_IORW
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1524>

2022-01-26 21:06:45 +0100  Loic Le Page <llepage@fluendo.com>

	* sys/directshow/dshowsinkwrapper/dshowvideofakesrc.cpp:
	* sys/directshow/dshowsinkwrapper/dshowvideofakesrc.h:
	* sys/directshow/dshowsinkwrapper/dshowvideosink.cpp:
	* sys/directshow/dshowsinkwrapper/dshowvideosink.h:
	* sys/directshow/dshowsinkwrapper/meson.build:
	* sys/directshow/dshowvideosink/README:
	* sys/directshow/meson.build:
	  Add build files and fix build for gst-plugins-bad dshowsinkwrapper plugin
	  dshowsinkwrapper plugin is the old dshowvideosink plugin that has been
	  renamed to be compliant with the actuel plugin name in the source code.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1577>

2022-01-26 21:03:10 +0100  Loic Le Page <llepage@fluendo.com>

	* sys/directshow/dshowsrcwrapper/BUILD.txt:
	* sys/directshow/dshowsrcwrapper/CMakeLists.txt:
	* sys/directshow/dshowsrcwrapper/gstdshowvideosrc.cpp:
	* sys/directshow/dshowsrcwrapper/meson.build:
	* sys/directshow/meson.build:
	  Add build files and fix build for gst-plugins-bad dshowsrcwrapper plugin
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1577>

2022-01-26 20:58:12 +0100  Loic Le Page <llepage@fluendo.com>

	* sys/directshow/dshowdecwrapper/CMakeLists.txt:
	* sys/directshow/dshowdecwrapper/gstdshowvideodec.cpp:
	* sys/directshow/dshowdecwrapper/meson.build:
	* sys/directshow/meson.build:
	  Add build files and fix build for gst-plugins-bad dshowdecwrapper plugin
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1577>

2022-01-26 20:43:09 +0100  Loic Le Page <llepage@fluendo.com>

	* meson_options.txt:
	* sys/directshow/meson.build:
	* sys/directshow/strmbase/LICENSE:
	* sys/directshow/strmbase/baseclasses/amextra.cpp:
	* sys/directshow/strmbase/baseclasses/amextra.h:
	* sys/directshow/strmbase/baseclasses/amfilter.cpp:
	* sys/directshow/strmbase/baseclasses/amfilter.h:
	* sys/directshow/strmbase/baseclasses/amvideo.cpp:
	* sys/directshow/strmbase/baseclasses/arithutil.cpp:
	* sys/directshow/strmbase/baseclasses/cache.h:
	* sys/directshow/strmbase/baseclasses/checkbmi.h:
	* sys/directshow/strmbase/baseclasses/combase.cpp:
	* sys/directshow/strmbase/baseclasses/combase.h:
	* sys/directshow/strmbase/baseclasses/cprop.cpp:
	* sys/directshow/strmbase/baseclasses/cprop.h:
	* sys/directshow/strmbase/baseclasses/ctlutil.cpp:
	* sys/directshow/strmbase/baseclasses/ctlutil.h:
	* sys/directshow/strmbase/baseclasses/ddmm.cpp:
	* sys/directshow/strmbase/baseclasses/ddmm.h:
	* sys/directshow/strmbase/baseclasses/dllentry.cpp:
	* sys/directshow/strmbase/baseclasses/dllsetup.cpp:
	* sys/directshow/strmbase/baseclasses/dllsetup.h:
	* sys/directshow/strmbase/baseclasses/dxmperf.h:
	* sys/directshow/strmbase/baseclasses/fourcc.h:
	* sys/directshow/strmbase/baseclasses/measure.h:
	* sys/directshow/strmbase/baseclasses/msgthrd.h:
	* sys/directshow/strmbase/baseclasses/mtype.cpp:
	* sys/directshow/strmbase/baseclasses/mtype.h:
	* sys/directshow/strmbase/baseclasses/outputq.cpp:
	* sys/directshow/strmbase/baseclasses/outputq.h:
	* sys/directshow/strmbase/baseclasses/perflog.cpp:
	* sys/directshow/strmbase/baseclasses/perflog.h:
	* sys/directshow/strmbase/baseclasses/perfstruct.h:
	* sys/directshow/strmbase/baseclasses/pstream.cpp:
	* sys/directshow/strmbase/baseclasses/pstream.h:
	* sys/directshow/strmbase/baseclasses/pullpin.cpp:
	* sys/directshow/strmbase/baseclasses/pullpin.h:
	* sys/directshow/strmbase/baseclasses/refclock.cpp:
	* sys/directshow/strmbase/baseclasses/refclock.h:
	* sys/directshow/strmbase/baseclasses/reftime.h:
	* sys/directshow/strmbase/baseclasses/renbase.cpp:
	* sys/directshow/strmbase/baseclasses/renbase.h:
	* sys/directshow/strmbase/baseclasses/schedule.cpp:
	* sys/directshow/strmbase/baseclasses/schedule.h:
	* sys/directshow/strmbase/baseclasses/seekpt.cpp:
	* sys/directshow/strmbase/baseclasses/seekpt.h:
	* sys/directshow/strmbase/baseclasses/source.cpp:
	* sys/directshow/strmbase/baseclasses/source.h:
	* sys/directshow/strmbase/baseclasses/streams.h:
	* sys/directshow/strmbase/baseclasses/strmctl.cpp:
	* sys/directshow/strmbase/baseclasses/strmctl.h:
	* sys/directshow/strmbase/baseclasses/sysclock.cpp:
	* sys/directshow/strmbase/baseclasses/sysclock.h:
	* sys/directshow/strmbase/baseclasses/transfrm.cpp:
	* sys/directshow/strmbase/baseclasses/transfrm.h:
	* sys/directshow/strmbase/baseclasses/transip.cpp:
	* sys/directshow/strmbase/baseclasses/transip.h:
	* sys/directshow/strmbase/baseclasses/videoctl.cpp:
	* sys/directshow/strmbase/baseclasses/videoctl.h:
	* sys/directshow/strmbase/baseclasses/vtrans.cpp:
	* sys/directshow/strmbase/baseclasses/vtrans.h:
	* sys/directshow/strmbase/baseclasses/winctrl.cpp:
	* sys/directshow/strmbase/baseclasses/winctrl.h:
	* sys/directshow/strmbase/baseclasses/winutil.cpp:
	* sys/directshow/strmbase/baseclasses/winutil.h:
	* sys/directshow/strmbase/baseclasses/wxdebug.cpp:
	* sys/directshow/strmbase/baseclasses/wxdebug.h:
	* sys/directshow/strmbase/baseclasses/wxlist.cpp:
	* sys/directshow/strmbase/baseclasses/wxlist.h:
	* sys/directshow/strmbase/baseclasses/wxutil.cpp:
	* sys/directshow/strmbase/baseclasses/wxutil.h:
	* sys/directshow/strmbase/meson.build:
	* sys/meson.build:
	  Add directshow strmbase library source code from Microsoft repo
	  Original repo is here:
	  https://github.com/microsoft/Windows-classic-samples
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1577>

2022-02-16 14:53:12 +0100  Loïc Le Page <llepage@fluendo.com>

	* sys/directshow/dshowdecwrapper/CMakeLists.txt:
	* sys/directshow/dshowdecwrapper/gstdshowaudiodec.cpp:
	* sys/directshow/dshowdecwrapper/gstdshowaudiodec.h:
	* sys/directshow/dshowdecwrapper/gstdshowdecwrapper.cpp:
	* sys/directshow/dshowdecwrapper/gstdshowdecwrapper.h:
	* sys/directshow/dshowdecwrapper/gstdshowfakesrc.cpp:
	* sys/directshow/dshowdecwrapper/gstdshowfakesrc.h:
	* sys/directshow/dshowdecwrapper/gstdshowutil.cpp:
	* sys/directshow/dshowdecwrapper/gstdshowutil.h:
	* sys/directshow/dshowdecwrapper/gstdshowvideodec.cpp:
	* sys/directshow/dshowdecwrapper/gstdshowvideodec.h:
	* sys/directshow/dshowsrcwrapper/BUILD.txt:
	* sys/directshow/dshowsrcwrapper/CMakeLists.txt:
	* sys/directshow/dshowsrcwrapper/dshowdeviceprovider.cpp:
	* sys/directshow/dshowsrcwrapper/dshowdeviceprovider.h:
	* sys/directshow/dshowsrcwrapper/gstdshow.cpp:
	* sys/directshow/dshowsrcwrapper/gstdshow.h:
	* sys/directshow/dshowsrcwrapper/gstdshowaudiosrc.cpp:
	* sys/directshow/dshowsrcwrapper/gstdshowaudiosrc.h:
	* sys/directshow/dshowsrcwrapper/gstdshowfakesink.cpp:
	* sys/directshow/dshowsrcwrapper/gstdshowfakesink.h:
	* sys/directshow/dshowsrcwrapper/gstdshowsrcwrapper.cpp:
	* sys/directshow/dshowsrcwrapper/gstdshowvideosrc.cpp:
	* sys/directshow/dshowsrcwrapper/gstdshowvideosrc.h:
	* sys/directshow/dshowvideosink/README:
	* sys/directshow/dshowvideosink/dshowvideofakesrc.cpp:
	* sys/directshow/dshowvideosink/dshowvideofakesrc.h:
	* sys/directshow/dshowvideosink/dshowvideosink.cpp:
	* sys/directshow/dshowvideosink/dshowvideosink.h:
	  Move all directshow plugins to the same sub-folder
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1577>

2022-01-15 00:04:05 -0600  Tim Mooney <Tim.Mooney@ndsu.edu>

	* ext/curl/meson.build:
	* gst/festival/meson.build:
	* meson.build:
	* sys/shm/meson.build:
	  meson: check for libsocket and libnsl
	  If present, add '-lsocket' and '-lnsl' to network_deps.
	  ext/curl/meson.build: add network_deps to dependencies
	  gst/festival/meson.build: same
	  sys/shm/meson.build: same
	  Fixes linking issues on Illumos distros.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1525>

2022-02-14 22:59:01 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11_private.h:
	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* gst-libs/gst/d3d11/gstd3d11format.h:
	* sys/d3d11/gstd3d11converter.cpp:
	* tests/check/elements/d3d11colorconvert.c:
	  d3d11: Add support for AYUV, AYUV64, and RGBA64_LE formats
	  Note that AYUV and AYUV64 formats will be used to expand format
	  support, especially some packed YUV formats (e.g., Y410, YUY2)
	  are common DXGI formats used for hardware decoder/encoder on Windows
	  but those formats cannot be used as a render target. We need to handle
	  them differently without pixel shader help, using compute shader
	  for example.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1699>

2022-02-13 20:32:48 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11_private.h:
	* gst-libs/gst/d3d11/gstd3d11bufferpool.cpp:
	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* gst-libs/gst/d3d11/gstd3d11format.cpp:
	* gst-libs/gst/d3d11/gstd3d11format.h:
	* gst-libs/gst/d3d11/gstd3d11memory.cpp:
	* gst-libs/gst/d3d11/gstd3d11stagingbufferpool.cpp:
	  d3d11: Reorganize format mapping table
	  ... and handle GST <-> D3D11 format mapping in a single place to
	  make adding format easier
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1699>

2022-02-13 04:36:39 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11bufferpool.cpp:
	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* gst-libs/gst/d3d11/gstd3d11device.h:
	* gst-libs/gst/d3d11/gstd3d11format.cpp:
	* gst-libs/gst/d3d11/gstd3d11format.h:
	* gst-libs/gst/d3d11/gstd3d11memory.cpp:
	* gst-libs/gst/d3d11/gstd3d11memory.h:
	* gst-libs/gst/d3d11/gstd3d11stagingbufferpool.cpp:
	* sys/d3d11/gstd3d11convert.cpp:
	* sys/d3d11/gstd3d11converter.cpp:
	* sys/d3d11/gstd3d11decoder.cpp:
	* sys/d3d11/gstd3d11pluginutils.cpp:
	* sys/d3d11/gstd3d11upload.cpp:
	* sys/d3d11/gstd3d11window.cpp:
	* sys/d3d11/gstd3d11window_dummy.cpp:
	* sys/mediafoundation/plugin.cpp:
	  d3d11: Store device format in struct
	  Holding pointer to struct was unsafe approach because
	  the pointer to d3d11 format will be invalidated once d3d11 device
	  object is released
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1699>

2021-10-01 20:27:28 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/vulkan/win32/gstvkwindow_win32.c:
	* gst/festival/gstfestival.c:
	* meson.build:
	* sys/ipcpipeline/gstipcpipelinecomm.c:
	* sys/mediafoundation/gstmfvideoencoder.cpp:
	* tests/examples/nvcodec/nvcodec.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-14 16:18:54 +0300  Dmitry Osipenko <dmitry.osipenko@collabora.com>

	* sys/v4l2codecs/gstv4l2codech264dec.c:
	  v4l2codecs: h264: Correct scaling matrix ABI check
	  Scaling matrix V4L UAPI control not presents on NVIDIA Tegra, the default
	  matrix should be used in this case. Mark scaling matrix presence optional.
	  Fixes: 47bfa71530c ("v4l2codecs: h264: Improve ABI check ")
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1726>

2022-01-21 15:32:09 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkdec.c:
	* sys/msdk/gstmsdkdec.h:
	  msdkdec: Enable SFC scaling for AVC and HEVC
	  Decoder SFC only supports down-scaling at most to 1/8.
	  For example, given a 4K bistream, SFC can scale it to 1080p via:
	  "msdkh265dec ! video/x-raw,width=1920,height=1080 ! glimagesink"
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1444>

2021-12-15 11:49:40 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkdec.c:
	* sys/msdk/gstmsdkh264dec.c:
	* sys/msdk/gstmsdkh265dec.c:
	  msdkdec: Enable SFC csc for AVC and HEVC
	  Decoder SFC will be triggered when default output format is not accept at
	  downstream. One use case below can work without using msdkvpp:
	  "! msdkh265dec ! "video/x-raw,format=BGRA" ! glimagesink",
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1444>

2021-11-17 17:05:09 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkdec.c:
	* sys/msdk/gstmsdkdec.h:
	  msdkdec: Add SFC codes
	  SFC refers to Scaler Format Converter, more details here:
	  https://01.org/sites/default/files/documentation/intel-gfx-prm-osrc-kbl-vol15-sfc.pdf
	  By attaching mfxExtDecVideoProcessing buffer to mfxVideoParam, decoder
	  can do SFC for csc and scaling.
	  MSDK will check if surface bitdepth equals to input when no SFC is
	  triggered, which means in the case of SFC, there is no need to update
	  surface bitdepth via gst_msdk_update_mfx_frame_info_from_mfx_video_param.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1444>

2022-02-16 02:23:58 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11converter.cpp:
	  d3d11converter: Fix for missing GRAY conversion
	  Add missing Y410 -> GRAY and GRAY -> semi-planar conversion
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1724>

2022-02-16 02:11:53 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11converter.cpp:
	  d3d11converter: Don't use FIXME_OBJECT for non-GstObject
	  ... and print ERROR messages for unexpected input/output formats
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1724>

2021-11-10 15:18:24 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/va/gstvadisplay.c:
	* gst-libs/gst/va/gstvadisplay.h:
	* sys/va/gstvacaps.c:
	* sys/va/gstvadecoder.c:
	* sys/va/gstvadisplay_priv.c:
	* sys/va/gstvafilter.c:
	* sys/va/gstvasurfacecopy.c:
	* sys/va/vasurfaceimage.c:
	  va: Delete the display lock/unlock when we call VA-API.
	  According to the VA-API's description, they are MT-safe, we do not
	  need to care about that in our middleware layer. The lock/unlock
	  operations have overhead and make the performance lower.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1333>

2022-02-08 15:22:39 +0100  Jan Alexander Steffens (heftig) <heftig@archlinux.org>

	* ext/openaptx/gstopenaptxdec.h:
	* ext/openaptx/gstopenaptxenc.h:
	* ext/openaptx/meson.build:
	  openaptx: Support libfreeaptx
	  [libfreeaptx][1] is a fork of libopenapt 0.2.0, used by pipewire.
	  [1]: https://github.com/iamthehorker/libfreeaptx
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1642
	  Closes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1589
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1667>

2022-02-15 02:26:46 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11converter.cpp:
	  d3d11converter: Fix RGB to GRAY conversion
	  Fix typo in shader code
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1697>

2022-02-14 12:57:44 +0100  Stéphane Cerveau <scerveau@collabora.com>

	* gst/mpegtsdemux/tsdemux.c:
	  tsdemux: unlock mutex on -1 start_offfset
	  Closing #1013
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1694>

2022-02-13 22:39:46 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11download.cpp:
	  d3d11download: Fix decide_allocation
	  Caps should be parsed in any cases.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1691>

2022-02-13 10:49:31 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/meson.build:
	  meson: va: Add va option check into plugin's build.
	  Because the liblibgstva is built unconditionally, we now move the
	  va option check into va plugin's build.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1685>

2022-02-13 10:39:37 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/va/meson.build:
	  meson: va: Remove va option check from gst-libs
	  Building libgstva-1.0 unconditionally for the va implementation can be
	  used by non-va plugins such as MSDK even when va plugin is disabled
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1685>

2022-02-12 10:05:11 +0000  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/webrtc/dtlstransport.c:
	  dtlstransport: Notify ICE transport property changes
	  The application might track the underlying ICE transport, so not notifying
	  changes might lead to use-after-free issues.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1688>

2022-02-12 14:51:51 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvavpp.c:
	  vavpp: Fix the caps leak in the transform_caps() function.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1689>

2022-02-12 00:51:56 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/meson.build:
	  meson: d3d11: Remove d3d11 option check from gst-libs
	  Build gstd3d11-1.0 unconditionally for d3d11 implementation can be used
	  by non-d3d11 plugins even when d3d11 plugin is disabled
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1684>

2022-02-10 22:31:06 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11_fwd.h:
	* gst-libs/gst/d3d11/gstd3d11_private.h:
	* gst-libs/gst/d3d11/gstd3d11bufferpool.cpp:
	* gst-libs/gst/d3d11/gstd3d11config.h.meson:
	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* gst-libs/gst/d3d11/gstd3d11format.cpp:
	* gst-libs/gst/d3d11/gstd3d11stagingbufferpool.cpp:
	* gst-libs/gst/d3d11/meson.build:
	* sys/d3d11/gstd3d11convert.cpp:
	* sys/d3d11/gstd3d11pluginutils.cpp:
	* sys/d3d11/gstd3d11pluginutils.h:
	* sys/d3d11/gstd3d11screencapturedevice.h:
	* sys/d3d11/gstd3d11videoprocessor.cpp:
	* sys/d3d11/gstd3d11videoprocessor.h:
	* sys/d3d11/gstd3d11window.cpp:
	* sys/d3d11/gstd3d11window_dummy.cpp:
	* sys/d3d11/gstd3d11window_win32.cpp:
	* sys/d3d11/meson.build:
	* sys/d3d11/plugin.cpp:
	* sys/mediafoundation/plugin.cpp:
	  d3d11: Update build-time dependency
	  Remove all the d3d11 and dxgi header version dependent ifdef
	  and bump the minimum requirement to d3d11_4.h and dxgi1_6.h.
	  We are already failing support old Visual Studio (Windows SDK actually)
	  such as Visual Studio 2015. Note that our MinGW toolchain satisfies
	  the requirement.
	  From runtime point of view, this change should be fine since
	  we are checking OS version with IUnknown::QueryInterface()
	  everywhere in order to check API availability
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1684>

2021-05-08 17:54:34 +0800  He Junyan <junyan.he@intel.com>

	* sys/msdk/gstmsdkenc.c:
	* sys/msdk/gstmsdkenc.h:
	* sys/msdk/gstmsdkh265enc.c:
	* sys/msdk/gstmsdkvp9enc.c:
	* sys/msdk/msdk.h:
	  MSDK: Import VA surface as encoder's input.
	  We make all MSDK encoders declare "memory:VAMemory" feature. Then
	  the pipeline such as:
	  gst-launch-1.0 -vf filesrc location=xxx.h264 ! h264parse ! \
	  vah264dec ! msdkh265enc ! fakesink
	  will choose VA memory caps between the VA decoder and MSDK encoder.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087>

2021-05-08 17:26:27 +0800  He Junyan <junyan.he@intel.com>

	* sys/msdk/gstmsdk_va.c:
	* sys/msdk/gstmsdk_va.h:
	* sys/msdk/meson.build:
	  MSDK: Add helper function to peek VA surface of VA kind gstbuffer.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087>

2021-05-08 15:51:11 +0800  He Junyan <junyan.he@intel.com>

	* sys/msdk/gstmsdkenc.c:
	  MSDK: Handle context query into the encoder's query function.
	  The MSDK encoder's query function is not set and it just forwards
	  all query to its base class. We now need to answer the context
	  query correctly. Other VA plugins need to query the VA display.
	  By the way, the current query of "gst.msdk.Context" is also missing.
	  The other MSDK elements must depend on the bin's context message(
	  sent in context_propagate()) to set their MsdkContext correctly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087>

2021-08-17 22:36:59 +0800  He Junyan <junyan.he@intel.com>

	* sys/msdk/gstmsdkvpp.c:
	  MSDK: Handle context query into the VPP's query function.
	  The MSDK VPP's query function is not set and it just forwards
	  all query to its base class. We now need to answer the context
	  query correctly. Other VA plugins need to query the VA display.
	  By the way, the current query of "gst.msdk.Context" is also missing.
	  The other MSDK elements must depend on the bin's context message(
	  sent in context_propagate()) to set their MsdkContext correctly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087>

2021-08-17 22:34:43 +0800  He Junyan <junyan.he@intel.com>

	* sys/msdk/gstmsdkdec.c:
	  MSDK: Handle context query into the decoder's query function.
	  The MSDK decoder's query function is not set and it just forwards
	  all query to its base class. We now need to answer the context
	  query correctly. Other VA plugins need to query the VA display.
	  By the way, the current query of "gst.msdk.Context" is also missing.
	  The other MSDK elements must depend on the bin's context message(
	  sent in context_propagate()) to set their MsdkContext correctly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087>

2021-08-17 22:33:18 +0800  He Junyan <junyan.he@intel.com>

	* sys/msdk/gstmsdkcontextutil.c:
	* sys/msdk/gstmsdkcontextutil.h:
	  MSDK: Add a handle_context_query() helper function.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087>

2021-08-17 21:51:58 +0800  He Junyan <junyan.he@intel.com>

	* sys/msdk/gstmsdkcontextutil.c:
	* sys/msdk/gstmsdkcontextutil.h:
	* sys/msdk/gstmsdkdec.c:
	* sys/msdk/gstmsdkenc.c:
	* sys/msdk/gstmsdkvpp.c:
	  MSDK: Improve the GstContext setting logic.
	  We now can use the gst va lib's display to create our MSDK context,
	  and use its helper functions to simplify our code. The improved logic
	  is like this:
	  1. Every MSDK element should use gst_msdk_context_find() to find a MSDK
	  context from neighbour. If valid, reuse it.
	  2. Use gst_msdk_ensure_new_context(). It will first query neighbours
	  about the GstVaDisplay, if found(e.g. some VA element is connected),
	  use gst_msdk_context_from_external_display() to create a MSDK context.
	  3. Then, creating the MSDK context from scratch. It creates both the
	  display and MSDK context.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087>

2021-05-08 13:49:23 +0800  He Junyan <junyan.he@intel.com>

	* sys/msdk/gstmsdkcontext.c:
	* sys/msdk/gstmsdkcontext.h:
	  MSDK: Add new_with_va_display() helper function to create context.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087>

2021-05-08 11:44:57 +0800  He Junyan <junyan.he@intel.com>

	* sys/msdk/gstmsdkcontext.c:
	* sys/msdk/gstmsdkcontext.h:
	  MSDK: Use the VA display object to replace the raw display handle.
	  The VA display object from VA lib is a common defined object. which
	  contain the whole display things. It is easier to use, and more important,
	  we can share it with the other VA plugins and keep all the VA related
	  plugins working on the same GPU device.
	  We also delete the useless gst_msdk_context_get_fd() API.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087>

2022-02-11 11:11:03 +0800  He Junyan <junyan.he@intel.com>

	* sys/msdk/meson.build:
	  MSDK: Add the gst va lib into MSDK's dependency.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087>

2022-02-10 12:52:30 +0800  He Junyan <junyan.he@intel.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: Add temporal unit check when TD is absent.
	  The current manner for deciding the new temporal unit is based on
	  temporal delimiter(TD) OBU. We only start a new temporal unit when
	  the TD comes.
	  But some streams do not have TD at all, which makes the output "TU"
	  alignment fail to work. We now add check based on the relationship
	  between the different layers and it can successfully judge the TU edge.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1634>

2022-02-04 17:12:15 +0800  He Junyan <junyan.he@intel.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: let the parse continue when MISSING_OBU_REFERENCE error.
	  Some streams may have verbose OBUs before a valid sequence header. We
	  should let the parse continue rather than return a error.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1634>

2022-02-04 11:40:18 +0800  He Junyan <junyan.he@intel.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: Continue when we fail to detect the alignment.
	  Some streams may have problematic OBUs at the beginning, which causes
	  the parse fail to detect the alignment and return error. For example,
	  there may be verbose OBUs before a valid sequence, which should be
	  discarded until we meet a valid sequence. We should let the parse
	  continue when we meet such cases, rather than just return error.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1634>

2021-03-30 19:23:12 +0900  Seungha Yang <seungha@centricular.com>

	* gst/ivfparse/gstivfparse.c:
	  ivfparse: Don't set zero resolution on caps
	  It could be zero if the information is not available at ivfparse
	  side, or not implemented. In that case, simply don't set
	  width/height on caps, otherwise downstream would be confused
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1649>

2022-01-29 01:52:26 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfmp3dec.cpp:
	* sys/mediafoundation/gstmfmp3dec.h:
	* sys/mediafoundation/meson.build:
	* sys/mediafoundation/plugin.cpp:
	  mediafoundation: Add support for MP3 decoding
	  See also
	  https://docs.microsoft.com/en-us/windows/win32/medfound/windows-media-mp3-decoder
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1596>

2022-01-27 02:20:37 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfaacdec.cpp:
	* sys/mediafoundation/gstmfaacdec.h:
	* sys/mediafoundation/gstmfaudiodecoder.cpp:
	* sys/mediafoundation/gstmfaudiodecoder.h:
	* sys/mediafoundation/gstmfutils.cpp:
	* sys/mediafoundation/gstmfutils.h:
	* sys/mediafoundation/meson.build:
	* sys/mediafoundation/plugin.cpp:
	  mediafoundation: Add support for AAC decoding
	  See also
	  https://docs.microsoft.com/en-us/windows/win32/medfound/aac-decoder
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1596>

2022-01-28 01:45:30 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfaacenc.cpp:
	* sys/mediafoundation/gstmfaudioencoder.cpp:
	* sys/mediafoundation/gstmfaudioencoder.h:
	* sys/mediafoundation/gstmfh264enc.cpp:
	* sys/mediafoundation/gstmfh265enc.cpp:
	* sys/mediafoundation/gstmfmp3enc.cpp:
	* sys/mediafoundation/gstmfsourcereader.cpp:
	* sys/mediafoundation/gstmftransform.cpp:
	* sys/mediafoundation/gstmfvideoencoder.cpp:
	* sys/mediafoundation/gstmfvideoencoder.h:
	* sys/mediafoundation/gstmfvp9enc.cpp:
	* sys/mediafoundation/meson.build:
	* sys/mediafoundation/plugin.cpp:
	  mediafoundation: Cosmetic changes
	  Rename baseclass to be consistent with other Windows plugins
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1596>

2022-01-27 02:26:02 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfaudioenc.cpp:
	* sys/mediafoundation/gstmftransform.cpp:
	* sys/mediafoundation/gstmfvideoenc.cpp:
	  mediafoundation: Use & operator instead of GetAddressOf()
	  Use shorter expression
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1596>

2022-01-24 02:41:29 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfaacenc.cpp:
	* sys/mediafoundation/gstmfaudioenc.cpp:
	* sys/mediafoundation/gstmfcapturewinrt.cpp:
	* sys/mediafoundation/gstmfdevice.cpp:
	* sys/mediafoundation/gstmfh264enc.cpp:
	* sys/mediafoundation/gstmfh265enc.cpp:
	* sys/mediafoundation/gstmfmp3enc.cpp:
	* sys/mediafoundation/gstmfplatloader.cpp:
	* sys/mediafoundation/gstmfsourceobject.cpp:
	* sys/mediafoundation/gstmfsourcereader.cpp:
	* sys/mediafoundation/gstmftransform.cpp:
	* sys/mediafoundation/gstmfutils.cpp:
	* sys/mediafoundation/gstmfvideobuffer.cpp:
	* sys/mediafoundation/gstmfvideoenc.cpp:
	* sys/mediafoundation/gstmfvideosrc.cpp:
	* sys/mediafoundation/gstmfvp9enc.cpp:
	* sys/mediafoundation/gstwin32devicewatcher.cpp:
	* sys/mediafoundation/mediacapturewrapper.cpp:
	* sys/mediafoundation/meson.build:
	* sys/mediafoundation/plugin.cpp:
	  mediafoundation: Port to C++
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1596>

2022-02-09 03:27:41 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/plugin.cpp:
	  d3d11decoder: Promote rank to primary except for mpeg2
	  Our D3D11/DXVA codecs implementation has been verified
	  during 1.18 and 1.20 development cycle and also via the Fluster
	  test framework. Similar to the case of nvdec and vtdec,
	  we can prefer hardware over software in most cases
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1672>

2022-02-09 15:05:14 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	  v4l2codecs: vp9: Fix duplicating a duplicated picture
	  Duplicating a picture what was already a dup was leading to a crash. Rename
	  the custom picture flags as HOLDS_BUFFER to make its meaning clear. Then save
	  then ref and store the picture as userdata, so it can be obtained when
	  duplicating. Finally, mark the doplicated as HOLDS_BUFFER to avoid thinking it
	  holds a request.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1681>

2022-02-10 01:48:23 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfaudioenc.cpp:
	  mfaudioenc: Handle empty IMFMediaBuffer
	  IMFMediaBuffer may not hold encoded data, which seems to happen
	  while draining.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1679>

2022-02-03 10:10:44 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvadecoder.c:
	  va: decoder: Log profile name.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1675>

2022-01-24 16:25:18 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvafilter.c:
	  va: filter: Log the added filter name.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1675>

2021-10-25 13:41:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvafilter.c:
	* sys/va/gstvafilter.h:
	* sys/va/gstvavpp.c:
	  vapostproc: Process HDR caps
	  This patch adds a new parameter: hdr-tone-mapping (same as
	  vaapipostproc), if the HDR capabilites are availabe in driver, and
	  it's disabled by default.
	  If hdr-tone-mapping is enabled then HDR fields in sink caps are
	  processed in frames from HDR to SDR, removing those hdr fields in
	  source pad caps too.
	  hdr-tone-mapping is not enabled if a color conversion is also
	  requested, since it fails to process in the iHD driver, so far.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1258>

2021-09-30 17:42:19 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/meson.build:
	* sys/msdk/meson.build:
	  build: Add libva dependency fallback.
	  Then libva can be subproject and used by either gstreamer-vaapi,
	  va and msdk in gst-plugins-bad.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1397>

2022-02-06 23:20:32 +0900  Sangchul Lee <sc11.lee@samsung.com>

	* ext/webrtc/gstwebrtcice.c:
	  webrtcice: Fix memory leaks in gst_webrtc_ice_add_candidate()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1646>

2022-01-28 14:49:42 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	* sys/v4l2codecs/gstv4l2decoder.c:
	  v4l2codecs: vp9: Make compressed hdr control optional
	  This is to supported by Mediatek VP9 driver. Mediatek handles
	  the forward probabilities in hardware hence does not need and
	  does not implement support for
	  V4L2_CID_STATELESS_VP9_COMPRESSED_HDR.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1600>

2022-02-07 12:34:53 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/meson.build:
	  va: Fix and simplify build recipe.
	  1. Use api_version variable rather than static string.
	  2. Remove pkgconfig generation since currently the library
	  is not installed, only used internally.
	  3. Rely on dependency "required" to abort compilation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1650>

2022-02-07 11:27:57 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/meson.build:
	* sys/va/meson.build:
	  va: Remove libgudev crumbs in library.
	  In commit e699aaeb we moved linking of libgudev to the plugin rather
	  the library, because it's only used in the plugin. But the dependency
	  check is still done in library.
	  This patch removes the dependency check in library, and updates the
	  dependency check in plugin.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1650>

2022-02-08 04:51:24 +0900  Seungha Yang <seungha@centricular.com>

	* sys/msdk/msdk.c:
	* sys/msdk/msdk.h:
	  msdk: Fix for MFXUnload symbol re-definition build error
	  Fix for libgstreamer-full build
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1408>

2021-12-25 00:13:04 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvh265enc.cpp:
	* sys/qsv/gstqsvh265enc.h:
	* sys/qsv/meson.build:
	* sys/qsv/plugin.cpp:
	  qsv: Add support for HEVC encoding
	  main and main-10 profiles are supported for now
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1408>

2021-12-19 21:39:53 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvallocator.cpp:
	* sys/qsv/gstqsvallocator_d3d11.cpp:
	* sys/qsv/gstqsvvp9enc.cpp:
	* sys/qsv/gstqsvvp9enc.h:
	* sys/qsv/meson.build:
	* sys/qsv/plugin.cpp:
	  qsv: Add support for VP9 encoding and more video formats
	  Add VP9 encoder with 4:2:0 8 bits and 4:4:4 8/10 bits formats support
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1408>

2022-02-06 21:34:43 +0900  Seungha Yang <seungha@centricular.com>

	* meson_options.txt:
	* sys/meson.build:
	* sys/qsv/gstqsvallocator.cpp:
	* sys/qsv/gstqsvallocator.h:
	* sys/qsv/gstqsvallocator_d3d11.cpp:
	* sys/qsv/gstqsvallocator_d3d11.h:
	* sys/qsv/gstqsvallocator_va.cpp:
	* sys/qsv/gstqsvallocator_va.h:
	* sys/qsv/gstqsvencoder.cpp:
	* sys/qsv/gstqsvencoder.h:
	* sys/qsv/gstqsvh264enc.cpp:
	* sys/qsv/gstqsvh264enc.h:
	* sys/qsv/gstqsvutils.cpp:
	* sys/qsv/gstqsvutils.h:
	* sys/qsv/libmfx/meson.build:
	* sys/qsv/meson.build:
	* sys/qsv/plugin.cpp:
	  qsv: Introduce H.264 Intel Quick Sync Video Encoder
	  A new implementation of Intel Quick Sync Video plugin.
	  This plugin supports both Windows and Linux but optimization for
	  VA/DMABuf is not implemented yet.
	  This new plugin has some notable differences compared with existing
	  MSDK plugin.
	  * Encoder will expose formats which can be natively supported
	  without internal conversion. This will make encoder
	  control/negotiation flow much simpler and cleaner than
	  that of MSDK plugin.
	  * This plugin includes QSV specific library loading helper,
	  called dispatcher, with QSV SDK headers as a part of this plugin.
	  So, there will be no more SDK version dependent #ifdef in the code
	  and also there will be no more build-time MSDK/oneVPL SDK
	  dependency.
	  * Memory allocator interop between GStreamer and QSV is re-designed
	  and decoupled. Instead of implementing QSV specific allocator/bufferpool,
	  this plugin will make use of generic GStreamer memory
	  allocator/bufferpool (e.g., GstD3D11Allocator and GstD3D11BufferPool).
	  Specifically, GstQsvAllocator object will help interop between
	  GstMemory and mfxFrameAllocator memory abstraction layers.
	  Note that because of the design decision, VA/DMABuf support is not made
	  as a part of this initial commit. We can add the optimization for Linux
	  later once GstVA library exposes allocator/bufferpool implementation as
	  an API like GstD3D11.
	  * Initial encoder implementation supports interop with GstD3D11
	  infrastructure, including zero-copy encoding with upstream D3D11 element.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1408>

2021-12-01 22:18:42 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/libmfx/dispatcher/windows/mfx_dxva2_device.h:
	  qsv: Remove unnecessary pargma message
	  We know what we are doing, just remove noisy build warnings
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1408>

2021-12-01 22:18:04 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/libmfx/api/vpl/mfx.h:
	* sys/qsv/libmfx/api/vpl/mfxadapter.h:
	* sys/qsv/libmfx/api/vpl/mfxbrc.h:
	* sys/qsv/libmfx/api/vpl/mfxcommon.h:
	* sys/qsv/libmfx/api/vpl/mfxdefs.h:
	* sys/qsv/libmfx/api/vpl/mfxdispatcher.h:
	* sys/qsv/libmfx/api/vpl/mfxdispatcherprefixedfunctions.h:
	* sys/qsv/libmfx/api/vpl/mfximplcaps.h:
	* sys/qsv/libmfx/api/vpl/mfxjpeg.h:
	* sys/qsv/libmfx/api/vpl/mfxmvc.h:
	* sys/qsv/libmfx/api/vpl/mfxpcp.h:
	* sys/qsv/libmfx/api/vpl/mfxsession.h:
	* sys/qsv/libmfx/api/vpl/mfxstructures.h:
	* sys/qsv/libmfx/api/vpl/mfxsurfacepool.h:
	* sys/qsv/libmfx/api/vpl/mfxvideo++.h:
	* sys/qsv/libmfx/api/vpl/mfxvideo.h:
	* sys/qsv/libmfx/api/vpl/mfxvp8.h:
	* sys/qsv/libmfx/dispatcher/linux/device_ids.h:
	* sys/qsv/libmfx/dispatcher/linux/libvpl.map:
	* sys/qsv/libmfx/dispatcher/linux/mfxloader.cpp:
	* sys/qsv/libmfx/dispatcher/linux/mfxloader.h:
	* sys/qsv/libmfx/dispatcher/linux/mfxvideo_functions.h:
	* sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl.cpp:
	* sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl.h:
	* sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_config.cpp:
	* sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_loader.cpp:
	* sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_log.cpp:
	* sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_log.h:
	* sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_lowlatency.cpp:
	* sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_msdk.cpp:
	* sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_win.h:
	* sys/qsv/libmfx/dispatcher/windows/libmfx.def:
	* sys/qsv/libmfx/dispatcher/windows/main.cpp:
	* sys/qsv/libmfx/dispatcher/windows/mfx_critical_section.cpp:
	* sys/qsv/libmfx/dispatcher/windows/mfx_critical_section.h:
	* sys/qsv/libmfx/dispatcher/windows/mfx_dispatcher.cpp:
	* sys/qsv/libmfx/dispatcher/windows/mfx_dispatcher.h:
	* sys/qsv/libmfx/dispatcher/windows/mfx_dispatcher_defs.h:
	* sys/qsv/libmfx/dispatcher/windows/mfx_dispatcher_log.cpp:
	* sys/qsv/libmfx/dispatcher/windows/mfx_dispatcher_log.h:
	* sys/qsv/libmfx/dispatcher/windows/mfx_driver_store_loader.cpp:
	* sys/qsv/libmfx/dispatcher/windows/mfx_driver_store_loader.h:
	* sys/qsv/libmfx/dispatcher/windows/mfx_dxva2_device.cpp:
	* sys/qsv/libmfx/dispatcher/windows/mfx_dxva2_device.h:
	* sys/qsv/libmfx/dispatcher/windows/mfx_exposed_functions_list.h:
	* sys/qsv/libmfx/dispatcher/windows/mfx_function_table.cpp:
	* sys/qsv/libmfx/dispatcher/windows/mfx_library_iterator.cpp:
	* sys/qsv/libmfx/dispatcher/windows/mfx_library_iterator.h:
	* sys/qsv/libmfx/dispatcher/windows/mfx_load_dll.cpp:
	* sys/qsv/libmfx/dispatcher/windows/mfx_load_dll.h:
	* sys/qsv/libmfx/dispatcher/windows/mfx_vector.h:
	* sys/qsv/libmfx/dispatcher/windows/mfx_win_reg_key.cpp:
	* sys/qsv/libmfx/dispatcher/windows/mfx_win_reg_key.h:
	* sys/qsv/libmfx/dispatcher/windows/mfxvideo++.h:
	* sys/qsv/libmfx/dispatcher/windows/version.rc.in:
	  qsv: Import libmfx API and dispatch code from oneVPL project
	  Copied from oneVPL project (https://github.com/oneapi-src/oneVPL)
	  v2022.0.3 tag at the commit of efc259f8b7ee5c334bca1a904a503186038bbbdd
	  This is corresponding to MFX API version 2.6
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1408>

2021-12-07 21:29:05 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11memory.cpp:
	  d3d11memory: Inform subresource index via GstMapInfo::user_data
	  By using this way, caller does not need to call another method
	  gst_d3d11_memory_get_subresource_index()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1408>

2022-02-06 21:36:28 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11bufferpool.cpp:
	* gst-libs/gst/d3d11/gstd3d11memory.cpp:
	* gst-libs/gst/d3d11/gstd3d11memory.h:
	* gst-libs/gst/d3d11/gstd3d11stagingbufferpool.cpp:
	* sys/d3d11/gstd3d11pluginutils.cpp:
	  d3d11memory: Add support for ID3D11Buffer
	  Allow wrap ID3D11Buffer via GstD3D11Memory object
	  At the moment, only staging ID3D11Buffer is supported.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1408>

2022-02-01 00:50:53 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvh265dec.c:
	  nvh265sldec: Fix for decoding 12bits stream
	  We've been exposing main-444-12 profile as a supported profile
	  in its sinkpad template but not actaully. Adding code to
	  covert 12 and 16 bits as well.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1612>

2022-02-01 00:12:06 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvdecoder.c:
	* sys/nvcodec/gstnvdecoder.h:
	* sys/nvcodec/gstnvh264dec.c:
	* sys/nvcodec/gstnvh265dec.c:
	* sys/nvcodec/gstnvvp8dec.c:
	* sys/nvcodec/gstnvvp9dec.c:
	  nvdecoder: Fix for HEVC 4:4:4 format decoding
	  Map chroma_format_idc == 3 (which means 4:4:4 subsampling) correctly,
	  also pass coded bitdepth for decoder initialization instead of
	  inferring it from output format since they can be different.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/949
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1612>

2022-02-07 22:38:02 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11stagingbufferpool.cpp:
	  d3d11stagingbufferpool: Fix typo in texture description
	  Fixing typo, it should be height
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1652>

2021-10-27 11:08:39 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/va/gstva.h:
	* gst-libs/gst/va/meson.build:
	* sys/va/gstvaallocator.h:
	* sys/va/gstvabasedec.c:
	* sys/va/gstvabasetransform.c:
	* sys/va/gstvacaps.h:
	* sys/va/gstvadecoder.c:
	* sys/va/gstvadecoder.h:
	* sys/va/gstvadeinterlace.c:
	* sys/va/gstvadevice.h:
	* sys/va/gstvafilter.h:
	* sys/va/gstvasurfacecopy.h:
	* sys/va/gstvavpp.c:
	* sys/va/vasurfaceimage.h:
	* tests/examples/va/main.c:
	* tests/examples/va/multiple-vpp.c:
	  va: Add a gstva.h to include all va lib header files.
	  And replacing all va lib headers with this new header files
	  when including.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1256>

2021-10-07 14:31:28 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/va/gstvautils.c:
	* gst-libs/gst/va/gstvautils.h:
	* gst-libs/gst/va/meson.build:
	* sys/va/gstvabasedec.c:
	* sys/va/gstvabasetransform.c:
	* sys/va/gstvadeinterlace.c:
	* sys/va/gstvavpp.c:
	* sys/va/meson.build:
	  va: Move the vautils into the gst va lib.
	  The context query and handle are common logic for all va related
	  elements. So we move it from va plugins to the common gst va lib.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1256>

2021-10-24 22:07:38 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth264decoder.h:
	* gst-libs/gst/codecs/gstmpeg2decoder.h:
	* sys/d3d11/gstd3d11h264dec.cpp:
	* sys/d3d11/gstd3d11mpeg2dec.cpp:
	* sys/nvcodec/gstnvh264dec.c:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/va/gstvah264dec.c:
	* sys/va/gstvampeg2dec.c:
	  codecs: Stop claiming constness for refcounted object
	  It's almost pointless and makes little sense as subclass might
	  want to modify refcount of the object or so. And all subclasses
	  are already casting them to non-const version as well.
	  In a general sense, we need to avoid passing refcounted object
	  with const qualifier.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1238>

2022-02-06 01:06:36 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11videosink.cpp:
	  d3d11videosink: Use staging buffer pool for non-d3d11 upstream
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1643>

2022-02-06 00:53:34 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11download.cpp:
	* sys/d3d11/gstd3d11upload.cpp:
	  d3d11upload,d3d11download: Use staging buffer pool
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1643>

2022-02-05 23:25:12 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11decoder.cpp:
	  d3d11decoder: Use staging buffer pool for non-d3d11 downstream
	  In specific condition, this can show about 10% ~ 30%
	  performance gain with non-d3d11 downstream element.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1643>

2022-02-05 23:08:48 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11.h:
	* gst-libs/gst/d3d11/gstd3d11_fwd.h:
	* gst-libs/gst/d3d11/gstd3d11stagingbufferpool.cpp:
	* gst-libs/gst/d3d11/gstd3d11stagingbufferpool.h:
	* gst-libs/gst/d3d11/meson.build:
	  d3d11: Add new buffer pool implementation for staging texture
	  staging buffer pool will allocate staging d3d11 texture
	  for upload/download optimization. By using staging buffer,
	  we can avoid per frame staging -> system memory copy operation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1643>

2022-02-02 00:15:34 -0300  Martin Reboredo <yakoyoku@gmail.com>

	* gst-libs/gst/vulkan/gstvkerror.c:
	* gst-libs/gst/vulkan/gstvkerror.h:
	  gstvulkan: Expose gst_vulkan_result_to_string
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1623>

2022-02-05 17:36:41 +0300  Igor V. Kovalenko <igor.v.kovalenko@gmail.com>

	* meson_options.txt:
	  qroverlay: move to plugins that need external deps
	  qroverlay requires libqrencode dependency, move it next to similar plugins.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1642>

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 ===

