=== release 1.26.7 ===

2025-10-14 18:25:43 +0100  Tim-Philipp Müller <tim@centricular.com>

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

2025-10-09 08:09:33 +0200  Branko Subasic <branko.subasic@axis.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegtsmux: Properly check if pads are EOS in find_best_pad
	  In find_best_pad(), when checking if a pad is EOS we use the macro
	  GST_PAD_IS_EOS. But the aggregator pads will not propagate EOS received
	  on it's sinkpads until it has received EOS on all of them. Instead the
	  EOS event is put in the queue, which means that GST_PAD_IS_EOS will
	  return FALSE.
	  This makes find_best_pad() fail to find a best pad when all but one sink
	  pad has received EOS, and have no data left in their queues, and the
	  last one has data. The problem is solved by modifying find_best_pad() to
	  use gst_aggregator_pad_is_eos() instead.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9821>

2025-10-08 14:05:07 +0200  Branko Subasic <branko.subasic@axis.com>

	* ext/closedcaption/gstcea608mux.c:
	  cea608mux: Properly check if pads are EOS in find_best_pad
	  In find_best_pad(), when checking if a pad is EOS we use the macro
	  GST_PAD_IS_EOS. But the aggregator pads will not propagate EOS received
	  on it's sinkpads until it has received EOS on all of them. Instead the
	  EOS event is put in the queue, which means that GST_PAD_IS_EOS will
	  return FALSE.
	  This makes find_best_pad() fail to find a best pad when all but one sink
	  pad has received EOS, and have no data left in their queues, and the
	  last one has data. The problem is solved by modifying find_best_pad() to
	  use gst_aggregator_pad_is_eos() instead.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9821>

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

	* gst-libs/gst/webrtc/nice/nice.c:
	  webrtc: nice: Fix a use-after-free and a mem leak
	  `new_candidate` was freed too early and `new_addr` wasn't freed in case of early
	  return from the on_candidate_resolved function.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9816>

2025-09-26 16:58:38 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudanvrtc.cpp:
	  cuda: Fix runtime kernel compile with CUDA 13.0
	  Instead of hardcoded value, checks compute compatibility at runtime
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4655
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9769>

2025-09-22 12:00:32 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mpegtsdemux/tsdemux.c:
	  tsdemux: Directly forward Opus AUs without `opus_control_header`
	  ffmpeg does the same, assuming that it's raw Opus data.
	  ZLMediaKit is producing MPEG-TS like this and probably nobody ever noticed
	  because ffmpeg allows for this, so let's work around their bugs and handle it
	  the same way as ffmpeg.
	  See https://github.com/ZLMediaKit/ZLMediaKit/issues/4461
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4645
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9765>

2025-09-25 22:42:12 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/lv2/gstlv2utils.c:
	* ext/teletextdec/gstteletextdec.c:
	* gst/rist/gstristsink.c:
	* gst/rist/gstristsrc.c:
	* sys/decklink/gstdecklinkvideosink.cpp:
	* sys/uvcgadget/gstuvcsink.c:
	  gst: Fix a few small leaks
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9761>

2025-09-24 19:37:00 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12convert.cpp:
	  d3d12convert: Fix crop meta support
	  When in/output caps are identical, even if downstream didn't propose
	  pool, always respond to support crop meta
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9743>

2025-09-23 09:06:09 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  tsmux: Write a full Opus channel configuration if no matching Vorbis one is found
	  Instead of simply failing negotiation despite the stream being supported.
	  Without this the following pipeline will fail:
	  audiotestsrc is-live=true ! audio/x-raw,channels=8 ! opusenc ! mpegtsmux ! fakesink
	  opusenc selects the Vorbis channel layout family but a channel-mapping that is
	  not one of the ones supported by the short MPEG-TS Opus channel configurations.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9733>

2025-09-22 10:09:48 +0800  Cheah, Vincent Beng Keat <vincent.beng.keat.cheah@intel.com>

	* sys/va/gstvacompositor.c:
	  vacompositor: Correct scale-method properties
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9726>

2025-09-08 17:50:32 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/closedcaption/gstcea608mux.c:
	* gst/audiomixmatrix/gstaudiomixmatrix.c:
	* gst/debugutils/gsttestsrcbin.c:
	  gst: Don't use g_assert() around production code
	  If G_DISABLE_ASSERT is defined the code will not be compiled.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9721>

2025-09-16 19:00:47 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/isac/meson.build:
	  isac: Suppress warning about -Wno-virtual-dtor on Fedora
	  The absl pkgconfig files on Fedora contain -Wnon-virtual-dtor in
	  Cflags: even though pc files should not contain -W flags. Worse, our
	  plugin is written in C but that's a C++ argument so GCC emits
	  a warning about that.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9715>

2025-09-16 16:38:22 -0700  Xavier Claessens <xclaessens@netflix.com>

	* gst/unixfd/gstunixfd.c:
	* tests/check/elements/unixfd.c:
	  unixfd: Fix case of buffer with big payload
	  In the case a buffer has big meta serialization, for example if it
	  contains a GstBuffer, the payload cannot be sent/received in a single
	  call.
	  Idealy we should serialize metas into a memfd in that case, instead of
	  writing the data on the socket.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9706>

2025-09-16 15:24:22 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12deinterlace.cpp:
	  d3d12deinterlace: Fix passthrough handling
	  Don't try to convert buffer when passthrough is enabled
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9696>

2025-09-14 13:19:28 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.26.6

=== release 1.26.6 ===

2025-09-14 13:13:58 +0100  Tim-Philipp Müller <tim@centricular.com>

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

2025-09-12 21:35:58 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12memory-private.h:
	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	* sys/dwrite/gstdwriterender_d3d12.cpp:
	  dwrite: Fix D3D12 critical warning
	  When using convert + blend mode, the final render target resource
	  is also used as a source resource owned by our fence data storage.
	  As a result, the resource may not be writable if the conversion
	  command has not yet finished. To address this, add a private
	  method that allows setting the fence without a writability check
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9686>

2025-07-23 11:37:15 -0400  Xavier Claessens <xclaessens@netflix.com>

	* tests/check/elements/mpegtsmux.c:
	  mpegtsmux: Caps event fails with stream type change error
	  If mpegtsmux receives the same caps again, it wrongly claims the stream
	  type changed:
	  error: Stream type change from 06 to 8f not supported
	  This adds a unit test that demonstrate the issue in the very hacky way.
	  I have seen this happening with the below pipeline when upstream caps
	  changes. Since the caps filter fixates the caps received by opusenc and
	  mpegtsmux, the stream type cannot change.
	  ...
	  ! audioconvert
	  ! audio/x-raw,format=S16LE,channels=2,rate=48000
	  ! opusenc bitrate=128000
	  ! mpegtsmux
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9678>

2025-08-07 14:31:38 +1000  Jan Schmidt <jan@centricular.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegtsmux: Use 'internal' stream_type to detect codec changes
	  The TsMuxStream internal_stream_type field stores the original
	  'full' stream type (such as Opus), while the stream_type field
	  stores the value that will actually be written into the MPEG-TS
	  packets according to the codec mappings. When checking if
	  input caps are changing stream type, check the original type.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9678>

2025-09-05 08:25:22 +0200  Ola Fornander <ola.fornander@axis.com>

	* ext/curl/gstcurlsmtpsink.c:
	  curlsmtpsink: adapt to date formatting issue
	  In glib 2.73.1, padding for %e in gdatetime was changed from "space"
	  to the Unicode character (U+2007). This violates rfc5322 (Internet
	  Message Format), which states that a message shall be composed of
	  characters in the range of 1 through 127 and interpreted as US-ASCII
	  characters. Hence, when using g_date_time_format, it is necessary to
	  instead write %_e to enforce space padding.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9645>

2025-09-02 09:06:20 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/openh264/meson.build:
	  meson: Avoid pulling in gtest for openh264
	  Emits a big warning about wrapdbv1 and the updated wrap fails to build
	  on Windows. We don't need the tests anyway.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9637>

2025-09-01 21:02:22 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/analyticsoverlay/meson.build:
	* ext/avtp/meson.build:
	* ext/codec2json/meson.build:
	* ext/iqa/meson.build:
	* ext/mdns/meson.build:
	* ext/openh264/meson.build:
	* ext/openjpeg/meson.build:
	* ext/qroverlay/meson.build:
	* ext/soundtouch/meson.build:
	* gst-libs/gst/webrtc/nice/meson.build:
	* meson.build:
	* sys/tinyalsa/meson.build:
	  meson: Convert all remaining fallback: usages to [provide]
	  Only commonly-used plugin deps like pango, orc, openh264, libvpx,
	  libnice are enabled by default.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1788
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9637>

2025-08-26 20:17:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh265dec.c:
	  vulkanh26xdec: fix discont state handling
	  It fixes a couple tests in fluster for H.265 decoding.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9613>

2025-08-17 15:58:22 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst-libs/gst/analytics/gsttensormeta.c:
	  analytics: always add GstTensorMeta
	  Always add GstTensorMeta to buffer instead of re-using existing GstTensorMeta
	  when it's already present. The reason for the change is when we have cascaded
	  inference elements overwriting (tflite) or leaking (ONNX) GstTensorMeta when we
	  have cascaded inferences. We didn't create and API to append to GstTensorMeta
	  and I think it's more convenient to have a new GstTensorMeta for each
	  inferences. It's also more clear that a group of tensor was produced by one
	  inference but doesn't limit tensordecoders from using tensors produced by
	  multiple inference. I don't see much value in having all tensors data always
	  inside one GstTensorMeta since appending would mean re-allocation of the tensors
	  array anyway.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9601>

2025-08-19 11:15:29 +0100  Ian Napier <ian@digitaledgesubsea.com>

	* sys/decklink/gstdecklink.h:
	* sys/decklink/gstdecklinkvideosrc.cpp:
	  decklinkvideosrc: fix decklinkvideosrc becomes unrecoverable if it fails to start streaming
	  See #2611
	  When transitioning to PLAYING we call IDeckLinkInput::StartStreams() (via GstDecklinkInput::start_streams). This can
	  fail for various reasons, including if the hardware device is already in use.
	  Previously, we logged StartStreams() failure as an element error but otherwise continued to successfully transition to
	  PLAYING. Now, if StartStreams() returns an error we fail the state change.
	  If StartStreams() fails then a subsequent call to StopStreams(), when transitioning PAUSED to READY, will also fail.
	  Previously, if StopStreams() failed then the state change also failed. Unfortunately this prevented the element from
	  later being disposed, which in turn meant the associated hardware resources was never freed. Consequently, if a
	  decklinkvideosrc failed to transition PAUSED to READY, then the associated hardware device could not subsequently be
	  used by any other decklinkvideosrc.
	  Now, we log an element error if StopStreams() fails but otherwise consider the state change to have succeeded. This
	  means that the element can be disposed and the associated hardware resource released.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9592>

2025-08-15 13:02:57 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh265dec.c:
	  vulkanh26xdec: fix debug category name
	  This is a regression from merge request !78011
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9562>

2025-08-15 12:06:45 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh265dec.c:
	  vulkanh26xdec: re-negotiate after FLUSH
	  Vulkan decoders also have the same issue as VA decoders fixed in !9457, where
	  FLUSH event doesn't renegotiate downstream the pipeline.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9562>

2025-08-14 15:55:41 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* tests/check/elements/cccombiner.c:
	  tests: cccombiner: Test durationless buffers
	  Crashes without the previous fix.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9559>

2025-07-17 14:40:47 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/closedcaption/gstcccombiner.c:
	  cccombiner: Don't crash when first frame has no duration
	  Aggregate again so the code above can determine the end time or EOS.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9559>

2025-07-17 14:29:07 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/closedcaption/gstcccombiner.c:
	  cccombiner: Avoid dividing by zero framerate
	  This was broken in b29262e662b86cd76225894f7504ee505125fa49.
	  The `gst_util_uint64_scale` emitted a critical warning and returned
	  `GST_CLOCK_TIME_NONE`, so beyond removing the warning this fix does not
	  change behavior.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9559>

2025-08-12 21:27:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* tests/check/libs/vkimagebufferpool.c:
	  test: vkimagebufferpool: silence validation
	  The validation complained with
	  VUID-VkImageCreateInfo-usage-requiredbitmask]:
	  vkCreateImage(): pCreateInfo->usage is zero.
	  This patch force to use the internal defaults in vkimagebufferpool if no usage
	  is defined.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9546>

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

	* gst-libs/gst/vulkan/gstvkphysicaldevice.c:
	  vkphysicaldevice: silence validation for features
	  With merge request !9438 the validation layer started to complain with
	  VUID-VkDeviceCreateInfo-pNext-02829
	  This patch fixes this ill-usage of Vulkan API, by removing the feature enabling
	  of sampler ycbcr conversion, since it was promoted since Vulkan 1.1, and in
	  GStreamer is only used in Vulkan Video operations, which are only enabled in
	  Vulkan 1.3+.
	  Also, these features detection and enabling were moved to a function called when
	  filling the physical device data, in order to check the API version of the
	  device driver before adding the enabling of the feature.
	  Finally, the getters were adapted to use the version feature structure if the
	  device driver version matches.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9546>

2025-08-11 22:54:29 +1000  Jan Schmidt <jan@centricular.com>

	* ext/hls/m3u8.c:
	  hlsdemux: Fix parsing of byterange and init map directives
	  Don't reuse the same offset and size variables when reading
	  the byterange out of a MAP directive, as it can overwrite
	  values from a pending BYTERANGE directive for the next
	  fragment URI.
	  Fixes problems where the EXT-X-MAP directive has been written
	  into the playlist between an EXT-X-BYTERANGE and the fragment
	  URI it applies to.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9541>

2025-08-08 17:38:33 +0800  Qian Hu (胡骞) <qian.hu@mediatek.com>

	* gst-libs/gst/wayland/gstwldisplay.c:
	  waylandsink: add some error handler for event dispatch
	  if wl client got last_error, wl_display_dispatch_queue_pending
	  will return -1, may lead to unhandled case, we should quit.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9537>

2025-08-08 07:13:24 +0200  Jan Alexander Steffens (heftig) <heftig@archlinux.org>

	* tests/check/elements/zbar.c:
	  zbar: tests: Handle symbol-bytes as not null-terminated
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4592
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9514>

2025-08-07 19:15:29 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.26.5

=== release 1.26.5 ===

2025-08-07 19:06:46 +0100  Tim-Philipp Müller <tim@centricular.com>

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

2025-08-07 13:58:27 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/codecparsers/gstav1parser.c:
	  av1parser: Don't error out on "currently" undefined seq-level indices
	  They might very well be defined in the future and that shouldn't affect the
	  parsing in any way. Specifically, ffmpeg with `av1_nvenc` seems to create
	  `GST_AV1_SEQ_LEVEL_7_3` currently and parsing such streams would fail otherwise.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4589
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9504>

2025-08-01 14:55:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkphysicaldevice-private.h:
	* gst-libs/gst/vulkan/gstvkphysicaldevice.c:
	  vkphysicaldevice: enable sampler ycbcr, sync2 and timeline semaphore features
	  For the features VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR,
	  VkPhysicalDeviceSynchronization2Features and
	  VkPhisicalDeviceTimelineSemaphoreFeatures
	  The Vulkan specification states:
	  If the `VkPhysicalDeviceXXXFeatures` structure is included in the `pNext`
	  chain of the `VkPhysicalDeviceFeatures2` structure passed to
	  `vkGetPhysicalDeviceFeatures2`, it is filled in to indicate whether each
	  corresponding feature is supported. If the application wishes to use a
	  `VkDevice` with any features described by `VkPhysicalDeviceXXXFeatures`,
	  it **must** add an instance of the structure, with the desired feature members
	  set to `VK_TRUE`, to the `pNext` chain of `VkDeviceCreateInfo` when creating
	  the `VkDevice`.
	  And that was missing in the code.
	  Strangely, that functionality doesn't have a Valid-Usage ID assigned, so it
	  isn't caught by the validation layer.
	  This patch adds the structures in the physical devices to get them and later set
	  them in the device creation.
	  In order to link these features, videomaintenance1, and others to come, without
	  knowing if Vulkan 1.3 features are chained in the device properties structure, a
	  static and inlined function was added in gstvkphysicaldevice-private.h. It was
	  added in a header file to avoid compiler warnings if it's not used because of
	  old Vulkan headers.
	  Also the value dump videomaintenance1 was moved to another function to pack
	  there all these queried features.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9489>

2025-08-01 11:52:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvaav1enc.c:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	* sys/va/gstvavp8enc.c:
	* sys/va/gstvavp9enc.c:
	  vaXXXenc: fix potential race condition
	  VA encoders, at reconfiguration, have to check if the rate-control was changed
	  by the user, but since user parameters setting are in another thread, the
	  comparison was racy.
	  This patch locks the object to compare the current rate-control with the one set
	  by the user.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9484>

2025-05-29 13:20:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkdevice.c:
	  vulkan: ycbcr conversion extension got promoted in 1.1.0
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9482>

2025-08-01 01:03:10 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12screencapturedevice.cpp:
	  d3d12screencapturedevice: Avoid false device removal on monitor reconfiguration
	  Post device-changed instead of device-removed/device-added when
	  only HMONITOR or display position changed without actual device change.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9481>

2025-07-30 15:50:56 +0400  Marc-André Lureau <marcandre.lureau@redhat.com>

	* gst-libs/gst/d3d12/meson.build:
	* sys/d3d12/meson.build:
	  meson: d3d12: Add support for MinGW DirectXMath package
	  This is a similar issue that was found for d3d11:
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6495
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9473>

2025-07-29 11:42:54 +0100  Philippe Normand <philn@igalia.com>

	* sys/va/gstvavp9dec.c:
	  vavp9dec: Always chain to parent class negotiate vmethod
	  When the base videodecoder class re-attempts a negotiation after flush, the
	  vabasedec `need_negotiation` flag isn't necessarily set to TRUE, because in that
	  situation the input state hasn't changed.
	  By always chaining up we are sure that buffer pool negotiation will always be
	  attempted.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9461>

2025-07-29 11:42:44 +0100  Philippe Normand <philn@igalia.com>

	* sys/va/gstvajpegdec.c:
	  vajpegdec: Always chain to parent class negotiate vmethod
	  When the base videodecoder class re-attempts a negotiation after flush, the
	  vabasedec `need_negotiation` flag isn't necessarily set to TRUE, because in that
	  situation the input state hasn't changed.
	  By always chaining up we are sure that buffer pool negotiation will always be
	  attempted.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9461>

2025-07-29 11:42:33 +0100  Philippe Normand <philn@igalia.com>

	* sys/va/gstvaav1dec.c:
	  vaav1dec: Always chain to parent class negotiate vmethod
	  When the base videodecoder class re-attempts a negotiation after flush, the
	  vabasedec `need_negotiation` flag isn't necessarily set to TRUE, because in that
	  situation the input state hasn't changed.
	  By always chaining up we are sure that buffer pool negotiation will always be
	  attempted.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9461>

2025-07-28 12:52:22 +0100  Philippe Normand <philn@igalia.com>

	* sys/va/gstvabasedec.c:
	  vabasedec: Instrument negotiate function with debug statements
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9461>

2025-07-28 12:49:36 +0100  Philippe Normand <philn@igalia.com>

	* sys/va/gstvabasedec.c:
	  vabasedec: Always chain to parent class negotiate vmethod
	  When the base videodecoder class re-attempts a negotiation after flush, the
	  vabasedec `need_negotiation` flag isn't necessarily set to TRUE, because in that
	  situation the input state hasn't changed.
	  By always chaining up we are sure that buffer pool negotiation will always be
	  attempted.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9461>

2025-07-28 12:45:25 +0100  Philippe Normand <philn@igalia.com>

	* sys/va/gstvah264dec.c:
	  vah264dec: Spelling fix in warning debug statement
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9461>

2025-07-28 12:44:48 +0100  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/codecs/gsth264decoder.c:
	  h264decoder: Spelling fix in warning debug statement
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9461>

2025-07-24 18:16:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvaav1enc.c:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	* sys/va/gstvajpegenc.c:
	* sys/va/gstvavp8enc.c:
	* sys/va/gstvavp9enc.c:
	  vaXXXenc: calculate latency with corrected framerate
	  Fixes: #4558
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9447>

2025-06-29 22:52:37 +0900  Seungha Yang <seungha@centricular.com>

	* sys/wasapi2/gstwasapi2ringbuffer.cpp:
	  wasapi2: Fix various MinGW build warnings
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9428>

2025-06-29 20:45:51 +0900  Seungha Yang <seungha@centricular.com>

	* sys/wasapi2/AsyncOperations.h:
	* sys/wasapi2/gstwasapi2client.cpp:
	* sys/wasapi2/gstwasapi2client.h:
	* sys/wasapi2/gstwasapi2util.cpp:
	* sys/wasapi2/meson.build:
	  waapi2: Remove unused WinRT deps and implementations
	  Removing unused WinRT API based implementations
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9428>

2025-06-29 01:46:44 +0900  Seungha Yang <seungha@centricular.com>

	* sys/wasapi2/gstwasapi2object.cpp:
	* sys/wasapi2/gstwasapi2object.h:
	* sys/wasapi2/gstwasapi2ringbuffer.cpp:
	* sys/wasapi2/gstwasapi2ringbuffer.h:
	* sys/wasapi2/gstwasapi2sink.c:
	* sys/wasapi2/gstwasapi2src.c:
	* sys/wasapi2/meson.build:
	  wasapi2: Port to IMMDevice based device selection
	  Because of a couple of issues reported related to WinRT device
	  enumeration, porting to IMMDevice device id based device selection.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4311
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3936
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9428>

2025-06-27 21:36:53 +0900  Seungha Yang <seungha@centricular.com>

	* sys/wasapi2/gstwasapi2activator.cpp:
	* sys/wasapi2/gstwasapi2activator.h:
	* sys/wasapi2/gstwasapi2client.cpp:
	* sys/wasapi2/gstwasapi2device.c:
	* sys/wasapi2/gstwasapi2device.cpp:
	* sys/wasapi2/gstwasapi2device.h:
	* sys/wasapi2/gstwasapi2enumerator.cpp:
	* sys/wasapi2/gstwasapi2enumerator.h:
	* sys/wasapi2/gstwasapi2util.cpp:
	* sys/wasapi2/gstwasapi2util.h:
	* sys/wasapi2/meson.build:
	* sys/wasapi2/plugin.cpp:
	  wasapi2: Implement IMMDeviceEnumerator based enumerator
	  ... and merge wasapi2{capture,render}deviceprovider into single
	  wasapi2deviceprovider since we can enumerate input/output audio
	  devices at once using IMMDeviceEnumerator
	  This is a preparation for complete porting to Win32 API
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9428>

2025-06-01 00:02:16 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12graphicscapture.cpp:
	* sys/d3d12/gstd3d12graphicscapture.h:
	* sys/d3d12/plugin.cpp:
	  d3d12screencapturesrc: Fix OS handle leaks/random crash in WGC mode
	  Multiple DispatcherQueues per thread seems to be causing OS handle leak
	  and random crashes were observed. Instead of creating
	  thread/DispatcherQueue per GstD3D12GraphicsCapture object,
	  reuse only single thread and DispatcherQueue
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4351
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9424>

2025-07-16 15:33:19 +0200  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.26.4

=== release 1.26.4 ===

2025-07-16 15:26:21 +0200  Tim-Philipp Müller <tim@centricular.com>

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

2025-07-09 02:52:27 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/avtp/gstavtpcrfbase.c:
	* ext/avtp/gstavtpcrfbase.h:
	  avtp: crf: Setup socket during state change to ensure we handle failure
	  Previously the socket would be created in the thread, which take some
	  time to start. As the tests were so short they would usually pass as
	  they don't actually use the socket.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9374>

2025-07-09 02:51:11 -0400  Doug Nazar <nazard@nazar.ca>

	* tests/check/elements/avtpcrfcheck.c:
	* tests/check/elements/avtpcrfsync.c:
	  avtp: crf: tests: Only run tests if packet socket is available
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9374>

2025-07-09 00:47:58 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* gst/rtmp2/rtmp/rtmpclient.c:
	  rtmp2src: don't send window acknowledgement size commands twice
	  This causes servers such as AWS MediaLive to drop the connection, and
	  the message flow chart as documented in the "spec" always has the
	  server sending it first, and the client replying to it on reception of
	  the Set Peer Bandwidth, which we do since 286a3829b637.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9372>

2025-07-09 00:44:36 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* gst/rtmp2/gstrtmp2locationhandler.c:
	  rtmp2src: fix playback of URIs without a playpath
	  ffmpeg manages to play RTMP URLs in the form:
	  ```
	  protocol://servername:port/appname
	  ```
	  and does not require a second component to the path, adapt our code to
	  allow using such URLs as `tcUrl`.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9372>

2025-07-09 12:21:31 +0200  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc: Fix negotiation failure with profile=main-422-10
	  Previous version passed just enough data to the parser to detect
	  main/main-10, but main-422-10 is one of the range extensions profiles.
	  Those need a few more bits to be accurately detected, and since those
	  were just uinitialized memory previously, we'd incorrectly end up with
	  main or main-10 when the encoder was in fact giving us 4:2:2 10bit
	  output.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9371>

2025-07-07 11:59:18 +0200  Hanna Weiß <hweiss@igalia.com>

	* gst-libs/gst/vulkan/gstvkfullscreenquad.c:
	  vulkan: Fix drawing too many triangles in fullscreenquad
	  was using a index buffer for triangle list but drawn as strip
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9370>

2025-06-17 06:38:59 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/openh264/gstopenh264enc.cpp:
	  openh264: Ensure src_pic is initialized before use
	  valgrind was showing reads of uninitialized memory and the
	  library examples all memset the structure before use.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9362>

2025-07-07 10:12:52 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkfullscreenquad.c:
	  vulkanfullscreenquad: add locks for synchronisation
	  Now all API can be accessed from any thread.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9357>

2025-05-31 03:35:27 -0400  Doug Nazar <nazard@nazar.ca>

	* gst/transcode/gst-cpu-throttling-clock.c:
	  cpu-throttling-clock: fix race between async callback and unscheduling
	  It's possible that the callback is already scheduled to run on another
	  thread when we unschedule it during dispose and we would then access
	  a freed object.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9347>

2025-05-30 19:15:56 -0400  Doug Nazar <nazard@nazar.ca>

	* tests/check/elements/h266parse.c:
	  h266parse: test: Pass correct size argument to va_arg function
	  sizeof(int) != sizeof (gsize)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9347>

2025-05-30 15:23:03 -0400  Doug Nazar <nazard@nazar.ca>

	* tests/check/libs/analyticsmeta.c:
	  analytics: tests: Copy correct size of array to buffer
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9347>

2025-05-30 15:20:41 -0400  Doug Nazar <nazard@nazar.ca>

	* sys/decklink/gstdecklink.cpp:
	  decklink: Fix a memory leak
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9347>

2025-05-30 15:21:58 -0400  Doug Nazar <nazard@nazar.ca>

	* tests/check/elements/webrtcbin.c:
	  webrtc: tests: Fix a few memory leaks
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9347>

2025-05-30 15:20:02 -0400  Doug Nazar <nazard@nazar.ca>

	* gst/camerabin2/gstcamerabin2.c:
	  camerabin: Fix a memory leak
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9347>

2025-05-28 08:45:40 -0400  Doug Nazar <nazard@nazar.ca>

	* gst/codecalpha/gstalphacombine.c:
	  alphacombine: fix memory leaks
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9343>

2025-05-28 08:44:01 -0400  Doug Nazar <nazard@nazar.ca>

	* gst/transcode/gst-cpu-throttling-clock.c:
	  cpu-throttling-clock: free clock when finished
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9343>

2025-07-05 03:10:51 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12screencapturedevice.cpp:
	  d3d12screencapture: Add support for monitor add/remove in device provider
	  Update device list on WM_DISPLAYCHANGE event
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4521
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9333>

2025-07-04 10:56:27 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/videoparsers/gstvp9parse.c:
	  Revert "vp9parse: Always default to super-frame"
	  This reverts commit fd1428d3ebf937d7656c3788df3ef3ff85fecc31.
	  As reported in #4524, this changes cause regressions. The problem is due to a
	  bug in how vp9parse interact with parsebin, presenting downstream negotiation of
	  alignment to work. This revert to being stuck using frame alignment always,
	  which fortunately works with libvpx, though less efficient.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9331>

2025-05-07 14:02:05 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/videoparsers/gstvp9parse.c:
	  vp9parse: Only show the last frame of a super frame
	  Only the last frame of a super frame should be displayed by default. When
	  converting from super frame to frame, mark all frames as decode only except the
	  last one. This fixes vp90-2-22-svc_1280x720_3.ivf conformance test with
	  stateless decoders such as VA.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9327>

2025-05-07 13:48:04 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/videoparsers/gstvp9parse.c:
	  vp9parse: Always default to super-frame
	  Sort the list of structure before truncating so that we don't prefer
	  "frame"" alignment over "super-frame" in some cases.
	  Fixes vp90-2-22-svc_1280x720_3.ivf conformance test when using libvpx based
	  decoder.
	  Fixes #4371
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9327>

2025-05-07 10:29:10 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/videoparsers/gstvp9parse.c:
	  vp9parse: Fix typo Aligment vs Alignment
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9327>

2025-07-02 22:38:41 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/tensordecoders/gstssdobjectdetector.c:
	  ssdobjectdetector: Use correct tensor data index for the scores
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9324>

2025-06-27 10:06:34 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codech265dec.c:
	  v4l2codecs: h265dec: Fail when frame cropping is needed while using DMABuf
	  It is not possible to do frame cropping when DMABuf caps feature is negotiated.
	  The VideoInfo size is zero, resulting in empty destination buffers, and video
	  convert library may not understand what the format actually is.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9315>

2025-06-27 10:00:37 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codech265dec.c:
	  v4l2codecs: h265dec: Avoid cropping for zero top/left alignments
	  If the conformance window does not requires cropping the top or left of the
	  window, we can use GstVideoMeta to crop in a zero-copy fashion. If a copy
	  is needed, the frame copy can also handle it, and is a lot faster.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9315>

2025-06-27 09:49:00 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	  v4l2codecs: dec: Remove has_videometa member
	  Now that the code is properly located, this member is not needed
	  anymore.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9315>

2025-06-27 09:37:06 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	  v4l2codecs: dec: Move copy_frames logic inside decide_allocation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9315>

2025-06-22 03:23:59 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/avtp/gstavtpvfdepaybase.c:
	  avtp: Fix memory leak
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9314>

2025-06-22 03:22:27 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/srt/gstsrtsrc.c:
	  srt: Fix warning about uninitialized memory
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9314>

2025-06-22 03:20:35 -0400  Doug Nazar <nazard@nazar.ca>

	* gst-libs/gst/codecparsers/gstvc1parser.c:
	  vc1parser: Fix warning about printing uninitialized variables
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9314>

2025-06-22 03:16:55 -0400  Doug Nazar <nazard@nazar.ca>

	* gst/proxy/gstproxysrc.c:
	  proxysrc: Fix order freeing pads
	  Free pads from bottom of parent tree first else with GST_DEBUG
	  enabled it would access freed memory printing object info.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9314>

2025-06-22 03:14:39 -0400  Doug Nazar <nazard@nazar.ca>

	* tests/check/elements/avtpcvfpay.c:
	  avtpcvfpay: tests: Initialize codec memory
	  If GST_DEBUG was enabled we would print unintialized memory
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9314>

2025-06-25 09:30:15 -0600  David Monge <david.monge@ridgerun.com>

	* gst/mpegtsmux/tsmux/tsmuxstream.c:
	  mpegtsmux: fix double free caused by shared PMT descriptor
	  The PMT descriptor was owned by the stream object but also added to
	  the descriptors array without copying, leading to a double free and
	  core dump during cleanup
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9303>

2025-06-26 21:29:34 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.26.3

=== release 1.26.3 ===

2025-06-26 21:25:24 +0100  Tim-Philipp Müller <tim@centricular.com>

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

2025-06-24 21:40:26 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gsth266parser.c:
	* gst-libs/gst/codecparsers/gsth266parser.h:
	  h266parser: Fix overflow when parsing subpic_level_info
	  1. non_subpic_layers_fraction, ref_level_idc and ref_level_fraction_minus1
	  fields should not have the GST_H266_MAX_SUBLAYERS limitation.
	  2. Should check max_sublayers_minus1, no more than GST_H266_MAX_SUBLAYERS-1
	  Fixes ZDI-CAN-27381, CVE-2025-6663
	  Closes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4503
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9295>

2025-06-25 16:24:44 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/srt/gstsrtsink.c:
	* ext/srt/gstsrtsink.h:
	  srtsink: Fix header buffer filtering
	  Cleans up the code and fixes two issues:
	  - If there are no streamheaders in the caps but we have `HEADER`
	  buffers, it would run `gst_buffer_list_foreach` with `self->headers`
	  being `NULL`.
	  - The code forgot to unmap the buffer if it decided to ignore it.
	  Fixes: 0a562a92d7ee38d8919d1b802add84d3c93b59eb
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9286>

2025-06-21 07:12:29 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/analyticsoverlay/gstobjectdetectionoverlay.c:
	  analyticsoverlay: Fix memory leak
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9271>

2025-06-21 07:11:29 -0400  Doug Nazar <nazard@nazar.ca>

	* tests/check/elements/dashsink.c:
	  dashsink: test: Minor cleanups
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9271>

2025-06-21 07:10:54 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/dash/gstdashsink.c:
	  dashsink: Fix memory leak
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9271>

2025-06-23 10:22:57 +1000  Matthew Waters <matthew@centricular.com>

	* sys/decklink/gstdecklink.cpp:
	* sys/decklink/gstdecklink.h:
	* sys/decklink/gstdecklinkvideosink.cpp:
	  decklink/clock: remove clock_offset
	  It is completely unused and only ever initialized to 0.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9269>

2025-06-18 14:20:32 +1000  Matthew Waters <matthew@centricular.com>

	* sys/decklink/gstdecklinkvideosink.cpp:
	* sys/decklink/gstdecklinkvideosink.h:
	  decklink: calculate internal using values closer to the current clock times
	  In a previous version of the clock time conversion code, scheduled playback used
	  to be started (from 0) when transitioning to PLAYING and stopped when
	  transitioning PLAYING->PAUSED. This worked fine when converting running times
	  using the internal clock.  However, now the decklink clock will produce values
	  that are monotonically increasing and do not reset to 0 at the same moments as
	  running time anymore. This means that the clock adjustments could attempt to
	  convert a small running time based on a large clock time e.g. after pausing
	  for many hours. As the adjustment code is a simple linear interpolation based on
	  the current clock times (large) using the provided value (small), the small
	  differences in the rate could result in very large differences in the
	  output time.
	  Fix by instead using both internal and external clock times based on the values
	  that gst_clock_get_calibration() will return. By doing so, small changes in the
	  rate calculations between the internal and external clock times will not result
	  in potentially large differences in the output internal time from
	  gst_clock_unadjust_with_calibration().
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4197
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9269>

2025-06-18 14:04:14 +0200  Edward Hervey <edward@centricular.com>

	* gst/mpegtsdemux/tsdemux.c:
	  tsdemux: Allow access unit parsing failures
	  * Refactor the various Access Unit extraction calls into a single function
	  * Allow the access unit parsing to fail, but emit a warning
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9258>

2025-06-16 18:38:30 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/androidmedia/gstamc-codeclist.h:
	* sys/androidmedia/gstamc.c:
	* sys/androidmedia/gstamc.h:
	* sys/androidmedia/jni/gstamc-codeclist-jni.c:
	  amc: Overhaul hw-accelerated video codecs detection
	  Android 10 (API 29) added support for isHardwareAccelerated() to
	  MediaCodecInfo to detect whether a particular MediaCodec is backed by
	  hardware or not. We can now use that to ensure that the video hw-codec
	  is PRIMARY+1 on Android, since using a software codec for video is
	  simply not feasible most of the time.
	  If we're not able to detect isHardwareAccelerated(), perhaps because
	  the Android API version is too old, we try to use the codec name as
	  a fallback.
	  Also rank PRIMARY+1 the c2.android c2.exynos and c2.amlogic audio
	  codecs alongside OMX.google, because they are known-good.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9257>

2025-06-17 03:32:24 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/androidmedia/gstamc.c:
	  amc: Log under GST_FIXME for audio encoders
	  We don't support audio encoders yet, so log that correctly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9257>

2025-06-16 18:36:31 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/androidmedia/gstamc.c:
	  amc: Improve codec registration logging
	  Most of the messages can be printed with INFO threshold since they are
	  only printed on plugin registration.
	  Fix printing of codec caps, since GST_PTR_FORMAT truncates the output
	  in almost every case that I saw.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9257>

2025-06-16 18:34:39 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/androidmedia/gstamc.c:
	  amc: Print error messages when registering plugins
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9257>

2025-02-20 21:59:31 +0000  Ben Butterworth <24711048+ben-xD@users.noreply.github.com>

	* gst/mpegtsdemux/tsdemux.c:
	  mpegts: handle MPEG2-TS with KLV metadata safely by preventing out of bounds
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3896
	  @slomo, as requested on https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3896#note_2780065
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9251>

2024-07-26 14:23:10 +1000  Matthew Waters <matthew@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: disconnect signal ICE handlers on dispose
	  It is entirely possible that the in progress may still provide some state
	  updates until the ICE object is destroyed, these state updates should
	  not really be done when webrtcbin is in the process of destroying itself
	  and access freed data.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9249>

2025-06-13 12:35:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkupload.c:
	  vkupload: use gst_buffer_find_memory() to select memory
	  We never implemented correctly the selection of memories in a buffer given the
	  plane.
	  This patch uses gst_buffer_find_memory() for that. The offset is checked via the
	  video meta either in the input and output buffers, or the default offset given
	  the format and size.
	  This patch also requests the video meta option for the output buffers.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9243>

2025-06-13 11:28:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	  vkimagebufferpool: set video meta to buffers if requested
	  This patch adds the possibility to attach video metas to allocated buffers if
	  API users request that option.
	  The main reason to add this meta is for the future usage of
	  gst_buffer_find_memory(), where the requested offset determines the memory
	  index.
	  In the case of multi-memory Vulkan images the offset of every component is
	  larger than the default offset determined by the format and frame size, because
	  of the buffer minimum size and memory alignment determined by the used driver.
	  Then, the offset is set in the buffer video meta.
	  In the case of single memory Vulkan images, the default offset is set in the
	  video meta.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9243>

2025-06-13 11:27:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	  vkimagebufferpool: remove unused variable
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9243>

2024-12-13 19:08:30 +1100  Jan Schmidt <jan@centricular.com>

	* gst/mpegtsdemux/tsdemux.c:
	  tsdemux: Send new-segment before GAP
	  If adding a sparse stream and sending a gap event to bring it
	  up to speed, make sure to send the new segment event first
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9235>

2025-06-10 22:17:46 +1000  Matthew Waters <matthew@centricular.com>

	* sys/decklink/gstdecklinkvideosink.cpp:
	  decklinkvideosink: show preroll frame correctly
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4254
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9238>

2025-06-16 13:39:55 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* tests/check/elements/vkupload.c:
	* tests/check/meson.build:
	  test: vulkanupload unit test
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9228>

2025-06-13 14:36:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkupload.c:
	  vulkanupload: fix regression for uploading VulkanBuffer
	  Merge request !5651 introduced a regression for uploading VulkanBuffer. It can
	  be verified by
	  gst-launch-1.0 videotestsrc ! video/x-raw, format=NV12 ! vulkanupload ! \
	  video/x-raw\(memory:VulkanBuffer\) ! fakesink
	  Nobody has complained about this regression, so we assume it's a very niche
	  use-case.
	  This patch solve the regression by instantiating a different buffer pool
	  depending on the output cap features, and configuring it accordingly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9228>

2025-06-10 12:53:05 +0100  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/transcoder/gsttranscoder.c:
	  transcoder: Fix uritranscodebin reference handling
	  Make sure the reference is not floating, because the get_pipeline function
	  returns a transfer-full reference.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9203>

2025-06-06 16:24:19 +0200  Jakub Adam <jakub.adam@collabora.com>

	* ext/soundtouch/meson.build:
	  meson: fix building -bad tests with disabled soundtouch
	  Fixes an error from Meson:
	  ../subprojects/gst-plugins-bad/tests/validate/meson.build:16:93: ERROR:
	  Unknown variable "soundtouch_dep"
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9192>

2025-05-12 11:31:32 +0100  Glyn Davies <glyn@solet.io>

	* gst/mpegtsmux/tsmux/tsmuxstream.c:
	  mpegtsmux: Corrections around Teletext handling
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9183>

2025-05-22 10:11:36 -0400  Julian Bouzas <julian.bouzas@collabora.com>

	* ext/lcevcdecoder/gstlcevcdec.c:
	  lcevcdec: Check for errors after receiving all enhanced and base pictures
	  The LCEVC_ReceiveDecoderBase() and LCEVC_ReceiveDecoderPicture() APIs from the
	  LCEVCdec SDK can return LCEVC_Error if the enhancement data is wrong. This
	  change improves the lcevcdec element to check for those errors and stop the
	  pipeline when that happens.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9177>

2025-06-04 17:56:39 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11decoder.cpp:
	  d3d11decoder: Use interlace info in input caps
	  ... instead of relying on only parsed values from bitstream.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9174>

2025-06-04 17:55:51 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	  d3d12decoder: Use interlace info in input caps
	  ... instead of relying on only parsed values from bitstream.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9174>

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

	* sys/nvcodec/gstnvdecoder.cpp:
	* sys/nvcodec/gstnvh265dec.cpp:
	  nvdec: Use interlace info in input caps
	  ... instead of relying on only parsed values from bitstream.
	  Also parses HEVC specific interlace information
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9174>

2025-06-02 00:59:52 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11compositor.cpp:
	  d3d11compositor: Fix negative position handling
	  Negative positions should be cropped out
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9161>

2025-06-01 23:38:27 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12compositor.cpp:
	  d3d12compositor: Fix negative position handling
	  Negative positions should be cropped out
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4249
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9161>

2025-06-01 22:55:53 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12compositor.cpp:
	  d3d12compositor: Fix critical warnings
	  compositor will record rendering commands using multiple threads
	  (i.e., blending commands are recoded using thread pool, and
	  background one is recorded on aggregate thread).
	  And there can be temporary refcount increase (so not writable).
	  Updates fence once all rendering commands have been submitted.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9159>

2025-06-01 22:50:30 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter-unpack.cpp:
	  d3d12converter: Fix fallback upload process
	  Fixing typo
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9159>

2025-05-30 12:41:06 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/bayer/gstrgb2bayer.c:
	  rgb2bayer: Use gst_structure_has_name() instead of g_str_equal() for simplicity
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9150>

2025-05-30 12:40:42 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/bayer/gstbayer2rgb.c:
	  bayer2rgb: Use gst_structure_has_name() instead of strcmp() for clarity
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9150>

2025-05-30 12:33:09 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/bayer/gstbayer2rgb.c:
	  bayer2rgb: Fix RGB stride calculation
	  This fixes a regression introduced in 4c92d4096e9.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9150>

2025-05-30 00:03:12 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.26.2

=== release 1.26.2 ===

2025-05-29 23:56:43 +0100  Tim-Philipp Müller <tim@centricular.com>

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

2025-05-30 00:07:25 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12dxgicapture.cpp:
	  d3d12screencapturesrc: Fix desktop handle leak
	  Calling CloseDesktop() on a handle that is currently in use will fail.
	  Close the handle after current desktop handle change
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9140>

2025-05-29 14:30:42 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/dvbsuboverlay/gstdvbsuboverlay.c:
	  dvbsuboverlay: Actually make use of subtitle running time instead of using PTS
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4446
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9129>

2025-05-27 13:47:27 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst-libs/gst/webrtc/rtpsender.c:
	  rtpsender: fix 'priority' GValue get/set
	  - 'priority' is declared as enum, we need to use g_value_[get|set]_enum()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9110>

2025-05-26 18:25:58 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/meson.build:
	  d3d12: Enable GIR for MSVC build as well
	  cerbero issue should be fixed by
	  https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/1824
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9095>

2025-05-26 18:24:01 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12memory.h:
	  d3d12memory: Make D3D12 map flags inspectable
	  GIR scanner does not seem to be able to infer integer value
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9095>

2025-05-21 10:03:09 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/wpe/gstwpesrcbin.cpp:
	* gst/rist/gstristsink.c:
	* gst/sdp/gstsdpsrc.c:
	  gstreamer: Ensure we free the template
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9101>

2025-05-21 10:10:25 -0400  Doug Nazar <nazard@nazar.ca>

	* gst/mpegtsdemux/tsdemux.c:
	  tsdemux: Ensure AC3 descriptor is long enough before accessing
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9101>

2025-05-26 19:07:22 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/play/gstplay.c:
	  play: Improve stream selection
	  - Unset stream ids if a collection does not contain them
	  - Automatically select a default stream of a type if the stream type is
	  enabled but no stream is selected yet when receiving the stream collection
	  - Warn if there's a collection update via streams-selected and if there are
	  unexpected streams being selected, or actually selected streams not being
	  found
	  - Improve debug output a bit
	  Among other things this also makes sure that we don't forget a selected stream
	  id when disabling a track so that when enabling it again later the same one can
	  be enabled again.
	  See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4344
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9100>

2025-05-20 22:32:36 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/meson.build:
	  d3d12: Generate gir file
	  Prerequisite for rust binding
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9096>

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

	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	  d3d12: Fix docs annotations
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9096>

2025-05-26 17:20:05 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	  d3d12memory: Allow set_fence() only against writable memory
	  Setting a fence to memory should only be allowed on the side
	  that modified that memory or has the right to modify it
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9094>

2025-05-14 14:36:49 -0400  Doug Nazar <nazard@nazar.ca>

	* gst/videoframe_audiolevel/gstvideoframe-audiolevel.c:
	  videoframe-audiolevel: Switch to GST_AUDIO_NE()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9089>

2025-05-14 14:36:01 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/musepack/gstmusepackdec.c:
	  musepack: Switch to GST_AUDIO_NE()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9089>

2025-05-12 18:27:06 -0400  Olivier Crête <olivier.crete@collabora.com>

	* tests/check/elements/h264parse.c:
	  h264parse test: Ensure avc3 caps include a codec_data
	  The avc3 caps without a codec_data are just totally invalid
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9087>

2025-05-08 19:20:13 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst/videoparsers/gsth264parse.c:
	  h264parse: Require codec_data when receiving stream-format=avc or avc3
	  It's not really possible to safely interpret the content afterwards if
	  it's missing.
	  Even for AVC3, the codec_data doesn't need to contain a SPS/PPS, but
	  it still needs to be present to tell downstream elements about the size
	  of the nal unit length field.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9087>

2025-05-08 19:16:13 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst/videoparsers/gsth264parse.c:
	  h264parse: Never output stream-format=avc/avc3 caps without codec_data
	  It's not possible to interpret further buffers without knowing the nal_length_size
	  field, so avc1/avc3 caps without the codec_data aren't valid, don't push them out.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9087>

2025-05-12 16:40:05 -0400  Olivier Crête <olivier.crete@collabora.com>

	* tests/check/elements/h264parse.c:
	  h264parse test: Send PPS in SPS parsing test
	  Without the PPS, the codec_data can not be created
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9087>

2025-05-13 19:37:59 -0400  Doug Nazar <nazard@nazar.ca>

	* gst/transcode/gsturitranscodebin.c:
	  uritranscodebin: Free various props before being set
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9088>

2025-05-13 19:35:58 -0400  Doug Nazar <nazard@nazar.ca>

	* gst/transcode/gsttranscodebin.c:
	  transcodebin: Free various props before being set
	  Also disable setting filters more than once.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9088>

2025-05-13 19:34:59 -0400  Doug Nazar <nazard@nazar.ca>

	* gst-libs/gst/vulkan/gstvkwindow.c:
	  vulkan: Free various props before being set
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9088>

2025-05-13 19:23:53 -0400  Doug Nazar <nazard@nazar.ca>

	* gst-libs/gst/transcoder/gsttranscoder.c:
	  transcoder: Free various props before during cleanup
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9088>

2025-05-13 19:15:21 -0400  Doug Nazar <nazard@nazar.ca>

	* gst-libs/gst/player/gstplayer-g-main-context-signal-dispatcher.c:
	* gst-libs/gst/player/gstplayer.c:
	* gst-libs/gst/transcoder/gsttranscoder.c:
	* gst-libs/gst/vulkan/gstvkdevice.c:
	* gst-libs/gst/vulkan/gstvkoperation.c:
	* gst-libs/gst/vulkan/gstvkphysicaldevice.c:
	* gst-libs/gst/webrtc/rtptransceiver.c:
	* sys/applemedia/videotexturecache-gl.m:
	* sys/applemedia/videotexturecache-vulkan.mm:
	* sys/d3d11/gstd3d11dxgicapture.cpp:
	* sys/d3d11/gstd3d11window.cpp:
	* sys/d3d11/gstd3d11winrtcapture.cpp:
	* sys/va/gstvadecoder.c:
	* sys/va/gstvaencoder.c:
	* sys/va/gstvafilter.c:
	* sys/webview2/gstwebview2object.cpp:
	  all: Annotate *_set_property() contructor only props without free
	  Properties that are marked constructor only aren't required to be freed
	  before g_value_dup_*() as they can only be called once during construction.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9088>

2025-03-30 19:44:22 -0400  Doug Nazar <nazard@nazar.ca>

	* gst-libs/gst/vulkan/wayland/gstvkdisplay_wayland.c:
	  vulkan/wayland: Init debug category before usage
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9086>

2025-05-27 00:03:05 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvencoder.cpp:
	  nvencoder: Fix GstNvEncTask leak on non-flow-ok return
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9084>

2025-05-26 23:17:15 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvencoder.cpp:
	  nvencoder: Fix GstVideoCodecFrame leak on non-flow-ok return
	  ... and use gst_video_encoder_release_frame() to drop frame
	  instead of gst_video_encoder_finish_frame()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9084>

2025-05-24 14:42:32 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/codecalpha/gstalphacombine.c:
	  alphacombine: Fix seeking after EOS
	  The alpha_eos state was not being reset on flush-stop, as a side effect
	  flushing seek after EOS did not work.
	  Fixes #4442
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9079>

2025-03-30 01:43:33 -0400  Doug Nazar <nazard@nazar.ca>

	* tests/check/elements/dash_mpd.c:
	  dash: mpdclient: Re-enable test now that mpdclient is fixed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9068>

2025-03-30 01:41:10 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/dash/gstmpdclient.c:
	  dash: mpdclient: Don't pass terminating NUL to adapter
	  libxml2 will complain if it detects any characters after the valid
	  XML, including a NUL byte.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9068>

2025-05-21 20:29:06 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* meson_options.txt:
	  meson: Add a monorepo-wide qt-method option and yield to it
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9063>

2025-05-21 20:23:01 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/qt6d3d11/meson.build:
	* meson_options.txt:
	* tests/examples/qt6d3d11/meson.build:
	  meson: Fix qt detection for qt6d3d11 plugin
	  This now matches the code for the qml6gl plugin.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9063>

2025-05-19 20:38:56 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/meson.build:
	  d3d12: Fix gstreamer-full subproject build with gcc
	  Since default option "cpp_std=c++14" is not applied automatically
	  in case that gstreamer is used as a meson subproject, specify
	  cpp_std option explicitly
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9033>

2025-05-13 08:20:53 -0400  Doug Nazar <nazard@nazar.ca>

	* tests/check/elements/audiovisualizer.c:
	  audiovisualizer: Change test to use native endian audio format
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9025>

2025-05-13 01:40:57 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	  d3d12decoder: Workaround for NVIDIA crash on resolution change
	  Recent NVIDIA driver seems to crash on resolution change
	  if ID3D12VideoDecoder and ID3D12VideoDecodeCommandList are reused.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4415
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8977>

2025-05-02 15:46:26 +0200  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* gst/removesilence/gstremovesilence.c:
	  removesilence: canonicalize property names
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8962>

2025-05-02 10:08:31 +0200  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* ext/opencv/gsthanddetect.cpp:
	  handdetect: canonicalize property names
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8962>

2025-05-02 08:56:19 +0200  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* ext/aes/gstaesdec.c:
	* ext/chromaprint/gstchromaprint.c:
	* ext/iqa/iqa.c:
	* ext/openal/gstopenalsink.c:
	* ext/openal/gstopenalsrc.c:
	* ext/opencv/gstcvtracker.cpp:
	* ext/opencv/gsthanddetect.cpp:
	* ext/opencv/gstsegmentation.cpp:
	* ext/qroverlay/gstbaseqroverlay.c:
	* ext/qroverlay/gstdebugqroverlay.c:
	* ext/sndfile/gstsfsrc.c:
	* ext/spandsp/gsttonegeneratesrc.c:
	* ext/x265/gstx265enc.c:
	* gst-libs/gst/mse/gstsourcebuffer.c:
	* gst-libs/gst/transcoder/gsttranscoder-signal-adapter.c:
	* gst-libs/gst/uridownloader/gstfragment.c:
	* gst/accurip/gstaccurip.c:
	* gst/proxy/gstproxysrc.c:
	* gst/removesilence/gstremovesilence.c:
	* sys/bluez/gsta2dpsink.c:
	* sys/bluez/gstavdtpsink.c:
	* sys/bluez/gstavdtpsrc.c:
	* sys/directshow/dshowvideosink.cpp:
	* sys/directshow/gstdshowvideosrc.cpp:
	* sys/directsound/gstdirectsoundsrc.c:
	* sys/dvb/gstdvbsrc.c:
	* sys/fbdev/gstfbdevsink.c:
	* sys/kms/gstkmsallocator.c:
	  properties: add G_PARAM_STATIC_STRINGS where missing
	  "Hold on, I know you need to generate the registry, but let me just
	  create copies of all those strings first", Framework whispered
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8962>

2025-05-08 19:23:54 +0900  Seungha Yang <seungha@centricular.com>

	* tests/examples/cuda/cudamemory-sync.c:
	* tests/examples/cuda/meson.build:
	  examples: cuda: Fix build with old CUDA SDK
	  Some symbols are not available in old cuda headers.
	  Use our stub headers instead
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8961>

2025-05-08 19:18:32 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudanvrtc.cpp:
	  cuda: Fix runtime PTX compile
	  Handle extra option args
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8961>

2025-05-05 17:51:55 +0000  L. E. Segovia <amy@centricular.com>

	* ext/curl/gstcurlfilesink.c:
	* ext/curl/gstcurlhttpsink.c:
	* ext/curl/gstcurlsmtpsink.c:
	  curl: Fix build with MSVC
	  See https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/1740#note_2895537
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8946>

2025-03-11 15:02:03 +0100  Pablo García <pgarcia@fluendo.com>

	* ext/curl/gstcurlbasesink.c:
	  curl: use CURL_SOCKET_BAD to ensure cross-platform
	  Solves this error in Windows build:
	  ../ext/curl/gstcurlbasesink.c:1154:14: error: comparison of unsigned
	  expression in '< 0' is always false [-Werror=type-limits]
	  1154 |   if (curlfd < 0) {
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8958>

2025-05-01 15:16:22 -0400  Olivier Crête <olivier.crete@collabora.com>

	* ext/lcevcdecoder/gstlcevcdec.c:
	  lcevcdec: Use portable printf formatting macros
	  This should fix 32bit builds
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8927>

2025-05-01 15:30:28 -0400  Olivier Crête <olivier.crete@collabora.com>

	* ext/lcevcencoder/gstlcevcencoder.c:
	  lcevcenc: Use portable printf formatting macros
	  This should fix 32bit builds
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8927>

2025-04-03 02:24:13 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* tests/check/meson.build:
	  gst-examples: Port all webrtc examples to libsoup-3.0
	  Also do some indent changes, and add `static` while we're at it.
	  And move the libsoup wrap to 3.6.5, add nghttp2 wrap
	  We need to disable libsoup 3.0 tests because they fail to build on
	  Windows.
	  Closes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1115
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8919>

2025-04-01 17:58:14 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* tests/check/meson.build:
	  meson: Add include_type: 'system' everywhere to squelch wrap warnings
	  Wrap dependencies add a ton of warnings with the latest GCC in Fedora
	  42. Squelch them by specifying that these dependencies are not
	  a part of the gstreamer project, and should be treated as system deps.
	  libsoup needs some porting work for the bump, and vorbis/lame are
	  already at their latest releases.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8919>

2025-02-08 22:44:47 +0800  Zhao, Gang <gang.zhao.42@gmail.com>

	* gst/midi/midiparse.c:
	  midiparse: Quit parsing if error occurred
	  Invalid midi files will crash gstreamer or let it enter infinite
	  loop. Fixed it by quit parsing if error is encountered.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8918>

2025-02-03 13:53:09 +0800  Zhao, Gang <gang.zhao.42@gmail.com>

	* gst/midi/midiparse.c:
	* gst/midi/midiparse.h:
	  midiparse: Consider tempo change when calculating duration
	  Midi meta event set tempo would change tempo. Should consider tempo
	  change when calculating buffer PTS / duration.
	  Save tempo change to a list and calculate duration according to the
	  list.
	  Fixed #4158
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8918>

2025-04-24 07:48:12 +0200  Jochen Henneberg <jochen@centricular.com>

	* sys/va/gstvah264enc.c:
	  va: Fix H264 profile decision logic
	  The current logic would choose 'baseline' profiles only in case that
	  these profiles appear in the list first.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8893>

2025-04-24 20:26:57 +0100  Tim-Philipp Müller <tim@centricular.com>

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

=== release 1.26.1 ===

2025-04-24 20:20:14 +0100  Tim-Philipp Müller <tim@centricular.com>

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

2025-03-15 23:48:52 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecparsers/gsth265parser.c:
	  h265parser: Fix num_long_term_pics bound check
	  As defined in the spec 7.4.7.1, calculates allowed maximum
	  value of num_long_term_pics
	  Fixes ZDI-CAN-26596
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4285
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8885>

2025-03-15 22:39:44 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecparsers/gsth265parser.c:
	  h265parser: Fix max_dec_pic_buffering_minus1 bound check
	  Allowed max value is MaxDpbSize - 1
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8885>

2025-04-17 17:28:17 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* sys/va/gstvaav1enc.c:
	  vaav1enc: fix mem leaks in _av1_decide_profile
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8876>

2025-04-15 16:46:23 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* sys/va/gstvavp9enc.c:
	  vavp9enc: fix mem leaks in _vp9_decide_profile
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8876>

2025-04-23 09:28:16 +0300  Sebastian Dröge <sebastian@centricular.com>

	* sys/aja/plugin.cpp:
	  aja: Use the correct location of the AJA NTV2 SDK in the docs
	  Also there is no longer a proprietary version of it.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4381
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8875>

2025-04-21 22:59:18 +0200  Jakub Adam <jakub.adam@collabora.com>

	* sys/va/gstvavpp.c:
	  vapostproc: fix wrong video orientation after restarting the element
	  After READY -> NULL -> READY state change, the configured video
	  orientation didn't get applied on the new GstVaFilter instance.
	  Resettig prev_direction to default value in update_properties ensures
	  gst_va_filter_set_orientation() isn't inadvertently skipped.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8872>

2025-04-17 04:40:12 -0600  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst-libs/gst/mse/gstsourcebuffer.c:
	  gstsourcebuffer: Reverted ownership change for append method
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8864>

2025-04-16 21:17:07 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	  d3d12converter: Fix cropping when automatic mipmap is enabled
	  Update vertex buffer and viewport of extra shader pipeline as well
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8853>

2025-04-10 15:44:54 -0400  Daniel Morin <daniel.morin@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/tensordecoders/gstssdobjectdetector.c:
	  tensordecoders: updating element classification
	  - `TensorDecoder` is clashing with media decoder which cause decodebin use it.
	  Replacing with `Tensordecoder` to avoid clash
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8839>

2025-04-10 14:23:59 +0200  Carlos Bentzen <cadubentzen@igalia.com>

	* gst-libs/gst/codecs/gsth266decoder.c:
	  h266decoder: fix leak parsing SEI messages
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8817>

2025-04-08 15:08:11 -0400  Detlev Casanova <detlev.casanova@collabora.com>

	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	  v4l2codecs: Unref the frame before leaving on error
	  In h264, h265 and mpeg2, make sure that dec_submit_bitstream() doesn't leak
	  a frame when dec_ensure_output_buffer() fails.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8804>

2025-04-08 09:30:31 -0400  Detlev Casanova <detlev.casanova@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	  v4l2codecs: av1,vp9: Use temporary variable for buffer
	  This makes the end_picture() function handle the frame in the same way
	  as in vp8, which also fixes a frame leak when
	  gst_buffer_pool_acquire_buffer() fails.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8804>

2025-04-09 09:01:22 -0400  Xavier Claessens <xclaessens@netflix.com>

	* sys/va/meson.build:
	  Revert "va: h266 requires libva 2.22.0"
	  This reverts commit 8c017c79c5736c9e45e635df210e08550287646d.
	  1.22 was the correct pkg-config version. It's only the subproject
	  version that was wrong. Since we bumped libva.wrap to 2.22 version, h266
	  is now always available when using the subproject.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8802>

2025-04-07 17:45:28 -0400  Xavier Claessens <xclaessens@netflix.com>

	* sys/va/meson.build:
	  va: h266 requires libva 2.22.0
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8793>

2025-04-04 12:18:24 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* gst/codecalpha/gstalphacombine.c:
	  alphacombine: unblock when alpha sink is eos
	  If the alpha sink receives EOS while the other thread was waiting for a
	  alpha buffer it was stuck waiting forever.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8790>

2025-04-02 09:58:26 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* gst/codecalpha/gstalphadecodebin.c:
	* sys/v4l2codecs/gstv4l2codecalphadecodebin.c:
	* sys/va/gstvacodecalphadecodebin.c:
	  alphadecodebin: use a multiqueue instead of a couple of queues
	  Fix gapless playback as queues are no longer stopped after the first
	  eos.
	  Co-authored-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
	  Fix #4165
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8790>

2025-03-30 13:04:12 +0300  Razvan Grigore <razvan.grigore@vampirebyte.ro>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: add missing warning for caps missmatch
	  This helps debug cases when the remote is offerer and m-line does not match with already existing transceivers.
	  In this case, it will create new ones with sendrecv direction without any warning.
	  Similar with code from _create_answer_task
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8784>

2025-04-03 16:30:52 -0400  Olivier Crête <olivier.crete@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	  bad: Update va docs, adding new elements
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8778>

2025-04-04 12:54:27 -0400  Olivier Crête <olivier.crete@collabora.com>

	* sys/va/gstvacodecalphadecodebin.h:
	* sys/va/gstvafilter.c:
	* sys/va/gstvavpp.c:
	* sys/va/meson.build:
	  va: Add since markers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8778>

2025-04-04 13:20:35 -0400  Olivier Crête <olivier.crete@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/va/gstvaav1enc.c:
	* sys/va/gstvah265enc.c:
	* sys/va/gstvavp8enc.c:
	* sys/va/gstvavp9enc.c:
	  va: Remove GstVaFeature marking as a plugin API
	  It's part of the libgstva library and it's documented there, no need
	  to duplicate it as it confuses hotdoc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8778>

2025-04-03 17:39:45 -0400  Olivier Crête <olivier.crete@collabora.com>

	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	* sys/va/gstvavp8dec.c:
	* sys/va/gstvavp9dec.c:
	  va: Add doc section for vah26xlpenc and codecalpha element
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8778>

2025-04-03 16:31:30 -0400  Olivier Crête <olivier.crete@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	  bad: Update wpesrc docs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8778>

2025-04-03 17:45:57 -0400  Olivier Crête <olivier.crete@collabora.com>

	* ext/wpe/gstwpevideosrc.cpp:
	  wpevideosrc: Fix typo in doc
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8778>

2025-04-03 16:22:08 -0400  Olivier Crête <olivier.crete@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	  bad: Update qsv docs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8778>

2025-04-04 13:20:09 -0400  Olivier Crête <olivier.crete@collabora.com>

	* sys/qsv/gstqsvdecoder.cpp:
	* sys/qsv/gstqsvencoder.cpp:
	  qsv: Add since marker to device-path property
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8778>

2025-04-03 16:07:20 -0400  Olivier Crête <olivier.crete@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/onnx/gstonnx.c:
	* ext/onnx/gstonnxclient.h:
	* ext/onnx/gstonnxinference.cpp:
	  bad: Add onnxinference to the docs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8778>

2025-04-01 16:10:52 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/webrtc/ice.c:
	* gst-libs/gst/webrtc/icestream.c:
	  docs: Fix GstWebRTCICE* class documentation
	  IceStream is not an actual object, it's GstWebRTCICEStream
	  Some `Returns:` annotations were improperly formatted and not taking
	  effect.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8771>

2025-04-03 09:54:19 -0400  Xavier Claessens <xclaessens@netflix.com>

	* gst/unixfd/gstunixfdsrc.c:
	  unixfd: Fix wrong memory size when offset > 0
	  This is a backport of !8025 that does not require new API.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8770>

2024-09-10 01:13:25 +0200  Michael Grzeschik <m.grzeschik@pengutronix.de>

	* sys/uvcgadget/gstuvcsink.c:
	* sys/uvcgadget/gstuvcsink.h:
	* sys/uvcgadget/uvc.c:
	  uvcsink: Respond to control requests with proper error handling
	  The complete handling on the control interface is currently dead.
	  We return with EOPNOTSUPP for the caller to know that a response
	  to such requests is not valid. The host however may ask
	  control interface why these control requests were not available.
	  For this the UVC_VC_REQUEST_ERROR_CODE_CONTROL is used. As an overall
	  exception for the control interface we just always return 0x06 as
	  an response which is representing "not implemented".
	  This patch is a necessary feature to properly pass the UVC Functionality
	  Test of the USB3CV Compliance Software.
	  Fixes: 69c17461392d ('uvcgadget: Properly implement GET_INFO control responses')
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8760>

2025-03-31 18:54:28 +0200  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/avfvideosrc.m:
	  avfvideosrc: Guess reasonable framerate values for some 3rd party devices
	  For some third-party devices macOS sometimes reports silly framerates,
	  like 750003/6250 instead of 120/1. To avoid users having to exactly
	  pecify those values, we instead report the closest reasonable value in
	  caps. If it ends up being chosen, the additional logic in
	  setDeviceCaps() will reverse that process and pass the actual supported
	  value back to AVF, as most often the rounding causes us to fall just
	  outside the accepted threshold.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8756>

2025-03-31 21:56:51 +0900  Seungha Yang <seungha@centricular.com>

	* ext/closedcaption/gsth264ccextractor.c:
	* ext/closedcaption/gsth265ccextractor.c:
	  h264ccextractor,h265ccextractor: Handle gap with unknown pts
	  Fixing critical warngins
	  gst_event_new_gap: assertion 'GST_CLOCK_TIME_IS_VALID (timestamp)' failed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8752>

2025-02-18 14:12:49 -0700  Jordan Yelloz <jordan.yelloz@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	  mse: Updated documentation cache
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8751>

2025-02-18 13:08:38 -0700  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst-libs/gst/mse/gstmsesrc-private.h:
	* gst-libs/gst/mse/gstmsesrc.c:
	  gstmsesrc: Added locking, improved seek implementation
	  The position is no longer duplicated across each pad and pad's segment. The
	  position is now only updated if it changes in the direction of playback so that
	  quickly repeated forward seeks do not cause the stream to seek from 0.
	  Reverse playback is expressly disallowed and an unnecessary extra flush of track
	  when seeking was removed.
	  A background task was added to periodically check on the current position and
	  the media source's buffering levels to keep the ready state up-to-date. The
	  source buffer no longer needs to trigger this update, it will happen whenever
	  the element state is READY or higher.
	  Finally, added proper error reporting when failing to push a buffer and improved
	  debug logging.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8751>

2025-02-18 13:08:38 -0700  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst-libs/gst/mse/gstappendpipeline.c:
	  gstappendpipeline: Added name to background task
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8751>

2025-02-18 13:08:37 -0700  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst-libs/gst/mse/gstsourcebufferlist.c:
	  gstsourcebufferlist: Added locking
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8751>

2025-02-18 13:08:37 -0700  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst-libs/gst/mse/gstsourcebuffer.c:
	  gstsourcebuffer: Added locking, re-worked track feed task
	  Since the sample map/track buffer now iterates samples in batches corresponding
	  to each coded frame group, the logic to feed the tracks is simpler. For media
	  without delta frames, it's a special case where the coded frame groups are all
	  size 1.
	  Now, all it does is skip data until the keyframe group containing the seek point
	  is found, then feed the track queue with the current sample and all future
	  samples until EOS or cancellation.
	  Resync of the iterator when the underlying track is modified is not necessary
	  because the outer loop attempts to resume feeding track data from where it was
	  interrupted in case of modification.
	  Also, the track feed task struct now holds a weak ref to its parent source
	  buffer to allow the task to cancel itself in any situation where the source
	  buffer is destroyed before the task is shut down.
	  Media parsing activity in the append pipeline no longer triggers ready state
	  recalculation on the msesrc since the msesrc now has a background task that
	  updates the ready state periodically when it's active which is more efficient in
	  cases where there is a high volume of samples being processed by the media
	  parser.
	  Finally, updated to adapt to track buffer API changes. Some functions previously
	  passed in a lower bound for sample timestamps. Now the source buffer is
	  responsible for clipping samples within a desired range of time.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8751>

2025-02-18 13:08:37 -0700  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst-libs/gst/mse/gstsourcebuffer.c:
	  gstsourcebuffer: Added name to track feed task
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8751>

2025-02-18 13:08:37 -0700  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst-libs/gst/mse/gstsourcebuffer.c:
	  gstsourcebuffer: Moved misplaced documentation comment
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8751>

2025-02-18 13:08:37 -0700  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst-libs/gst/mse/gstmediasourcetrackbuffer.c:
	* tests/check/libs/mse.c:
	  gstmediasourcetrackbuffer: Improved buffered ranges calculation
	  Now when the buffered list is requested, the tolerance for merging two ranges
	  when there's a small gap between them is MAX(0.1sec, max frame duration * 2).
	  Previously it was hardcoded to 0.01sec. The specification suggests that it
	  could be something like the max frame duration * 2.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8751>

2025-02-18 13:08:37 -0700  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst-libs/gst/mse/gstmediasourcetrackbuffer-private.h:
	* gst-libs/gst/mse/gstmediasourcetrackbuffer.c:
	  gstmediasourcetrackbuffer: Added method to wait until any new data
	  The source buffer currently has a thread for each track that feeds the track
	  with all data in the track buffer until EOS is reached.
	  Each pass over the track buffer currently waits for the EOS to appear when it's
	  done iterating the track buffer which is too restrictive.
	  When the source buffer reaches the end of the track buffer, it should wait for
	  any new data to be processed -- not just an EOS -- then check for cancellation
	  if the deadline expires without new data.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8751>

2025-02-18 13:08:37 -0700  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst-libs/gst/mse/gstmediasourcetrackbuffer-private.h:
	* gst-libs/gst/mse/gstmediasourcetrackbuffer.c:
	  gstmediasourcetrackbuffer: Removed start time filtering from sample iterator
	  This adapts to the changes to the sample map since gst_iterator_filter() is a
	  simpler way for callers to clip the returned samples to a desired time range.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8751>

2025-02-18 13:08:37 -0700  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst-libs/gst/mse/gstmediasourcetrackbuffer-private.h:
	* gst-libs/gst/mse/gstmediasourcetrackbuffer.c:
	  gstmediasourcetrackbuffer: Removed unused code
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8751>

2025-02-18 13:08:37 -0700  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst-libs/gst/mse/gstmediasourcetrack-private.h:
	* gst-libs/gst/mse/gstmediasourcetrack.c:
	* tests/check/libs/mse.c:
	  gstmediasourcetrack: Removed unused try_push() method
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8751>

2025-02-18 13:08:37 -0700  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst-libs/gst/mse/gstmediasourcetrack.c:
	* tests/check/libs/mse.c:
	  gstmediasourcetrack: Ref the sample inside push() method
	  This simplifies cleanup for the caller since the push method already cleans up
	  the sample when it is consumed by playback or if it fails to be added to the
	  queue.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8751>

2025-02-18 13:08:37 -0700  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst-libs/gst/mse/gstmediasourcesamplemap-private.h:
	* gst-libs/gst/mse/gstmediasourcesamplemap.c:
	* tests/check/libs/mse.c:
	  gstmediasourcesamplemap: Re-worked sample iteration and removal
	  Both operations now work on coded frame groups (GOPs). This simplifies queueing
	  of video data. There is rarely any point of dealing with individual video frames
	  when iterating in DTS order, it's most meaningful to decode or delete whole
	  coded frame groups at a time, so the sample map will now do that when iterating
	  by DTS. When iterating in PTS order, the existing behavior is preserved since
	  that is used for informational purposes, not media processing.
	  A new private boxed type for coded frame groups was added to provide each data
	  item to the source buffer. Another possible solution would be creation of a new
	  GstSample representing the whole group by merging all the samples in a group
	  into a single sample containing a GstBufferList.
	  Also, start time filtering was removed from the API since gst_iterator_filter()
	  can be used by callers to achieve the same result.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8751>

2025-02-18 13:08:37 -0700  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst-libs/gst/mse/gstmediasource.c:
	  gstmediasource: Added locking
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8751>

2025-02-18 13:08:37 -0700  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst-libs/gst/mse/gstmediasource.c:
	  gstmediasource: Added caller-allocates annotation to get_live_seekable_range()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8751>

2025-02-18 13:08:37 -0700  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst-libs/gst/mse/gstmselogging-private.h:
	* gst-libs/gst/mse/gstmselogging.c:
	  gstmselogging: Added helper function to get nicknames of enum values
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8751>

2025-03-27 15:38:42 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* gst/codecalpha/gstalphadecodebin.c:
	  codecalpha: name both queues
	  Make it easier to debug from logs.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8750>

2025-03-21 11:41:11 +0900  Dongyun Seo <dongyun.seo@lge.com>

	* gst-libs/gst/vulkan/gstvkformat.c:
	  vkformat: fix build error
	  fix build error when VK_KHR_format_feature_flags2 is not defined.
	  Co-authored-by: Victor Jaquez vjaquez@igalia.com
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8749>

2025-03-25 03:04:52 +0900  Seungha Yang <seungha@centricular.com>

	* ext/closedcaption/gstcodecccinserter.c:
	  codecccinserter: Fix event double free
	  Need to steal GstVideoCodecFrame.events before unref
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8707>

2025-03-25 03:02:57 +0900  Seungha Yang <seungha@centricular.com>

	* ext/closedcaption/gsth265reorder.c:
	  h265ccinserter: Fix broken SPS/PPS link
	  Apply the same h265decoder change to h265ccinserter
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8707>

2025-03-25 02:09:49 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth265decoder.c:
	  h265decoder: Fix broken SPS/PPS link
	  Because of 2 pass nalu handling in decoder, link between
	  slice header and SPS/PPS can be broken at the second pass
	  if SPS/PPS got updated after slice header in the same AU
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4323
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8707>

2025-03-25 02:41:29 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecparsers/gsth265parser-private.h:
	* gst-libs/gst/codecparsers/gsth265parser.c:
	  h265parser: Add private method to update slice header
	  Adding a method to allow linking already parsed slice header
	  with parser's own sps/pps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8707>

2025-03-25 01:58:42 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecparsers/gsth265parser.c:
	  h265parser: Allow updating SPS/PPS without parent parameter set
	  h265parser defers linking parameter sets until slice header is parsed.
	  Thus valid SPS/PPS parsed by h265parser can have no linked
	  parent parameter set. Apply this behavior to
	  gst_h265_parser_update_{sps,pps} too
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8707>

2025-03-29 19:03:13 +0200  Artem Martus <artemmartus2012@gmail.com>

	* ext/webrtc/gstwebrtcbin.c:
	* tests/check/elements/webrtcbin.c:
	  webrtcbin: ensure RTX entry for all formats
	  Properly implement RFC 4588 by ensuring each media format
	  has its own RTX payload type with unique 'apt' parameter,
	  rather than only mapping the first format.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8742>

2025-03-30 13:10:42 +0300  Sebastian Dröge <sebastian@centricular.com>

	* sys/va/gstvacaps.c:
	  va: Skip codecs that report maximum width or height lower than minimum
	  This happens on F42 with the JPEG decoders for some reason and trying to
	  actually use them with any resolution simply gives a "resolution not supported"
	  error.
	  A minimum of 64 is correctly reported though and trying to create caps with an
	  int range of [64, 0] gives critical warnings.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8737>

2025-03-14 22:03:53 -0400  Doug Nazar <nazard@nazar.ca>

	* sys/bluez/gsta2dpsink.c:
	  a2dpsink: Free various props during cleanup
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8714>

2025-03-14 22:01:44 -0400  Doug Nazar <nazard@nazar.ca>

	* sys/aja/gstajasink.cpp:
	* sys/aja/gstajasrc.cpp:
	  aja: Free various props during cleanup
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8714>

2025-03-14 22:01:05 -0400  Doug Nazar <nazard@nazar.ca>

	* gst/librfb/gstrfbsrc.c:
	* gst/librfb/rfbdecoder.c:
	  rfbsrc: Free various props before being set & during cleanup
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8714>

2025-03-14 21:59:13 -0400  Doug Nazar <nazard@nazar.ca>

	* gst/frei0r/gstfrei0r.c:
	  frei0r: Free various props before being set
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8714>

2025-03-14 21:58:14 -0400  Doug Nazar <nazard@nazar.ca>

	* gst/faceoverlay/gstfaceoverlay.c:
	  faceoverlay: Free various props during cleanup
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8714>

2025-03-14 19:38:54 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/wayland/gstwaylandsink.c:
	  waylandsink: Free various props before being set
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8714>

2025-03-14 19:38:03 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/qroverlay/gstdebugqroverlay.c:
	* ext/qroverlay/gstqroverlay.c:
	  qroverlay: Free various props before set & during cleanup
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8714>

2025-03-14 19:37:39 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/openal/gstopenalsrc.c:
	  openalsrc: Free various props before being set
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8714>

2025-03-14 19:35:49 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/lcevcencoder/gstlcevcencoder.c:
	  lcevcencoder: Free various props before during cleanup
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8714>

2025-03-14 19:25:48 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/dash/gstmpdadaptationsetnode.c:
	* ext/dash/gstmpdperiodnode.c:
	* ext/dash/gstmpdrepresentationbasenode.c:
	* ext/dash/gstmpdrepresentationnode.c:
	* ext/dash/gstmpdsegmenttemplatenode.c:
	* ext/dash/gstmpdsegmenturlnode.c:
	  dash: Free various props before set & during cleanup
	  In addition several members were being freed via xmlFree() even though
	  being created via g_value_dup_string(). Switch to g_free().
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8714>

2025-03-14 19:22:20 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/curl/gstcurlhttpsrc.c:
	  curlhttpsrc: Free various props before set & during cleanup
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8714>

2025-03-14 19:14:43 -0400  Doug Nazar <nazard@nazar.ca>

	* ext/gtk/gstgtkwaylandsink.c:
	* gst-libs/gst/mse/gstmediasourcetrack.c:
	* gst-libs/gst/va/gstvadisplay_drm.c:
	* sys/directshow/dshowdeviceprovider.cpp:
	* sys/directsound/gstdirectsounddevice.c:
	* sys/mediafoundation/gstmfdevice.cpp:
	* sys/uvch264/gstuvch264deviceprovider.c:
	* sys/wasapi/gstwasapidevice.c:
	* sys/wasapi2/gstwasapi2device.c:
	* sys/winks/ksdeviceprovider.c:
	  all: Annotate *_set_property() contructor only props without free
	  Properties that are marked constructor only aren't required to be freed
	  before g_value_dup_string() as they can only be called once during construction.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8714>

2025-03-23 00:19:50 +0100  Jan Tojnar <jtojnar@gmail.com>

	* gst-libs/gst/analytics/meson.build:
	  gst-analytics: Add gst-video to Requires in pkg-config
	  `gst/analytics/analytics.h` includes `gst/analytics/gstanalyticssegmentationmtd.h`,
	  which in turn `gst/video/video-info.h` but `gst-video-1.0` was only listed
	  in `Requires.private` field of `gst-analytics-1.0.pc`.
	  This would cause projects linking against `gst-analytics-1.0.pc` to fail to find
	  the headers when using alternative interpretation of pkg-config specification
	  that only considers private dependencies for include path during static builds,
	  such as the case e.g. on Nix.
	  https://gitlab.freedesktop.org/pkg-config/pkg-config/-/issues/28
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8708>

2025-03-26 15:32:05 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/dash/gstdashsink.c:
	  dashsink: Make sure to use a non-NULL pad name when requesting a pad from splitmuxsink
	  If the caller passed in "audio_%u" instead of a concrete pad name into
	  gst_element_request_pad_simple() then the pad name will be NULL. In that case
	  use the pad template name for requesting the pad from splitmuxsink.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8711>

2025-03-13 16:27:44 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh265dec.c:
	* ext/vulkan/vksink.c:
	  vulkan: fix memory leak at dynamic registering
	  Also it cleans up a bit the code.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8650>

2025-03-13 17:22:12 +0100  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc: Reset restart flag when creating session in set_format()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8644>

2025-03-06 17:23:11 +0100  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtenc.c:
	* sys/applemedia/vtenc.h:
	  vtenc: Avoid deadlocking when changing properties on the fly
	  VT supports changing properties on the fly, and old code attempted to
	  support that. Perhaps 10 years ago that worked, but these days
	  VTSessionSetProperty will always wait for the output callback to finish
	  before proceeding. This means that it's very prone to deadlocking, as
	  property setters will take the object lock, the callback thread will
	  take the stream lock, and the main (streaming) thread attempts to take
	  both, resulting in a deadlock.
	  New version uses something similar to other encoders (e.g. x264enc) -
	  changing a property when a session is already created will just flag it
	  to be reconfigured upon the next encode call. This is done in similar
	  fashion to how restarting the session upon an error works.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8644>

2025-01-22 15:02:03 +0100  Marc Leeman <marc.leeman@gmail.com>

	* gst-libs/gst/cuda/meson.build:
	  meson.build: test for and link against libatomic if it exists
	  It's needed on some platforms for some subset (or all) atomic operations and
	  checking for the cases when it's actually needed is quite complex.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4300
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8647>

2025-03-08 12:07:11 +0000  Philippe Normand <philn@igalia.com>

	* gst/codecalpha/gstalphacombine.c:
	  alphacombine: De-couple flush-start/stop events handling
	  There is no guarantee that any FLUSH_STOP event is preceded by a FLUSH_START.
	  The element now stops flushing once it has received a FLUSH_STOP on all its sink
	  pads.
	  Fixes #4174
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8629>

2025-03-11 20:23:16 +0000  Tim-Philipp Müller <tim@centricular.com>

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

=== release 1.26.0 ===

2025-03-11 20:14:44 +0000  Tim-Philipp Müller <tim@centricular.com>

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

2025-02-21 18:20:06 +0100  Ruben Gonzalez <rgonzalez@fluendo.com>

	* sys/va/gstvacompositor.c:
	  vacompositor: Add missing GST_VIDEO_CROP_META_API_TYPE
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8537>

2025-03-07 09:54:35 +0100  Carlo Caione <ccaione@baylibre.com>

	* sys/uvcgadget/uvc.c:
	  uvcgadget: Properly implement GET_INFO control responses
	  According to the UVC 1.5 specification, section 4.1.2, the GET_INFO request
	  must return a bitmap indicating supported operations for the control.
	  Value 0x00 indicates that neither GET nor SET operations are supported.
	  This patch fixes control handling in the UVC gadget implementation to properly
	  respond to GET_INFO requests with the correct bitmap, allowing host systems
	  to properly detect supported control operations (none in this case).
	  The pipeline I'm using to test this is:
	  gst-launch-1.0 videotestsrc ! uvcsink v4l2sink::device=/dev/video0
	  This is the equivalent of [0] but the difference is that we are now returning
	  0x00 instead of 0x03.
	  Without this change the host in my case is unable to probe the UVC gadget at
	  all, automatically disconnecting the device after a few seconds.
	  Following is the log when the gadget is not working (without this fix):
	  usb 1-1.2: new high-speed USB device number 73 using xhci_hcd
	  usb 1-1.2: New USB device found, idVendor=0525, idProduct=a4a2, bcdDevice= 5.15
	  usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
	  usb 1-1.2: Product: UVC Gadget
	  usb 1-1.2: Manufacturer: localhost.localdomain
	  usb 1-1.2: SerialNumber: 0123456789
	  usb 1-1.2: Found UVC 1.10 device UVC Gadget (0525:a4a2)
	  usb 1-1.2: Failed to query (GET_INFO) UVC control 2 on unit 1: -110 (exp. 1).
	  usb 1-1.2: UVC non compliance - GET_DEF(PROBE) not supported. Enabling workaround.
	  uvcvideo 1-1.2:1.1: Failed to query (129) UVC probe control : -71 (exp. 34).
	  uvcvideo 1-1.2:1.1: Failed to initialize the device (-71).
	  cdc_subset 1-1.2:1.0: probe with driver cdc_subset failed with error -22
	  cdc_subset 1-1.2:1.1: probe with driver cdc_subset failed with error -22
	  usb 1-1.2: USB disconnect, device number 73
	  With the fix the USB device is correctly probed:
	  usb 1-1.2: new high-speed USB device number 88 using xhci_hcd
	  usb 1-1.2: New USB device found, idVendor=0525, idProduct=a4a2, bcdDevice= 5.15
	  usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
	  usb 1-1.2: Product: UVC Gadget
	  usb 1-1.2: Manufacturer: localhost.localdomain
	  usb 1-1.2: SerialNumber: 0123456789
	  usb 1-1.2: Found UVC 1.10 device UVC Gadget (0525:a4a2)
	  [0] camera/uvc-gadget@0df9d3ad
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8572>

2025-03-06 10:22:00 +0100  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/gstv4l2decoder.c:
	  v4l2codecs: Fix caps leak after sorting caps
	  gst_v4l2_format_sort_caps() create a new caps which need to be
	  release to avoid leak.
	  Co-authored-by: Robert Mader <robert.mader@posteo.de>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8583>

2025-03-04 11:04:56 +0100  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	  v4l2codecs: Release sink allocator when deciding allocation
	  All decoders have the same design pattern in decide allocation
	  and forgot to release sink allocator before allocating a new one.
	  Fixing the memory leak by clearing sink allocator before creating
	  the new one.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8583>

2025-03-04 11:02:16 +0100  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/gstv4l2codecallocator.c:
	  v4l2codecs: allocator: Fix buffers leak when using remove buffers
	  When removing buffers from v4l2 queue do not forget to release
	  the memory on gstreamer side.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8583>

2025-03-07 01:09:23 +0900  Seungha Yang <seungha@centricular.com>

	* ext/closedcaption/gsth264ccextractor.c:
	* ext/closedcaption/gsth265ccextractor.c:
	  h264ccextractor,h265ccextractor: Do not resend caps per output buffer
	  Send caps event only when it's required
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4281
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8596>

2025-03-06 11:24:28 +0100  Pablo García <pgarcia@fluendo.com>

	* ext/curl/gstcurlbasesink.c:
	* ext/curl/gstcurlfilesink.c:
	* ext/curl/gstcurlftpsink.c:
	* ext/curl/gstcurlhttpsink.c:
	* ext/curl/gstcurlsmtpsink.c:
	* ext/curl/gstcurltlssink.c:
	  curl: replace #if with #ifdef (part 2)
	  Continuation of 47d1262402c81a9054e618052deeff7414b4f75d, that is not enough.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8595>

2025-03-03 11:30:38 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagememory.c:
	* gst-libs/gst/vulkan/gstvkoperation.c:
	  vulkan/operation: fix timeline semaphore extension detection
	  As for synchronization2, the timeline semaphore has been
	  been promoted in 1.2 and does not have to be enabled explicitely.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8554>

2025-03-03 12:59:02 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkoperation.c:
	  vulkan/operation: fix synchronization2 extension detection
	  The synchronization2 extension is a core part of Vulkan 1.3.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8554>

2025-02-25 21:22:32 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkdevice.c:
	  vulkan/device: only enable relevant extensions
	  Extensions can have a minimum set of dependencies (e.g. API version) and may
	  also be promoted to core in a later version.  Don't explicitly enable extensions
	  that fail to meet their requirements or that have been promoted to the core API.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8554>

2025-02-25 21:17:57 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkoperation.c:
	  vulkan/operation: retrieve function pointers directly from the device
	  The instance API version supported may not be of the same version supported by
	  the device. It is possible that the function that is returned may be non-0
	  but not functional due to the requested API version of the instance limiting the
	  availability of calling the returned function.
	  Can be reproduced by running a pipeline with GST_VULKAN_INSTANCE_API_VERSION=1.1
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8554>

2025-02-25 21:04:35 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkinstance.c:
	  vulkan/instance: allow the requested api version to be larger than the supported
	  Since Vulkan 1.1, the requested API version is the maximum API version that the
	  application is expecting to use. It is also possible for individual devices
	  (backed by potentially different drivers) may support a higher or lower API
	  version than the instance.  Both cases (higher and lower) should be supported
	  and as such, it is not an error to request an API version that is larger than
	  the instance supported API version.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8554>

2025-02-25 20:57:15 +1100  Matthew Waters <matthew@centricular.com>

	* ext/vulkan/gstvulkan.c:
	  vulkan: plugin: add debug for why an instance fails to open
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8554>

2025-02-25 20:55:09 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkformat.c:
	* gst-libs/gst/vulkan/gstvkformat.h:
	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	* tests/check/libs/vkformat.c:
	  vkformat: fix format_from_video_info_2 to actually runtime check versions and extensions
	  If the vulkan plugin was compiled against a newer version than the supported
	  vulkan runtime instance or device, then it was possible for format retrieval to
	  fail.  Failure was due to unconditionally using newer extensions and features
	  without runtime checking them.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8554>

2025-02-25 20:09:48 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkdecoder-private.c:
	* gst-libs/gst/vulkan/gstvkinstance.c:
	* gst-libs/gst/vulkan/gstvkinstance.h:
	* gst-libs/gst/vulkan/gstvkphysicaldevice.c:
	* tests/check/libs/vkdevice.c:
	  vulkan: fix device related API version checks
	  The API version exposed by a particular device can be completely different from
	  what is exported by the parent instance.  Since Vulkan 1.1 it is also possible
	  to use newer device API than supported by the instance API version (with the
	  appropriate version checks).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8554>

2025-02-25 14:57:33 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkphysicaldevice.c:
	* gst-libs/gst/vulkan/gstvkphysicaldevice.h:
	* tests/check/libs/vkdevice.c:
	  vulkan/physicaldevice: add methods for retrieving and checking against an API version
	  Most version checks should actually be done against the device API version and
	  not the instance API version.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8554>

2025-03-05 11:07:38 +0100  Pablo García <pgarcia@fluendo.com>

	* ext/curl/gstcurlbasesink.c:
	* ext/curl/gstcurlfilesink.c:
	* ext/curl/gstcurlftpsink.c:
	* ext/curl/gstcurlhttpsink.c:
	* ext/curl/gstcurlsmtpsink.c:
	* ext/curl/gstcurltlssink.c:
	  curl: replace #if with #ifdef
	  Using #if instead of #ifdef was causing some issues when cross-compiling, like:
	  ../ext/curl/gstcurlsmtpsink.c:54:5: error: "HAVE_SYS_SOCKET_H" is not
	  defined, evaluates to 0 [-Werror=undef]
	  54 | #if HAVE_SYS_SOCKET_H
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8589>

2025-03-05 13:29:20 +0100  Pablo García <pgarcia@fluendo.com>

	* ext/curl/gstcurlbasesink.c:
	* ext/curl/gstcurlfilesink.c:
	* ext/curl/gstcurlftpsink.c:
	* ext/curl/gstcurlhttpsink.c:
	* ext/curl/gstcurlhttpsrc.h:
	* ext/curl/gstcurlsftpsink.c:
	* ext/curl/gstcurlsmtpsink.c:
	* ext/curl/gstcurlsshsink.c:
	* ext/curl/gstcurltlssink.c:
	  curl: remove unnecesary reference to unistd.h
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8589>

2025-02-21 16:24:58 -0600  Christopher Degawa <ccom@randomderp.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/svtav1/gstsvtav1enc.c:
	  svtav1enc: update to use SVT-AV1 3.0.0 API changes
	  Signed-off-by: Christopher Degawa <ccom@randomderp.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8539>

2025-03-04 14:33:29 +0100  Branko Subasic <branko@axis.com>

	* ext/voamrwbenc/meson.build:
	  voamrwbenc: Do not install anything unless dependency found
	  If the dependency for the plugin is not found then nothing should be
	  installed, neither the element nor documentation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8586>

2025-03-04 22:08:46 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* gst/videoparsers/gsth266parse.c:
	  h266parse: clear cache values with memset
	  Fixes a stack overflow on Windows/MSVC.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8588>

2025-03-04 15:01:24 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/opencv/meson.build:
	* gst-libs/gst/opencv/meson.build:
	  meson: Replace disabler dependencies with not-found dependencies
	  If a plugin gets disabled due to a `disabler()` dependency, the plugin
	  docs build itself will get disabled because `all_plugins_paths` will
	  become a disabler.
	  This was actually happening with opencv on systems that don't have
	  opencv available, and could happen with libsoup too if the build files
	  change in the future.
	  Let's avoid wasting hours of debugging for people. A not-found
	  dependency has the same effect.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8582>

2024-12-17 20:48:46 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* tests/check/elements/dashsink.c:
	* tests/check/meson.build:
	  tests: add dashsink unit test
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7916>

2024-12-20 14:54:01 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* ext/dash/gstdashsink.c:
	  dashsink: use gst_dash_sink_reset
	  To be able to use the properties properly,
	  the element should be reset by gst_dash_sink_reset
	  during the state change from READY_PAUSED and PAUSED_READY.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7916>

2024-12-19 18:22:06 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* ext/dash/gstdashsink.c:
	  dashsink: send element message on event
	  On new mpd update and new segment written, send
	  an element message to signal the event.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7916>

2024-11-18 12:26:25 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/dash/gstdashsink.c:
	  dashsink: cleanup the teardown process
	  The stream was keeping a reference to the sink, preventing
	  it to be removed properly by the pipleline bin.
	  Clean up and simplify the code to get the stream from the pad.
	  Add more mutex protection against add/remove requested pad.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7916>

2025-02-28 13:06:34 -0300  Denis Yuji Shimizu <denis.shimizu@collabora.com>

	* ext/analyticsoverlay/gstobjectdetectionoverlay.c:
	  analytics: objectdetectionoverlay: improve event handling
	  This change ensures that the `GST_EVENT_EOS`,
	  `GST_EVENT_FLUSH_START` and `GST_EVENT_FLUSH_STOP`
	  events are forwarded to the sink downstream.
	  The logging message for `GST_EVENT_FLUSH_START`
	  has also been fixed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8576>

2025-02-28 14:22:07 +0900  Dongyun Seo <dongyun.seo@lge.com>

	* ext/soundtouch/gstpitch.cc:
	  pitch: fix build error
	  fix build error due to sound integer sample caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8570>

2025-02-28 11:29:56 +0900  Elliot Chen <elliot.chen@nxp.com>

	* gst-libs/gst/play/gstplay.c:
	  gstplay: support disabling the selected track at startup
	  In some cases, need to disable some type tracks at startup before
	  receiving the stream collection message. And fix printing error log
	  in this case.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8568>

2025-02-26 10:39:06 +0100  Robert Mader <robert.mader@collabora.com>

	* tests/examples/waylandsink/main.c:
	  waylandsink/demo: Use playbin3 instead of playbin
	  Video looping currently does not work reliably with the later
	  and playbin3 is generally considered the better choice.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8561>

2025-02-21 19:00:42 -0500  Olivier Crête <olivier.crete@collabora.com>

	* ext/avtp/gstavtpsrc.c:
	* ext/avtp/gstavtpsrc.h:
	* ext/avtp/meson.build:
	  avtpsrc: Use GSocket to have cancellable wait
	  Otherwise it would block forever when there is no sender.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8550>

2025-02-21 08:37:03 +0100  Roberto Viola <rviola@vicomtech.org>

	* ext/dash/gstmpdperiodnode.c:
	  dashsink: fix period duration in dynamic MPD
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8531>

2025-02-21 09:35:37 +0800  Qian Hu (胡骞) <qian.hu@mediatek.com>

	* gst-libs/gst/wayland/gstwldisplay.c:
	  wayland: leverage unified object destruction for wl_callback
	  This patch refactors gst_wl_display_callback_destroy() to use the
	  recently introduced gst_wl_display_object_destroy() helper. Previously,
	  the function manually handled wl_callback destruction with explicit
	  lock/unlock calls and direct invocation of wl_callback_destroy().
	  Switching to gst_wl_display_object_destroy() unifies the destruction
	  process across similar objects, reducing code duplication and potential
	  errors.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8242>

2025-02-24 09:53:48 +0800  Qian Hu (胡骞) <qian.hu@mediatek.com>

	* gst-libs/gst/wayland/gstwlwindow.c:
	  wayland: fix crash issue during stop flow
	  when received xdg config event fron wayland server,
	  gst_wl_display_thread_run will call handle_xdg_surface_configure
	  which protected by priv->sync_mutex.
	  and in handle_xdg_surface_configure, configure_mutex also is locked
	  but if waylandsink set state from paused to ready, that will dispose
	  wlwindow, which will try to clear configure_mutex, and try to destroy
	  xdg_surface,
	  that do not proteced by anything.
	  so, problem is:
	  1) if clear configure_mutex(with locked state), clear lock will abort
	  2) after xdg_surface destroy, handle_xdg_surface_config may still call
	  ack_configure, that will lead wayland server go wrong
	  so, this patch updates gst_wl_window_finalize to use the new
	  destruction function for xdg_toplevel and xdg_surface, ensuring all
	  destruction operations are properly synchronized.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8242>

2025-02-24 09:43:12 +0800  Qian Hu (胡骞) <qian.hu@mediatek.com>

	* gst-libs/gst/wayland/gstwldisplay.c:
	* gst-libs/gst/wayland/gstwldisplay.h:
	  wayland: add synchronized object destruction function
	  Introduces a new generic destruction function
	  gst_wl_display_object_destroy that ensures all
	  destruction operations are protected by
	  sync_mutex.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8242>

2025-02-23 23:52:57 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.25.90

=== release 1.25.90 ===

2025-02-23 23:44:10 +0000  Tim-Philipp Müller <tim@centricular.com>

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

2025-02-23 16:56:25 +0000  Tim-Philipp Müller <tim@centricular.com>

	* po/hr.po:
	* po/pt_BR.po:
	  gst-plugins-bad: update translations

2025-02-21 20:11:09 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/plugin.c:
	  nvcodec: Register all elements if CUDA kernel is precompiled
	  GstCudaConverter dependent element can work if CUDA kernel is
	  precompiled even if runtime compiler library is not found
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8536>

2025-02-21 19:18:01 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvjpegenc.cpp:
	* sys/nvcodec/kernel/gstnvjpegenc.cu:
	* sys/nvcodec/kernel/meson.build:
	  nvjpegenc: Add support for kernel precompile
	  Port to CUDA precompile/cache
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8536>

2025-02-21 18:40:21 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudanvrtc-private.h:
	* gst-libs/gst/cuda/gstcudanvrtc.cpp:
	* sys/nvcodec/gstcudaconverter.cpp:
	* sys/nvcodec/meson.build:
	  cudaconverter: Add support for kernel precompile and cache
	  Port to precompile/cache approach
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8536>

2025-02-20 15:26:37 +0900  Seungha Yang <seungha@centricular.com>

	* meson_options.txt:
	* sys/nvcodec/kernel/collect_ptx_headers.py:
	* sys/nvcodec/kernel/gstcudaconverter-unpack.cu:
	* sys/nvcodec/kernel/gstcudaconverter.cu:
	* sys/nvcodec/kernel/meson.build:
	* sys/nvcodec/meson.build:
	  nvcodec: Add support for CUDA kernel precompile
	  Enable build time CUDA kernel compile if nvcc is detected.
	  Precompile is disabled by default and controlled by
	  "nvcodec-cuda-precompile" build option.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8536>

2025-02-19 08:55:44 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/v4l2codecs/gstv4l2format.c:
	* sys/v4l2codecs/gstv4l2format.h:
	  v4l2codecs: Sort formats to avoid quality lost
	  When the driver prefered format is not picked by downstream, the
	  decoders needs to select another format from the list. The selection
	  was currently unsorted, resulting in 10bit data often being stripped
	  to 8bit.
	  To solve this, reorder the formats in an HW preference order. This order
	  deviates slightly from the preferred order in libgstvideo. This is to
	  prefer bandwidth saving over better CPU alignment. As an example NV15 is
	  prefered over P010. We also prefer tiled over linear.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8522>

2025-02-19 08:53:13 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/kms/gstkmsutils.c:
	  kmssink: Add NV12_10LE40 / NV15 support
	  This is needed until kmssink is ported to use libgstvideo mapping.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8525>

2025-02-20 22:20:48 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	  closedcaption: Add h264/h265 ccinserter docs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8496>

2025-02-17 20:47:35 +0900  Seungha Yang <seungha@centricular.com>

	* ext/closedcaption/gstclosedcaption.c:
	* ext/closedcaption/gsth265ccinserter.c:
	* ext/closedcaption/gsth265ccinserter.h:
	* ext/closedcaption/gsth265reorder.c:
	* ext/closedcaption/gsth265reorder.h:
	* ext/closedcaption/meson.build:
	  closedcaption: Add h265ccinserter element
	  Adding new element for inserting closed caption SEI to H.265 stream
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8496>

2025-02-20 22:04:34 +0900  Seungha Yang <seungha@centricular.com>

	* ext/closedcaption/gstclosedcaption.c:
	* ext/closedcaption/gstcodecccinserter.c:
	* ext/closedcaption/gstcodecccinserter.h:
	* ext/closedcaption/gsth264ccinserter.c:
	* ext/closedcaption/gsth264ccinserter.h:
	* ext/closedcaption/gsth264reorder.c:
	* ext/closedcaption/gsth264reorder.h:
	* ext/closedcaption/meson.build:
	  closedcaption: Add h264ccinserter element
	  Adding new element for inserting closed caption SEI to H.264 stream
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8496>

2025-02-15 20:17:59 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth264picture-private.h:
	  h264picture: Export private method symbols
	  That method will be used by plugin
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8496>

2025-02-19 18:34:41 +0900  Seungha Yang <seungha@centricular.com>

	* tests/examples/cuda/meson.build:
	* tests/examples/cuda/nvenc-extern-pool.c:
	  examples: Add example for nvenc extern-cuda-bufferpool property
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8516>

2025-02-19 17:46:34 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/nvcodec/gstnvencobject.cpp:
	* sys/nvcodec/gstnvencobject.h:
	* sys/nvcodec/gstnvencoder.cpp:
	  nvencoder: Add extern-cuda-bufferpool property
	  Add new property to support application allocated GstCudaMemory.
	  CUDA memory alloc/free is a global device synchronization point
	  as if launching CUDA kernel on default CUDA stream. To avoid the global
	  synchronization, we added stream-ordered allocation support
	  which allocates CUDA memory asynchronously.
	  However, NVENC does not allow registering the stream-ordered
	  allocated memory. Thus encoder was allocating normal CUDA
	  memory in case that input CUDA memory is stream-ordered type.
	  In this commit, newly introduced property will allow application
	  to provide encoder with GstCudaBufferPool. Application can
	  preallocate sufficient amount of CUDA memory in advance
	  to avoid global device synchronization while pipeline is running.
	  For now, this pool is used only if input CUDA memory is allocated
	  via stream-ordered-allocation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8516>

2025-02-19 15:38:08 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudaconverter.cpp:
	  cudaconverter: Use stream ordered allocation if requested
	  ... to avoid global device synchronization
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8516>

2025-02-19 14:47:10 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudaconverter.cpp:
	  cudaconverter: Remove unnecessary CUDA memory allocation
	  We can pass struct to kernel by value
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8516>

2025-02-13 15:30:04 +1100  Matthew Waters <matthew@centricular.com>

	* ext/vulkan/vkupload.c:
	  vkupload: don't require that input memory count matches output memory count
	  It can very easily not. e.g.
	  videotestsrc ! video/x-raw,format=NV12 ! identity drop-allocation=true ! \
	  vulkanupload ! vulkancolorconvert ! vulkansink
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8530>

2025-02-18 01:33:40 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/closedcaption/gstclosedcaption.c:
	* ext/closedcaption/gsth265ccextractor.c:
	* ext/closedcaption/gsth265ccextractor.h:
	* ext/closedcaption/meson.build:
	  closedcaption: Add h265ccextractor element
	  This element will collect closed caption meta from H.265 stream
	  and output caption buffers in display order
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8500>

2025-02-18 01:14:38 +0900  Seungha Yang <seungha@centricular.com>

	* ext/closedcaption/gsth264ccextractor.c:
	  h264ccextractor: Port to GstVecDeque
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8500>

2025-02-18 10:39:24 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/mpegts/gstmpegtsdescriptor.h:
	  mpegts: Rename un-namespaced REG_TO_UINT32 macro
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4226
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8506>

2025-02-12 10:37:09 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/mpegts/gst-atsc-section.c:
	* gst-libs/gst/mpegts/gst-dvb-descriptor.c:
	* gst-libs/gst/mpegts/gst-dvb-section.c:
	* gst-libs/gst/mpegts/gst-scte-section.c:
	* gst-libs/gst/mpegts/gstmpegtsdescriptor.c:
	* gst-libs/gst/mpegts/gstmpegtssection.c:
	  mpegts: Update annotations
	  Specify whether the various functions can return a NULL value
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8466>

2024-12-09 17:42:18 +0100  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/debugutils/gstvideocodectestsink.c:
	  debugutils: videocodectestsink: Add GBR_10LE as supported pixel format
	  Add GBR_10LE in the list of supported format of the element.
	  GBR_10LE is used as output format in Fluster ARGON tests suite.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8502>

2024-12-09 10:57:30 +0100  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* gst/videoparsers/gstav1parse.c:
	  videoparsers: av1: Fix typo in debug log
	  comsumed -> consumed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8502>

2024-12-06 14:13:22 +0100  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* gst/videoparsers/gstav1parse.c:
	  videoparsers: av1: Allow av1parse to parse annexb streams
	  Let's av1 parser do it job event it receives an annexb stream.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8502>

2025-02-13 21:10:40 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkfence.c:
	  vkfencecache: call parent release() only after resources have been removed
	  The parent class will allow the handle to be reused at the end of the function.
	  If we are still modifying the released fence, then another thread can acquire
	  the fence while we are still clearing some of its data and produce a data race
	  or a leaked fence depending on which thread wins.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8491>

2025-02-16 20:08:58 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/analytics/gstanalyticsmeta.c:
	  analyticsmeta: Make output struct annotation more explicit
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8489>

2025-02-16 20:07:48 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/analytics/gstanalyticsmeta.c:
	  analyticsmeta: Avoid crash when adding Mtd with NULL Mtd structure
	  It's documented that you don't need to get the position of the Mtd
	  when adding it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8489>

2025-02-16 21:30:42 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* ext/vulkan/gstvulkan.c:
	  vulkan: register always vulkansink elements
	  vulkansink elements were enabled only if
	  the video extensions were present which
	  is breaking backward compatibility such as Android
	  or ios.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8488>

2024-12-23 15:37:17 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/srtp/gstsrtp.c:
	* ext/srtp/gstsrtp.h:
	* ext/srtp/gstsrtpdec.c:
	* ext/srtp/gstsrtpdec.h:
	* ext/srtp/gstsrtpenc.c:
	* ext/srtp/meson.build:
	  srtp: require libsrtp2, drop support for libsrtp1
	  Even old old debian stable from 2019 ships with a
	  recent-enough libsrtp2 version.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8205>

2025-02-16 14:09:49 +0900  Seungha Yang <seungha@centricular.com>

	* ext/closedcaption/gstcccombiner.c:
	  cccombiner: Fix critical warnings
	  gst_buffer_add_video_caption_meta: assertion 'data != NULL' failed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8486>

2025-02-16 14:36:08 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/play/gstplay.c:
	  play: Fix annotations of `parse_missing_plugins()` API
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8487>

2025-02-15 15:44:14 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/svtjpegxs/gstsvtjpegxsenc.c:
	  svtjpegxsenc: fix copy'n'paste error in property registration
	  Doesn't change anything in practice because the default value
	  was set correctly in the instance init function.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8485>

2024-12-09 13:39:16 -0500  Arun Raghavan <arun@asymptotic.io>

	* ext/onnx/gstonnxclient.cpp:
	  onnx: Allow generic well-known names for tensors
	  This allows us to use the upstream version of the ssd_mobilenet model[1], and
	  starts setting us up to allow some tensor names by convention if we want to add
	  more decoders.
	  [1] https://github.com/onnx/models/tree/main/validated/vision/object_detection_segmentation/ssd-mobilenetv1
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8117>

2025-02-14 14:10:25 +0100  Edward Hervey <edward@centricular.com>

	* gst/mpegtsdemux/mpegtspacketizer.c:
	  mpegts: Fix PCR Discontinuity handling for HLS
	  We can only reliably use the adaptation field discontinuity flag if our input is
	  properly timestamped on a regular basis (ex: UDP, DVB, RTP, etc...).
	  For HLS and other systems which don't provide that information, we should not
	  reset the base observations. Otherwise we would potentially end up picking a
	  reference time from a long time ago.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8480>

2024-04-09 21:31:07 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/closedcaption/gstclosedcaption.c:
	* ext/closedcaption/gsth264ccextractor.c:
	* ext/closedcaption/gsth264ccextractor.h:
	* ext/closedcaption/meson.build:
	  closedcaption: Add closed caption extractor element for H.264 stream
	  Adding new h264ccextractor element. This element will extract
	  closed caption meta from H.264 stream, and output in display order.
	  For the frame reordering, this element is implemented as a subclass
	  of h264decoder but without actual frame decoding.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6580>

2025-02-14 10:29:08 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* sys/applemedia/avfassetsrc.m:
	  avfassetsrc: fix mutex leak
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8479>

2025-02-14 10:25:14 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* sys/applemedia/avfassetsrc.m:
	  avfassetsrc: fix missing GObject dispose chainup
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8479>

2025-02-10 15:01:14 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* sys/applemedia/videotexturecache-gl.m:
	* sys/applemedia/videotexturecache-vulkan.mm:
	  applemedia: fix chaining up GObject's constructed virtual method
	  Fixes #4224
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8446>

2025-02-13 13:03:37 +0900  Seungha Yang <seungha@centricular.com>

	* ext/closedcaption/gstcccombiner.c:
	* ext/closedcaption/gstcccombiner.h:
	* tests/check/elements/cccombiner.c:
	  cccombiner: Fix wrong caps and buffer ordering
	  If there's queued video buffer, forwards new caps event once
	  the queued video buffer is drained.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8473>

2025-02-13 10:04:16 +0800  James Oliver <james.oliver@icetana.ai>

	* sys/nvcodec/gstcudaipcserver.cpp:
	* sys/nvcodec/gstnvencobject.cpp:
	  nvcodec: fix invalidated std::set::iterator usage
	  As per the C++ standard, any usage of a std::set::iterator after it has
	  been erased from the collection results in undefined behaviour. This has
	  resulted in application crashes due to CUDA illegal address errors.
	  This commit fixes the issue by copying and incrementing the iterator
	  within any for-loops that also invoke std::set::erase.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8472>

2025-02-10 13:43:11 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* sys/d3d11/gstd3d11window_corewindow.cpp:
	* sys/d3d11/gstd3d11window_swapchainpanel.cpp:
	  d3d11: fix chaining up GObject's constructed virtual method
	  Fixes #4223
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8448>

2025-02-10 13:41:54 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* sys/wasapi/gstmmdeviceenumerator.cpp:
	  wasapi: fix chaining up GObject's constructed virtual method
	  Fixes #4223
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8448>

2025-02-10 13:41:19 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* sys/asio/gstasioobject.cpp:
	  asio: fix chaining up GObject's constructed virtual method
	  Fixes #4223
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8448>

2025-02-10 13:40:24 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* gst-libs/gst/winrt/gstwinrtdevicewatcher.cpp:
	  winrt: fix chaining up GObject's constructed virtual method
	  Fixes #4223
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8448>

2025-02-12 22:07:41 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter-builder.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter-pack.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter-unpack.cpp:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12mipgen.cpp:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12overlaycompositor.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/gstd3d12yadif.cpp:
	  d3d12: Update root signature flags for old Windows10
	  Use root signature flags which are part of initial Direct3D12 release.
	  Old OS does not understand newly introduced flags
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8469>

2025-02-12 16:51:24 +0100  wbartel <wilhelm.bartel@streamonkey.de>

	* gst-libs/gst/webrtc/webrtc-priv.h:
	* gst-libs/gst/webrtc/webrtc.h:
	* gst-libs/gst/webrtc/webrtc_fwd.h:
	  webrtc: fix recursive G_BEGIN_DECLS and include missing sctptransport.h in webrtc.h
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8470>

2025-02-12 00:54:25 +0200  Mart Raudsepp <mart.raudsepp@globalm.media>

	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegtsmux: Fix error message for PID < 0x40 to be in the claimed base 16
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8463>

2025-02-12 00:53:24 +0200  Mart Raudsepp <mart.raudsepp@globalm.media>

	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegtsmux: Fix deadlock when requesting pad for PID < 0x40
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8463>

2025-02-11 00:02:50 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* sys/directshow/dshowdeviceprovider.cpp:
	  dshowdeviceprovider: fix missing GObject vtable chainups
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8452>

2025-02-11 00:02:05 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* gst/transcode/gst-cpu-throttling-clock.c:
	  cpu-throttling-clock: fix missing GObject vtable chainups
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8452>

2025-02-11 00:01:23 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* ext/wpe/wpe-extension/gstwpebusmsgforwarder.c:
	  wpebusmsgforwarder: fix missing GObject vtable chainups
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8452>

2025-02-11 00:00:42 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* ext/qroverlay/gstbaseqroverlay.c:
	  baseqroverlay: fix missing GObject vtable chainups
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8452>

2025-02-11 00:00:23 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* ext/codec2json/gstav12json.c:
	* ext/codec2json/gsth2642json.c:
	* ext/codec2json/gsth2652json.c:
	* ext/codec2json/gstvp82json.c:
	  codec2json: fix missing GObject vtable chainups
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8452>

2025-02-11 16:51:38 +0100  Robert Mader <robert.mader@collabora.com>

	* gst-libs/gst/wayland/gstwldisplay.c:
	  wayland: Report correct modifiers
	  Fixes: e0e7a11089 ("wayland: De-dupe filling caps format fields")
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8460>

2025-02-10 19:51:57 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12screencapturesrc.cpp:
	  d3d12screencapturesrc: Fix infinite negotiation on resolution change
	  Updates crop rect if previous capture got error. The error might
	  result from resolution change.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8444>

2025-02-10 19:34:28 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12dxgicapture.cpp:
	  d3d12screencapturesrc: Fix capturing rotated monitor
	  Acquired and reconstructed frames will have different resolution
	  if monitor is rotated. Use the copying logic of d3d11 implementation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8444>

2025-02-07 17:48:32 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/mpegtsmux/gstbasetsmux.c:
	* gst/mpegtsmux/gstmpegtsmux.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.h:
	  mpegtsmux: add support for VVC/H.266 video
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8435>

2025-02-06 09:11:14 +0100  Edward Hervey <edward@centricular.com>

	* gst/mpegtsdemux/mpegtspacketizer.c:
	* gst/mpegtsdemux/tsdemux.c:
	  mpegts: Take into account adaptation field discont
	  If the flag is set, there is an *expected* discontinuity:
	  * For CC, we ignore the fact it's not contiguous
	  * For PCR, we acknowledge the values aren't contiguous
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8420>

2025-01-24 13:53:36 -0500  Daniel Morin <daniel.morin@collabora.com>

	* ext/srt/gstsrtsink.c:
	* ext/srt/gstsrtsink.h:
	  srtsink: filter stream-config already sent
	  - Only sent buffer with GST_BUFFER_FLAG_HEADER if this buffer is not present in
	  the streamheader
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8373>

2025-02-10 13:16:20 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* sys/kms/gstkmsallocator.c:
	  kms: fix chaining up GObject's constructed virtual method
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8416>

2025-02-10 13:15:34 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* gst-libs/gst/mse/gstmsesrc.c:
	  msesrc: fix chaining up GObject's constructed virtual method
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8416>

2025-02-06 11:40:55 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* gst-libs/gst/vulkan/gstvkphysicaldevice.c:
	  vkphysicaldevice: fix chaining up GObject's constructed virtual method
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8416>

2025-02-06 11:33:50 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  basetsmux: fix chaining up GObject's constructed virtual method
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8416>

2025-02-06 11:28:16 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* gst/rtp/gstrtpsrc.c:
	  rtpsrc: fix chaining up GObject's constructed virtual method
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8416>

2024-11-04 18:49:32 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkutils.c:
	  vkutils: update gst_vulkan_handle_set_context doc
	  device is a GstVulkanDevice
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7011>

2024-06-11 17:25:51 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* ext/vulkan/gstvulkan.c:
	* ext/vulkan/vksink.c:
	* ext/vulkan/vksink.h:
	  vksink: allow multiple device registration
	  As for decoders, the plugin can register multiple
	  device present on the system.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7011>

2024-06-04 18:49:37 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* ext/vulkan/gstvulkan.c:
	* ext/vulkan/gstvulkanelement.c:
	* ext/vulkan/gstvulkanelements.h:
	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh264dec.h:
	* ext/vulkan/vkh265dec.c:
	* ext/vulkan/vkh265dec.h:
	  vkh26xdec: register multiple elements
	  Register the multiple devices available on the system in
	  separate features in the registry for the vulkan decoders.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7011>

2024-10-21 17:05:18 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	  v4l2codecs: av1: Allow inter-frames resolution change
	  When the stream resolution change it is needed to negotiate
	  a new pools and to update the caps.
	  Resolution change could occurs on a new sequence or a new
	  picture so move resolution change detection code in a common
	  function.
	  Only call streamoff if the resolution occur while decoding a key frame.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8064>

2024-10-21 17:03:00 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* gst-libs/gst/codecs/gstav1decoder.c:
	  codecs: av1 decoder: Drain output buffers resolution change
	  We must drain the pending output picture so that subclass can renegotiate
	  the caps. Not doing so while still renegotiating would mean that the
	  subclass would have to do an allocation query before pushing the caps.
	  Pushing the caps now without this would also not work since these caps
	  won't match the pending buffers format.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8064>

2025-02-03 12:46:29 +0000  Glyn Davies <glyn@solet.io>

	* gst/videoparsers/gsth264parse.c:
	  h264parse: Force full timestamp on all timecode updates. Was invalid between midnight and 1am
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8401>

2025-02-09 17:47:32 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.25.50

=== release 1.25.50 ===

2025-02-09 17:35:17 +0000  Tim-Philipp Müller <tim@centricular.com>

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

2025-02-08 16:53:57 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/opencv/meson.build:
	  opencv: Fix pkgconfig dependency name and gstopencv_dep
	  Broke in bbdf8f599633627d4727b4cab6274c6a2b486a81
	  Also print the prefix inside which we try to detect opencv's data dir.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8403>

2025-02-08 01:49:07 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/opencv/gsthanddetect.cpp:
	* gst-libs/gst/opencv/meson.build:
	  opencv: Fix hand detect profile paths
	  This is the same mechanism used by facedetect
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8403>

2024-12-13 09:07:48 +0000  Cheung Yik Pang <pang.cheung@harmonicinc.com>

	* sys/va/gstvavp8dec.c:
	  va: Add VP8 alpha decode bin
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8180>

2024-10-29 12:40:04 +0800  Cheung Yik Pang <pang.cheung@harmonicinc.com>

	* sys/va/gstvavp9dec.c:
	  va: Add VP9 alpha decode bin
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8180>

2024-10-29 12:39:39 +0800  Cheung Yik Pang <pang.cheung@harmonicinc.com>

	* sys/va/gstvacodecalphadecodebin.c:
	* sys/va/gstvacodecalphadecodebin.h:
	* sys/va/meson.build:
	  va: Add codec alpha decode bin base class
	  A VA-API decoder bin base class for codecs with alpha channel support.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8180>

2025-02-07 15:43:05 +0100  wbartel <wilhelm.bartel@streamonkey.de>

	* gst-libs/gst/webrtc/meson.build:
	  webrtc: fix pkg-config missing sdp dependency
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8433>

2025-02-07 08:44:53 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* gst-libs/gst/codecs/meson.build:
	  codecs: include gsth266decoder.h when building gir
	  Will hopefully fix cerbero ci job.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8430>

2025-02-05 15:27:14 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/v4l2codecs/gstv4l2format.c:
	* sys/v4l2codecs/gstv4l2format.h:
	  v4l2codecs: Add NV12_10LE40 / NV15 support
	  NV15 is common format on RK platform and is that only uncompressed 10bit
	  format the display controller on RK3588 supports.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8426>

2023-05-22 16:15:33 +0200  Kévin Commaille <zecakeh@tedomum.fr>

	* ext/zbar/gstzbar.c:
	* tests/check/elements/zbar.c:
	  zbar: allow to get symbol as bytes
	  It would be possible to get some binary symbols with a string, but if
	  they contain NUL bytes, the string will be cut off. To fix this,
	  provide the decoded symbol as a GBytes too.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4688>

2023-05-22 16:09:28 +0200  Kévin Commaille <zecakeh@tedomum.fr>

	* docs/plugins/gst_plugins_cache.json:
	* ext/zbar/gstzbar.c:
	* ext/zbar/gstzbar.h:
	* ext/zbar/meson.build:
	  zbar: allow to enable binary mode
	  Added in zbar 0.23.1, it is a mode that prevents zbar from trying to
	  convert the binary data of QR codes to text by guessing the encoding.
	  Add a property that changes the configuration of the zbar image scanner
	  accordingly.
	  <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4688>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4688>

2025-01-09 23:42:14 +0800  He Junyan <junyan.he@intel.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: Handle the padding OBU correctly
	  The current av1parse can not find the edge of frame correctly if there
	  is padding OBUs inside the stream. We now use a flag seen_non_padding to
	  check whether we see some valid data after a data push. Then the padding
	  OBUs will be the part of the new frame.
	  We also refine the code logic to make the code more readable.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4044
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8269>

2025-02-05 17:10:16 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* gst/videoparsers/gsth266parse.c:
	* gst/videoparsers/gsth266parse.h:
	  h266parse: clean up unused APS fields
	  Since APS is always carried in-band, we don't need to keep the APS
	  NALs around in the parser anymore.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359>

2025-01-31 00:26:38 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* gst-libs/gst/codecparsers/gsth266parser.c:
	  h266parser: do not fail when extension flags are set
	  For VPS, PPS, APS, OPI and DCI, the extension flags are the last syntax
	  in the structures, and according to the spec, should be ignored if set to 1.
	  Therefore, we can just ignore them rather than failing.
	  This fixes a few failures in fluster, like in the PSEXT_A_Nokia_2 stream.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359>

2025-01-24 12:11:28 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* tests/check/elements/h266parse.c:
	  h266parse: add tests for vvc1 and vvi1
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359>

2025-01-24 12:10:05 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/videoparsers/gsth266parse.c:
	  h266parse: enable vvc1 and vvi1 stream formats
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359>

2025-01-24 12:07:21 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* gst/videoparsers/gsth266parse.c:
	  h266parse: handle packetized frames
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359>

2025-02-05 14:17:21 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* gst/videoparsers/gsth266parse.c:
	  h266parse: don't prepend APS NALs on IDR frames
	  Instead, APS NALs can just be pushed an in-band NALs like PH and SEI.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359>

2025-01-24 12:21:35 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* gst/videoparsers/gsth266parse.c:
	  h266parse: negotiate before handling codec_data NALs
	  If we find VPS/SPS/PPS in codec_data and call gst_h266_parse_process_nal
	  with them, we need to have negotiated before in order to correctly
	  process them with flags like h266parse->transform set or not depending
	  on the negotiation. This is important because in certain vvc1/vvi1 streams we
	  may have correct codec_data but faulty parameter sets in the stream and
	  we would want to push the parameter sets from codec_data first.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359>

2025-02-05 14:17:45 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* gst/videoparsers/gsth266parse.c:
	  h266parse: parse codec_data
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359>

2025-01-24 11:46:38 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* gst/videoparsers/gsth266parse.c:
	  h266parse: update IDR position in more cases
	  The IDR position should be updated if we're processing an
	  IDR frame or pushing codec NALs. Not only when picture_header_in_slice_header_flag
	  is set.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359>

2025-01-24 11:37:10 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* gst/videoparsers/gsth266parse.c:
	  h266parse: fix typos
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359>

2025-01-24 11:30:36 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* gst/videoparsers/gsth266parse.c:
	  h266parse: implement make_codec_data
	  implement serialization of codec_data containing VvcDecoderConfigurationRecord
	  as defined in ISO/IEC 14996-15.
	  The VPS/SPS/PPS NALs are added to the codec_data. APS NALs could be
	  optionally included as well but will be pushed in-band instead, because:
	  1. Logic is easier that way. We'd have to filter out for PREFIX_APS only
	  (SUFFIX_APS aren't allowed in codec_data).
	  2. APS NALs can also be sent for every non-keyframe slice, and often are, so just pushing
	  them in-band makes more sense to have less to keep track and avoid possible
	  duplicates.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359>

2025-01-24 11:17:50 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* gst-libs/gst/codecparsers/gsth266parser.c:
	* gst-libs/gst/codecparsers/gsth266parser.h:
	* tests/check/libs/h266parser.c:
	  h266parser: add API to parse VVCDecoderConfigurationRecord
	  VVCDecoderConfigurationRecord is present in ISOBMFF files carrying
	  VVC/H.266 streams via the vvcC box, as defined in ISO/IEC 14496-15.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359>

2025-02-06 08:34:46 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/opencv/meson.build:
	  opencv: imgcodecs.hpp is also needed to build the plugin
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8418>

2025-02-06 08:08:58 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/opencv/meson.build:
	* gst-libs/gst/opencv/meson.build:
	  meson: Modernize opencv build definitions
	  Use the fs module instead of using `run_command('test')`, simplify
	  some indentation, fix dependency management
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8418>

2025-01-03 15:15:57 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/play/gstplay.c:
	* gst-libs/gst/play/gstplay.h:
	  play: Distinguish missing plugin errors and include more details in error/warning messages
	  Include the URI (and if possible) stream-id in the messages. These are provided
	  by uridecodebin3 / decodebin3 in most cases but there is fallback code to guess
	  them otherwise.
	  For missing plugin errors also the installer details are included.
	  The URI is included in all message types.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3547
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8236>

2025-02-06 23:28:13 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/nvdswrapper/gstnvdsdewarp.cpp:
	* ext/nvdswrapper/plugin.cpp:
	  docs: Add nvdswrapper docs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8425>

2024-12-23 11:47:26 +0100  Philippe Normand <philn@igalia.com>

	* ext/wpe/gstwpethreadedview.cpp:
	* ext/wpe/gstwpethreadedview.h:
	  wpe: Reduce gpointer usage in ThreadedView
	  Those gpointers were introduced when we had to support some old WPE API, no need
	  for them anymore.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8413>

2025-02-03 12:25:34 +0100  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/plugin.c:
	  docs: v4l2codecs: Add plugin index documentation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5555>

2023-10-25 16:28:43 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	  doc: Push v4l2codecs documentation cache
	  These are normally autogenerated for the platform GStreamer runs on,
	  though it is convenient to have everything listed in the doc. This
	  was created with the new GST_V4L2_CODEC_GEN_DOC=1 environment.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5555>

2025-01-30 16:27:36 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codecalphadecodebin.c:
	* sys/v4l2codecs/gstv4l2codecalphadecodebin.h:
	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	  doc: v4l2codecs: Document all decoders
	  Add the documentation blob and since marker for all decoders.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5555>

2025-01-30 23:05:58 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codecalphadecodebin.c:
	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/v4l2codecs/gstv4l2decoder.h:
	  v4l2codecs: Remove uneeded per-codec abstract class
	  That subclass was not needed and was causing issues wit doc generation.
	  The only down side of removing it is that the decoder cast macro is no
	  longer type safe.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5555>

2025-01-30 20:00:55 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	  v4l2codecs: Add Hardware class to alpha decoders
	  This was accidently omitted, this is needed wen filterting hardware
	  codecs.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5555>

2023-12-14 15:48:43 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codecalphadecodebin.c:
	* sys/v4l2codecs/gstv4l2codecalphadecodebin.h:
	  v4l2codecs: Cleanup alpha decodebin class header
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5555>

2023-12-14 15:26:27 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codecav1dec.h:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech264dec.h:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.h:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.h:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.h:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.h:
	  v4l2codecs: Don't needlessly expose decoder types
	  We have explicit register functions and have no use for these types in
	  other components.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5555>

2023-12-14 15:19:56 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codecallocator.h:
	* sys/v4l2codecs/gstv4l2codecalphadecodebin.h:
	* sys/v4l2codecs/gstv4l2codecav1dec.h:
	* sys/v4l2codecs/gstv4l2codecdevice.h:
	* sys/v4l2codecs/gstv4l2codech264dec.h:
	* sys/v4l2codecs/gstv4l2codech265dec.h:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.h:
	* sys/v4l2codecs/gstv4l2codecpool.h:
	* sys/v4l2codecs/gstv4l2codecvp8dec.h:
	* sys/v4l2codecs/gstv4l2codecvp9dec.h:
	* sys/v4l2codecs/gstv4l2decoder.h:
	* sys/v4l2codecs/gstv4l2format.h:
	  v4l2codecs: Use pragma once
	  This is a nice cleanup and removes comment referring to D3D notably.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5555>

2023-10-24 17:07:54 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	  v4l2codecs: Enable AV1 kernel version check
	  The uAPI finally got merged into 6.5.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5555>

2023-10-24 17:04:17 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codecdevice.c:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/v4l2codecs/gstv4l2decoder.h:
	  v4l2codecs: Add a doc generation mode
	  This is enabled through an env, it allow exposing all elements without
	  the needed driver supports. This is useful to fill the documentation cache.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5555>

2025-02-03 14:09:16 +0100  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/gtk/gstgtkwaylandsink.c:
	* ext/wayland/gstwaylandsink.c:
	  waylandsink: Prefer DMABuf over system memory
	  Swap the template and caps query around to that the sink can describe a
	  preference for DMAbuf over system memory.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8404>

2025-02-04 17:33:23 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* tests/check/libs/vkvideoencodeh265.c:
	  vkvideoencodeh265: fix PicOrderCntVal usage
	  remove `pic_order_cnt` member variable of GstVulkanH265EncodeFrame and
	  use always `pic_num` instead.
	  Intialize first `pic_num` value in test_encoder_h265_i_p.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8408>

2025-02-04 16:10:38 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkvideoencodeh26x: tests: set constant qp
	  Set constant qp to 26 in between 0 and 51, the qp range
	  for h264 and h265.
	  minQp in case of ANV is 10 for h265
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8407>

2025-02-04 03:49:00 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/meson.build:
	  mediafoundation: Enable MinGW build
	  Update MinGW toolchain in cerbero can support MediaFoundation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8406>

2025-02-04 05:27:40 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfcapturedshow.cpp:
	* sys/mediafoundation/gstmftransform.cpp:
	* sys/mediafoundation/gstmfvideobuffer.cpp:
	* sys/mediafoundation/gstmfvideobuffer.h:
	* sys/mediafoundation/gstmfvideoencoder.cpp:
	  mediafoundation: Use DEFINE_GUID instead of DECLSPEC_UUID
	  MinGW will not define IID for custom COM object
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8406>

2025-02-04 04:14:40 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfutils.h:
	  mediafoundation: Fix GUID_NULL related MinGW build error
	  Include cguid.h for GUID_NULL
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8406>

2025-02-04 04:09:02 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfaacenc.cpp:
	* sys/mediafoundation/gstmfcapturedshow.cpp:
	* sys/mediafoundation/gstmfmp3enc.cpp:
	* sys/mediafoundation/gstmfsourceobject.cpp:
	* sys/mediafoundation/gstmfsourcereader.cpp:
	* sys/mediafoundation/gstmftransform.cpp:
	* sys/mediafoundation/gstmfutils.cpp:
	* sys/mediafoundation/gstmfvideobuffer.cpp:
	* sys/mediafoundation/gstmfvideobuffer.h:
	* sys/mediafoundation/gstmfvideoencoder.cpp:
	* sys/mediafoundation/gstmfvideosrc.cpp:
	* sys/mediafoundation/gstmfvp9enc.cpp:
	* sys/mediafoundation/plugin.cpp:
	  mediafoundation: Fix various GCC warnings
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8406>

2024-06-28 09:32:20 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabasedec.h:
	* sys/va/gstvah266dec.c:
	* sys/va/gstvah266dec.h:
	* sys/va/gstvaprofile.c:
	* sys/va/gstvaprofile.h:
	* sys/va/meson.build:
	* sys/va/plugin.c:
	  va: Implement the VA h266 decoder
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5865>

2024-12-20 18:13:23 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecs/gsth266decoder.c:
	* gst-libs/gst/codecs/gsth266decoder.h:
	* gst-libs/gst/codecs/gsth266picture.c:
	* gst-libs/gst/codecs/gsth266picture.h:
	* gst-libs/gst/codecs/meson.build:
	  codecs: Add the H266/VVC decoder base class
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5865>

2025-02-04 05:27:20 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstwin32devicewatcher.cpp:
	  mfdevice: Unregister device notification callback on stop
	  ... as intended
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8405>

2025-02-04 03:55:55 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfvideoencoder.cpp:
	  mfvideoenc: Fix profile string check
	  profile_str is not std::string. Use strcmp instead
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8405>

2025-02-04 02:52:51 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfdevice.cpp:
	  mfdevice: Fix memory leak
	  Release resources on dispose() as intended
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8405>

2025-02-03 20:39:53 +0900  Seungha Yang <seungha@centricular.com>

	* sys/dwrite/meson.build:
	* sys/nvcodec/meson.build:
	* sys/qsv/meson.build:
	  meson: Check d3d12video header for MinGW build
	  Old MinGW toolchain does not ship the header
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8400>

2025-02-03 09:39:07 +0100  Sebastian Dröge <sebastian@centricular.com>

	* ext/closedcaption/gstceaccoverlay.c:
	  cc708overlay: Deprecate element in favour of cea708overlay
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3459
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8397>

2025-02-02 19:00:26 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12mipgen.cpp:
	  d3d12mipgen: Respect requested mip levels
	  Don't waste GPU power by generating more levels than requested
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8394>

2025-02-02 00:55:07 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12mipgen.cpp:
	  d3d12mipgen: Serialize root signature only once
	  ... and reuse serialized blob
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8394>

2024-06-11 17:46:11 +0200  Ruben Gonzalez <rgonzalez@fluendo.com>

	* meson.build:
	  meson: use nls option to ENABLE_NLS
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7017>

2023-09-29 18:14:52 +0200  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-app-maker:
	* tools/gst-element-maker:
	* tools/gst-project-maker:
	  bad: tools: update gst-{app,element,project}-maker for new gst-indent
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5192>

2023-09-29 18:10:09 +0200  Tim-Philipp Müller <tim@centricular.com>

	* scripts/update-orc-dist-files.py:
	  scripts: update update-orc-dist-files.py scripts for new gst-indent
	  And fix python indentation with autopep8
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5192>

2025-01-31 22:06:53 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	  d3d12converter: Fix SRV descriptor heap size
	  Converter was allocating smaller size of descriptor heap
	  than required size when auto-mipgen is enabled
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8391>

2025-01-22 23:01:40 +0900  Seungha Yang <seungha@centricular.com>

	* tests/examples/codecparsers/meson.build:
	* tests/examples/codecparsers/parse-h264-drop-frames.c:
	  examples: Add h264parser example
	  An example to show how to detect frame type using h264parser
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8338>

2025-01-29 19:37:39 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/mpegts/gstmpegtsdescriptor.c:
	  mpegtsdescriptor: Add (transfer none) annotation to out parameter of parse_registration()
	  Out parameters are (transfer full) by default.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8380>

2025-01-09 14:27:11 +0000  Colin Kinloch <colin.kinloch@collabora.com>

	* ext/gtk/gstgtkwaylandsink.c:
	* ext/wayland/gstwaylandsink.c:
	* gst-libs/gst/wayland/gstwldisplay.c:
	* gst-libs/gst/wayland/gstwldisplay.h:
	  wayland: De-dupe filling caps format fields
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8268>

2025-01-29 09:31:54 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2format.c:
	  v4l2codecs: format: Fix tiled stride with modifiers
	  After a bit of back and forth, we figure-out that for backward
	  compatibility we need to set the tile stride the way GStreamer
	  defines it. Sinks such as glimagesink/waylandsink translate it
	  back to the number of bytes representation used by Linux.
	  The change in !7355 when the other way around, breaking tiled
	  playback through waylandsink and glimagesink.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7892>

2025-01-10 11:29:44 +0000  Colin Kinloch <colin.kinloch@collabora.com>

	* ext/gtk/gstgtkwaylandsink.c:
	* ext/wayland/gstwaylandsink.c:
	* gst-libs/gst/wayland/gstwldisplay.c:
	* gst-libs/gst/wayland/gstwlvideoformat.c:
	* gst-libs/gst/wayland/gstwlvideoformat.h:
	  wayland: Don't filter out unrecognised DRM formats
	  There is no requirement for a base DRM format to be supported by libgstvideo
	  in order to be uploaded to.
	  The linux-dmabuf-v1 format events are DRM_FORMAT codes and don't need to
	  be converted before use with `gst_video_dma_drm_fourcc_to_string`.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8279>

2025-01-27 18:55:26 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/closedcaption/ccutils.c:
	* ext/closedcaption/ccutils.h:
	* ext/closedcaption/gstcccombiner.c:
	  cccombiner: Restore QoS messaging
	  Reimplement the QoS message generation that was lost together with the
	  caption frame counting.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7996>

2025-01-23 15:34:14 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/closedcaption/gstcccombiner.c:
	* ext/closedcaption/gstcccombiner.h:
	  cccombiner: Clean up property mutability
	  Most settings are copied from properties on the READY → PAUSED state
	  change. The recently added properties violate this scheme, and are
	  probably unsafe to change.
	  Make these properties consistently MUTABLE_READY. Also remove the unused
	  `output_padding` field.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7996>

2024-11-19 17:38:43 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* tests/check/elements/cccombiner.c:
	  tests: cccombiner: Test rescheduling 50fps to 25fps w/o overflow
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7996>

2024-11-19 17:38:43 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/closedcaption/gstcccombiner.c:
	* ext/closedcaption/gstcccombiner.h:
	  cccombiner: Replace caption frame counting with max_buffer_time
	  The counting is defective when we are combining with a stream that has a
	  higher max_cea608_count (such as 60p to 30i), as we produce less caption
	  frames than we consume, leading to periodic queue drops.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7996>

2025-01-25 00:15:04 -0500  Arun Raghavan <arun@asymptotic.io>

	* ext/webrtcdsp/meson.build:
	  webrtcdsp: Use C++20 with MSVC if needed
	  The subproject fails on vs2022 builds with:
	  [...]agc2/input_volume_stats_reporter.cc(89): error C7555: use of designated initializers requires at least '/std:c++20'
	  So let's force C++20 in this case.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8270>

2025-01-09 11:37:05 -0500  Arun Raghavan <arun@asymptotic.io>

	* ext/webrtcdsp/gstwebrtcdsp.cpp:
	* ext/webrtcdsp/meson.build:
	  webrtcdsp: Bump to WebRTC AudioProcessing 2.1
	  Keep 1.0 support around so distros can manage this bump more easily.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8270>

2025-01-20 18:19:18 +0100  Andoni Morales Alastruey <ylatuya@gmail.com>

	* sys/applemedia/vtdec.c:
	  vtdec: fix seeks hangs due to a race condition draining
	  If the drain function of the decoder triggered by FLUSH_START
	  is run while the output loop is running, once the output loop
	  finished vtdec->downstream_ret will be GST_FLOW_FLUSHING instead
	  of GST_FLOW_OK, which must not be treated as an error since
	  the queue is cleaned correctly as well.
	  Fix #4179
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8328>

2025-01-23 11:50:43 +1100  Matthew Waters <matthew@centricular.com>

	* sys/nvcodec/gstcudacompositor.cpp:
	  cudacompositor: pass correct variable to debug log functions
	  Fixes spew of:
	  gst_debug_log_full_valist: assertion 'id != NULL ||
	  object == NULL || G_IS_OBJECT (object)' failed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8345>

2025-01-23 13:20:50 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* ext/wpe/gstwpevideosrc.cpp:
	  wpe: remove glFlush() when filling buffer
	  According to https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4162#note_2739338
	  it was introduced as workaround for tearing issues.
	  I do not experience any tearing without flushing on both nvidia and AMD
	  GPU, so I suppose it's no longer needed.
	  Slightly improve CPU usage according to my tests.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8348>

2025-01-22 19:37:02 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudacompositor.cpp:
	  cudacompositor: Fix memory leak
	  gst_cuda_compositor_upload_frame() returns buffers with increased
	  refcount already
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8335>

2025-01-17 20:46:55 +1100  Brad Hards <bradh@frogmouth.net>

	* gst/videoparsers/gsth264parse.c:
	  h264parse: add conditional values to AVCConfigurationRecord
	  This adds the data required in AVCDecoderConfigurationRecord for
	  higher profile (High variants) configurations - everything in the if(...) {...} part
	  of ISO/IEC 14496-15:2024 Section 5.3.2.1.2. (or 5.3.3.1.2 in the 2019 version).
	  Resolves an error flagged by ComplianceWarden when muxing this into ISOBMFF.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8308>

2025-01-20 03:14:22 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/nvcodec/gstcudacompositor.cpp:
	* sys/nvcodec/gstnvav1encoder.cpp:
	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	  docs: Update nvcodec plugin docs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8325>

2025-01-20 21:29:52 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudaipcsink.cpp:
	* sys/nvcodec/gstcudaipcsrc.cpp:
	  cudaipc: Use empty string for address property docs
	  Since Windows and Linux have different default values,
	  use empty string when generating plugin docs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8325>

2025-01-20 04:52:00 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvav1dec.cpp:
	* sys/nvcodec/gstnvav1encoder.cpp:
	* sys/nvcodec/gstnvdecoder.cpp:
	* sys/nvcodec/gstnvh264dec.cpp:
	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265dec.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	* sys/nvcodec/gstnvvp8dec.cpp:
	* sys/nvcodec/gstnvvp9dec.cpp:
	  nvcodec: Specify documentation caps
	  ... since produced caps will be different depending on OS and GPU model.
	  Also adding Y444_16LE format to decoder's GL template caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8325>

2025-01-20 02:55:03 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/nvcomp/gstnvcompvideoenc.cpp:
	* ext/nvcomp/plugin.cpp:
	  docs: Add nvcomp plugin docs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8325>

2025-01-20 18:37:23 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/mpegtsdemux/mpegtspacketizer.c:
	  tsdemux: Fix backwards PTS wraparound detection with ignore-pcr=true
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8326>

2025-01-20 13:23:50 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/meson.build:
	  docs: explicitly list gir files as depends for generating configs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8324>

2024-12-18 01:45:28 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudacompositor.cpp:
	* sys/nvcodec/gstcudacompositor.h:
	* sys/nvcodec/meson.build:
	* sys/nvcodec/plugin.c:
	  nvcodec: Add cudacompositor element
	  Adding CUDA based compositor element
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8170>

2024-12-17 00:51:47 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudaconverter.cpp:
	  cudaconverter: Add support for alpha blending
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8170>

2024-12-16 01:32:36 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudaconverter.cpp:
	* sys/nvcodec/gstcudaconverter.h:
	* sys/nvcodec/gstcudaconvertscale.c:
	* sys/nvcodec/meson.build:
	  cudaconverter: Add support for configuration update
	  Allow updating various configuration values via property
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8170>

2024-12-14 23:56:35 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudaconverter.c:
	  cudaconverter: Pass constant values as kernel argument
	  Make conversion kernel more flexible and reusable
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8170>

2024-12-14 21:44:55 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/cuda-gst.h:
	* gst-libs/gst/cuda/gstcudaloader.cpp:
	* gst-libs/gst/cuda/stub/cuda.h:
	  cuda: Load 2D memset function symbols
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8170>

2025-01-15 17:36:00 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/meson.build:
	* gst-libs/gst/adaptivedemux/meson.build:
	* gst-libs/gst/analytics/meson.build:
	* gst-libs/gst/audio/meson.build:
	* gst-libs/gst/basecamerabinsrc/meson.build:
	* gst-libs/gst/codecparsers/meson.build:
	* gst-libs/gst/codecs/meson.build:
	* gst-libs/gst/cuda/meson.build:
	* gst-libs/gst/dxva/meson.build:
	* gst-libs/gst/insertbin/meson.build:
	* gst-libs/gst/mpegts/meson.build:
	* gst-libs/gst/mse/meson.build:
	* gst-libs/gst/opencv/meson.build:
	* gst-libs/gst/play/meson.build:
	* gst-libs/gst/player/meson.build:
	* gst-libs/gst/transcoder/meson.build:
	* gst-libs/gst/va/meson.build:
	* gst-libs/gst/vulkan/meson.build:
	* gst-libs/gst/webrtc/meson.build:
	* gst-libs/meson.build:
	  docs: generate hotdoc configs for libraries with our helper script
	  With this patch, configure time is identical no matter whether doc is
	  enabled or not.
	  The configuration files also now contain explicitly-listed sources with
	  no wildcards.
	  For the four libraries where hotdoc needs to use clang to generate the
	  documentation (as opposed to the rest of the libraries where hotdoc uses
	  the gir), the script will call pkg-config to determine the appropriate
	  C flags.
	  This means a side effect of this patch is that pkg-config files are now
	  generated for the gstadaptivedemux and gstopencv libraries.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8312>

2025-01-17 16:51:22 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* meson.build:
	  meson: bump minimum version to 1.4 in every subprojects
	  36c01d05797ad9c7778939c54870f979bdcbba1f bumped to 1.4 for gst-devtools
	  and the root project, but we usually keep those in sync everywhere.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8312>

2025-01-04 20:46:37 +0000  Sam James <sam@gentoo.org>

	* ext/lc3/meson.build:
	  lc3: tweak meson style
	  While this might seem a bit silly, it aids some of our infra in
	  packaging. Tweak for consistency with other use.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8239>

2025-01-06 13:28:40 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* ext/vulkan/vkh264dec.c:
	  vkh264dec: enhance interlaced content support
	  - Use frame_num instead of pic_num to set the long_term_pic_num
	  fixing 10 interlaced tests in fluster test suite: JVT-AVC_V1
	  - Send the slice offset only once in case of interlaced content.
	  Fixing 5 interlaced tests in fluster test suite: JVT-AVC_V1.
	  - The default value for top and bottom field flag should be 0 in the
	  case of a progressive content.
	  - Use short and long term refs helper getter method to retrieve the
	  reference frames according its none existing and interlaced state
	  - Reorganize the find_next_slot_idx code to be easier to read.
	  Co-authored-by: Daniel Almeida <daniel.almeida@collabora.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7854>

2024-06-21 16:55:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh264dec.c:
	  vkh264dec: enable h264 interlaced decoding
	  First the slot_index shall have the same value for the first and second
	  fields.
	  Also, the reference frames are only those with both fields.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7854>

2024-06-21 16:43:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh264dec.c:
	  vkh264dec: make GstVulkanH264Picture a reference count
	  Thus we could re-use the same structure for interlaced fields: a single bistream,
	  single output buffer and single vulkan structures.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7854>

2024-10-25 15:24:49 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* ext/vulkan/vkh264dec.c:
	  vkh264dec: non existing picture are not refs
	  The non existing picture or gap picture should not be
	  considered as refs for vulkan decoder.
	  Fix fluster tests:
	  MR3_TANDBERG_B
	  MR4_TANDBERG_C
	  MR5_TANDBERG_C
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7854>

2024-10-25 12:36:43 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/vulkan/vkh264dec.c:
	  vkh264dec: support h264 extended profile
	  Extended is identical to main but allows FMO/ASO features to be used,
	  and prevent using CABAC.
	  Using similar logic to "baseline", assume that if we support main,
	  we can also do extended.
	  This fixes the following fluster vectors, which otherwise would fail when trying to link the parsebin pad.
	  BA3_SVA_C
	  MR6_BT_B
	  MR7_BT_B
	  MR8_BT_B
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7854>

2025-01-15 17:08:21 -0500  Daniel Morin <daniel.morin@collabora.com>

	* gst-libs/gst/analytics/gstanalyticssegmentationmtd.c:
	* gst-libs/gst/analytics/gstanalyticssegmentationmtd.h:
	  gst-analytics: add missing mtd segmentation API
	  - add gst_analytics_segmentation_mtd_get_mtd_type() which is required to
	  retrieve the concrete type of a generic mtd (GstAnalyticsMtd).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8307>

2025-01-10 14:15:21 +0200  Sebastian Dröge <sebastian@centricular.com>

	* sys/decklink/gstdecklinkvideosink.cpp:
	  decklinkvideosink: Fix handling of caps framerate in auto mode
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8280>

2025-01-10 21:18:45 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst-libs/gst/mpegts/gstmpegtssection.h:
	* gst/mpegtsdemux/tsdemux.c:
	  tsdemux: add support for VVC/H.266
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4940>

2025-01-14 17:22:12 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/webrtc/nice/nice.c:
	  webrtc-nice: fix compiler warning with older versions if libnice
	  warning: "HAVE_LIBNICE_CONSENT_FIX" is not defined, evaluates to 0 [-Wundef]
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8305>

2025-01-13 00:39:43 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	  d3d12: Update docs for max-mip-levels property
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8290>

2025-01-13 00:08:28 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12convert.h:
	  d3d12convert: Add max-mip-levels property
	  Add support for automatic mipmap generation depending on viewport size
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8290>

2025-01-12 23:37:58 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12swapchainsink.cpp:
	  d3d12swapchainsink: Add max-mip-level property
	  Add support for automatic mipmap generation depending on viewport size
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8290>

2025-01-12 23:22:44 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12videosink.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	* sys/d3d12/gstd3d12window.h:
	  d3d12videosink: Add max-mip-level property
	  Add support for automatic mipmap generation depending on viewport size
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8290>

2025-01-10 21:57:58 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter.h:
	* gst-libs/gst/d3d12/gstd3d12mipgen-private.h:
	* gst-libs/gst/d3d12/gstd3d12mipgen.cpp:
	  d3d12converter: Add support for mipmap generation
	  Adding max-mip-levels property so that converter can generate
	  mipmap textures if render target size is smaller than
	  input texture resolution.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8290>

2025-01-10 01:59:14 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	  d3d12converter: Refactor to support mipmap handling
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8290>

2025-01-10 21:05:45 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	* gst-libs/gst/d3dshader/gstd3dshadercache.h:
	* gst-libs/gst/d3dshader/plugin-hlsl/CSMain_mipgen_gray.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/hlsl.h:
	* gst-libs/gst/d3dshader/plugin-hlsl/meson.build:
	* sys/d3d12/gstd3d12mipmapping.cpp:
	  d3d12mipmapping: Add support for GRAY output
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8290>

2025-01-10 00:38:39 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12mipgen-private.h:
	* gst-libs/gst/d3d12/gstd3d12mipgen.cpp:
	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	* gst-libs/gst/d3dshader/gstd3dshadercache.h:
	* gst-libs/gst/d3dshader/plugin-hlsl/CSMain_mipgen_ayuv.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/CSMain_mipgen_vuya.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/hlsl.h:
	* gst-libs/gst/d3dshader/plugin-hlsl/meson.build:
	* sys/d3d12/gstd3d12mipmapping.cpp:
	  d3d12mipmapping: Skip alpha sampling if possible
	  If input format has no alpha and output format has no alpha,
	  skip alpha sampling which can reduce the number of instruction slots
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8290>

2025-01-09 23:12:05 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12mipgen-private.h:
	* gst-libs/gst/d3d12/gstd3d12mipgen.cpp:
	* gst-libs/gst/d3d12/meson.build:
	* sys/d3d12/gstd3d12mipmapping.cpp:
	* sys/d3d12/meson.build:
	  d3d12: Move mipgen to libs
	  converter object will use mipgen object
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8290>

2025-01-14 15:00:43 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.25.1

=== release 1.25.1 ===

2025-01-14 14:52:48 +0000  Tim-Philipp Müller <tim@centricular.com>

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

2024-12-20 13:28:38 -0700  Jordan Yelloz <jordan.yelloz@collabora.com>

	* sys/decklink/gstdecklink.cpp:
	  decklink: Fixed caps-building for output devices
	  When iterating through output devices, video_input_caps was being
	  updated instead of video_output_caps.
	  As a result, video output devices were being created with an empty caps object
	  and `gst-device-monitor-1.0 Video/Sink` would produce no decklink devices.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8298>

2025-01-13 22:09:02 +0100  Ruben Gonzalez <rgonzalez@fluendo.com>

	* gst/videoparsers/gsth264parse.c:
	  h264parse: drop duplicated call
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8299>

2025-01-13 12:48:52 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	  docs: update vampeg2dec docs with new rank
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8295>

2025-01-13 12:46:26 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	  docs: add svtjpegxs plugin
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8295>

2025-01-13 12:45:38 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/openaptx/openaptx-plugin.c:
	  docs: add openaptx plugin
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8295>

2025-01-13 18:10:31 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/meson.build:
	* ext/aes/meson.build:
	* ext/analyticsoverlay/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/codec2json/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/ladspa/meson.build:
	* ext/lc3/meson.build:
	* ext/lcevcdecoder/meson.build:
	* ext/lcevcencoder/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/nvcomp/meson.build:
	* ext/nvdswrapper/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/qt6d3d11/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/svtav1/meson.build:
	* ext/svthevcenc/meson.build:
	* ext/svtjpegxs/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/codectimestamper/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/insertbin/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/meson.build:
	* gst/midi/meson.build:
	* gst/mpegdemux/meson.build:
	* gst/mpegpsmux/meson.build:
	* gst/mpegtsdemux/meson.build:
	* gst/mpegtsmux/meson.build:
	* gst/mse/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/tensordecoders/meson.build:
	* gst/timecode/meson.build:
	* gst/transcode/meson.build:
	* gst/unixfd/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/aja/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/d3d12/meson.build:
	* sys/d3dvideosink/meson.build:
	* sys/decklink/meson.build:
	* sys/directshow/meson.build:
	* sys/directsound/meson.build:
	* sys/dvb/meson.build:
	* sys/dwrite/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/uvcgadget/meson.build:
	* sys/uvch264/meson.build:
	* sys/v4l2codecs/meson.build:
	* sys/va/meson.build:
	* sys/wasapi/meson.build:
	* sys/wasapi2/meson.build:
	* sys/webview2/meson.build:
	* sys/wic/meson.build:
	* sys/win32ipc/meson.build:
	* sys/winks/meson.build:
	* sys/winscreencap/meson.build:
	* tools/gst-project-maker:
	  docs: port plugins to explicit sources
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8273>

2024-02-13 10:21:15 -0500  Xavier Claessens <xavier.claessens@collabora.com>

	* sys/androidmedia/magicleap/gstamc-codec-ml.c:
	* sys/androidmedia/magicleap/gstamc-codeclist-ml.c:
	* sys/androidmedia/magicleap/gstamc-format-ml.c:
	* sys/androidmedia/magicleap/gstamc-internal-ml.h:
	* sys/androidmedia/magicleap/gstamc-ml.c:
	* sys/androidmedia/magicleap/gstamc-surfacetexture-ml.c:
	* sys/androidmedia/magicleap/gstamc-surfacetexture-ml.h:
	* sys/androidmedia/meson.build:
	  magicleap: Drop MLSDK support
	  I was used by ML1 (first gen device) which is deprecated and not
	  supported anymore. ML2 uses standard Android JNI and NDK.
	  Note that mlaudiosink element remains in bad/sys/magiclea because it
	  allows 3d spatial audio and that API is still supported by Magicleap
	  SDK.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6108>

2025-01-06 09:12:19 +0100  Edward Hervey <edward@centricular.com>

	* ext/iqa/meson.build:
	* ext/sctp/usrsctp/meson.build:
	* ext/soundtouch/meson.build:
	* ext/ttml/meson.build:
	* gst-libs/gst/vulkan/meson.build:
	* gst/dvbsubenc/meson.build:
	* meson.build:
	* sys/dwrite/libcaption/meson.build:
	* sys/qsv/libmfx/meson.build:
	* tests/check/meson.build:
	  bad: Add extra warning flags
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-11 13:40:39 +0100  Edward Hervey <edward@centricular.com>

	* sys/winscreencap/gstgdiscreencapsrc.c:
	* sys/winscreencap/gstwinscreencap.c:
	* sys/winscreencap/gstwinscreencap.h:
	  winscreencap: Don't use aggregate returns
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-11 09:07:27 +0100  Edward Hervey <edward@centricular.com>

	* sys/decklink/meson.build:
	  decklink: Ignore undef warnings in decklink API
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-10 17:24:40 +0100  Edward Hervey <edward@centricular.com>

	* ext/openni2/meson.build:
	  openni2: Ignore undef in external header
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-10 17:24:30 +0100  Edward Hervey <edward@centricular.com>

	* ext/x265/meson.build:
	  x265: Ignore undef in external headers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-10 16:31:01 +0100  Edward Hervey <edward@centricular.com>

	* sys/amfcodec/meson.build:
	  amf: Ignore undef warnings in external headers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-10 16:30:25 +0100  Edward Hervey <edward@centricular.com>

	* ext/spandsp/meson.build:
	  spandsp: Ignore undef issue in external headers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-10 16:29:53 +0100  Edward Hervey <edward@centricular.com>

	* gst/transcode/gsturitranscodebin.c:
	  uritranscodebin: Fix definition usage
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-10 16:17:11 +0100  Edward Hervey <edward@centricular.com>

	* ext/sctp/sctpassociation.c:
	  sctp: Convert function to avoid aggregate return
	  It's only used locally and only to fill an existing variable
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-10 11:42:19 +0100  Edward Hervey <edward@centricular.com>

	* sys/applemedia/avfdeviceprovider.m:
	* sys/applemedia/avfvideosrc.m:
	* sys/applemedia/corevideobuffer.c:
	* sys/applemedia/videotexturecache-gl.h:
	* sys/applemedia/videotexturecache-gl.m:
	* sys/applemedia/videotexturecache-vulkan.mm:
	* sys/applemedia/videotexturecache.m:
	* sys/applemedia/vtdec.c:
	* sys/applemedia/vtenc.c:
	  applemedia: Fix usage of HAVE_IOS define
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-10 11:10:44 +0100  Edward Hervey <edward@centricular.com>

	* gst/timecode/meson.build:
	  timecode: Fix definition
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-10 11:10:25 +0100  Edward Hervey <edward@centricular.com>

	* ext/resindvd/resindvdbin.c:
	  resindvd: Fix definition
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-10 11:09:58 +0100  Edward Hervey <edward@centricular.com>

	* ext/curl/gstcurlhttpsrc.h:
	* meson.build:
	  curl: Fix definitions
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-10 10:27:51 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/vulkan/gstvkdebug.c:
	  vulkan: Include api header
	  Needed for GST_VULKAN_HAVE_VIDEO_EXTENSIONS
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-06 11:03:32 +0100  Edward Hervey <edward@centricular.com>

	* ext/wpe/wpe-extension/gstwpeaudiosink.c:
	  wpeaudiosink: Check error value explicitly
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-10 15:55:42 +0100  Edward Hervey <edward@centricular.com>

	* sys/msdk/meson.build:
	  msdk: Ignore aggregate return warning
	  That's how their API is implemented
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-10 15:53:55 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/d3d11/meson.build:
	* sys/d3d11/meson.build:
	  d3d11: Ignore undef issues with external headers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-06 15:06:58 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/d3d12/meson.build:
	* sys/d3d12/meson.build:
	  d3d12: Disable implicit fallthrough checks
	  There are some missing explicit fallthrough statements in the direct headers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-06 10:36:04 +0100  Edward Hervey <edward@centricular.com>

	* gst/rtmp2/gstrtmp2locationhandler.c:
	* gst/rtmp2/rtmp/rtmpclient.c:
	* gst/rtmp2/rtmp/rtmpclient.h:
	  rtmp2: Explicitly define scheme error enum
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-06 10:28:20 +0100  Edward Hervey <edward@centricular.com>

	* ext/directfb/dfbvideosink.c:
	  dfbvideosink: Rework escape handling
	  Detected by a fallthrough.
	  * Just use if/else for clarity
	  * Remove 2002 fart joke
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-06 09:10:48 +0100  Edward Hervey <edward@centricular.com>

	* gst/mxf/mxfdemux.c:
	  mxfdemux: Fix segments iteration
	  `i >= 0` is always true since it's an unsigned integer ...
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-06 09:10:08 +0100  Edward Hervey <edward@centricular.com>

	* gst/siren/encoder.c:
	  siren: Cast shift mask to unsigned value
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-05 18:42:01 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/codecparsers/gsth265parser.c:
	  h265parser: Fix unsigned value reading
	  Unsigned values are always above 0, use MAX variant for reading
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-05 12:13:23 +0100  Edward Hervey <edward@centricular.com>

	* tests/examples/ipcpipeline/ipc-play.c:
	  examples/ipcpipeline: Fix ESC handler
	  Same as for gst-play
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-05 12:12:54 +0100  Edward Hervey <edward@centricular.com>

	* tests/check/libs/play.c:
	  tests/play: Fix debug statement
	  The interval is in milliseconds, convert to nanoseconds for debugging statement
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-05 12:12:21 +0100  Edward Hervey <edward@centricular.com>

	* tests/check/elements/webrtcbin.c:
	  tests/webrtcbin: Remove useless checks with unsigned values
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-05 12:10:59 +0100  Edward Hervey <edward@centricular.com>

	* ext/closedcaption/gstcccombiner.c:
	* ext/closedcaption/gstcea608mux.c:
	  closedcaption: Use proper type for storing result
	  drop_ccp_from_cc_data() will return a negative value if there was an
	  error. Storing that in an unsigned value will cause the checks for errors to
	  never happen.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-05 12:10:21 +0100  Edward Hervey <edward@centricular.com>

	* ext/closedcaption/gstcea708decoder.c:
	  cea708decoder: Remove useless checks
	  No need to check for the type limits
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-05 12:09:28 +0100  Edward Hervey <edward@centricular.com>

	* ext/isac/gstisacdec.c:
	  isacdec: Remove impossible check
	  WebRtcIsac_DecodePlc() never returns a negative value (confirmed by
	  documentation and current/historical code)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-05 12:09:00 +0100  Edward Hervey <edward@centricular.com>

	* ext/sctp/gstsctpdec.c:
	  sctpdec: Remove useless check
	  A uint16 will always be below ... the maximum value
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-05 11:47:11 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/codecs/gstmpeg2decoder.c:
	  mpeg2decoder: Remove useless check
	  The enum is unsigned
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-05 11:43:19 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/vulkan/gstvkinstance.c:
	  vkinstance: Remove useless check
	  priv->requested_api_major is unsigned
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-05 11:42:22 +0100  Edward Hervey <edward@centricular.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  basetsmux: Add explicit macro for GstClockTimeDiff handling
	  The checks in the other macro were useless for unsigned values
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-05 11:41:54 +0100  Edward Hervey <edward@centricular.com>

	* gst/mxf/mxfdemux.c:
	  mxfdemux: Remove useless check
	  values will always be positive
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-05 11:41:18 +0100  Edward Hervey <edward@centricular.com>

	* gst/speed/gstspeed.c:
	  speed: Refactor event handler
	  To avoid fallthrough issues which were tricky to fix
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-04 18:00:41 +0100  Edward Hervey <edward@centricular.com>

	* ext/fdkaac/gstfdkaacdec.c:
	* gst-libs/gst/audio/gstnonstreamaudiodecoder.c:
	* gst-libs/gst/isoff/gstisoff.c:
	* gst/aiff/aiffparse.c:
	* gst/dvbsuboverlay/gstdvbsuboverlay.c:
	* gst/mpegpsmux/psmuxstream.c:
	* gst/mpegtsdemux/mpegtsbase.c:
	* gst/mpegtsdemux/pesparse.c:
	* gst/rtmp2/rtmp/amf.c:
	* gst/rtmp2/rtmp/rtmpchunkstream.c:
	* gst/videoparsers/gsth266parse.c:
	* gst/videoparsers/gstmpeg4videoparse.c:
	* gst/videoparsers/gstmpegvideoparse.c:
	* sys/ipcpipeline/gstipcpipelinesrc.c:
	* sys/msdk/gstmsdkenc.c:
	* sys/msdk/gstmsdkh265enc.c:
	* sys/va/gstvabasedec.c:
	* sys/va/gstvabaseenc.c:
	* tests/examples/audiomixmatrix/test-audiomixmatrix.c:
	* tests/examples/waylandsink/wayland-threads.c:
	  bad: Clearly specify fallthrough in switch/case
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>

2025-01-09 00:42:48 +0100  Carlos Bentzen <cadubentzen@igalia.com>

	* ext/webrtc/gstwebrtcbin.c:
	* tests/check/elements/webrtcbin.c:
	  webrtc: fix duplicate payload types with RTX and multiple video codecs
	  Before this patch, there could be duplicate payload types in offers that
	  have, within a media section, multiple codecs and RTX enabled:
	  ```
	  m=video 9 UDP/TLS/RTP/SAVPF 96 97 97 <-- HAS DUPLICATES
	  a=sendrecv
	  a=rtpmap:96 VP8/90000
	  a=rtcp-fb:96 nack
	  a=rtcp-fb:96 nack pli
	  a=rtcp-fb:96 ccm fir
	  a=rtcp-fb:96 transport-cc
	  a=rtpmap:97 H264/90000
	  a=rtcp-fb:97 nack
	  a=rtcp-fb:97 nack pli
	  a=rtcp-fb:97 ccm fir
	  a=rtcp-fb:97 transport-cc
	  a=rtpmap:97 rtx/90000  <--------- PT IS DUPLICATE
	  a=fmtp:97 apt=96
	  ```
	  Fix this by populating the media_mapping array with all media formats
	  rather than only the first one. The added test case reproduces the issue,
	  which fails without this patch.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8259>

2025-01-09 11:39:11 +0100  Edward Hervey <edward@centricular.com>

	* sys/wasapi/gstwasapisink.c:
	  wasapi: Use signed value for can_frames
	  The can retrieval function can return negative values (which will be properly handled)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>

2025-01-09 10:08:23 +0100  Edward Hervey <edward@centricular.com>

	* sys/amfcodec/gstamfav1enc.cpp:
	* sys/amfcodec/gstamfh264enc.cpp:
	* sys/amfcodec/gstamfh265enc.cpp:
	  amfcodec: Add missing break statement
	  Setting frame-sad would also set ltr
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>

2025-01-06 10:39:35 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	  d3d12: Add missing breaks to switch/case
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>

2025-01-06 09:57:33 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/codecparsers/gsth265bitwriter.c:
	  h265bitwriter: Don't use type too small
	  The computed `coef_val` could exceed the maximum range of a gint8. Use a bigger
	  one, the checks after will ensure it's properly cropped/padded
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>

2025-01-05 12:08:24 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/mpegts/gstmpegtssection.c:
	  mpegts: Add missing break
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>

2025-01-05 11:46:21 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/mse/gstmsemediatype.c:
	  msemediabuffer: Fix ASCII character detection
	  Use glib function. The previous check was checking whether a signed int was
	  lower than its limit (which ... is always TRUE).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>

2025-01-05 11:43:49 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/mse/gstsourcebuffer.c:
	  msesourcebuffer: Fix unsigned value handling
	  Use the explicit valid clocktime handler instead
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>

2025-01-05 11:41:44 +0100  Edward Hervey <edward@centricular.com>

	* gst/rist/gstristsink.c:
	  ristsink: Add missing break
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>

2025-01-10 13:27:13 +0100  Ruben Gonzalez <rgonzalez@fluendo.com>

	* gst/videoparsers/gstvideoparseutils.c:
	  videoparsers: Fix indentation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8281>

2025-01-07 12:56:13 +0200  Sebastian Dröge <sebastian@centricular.com>

	* sys/decklink/gstdecklinkaudiosink.cpp:
	  decklinkaudiosink: Don't crash if started without corresponding video sink
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8253>

2025-01-09 17:23:41 +0000  Colin Kinloch <colin.kinloch@collabora.com>

	* gst-libs/gst/wayland/gstwldisplay.c:
	  wayland: Print table split when DMABuf format changes
	  The `zwp_linux_dmabuf_v1` doesn't specify an order for modifier events
	  to be sent.
	  In my case the linear format was sent last resulting in the first item
	  in each row being the previous format.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8272>

2024-12-25 15:04:03 +0100  Philippe Normand <philn@igalia.com>

	* ext/wpe/gstwpethreadedview.cpp:
	* ext/wpe/gstwpethreadedview.h:
	* ext/wpe/gstwpevideosrc.cpp:
	  wpevideosrc: Clear cached SHM buffers after caps re-negotiation
	  Otherwise buffers not corresponding to the negotiated caps might be pushed
	  downstream.
	  Fixes #4094
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8212>

2024-12-27 13:28:18 +0100  Philippe Normand <philn@igalia.com>

	* ext/wpe/gstwpevideosrc.cpp:
	  wpevideosrc: Post progress messages on the bus
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8217>

2024-12-25 14:42:16 +0100  Philippe Normand <philn@igalia.com>

	* ext/wpe/gstwpevideosrc.cpp:
	  wpevideosrc: Handle latency queries
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8217>

2025-01-08 00:56:45 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/d3d12/gstd3d12mipmapping.cpp:
	  d3d12mipmapping: Add mip-levels property
	  Generating full levels would result in waste of GPU resource
	  depending on rendering usecase. Adding a property to make it
	  controllable
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8255>

2025-01-08 00:38:39 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12mipgen.cpp:
	* sys/d3d12/gstd3d12mipmapping.cpp:
	  d3d12mipmapping: Add YUV and 64bits output formats
	  Add support for YUV and 64bits output formats to avoid
	  colorspace conversion and bitdepth loss
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8255>

2025-01-06 15:16:02 -0600  Olivier Crête <olivier.crete@collabora.com>

	* ext/onnx/gstonnxclient.cpp:
	* gst-libs/gst/analytics/gsttensor.c:
	* gst-libs/gst/analytics/gsttensor.h:
	  analytics: Tensor dimensions are always row-major or col-major
	  Simplify by removing the extra fields, as this is what all
	  frameworks give us.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8250>

2024-12-27 20:55:56 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/svtjpegxs/gstsvtjpegxsenc.c:
	  svtjpegxsenc: add support for interlaced video
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8219>

2024-12-27 18:02:12 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/svtjpegxs/gstsvtjpegxsenc.c:
	  svtjpegxsenc: factor out encoding of codestream into separate function
	  Prepare for interlacing support where an interlaced image
	  is coded as two codestreams each representing a field.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8219>

2024-12-26 18:08:14 +0100  Tim-Philipp Müller <tim@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/mpegtsmux/gstbasetsmux.c:
	* gst/mpegtsmux/gstmpegtsmux.c:
	  mpegtsmux: add support for interlaced JPEG XS
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8219>

2024-12-25 22:54:16 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/svtjpegxs/gstsvtjpegxsdec.c:
	  svtjpegxsdec: add support for interlaced video
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8219>

2024-12-25 22:40:06 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/svtjpegxs/gstsvtjpegxsdec.c:
	  svtjpegxsdec: drop frames that had decoding errors
	  Follow-up to !8163
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8219>

2024-12-25 18:07:04 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/svtjpegxs/gstsvtjpegxsdec.c:
	  svtjpegxsdec: factor out decoding of codestream into separate function
	  Prepare for interlacing support where an interlaced image
	  is coded as two codestreams each representing a field.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8219>

2024-12-20 13:49:47 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/mpegtsdemux/tsdemux.c:
	  tsdemux: handle interlaced JPEG XS
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8219>

2024-12-10 15:09:24 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* ext/vulkan/vkh265dec.c:
	  vkh265dec: update only vps/sps on demand and pass pps always
	  As PPS can change over the stream, the pps should be always
	  updated to avoid missing picture parameters sets.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8124>

2024-12-10 12:48:32 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* ext/vulkan/vkh264dec.c:
	  vkh264dec: update only sps on demand and pass pps always
	  As PPS can change over the stream, the pps should be always
	  updated to avoid missing picture parameters sets.
	  See CABA3_TOSHIBA_E.264 in fluster resources.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8124>

2024-12-30 21:59:03 +0100  Samuel Thibault <samuel.thibault@ens-lyon.org>

	* ext/gtk/meson.build:
	* tests/examples/gtk/meson.build:
	* tests/examples/waylandsink/meson.build:
	  meson: Fix build with gtk3 but not wayland
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8222>

2025-01-04 20:30:01 +0000  Sam James <sam@gentoo.org>

	* meson_options.txt:
	  codec2json: move option to right section
	  It has an external dependency (json-glib) so should be under
	  that heading.
	  Fixes: fd588a50e415feb0ab21c4a3386bd426c8c9043b
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8238>

2025-01-04 19:52:48 +0000  Sam James <sam@gentoo.org>

	* meson_options.txt:
	  analyticsoverlay: move option to right section
	  It has an external dependency (pango/cairo) so should be under
	  that heading. Also, fix an inconsistency with the ':' style.
	  Fixes: 95464c89772e144088af54c1e8a4c1fecc45f09a
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8238>

2024-12-20 14:51:45 -0500  Daniel Morin <daniel.morin@collabora.com>

	* ext/onnx/gstonnxclient.cpp:
	* gst-libs/gst/analytics/gsttensor.c:
	* gst-libs/gst/analytics/gsttensor.h:
	  analytics: remove batch-size
	  - Batch-size will be the outer-most dimension. Presence of batch dimension can
	  be identified using `dims` and `id`.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8191>

2025-01-01 00:43:41 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12graphicscapture.cpp:
	* sys/d3d12/gstd3d12screencapture.cpp:
	* sys/d3d12/gstd3d12screencapture.h:
	* sys/d3d12/gstd3d12screencapturedevice.cpp:
	* sys/d3d12/gstd3d12screencapturesrc.cpp:
	  d3d12screencapturesrc: Add support for HDR capture in DDA mode
	  Use IDXGIOutput5::DuplicateOutput1() if HDR is enabled.
	  Note that scRGB color space is not defined in GStreamer,
	  this element will output SDR tonemapped frame
	  with linear or reinhard filtering.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3834
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8227>

2025-01-01 22:15:58 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	* gst-libs/gst/d3dshader/gstd3dshadercache.h:
	* gst-libs/gst/d3dshader/plugin-hlsl/PSMain_sample_scrgb.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/PSMain_sample_scrgb_tonemap.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/hlsl.h:
	* gst-libs/gst/d3dshader/plugin-hlsl/meson.build:
	  d3dshader: Add sampling pixel shader for scRGB SRV
	  Shaders required for HDR capturing
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8227>

2024-11-22 12:46:22 +0100  Albert Sjolund <alberts@axis.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/webrtc/gstwebrtcbin.c:
	  webrtc: add new post-rtp-aux-sender signal
	  Adds a new signal to webrtcbin, to allow for placement
	  of an object after rtp, before sendbin. This is usable for
	  objects such as congestion control elements, that don't want
	  to be burdened by the synchronization requirements of rtpsession.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7940>

2024-12-26 01:33:37 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/mpegtsdemux/tsdemux.c:
	  tsdemux: fix JPEG XS framerate handling for 29.97fps
	  .. and other framerate values with a 1.001 denominator.
	  The coded framerate denominator value is a code that maps to
	  either 1 (for 1) or 1.001 (for 2) not a direct value.
	  Before, 29.97fps would be announced as 15fps because it
	  would calculate 30/2 instead of 30/1.001.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8226>

2024-12-30 22:53:02 +0100  Samuel Thibault <samuel.thibault@ens-lyon.org>

	* meson.build:
	  meson: Also disable drm on GNU/Hurd
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8223>

2024-12-28 22:29:23 +0900  Seungha Yang <seungha@centricular.com>

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

2024-12-28 22:26:48 +0900  Seungha Yang <seungha@centricular.com>

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

2024-12-28 21:43:46 +0900  Seungha Yang <seungha@centricular.com>

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

2024-12-28 21:35:44 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12deinterlace.cpp:
	* sys/d3d12/gstd3d12memorycopy.cpp:
	* sys/d3d12/gstd3d12mipmapping.cpp:
	* sys/d3d12/gstd3d12screencapturesrc.cpp:
	* sys/d3d12/gstd3d12swapchainsink.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/gstd3d12videosink.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	  d3d12: Add "Since" markers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8220>

2024-12-28 21:06:24 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	  docs: Add asio plugin docs
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3745
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8220>

2024-12-28 20:42:56 +0900  Seungha Yang <seungha@centricular.com>

	* sys/asio/gstasiosink.cpp:
	* sys/asio/gstasiosrc.cpp:
	* sys/asio/plugin.c:
	  asio: Add "Since" markers and fix typos in property description
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8220>

2024-12-28 20:38:13 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	  docs: Add webview2 plugin docs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8220>

2024-12-28 13:26:18 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/play/gstplay.c:
	  play: Fix stream id leaks on initial stream selection
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7650>

2024-12-27 19:01:21 +0200  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/meson.build:
	  play: Actually check for valgrind for the tests
	  Other tests in gst-plugins-bad also assumed it to be checked.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7650>

2024-12-27 13:31:09 +0200  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/libs/play.c:
	  play: Fix tests after the switch to playbin3
	  And also fix various memory leaks and other issues that always existed
	  in the tests.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7650>

2024-10-10 15:54:04 -0400  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/libs/play.c:
	* tests/check/meson.build:
	  play: Port tests to libsoup 3
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7650>

2024-10-10 15:08:33 -0400  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/play/gstplay-media-info-private.h:
	* gst-libs/gst/play/gstplay-media-info.c:
	* gst-libs/gst/play/gstplay-media-info.h:
	* gst-libs/gst/play/gstplay.c:
	* gst-libs/gst/play/gstplay.h:
	  play: Add stream-id based selection of streams to match better playbin3's API
	  As part of this
	  - Add accessors for the stream ID and selection API based on the
	  stream ID
	  - Deprecate the old index-based APIs
	  - Remove playbin support
	  - Implement the track enable API based on stream selection
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7648>

2024-12-23 15:17:57 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/srtp/gstsrtpdec.c:
	  srtpdec: fix build when libsrtp1 is being used
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8204>

2024-12-23 14:58:31 +0100  Philippe Normand <philn@igalia.com>

	* ext/wpe/wpe-extension/gstwpeextension.c:
	* ext/wpe/wpe-extension/meson.build:
	  wpe: Fix build for version 2.44
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8203>

2024-12-22 15:00:07 +0100  Philippe Normand <philn@igalia.com>

	* ext/srtp/gstsrtpdec.c:
	  srtpdec: Fix a use-after-free buffer issue
	  The gst_srtp_dec_decode_buffer() function modifies the input buffer after making
	  it writable, so the pointer might change as well, depending on the refcount of
	  the buffer.
	  This issue was detected using a netsim element upstream of the decoder in a
	  WebRTC pipeline.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8198>

2020-08-10 14:27:29 +0900  Hosang Lee <hosang10.lee@lge.com>

	* ext/smoothstreaming/gstmssdemux.c:
	  mssdemux: Use gsturi structure to form fragment urls
	  We can use gst_uri_from_string_with_base () to join base url
	  and the fragment url path.
	  The previous method of forming base url in update_base_url(),
	  by looking for the string 'manifest' or 'Manifest' is insufficient.
	  A query may include these string in their paths and thus an invalid
	  base url string will be kept.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8193>

2024-12-18 13:18:32 -0300  Thibault Saunier <tsaunier@igalia.com>

	* docs/meson.build:
	  doc: Handle gst_dep.get_variable('libexecdir') failure
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8178>

2024-12-18 12:27:30 -0300  Thibault Saunier <tsaunier@igalia.com>

	* docs/meson.build:
	  doc: Allow updating the plugins cache for all modules even if hotdoc is not present
	  This was possible for some modules but not all, for no good reason.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8178>

2024-12-20 12:52:31 +0100  Robert Mader <robert.mader@collabora.com>

	* sys/v4l2codecs/gstv4l2format.c:
	  v4l2codecs: decoder: Fix drm format query
	  A late change that slipped through as it mainly affects NC12
	  at the moment.
	  Fixes: 4b07d54931 ("v4l2codecs: decoder: Translate V4L2 formats into DRM fourcc/mod pairs")
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8188>

2023-04-18 11:37:25 +0200  Edward Hervey <edward@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/mpegtsdemux/gstmpegdesc.h:
	* gst/mpegtsdemux/tsdemux.c:
	* gst/mpegtsmux/gstbasetsmux.c:
	* gst/mpegtsmux/gstmpegtsmux.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.h:
	  mpegts: Add provisional AV1 mapping
	  The main difference with the WIP av1-in-mpegts mapping is that the payload data
	  is not startcode-escaped. Most of the rest is sensible usage of it:
	  * Custom AV1G (AV1 Gstreamer) registration descriptor instead of AV01
	  * AV1CodecConfigurationRecord is stored in the same 0x80 custom descriptor and
	  conforms fully to the isobmff spec (i.e. does not the HDR fields from the
	  provisional mpegts specification which conflict with that one).
	  * Data is stored as OBU
	  * Access Unit is the frame level (same as provisional mpegts mapping)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4442>

2024-11-18 12:31:21 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* ext/dash/gstxmlhelper.c:
	* tests/check/elements/dash_mpd.c:
	  dash: handle 0 duration in gst_xml_helper_set_prop_duration
	  Add dash_mpdparser_check_mpd_client_set_period_to_0
	  unit test to demonstrate it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8114>

2024-12-02 11:39:11 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: Fix some debug trace and comment typo
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8026>

2024-12-02 11:32:13 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: Don't immediatly reset timestamp in presence of TD
	  When a TD is being processed, it is not always pushed immediatly. Resetting
	  the time information lead to lost of timestamp in TU to Frame conversion. The
	  TU would be formed by buffer of [TD][Frame], and the timestamp taken from
	  the TU buffer was lost then the TD was handled.
	  The handling of TS should be entirely done by the 3 functions:
	  - gst_av1_parse_handle_obu_to_obu() (direct input to output)
	  - gst_av1_parse_handle_to_big_align() Reset DTS on detected TU or TD
	  - gst_av1_parse_handle_to_small_and_equal_align() PTS on show frame, flat DTS
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/commit/79312357a6ab8ebc4cfc1ed2243bdbc0660c39d5
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8026>

2024-12-20 08:18:15 +0800  He Junyan <junyan.he@intel.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: Fix a typo in the comments about its usage
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5710>

2024-12-04 23:27:37 +0800  He Junyan <junyan.he@intel.com>

	* docs/plugins/gst_plugins_cache.json:
	  Doc: Update the plugin document for h266parse
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5710>

2024-12-13 00:00:01 +0800  He Junyan <junyan.he@intel.com>

	* tests/check/elements/h266parse.c:
	* tests/check/meson.build:
	  test: Add the h266parse element test
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5710>

2023-09-09 01:10:18 +0800  He Junyan <junyan.he@intel.com>

	* gst/videoparsers/gsth266parse.c:
	* gst/videoparsers/gsth266parse.h:
	* gst/videoparsers/gstvideoparserselements.h:
	* gst/videoparsers/meson.build:
	* gst/videoparsers/plugin.c:
	  h266parse: Add the new h266parse element
	  TODO: Need to refer to the new ISO/IEC 14496-15 for vvc1 and vvi1's
	  codec data
	  Co-authored-by: Zhong Hongcheng <spartazhc@gmail.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5710>

2024-12-17 00:12:51 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gsth266parser.c:
	* gst-libs/gst/codecparsers/gsth266parser.h:
	  libs: codecparsers: Add the missing ilrp_idx field in H266's ref list
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5710>

2024-12-17 00:15:07 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gsth266parser.h:
	  libs: codecparsers: H266 GstH266RefPicListStruct's abs_delta_poc_st should be 16 bits
	  Its value range is 0~(2^15 − 1) according to the spec.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5710>

2024-12-16 11:39:10 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/videoparsers/gstvp9parse.c:
	  vp9parse: Add video codec tag to the tag list
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8156>

2024-12-16 11:38:52 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: Add video codec tag to the tag list
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8156>

2024-11-08 12:38:09 +0100  Robert Mader <robert.mader@collabora.com>

	* sys/v4l2codecs/gstv4l2format.c:
	  v4l2codecs: format: Add V4L2_PIX_FMT_NC12
	  Which is used by the Raspberry Pi 4 and 5 for 8-bit HEVC. Adding it
	  here in order to show-case how the V4L2<->DRM translation is
	  supposed to work.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7355>

2024-08-14 02:11:06 +0200  Robert Mader <robert.mader@collabora.com>

	* sys/v4l2codecs/gstv4l2codecpool.c:
	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/v4l2codecs/gstv4l2format.c:
	* sys/v4l2codecs/gstv4l2format.h:
	* sys/v4l2codecs/linux/drm_fourcc.h:
	  v4l2codecs: decoder: Translate V4L2 formats into DRM fourcc/mod pairs
	  V4L2 and DRM choose different, incompatible ways to represent
	  tiled/compressed etc. formats. While the later uses combinations of
	  format fourccs and opaque, vendor/hardware specific modifiers, for the
	  later every such combination is a distinct new format.
	  Traditionally Gst implemented each of the V4L2 formats if needed.
	  Given the large number of tiling and compression modes, this is
	  quite work intensive - and often actually not needed.
	  In many situations Gst just needs to pass buffers from V4L2 to DRM in
	  the form of EGL, VK, Wayland or KMS.
	  Thus implement a direct translation for some V4L2 formats to DRM ones,
	  limited to the DMA_DRM API, allowing much quicker enablement of formats
	  while requiring peers to use external implementations (usually Mesa or
	  KMS) for tiling etc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7355>

2024-12-12 14:41:08 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder: init debug category earlier
	  The encoder has not been created if the codec is not supported by
	  the hardware, so the GST_WARNING_OBJECT will fail to find a suitable
	  category.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8138>

2024-12-12 14:40:55 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkdecoder-private.c:
	  vkdecoder: init debug category earlier
	  The decoder has not been created if the codec is not supported by
	  the hardware, so the GST_WARNING_OBJECT will fail to find a suitable
	  category.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8138>

2024-12-16 19:01:15 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/svtjpegxs/gstsvtjpegxsdec.c:
	  svtjpegxsdec: handle decode errors more gracefully
	  Use GST_VIDEO_DECODER_ERROR instead of just erroring out
	  unconditionally, so that the error handling behaviour is
	  determined by the "max-errors" property and we'll just
	  continue after decoding errors now instead of erroring out.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8163>

2024-12-16 17:32:20 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/cuda/gstcudacontext.cpp:
	  cuda/context: add gpu stack size property
	  Allows reducing the initial stack size of GPU threads.  Cuda should
	  automatically increase this value if a kernel requires a larger stack.
	  Can save roughly 40MB of GPU memory for a single nvh264enc instance.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8158>

2024-12-16 17:31:17 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/cuda/cuda-gst.h:
	* gst-libs/gst/cuda/gstcudaloader.cpp:
	* gst-libs/gst/cuda/stub/cuda.h:
	  cuda: add CuGet/SetCtxLimit()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8158>

2024-12-18 13:35:53 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/va/gstvadisplay.c:
	  va: display: Optimize out some property indirection
	  Because it was visible during some profiling, I thought it cost nothing
	  to optimize out the uneeded property get roundtrip.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8179>

2024-12-17 17:36:19 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* ext/wpe/wpe-extension/gstwpeextension.c:
	  wpe: enable console message with WPE2
	  Looks like the WebKitConsoleMessage API is now available in WPE2 as well:
	  https://webkitgtk.org/reference/webkitgtk-web-process-extension/stable/signal.WebPage.console-message-sent.html
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8169>

2024-12-16 21:41:55 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/va/gstvah264dec.c:
	  va: h264dec: Allow "extended" profile decoding
	  Extended is identical to main but allows for FMO/ASO features to be
	  used, and prevent using CABAC. Using similar logic to "baseline",
	  assume that if we support main, we can also do extended.
	  This fixes the following fluster vectors, which otherwise would fail
	  when trying to link the parsebin pad.
	  - BA3_SVA_C
	  - MR6_BT_B
	  - MR7_BT_B
	  - MR8_BT_B
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8164>

2024-11-18 07:54:55 +0100  Emil Ljungdahl <emillj@axis.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: Tear down src and sink bins before removing them from webrtc
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7900>

2024-11-15 15:00:00 +0100  Emil Ljungdahl <emillj@axis.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: Fix potential deadlock on bin elements cleanup
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7900>

2024-12-10 13:12:18 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/applemedia/vtenc.c:
	* sys/applemedia/vtenc.h:
	  vtenc: Fix authors of encoder features
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8120>

2024-12-10 00:05:53 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/applemedia/vtenc.c:
	* sys/applemedia/vtenc.h:
	  vtenc: Fix class hierarchy in an attempt to fix property docs
	  Also fix some convention-nits in the process.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8120>

2024-12-09 15:12:57 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc, osxaudio: Fix missing since markers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8120>

2024-12-09 15:12:57 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/applemedia/vtenc.c:
	  vtenc: Mark rate-control enum as plugin API, and update cache
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8120>

2024-12-09 15:12:06 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/avfvideosrc.m:
	  avfvideosrc: Add missing since markers for screen-crop properties
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8120>

2024-12-05 00:32:37 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	  docs: Update macOS plugin docs again
	  Contains the following updates:
	  * New properties on avfvideosrc: screen-crop-*
	  * H265 and H265 Alpha support in vtdec and vtenc (VideoToolbox)
	  * ProRes support in vtenc
	  * New properties on vtenc elements: rate-control, data-rate-limits,
	  max-frame-delay
	  * New plugin atenc (AudioToolbox) with support for encoding AAC
	  * Plugin move: atdec moved from -bad to -good
	  * New property on osxaudio elements: unique-id
	  * OS X -> macOS
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8120>

2024-12-06 19:13:50 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/closedcaption/gstcccombiner.c:
	* ext/closedcaption/gstcccombiner.h:
	  cccombiner: expose new input-meta-processing type, force
	  In force mode, generated captions are discarded even if input video
	  buffers do not hold CC meta.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8091>

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

	* gst-libs/gst/cuda/meson.build:
	  meson: Improve NVMM CUDA detection
	  1. Add some comments explaining what headers and libs are expected on
	  what systems
	  2. Only look in default incdirs if no incdir is specified
	  3. Require libnvbufsurface.so on Jetson when cuda-nvmm=enabled
	  4. Require libatomic on Jetson when cuda-nvmm=enabled
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8021>

2024-12-16 00:22:47 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12descheappool.cpp:
	  d3d12: Suppress misleading leak report
	  Set may-be-leaked flag to child objects if needed,
	  since the parent object holding refcount of the child
	  will be leaked intentionally
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8152>

2024-04-07 19:23:52 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device-private.h:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* sys/d3d12/gstd3d12deinterlace.cpp:
	* sys/d3d12/gstd3d12deinterlace.h:
	* sys/d3d12/gstd3d12yadif.cpp:
	* sys/d3d12/gstd3d12yadif.h:
	* sys/d3d12/meson.build:
	* sys/d3d12/plugin.cpp:
	  d3d12: Add d3d12deinterlace element
	  Adding D3D12 compute shader based deinterlace element
	  with YADIF filtering
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8140>

2024-10-09 10:02:09 -0400  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	* gst-libs/gst/d3dshader/gstd3dshadercache.h:
	* gst-libs/gst/d3dshader/plugin-hlsl/CSMain_yadif_1.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/CSMain_yadif_1_10.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/CSMain_yadif_1_12.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/CSMain_yadif_2.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/CSMain_yadif_4.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/hlsl.h:
	* gst-libs/gst/d3dshader/plugin-hlsl/meson.build:
	  d3dshader: Add YADIF deinterlacing compute shader code
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8140>

2024-12-11 11:53:47 +0100  Oskar Fiedot <oskar.fiedot@intel.com>

	* gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c:
	* gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.h:
	* gst-libs/gst/analytics/meson.build:
	* tests/check/libs/analyticsmeta.c:
	  analytics: add rotation to object detection mtd
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7938>

2024-12-10 16:15:09 +0000  Philippe Normand <philn@igalia.com>

	* ext/webrtc/gstwebrtcstats.c:
	  webrtc: Simplify fmtp handling in codec stats
	  Parsing the whole caps as SDP media only to retrieve the fmtp field afterwards
	  seems a bit superfluous. By looking up the a-fmtp attribute directly the number
	  of allocations in this function gets down a bit.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8125>

2024-12-10 12:52:33 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  meson: unset GST_TRACERS for g-ir-scanner to avoid warnings
	  People might have GST_TRACERS=leaks set in their environment
	  by default, which will now trigger criticals during the build
	  when calling g-ir-scanner, because we unset GST_PLUGIN_SYSTEM_PATH
	  so that the scanner doesn't load any plugins.
	  Fixes #4093
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8121>

2024-12-10 13:42:41 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkoperation.c:
	  vkoperation: enable inline query only if it's a video operation
	  This commit enables the usage of inline queries, if and only if, the
	  provided
	  pNext structure, in gst_vulkan_opeation_enable_query(), chains a
	  VK_STRUCTURE_TYPE_VIDEO_PROFILE_INFO_KHR typed structure.
	  Also it guards "gstvkvideo-private.h" include
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8112>

2024-12-09 14:45:01 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkoperation.c:
	* gst-libs/gst/vulkan/gstvkvideo-private.c:
	* gst-libs/gst/vulkan/gstvkvideo-private.h:
	  vkvideo: add video_maintenance1 check
	  Add gst_vulkan_video_maintenance1_supported
	  to check if the video session needs
	  VK_VIDEO_SESSION_CREATE_INLINE_QUERIES_BIT_KHR
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8112>

2024-12-06 15:15:45 +0100  Armin Begovic <armin.begovic@hotmail.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/decklink/gstdecklink.cpp:
	  decklink: Add missing video modes to gst_decklink_mode_get_type()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8110>

2024-12-06 15:15:34 +0100  Armin Begovic <armin.begovic@hotmail.com>

	* sys/decklink/gstdecklink.cpp:
	  decklink: Fix copy-paste errors regarding 8K modes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8110>

2024-12-09 12:02:01 -0300  Thibault Saunier <tsaunier@igalia.com>

	* docs/meson.build:
	  docs: Do not try to generate cuda documentation when gir is not generated
	  On macos it is not
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8086>

2024-12-06 00:04:45 -0500  Daniel Morin <daniel.morin@collabora.com>

	* gst-libs/gst/analytics/gstanalyticsmeta.c:
	* gst-libs/gst/analytics/gstanalyticsmeta.h:
	  analytics: add _N_TO_N relation type
	  This relation type define relations between each components of two groups.
	  First component of first group relate to first component of second group,
	  Second component of second group relate to second component of second group,
	  and so on. It's a denser way to express relations in this context.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8087>

2024-11-19 10:30:09 +0100  Peter Stensson <petest@axis.com>

	* ext/curl/gstcurlhttpsink.c:
	  curlhttpsink: Set auth any for http_proxy and https_proxy
	  There was different behaviour if the proxy was configured through
	  properties or environment. For properties libcurl would be configured
	  with any auth, but for environment libcurl would default to using basic.
	  Now any auth is set for both configuration methods.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7935>

2024-11-19 07:31:20 +0100  Peter Stensson <petest@axis.com>

	* ext/curl/gstcurlhttpsink.c:
	* ext/curl/gstcurlhttpsink.h:
	  curlhttpsink: Don't set Content-Length to 0 for proxy
	  The Content-Length header would unconditionally be included when the
	  proxy property was set. This would result in requests with both
	  Content-Length and Transfer-Encoding header. Now we rely on the
	  use-content-length property in the proxy case aswell. This also makes
	  sure that Content-Type is set correctly, since before that would be
	  skipped if proxy was used.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7935>

2024-12-07 00:23:33 -0500  Daniel Morin <daniel.morin@collabora.com>

	* ext/onnx/gstonnxclient.cpp:
	  onnx: disable onnxruntime telemetry
	  Disable the telemetry feautre on onnxruntime.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8092>

2024-12-05 13:39:38 +0100  Francisco Javier Velázquez-García <francisco.velazquez@appear.net>

	* ext/zxing/gstzxing.cpp:
	  zxing: Update decode hints usage for compatibility with ZXing >= 2.2
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7879>

2024-12-04 14:33:07 -0500  Aaron Boxer <aaron.boxer@collabora.com>

	* gst/videoparsers/gsth265parse.c:
	  h265parse: reset nalparser to NULL after it is freed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8074>

2024-08-01 14:54:11 +0000  sachin gadag <sggadag@amazon.com>

	* gst/videoparsers/gsth264parse.c:
	  h264parse: set nalparser to NULL after it is freed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8074>

2024-12-05 06:41:35 -0500  Aaron Boxer <aaron.boxer@collabora.com>

	* gst-libs/gst/codecparsers/gsth265parser.c:
	  h265parse: remove useless NULL setting in gst_h265_parser_free
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8082>

2024-12-05 06:39:06 -0500  Aaron Boxer <aaron.boxer@collabora.com>

	* gst-libs/gst/codecparsers/gsth264parser.c:
	  h264parse: remove useless NULL setting in gst_h264_nal_parser_free
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8082>

2024-10-16 15:56:40 +0900  Aniket Hande <ahande@ftilab.com>

	* gst/mpegtsdemux/mpegtspacketizer.c:
	* gst/mpegtsdemux/mpegtspacketizer.h:
	* gst/mpegtsdemux/mpegtsparse.c:
	  tsparse: Extract and fill m2ts header for each packet
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7625>

2024-12-02 16:42:06 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkdecoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkoperation.c:
	* gst-libs/gst/vulkan/gstvkoperation.h:
	  vkoperation: use inline query with video maintenance1
	  When video_maintenance1 is supported,
	  gst_vulkan_operation_begin_query will now use
	  the inline query mechanism instead of vkCmdBeginQuery
	  API.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7995>

2024-11-28 15:49:14 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkdevice.c:
	  vkdevice: enable VK_KHR_VIDEO_MAINTENANCE_1_EXTENSION_NAME
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7995>

2024-07-29 13:49:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkphysicaldevice.c:
	  vkphysicaldevice: dump if video maintenance1 is supported
	  Dump if VK_KHR_video_maintenance1 features is supported by the driver.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7995>

2024-11-28 23:17:40 +0100  Robert Mader <robert.mader@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecpool.c:
	* sys/v4l2codecs/gstv4l2codecpool.h:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/v4l2codecs/gstv4l2decoder.h:
	  v4l2codecs: Use GstVideoInfoDmaDrm more consistently
	  This avoids some duplications and makes the DRM info available in
	  more places, which will help with future changes.
	  Also fix some error messages while on it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8028>

2024-12-03 13:14:33 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/codecparsers/gsth264parser.c:
	  h264parse: Free SEI if parsing succeeds but alignment afterwards fails
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8056>

2024-12-03 13:10:04 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/codecparsers/gsth265parser.c:
	  h265parse: Free SEI if parsing succeeds but alignment afterwards fails
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4076
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8056>

2024-11-29 14:41:12 +0100  Jan Alexander Steffens (heftig) <heftig@archlinux.org>

	* ext/neon/meson.build:
	  meson: Drop max version bound from neon
	  Neon 0.34.0 broke the build again, but the API+ABI has been stable since
	  0.27 and the library is so-versioned.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8008>

2024-12-03 14:44:30 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* gst-libs/gst/codecparsers/gsth265parser.c:
	* gst/videoparsers/gsth265parse.c:
	  h265parse: parse unregistered SEI without user data
	  Same change as in h264parse.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7931>

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

	* gst-libs/gst/codecparsers/gsth264parser.c:
	* gst/videoparsers/gsth264parse.c:
	* tests/check/elements/h264parse.c:
	  h264parse: parse unregistered SEI without user data
	  We get loads of warnings when parsing videos from users:
	  gsth264parser.c:1115:gst_h264_parser_parse_user_data_unregistered: No more remaining payload data to store
	  gsth264parse.c:646:gst_h264_parse_process_sei:<h264parse0> failed to parse one or more SEI message
	  Those are raised because of unregistered SEI without user data.
	  The spec does not explicitly state that unregistered SEI needs to have
	  data and I suppose the UUID by itself can carry valuable information.
	  FFmpeg also parses and exposes such SEI so there is no reason for us no
	  too as well.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7931>

2024-11-15 16:44:10 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/mpegtsdemux/mpegtsbase.c:
	  tsdemux: Lower a GST_FIXME to a GST_DEBUG
	  This is not really a refcounting issue and can happen if a new program is in the
	  process of being activated that contains streams with the same PIDs.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7898>

2024-08-20 20:43:42 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: add gst_vulkan_encoder_is_started()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

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

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	  vkencoder-private: add again GST_TYPE_VULKAN_ENCODER_RATE_CONTROL_MODE
	  It was already part of the old rate control mechanism but it had wrong the
	  namespace.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-11-08 18:05:55 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: implement callback to chain control rate structures
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-11-08 11:44:40 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: implement callback to chain codec specific structures
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-09-19 16:43:09 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* gst-libs/gst/vulkan/gstvkvideo-private.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: handle quality level
	  It creates a new structure for passing the codec quality structure at _start(),
	  where it will be filled. The quality level can be set or changed according
	  encoder limits.
	  Later the quality level will be set at _update_session_parameters() and at each
	  frame encoding. That's why it has to be set at _start().
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-09-19 15:04:09 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: rename first_encode_cmd to session_reset
	  Since it reflect better when it's needed to be used: to reset the current
	  session.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-09-19 12:47:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: shuffle down VkVideoBeginCodingInfoKHR initialization
	  to make it more cohesive
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-09-05 14:52:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: remove rate control handling
	  It will be reintroduced later with different approach.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-09-19 13:28:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: enhance algorithm to get the slot index
	  The algorithm for generating the current slot index is a simple round robin,
	  nonetheless it's not assured that the next slot index it's not still used by a
	  still living encode picture.
	  This new way holds an array with the still living encode pictures and the next
	  slot index looks for a released index in the array.
	  Its downside is deallocating a picture need to be removed from the array, so the
	  helper has to be passed to the uninit() function
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-09-19 12:21:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: add VkVideoReferenceSlotInfoKHR in GstVulkanEncoderPicture
	  And remove slotIndex since it's part of VkVideoReferenceSlotInfoKHR, simplifying
	  the reference slots array creation, and changing the tests accordingly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-12-03 15:39:47 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: check for codec buffer
	  gst_vulkan_video_codec_buffer_new() can return NULL, so it's required to check
	  the returned value and bail out if needed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-09-06 11:23:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: avoid GstVulkanEncoderPicture allocation
	  By using it as apart of the encoder picture structure that has to initialized
	  and uninitalized.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-09-04 14:14:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: remove width, height and fps from GstVulkanEncoderPicture
	  In GStreamer that buffer information is decoupled, holding other structures to
	  describe the stream: GstCaps. So, to keep the GStreamer design this patch
	  removes these information from GstVulkanEncoderPicture and pass to
	  gst_vulkan_encoder_encode() a pointer to GstVideoInfo.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

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

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	  vkencoder-private: replace packed headers with offset handling
	  Instead of holding all headers in an external array and add them into the
	  bitstream buffer before the encoding operation, adding extra memory and extra
	  copy operations, the encoder picture should specify the offset where the Vulkan
	  will start to add the bitstream slices/frame, because the element has written
	  already the headers until that offset.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-09-04 13:17:01 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: remove nb_refs from GstVulkanEncoderPicture
	  That's the number of references that gst_vulkan_encoder_encode() receives to
	  process, so it has to go as a parameter, because it's part of the reference
	  list, not of the picture.
	  This commit also modified unit tests accordingly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-09-04 12:31:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: remove pic_num and pic_order_cnt from GstVulkanEncoderPicture
	  Since they aren't semantically part of the codec-independent encoding operation.
	  And modify unit tests accordingly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-09-03 21:36:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: remove is_ref member from GstVulkanEncoderPicture
	  It's not used. Modified the unit test accordingly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-08-12 17:31:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: don't store output data size
	  There's no need to store in encoder helper the output data size, that's
	  responsibility of the caller when an output buffer is allocated.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-08-22 10:51:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: enhance capabilities logging
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-08-19 17:52:10 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkdecoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkvideoutils.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vulkan: store in GstVulkanVideoCapabilities encoder and decoder caps
	  The structure already stored the generic video capabilities and the specific
	  codec capabilities both for encoding an decoding. The generic decoder
	  capabilities weren't stored because it was only used internally in the decoder
	  helper object. Nonetheless, for the encoder, the elements will need the generic
	  encoder capabilities to configure the encoding. That's why it's required to
	  expose it as part of GstVulkanVideoCapabilities. And the generic decoder is
	  included for the sake of symmetry.
	  While updating the API vkvideoencodeh265 test got some code-style fixes.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-11-27 10:51:38 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: rename GstVulkanEncoderPicture
	  GstVulkanEncodePicture breaks the namespace. This commit fixes it by renaming it
	  to GstVulkanEncoderPicture, also new() and free() signature functions.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>

2024-08-13 01:03:56 +0900  Seungha Yang <seungha@centricular.com>

	* ext/meson.build:
	* ext/nvdswrapper/gstnvdsdewarp.cpp:
	* ext/nvdswrapper/gstnvdsdewarp.h:
	* ext/nvdswrapper/meson.build:
	* ext/nvdswrapper/plugin.cpp:
	* ext/nvdswrapper/stub/cuda_runtime.h:
	* meson_options.txt:
	  nvdswrapper: Add NVIDIA DeepStream wrapper plugin
	  Adding a NVIDIA DeepStream SDK based plugin with a dewarp element
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7357>

2024-12-02 19:34:14 +0800  Pablo Sun <pablo.sun@mediatek.com>

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

2024-10-03 22:42:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: keep only one DPB view for layered DPB
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7993>

2024-09-19 12:29:23 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: increase reference slots array
	  H264 has the maximum number of refs (36) of any supported codec.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7993>

2024-09-18 16:28:41 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder_private: move view creation to picture init
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7993>

2024-09-17 22:14:46 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: shuffle up operation and query creation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7993>

2024-09-17 13:44:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: shuffle up get format to bail out better
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7993>

2024-09-17 13:43:06 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: define encoded feedback flags by removing override bit
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7993>

2024-08-27 18:32:42 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: fix parameters overrides
	  First remove validations since they will fail if there isn't a write operation.
	  It's valid to pass data without write operations.
	  Finally, it should check for hasOverride in feedback info. Nonetheless, there's
	  a NVIDIA bug returning always FALSE for hasOverride, that's why we currently
	  force it to TRUE.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7993>

2024-11-28 12:24:11 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/kms/gstkmssink.c:
	* sys/kms/gstkmssink.h:
	* sys/kms/meson.build:
	  kms: Bump libdrm requirement to 2.4.108
	  DRM modifier support requires drmModeFormatModifierBlobIterNext()
	  which was added in 2.4.108. See:
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5174#note_2673883
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7991>

2022-02-18 17:19:57 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/closedcaption/gstcccombiner.c:
	  cccombiner: Improve get_next_time to avoid spinning
	  Avoid aggregate getting called in a loop when timed out but we're not in
	  a state where we can produce a buffer.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1746>

2022-02-18 17:06:44 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/closedcaption/gstcccombiner.c:
	* ext/closedcaption/gstcccombiner.h:
	  cccombiner: Add caption_pad field to avoid get_static_pad
	  Save a reference to the caption pad as well. This will make the
	  `get_next_time` implementation cheaper.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1746>

2024-11-26 16:27:19 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/closedcaption/gstcccombiner.c:
	  cccombiner: Pass caption_pad to schedule_caption
	  Avoid having to find this pad again.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1746>

2022-02-18 17:06:44 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/closedcaption/gstcccombiner.c:
	* ext/closedcaption/gstcccombiner.h:
	  cccombiner: Add video_pad field to avoid pad get/ref/unref
	  Saving a reference to this always-present pad simplifies the code and
	  avoids a lot of pad list scans and refcounting.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1746>

2024-10-03 21:04:28 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkdecoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkvideo-private.c:
	* gst-libs/gst/vulkan/gstvkvideo-private.h:
	  vulkan: add gst_vulkan_video_image_create_view()
	  This function is moved from gstvkdecoder-private so it could be used by
	  gstvkencoder-private too, removing there what it should be duplicated code.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7984>

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

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: fix documentation
	  The function doesn't take the reference from caller, it keeps it's own
	  reference, so transfer is none.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974>

2024-09-06 11:22:54 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	  vkencoder-private: fix code style and use gpointer
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974>

2024-11-26 14:46:40 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: fix and complete public functions prechecks
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974>

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

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: check for layered buffer when new picture
	  And balance `if` curly brackets.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974>

2024-10-03 22:31:54 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: early return if dpb pool or dpb buffer already exist
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974>

2024-08-15 17:51:23 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vkencoder-private: usage structure is provided by caller
	  As all the profile structure, it's not intended to be filled in
	  gst_vulkan_encoder_start() function, but by the caller.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974>

2024-09-19 12:31:33 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: fix how to get bitstream buffer size
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974>

2024-09-04 14:21:33 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: doc: fix function name
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974>

2024-10-03 22:22:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: use gst_clear_object()
	  Instead of g_clear_object() for sake of coherence.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974>

2024-09-04 14:21:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: fix return value to gst_vulkan_encoder_encode()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974>

2024-11-25 17:51:31 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: doc: remove (in) annotation
	  because it's the default one
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974>

2024-09-05 14:53:07 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: move out indent macros
	  Outside of the structures whenever is possible, given indent limitations. In this way
	  the code has a better readability.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974>

2024-11-26 21:34:25 +0800  Xi Ruoyao <xry111@xry111.site>

	* ext/x265/gstx265enc.c:
	  x265: Allow building with x265-4.1
	  In x265-4.1 masteringDisplayColorVolume is changed from a pointer to a
	  character array embedded in struct x265_param.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7968>

2024-11-26 16:52:05 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* tests/check/meson.build:
	  meson: Don't unconditionally invoke the libsoup subproject
	  fallback: kwarg will invoke the specified subproject even if required:
	  false, which is not what we want here.
	  Reported at https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4045#note_2674340
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7965>

2024-02-01 18:45:01 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/closedcaption/gstcccombiner.c:
	* ext/closedcaption/gstcccombiner.h:
	  cccombiner: expose input-meta-processing property
	  It can be used to discard closed captions from the input pad if the
	  matching video buffer already held closed captions.
	  It is useful in a scenario where captions are generated for an AV
	  stream, but the incoming stream already has embedded captions for
	  some intervals, and those original captions should be preferred.
	  It can also be used to make sure input CC meta is always dropped,
	  the default behavior remains to append aggregated CC to whatever
	  CC meta was already present on the input video buffer
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6072>

2024-11-23 22:08:56 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12device-private.h:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	  d3d12converter: Gamma LUT related enhancements
	  * Build gamma LUT using shader, instead of CPU side math then uploading
	  * Make gamma LUT sharable across multiple converters
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7951>

2024-11-23 11:47:00 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3dshader/converter-hlsl/PSMain_gamma_lut.hlsl:
	* gst-libs/gst/d3dshader/converter-hlsl/hlsl.h:
	* gst-libs/gst/d3dshader/converter-hlsl/meson.build:
	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	* gst-libs/gst/d3dshader/gstd3dshadercache.h:
	  d3dshader: Add shader for building gamma LUT
	  Newly added shader will be used by converter to construct
	  gamma encode/decode LUT texture
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7951>

2024-11-19 16:52:29 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/closedcaption/ccutils.c:
	  ccutils: Rename wrote_first to write_field1
	  This better describes what we're doing.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7967>

2024-11-19 17:21:16 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/closedcaption/ccutils.c:
	  ccutils: Fix a typo in cc_buffer_take_cea608_field2
	  There are no users of cc_buffer_take_cea608_field2, so this never was a
	  problem.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7967>

2024-11-19 16:42:11 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/closedcaption/ccutils.c:
	  ccutils: Fix a typo in max_buffer_time handling
	  All users set max_buffer_time to GST_CLOCK_TIME_NONE, effectively
	  infinite, so this never was a problem.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7967>

2024-11-19 13:47:55 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/closedcaption/ccutils.c:
	  ccutils: Remove broken branch
	  This branch was added in dd00dab5e9e8650f3f00660c2e611f81f1e8cd5b but is
	  never actually taken, as it requires `cc_data` to be null but
	  `cc_data_len` to be non-null. It would then dereference the null
	  `cc_data`.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7967>

2024-11-26 09:23:51 +0100  Albert Sjolund <alberts@axis.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtc: don't crash on invalid bundle id
	  If the bundle id forwarded to connect_rtpfunnel is not valid,
	  the assertion fails and crashes the program. This is now instead
	  an error.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7963>

2024-11-22 11:31:18 -0700  Sebastien Cote <sebas642@gmail.com>

	* sys/applemedia/vtenc.c:
	  vtenc: add support for the HLG color transfer
	  Fixes #4047
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7947>

2024-11-13 16:04:44 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkoperation.c:
	  vkoperation: update doc to skip barriers array methods
	  Some methods are using arrays of element which type can
	  vary at compile time. These methods should not
	  be introspectable as it's not possible to determine
	  the final type.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7880>

2023-10-20 23:05:01 +0800  Zhong Hongcheng <spartazhc@gmail.com>

	* tests/check/libs/h266parser.c:
	* tests/check/meson.build:
	  tests: Add the VVC(H266) parser test cases
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5003>

2024-11-21 01:17:27 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gsth266parser.c:
	  libs: codecparsers: Implement the VVC(H266) parser part II
	  Implement the picture header, slice header and SEI parsing functions.
	  Co-authored-by: spartazhc <spartazhc@gmail.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5003>

2024-11-13 15:42:03 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gsth266parser.c:
	* gst-libs/gst/codecparsers/meson.build:
	  libs: codecparsers: Implement the VVC(H266) parser part I
	  Implement all the VPS, SPS and APS parsing functions.
	  Co-authored-by: spartazhc <spartazhc@gmail.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5003>

2024-11-13 15:39:49 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gsth266parser.h:
	  libs: codecparsers: Add the VVC(H266) parser header file
	  Co-authored-by: spartazhc <spartazhc@gmail.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5003>

2024-11-20 20:32:09 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12utils.h:
	* sys/d3d12/plugin.cpp:
	  d3d12: Add gst_d3d12_flush_all_devices() method
	  ... and removing implicit flushing behavior on GstD3D12Device::finalize
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7929>

2024-11-20 10:42:13 +0200  Sebastian Dröge <sebastian@centricular.com>

	* sys/aja/gstajadeviceprovider.cpp:
	  aja: Fix infinite loop in device provider
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7928>

2024-11-14 10:59:35 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/wayland/gstwllinuxdmabuf.c:
	  wayland: dmabuf: Translate tiled strides
	  GStreamer uses a different representation of tiled strides that needs
	  to be translated before being sent to wayland.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7849>

2024-11-14 10:59:05 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2decoder.c:
	  v4l2codecs: Use new helpers for DRM handling
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7849>

2024-11-14 09:46:28 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2decoder.c:
	  v4l2codecs: Fix caps string leak in v4l2codecs
	  Unlike gst_video_format_to_string(), gst_video_dma_drm_fourcc_to_string()
	  return a freshly allocated string which needs to be free.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7849>

2024-11-08 16:22:16 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2decoder.c:
	  v4l2codecs: decoder: Fixed unset dimension in caps
	  When the driver does not implement ENUM_FRMESIZE for some specific
	  formats, the caps limiting the sizes may endup empty, which results in
	  assuming the driver can scale to any sizes.
	  Ensure that the original size is in the caps to prevent this assumption.
	  This happens with Hantro drive, since it only reply to that call if the
	  format is postprocessed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7849>

2024-11-12 12:09:46 +0100  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/gstv4l2decoder.c:
	  v4l2codecs: Use drm modifier to build caps
	  Do not only use drm fourcc to build drm-format but also
	  include the format modifier.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7849>

2024-11-07 13:06:03 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gtk/gstgtkwaylandsink.c:
	* ext/wayland/gstwaylandsink.c:
	  waylandsink: Properly handle unrecoverable errors
	  Allocation failures cannot be recovered and should lead to an error
	  being posted on the bus. Otherwise the pipeline will just stall.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7903>

2024-11-07 12:49:10 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gtk/gstgtkwaylandsink.c:
	* ext/wayland/gstwaylandsink.c:
	  waylandsink: Do not offer SHM pool when DMABuf is negotiated
	  Pools are expected to produce DMABuf when the caps are negotiated with
	  the associated caps feature. For that reason, avoid sharing the SHM pool
	  in this case.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7903>

2024-11-18 11:00:36 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* ext/zbar/gstzbar.c:
	  zbar: fix documentation
	  Fix some typos and markdown cleanup.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7914>

2024-11-18 10:59:51 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* ext/zxing/gstzxing.cpp:
	  zxing: update documentation
	  Fix some typos and markdown cleanup.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7914>

2024-11-13 17:00:17 +1100  Matthew Waters <matthew@centricular.com>

	* sys/uvcgadget/configfs.c:
	  uvcgadget: silence a maybe-uninitialized warning
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7875>

2024-11-13 16:59:46 +1100  Matthew Waters <matthew@centricular.com>

	* ext/fdkaac/gstfdkaacenc.c:
	  fdkaacenc: silence a maybe-unitialized warning
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7875>

2024-11-13 16:58:41 +1100  Matthew Waters <matthew@centricular.com>

	* gst/rist/gstristrtxsend.c:
	  ristrtxsend: silence a maybe-uninitialized warning
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7875>

2024-11-13 16:58:15 +1100  Matthew Waters <matthew@centricular.com>

	* ext/codec2json/gstav12json.c:
	  av12json: silence a maybe-unitialized warning
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7875>

2024-11-13 16:12:41 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkvideoutils.c:
	  vulkan/videoutils: silence some maybe-unitialized warnings
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7875>

2024-11-16 13:20:16 +0800  He Junyan <junyan.he@intel.com>

	* docs/plugins/gst_plugins_cache.json:
	  Doc: Update the kmssink caps after adding DMA support
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5174>

2024-11-08 13:43:53 +0100  Jakub Adam <jakub.adam@collabora.com>

	* sys/kms/gstkmsbufferpool.c:
	  kmsbufferpool: Accept DMA_DRM caps in the config
	  Only linear modifier is supported due to the dumb allocator's
	  limitation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5174>

2024-09-07 00:43:37 +0200  Jakub Adam <jakub.adam@collabora.com>

	* sys/kms/gstkmssink.c:
	  kmssink: ensure we have a valid vinfo_drm after set_caps
	  Consequently drop the check in import_dmabuf
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5174>

2024-08-29 20:58:04 +0200  Jakub Adam <jakub.adam@collabora.com>

	* sys/kms/gstkmssink.c:
	  kmssink: enumerate drm formats when IN_FORMATS not present
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5174>

2024-05-24 12:26:20 +0800  He Junyan <junyan.he@intel.com>

	* sys/kms/gstkmssink.c:
	  kmssink: Do not provide DMA buffer pool for non-linear caps
	  The dumb allocator does not support modifiers, so we can not allocate
	  non-linear buffers by ourself.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5174>

2023-08-11 18:43:57 +0800  He Junyan <junyan.he@intel.com>

	* sys/kms/gstkmssink.c:
	* sys/kms/gstkmssink.h:
	  kmssink: Handle the DMA buffer importing correctly
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5174>

2023-08-11 18:37:18 +0800  He Junyan <junyan.he@intel.com>

	* sys/kms/gstkmssink.c:
	* sys/kms/gstkmsutils.c:
	  kmssink: Add DMA kind caps into sink caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5174>

2023-08-11 18:32:45 +0800  He Junyan <junyan.he@intel.com>

	* sys/kms/gstkmssink.c:
	  kmssink: Add helper functions to create DMA and raw caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5174>

2023-08-11 18:28:49 +0800  He Junyan <junyan.he@intel.com>

	* sys/kms/gstkmssink.c:
	  kmssink: Add a helper function to collect formats and modifiers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5174>

2023-08-11 18:02:42 +0800  He Junyan <junyan.he@intel.com>

	* sys/kms/gstkmsallocator.c:
	* sys/kms/gstkmsallocator.h:
	* sys/kms/gstkmssink.c:
	  kmssink: Add modifier to gst_kms_allocator_dmabuf_import
	  Use the new drmModeAddFB2WithModifiers() API for binding the
	  non-linear BO.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5174>

2024-11-15 11:46:14 -0300  Thibault Saunier <tsaunier@igalia.com>

	* meson.build:
	  meson: Bump minimum version to 1.3
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4025
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7899>

2024-11-12 12:12:17 +0100  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/gstv4l2decoder.c:
	  v4l2codecs: Test ioctl return value and errno
	  Fix error testing when using V4L2_FMTDESC_FLAG_ENUM_ALL by using
	  both errno and the return value.
	  Fixes !7686 (merged)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7873>

2024-11-06 12:47:32 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* ext/vulkan/vkdownload.c:
	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh265dec.c:
	* ext/vulkan/vksink.c:
	* ext/vulkan/vkupload.c:
	* gst-libs/gst/vulkan/gstvkutils.c:
	* gst-libs/gst/vulkan/gstvkutils.h:
	* gst-libs/gst/vulkan/gstvkvideofilter.c:
	* sys/applemedia/vtdec.c:
	  vkutils: add gst_vulkan_ensure_element_device
	  In order to keep the same device across
	  the elements in the pipeline, use either the device id
	  to create the device or get the device from the context
	  set by the peer elements.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7843>

2024-11-08 10:21:19 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkinstance.c:
	* gst-libs/gst/vulkan/gstvkinstance.h:
	  vkinstance: add gst_vulkan_instance_create_device_with_index
	  This method will allow to create a device with its device_index
	  preparing the support of multiple device.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7843>

2024-11-11 18:24:37 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/codecparsers/gsth264parser.c:
	* gst-libs/gst/codecparsers/gsth265parser.c:
	* gst-libs/gst/codecparsers/gstjpegparser.c:
	* gst-libs/gst/codecparsers/nalutils.c:
	* gst-libs/gst/codecparsers/nalutils.h:
	  codecparser: remove unused headers
	  Mainly <string.h> but also <stdlib.h> in jpegparse
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7869>

2024-11-11 17:47:48 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/codecparsers/gsth265bitwriter.c:
	* gst-libs/gst/codecparsers/gsth265parser.c:
	* gst-libs/gst/codecparsers/meson.build:
	* gst-libs/gst/codecparsers/nalutils.h:
	  codecparsers: avoid libc math library
	  Instead of the libc ceil() and pow() machinery for double types, since the
	  library uses it for unsigned integers use a simple math function for for ceil
	  division and bit left shift for integer power of two.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7869>

2024-10-09 13:47:41 -0400  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/codecparsers/gsth265bitwriter.c:
	* gst-libs/gst/codecparsers/gsth265parser.c:
	  h265parser/bitwriter: add some comments for ceil_log2 use
	  Validate that the length of field must be calculate with
	  ceil_logs2 and not bit storage.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7429>

2024-10-09 13:46:17 -0400  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/codecparsers/gsth264parser.c:
	  h264parse: use of ceil_log2 instead of bit_storage
	  According to the specification:
	  The length of the slice_group_id[ i ] syntax element is Ceil( Log2(
	  num_slice_groups_minus1 + 1 ) ) bits
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7429>

2021-07-01 13:09:04 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegtsmux: Mux timestampless buffers immediately
	  Instead of leaving them queued indefinitely, or until we're timing out
	  and it's the only buffer queued.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7870>

2024-11-12 11:01:03 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegtsmux: Don't time out in live mode if no timestamped next buffer is available
	  The muxer can only advance the time if it has a timestamped buffer that can be
	  output, otherwise it will just busy-wait and use up a lot of CPU.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3912
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7870>

2024-11-14 10:37:05 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/zxing/gstzxing.cpp:
	* ext/zxing/gstzxingplugin.c:
	  gst_plugins-cache: add zxing plugin
	  update documentation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7887>

2024-11-12 09:01:49 +0100  Edward Hervey <edward@centricular.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegtsmux: Post error on the bus if no mapping is found
	  This is more useful/visible
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7707>

2024-10-22 08:42:17 +0200  Edward Hervey <edward@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/mpegtsdemux/gstmpegdesc.h:
	* gst/mpegtsdemux/tsdemux.c:
	* gst/mpegtsmux/gstbasetsmux.c:
	* gst/mpegtsmux/gstbasetsmux.h:
	* gst/mpegtsmux/gstmpegtsmux.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.h:
	  mpegts: Add custom mapping for vp9
	  This is a custom mapping. There isn't much needed apart from that to store vp9
	  in mpeg-ts since the bitstream is self contained.
	  Since there are no official specification we don't want people to be mistaken in
	  believing that. Therefore that mapping is only used in the muxer if the (new)
	  property `enable-custom-mappings` is set to TRUE.
	  * The MPEG-TS Stream Type is Private Data (0x6) with the registration descriptor
	  set to `VP09`.
	  * The Access Unit are VP9 frames stored in PES packets
	  * As there is no emulation prevention byte in VP9 elementary stream, the can be
	  misdetection of PES start code. To avoid this, the start of a PES packet must
	  be signalled using the Payload Unit Start Indicator in the transport packet
	  header
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7707>

2024-11-08 10:18:09 -0300  Thibault Saunier <tsaunier@igalia.com>

	* sys/nvcodec/gstnvdecoder.cpp:
	  nvcodec: gl now supports Y444_16LE
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7858>

2024-11-12 02:06:39 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12swapchainsink.cpp:
	  d3d12swapchainsink: Fix error when the sink is reused
	  Release backbuffer just before releasing swapchain
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7867>

2024-11-05 14:34:03 +0100  Théo Maillart <tmaillart@freebox.fr>

	* gst/videoparsers/gstmpegvideoparse.c:
	  mpegvideoparse: do not set delta unit flag on unknown frame type
	  When encoding an image to mpeg2 video, with something like:
	  gst-launch-1.0 encodebin name=e profile=mpegpsmux:video/mpeg,mpegversion=2,systemstream=false ! \
	  filesink location=sample.mpg filesrc num-buffers=1 blocksize=$(stat -c%s sample.png) \
	  location=sample/dts.png ! pngdec ! e.
	  The only frame's type is set to an invalid value 0
	  The consequence is that mpegvideoparse sets the delta unit flag on the buffer because
	  it is not an I frame, then decodebin3 drops this only frame because the delta
	  unit flag is set and the decoder receives eos before it was able to receive any
	  encoded data
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7832>

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

	* gst-libs/gst/codecparsers/gsth264bitwriter.c:
	* gst-libs/gst/codecparsers/gsth265bitwriter.c:
	  h26Xbitwriter: use quote form directive for internal header
	  Since nalutils.h is not installed it should be included for the local path.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7868>

2024-10-11 11:57:15 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/codecparsers/gsth264bitwriter.c:
	* gst-libs/gst/codecparsers/gsth264bitwriter.h:
	* tests/check/libs/h264bitwriter.c:
	  h264bitwriter: implement gst_h264_bit_writer_filler()
	  This is required for vulkan encoder since it can only write slides after aligned
	  offsets.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7785>

2024-11-08 19:05:41 -0500  Sid Sethupathi <sid.sethupathi@gmail.com>

	* ext/gs/README.md:
	  gs: update building README
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7860>

2023-10-28 13:01:58 +0200  Diego Nieto <diego.nieto.m@outlook.com>

	* tests/check/elements/jifmux.c:
	  exiftag: handle GST_TAG_CAPTURING_LIGHT_SOURCE tag
	  This exif tag allows to specify the different light conditions
	  when taking a picture. This tag is defined in:
	  https://exiftool.org/TagNames/EXIF.html#LightSource
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5571>

2024-09-17 11:47:47 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/closedcaption/gstccconverter.c:
	* tests/check/elements/ccconverter.c:
	  ccconverter: Don't override in_fps_entry when trying to take output
	  This allows to handle CDP streams where the framerate is not provided by the
	  caps and generally gives preference to the framerate inside the CDP packets over
	  the one in the caps.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7532>

2024-11-04 19:30:02 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/analytics/gsttensor.h:
	* gst-libs/gst/analytics/gsttensormeta.c:
	* gst-libs/gst/analytics/gsttensormeta.h:
	* gst/tensordecoders/gstssdobjectdetector.c:
	  tensormeta: Add APIs to create and access GstTensorMeta contents
	  Also document those APIs better.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000>

2024-11-04 19:29:43 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/analytics/gsttensor.c:
	* gst-libs/gst/analytics/gsttensor.h:
	* gst-libs/gst/analytics/gsttensormeta.c:
	  tensor: Add APIs to create and access GstTensor contents
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000>

2024-11-04 17:04:28 -0500  Olivier Crête <olivier.crete@collabora.com>

	* ext/onnx/gstonnxclient.cpp:
	* ext/onnx/gstonnxinference.cpp:
	* gst-libs/gst/analytics/gsttensor.h:
	* gst/tensordecoders/gstssdobjectdetector.c:
	  tensors: Use full GstTensorDataType type name in type members
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000>

2024-10-31 16:03:31 -0400  Olivier Crête <olivier.crete@collabora.com>

	* ext/onnx/gstonnxclient.cpp:
	* gst-libs/gst/analytics/gsttensormeta.c:
	* gst-libs/gst/analytics/gsttensormeta.h:
	  analytics: Add APIs to add or get a GstTensorMeta
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000>

2024-09-24 10:53:05 -0400  Daniel Morin <daniel.morin@collabora.com>

	* ext/onnx/gstonnxclient.cpp:
	* gst-libs/gst/analytics/gsttensor.c:
	* gst-libs/gst/analytics/gsttensor.h:
	  analytics: Adding abstraction on tensor dims
	  Tensor can be row or col major, but it's also possible that the order by we need
	  to read the tensor with more than two dimension need to be described. The
	  reserved field in GstTensorDim is there for this purpose. If we need this we
	  can add  GST_TENSOR_DIM_ORDER_INDEXED, and follow an index defining order for
	  each dimension.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000>

2024-10-17 17:28:24 -0400  Daniel Morin <daniel.morin@collabora.com>

	* ext/onnx/gstonnxclient.cpp:
	* gst-libs/gst/analytics/gsttensor.c:
	* gst-libs/gst/analytics/gsttensor.h:
	* gst-libs/gst/analytics/gsttensormeta.c:
	* gst-libs/gst/analytics/gsttensormeta.h:
	* gst-libs/gst/analytics/meson.build:
	* gst/tensordecoders/gstssdobjectdetector.c:
	  analytics: Make GstTensor more suitable for inline allocation
	  GstTensor contained two fields (data, dims) that were dynamicallay allocated. For
	  data it's for a GstBuffer and we have pool for efficient memory management. For
	  dims it's a small array to store the dimension of the tensor. The dims field
	  can be allocated inplace by moving it at the end of the structure. This will
	  allow a better memory management when GstTensor is stored in an analytics meta
	  which will take advantage of the _clear interface for re-use.
	  - New api to allocate and free GstTensor
	  To continue to support use-cases where GstTensor is not stored in an
	  analytics-meta we provide gst_tensor_alloc, gst_tensor_alloc_n and
	  gst_tensor_free that will facilitate memory management.
	  - Make GstTensor a boxed type
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000>

2024-07-17 14:39:42 -0400  Daniel Morin <daniel.morin@collabora.com>

	* ext/onnx/gstonnxclient.cpp:
	* ext/onnx/gstonnxinference.cpp:
	* gst-libs/gst/analytics/gsttensor.h:
	* gst-libs/gst/analytics/gsttensormeta.h:
	  analytics: Move batch to GstTensor
	  - batch_size is required to interpret the tensor depending on the tensor format
	  the batch are not necessarily memory plane therefore it's preferable to keep it
	  inside GstTensor.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000>

2024-10-17 17:27:37 -0400  Daniel Morin <daniel.morin@collabora.com>

	* ext/onnx/gstonnxinference.cpp:
	* gst-libs/gst/analytics/gsttensor.h:
	* gst-libs/gst/analytics/gsttensormeta.h:
	* gst-libs/gst/analytics/meson.build:
	  analytics: Decouple GstTensor from GstTensorMeta
	  - To support transporting tensor as GstMeta, Analytics-Meta and Media we need to
	  decouple GstTensor from GstTensorMeta.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000>

2024-01-25 01:09:13 -0500  Olivier Crête <olivier.crete@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/onnx/gstonnx.c:
	* ext/onnx/meson.build:
	* gst/meson.build:
	* gst/tensordecoders/gstssdobjectdetector.c:
	* gst/tensordecoders/gstssdobjectdetector.h:
	* gst/tensordecoders/gsttensordecoders.c:
	* gst/tensordecoders/meson.build:
	* meson_options.txt:
	  tensordecoders: Move decoder out of the ONNX plugin
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000>

2024-01-24 21:12:17 -0500  Olivier Crête <olivier.crete@collabora.com>

	* ext/onnx/decoders/gstssdobjectdetector.c:
	* ext/onnx/gstonnx.c:
	* ext/onnx/gstonnxclient.h:
	* ext/onnx/meson.build:
	* gst-libs/gst/analytics/analytics.h:
	* gst-libs/gst/analytics/gsttensormeta.c:
	* gst-libs/gst/analytics/gsttensormeta.h:
	* gst-libs/gst/analytics/meson.build:
	  analytics: Move tensor meta to the analytics library
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000>

2024-11-06 16:35:10 +0100  wbartel <wilhelm.bartel@streamonkey.de>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: fix malformed docs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7847>

2024-11-06 12:05:25 +0100  Adrien De Coninck <a.deconinck@intopix.com>

	* gst/mpegtsdemux/tsdemux.c:
	  tsdemux: validate frat before setting framerate in caps
	  From JPEG-XS part3 : "If the frame rate is unknown, the frat parameter is 0."
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7836>

2024-11-05 18:04:44 +0100  Adrien De Coninck <a.deconinck@intopix.com>

	* gst/mpegtsdemux/tsdemux.c:
	  tsdemux: use JXS_video_descriptor "frat" to set caps "framerate"
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7836>

2024-11-05 14:23:05 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/timecode/gsttimecodestamper.c:
	  timecodestamper: Don't fail the latency query in LTC mode if we have no framerate
	  Only in LTC mode we introduce additional latency that is depending on only on a
	  property and not on the framerate, so waiting for the framerate is not necessary.
	  In all other modes no latency is introduced at all and the latency query can
	  simply be proxied.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7831>

2024-03-16 00:38:58 +0200  Mart Raudsepp <mart.raudsepp@globalm.media>

	* docs/plugins/gst_plugins_cache.json:
	* gst/mpegtsmux/gstbasetsmux.c:
	* gst/mpegtsmux/gstmpegtsmux.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.h:
	  mpegtsmux: Add support for SMPTE 302M (audio/x-smpte-302m)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6530>

2024-11-03 17:30:40 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/meson.build:
	  meson: bail out earlier in docs subdir if docs are disabled
	  The gst_dep.get_variable('libexecdir') may fail in some scenarios
	  (e.g. building a module alone inside an uninstalled devenv) and
	  it shouldn't really be reached in the first place if docs are
	  disabled via options.
	  Also to avoid confusing meson messages when cross-compiling or
	  doing a static build.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7818>

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

	* sys/d3d12/gstd3d12swapchainsink.cpp:
	  d3d12swapchainsink: Add support for GstColorBalance interface
	  ... and adding hue, saturation, brightness, and contrast properties
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7817>

2024-11-03 09:20:24 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12convert.h:
	  d3d12convert: Add support for GstColorBalance interface
	  ... and adding hue, saturation, brightness, and contrast properties
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7817>

2024-11-03 06:36:32 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12videosink.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	* sys/d3d12/gstd3d12window.h:
	  d3d12videosink: Add support for GstColorBalance interface
	  ... and adding hue, saturation, brightness, and contrast properties
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7817>

2024-11-03 04:00:25 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter-builder.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter-builder.h:
	* gst-libs/gst/d3d12/gstd3d12converter-private.h:
	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter.h:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3dshader/converter-hlsl/PSMain_converter.hlsl:
	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	* gst-libs/gst/d3dshader/gstd3dshadercache.h:
	  d3d12converter: Add support for colorbalance
	  Adding support for hue, saturation, brightness, and contrast adjustment
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7817>

2024-11-03 17:37:03 +0000  Tim-Philipp Müller <tim@centricular.com>

	* po/de.po:
	* po/es.po:
	* po/hr.po:
	* po/ro.po:
	* po/sl.po:
	* po/sv.po:
	  gst-plugins-bad: update translations
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7819>

2024-11-02 03:18:26 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	  d3d11converter: Fix constant buffer update
	  Fixing regression of
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6434
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7814>

2024-08-06 18:09:58 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/videoparsers/gsth264parse.c:
	* gst/videoparsers/gsth264parse.h:
	  h264parse: Fix pic_timing SEI replacement
	  The calculated position was off. I'm not sure of the exact cause;
	  possibly because we're in AU-aligned byte-stream mode, which means
	  `transform` is true.
	  Replacing the math that calculates the NALU positions with code more
	  similar to what is already in use for `idr_pos` seems to have fixed it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7318>

2024-07-30 14:31:45 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/videoparsers/gsth264parse.c:
	* gst/videoparsers/gsth265parse.c:
	  h264parse, h265parse: Support drop frame codes with counting_type 6
	  Tested with an Ateme Kyrion CM5000, which uses 6 when it drops 4 frames
	  from the code for 1080p@59.94.
	  Apply the same change to h265parse, with reference to the spec.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7316>

2024-10-27 04:26:46 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12videosink.cpp:
	* sys/d3d12/gstd3d12window-win32.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	* sys/d3d12/gstd3d12window.h:
	  d3d12videosink: Add support for mouse scroll events
	  Handle WM_MOUSEHWHEEL and WM_MOUSEWHEEL events
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7774>

2024-10-29 09:49:50 +0100  Edward Hervey <edward@centricular.com>

	* gst/mpegtsdemux/tsdemux.c:
	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegts: Fix bit-depth storage for jpeg-xs
	  As per ISO/IEC 21122-3 2019:
	  > Sample_Bitdepth code shall specify directly the bitdepth of the components
	  minus 1
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3945
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7775>

2024-10-29 09:43:11 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/mpegts/gstmpegtsdescriptor.c:
	  mpegts: Fix JPEG-XS Extension Descriptor handling
	  The initial specification for the descriptor (from H.222.0 06/21) was wrong and
	  introduced duplicate descriptor_tag/descriptor_length field.
	  This was later corrected in H.222.0 (2021) Amendment 1 (12/22)
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3945
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7775>

2024-10-29 11:29:05 +0100  Edward Hervey <edward@centricular.com>

	* ext/srt/gstsrtobject.c:
	  srt: Don't attempt to reconnect on authentication failures
	  This is a fatal issue which can't be recovered
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1550
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7776>

2024-10-22 22:29:51 +1100  Jan Schmidt <jan@centricular.com>

	* sys/androidmedia/gstamc-constants.h:
	* sys/androidmedia/gstamc.c:
	  androidmedia: Add more pixel format mappings
	  Add missing pixel format constants, and mappings for
	  P010, packed variants of 420 and RGBA layouts to GStreamer
	  buffer formats. This fixes problems with android decoders
	  refusing to output raw video frames with decoders that
	  announce support for these common pixel formats and
	  only allowing the 'hardware surfaces output' path.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7743>

2024-10-22 21:28:04 +1100  Jan Schmidt <jan@centricular.com>

	* sys/androidmedia/gstamc-constants.h:
	* sys/androidmedia/gstamc.c:
	  androidmedia: Add extra H.26[45] profile mappings
	  Update the android headers and add missing mappings for H.264/H.265
	  profiles that have been added in newer android releases
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7743>

2024-10-28 14:37:04 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/closedcaption/gstcea608mux.c:
	  cea608mux: expose force-live property
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7765>

2024-10-22 18:08:19 +1100  Matthew Waters <matthew@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/decklink/gstdecklink.cpp:
	* sys/decklink/gstdecklink.h:
	* sys/decklink/gstdecklinkvideosink.cpp:
	* sys/decklink/gstdecklinkvideosrc.cpp:
	  decklink: reinstate some hardcoded colorimetry handling
	  Needed when we don't yet have an open device and are doing negotiation.
	  colorimetry=bt601 is only actually supported by decklink for PAL and NTSC
	  formats. All other formats use bt709 or above.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7742>

2024-10-22 18:06:46 +1100  Matthew Waters <matthew@centricular.com>

	* sys/decklink/gstdecklink.cpp:
	  decklink: only expose HDR colorimetry if 2020 colorspace is supported
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7742>

2024-10-22 13:23:06 +1100  Matthew Waters <matthew@centricular.com>

	* sys/decklink/gstdecklinkvideosrc.cpp:
	  decklinkvideosrc: ignore HDR metadata consisting of all zeros
	  In some cases decklinkvideosink may produce such stream when the
	  information is unknown.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7742>

2024-10-22 13:20:30 +1100  Matthew Waters <matthew@centricular.com>

	* sys/decklink/gstdecklinkvideosink.cpp:
	  decklinkvideosink: provide default values when HDR metadata is not available
	  Some file format standards don't require mastering-display-info
	  and content-light-level values to be provided.
	  Decklink however requires the static HDR metdata for the PQ transfer
	  function which we may not have.
	  CTA-861-G mentions that in this case, 0 may provided as an 'unknown'
	  value which is what we use here.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7742>

2024-10-22 13:18:58 +1100  Matthew Waters <matthew@centricular.com>

	* sys/decklink/gstdecklinkvideosink.cpp:
	  decklinkvideosink: fix incorrect EOTF value
	  Checking for mastering-display-info twice is incorrect.  One of the
	  checks should be for the content-light-level.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7742>

2024-09-24 13:55:39 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst-libs/gst/wayland/gstwlvideoformat.c:
	* gst-libs/gst/wayland/gstwlvideoformat.h:
	  wayland: Add NV15 support
	  This format, which maps to NV12_10LE40 in GStreamer is produced by Rockchip
	  video decoders when decoding 4:2:0 10 bit content.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7569>

2024-10-22 23:41:13 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gstvp8decoder.c:
	  vp8decoder: Fix resolution change handling
	  Do not store resolution in set_format() so that resolution change
	  can be detected on keyframe as intended.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3928
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7710>

2024-10-25 16:37:15 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/rtmp2/gstrtmp2sink.c:
	  rtmp2sink: Initialize base_ts / last_ts with the actual first observed timestamp
	  Initializing it with zero can falsely trigger the overflow / underflow detection
	  code if the first observed timestamp is a big integer.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7745>

2024-10-28 18:58:48 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvaav1enc.c:
	* sys/va/gstvavp9enc.c:
	  va{av1,vp9}enc: fix return value
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7773>

2024-05-27 09:45:00 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* tests/check/elements/unixfd.c:
	  Revert "unixfd: disable flaky test_unixfd_segment for now"
	  This reverts commit 06cd4e24578caf1e16e364eb56edbbb065b8533e.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6765>

2024-04-29 14:30:49 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/unixfd/gstunixfdsink.c:
	* tests/check/elements/unixfd.c:
	  unixfd: Fix racy unit test by adding wait-for-connection property
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6765>

2024-10-26 11:42:48 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/play/gstplay.c:
	* gst-libs/gst/play/gstplay.h:
	  play: Improve play message API inconsistencies
	  * Consistently name parse functions according to their message type and
	  deprecate the misnamed ones,
	  * Add missing parse functions,
	  * Check for the correct message type when parsing
	  * Use correct field name for warning message details
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7754>

2024-10-25 11:10:38 -0400  Julian Bouzas <julian.bouzas@collabora.com>

	* ext/lcevcencoder/gstlcevch264enc.c:
	  lcevch264enc: Set 'byte-stream' format and 'au' alignment in output caps
	  This is because the LCEVC EIL SDK from V-Nova always outputs encoded video in
	  that format. This also avoids using the parser in some scenarios.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7750>

2024-10-21 13:32:03 +0200  Pablo García <pgarcia@fluendo.com>

	* sys/d3d11/gstd3d11videosink.cpp:
	* sys/d3d11/gstd3d11window.cpp:
	* sys/d3d11/gstd3d11window.h:
	* sys/d3d11/gstd3d11window_win32.cpp:
	  d3d11: implement mouse wheel events
	  Adittion of d3d11 support for WM_MOUSEWHEEL and WM_MOUSEHWHEEL events,
	  which are triggered when the mouse is scrolled vertically or horizontally
	  respectively.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7705>

2024-09-21 19:16:29 +0300  Jordan Petridis <jordan@centricular.com>

	* tests/check/gst-plugins-bad.supp:
	  ci: add suppressions for OpenSSL false positives
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455>

2024-09-21 19:01:55 +0300  Jordan Petridis <jordan@centricular.com>

	* tests/check/gst-plugins-bad.supp:
	  gst-plugins-bad.supp: Remvoe gssdp leaks that have been fixed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455>

2024-09-20 11:02:42 +0200  Edward Hervey <edward@centricular.com>

	* sys/va/gstvacompositor.c:
	  vacompositor: Add since marker
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455>

2024-09-04 17:57:08 +0200  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/codecparsers/gstav1parser.c:
	* gst-libs/gst/codecparsers/gstav1parser.h:
	* gst-libs/gst/codecparsers/gsth264parser.c:
	* gst-libs/gst/codecparsers/gsth265parser.c:
	  codecparsers: Fix gtk-doc
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455>

2024-09-04 10:11:40 +0200  Edward Hervey <edward@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/isac/gstisacenc.c:
	* ext/ldac/gstldacenc.c:
	* ext/svtav1/gstsvtav1enc.c:
	* ext/svthevcenc/gstsvthevcenc.c:
	  bad: Mark more types as plugin API
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455>

2024-09-03 15:00:39 +0200  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/codecparsers/gstav1parser.h:
	  docs: Fix av1parser symbols
	  Don't use un-named structures
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455>

2024-06-28 14:24:54 +0200  Edward Hervey <edward@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	  plugins_cache: Update for fedora 40 build
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455>

2024-09-21 18:11:20 +0300  Jordan Petridis <jordan@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/va/gstvafilter.c:
	  gstvafilter: Add back missing property comments
	  In b1cda4439bc9170b4af60ab464471f58ea770f58 the property comments
	  were removed, even though these are marked as public api.
	  Add back the comments, and a Since version for interpolation-method.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455>

2024-10-24 09:17:54 +0200  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/vulkan/gstvkdevice.c:
	* gst-libs/gst/vulkan/gstvkdisplay.c:
	* gst-libs/gst/vulkan/gstvktrash.c:
	  all: Fix closure annotations
	  This was misused almost everywhere.
	  See
	  https://gi.readthedocs.io/en/latest/annotations/giannotations.html#support-for-gobject-closures
	  and: https://www.bassi.io/articles/2023/02/20/bindable-api-2023/
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7725>

2024-10-15 16:07:42 +0200  Diego Nieto <diego.nieto.m@outlook.com>

	* gst/debugutils/gstvideocodectestsink.c:
	  debugutils: videocodectestsink: support GRAY8 and GRAY10_LE{16,32}
	  Add support for:
	  * GST_VIDEO_FORMAT_GRAY8
	  * GST_VIDEO_FORMAT_GRAY10_LE16
	  * GST_VIDEO_FORMAT_GRAY10_LE32
	  These formats are used by Fraunhofer VVC encoder and decoder.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7706>

2024-10-21 11:50:23 +0200  Carlos Falgueras García <cfalgueras@fluendo.com>

	* docs/plugins/gst_plugins_cache.json:
	  video: Add GRAY10_LE16 support
	  This adds a 10-bit variant of grayscale packed into 16 bits little-endian
	  words. The MSB 6 bits are padding and should be ignored. This format is
	  used by Fraunhofer VVC encoder and decoder libraries.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7706>

2024-10-23 14:28:30 +0200  Peter Stensson <petest@axis.com>

	* gst/codectimestamper/gstcodectimestamper.c:
	* tests/check/elements/h264timestamper.c:
	  codectimestamper: Fix gint wraparound in pts_compare_func
	  The diff between compared timestamps might be outside the gint range
	  resulting in wrong sorting results. This patch corrects that by
	  comparing the timestamps and then returning -1, 0 or 1 depending on the
	  result.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7726>

2024-10-24 14:40:23 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>

	* sys/applemedia/vtdec.c:
	  vtdec: add support for level 6 6.1 and 6.2
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7729>

2024-10-22 09:13:06 -0600  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst/mpegtsmux/tsmux/tsmux.c:
	  mpegtsmux: Schedule PMT update on stream removal
	  Following the behavior of tsmux_program_add_stream(), this ensures that a PMT
	  update will also be caused by removal of a stream from a program.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7719>

2024-09-30 15:51:04 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mpegtsdemux/mpegtspacketizer.c:
	  mpegtsdemux: Handle PTS/DTS wraparound with ignore-pcr=true
	  The wraparound handling code assumes that the PCR gets updated regularly for
	  being able to detect wraparounds. With ignore-pcr=true that was not the case and
	  it stayed initialized at 1h forever.
	  To avoid this problem, update the fake PCR whenever the PTS advanced by more
	  than 5s, and also detect wraparounds in these fake PCRs.
	  Problem can be reproduced with
	  $ gst-launch-1.0 videotestsrc pattern=black ! video/x-raw,framerate=1/5 ! \
	  x264enc speed-preset=ultrafast tune=zerolatency ! mpegtsmux ! \
	  tsdemux ignore-pcr=true ! fakesink
	  which restarts timestamps at 0 after around 26h30m.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7588>

2024-10-24 06:10:13 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/meson.build:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12decodercpbpool.cpp:
	* sys/d3d12/gstd3d12mipgen.cpp:
	* sys/d3d12/gstd3d12pluginutils.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/gstd3d12window-win32.cpp:
	* sys/d3d12/meson.build:
	* sys/nvcodec/gstcudainterop_d3d12.cpp:
	  d3d12: Additional fixes for MinGW build
	  Various fixes for GCC build, including actual bug fixes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7722>

2024-10-23 04:41:23 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/meson.build:
	* sys/d3d12/meson.build:
	  d3d12: Fix MinGW build with installed DirectX-Headers
	  Required for cerbero MinGW build
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7154>

2024-10-18 18:09:01 -0400  Daniel Morin <daniel.morin@collabora.com>

	* ext/onnx/decoders/gstssdobjectdetector.c:
	  tensordecoder: Correct Klass, for ssd TD
	  Tensor decoder need a specific klass to be able to auto-plug them
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7698>

2024-10-10 17:24:34 +0200  Jochen Henneberg <jochen@centricular.com>

	* tests/examples/va/vaenc-dynamic-reconfigure.c:
	  examples: va: Added VP8 encoder to dynamic reconfigure
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6959>

2024-10-10 17:22:34 +0200  Jochen Henneberg <jochen@centricular.com>

	* sys/va/gstvavp8enc.c:
	* sys/va/gstvavp8enc.h:
	* sys/va/meson.build:
	* sys/va/plugin.c:
	  va: Added VP8 encoder
	  Fixes #3430
	  Fixes #3576
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6959>

2024-10-10 17:21:25 +0200  Jochen Henneberg <jochen@centricular.com>

	* gst-libs/gst/codecparsers/gstvp8parser.h:
	  codecparsers: vp8parser: Added frame type enums
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6959>

2024-10-21 00:23:41 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12mipmapping.cpp:
	  d3d12mipmapping: Fix debug category
	  Fixing copying-and-pasting mistake
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7701>

2024-06-20 16:52:46 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codecdevice.h:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/v4l2codecs/gstv4l2decoder.h:
	  v4l2codecs: dynamically discovers supported pixels formats
	  If the driver allows it, for each stateless decoder,
	  enumerate all the pixels formats and use this list for source
	  pad instead of a static template.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7686>

2024-06-20 16:51:07 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/linux/videodev2.h:
	  v4l2codecs: Update videodev2.h with V4L2_FMTDESC_FLAG_ENUM_ALL flag
	  Add V4L2_FMTDESC_FLAG_ENUM_ALL flag to support discovering all
	  possible pixel formats.
	  Add V4L2_FMT_FLAG_META_LINE_BASED to not create a hole in flag
	  definition.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7686>

2024-10-11 11:58:37 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/codecparsers/gsth264bitwriter.c:
	* gst-libs/gst/codecparsers/gsth265bitwriter.c:
	  h26xbitwriter: false have_space if aligning fails on aud
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7655>

2024-10-18 15:10:56 +0200  Edward Hervey <edward@centricular.com>

	* ext/qroverlay/gstbaseqroverlay.c:
	  qrbaseoverlay: Add doc/since
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7692>

2024-10-15 16:44:27 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  vaav1enc: Do not enable palette mode by default
	  Palette mode should only be enabled only when we know that the content
	  of the picture is simple. For example, only white letters on black
	  screen in SCC mode. So, by default, we need to disable it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7668>

2024-09-27 18:01:53 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

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

2024-09-20 13:34:34 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	  v4l2codecs: vp9: Allow inter-frames resolution change
	  When the stream resolution change it is needed to negotiate
	  a new pools and to update the caps.
	  Resolution change could occurs on a new sequence or a new
	  picture so move resolution change detection code in a common
	  function.
	  For memory allocation reasons, only allows resolution change
	  on non keyframe if the driver support remove buffer feature.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7684>

2024-09-20 10:48:39 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/gstv4l2decoder.c:
	  codecs:vp9 decoder: Remove unsused info field
	  Video info field is never used so remove it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7684>

2024-09-20 10:30:01 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* gst-libs/gst/codecs/gstvp9decoder.c:
	  codecs: vp9 decoder: Drain output buffers before resolution change
	  We must drain the pending output picture so that subclass can renegotiate
	  the caps. Not doing so while still renegotiating would mean that the
	  subclass would have to do an allocation query before pushing the caps.
	  Pushing the caps now without this would also not work since these caps
	  won't match the pending buffers format.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7684>

2024-05-27 14:28:18 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/gstv4l2codecallocator.c:
	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/v4l2codecs/gstv4l2decoder.h:
	  v4l2codecs: Add remove buffers helpers
	  Add helpers function to call VIDIOC_REMOVE_BUFS ioctl.
	  If the driver support this feature buffers are removed from the queue when:
	  - the pool when is detached from the decoded.
	  - the pool is released.
	  - allocation failed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7684>

2024-05-27 13:52:28 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/gstv4l2decoder.c:
	  v4l2codecs: Do not register stateless decoder if the driver doesn't support VIDIOC_CREATE_BUFS
	  If the driver can't allocate buffers with VIDIOC_CREATE_BUFS do not
	  register it has stateless decoder.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7684>

2023-06-19 11:09:22 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/gstv4l2codecallocator.c:
	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/v4l2codecs/gstv4l2decoder.h:
	  v4l2codecs: Replace VIDIOC_REQBUFS calls by VIDIOC_CREATE_BUFS
	  Use VIDIOC_CREATE_BUFS ioctl to create buffers instead of VIDIOC_REQBUFS
	  because it allows to create buffers also while streaming.
	  To prepare the introduction of VIDIOC_REMOVE_BUFFERS create
	  the buffers one per one instead of a range of them. This way
	  it can, in the futur, fill the holes.
	  gst_v4l2_decoder_request_buffers() is stil used to remove all
	  the buffers of the queue.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7684>

2024-05-07 10:48:05 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/linux/videodev2.h:
	  v4l2codecs: udpate videodev2.h
	  Update videodev2.h to be aligned with kernel version v6.10
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7684>

2024-10-14 11:26:20 +0200  Emil Ljungdahl <emillj@axis.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: Clean up bin elements when datachannel is removed
	  When a datachannel within a session is removed after proper close,
	  reference to the error_ignore_bin elements of the datachannel
	  appsrc/appsink were left in webrtcbin.
	  This caused the bin-objects to be left and not freed until the whole
	  webrtc session was terminated. Among other things that includes a thread
	  from the appsrc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7675>

2024-10-09 12:32:34 -0400  Francisco Javier Velázquez-García <francisco.velazquez@appear.net>

	* ext/srt/gstsrtsink.c:
	  srtsink: Add guard for null error when SRT open fails
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7628>

2024-10-09 12:08:10 -0400  Francisco Javier Velázquez-García <francisco.velazquez@appear.net>

	* ext/srt/gstsrtobject.c:
	  srtsink: Register SRT listen callback before binding socket
	  This change https://github.com/Haivision/srt/pull/2683 forces us to
	  call `srt_listen_callback` before `srt_listen`.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7628>

2024-07-08 17:54:03 -0400  Daniel Morin <daniel.morin@collabora.com>

	* tests/check/libs/analyticsmeta.c:
	  test: Adding a test for segmentation analytics-meta
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6026>

2024-07-08 17:52:24 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst-libs/gst/analytics/analytics.h:
	* gst-libs/gst/analytics/gstanalyticssegmentationmtd.c:
	* gst-libs/gst/analytics/gstanalyticssegmentationmtd.h:
	* gst-libs/gst/analytics/meson.build:
	  analytics: add segmentation analytics-meta
	  - Add a new analytics-meta to store segmentation analysis result.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6026>

2024-07-08 17:47:13 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst-libs/gst/analytics/gstanalyticsmeta.c:
	* gst-libs/gst/analytics/gstanalyticsmeta.h:
	* gst-libs/gst/analytics/gstanalyticssegmentationmtd.c:
	  analytics: Allow specific analytics-meta (Mtd) to handle their clear
	  - Add mtd_meta_clear to allow specific analytics-meta to handle their clear
	  operation specific to their type.
	  - Clear mtd's attached when analytic-meta is freed. When the buffer where
	  analytics-meta is attached is not from a buffer pool
	  gst_analytics_relation_meta_clear will not be called unless we explicitly call
	  it in _free. This important otherwise _mtd_clear are not called and lead to
	  leak if embedded mtd's allocated memory
	  - Un-ref in transform if it's a copy
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6026>

2024-10-12 21:38:08 +0300  Jordan Petridis <jordan@centricular.com>

	* tests/check/elements/lc3.c:
	  lc3: tests: Zero out the buffer we allocate for the tests
	  Otherwise liblc3 will try to access the uninitialized memory
	  and it makes valgrind very sad.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7657>

2024-10-14 15:31:54 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* gst/videofilters/gstscenechange.c:
	  scenechange: fix memory leak
	  A reference to the last buffer(oldbuf) was kept
	  leading to a memory leak on stop.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7662>

2024-10-11 12:07:27 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/codecparsers/gstav1bitwriter.c:
	* gst-libs/gst/codecparsers/gsth264bitwriter.c:
	* gst-libs/gst/codecparsers/gsth265bitwriter.c:
	* gst-libs/gst/codecparsers/gstvp9bitwriter.c:
	  codecparsers: add debug categories to bitwriters
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7653>

2024-10-13 23:04:58 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/dxva/meson.build:
	  meson: Explicitly use cpp_std=c++11 for dxva
	  dxva is built unconditionally on all platforms where introspection is
	  enabled, so let's fix the build on macOS so that introspection can be
	  enabled there: https://gitlab.freedesktop.org/nirbheek/cerbero/-/jobs/65009118
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7659>

2024-10-12 19:10:46 -0300  L. E. Segovia <amy@centricular.com>

	* gst-libs/gst/winrt/meson.build:
	* meson.build:
	* sys/dwrite/meson.build:
	* sys/wasapi2/meson.build:
	* sys/webview2/meson.build:
	* sys/wic/meson.build:
	  meson: Undefine any WINVER and _WIN32_WINNT entries before redefining them
	  Fixes Cerbero build with MinGW GCC 14, where specifying -DWINVER=0x0601 -DWINVER=0x0A00 is a hard -Werror.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7658>

2024-10-12 19:05:17 -0300  L. E. Segovia <amy@centricular.com>

	* sys/amfcodec/meson.build:
	  meson: amfcodec: fix build with MinGW GCC 14
	  >  ../sys/amfcodec/include/core/PropertyStorage.h:87:50: error: 'virtual void
	  >   amf::AMFPropertyStorage::RemoveObserver(amf::AMFPropertyStorageObserver*)' was hidden [-Werror=overloaded-virtual=]
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7658>

2024-10-12 19:01:46 -0300  L. E. Segovia <amy@centricular.com>

	* gst-libs/gst/d3d12/meson.build:
	* sys/d3d12/meson.build:
	  meson: d3d12: fix build with MinGW GCC 14
	  Also apply the d3d11 fix since both use the same header.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7658>

2024-10-12 19:01:13 -0300  L. E. Segovia <amy@centricular.com>

	* gst-libs/gst/d3d11/meson.build:
	* sys/d3d11/meson.build:
	  meson: d3d11: fix build with MinGW GCC 14
	  In my tests with the new GCC 14 compiler for Cerbero, I got the
	  following error:
	  > In file included from include/directxmath/DirectXMath.h:2275,
	  > from ../gst-libs/gst/d3d11/gstd3d11converter.cpp:46:
	  > include/directxmath/DirectXMathMatrix.inl: In function 'bool
	  >   DirectX::XMMatrixDecompose(XMVECTOR*, XMVECTOR*, XMVECTOR*, FXMMATRIX)':
	  > include/directxmath/DirectXMathMatrix.inl:1161:16:
	  >  error: variable 'aa' set but not used [-Werror=unused-but-set-variable]
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7658>

2024-08-29 20:50:59 +1000  Jan Schmidt <jan@centricular.com>

	* ext/webrtc/gstwebrtcstats.c:
	  webrtcbin: Retrieve RR stats from internal sources
	  Check and generate remote reception statistics from the info stored on
	  internal sources, as they are stored there  when running against newer rtpbin
	  since MR !7424
	  This fixes cases where statistics are incomplete when
	  peers send RR reports from a single remote ssrc, which GStreamer does
	  when bundling is enabled and other RTP stacks may too.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7425>

2024-10-04 23:37:35 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/vtdec.c:
	  vtdec: Set input formats when we get incomplete caps
	  In some cases, decodebin3 will send us incomplete caps (not containing
	  codec_data), and then a GAP event, which will force a negotiation.
	  This segfaults due to a null pointer deref because self->input_state
	  is NULL.
	  The only possible fix is to avoid negotiating when we get incomplete
	  caps (to avoid re-negotiationg immediately afterwards, which isn't
	  supported by some muxers), but also set as much input state as
	  possible so that a renegotiation triggered by a GAP event can complete
	  successfully.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7634>

2024-10-09 17:19:42 -0400  Xavier Claessens <xclaessens@netflix.com>

	* ext/qroverlay/gstbaseqroverlay.c:
	  qroverlay: Change pixel-size to percent of width or height
	  The size is now expressed in percent of the smallest dimention. 100
	  means the biggest square that fits the render area.
	  Fixes: #3695
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7638>

2024-10-09 17:16:46 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* tests/check/elements/vapostproc.c:
	  tests: va: fix vapostproc test for DMABuf
	  Now it picks the first format in the template srcpad list and do
	  the convertion. Also the format size is reduced because not all
	  drives support 4K as DMABuf (radeonsi).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7636>

2024-10-09 16:48:18 -0400  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12.h:
	* gst-libs/gst/d3d12/gstd3d12_fwd.h:
	* gst-libs/gst/d3d12/gstd3d12cmdallocpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12cmdallocpool.h:
	* gst-libs/gst/d3d12/gstd3d12cmdlistpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12cmdlistpool.h:
	* gst-libs/gst/d3d12/gstd3d12cmdqueue-private.h:
	* gst-libs/gst/d3d12/gstd3d12cmdqueue.cpp:
	* gst-libs/gst/d3d12/gstd3d12cmdqueue.h:
	* gst-libs/gst/d3d12/gstd3d12commandallocatorpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12commandallocatorpool.h:
	* gst-libs/gst/d3d12/gstd3d12commandlistpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12commandlistpool.h:
	* gst-libs/gst/d3d12/gstd3d12commandqueue.h:
	* gst-libs/gst/d3d12/gstd3d12converter-pack.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter-unpack.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter.h:
	* gst-libs/gst/d3d12/gstd3d12descheappool.cpp:
	* gst-libs/gst/d3d12/gstd3d12descheappool.h:
	* gst-libs/gst/d3d12/gstd3d12descriptorpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12descriptorpool.h:
	* gst-libs/gst/d3d12/gstd3d12device-private.h:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12device.h:
	* gst-libs/gst/d3d12/gstd3d12frame.cpp:
	* gst-libs/gst/d3d12/gstd3d12frame.h:
	* gst-libs/gst/d3d12/meson.build:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12ipcclient.cpp:
	* sys/d3d12/gstd3d12mipgen.cpp:
	* sys/d3d12/gstd3d12mipmapping.cpp:
	* sys/d3d12/gstd3d12overlaycompositor.cpp:
	* sys/d3d12/gstd3d12swapchainsink.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/gstd3d12window-swapchain-resource.h:
	* sys/d3d12/gstd3d12window-swapchain.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	* sys/dwrite/gstdwriterender_d3d12.cpp:
	  d3d12: Shorten various names
	  Update names of various objects and method to be shorter, for instance
	  GstD3D12CommandAllocator is changed to GstD3D12CmdAlloc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7642>

2024-10-09 15:46:15 -0400  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12fencedatapool.cpp:
	  d3d12: Fix typo in docs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7642>

2024-10-09 15:19:52 -0400  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12commandqueue.cpp:
	  d3d12: Early error out on Signal() fail
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7642>

2024-10-09 20:37:10 +0300  Jordan Petridis <jordan@centricular.com>

	* tests/check/elements/lc3.c:
	  tests/lc3: Allocate the same size for the buffer and the data
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7631>

2024-10-09 16:40:05 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst/mxf/mxftypes.c:
	* gst/mxf/mxftypes.h:
	  mxftypes: Add support for a few additional fields
	  According to SMPTE ST 377-1:2019
	  Currently still unused.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7626>

2024-10-09 16:25:05 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst/mxf/mxftypes.c:
	  mxftypes: Check for the existence of all required fields
	  According to SMPTE ST 377-1:2019
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7626>

2024-10-09 16:23:47 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst/mxf/mxfdemux.c:
	  mxfdemux: Keep tracking the offsets even when an index table was found
	  Some files may contain a partial index table, leading into a crash when
	  you try seeking in them
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7626>

2024-09-09 15:53:25 +0200  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc: Don't call drop_frame() when flushing
	  Slipped through with earlier changes to use drop/release_frame() explicitly.
	  We should only drop when something goes wrong in the encoder, and just release otherwise.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7475>

2024-08-08 10:50:23 -0400  Julian Bouzas <julian.bouzas@collabora.com>

	* ext/lcevcencoder/README.md:
	  lcevcencoder: Add README.md
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7330>

2024-08-08 10:01:24 -0400  Julian Bouzas <julian.bouzas@collabora.com>

	* ext/lcevcdecoder/README.md:
	  lcevcdecoder: Add README.md
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7330>

2023-08-25 13:30:48 -0400  Julian Bouzas <julian.bouzas@collabora.com>

	* ext/lcevcencoder/gstlcevcencoder.c:
	* ext/lcevcencoder/gstlcevcencoder.h:
	* ext/lcevcencoder/gstlcevcencoderutils.c:
	* ext/lcevcencoder/gstlcevcencoderutils.h:
	* ext/lcevcencoder/gstlcevch264enc.c:
	* ext/lcevcencoder/gstlcevch264enc.h:
	* ext/lcevcencoder/meson.build:
	* ext/lcevcencoder/plugin.c:
	* ext/meson.build:
	* meson_options.txt:
	  lcevcencoder: Add new LCEVC Encoder plugin
	  This new LCEVC encoder plugin is meant to implement all LCEVC encoder elements.
	  For now, it only implements the LCEVC H264 encoder (lcevch264enc) element. This
	  element essentially encodes raw video frames using a specific EIL plugin, and
	  outputs H264 frames with LCEVC data. Depending on the encoder properties, the
	  LCEVC data can be either part of the video stream as SEI NAL Units, or attached
	  to buffers as GstMeta.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7330>

2023-08-01 11:15:54 -0400  Julian Bouzas <julian.bouzas@collabora.com>

	* ext/lcevcdecoder/gstlcevcdecodebin.c:
	* ext/lcevcdecoder/gstlcevcdecodebin.h:
	* ext/lcevcdecoder/gstlcevch264decodebin.c:
	* ext/lcevcdecoder/gstlcevch264decodebin.h:
	* ext/lcevcdecoder/plugin.c:
	  lcevcdecoder: Add new lcevch264decodebin element
	  This new element wraps both the base H264 decoder and lcevcdec elements into a
	  bin so that LCEVC decoding works with auto-plugging elements such as decodebin.
	  By default, the H264 decoder element with higher rank is used as base decoder,
	  but any particular H264 decoder can be used by manually setting the base-decoder
	  property.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7330>

2023-08-01 11:11:18 -0400  Julian Bouzas <julian.bouzas@collabora.com>

	* ext/lcevcdecoder/gstlcevcdec.c:
	* ext/lcevcdecoder/gstlcevcdec.h:
	* ext/lcevcdecoder/gstlcevcdecutils.c:
	* ext/lcevcdecoder/gstlcevcdecutils.h:
	* ext/lcevcdecoder/meson.build:
	* ext/lcevcdecoder/plugin.c:
	* ext/meson.build:
	* meson_options.txt:
	  lcevcdecoder: Add new LCEVC Decoder plugin
	  This new LCEVC decoder plugin is meant to implement all LCEVC decoder elements.
	  For now, it only implements the LCEVC enhancement decoder (lcevcdec) element.
	  This element essentially enhances raw video frames using the LCEVC metadata
	  attached to input buffers into a higher resolution frame. The element is only
	  meant to be used after any base decoder (eg avdec_h264).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7330>

2024-09-03 17:09:40 -0400  Julian Bouzas <julian.bouzas@collabora.com>

	* gst/videoparsers/gsth264parse.c:
	  h264parse: Wait for SEI before exposing src caps
	  This makes sure 'lcevc=false' src caps are not set before parsing SEI. It is
	  needed for decodebin2 to work properly with the LCEVC decoder.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7330>

2024-10-01 16:40:13 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst/videoparsers/gsth264parse.c:
	  h264parse: Don't fake IDR without at least an i-slice
	  There was an override to fake an IDR as soon as a SPS/PPS
	  is encountered, but that's not valid, at least an i-slice is needed.
	  Amend the visl result, as the output is slightly more correct, not
	  duplicating frame_num.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7330>

2024-08-19 12:16:49 -0400  Julian Bouzas <julian.bouzas@collabora.com>

	* gst/videoparsers/gsth264parse.c:
	* gst/videoparsers/gsth265parse.c:
	* gst/videoparsers/gstmpegvideoparse.c:
	* gst/videoparsers/gstvideoparseutils.c:
	* gst/videoparsers/gstvideoparseutils.h:
	  h264parse: attach LCEVC meta to buffers if it is present in SEI
	  This improves the h264parse element to attach LCEVC enhancement data to buffers
	  using the new GstLcevcMeta API. This metadata will eventually be used downstream
	  by LCEVC decoders to enhance the RAW video frame.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7330>

2023-07-27 16:27:29 -0400  Julian Bouzas <julian.bouzas@collabora.com>

	* gst-libs/gst/codecparsers/gstlcevcmeta.c:
	* gst-libs/gst/codecparsers/gstlcevcmeta.h:
	* gst-libs/gst/codecparsers/meson.build:
	  codecparsers: Add LCEVC metadata API
	  This new metadata API allows elements to attach LCEVC enhancement data to video
	  buffers. Usually, the video parser elements are charged to parse the LCEVC
	  enhancement data from SEI Nal units (Supplemental enhancement Information).
	  However, other elements such as demuxers can also use this API if the LCEVC
	  enhancement data of the video is stored in a separate stream in the container.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7330>

2024-09-16 23:34:15 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvdecoder.cpp:
	* sys/nvcodec/gstnvdecoder.h:
	* sys/nvcodec/plugin.c:
	  nvdecoder: Add support for D3D12 output
	  Enable D3D12 output if device can support D3D12 interop
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7529>

2024-09-16 23:24:30 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudainterop_d3d12.cpp:
	* sys/nvcodec/gstcudainterop_d3d12.h:
	* sys/nvcodec/gstnvencoder.cpp:
	  nvcodec: Add support CUDA to D3D12 memory copy
	  Adding CUDA -> D3D12 memory copy method to GstCudaD3D12Interop
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7529>

2024-09-24 23:43:07 -0700  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkenc.c:
	  msdkenc: Guard the read of thiz->initialized with the modification of this value
	  This is to avoid wrongly read/write thiz->initialized when multi-thread
	  invoking encoder init function, it is possible when user apps deploy
	  multi-thread to dynamically change encoder's settings.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7578>

2024-09-24 17:32:54 +0300  Sebastian Dröge <sebastian@centricular.com>

	* sys/aja/gstajadeviceprovider.cpp:
	  ntv2: Update to AJA NTV2 SDK 17.1.0
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7568>

2024-09-03 12:16:19 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/nvcomp/gstnvcompvideodec.cpp:
	* ext/ttml/gstttmlparse.c:
	* ext/vulkan/vkdownload.c:
	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh265dec.c:
	* ext/vulkan/vkupload.c:
	* gst-libs/gst/vulkan/gstvkswapper.c:
	* gst/interlace/gstinterlace.c:
	* sys/amfcodec/gstamfav1enc.cpp:
	* sys/amfcodec/gstamfh264enc.cpp:
	* sys/amfcodec/gstamfh265enc.cpp:
	* sys/androidmedia/gstamcvideodec.c:
	* sys/applemedia/avfvideosrc.m:
	* sys/d3d11/gstd3d11convert.cpp:
	* sys/d3d11/gstd3d11decoder.cpp:
	* sys/d3d11/gstd3d11deinterlace.cpp:
	* sys/d3d11/gstd3d11download.cpp:
	* sys/d3d11/gstd3d11h265dec.cpp:
	* sys/d3d11/gstd3d11ipcsink.cpp:
	* sys/d3d11/gstd3d11screencapturesrc.cpp:
	* sys/d3d11/gstd3d11upload.cpp:
	* sys/d3d11/gstd3d11vp9dec.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12download.cpp:
	* sys/d3d12/gstd3d12h264enc.cpp:
	* sys/d3d12/gstd3d12ipcsink.cpp:
	* sys/d3d12/gstd3d12memorycopy.cpp:
	* sys/d3d12/gstd3d12screencapturesrc.cpp:
	* sys/d3d12/gstd3d12upload.cpp:
	* sys/mediafoundation/gstmfvideoencoder.cpp:
	* sys/msdk/gstmsdkcaps.c:
	* sys/msdk/gstmsdkdec.c:
	* sys/msdk/gstmsdkenc.c:
	* sys/msdk/gstmsdkvpp.c:
	* sys/msdk/gstmsdkvpputil.c:
	* sys/nvcodec/gstcudaconvertscale.c:
	* sys/nvcodec/gstcudaipcsink.cpp:
	* sys/nvcodec/gstcudamemorycopy.c:
	* sys/nvcodec/gstnvav1encoder.cpp:
	* sys/nvcodec/gstnvdec.c:
	* sys/nvcodec/gstnvdecoder.cpp:
	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	* sys/qsv/gstqsvav1enc.cpp:
	* sys/qsv/gstqsvdecoder.cpp:
	* sys/qsv/gstqsvh264dec.cpp:
	* sys/qsv/gstqsvh264enc.cpp:
	* sys/qsv/gstqsvh265dec.cpp:
	* sys/qsv/gstqsvh265enc.cpp:
	* sys/qsv/gstqsvjpegdec.cpp:
	* sys/qsv/gstqsvjpegenc.cpp:
	* sys/qsv/gstqsvvp9dec.cpp:
	* sys/qsv/gstqsvvp9enc.cpp:
	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/va/gstvaav1dec.c:
	* sys/va/gstvabase.c:
	* sys/va/gstvabasedec.c:
	* sys/va/gstvacaps.c:
	* sys/va/gstvacompositor.c:
	* sys/va/gstvaencoder.c:
	* sys/va/gstvafilter.c:
	* sys/va/gstvavpp.c:
	* tests/check/libs/vkimagebufferpool.c:
	* tests/check/libs/vkvideodecode.c:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	* tests/examples/d3d11/d3d11converter.cpp:
	* tests/examples/nvcodec/nvcodec.c:
	  common: Use more efficient versions of GstCapsFeatures API where possible
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7432>

2024-08-30 18:57:03 +0300  Sebastian Dröge <sebastian@centricular.com>

	* sys/va/gstvabasedec.c:
	* sys/va/gstvavpp.c:
	  common: Stop using GQuark-based GstCapsFeatures API
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7432>

2024-08-29 20:09:52 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/curl/gstcurlhttpsrc.c:
	* ext/webrtc/gstwebrtcbin.c:
	* gst-libs/gst/player/gstplayer.c:
	* gst/debugutils/gsttestsrcbin.c:
	* sys/ipcpipeline/gstipcpipelinecomm.c:
	* sys/kms/gstkmssink.c:
	* sys/nvcodec/gstcudaconverter.c:
	* tests/check/elements/webrtcbin.c:
	* tests/examples/mxf/mxfdemux-structure.c:
	  common: Stop using GQuark-based GstStructure field name API
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7432>

2024-08-09 10:41:57 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/svthevcenc/gstsvthevcenc.c:
	* gst-libs/gst/mpegts/gstmpegtssection.c:
	* gst-libs/gst/play/gstplay.c:
	* gst/mpegtsdemux/tsdemux.c:
	* gst/mxf/mxfaes-bwf.c:
	* gst/mxf/mxfffv1.c:
	* gst/mxf/mxfmetadata.c:
	* gst/mxf/mxfmetadata.h:
	* gst/mxf/mxfmpeg.c:
	  common: Stop using GQuark-based GstStructure name API
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7432>

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

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12device-private.h:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12decodercpbpool.cpp:
	* sys/d3d12/gstd3d12decodercpbpool.h:
	* sys/d3d12/gstd3d12overlaycompositor.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	  d3d12: Fix resource allocation on old Windows version
	  D3D12_HEAP_FLAG_CREATE_NOT_ZEROED flag was introduced as of
	  Windows 10 May 2020 Update, and older versions don't understand
	  the heap flag. Checks the feature support and enables the
	  D3D12_HEAP_FLAG_CREATE_NOT_ZEROED only if it's supported by OS
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7573>

2024-05-30 07:34:22 +0000  Weijian Pan <pwjworks@gmail.com>

	* sys/applemedia/avfdeviceprovider.m:
	  avfdeviceprovider: Fix caps leak
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6966>

2024-09-24 13:31:34 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* ext/wpe/gstwpethreadedview.cpp:
	  wpe: initialize threading.ready before reading it
	  Fix Valgrind warning.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7377>

2023-12-10 23:31:32 +0100  Michael Grzeschik <m.grzeschik@pengutronix.de>

	* sys/uvcgadget/gstuvcsink.c:
	  uvcsink: make gst_v4l2uvc_fourcc_to_bare_struct work with more raw formats
	  The uvcsink was limited to only transfer YUY2 and MJPEG. For the
	  uncompressed formats there is no technical reason not to support them.
	  Since gst_video_format_to_string is already supporting more fourcc than
	  only YUY2 we use the default path in gst_v4l2uvc_fourcc_to_bare_struct
	  to create structures for more formats and bail out if the returned
	  format is not from the uncompressed type.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6037>

2024-09-24 17:01:10 +0200  Hugues Fruchet <hugues.fruchet@foss.st.com>

	* sys/kms/gstkmsallocator.c:
	  kmsallocator: fix stride with planar formats
	  This fixes a regression introduced by the merge request
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3801
	  The extrapolated stride was computed but not used, resulting in the same
	  stride being applied to all planes.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7566>

2024-09-24 01:07:13 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12convert.h:
	* sys/d3d12/plugin.cpp:
	  d3d12: Add colorconvert and scale elements
	  In addition to existing d3d12convert element which supports
	  color conversion and rescale at once, adding
	  separate color-conversion-only and scale-only elements
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7560>

2024-09-20 23:46:32 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	* gst-libs/gst/d3dshader/gstd3dshadercache.h:
	* gst-libs/gst/d3dshader/plugin-hlsl/CSMain_mipgen.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/hlsl.h:
	* gst-libs/gst/d3dshader/plugin-hlsl/meson.build:
	* sys/d3d12/gstd3d12mipgen.cpp:
	* sys/d3d12/gstd3d12mipgen.h:
	* sys/d3d12/gstd3d12mipmapping.cpp:
	* sys/d3d12/gstd3d12mipmapping.h:
	* sys/d3d12/meson.build:
	* sys/d3d12/plugin.cpp:
	  d3d12: Add d3d12mipmapping element
	  Adding a new element for texture conversion from single mip level
	  texture to mipmapping enabled RGBA texture
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7555>

2024-09-21 04:33:02 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter.h:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* sys/d3d12/gstd3d12pluginutils.cpp:
	  d3d12: Use D3D12_FILTER_MIN_MAG_MIP_LINEAR filter by default
	  ... instead of D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT, since we supports
	  mipmap texture now.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7555>

2024-09-20 22:56:08 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12bufferpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12memory-private.h:
	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	* gst-libs/gst/d3d12/gstd3d12memory.h:
	  d3d12: Add support for mipmap texture
	  Consider D3D12_RESOURCE_DESC.MipLevels > 1 or zero case
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7555>

2024-09-19 21:29:18 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	  d3d12converter: Fix crash on pso update
	  Allocates D3D12_INPUT_ELEMENT_DESC memory on heap instead of using
	  stack memory for later reuse
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7550>

2024-09-19 19:31:20 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12swapchainsink.cpp:
	  d3d12swapchainsink: Add auto-resize mode
	  Automatically resize swapchain backbuffer to be identical to
	  stream resolution if user calls resize() signal with zero resolution
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7550>

2024-09-19 01:23:50 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12swapchainsink.cpp:
	  d3d12swapchainsink: Add support for MSAA
	  Adding "msaa" property and enable MSAA if supported by device
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7550>

2024-09-19 00:21:21 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12pluginutils.cpp:
	* sys/d3d12/gstd3d12pluginutils.h:
	* sys/d3d12/gstd3d12window-swapchain.cpp:
	  d3d12videosink: Use converter config for initial MSAA setup
	  Avoid redundant pso creation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7550>

2024-09-18 23:53:23 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter.h:
	  d3d12converter: Add support initial pso DXGI_SAMPLE_DESC setting
	  Add more options for pso, in order to avoid redundant pso
	  creation when MSAA is used
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7550>

2024-09-18 19:59:13 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12swapchainsink.cpp:
	  d3d12swapchainsink: Add sampling-method property
	  Allow setting sampler filter method to use
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7550>

2024-09-18 23:24:55 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12convert.cpp:
	  d3d12convert: Use new sampler filter update method
	  ... instead of creating new converter
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7550>

2024-09-18 20:21:22 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	  d3d12converter: Add support for sampler filter update
	  Creates new root signature and pipeline state object
	  if sampler filter method is updated
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7550>

2024-09-18 23:01:57 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter-builder.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter-builder.h:
	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12device-private.h:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	  d3d12converter: Use generated sampler
	  ... instead of static ones, in order to support sampler state update
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7550>

2024-09-07 11:06:12 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvadecoder.c:
	  va: decoder: Delete all the internal locks
	  In fact, the va decoder is just a internal helper class and its access
	  is under the control of all dec elements. So far, there is no parallel
	  operation on it now.
	  At the other side, some code scan tools report race condition issues.
	  For example, the "context" field is just protected with lock at _open()
	  but is not protected at _add_param_buffer().
	  So we just delete all its lock usage.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7547>

2024-09-07 10:45:09 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gsth264bitwriter.c:
	  h264bitwriter: Add check for data size to avoid overflow
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7547>

2024-09-07 10:26:22 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gsth265bitwriter.c:
	  h265bitwriter: Add check for data size to avoid overflow
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7547>

2024-09-06 23:44:53 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvajpegenc.c:
	  va: jpegenc: Fix a memory leak when filter sink caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7547>

2024-09-06 23:35:59 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabasetransform.c:
	  va: vpp: Use gst_caps_replace to operate the filter_caps
	  No need to use lock when we assign value to priv->filter_caps.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7547>

2024-09-18 16:15:49 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mxf/mxfmux.c:
	  mxfmux: Use gst_aggregator_update_segment() instead of randomly pushing a segment event
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7542>

2024-09-18 16:15:11 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegtsmux: Use gst_aggregator_push_src_event() for pushing downstream events
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7542>

2024-09-17 14:48:03 +0200  Benjamin Gaignard <benjamin.gaignard@collabora.com>

	* sys/v4l2codecs/gstv4l2codech265dec.c:
	  v4l2codecs: h265: Minimize memory allocation
	  Be smarter when allocating sink and source memory pools to reduce the
	  memory footprint. Use gst_v4l2_decoder_get_render_delay() to know the
	  need number of buffers for downstream element.
	  Handle errors in case of memory allocation failures.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7544>

2024-02-12 14:02:44 +0800  Tim Blechmann <tim@klingt.org>

	* ext/mdns/gstmicrodnsdevice.c:
	  mdns: fix thread names
	  Linux thread names are limited to 15 chars. providing long thread names
	  causes the thread name not to be applied at all
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6094>

2024-09-17 23:03:14 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decodercpbpool.cpp:
	  d3d12decoder: Disable sub-allocated bitstream buffer
	  This sub-allocation causes decoding artifacts for some reason
	  on Intel platform
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7535>

2024-09-17 18:31:30 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegtsmux: Fix refcounting issue when selecting the best pad
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7538>

2024-09-06 10:44:46 +0200  Edward Hervey <edward@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/mpegtsdemux/gstmpegdesc.h:
	* gst/mpegtsdemux/tsdemux.c:
	* gst/mpegtsmux/gstbasetsmux.c:
	* gst/mpegtsmux/gstmpegtsmux.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.h:
	  mpegts: Add support for SMPTE ST-2038 ANC
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7461>

2024-09-17 10:36:58 -0400  Xavier Claessens <xclaessens@netflix.com>

	* sys/aja/gstajasinkcombiner.cpp:
	  aja: there is no need to take object lock
	  Both _sink_event() and _aggregate() vfunc are called from the source pad
	  streaming thread. There is thus no need to protect caps fields.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7536>

2024-07-15 16:10:10 +0200  Edward Hervey <edward@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst-libs/gst/mpegts/gstmpegtsdescriptor.c:
	* gst-libs/gst/mpegts/gstmpegtsdescriptor.h:
	* gst-libs/gst/mpegts/gstmpegtssection.h:
	* gst/mpegtsdemux/tsdemux.c:
	* gst/mpegtsmux/gstbasetsmux.c:
	* gst/mpegtsmux/gstbasetsmuxjpegxs.c:
	* gst/mpegtsmux/gstbasetsmuxjpegxs.h:
	* gst/mpegtsmux/gstmpegtsmux.c:
	* gst/mpegtsmux/meson.build:
	* gst/mpegtsmux/tsmux/tsmuxstream.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.h:
	  mpegts: Add support for JPEG-XS
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7172>

2024-08-29 14:49:59 +0200  Edward Hervey <edward@centricular.com>

	* gst/mpegtsmux/tsmux/tsmuxstream.c:
	  tsmux: Split off j2k descriptor code in separate function
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7172>

2024-08-28 11:07:32 +0200  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/mpegts/gstmpegts-private.h:
	* gst-libs/gst/mpegts/gstmpegtsdescriptor.c:
	* gst-libs/gst/mpegts/gstmpegtsdescriptor.h:
	* tests/examples/mpegts/ts-parser.c:
	  mpegts: Handle ISO 13818 / ITU H.222.0 base extension descriptor
	  Previously this was hardcoded to the DVB extension descriptors (0x7f), but it
	  should also be applied for the base specification extension descriptors (0x3f)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7172>

2024-09-11 19:07:14 +0100  Tim-Philipp Müller <tim@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/svtjpegxs/gstsvtjpegxs.c:
	* ext/svtjpegxs/gstsvtjpegxsdec.c:
	* ext/svtjpegxs/gstsvtjpegxsenc.c:
	  svtjpegxs: add to documentation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7430>

2024-08-30 11:19:06 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/svtjpegxs/gstsvtjpegxsenc.c:
	  svtjpegxsenc: put "codestream-length" into caps
	  So consumers can calculate the maximum bitrate (brat)
	  from that for various descriptors, in combination with
	  the framerate.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7430>

2024-08-22 14:15:35 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/svtjpegxs/gstsvtjpegxs.c:
	* ext/svtjpegxs/gstsvtjpegxsdec.c:
	* ext/svtjpegxs/gstsvtjpegxsdec.h:
	* ext/svtjpegxs/meson.build:
	  svtjpegxs: add SVT JPEG XS decoder
	  Based on: https://github.com/OpenVisualCloud/SVT-JPEG-XS/
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7430>

2024-07-13 17:45:02 +0200  Tim-Philipp Müller <tim@centricular.com>

	* ext/meson.build:
	* ext/svtjpegxs/gstsvtjpegxs.c:
	* ext/svtjpegxs/gstsvtjpegxsenc.c:
	* ext/svtjpegxs/gstsvtjpegxsenc.h:
	* ext/svtjpegxs/meson.build:
	* meson_options.txt:
	  svtjpegxs: add SVT JPEG XS encoder
	  Based on: https://github.com/OpenVisualCloud/SVT-JPEG-XS/
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7430>

2024-09-09 00:31:21 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvav1encoder.cpp:
	* sys/nvcodec/gstnvcodecutils.cpp:
	* sys/nvcodec/gstnvcodecutils.h:
	* sys/nvcodec/gstnvencoder.cpp:
	* sys/nvcodec/gstnvencoder.h:
	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	* sys/nvcodec/meson.build:
	  nvencoder: Add support for d3d12 memory
	  Use d3d12 -> cuda memory copy helper object in cuda mode encoder
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7480>

2024-09-08 01:00:12 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudainterop_d3d12.cpp:
	* sys/nvcodec/gstcudainterop_d3d12.h:
	* sys/nvcodec/meson.build:
	  nvcodec: Add a helper object for d3d12 interop
	  Adding new helper object for d3d12 -> cuda memory copy
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7480>

2024-09-08 21:01:47 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12utils.cpp:
	* gst-libs/gst/d3d12/gstd3d12utils.h:
	  d3d12: Add gst_d3d12_get_copyable_footprints() method
	  This helper method will calculate buffer resource size and layout
	  required for (mutiple) texture resources to be stored in a single
	  buffer resource
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7480>

2024-09-08 00:06:58 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12commandlistpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	  d3d12device: Hold compute queue
	  Compute queue will be used for async compute task or device-to-device
	  memory copy
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7480>

2024-09-14 03:12:46 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/cuda-gst.h:
	* gst-libs/gst/cuda/gstcudacontext.cpp:
	* gst-libs/gst/cuda/gstcudaloader-private.h:
	* gst-libs/gst/cuda/gstcudaloader.cpp:
	* gst-libs/gst/cuda/stub/cuda.h:
	  cuda: Load external resource interop symbols
	  Required for d3d12 interop
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7480>

2024-09-05 22:07:24 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
	  video: Don't overshoot QoS earliest time by a factor of 2
	  By setting the earliest time to timestamp + 2 * diff there would be a difference
	  of 1 * diff between the current clock time and the earliest time the element
	  would let through in the future. If e.g. a frame is arriving 30s late at the
	  sink, then not just all frames up to that point would be dropped but also 30s of
	  frames after the current clock time.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7459>

2024-09-11 08:40:42 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegtsmux: Wait for data on all pads before deciding on a best pad unless timing out
	  This makes sure that if upstream has different latencies that we're still
	  outputting buffers with increasining timestamps across the different streams
	  unless buffers are arriving after the latency deadline.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7500>

2024-08-30 01:38:23 +0900  Seungha Yang <seungha@centricular.com>

	* tests/examples/cuda/cudamemorypool.c:
	* tests/examples/cuda/meson.build:
	  examples: Add application CUDA memory pool example
	  An example to show application managed CUDA memory pool usage
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7427>

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

	* gst-libs/gst/cuda/gstcudamemory.cpp:
	* gst-libs/gst/cuda/gstcudamemory.h:
	  cuda: Add support for application cuda memory pool
	  Adding gst_cuda_register_allocator_need_pool_callback() method
	  to support memory allocation from application's CUmemoryPool
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7427>

2024-08-29 22:18:48 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcuda.h:
	* gst-libs/gst/cuda/gstcudamemorypool.cpp:
	* gst-libs/gst/cuda/gstcudamemorypool.h:
	* gst-libs/gst/cuda/meson.build:
	  cuda: Add CUDA memory pool object
	  Adding a wrapper object for CUmemoryPool handle to use the native
	  handle in a refcounted way
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7427>

2024-09-10 19:29:44 +0900  Seungha Yang <seungha@centricular.com>

	* docs/libs/cuda/index.md:
	* gst-libs/gst/cuda/gstcudabufferpool.cpp:
	* gst-libs/gst/cuda/gstcudabufferpool.h:
	* gst-libs/gst/cuda/gstcudacontext.cpp:
	  cuda: Add methods to enable stream ordered allocation
	  Adding prefer-stream-ordered-alloc property to GstCudaContext.
	  If stream ordered allocation buffer pool option is not configured
	  and this property is enabled, buffer pool will enable the stream
	  ordered allocation. Otherwise it will follow default behavior.
	  If GST_CUDA_ENABLE_STREAM_ORDERED_ALLOC env is set,
	  default behavior is enabling the stream ordered allocation.
	  Otherwise sync alloc/free method will be used.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7427>

2024-08-30 00:39:06 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvencoder.cpp:
	  nvencoder: Disable stream ordered allocation
	  Stream ordered allocation is not supported by encoder
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7427>

2024-08-29 20:24:56 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstcudaipcsink.cpp:
	  cudaipcsink: Disable stream ordered allocation
	  Legacy CUDA IPC does not support default CUDA memory pool
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7427>

2024-08-29 20:15:20 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcuda-private.h:
	* gst-libs/gst/cuda/gstcudabufferpool.cpp:
	* gst-libs/gst/cuda/gstcudabufferpool.h:
	* gst-libs/gst/cuda/gstcudamemory.cpp:
	* gst-libs/gst/cuda/gstcudamemory.h:
	  cuda: Add support for stream ordered allocation
	  Default CUDA memory allocation will cause implicit global
	  synchronization. This stream ordered allocation can avoid it
	  since memory allocation and free operations are asynchronous
	  and executed in the associated cuda stream context
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7427>

2024-08-29 18:23:37 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/cuda-gst.h:
	* gst-libs/gst/cuda/gstcuda-private.h:
	* gst-libs/gst/cuda/gstcudacontext.cpp:
	* gst-libs/gst/cuda/gstcudaloader-private.h:
	* gst-libs/gst/cuda/gstcudaloader.cpp:
	* gst-libs/gst/cuda/stub/cuda.h:
	  cuda: Load stream ordered allocation related symbols
	  Required to support async memory allocation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7427>

2024-08-30 14:59:14 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/wayland/gstwldisplay.c:
	* gst-libs/gst/wayland/gstwlshmallocator.c:
	* gst-libs/gst/wayland/gstwlshmallocator.h:
	  wayland: Set a debug category for the shm allocator
	  None was set, which meant the debug was associated with default.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7482>

2024-09-09 16:27:43 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/wayland/gstwaylandsink.c:
	* gst-libs/gst/wayland/gstwlcontext.c:
	* gst-libs/gst/wayland/gstwlcontext.h:
	  wayland: Fix ABI break in WL context type name
	  While transforming the internals of waylandsink into a library, the
	  context type name was accidentally changed, causing an ABI break. Change
	  it back to its original (as used by the libgstgl), and add support for
	  the misnamed version as a backward compatibility measure.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7482>

2024-09-10 00:10:21 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/vulkan/gstvkfullscreenquad.c:
	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	* gst-libs/gst/vulkan/gstvkoperation.c:
	  vulkan: Fix some doc strings and also some g-i warnings
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7481>

2023-07-18 17:34:54 +0200  Michael Tretter <m.tretter@pengutronix.de>

	* sys/uvcgadget/gstuvcsink.c:
	  uvcsink: set cur_caps to upstream selected caps
	  If the UVC gadget announces multiple formats in the descriptors the uvcsink
	  doesn't select the actual format but let's the UVC hosts select the format.
	  If the GStreamer pipeline is started before a UVC host selected the format,
	  upstream decides on a format until the UVC host has decided. In this case, the
	  current format needs to be set based on the caps from the caps event to be able
	  to detect if the format selection by the UVC host requires a format change on
	  the GStreamer pipeline.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7473>

2024-09-05 15:04:33 +0200  Michael Tretter <m.tretter@pengutronix.de>

	* sys/uvcgadget/gstuvcsink.c:
	  uvcsink: skip comparison with prev_caps if they are not set
	  The uvcsink may be put into the READY state to start listening for UVC requests.
	  Therefore, the UVC host may set a streaming format before the GStreamer pipeline
	  is started and the uvcsink received a caps event. In this case, prev_caps will
	  be NULL.
	  If the EVENT_CAPS has not been received, skip the check if the format needs to
	  be changed, since the sink will be started with the format selected by the UVC
	  host, anyway.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7473>

2024-08-29 12:16:16 +0200  Edward Hervey <edward@centricular.com>

	* gst/mpegtsmux/gstatscmux.c:
	* gst/mpegtsmux/gstbasetsmux.c:
	* gst/mpegtsmux/tsmux/tsmux.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.h:
	  mpegtsmux: Cleanup TsMuxStream fields
	  Instead of using plenty of case-specific booleans:
	  * Store type as GstStreamType
	  * Store unique stream type
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7476>

2024-09-06 10:51:01 +0200  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/play/gstplay.c:
	  gstplay: Name the different bus
	  Makes it clearer when reading logs which one is which
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7462>

2024-09-06 01:07:43 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	  nvencoder: Prefer byte-stream format over packetized
	  Since old encoder implementation supported only byte-stream,
	  prefers byte-stream format for backward compatibility.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3787
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7457>

2024-09-02 12:15:41 +0200  Michael Scherle <michael.scherle@rz.uni-freiburg.de>

	* sys/va/gstvacompositor.c:
	* sys/va/gstvafilter.c:
	* sys/va/gstvafilter.h:
	* sys/va/gstvavpp.c:
	  va: restrict interpolation & scaling property to iHD driver
	  interpolation & scaling is supported for all hardware on
	  iHD driver. But not supported in mesa driver. see:
	  <https://github.com/intel/media-driver/issues/1843>
	  <https://gitlab.freedesktop.org/mesa/mesa/-/issues/11803>
	  improvment of:
	  <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7301>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7443>

2024-09-05 01:14:17 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/va/gstvavideoformat.c:
	  va: videoformat: Correct NV21's BPP
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6022>

2024-09-02 13:18:13 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvajpegenc.c:
	  vajpegenc: set interlace-mode, colorspace and sampling in output caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6022>

2024-09-02 13:17:01 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/vasurfaceimage.c:
	  vasurfaceimage: log surface status string
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6022>

2024-01-30 23:46:36 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvajpegenc.c:
	* sys/va/gstvajpegenc.h:
	* sys/va/meson.build:
	* sys/va/plugin.c:
	  va: Implement the vajpegenc plugin
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6022>

2024-08-30 23:00:48 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	  va: baseenc: Check the bitrate property before get its value
	  Not all the encoders have the bitrate property, such as the jpeg enc.
	  We need to check that property before getting its value, or the glib
	  will print warnings.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6022>

2024-01-30 23:24:18 +0800  He Junyan <junyan.he@intel.com>

	* tests/check/libs/jpegbitwriter.c:
	* tests/check/meson.build:
	  tests: Add the jpeg bit code writer test case
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6022>

2024-01-30 23:14:39 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gstjpegbitwriter.c:
	* gst-libs/gst/codecparsers/gstjpegbitwriter.h:
	* gst-libs/gst/codecparsers/meson.build:
	  codecparsers: Implement the jpeg bit code writer
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6022>

2024-09-05 10:08:17 +0200  Edward Hervey <edward@centricular.com>

	* tests/check/elements/dash_mpd.c:
	  check: Disable failing test
	  Test hasn't been properly fixed for several years with modern libsoup, and it
	  only for the legacy adaptive demuxer.
	  Fixes #3783
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7454>

2024-08-26 14:46:59 +1000  Matthew Waters <matthew@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: enable forward-unknown-ssrc on rtpfunnel
	  See also: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7405
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7409>

2024-09-03 20:10:42 +0900  Seungha Yang <seungha@centricular.com>

	* sys/dwrite/gstdwriterender_d3d12.cpp:
	  dwrite: Allow unlimited number of in-flight d3d12 commands
	  ... so that it can be controlled by global direct command queue.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7444>

2024-09-03 19:33:41 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	  d3d12: Add async-depth property
	  Adding a property to control the number of in-flight GPU commands
	  (default is unlimited). Note that actual maximum number is defined
	  in d3d12device's direct command queue object which is 32 now,
	  thus total number of scheduled GPU commands cannot exceed 32.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7444>

2024-09-03 17:04:49 +0200  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc: Use new release_frame/drop_frame encoder API
	  Replaces usage of gst_video_codec_frame_unref everywhere.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7173>

2024-09-03 17:00:09 +0200  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtenc.c:
	* sys/applemedia/vtenc.h:
	  vtenc: Restart encoding session when certain errors are detected
	  Sometimes under certain loads, VT can error out with kVTVideoEncoderMalfunctionErr or kVTVideoEncoderNotAvailableNowErr.
	  These have been reported to happen more often than usual if CopyProperty/SetProperty() is used close to the encode call.
	  Both can be worked around by restarting the encoding session.
	  These errors can be returned either directly from VTCompressionSessionEncodeFrame() or later in the encoding callback.
	  This patch handles both scenarios the same way - a session restart is be attempted on the next encode_frame() call.
	  If the error is returned immediately by the encode call, it's possible that some correct frames will still be given to
	  the output callback, but for simplicity (+ because I wasn't able to verify this scenario) let's just discard those.
	  In addition, this commit also simplifies the beach/drop logic in enqueue_buffer.
	  Related bug reports in other projects:
	  http://www.openradar.me/45889262
	  https://github.com/aws/amazon-chime-sdk-ios/issues/170#issuecomment-741908622
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7173>

2024-09-02 18:25:56 +0900  Hou Qi <qi.hou@nxp.com>

	* gst-libs/gst/play/gstplay.c:
	  gstplay: check whether stream is seekable before seeking when state change
	  If state is changing from playing to paused, and rate is reset to 1
	  which causes seek position is valid, current code will do seek for
	  streams that are not seekable. So need to check whether stream is
	  seekable before seeking.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7441>

2024-08-20 02:01:34 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/codecs/gsth264decoder.c:
	* gst-libs/gst/glib-compat-private.h:
	* sys/va/gstvaav1enc.c:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	* sys/va/gstvavp9enc.c:
	* sys/va/meson.build:
	  gst-plugins-bad: use g_sort_array() instead of deprecated g_qsort_with_data()
	  Fixes compiler warnings with the latest GLib versions.
	  See https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4127
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7384>

2024-08-30 09:52:55 +0200  Oskar Fiedot <oskar.fiedot@intel.com>

	* gst-libs/gst/analytics/gstanalyticsclassificationmtd.c:
	* gst-libs/gst/analytics/gstanalyticsclassificationmtd.h:
	* gst-libs/gst/analytics/gstanalyticsmeta.c:
	* gst-libs/gst/analytics/gstanalyticsmeta.h:
	* gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c:
	* gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.h:
	* gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.c:
	* gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.h:
	  analytics: Change pointers in getters to const
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7403>

2024-08-29 12:01:30 +0100  Philippe Normand <philn@igalia.com>

	* ext/webrtc/gstwebrtcbin.c:
	* tests/check/elements/webrtcbin.c:
	  webrtcbin: Prevent crash when attempting to set answer on invalid SDP
	  If the pending remote description has an invalid BUNDLE group _parse_bundle()
	  triggers early return from _create_answer_task(), before ret has been
	  initialized, so it needs to be checked before attempting to call
	  gst_sdp_message_copy().
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7423>

2024-07-27 08:53:47 +0200  Edward Hervey <edward@centricular.com>

	* tests/check/gst-plugins-bad.supp:
	  bad: Add suppression for libsrt issues
	  This is not code we control
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7415>

2024-07-27 08:29:53 +0200  Edward Hervey <edward@centricular.com>

	* tests/check/elements/lc3.c:
	  check: Fix leak in lc3 test
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7415>

2024-08-27 11:52:08 +0200  Carlos Bentzen <cadubentzen@igalia.com>

	* ext/webrtc/gstwebrtcbin.c:
	* tests/check/elements/webrtcbin.c:
	  webrtcbin: fix regression with missing RTP header extensions in Answer SDP
	  webrtcsrc first creates recvonly transceivers with codec-preferences
	  and expects that after applying a remote description, the
	  previously created transceivers are used rather than having new
	  transceivers created.
	  When pairing webrtcsink + webrtcsrc, the offer sdp from webrtcsink has a media
	  section with sendonly direction. In !7156, which was implemented following
	  RFC9429 Section 5.10, we only reuse a unassociated transceiver when applying a
	  remote description if the media is sendrecv or recvonly, and that caused creation
	  of new transceivers when applying a remote offer in webrtcsrc, thus losing
	  information from codec preferences like the RTP extension headers in the
	  previously created transceivers.
	  Since the change in !7156 broke existing code from webrtcsrc, relax the condition
	  for reusing unassociated transceivers and add a test to document this behavior which
	  wasn't covered by any tests before.
	  Fixes #3753.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7417>

2024-08-21 13:23:36 +0100  Francis Quiers <fquiers@cisco.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/voamrwbenc/gstvoamrwbenc.c:
	  voamrwbenc: fix list of bitrates
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7396>

2024-08-09 09:41:07 +0000  Daniel Pendse <daniel.pendse@spiideo.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/rtmp2/rtmp/rtmpclient.c:
	* gst/rtmp2/rtmp/rtmpclient.h:
	  rtmp2: Add llnw auth support to rtmp client
	  Add support for Limelight CDN (llnw) authentication. Inspired
	  by the ffmpeg implementation of llnw auth.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7410>

2024-07-25 17:50:26 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/videoparsers/gsth264parse.c:
	* gst/videoparsers/gsth265parse.c:
	  h264parse, h265parse: Fix time code calculation
	  We need to multiply for the nuit_field_based_flag before scaling, or
	  we'll lose precision and end up only adding even timecodes.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7241>

2024-08-23 16:21:43 +0200  RSWilli <bartel.wilhelm@gmail.com>

	* gst-libs/gst/webrtc/webrtc_fwd.h:
	  webrtc: fix documentation error in GstWebRTCKind
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7407>

2024-08-08 06:23:47 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/timecode/gsttimecodestamper.c:
	* gst/timecode/gsttimecodestamper.h:
	  timecodestamper: Add running-time source mode
	  Add a new source mode "running-time". This mode will convert buffer
	  running time into timecode
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7322>

2024-08-21 09:24:58 -0400  Thibault Saunier <tsaunier@igalia.com>

	* tests/validate/autovideoconvert/renegotiate/flow-expectations/log-^convert-src$-expected:
	  ci: Fail tests if we forget to checkout expectation files
	  And add missing expectation files
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7400>

2024-08-20 22:09:13 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/player/gstplayer.c:
	  gstplayer: Check GstPlayerSignalDispatcher type
	  Before trying to retrieve a GMainContext from a provided
	  GstPlayerSignalDispatcher, check that it is actually
	  GstPlayerGMainContextSignalDispatcher. If not, use the
	  default GMainContext for dispatching signals via the adapter
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7392>

2024-08-21 09:19:39 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* ext/wpe/gstwpesrcbin.cpp:
	  wpe: fix gst-launch example
	  wpesrc does not have num-buffers property but wpevideosrc does.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7389>

2024-06-07 00:01:10 +0900  Seungha Yang <seungha@centricular.com>

	* tests/examples/cuda/cuda-template.c:
	* tests/examples/cuda/meson.build:
	* tests/examples/cuda/template-plugin/cuda-transform-ip-template.c:
	* tests/examples/cuda/template-plugin/cuda-transform-ip-template.h:
	* tests/examples/cuda/template-plugin/plugin.c:
	  examples: Add CUDA based in-place transform element example
	  Adding a CUDA example element for plugin developers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7004>

2024-08-20 19:20:34 +1000  Jan Schmidt <jan@centricular.com>

	* tests/check/elements/webrtcbin.c:
	  webrtc: Fix racy unit test
	  Don't reuse the same stats state structure across multiple
	  get-stats calls. Make each callback take a copy of the
	  non-changing fields it needs and use a local working copy
	  to avoid crashing.
	  Fixes problems with the unit test crashing sometimes for the
	  unit test introduced in MR !7338
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7387>

2024-08-20 18:57:50 +1000  Jan Schmidt <jan@centricular.com>

	* ext/webrtc/gstwebrtcstats.c:
	  webrtcbin: Always populate rtp-inbound stats fields
	  Even if there's no jitterbuffer yet for an incoming stream,
	  make sure to populate the mandatory statistics with 0 entries.
	  Fixes problems with the unit test failing sometimes for the
	  unit test introduced in MR !7338
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7387>

2024-08-05 11:46:28 +0200  Michael Scherle <michael.scherle@rz.uni-freiburg.de>

	* sys/va/gstvacompositor.c:
	* sys/va/gstvafilter.c:
	* sys/va/gstvafilter.h:
	* sys/va/gstvavpp.c:
	  va: add interpolation method for scaling
	  For description of interpolation methods, see:
	  <https://intel.github.io/libva/structVAProcPipelineParameterBuffer.html#abb95e119ed7f841f71b2afbec2104784>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7301>

2024-08-19 14:34:28 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvabasedec.c:
	* sys/va/gstvabaseenc.c:
	* sys/va/gstvabasetransform.c:
	* sys/va/gstvacompositor.c:
	  va: don't use GST_ELEMENT_WARNING in set_context() vmethod
	  Since bins can set the context of their children elements, the set_context()
	  vmethod shouldn't call bus messages post methods, since it locks the parent
	  object, the bin, which might be already locked, leading to a deadlock.
	  Fixes: #3706
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7378>

2024-08-16 22:33:03 +1000  Jan Schmidt <jan@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	* tests/check/elements/webrtcbin.c:
	  webrtcbin: Fix uint64 -> uint confusion for ice-candidate priority
	  ICE candidate priority is a 32-bit field and reported as such in the
	  webrtcbin statistics, but the documentation was incorrect, and the
	  unit test was looking for a uint64.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7338>

2024-08-12 22:17:14 +1000  Jan Schmidt <jan@centricular.com>

	* ext/webrtc/gstwebrtcstats.c:
	* tests/check/elements/webrtcbin.c:
	  webrtcbin: Fixes for bundled statistics generation
	  When multiple streams are bundled on the same transport,
	  the statistics would end up incorrectly generated,
	  as each pad would regenerate stats for every ssrc on the
	  transport, overwriting previous iterations and assigning
	  bogus media kind and other values to the wrong ssrc.
	  Fix by making sure each pad only loops and generates
	  statistics for the one ssrc that pad is receiving / sending.
	  Add a unit test that the codec kind field in RTP statistics
	  are now generated correctly.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2555
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7338>

2024-07-30 21:59:53 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12swapchainsink.cpp:
	* sys/d3d12/gstd3d12swapchainsink.h:
	* sys/d3d12/meson.build:
	* sys/d3d12/plugin.cpp:
	* tests/examples/d3d12/d3d12swapchainsink-win32.cpp:
	* tests/examples/d3d12/d3d12swapchainsink-winrt.cpp:
	* tests/examples/d3d12/meson.build:
	  d3d12: Add d3d12swapchainsink element
	  Adding a new videosink element for Windows composition API based
	  applications. Unlike d3d12videosink, this element will create only
	  DXGI swapchain by using IDXGIFactory2::CreateSwapChainForComposition()
	  without actual window handle, so that video scene can be composed
	  via Windows native composition API, such as DirectComposition.
	  Note that this videosink does not support GstVideoOverlay interface
	  because of the design.
	  The swapchain created by this element can be used with
	  * DirectComposition's IDCompositionVisual in Win32 app
	  * WinRT and WinUI3's UI.Composition in Win32/UWP app
	  * UWP and WinUI3 XAML's SwapChainPanel
	  See also examples in this commit which show usage of the videosink
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7287>

2024-08-08 14:09:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: fix typo
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7337>

2024-08-06 10:59:32 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvaav1dec.c:
	* sys/va/gstvaav1enc.c:
	* sys/va/gstvabaseenc.c:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	* sys/va/gstvavp8dec.c:
	* sys/va/gstvavp9enc.c:
	  va: replace %d for %u format for system_frame_number guint32 variable
	  And also fixed the format for other less frequently printed variables.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7337>

2024-08-06 10:58:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: update b_pryamid property if it changes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7337>

2024-08-06 10:57:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	  vah26xenc: use gst_h26x_slice_type_to_string()
	  Rather than custom function.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7337>

2024-08-16 14:47:52 +1000  Jan Schmidt <jan@centricular.com>

	* tests/check/elements/webrtcbin.c:
	  tests/webrtcbin: Add a lock around the stats test
	  Prevent any race if both webrtcbin end up generating their
	  statistics simultaneously, however unlikely.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7365>

2024-08-16 14:46:19 +1000  Jan Schmidt <jan@centricular.com>

	* tests/check/elements/webrtcbin.c:
	  tests/webrtcbin: Fix racy rollback test
	  Prevent the default webrtc test machinery from attempting to
	  create and set an answer when we're just testing rollback
	  of the offers. Add some locking / waiting to ensure the test
	  is complete before exiting.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7365>

2024-08-16 08:58:47 +1000  Jan Schmidt <jan@centricular.com>

	* tests/check/elements/webrtcbin.c:
	  tests/webrtcbin: Use fail_unless_matches_string()
	  Use pattern matching against expected error strings that
	  might include internal element names, where the names
	  are default assigned with incrementing integers. When running
	  with CK_FORK=no, there may have been previous tests that
	  ran in the same process and incremented the counters more
	  than when running in the default fork-per-test mode.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7365>

2024-08-13 23:55:47 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvadeinterlace.c:
	  va: deinterlace: Do not use the backward reference
	  num_backward_references > 0 means we need to cache several frames
	  after the current frame. But the basetransform class does not
	  provide any _drain() kind function, so we do not have the chance
	  to push out our cached frames when EOS or set caps event comes.
	  Rather than losing the last several frames, we should just give up
	  the backward reference here.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7348>

2024-08-13 22:41:00 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvadeinterlace.c:
	  va: deinterlace: Push the forgotten leading frames if forward reference > 0
	  The current code forgets to push the first several frames if the forward
	  reference > 0. They are just cached in history array and will never be
	  deinterlaced and pushed.
	  For the first several frames, even the forward reference frames are not
	  enough, we still need to deinterlace them as normal and push them after that.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7348>

2024-08-14 19:44:40 +0800  Qian Hu (胡骞) <qian.hu@mediatek.com>

	* gst/jpegformat/gstjpegparse.c:
	  jpegparse: fix incorrect reading of transform in app14 marker
	  "adobe" in app14 marker seem not a null-terminted string. so, when
	  we use gst_byte_reader_get_string_utf8, more bytes will be read until
	  null. and "gst_byte_reader_get_uint8 (&reader, &transform)" will almost fail
	  to read transform
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7356>

2024-08-14 10:45:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: remove duplicated structure definition
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7354>

2024-08-14 10:30:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: don't override error on get_format() call
	  If gst_vulkan_video_encoder_get_format() fails it fills the error structure, so
	  it shouldn't be filled again.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7354>

2024-08-12 17:29:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: There's no need to store the aligned offset of 0
	  Since it's 0 too.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7354>

2024-08-12 17:27:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: use g_clear_pointer to unref packed headers
	  And use g_ptr_arra_unref() Instead of using the unrecommended g_ptr_array_free().
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7354>

2024-08-12 16:58:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vkencoder-private: don't check twice for encoder parameter
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7354>

2024-08-12 16:57:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	  vkencoder-private: fix code style
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7354>

2024-07-22 21:29:38 +0800  Qian Hu (胡骞) <qian.hu@mediatek.com>

	* gst-libs/gst/codecparsers/gsth264parser.c:
	* gst-libs/gst/codecparsers/gsth265parser.c:
	* tests/check/libs/h264parser.c:
	  h26xparse: bypass check for length_size_minus_one
	  fix playback fail, when some file with length_size_minus_one == 2
	  According to the spec 2 cannot be a valid value, so that stream has a
	  bad config record. but breaking the decoding because of that, perhaps is too much.
	  and ffmpeg seem not check this
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7213>

2024-05-21 22:28:05 +0300  Jordan Petridis <jordan@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* gst/rtmp2/gstrtmp2sink.c:
	* gst/rtmp2/gstrtmp2src.c:
	* gst/rtmp2/rtmp/amf.c:
	* gst/rtmp2/rtmp/amf.h:
	* gst/rtmp2/rtmp/rtmpclient.c:
	* gst/rtmp2/rtmp/rtmpclient.h:
	* gst/rtmp2/rtmp/rtmpconnection.c:
	* gst/rtmp2/rtmp/rtmpconnection.h:
	  rtmp2: reimplement librtmp's connection parameters for the connect packet
	  librtmp allows for attaching arbitrary AMF objects to the end of the
	  connect packet, and this is commonly used for authenticating with
	  servers.
	  Add a new property, extra-connect-args, that mimics librtmp's behavior.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7054>

2024-08-13 10:42:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/msdk/gstmsdkav1enc.c:
	* sys/msdk/gstmsdkcontext.c:
	* sys/msdk/gstmsdkh264enc.c:
	* sys/msdk/gstmsdkh265enc.c:
	* sys/msdk/gstmsdkmpeg2enc.c:
	* sys/msdk/gstmsdkvc1dec.c:
	* sys/msdk/gstmsdkvp9enc.c:
	  msdk: replace strcmp with g_strcmp0
	  Because strcmp doesn't handle NULL.
	  Fixes: #3721
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7347>

2024-06-23 23:09:00 +0200  Marijn Suijten <marijns95@gmail.com>

	* gst-libs/gst/vulkan/gstvkutils.c:
	  vulkan: Replace open-coded precondition checks with g_return_val_if_fail
	  While analyzing gst_vulkan_get_or_create_image_view_with_info() it
	  seems obvious that this function returns NULL, and that this should be
	  covered in the return annotations.  However, closer inspection indicates
	  that this is only a precondition check when the incoming arguments are
	  incompatible with each other, and should not be considered as a function
	  that optionally returns a pointer.
	  Signify this by using precondition checks instead of an opencoded
	  if-return-NULL.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5736>

2023-11-29 23:23:46 +0100  Marijn Suijten <marijns95@gmail.com>

	* gst-libs/gst/vulkan/gstvkdevice.c:
	  vulkan: Annotate queue getter as nullable
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5736>

2023-11-29 20:05:18 +0100  Marijn Suijten <marijns95@gmail.com>

	* gst-libs/gst/vulkan/gstvkbuffermemory.c:
	* gst-libs/gst/vulkan/gstvkbuffermemory.h:
	* gst-libs/gst/vulkan/gstvkmemory.c:
	* gst-libs/gst/vulkan/gstvkmemory.h:
	* gst-libs/gst/vulkan/gstvkutils.c:
	* gst-libs/gst/vulkan/gstvkutils.h:
	  vulkan: Mark some pointers to Vulkan info structures as const
	  These pointers are only used as read-only arguments, and should not be
	  treated as mutable.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5736>

2023-11-29 19:46:49 +0100  Marijn Suijten <marijns95@gmail.com>

	* gst-libs/gst/vulkan/gstvkdecoder-private.c:
	  vulkan: Add missing `out` annotation to `decoder_out_format()`
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5736>

2023-11-28 10:54:27 +0100  Marijn Suijten <marijns95@gmail.com>

	* gst-libs/gst/vulkan/gstvkdevice.c:
	* gst-libs/gst/vulkan/gstvkdisplay.c:
	* gst-libs/gst/vulkan/gstvkinstance.c:
	* gst-libs/gst/vulkan/gstvkqueue.c:
	  vulkan: Fix context get/set annotations
	  Most notably the out annotations for gst_context_get_* were missing,
	  causing us to generate the wrong bindings for Rust.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5736>

2024-08-01 13:42:52 +1000  Jan Schmidt <jan@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	* tests/check/elements/webrtcbin.c:
	  webrtcbin: Fix renegotiation checks
	  When checking for renegotiation against a local offer,
	  reverse the remote direction in the corresponding answer
	  to fix falsely not triggering on-negotiation needed when
	  switching (for example) from local sendrecv -> recvonly
	  against a peer that answered 'recvonly'.
	  In the other direction, when the local was the answerer,
	  renegotiation might trigger when it didn't need to -
	  whenever the local transceiver direction differs from
	  the intersected direction we chose. Instead what we want
	  is to check if the intersected direction we would now
	  choose differs from what was previously chosen.
	  This makes the behaviour in both cases match the
	  behaviour described in
	  https://www.w3.org/TR/webrtc/#dfn-check-if-negotiation-is-needed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7303>

2024-08-08 14:36:19 +0200  Benjamin Gräf <benjamin.graef@zuehlke.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/decklink/gstdecklink.cpp:
	* sys/decklink/gstdecklink.h:
	  decklink: Add support for all modes of Quad HDMI recorder
	  By extending the GstDecklinkModeEnum with the additional modes supported by the Quad HDMI recorder,
	  we avoid using mode = 0 in case any of these resolutions is returned by the card.
	  Fixes#3713
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7302>

2024-08-08 13:18:42 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/mpegts/gstmpegtsdescriptor.h:
	  mpegts: fix stray gtk-doc chunk
	  Trips up g-ir-scanner it seems:
	  gstmpegtsdescriptor.h:614: Error: GstMpegts: Skipping invalid GTK-Doc comment block
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793#note_2517855
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7324>

2024-08-08 16:37:35 +0800  Shengqi Yu <shengqi.yu@mediatek.com>

	* gst/autoconvert/gstbaseautoconvert.c:
	  baseautoconvert: correct mistake in printing log
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7323>

2024-08-07 19:14:26 +0100  Tim-Philipp Müller <tim@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/aom/gstav1enc.c:
	  aom: av1enc: restrict allowed input width and height
	  Restrict allowed input resolution to something sensible
	  in light of libaom CVE-2024-5171.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7320>

2024-08-05 22:10:28 +1000  Jan Schmidt <jan@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	* gst-libs/gst/webrtc/rtcsessiondescription.c:
	* tests/check/elements/webrtcbin.c:
	  webrtcbin: Make basic rollbacks work
	  Fixes for basic rollback (from have-local-offer or have-remote-offer to
	  stable). Allow having no SDP attached to the webrtc session description
	  in that case, and avoid all the transceiver and ICE update logic
	  normally applied when entering the stable signalling state
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7304>

2024-08-06 22:48:16 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/webrtc/webrtc_fwd.h:
	  webrtc: Add missing G_BEGIN/END_DECLS in header
	  Fix using webrtc.h from C++ by adding the GLib begin/end
	  decls markers around the header contents in webrtc_fwd.h
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7312>

2024-08-06 10:03:55 +1000  Matthew Waters <matthew@centricular.com>

	* sys/decklink/gstdecklinkvideosrc.cpp:
	  decklink: fix win32 build error
	  This was not caught by the CI in the MR.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7307>

2024-07-22 23:55:48 +1000  Matthew Waters <matthew@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* sys/decklink/gstdecklink.cpp:
	* sys/decklink/gstdecklink.h:
	* sys/decklink/gstdecklinkvideosink.cpp:
	* sys/decklink/gstdecklinkvideosink.h:
	* sys/decklink/gstdecklinkvideosrc.cpp:
	* sys/decklink/gstdecklinkvideosrc.h:
	  decklink: add support for HDR output and input
	  Supports PQ and HLG static metadata.
	  Support for HDR is queried from the device and selectively enabled when
	  supported.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7214>

2024-07-30 12:49:04 +1000  Jan Schmidt <jan@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/webrtc/gstwebrtcbin.c:
	* ext/webrtc/gstwebrtcbin.h:
	  webrtc: Add reuse-source-pads property
	  Add a property to avoid sending EOS on source pads when the
	  associated transceiver becomes inactive during renegotiation.
	  This allows the pads to become active again in a later
	  renegotiation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7237>

2024-07-25 21:25:58 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/webrtc/rtptransceiver.c:
	  webrtc: Fix transceiver `current-direction` property
	  Fix a typo registering the `current-direction` property
	  that made it just be a proxy for `direction` instead.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7237>

2024-07-24 20:59:51 +1000  Jan Schmidt <jan@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtc: Fixes for matching pads to unassociated transceivers
	  Fix an inverted condition when checking if sink pad caps match
	  the codec-preference of an unassociated transceiver, and
	  fix a condition check for transceiver media kind to
	  avoid matching sinkpad requests where caps aren't provided
	  against unassociated transceivers where the caps might
	  not match later.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7237>

2024-07-24 20:58:01 +1000  Jan Schmidt <jan@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: tracked maximum pad serial better
	  If a sink pad with a specific index is requested, also
	  increase the maximum pad serial number if necessary, so
	  that mixing fixed sink_X requests with unspecific sink_%u
	  requests works.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7237>

2024-08-02 11:21:13 +0200  Carlos Bentzen <cadubentzen@igalia.com>

	* ext/webrtc/gstwebrtcbin.c:
	* tests/check/elements/webrtcbin.c:
	  webrtcbin: connect output stream on recv transceivers
	  With MR 7156, transceivers and transports are created earlier,
	  but for sendrecv media we could get `not-linked` errors due to
	  transportreceivebin not being connected to rtpbin yet when incoming
	  data arrives.
	  This condition wasn't being tested in elements_webrtcbin, but could be
	  reproduced in the webrtcbidirectional example. This commit now also
	  adds a test for this, so that this doesn't regress anymore.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7294>

2024-08-02 11:19:56 +0200  Carlos Bentzen <cadubentzen@igalia.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: reverse direction from remote media
	  This had been overlooked from the spec. We need to reverse
	  the remote media direction when setting the transceiver direction.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7294>

2024-04-08 21:38:19 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: Fix intra only stream bug
	  When we set "ref-frames=0" to generate an intra only stream, the current
	  encoder just generates an assert and exit with error.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6577>

2024-04-01 16:56:23 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: Improve B pyramid mode in H264
	  If the reference frame number is bigger than 2, we can enable the
	  pyramid B mode. We do not need to assign a reference frame to each
	  pyramid level.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6577>

2024-04-01 23:54:04 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  va: h264enc: Make the level table aligned
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6577>

2024-08-02 05:21:34 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12dxgicapture.cpp:
	  d3d12screencapturesrc: Always release acquired frame
	  AcquireNextFrame() call should be paired with ReleaseFrame().
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7293>

2024-08-02 04:07:18 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12dxgicapture.cpp:
	  d3d12screencapturesrc: Do not recreate d3d11 device on capture error
	  Already opened d3d11 device including shader pipeline can be reused
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7293>

2024-08-02 03:02:08 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12dxgicapture.cpp:
	  d3d12screencapturesrc: Fix deadlock on error
	  Don't try to wait for non-signalled fence
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7293>

2024-07-30 09:27:49 +0000  Michael Scherle <michael.scherle@rz.uni-freiburg.de>

	* sys/msdk/gstmsdkvpp.c:
	* sys/msdk/gstmsdkvpp.h:
	* sys/msdk/msdk-enums.c:
	* sys/msdk/msdk-enums.h:
	  msdkvpp: add interpolation method
	  For description of interpolation modes, see:
	  <https://intel.github.io/libvpl/latest/API_ref/VPL_enums.html#interpolationmode>.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7278>

2024-07-03 07:58:58 -0600  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst/videoparsers/gsth265parse.c:
	  h265parse: Reject FD received before SPS
	  A previous fix, a275e1e029e9b5d88be26b8304c9a162e4567346, is correct but was too
	  permissive since it treats all un-matched NAL units the same as AU delimiters
	  even though some other NAL unit types can be encountered in the processing loop.
	  The problem this can cause is that some hardware decoders experience bad
	  performance when handling FD units that precede the SPS.
	  This change restores the original behavior for FDs so that they're ignored until
	  the SPS is received and it preserves the codec conformance test gains that the
	  fix has achieved.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7166>

2024-07-29 22:49:03 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/cuda/cuda-gst.h:
	* gst-libs/gst/cuda/gstcuda-private.h:
	* gst-libs/gst/cuda/gstcudaloader.cpp:
	* gst-libs/gst/cuda/gstcudautils.cpp:
	* gst-libs/gst/cuda/gstcudautils.h:
	* gst-libs/gst/cuda/meson.build:
	* gst-libs/gst/cuda/stub/cudaEGL.h:
	* sys/nvcodec/meson.build:
	* sys/nvcodec/plugin.c:
	  cuda/nvcodec: Add support for importing and producing embedded NVMM memory
	  As produced on the Nvidia Jetson series of devices.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7274>

2024-08-01 11:12:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	  vkimagebufferpool: fix documentation grammar
	  Original-patch-by: Matthew Waters <matthew@centricular.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7288>

2024-07-10 10:34:19 +0200  Carlos Bentzen <cadubentzen@igalia.com>

	* ext/webrtc/gstwebrtcbin.c:
	* ext/webrtc/webrtcsdp.c:
	* ext/webrtc/webrtcsdp.h:
	* tests/check/elements/webrtcbin.c:
	  webrtcbin: create and associate transceivers earlier in negotation
	  According to https://w3c.github.io/webrtc-pc/#set-the-session-description
	  (steps in 4.6.10.), we should be creating and associating transceivers when
	  setting session descriptions.
	  Before this commit, webrtcbin deviated from the spec:
	  1. Transceivers from sink pads where created when the sink pad was
	  requested, but not associated after setting local description, only
	  when signaling is STABLE.
	  2. Transceivers from remote offers were not created after applying the
	  the remote description, only when the answer is created, and were then
	  only associated once signaling is STABLE.
	  This commit makes webrtcbin follow the spec more closely with regards to
	  timing of transceivers creation and association.
	  A unit test is added, checking that the transceivers are created and
	  associated after every session description is set.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7156>

2024-07-29 20:59:58 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkupload.c:
	  vulkanupload: honor downstream pool allocation parameters
	  If a downstream buffer pool is offered, vulkanupload checks its allocation
	  parameters to honor them. Only adds to usage the TRANSFER bits, which are
	  required to upload buffers.
	  Also, fail if the buffer pool cannot be configured with the current parameters.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7219>

2024-07-29 19:06:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	* gst-libs/gst/vulkan/gstvkimagebufferpool.h:
	  vkimagebufferpool: expose config_get_allocation_params()
	  Also enhanced the documentation and added a config parameter check for
	  gst_vulkan_image_buffer_pool_config_set_allocation_params()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7219>

2024-07-26 17:13:10 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* ext/rsvg/gstrsvgoverlay.c:
	  rsvgoverlay: add debug category
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7246>

2024-07-19 14:00:45 -0400  Daniel Morin <daniel.morin@collabora.com>

	* ext/onnx/gstonnxclient.cpp:
	  onnx: fix formating
	  Code alignement was not alway consistent
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7205>

2024-07-25 17:06:39 +0200  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/vulkan/gstvkvideoutils.h:
	  vulkan: Add missing since markers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7277>

2024-07-25 16:28:04 +0200  Edward Hervey <edward@centricular.com>

	* ext/ldac/ldac-plugin.c:
	* ext/svtav1/gstsvtav1enc.c:
	* ext/svthevcenc/gstsvthevcenc.c:
	  bad: Add missing plugin since
	  These predate current stable release. Was never spotted since they weren't built
	  on the CI
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7277>

2024-07-27 06:52:49 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc: Do not set the CRF/Quality parameter with ProRes
	  It's not supported with ProRes, setting the property will fail.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7232>

2024-07-27 06:52:25 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc: Log warnings when setting a property fails
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7232>

2024-07-27 06:27:14 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/vtenc.c:
	* sys/applemedia/vtenc.h:
	  vtenc: Add max-frame-delay property
	  This controls the number of frames allowed in the compression window.
	  Not all encoders and implementations support it; I've only managed to
	  successfully use it with ProRes.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7232>

2024-07-27 05:47:34 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc: Support emulating CBR mode with data rate limits
	  CBR is only supported on Apple Silicon, and this "emulation" works
	  surprisingly well. We set the window size to a single frame, and don't
	  set ABR at all.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7232>

2024-07-27 05:39:53 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/vtenc.c:
	* sys/applemedia/vtenc.h:
	  vtenc: Add new property for setting data rate limits
	  This proxies kVTCompressionPropertyKey_DataRateLimits, except it
	  only supports a single limit for now.
	  https://developer.apple.com/documentation/videotoolbox/kvtcompressionpropertykey_dataratelimits
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7232>

2024-07-25 04:36:09 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/vtenc.c:
	* sys/applemedia/vtenc.h:
	  vtenc: Add support for constant bitrate encoding
	  Only supported on macOS 13.0+ and iOS 16.0+ on Apple Silicon.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7232>

2024-07-25 03:04:43 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc: Eliminate some needless complex code
	  We do not need a helper that takes a lock to fetch the values of these
	  properties. There is no race being prevented.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7232>

2024-07-25 03:03:41 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc: Fix setting of quality property
	  gst_vtenc_set_quality() will never actually set the VT compression
	  property, because it tries to set it on self->session which is not
	  initialized at this point.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7232>

2024-07-23 14:12:07 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkupload.c:
	  vulkanupload: comment zero value usage with VK_ACCESS_NONE
	  Zero is used only for Vulkan version prior to 1.3, because it wasn't defined
	  before.
	  Just for readability.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7247>

2024-07-26 17:26:09 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	  vkimagebufferpool: refactor how image usage is set
	  Now that driver version is expected to be equal or superior to 1.3.275 the bug
	  in NVIDIA and RADV regarding usage is solved, we can revert commit b7ded81f7b.
	  Also this patch sets the internal usage variable after all the validation are
	  run, thus the state don't keep an invalid usage.
	  Finally, the now unused supported_usage variable is dropped.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7247>

2024-07-23 14:11:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	  vkimagebufferpool: add encoding usage as video usage
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7247>

2024-07-23 14:07:26 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	  vkimagebufferpool: reset the number of profiles at set_config()
	  Virtual method set_config() can be called several times, and if the number of
	  profiles counter isn't reset the pool will reach an error state.
	  The purpose of number of profiles is to check the number of valid vulkan video
	  profiles (two in the case of transcoding use-case, for example) so it's local to
	  set_config() virtual method.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7247>

2024-07-26 17:09:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkdecoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vulkan: encoder and decoder runtime check for driver version 1.3.275
	  Which is the one checked in meson. See commit 21ee264d65
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7247>

2024-07-29 10:29:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstvaallocator.c:
	  va: refactor dmabuf handle close
	  Moved the close loop into a function guarded for non-win32 platforms.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7254>

2024-07-28 02:01:24 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvav1enc.cpp:
	* sys/qsv/gstqsvh264enc.cpp:
	* sys/qsv/gstqsvh265enc.cpp:
	* sys/qsv/gstqsvjpegenc.cpp:
	* sys/qsv/gstqsvvp9enc.cpp:
	  qsv: Fix critical warnings
	  Fixing warnings
	  GStreamer-CRITICAL **: 01:21:25.862: gst_value_set_int_range_step:
	  assertion 'start < end' failed
	  Although when QSV runtime reports a codec is supported, resolution query
	  fails sometimes, espeically VP9 encoder case on Windows.
	  Don't try to register an element if resolution query returned an error
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7250>

2024-07-27 02:18:45 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/svtav1/gstsvtav1enc.c:
	  svtav1enc: Fix segfault when flushing
	  gst_video_encoder_get_oldest_frame() is nullable, and will signal that
	  all frames are handled by returning NULL.
	  Fixes #3650
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7249>

2024-07-27 04:16:16 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12frame.cpp:
	  d3d12frame: Fix frame copy method
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7243>

2024-07-27 03:50:19 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	  d3d12memory: Check heap flag before trying to create NT handle
	  CreateSharedHandle() will fail eventually if the resource was created
	  with non-shared heap. Instead of trying to create handle blindly,
	  validate resource first.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7243>

2024-07-27 03:39:22 +0900  Seungha Yang <seungha@centricular.com>

	* sys/dwrite/gstdwriterender_d3d12.cpp:
	  dwrite: Prefer d3d12 resource allocated with shared heap
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7243>

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

	* gst-libs/gst/d3d12/gstd3d12fencedatapool.cpp:
	  d3d12: Suppress fence data object leak report
	  We don't release GstD3D12Device intentionally, thus
	  a GstD3D12FenceDataPool owned by a device will not be released
	  but that's expected leak.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7243>

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

	* gst-libs/gst/d3d12/gstd3d12utils.cpp:
	  d3d12: Fix debug category name
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7243>

2024-07-26 02:17:07 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12memorycopy.cpp:
	  d3d12download: Do not overwrite fence of non-writable memory
	  A fence configured in GstD3D12Memory should be used only for
	  write access to be completed. And because d3d12 -> d3d11 copy path
	  is read access to d3d12 resource, we should not set fence to
	  memory. Otherwise another read access to the d3d12 resource
	  will wait for d3d11 device context's copy operation although
	  simultaneous read access is allowed.
	  Use background thread to keep d3d12 resource and wait for d3d11 device's
	  copy operation instead.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7243>

2024-07-25 22:44:51 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/va/gstvaallocator.c:
	  va: Fix dmabuf handle leaks
	  Close dmabuf handles manually when they're not going to
	  be passed into GStreamer FD memory, to avoid fd handle
	  leaks.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7240>

2024-07-08 16:42:58 -0600  Jordan Yelloz <jordan.yelloz@collabora.com>

	* gst/mpegtsmux/tsmux/tsmux.c:
	  tsmux: Adjust byte counter when adjusting bitrate
	  When configured in constant bitrate mode, the muxer computes timing information
	  using the configured bitrate and the byte counter (now = bytes sent / byterate).
	  When an application changes the bitrate in CBR mode during playback, the
	  relationship between bytes sent and bitrate is no longer valid so new timing
	  values will be off by the ratio of the old bitrate to the new bitrate.
	  Furthermore, it will upset the way that padding is generated.
	  pad_stream() works by trying to fit the byte counter to now * byterate.
	  The result is that when decreasing bitrate, the muxer stalls, waiting until the
	  byte counter is in agreement with now * byterate. Also, when increasing
	  bitrate, the padding will spike in volume until the byte counter fits with
	  now * byterate.
	  If the byte counter is scaled by the ratio of new bitrate / old bitrate when
	  adjusting bitrate, then padding is generated in a way that applications would
	  more likely expect.
	  One detail this change doesn't yet address is whether the next PCR will match up
	  optimally with the previous PCR right after the byte counter is scaled. In that
	  case, some correction may be necessary. Also, perhaps the user should be
	  prevented from changing from bitrate=0 to bitrate=nonzero during playback since
	  it's not straightforward how to scale the byte counter in that case.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7158>

2024-07-24 22:22:03 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* ext/qroverlay/gstbaseqroverlay.c:
	  qroverlay: redraw overlay when caps changes
	  The position needs to be updated as it depends of the video size.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7230>

2024-07-24 22:21:41 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* ext/qroverlay/gstbaseqroverlay.c:
	  qroverlay: add some debug logs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7230>

2024-07-24 09:16:03 +0200  tomaszmi <257184-tomaszmi@users.noreply.gitlab.freedesktop.org>

	* ext/avtp/gstavtpsink.c:
	  avtp: Fixed Linux/Alpine 3.20 build
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7226>

2024-07-24 02:33:50 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudanvrtc.cpp:
	  cuda: Fix runtime compiler loading with old CUDA tookit
	  Fallback to PTX if CUBIN symbol is unavailable
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3685
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7220>

2024-07-19 17:06:03 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	  vkimagebufferpool: no aliased images for video decoding
	  This fix regression in validation layer introduced by commit 3a2e8d2d19
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7211>

2024-07-19 16:56:23 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkdecoder-private.c:
	  vkdecoder: handle barrier internally for coincide references
	  This is to avoid a regression in validation layer (introduced by commit
	  916c4e70cd) when using vulkandownload
	  VUID-VkImageMemoryBarrier2-srcAccessMask-03914 ..  vkCmdPipelineBarrier2():
	  pDependencyInfo->pImageMemoryBarriers[1].srcAccessMask (VK_ACCESS_TRANSFER_READ_BIT)
	  is not supported by stage mask (VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR)
	  since vulkandownload set DPB memories' access mask to
	  VK_ACCESS_TRANSFER_READ_BIT, while they are retain by the DPB queue, so when
	  they are used as DPB after been shown, this validation error is raised.
	  Must of the barrier values are set ignoring the previous state of the vulkan
	  images.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7211>

2023-12-21 09:32:25 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* ext/vulkan/vkdownload.c:
	* ext/vulkan/vkupload.c:
	  vulkan{up,down}load: check for a graphics family queue
	  Vulkan queue retrieved from peer elements should be a graphics family one.
	  Otherwise, get a compatible queue from the given device.
	  Co-Authored-By: Víctor Jáquez <vjaquez@igalia.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7162>

2024-07-19 01:14:20 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12av1dec.cpp:
	* sys/d3d12/gstd3d12av1dec.h:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12decoder.h:
	* sys/d3d12/gstd3d12h264dec.cpp:
	* sys/d3d12/gstd3d12h264dec.h:
	* sys/d3d12/gstd3d12h265dec.cpp:
	* sys/d3d12/gstd3d12h265dec.h:
	* sys/d3d12/gstd3d12mpeg2dec.cpp:
	* sys/d3d12/gstd3d12mpeg2dec.h:
	* sys/d3d12/gstd3d12vp8dec.cpp:
	* sys/d3d12/gstd3d12vp8dec.h:
	* sys/d3d12/gstd3d12vp9dec.cpp:
	* sys/d3d12/gstd3d12vp9dec.h:
	* sys/d3d12/plugin.cpp:
	  d3d12decoder: Add support for d3d11 output again
	  Although d3d12download supports d3d12 to d3d11 texture copy,
	  this feature might be useful if an application is not ready to d3d12
	  support and it expects output type of decodebin(3) is d3d11.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7208>

2024-07-18 23:51:23 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12screencapturesrc.cpp:
	* sys/d3d12/meson.build:
	* sys/d3d12/plugin.cpp:
	  meson: d3d12: Use configuration file
	  Move defines to config header
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7208>

2023-11-14 14:39:29 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkcontext.c:
	  msdk: Add new driver name "xe"
	  Intel has released a new graphic driver named "xe" for
	  newer Gen12/Xe graphics (i.e. from Lunar Lake).
	  This patch add "xe" name when getting device in gst-msdk plugins.
	  See xe driver public in
	  https://github.com/torvalds/linux/tree/master/drivers/gpu/drm/xe
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7178>

2024-07-19 17:05:13 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkoperation.c:
	  vkoperation: fix documentation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7203>

2024-03-19 20:04:15 -0300  L. E. Segovia <amy@centricular.com>

	* ext/isac/meson.build:
	  isac: Work around upstream having no shared library support for MSVC
	  None of the symbols in webrtc-audio-coding-1 are marked with
	  `__declspec(dllexport)`, rendering the library usable only if
	  it was built with GCC/Clang.
	  The only fix available (as the pulseaudio copy has not been updated
	  with Google's upstream) is to ensure the fallback builds statically.
	  Although this change will also affect webrtcdsp's dependency on
	  webrtc-audio-processing-1, it does not break its compilation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6407>

2024-07-12 10:34:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	  vkimagebufferpool: reset buffer's access flags
	  The access flags are kept around the operations, but when the buffer is
	  released, the access flag should be reset to its original value, since queue
	  transfers can be done along the pipeline and, when reusing the buffer, the new
	  queue might not support the latest access flag.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7165>

2024-07-12 10:06:03 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh264dec.c:
	  vulkanh264dec: set access NONE at buffer pool allocation parameters
	  Since the decoding queue might not have transfer capabilities.
	  This change also applies to unit test.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7165>

2024-07-11 13:05:28 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkdownload.c:
	* ext/vulkan/vkupload.c:
	* gst-libs/gst/vulkan/gstvkdecoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	* gst-libs/gst/vulkan/gstvkoperation.c:
	* gst-libs/gst/vulkan/gstvkoperation.h:
	* tests/check/libs/vkvideodecode.c:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vulkan: add source pipeline stage to _operation_add_frame_barrier()
	  Instead of dragging the last destination pipeline stage as current barrier
	  source pipeline stage (which isn't a valid semantic) this patch adds a parameter
	  to gst_vulkan_operation_add_frame_barrier() to set the source pipeline stage to
	  define the barrier.
	  The previous logic brought problems particularly with queue transfers, when the
	  new queue doesn't support the stage set during a previous operation in a
	  different queue.
	  Now the operation API is closer to Vulkan semantics.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7165>

2024-07-12 18:10:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkupload.c:
	* tests/check/libs/vkvideodecode.c:
	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	  vulkan: fix wrong stages or access in barriers
	  While working on !7165 we found out that some parameters for barriers were wrong
	  or the destination pipeline stage was too coarse.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7200>

2024-06-27 22:25:42 +1000  Matthew Waters <matthew@centricular.com>

	* sys/decklink/gstdecklinkvideosink.cpp:
	* sys/decklink/gstdecklinkvideosink.h:
	  decklinkvideosink: schedule frames before they need to be displayed
	  This removes most occurances of 'late' frame notifications produced by
	  decklink.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7107>

2024-07-18 23:00:16 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter-pack.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter-unpack.cpp:
	  d3d12converter: Update internal method names
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7193>

2024-07-18 03:30:23 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12ipcclient.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	  d3d12: Always allocate output texture using shared heap
	  ... if downstream preference is unknown (e.g., no proposed
	  buffer pool by downstream), so that produced textures can be
	  shareable with other APIs such as d3d11 or vulkan, or other processes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7193>

2024-07-16 23:08:39 +0200  Robert Mader <robert.mader@posteo.de>

	* sys/va/gstvabase.c:
	  vabase: Stop aligning VideoInfo during DMABUF import
	  Doing so resets the stride from the VideoMeta and it wasn't done before
	  the commit below. While on it, drop the plane size check as we can't
	  reliably predict the correct size when using DRM modifiers.
	  Fixes: 89b0a6fa23 ("va: refactor buffer import")
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7187>

2024-07-17 12:45:31 +0200  Robert Mader <robert.mader@posteo.de>

	* sys/va/gstvabase.c:
	  vabase: Use correct VideoInfo during DMABUF import
	  The changes to the VideoInfo, notably the stride from the VideoMeta,
	  were lost. Avoid such mistakes by explicitly using the VideoInfo from
	  drm_info.
	  Fixes: 9f5b2c4e25 ("va: use GstVideoInfoDmaDrm when importing buffers")
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7187>

2024-07-17 23:44:09 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/avfdeviceprovider.m:
	* sys/applemedia/avfvideosrc.h:
	* sys/applemedia/avfvideosrc.m:
	  avfdeviceprovider: Fix debug category initialization
	  The device monitor calls into avfvideosrc functions without
	  initializing the debug category, which causes multiple criticals.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7192>

2024-07-16 03:31:33 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12commandqueue-private.h:
	* gst-libs/gst/d3d12/gstd3d12commandqueue.cpp:
	* gst-libs/gst/d3d12/gstd3d12commandqueue.h:
	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12device.h:
	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/gstd3d12window-swapchain-resource.h:
	* sys/d3d12/gstd3d12window-swapchain.cpp:
	* sys/dwrite/gstdwriterender_d3d12.cpp:
	* sys/webview2/gstwebview2src.cpp:
	  d3d12: Remove unnecessary event handles
	  null event NT handle to ID3D12Fence::SetEventOnCompletion()
	  will block the calling CPU thread already, thus it has no point that
	  creating an event NT handle in order to immediate wait for fence at CPU-side.
	  Note that passing a valid event NT handle to the fence API might be useful
	  when we need to wait for the fence value later (or timeout is required),
	  or want to wait for multiple fences at once via WaitForMultipleObjects().
	  But it's not a considered use case for now.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7176>

2024-07-16 04:21:09 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12window.cpp:
	  d3d12videosink: Fix mouse event handling
	  GstD3D12Window.priv.input_info is referenced by mouse event handler
	  in order to calculate corresponding original position
	  if scene is rotated/flipped by the videosink.
	  Fixing regression introduced by recent d3d12videosink refactoring
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7177>

2024-07-15 12:44:52 +0200  Robert Mader <robert.mader@posteo.de>

	* sys/va/plugin.c:
	  va: Blocklist i965 driver for encoding
	  The driver - AKA intel-vaapi-driver - has been unmaintained for four years
	  now and encoding appears to be broken in various cases. As it's unlikely
	  that the situation will improve, blocklist the driver for encoding.
	  Decoding appears to be stable enough to keep it enabled.
	  The driver can still be used by setting the `GST_VA_ALL_DRIVERS` env
	  variable.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7170>

2024-07-05 11:36:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkdebug.c:
	* gst-libs/gst/vulkan/gstvkformat.c:
	  vulkan: remove beta extensions guard for encode operations
	  This is not needed anymore since encoder operations are not beta anymore.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7179>

2024-07-16 23:07:50 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12compositor.cpp:
	  d3d12compositor: Fix transparent background mode with YUV output
	  In case of YUV format without alpha channel, zero clear value
	  for each channle will result in green color. Use calculated black
	  background color with alpha=0 for transparent background mode instead.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7181>

2024-07-16 20:38:41 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11compositor.cpp:
	  d3d11compositor: Fix transparent background mode with YUV output
	  In case of YUV format without alpha channel, zero clear value
	  for each channle will result in green color. Use calculated black
	  background color with alpha=0 for transparent background mode instead.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7181>

2024-07-11 17:23:43 +0300  Sebastian Dröge <sebastian@centricular.com>

	* sys/aja/gstajasrc.cpp:
	  ajasrc: Fix handling of timestamps and don't rely on driver frame counters
	  The driver frame counters (processed, dropped, buffer level) are not
	  always correct apparently, and don't allow reliably assigning a frame
	  number to captured frames.
	  Instead of relying on them, count the number of frames directly here and
	  detect dropped frames based on the capture times of the frames: if more
	  than 1.75 frame durations are between two frames, then there must've
	  been a dropped frame.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7163>

2024-07-03 22:57:58 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/codecs/gsth264decoder.c:
	  h264decoder: Update output frame duration when second field frame is discarded
	  In case of an interlaced stream, if each field picture belongs to
	  different GstVideoCodecFrame, updates output frame's duration
	  based on discarded second field picture's timestamp information.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7132>

2024-07-13 00:04:10 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12window-swapchain.cpp:
	  d3d12videosink: Clear cached buffer on format change
	  Otherwise converter will try to read memory of which layout/format
	  might be different from configured converter pipeline
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7167>

2024-07-12 12:34:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstvadisplay.c:
	  vadisplay: fix minor version check
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7164>

2024-04-17 12:21:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	  vkimagebufferpool: set image creation flags in needed
	  set ALIAS bit if the usage is for both sampled and storage.
	  set MUTABLE_FORMAT and EXTENDED_USAGE bits if the image is a multiplane YUV and
	  uses multiple memories.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6798>

2024-04-17 12:15:07 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkformat.c:
	* gst-libs/gst/vulkan/gstvkformat.h:
	  vkformat: add gst_vulkan_format_get_map function
	  This will be used later to compare the format selected by
	  gst_vulkan_format_from_video_info_2(), to verify if it's multiple memory buffer
	  or not.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6798>

2024-01-25 11:14:23 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkupload.c:
	  vulkanupload: request storage usage for bufferpool
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6798>

2024-01-22 17:28:06 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	  vkimagebufferpool: define a default usage
	  Define a default usage and use it instead of repeating the same bitwise
	  addition.
	  Therefore, when usage is defined as zero, the usage is defined with the
	  format's supported usage and the default usage, now without the storage
	  bit, but with color and input attachment bits.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6798>

2024-04-17 12:17:45 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkformat.c:
	  vkformat: unward G8_B8R8_2PLANE_420_UNORM
	  Since it exists since VK_VERSION_1_1. It should be ignored by usage flags or the
	  no_multiplane parameter.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6798>

2024-07-04 02:02:42 +0200  Robert Mader <robert.mader@posteo.de>

	* gst-libs/gst/wayland/gstwlwindow.c:
	  waylandsink: Fix surface cropping for rotated streams
	  The wp_viewport source rectangle is applied in surface-local coordinates
	  after buffer_transform and buffer_scale. Therefore we need to swap width
	  and height for 90/270 deg. rotations.
	  This fixes playback of rotated videos such as portrait videos from
	  mobile devices.
	  See also: https://wayland.app/protocols/viewporter#wp_viewport
	  Fixes: 0b648f9a2d ("waylandsink: Crop surfaces to their display width height")
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7136>

2024-07-08 15:30:45 +0200  Ruben Gonzalez <rgonzalez@fluendo.com>

	* ext/vulkan/vkh265dec.c:
	  vkh265dec: Fix H.264 ref in logs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7146>

2024-07-05 00:29:05 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12memorycopy.cpp:
	  d3d12memorycopy: Enhance d3d12 to d3d11 copy
	  If a d3d12 memory holds non-direct-queue fence but the fence was
	  created with D3D12_FENCE_FLAG_SHARED flag, use the fence instead of
	  waiting for fence at CPU side. Note that d3d12ipcsrc or
	  d3d12screencapture elements will hold such sharable fence.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7139>

2024-07-01 16:59:23 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/videotexturecache-vulkan.mm:
	  applemedia: Disable some deprecation errors
	  This needs significant work to use the new Metal→Vulkan integration
	  extension `VK_EXT_metal_objects`
	  ```
	  MoltenVK/mvk_deprecated_api.h:132:1: note: 'vkGetMTLDeviceMVK' has been explicitly marked deprecated here
	  MVK_DEPRECATED_USE_MTL_OBJS
	  ^
	  MoltenVK/mvk_deprecated_api.h:74:52: note: expanded from macro 'MVK_DEPRECATED_USE_MTL_OBJS'
	  #define MVK_DEPRECATED_USE_MTL_OBJS   VKAPI_ATTR [[deprecated("Use the VK_EXT_metal_objects extension instead.")]]
	  ^
	  ../sys/applemedia/videotexturecache-vulkan.mm:303:20: error: 'vkSetMTLTextureMVK' is deprecated:
	  Use the VK_EXT_metal_objects extension instead.
	  VkResult err = vkSetMTLTextureMVK (memory->vulkan_mem.image, texture);
	  ^
	  MoltenVK/mvk_deprecated_api.h:151:1: note: 'vkSetMTLTextureMVK' has been explicitly marked deprecated here
	  MVK_DEPRECATED_USE_MTL_OBJS
	  ^
	  MoltenVK/mvk_deprecated_api.h:74:52: note: expanded from macro 'MVK_DEPRECATED_USE_MTL_OBJS'
	  #define MVK_DEPRECATED_USE_MTL_OBJS   VKAPI_ATTR [[deprecated("Use the VK_EXT_metal_objects extension instead.")]]
	  ^
	  2 errors generated.
	  ```
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7091>

2024-06-28 17:19:46 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh265dec.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	  vk-video: Fix uint64_t string format errors
	  With clang on macOS:
	  ```
	  error: format specifies type 'long' but the argument has type 'uint64_t' (aka 'unsigned long long')
	  ...
	  error: format specifies type 'unsigned long' but the argument has type 'VkImageView' (aka 'unsigned long long')
	  ```
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7091>

2024-06-23 04:27:42 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/vulkan/meson.build:
	* sys/applemedia/meson.build:
	  meson: Find MoltenVK with the objc++ compiler everywhere
	  When building for iOS in Cerbero, as of MoltenVK SDK 1.3.283, we have
	  to statically link to libMoltenVK since it no longer ships a dylib.
	  This requires linking to libc++, so we find the dep with the objc++
	  compiler to ensure that meson uses the right linker.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7091>

2024-06-23 04:25:01 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/meson.build:
	  meson: Fix some confusing code in applemedia's build file
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7091>

2024-06-23 04:20:59 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* sys/applemedia/meson.build:
	  meson: Fix vulkan automagic in applemedia plugin
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7091>

2024-06-23 04:13:31 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/vulkan/meson.build:
	  meson: Fix vulkan library build on iOS
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7091>

2024-06-23 04:11:48 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/vulkan/meson.build:
	  meson: Use / instead of join_paths for vulkan
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7091>

2024-06-23 03:46:39 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/vulkan/meson.build:
	* meson_options.txt:
	  meson: Fix automagic dependency checks in gstvulkan
	  Windowing, in particular, was getting silently disabled.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7091>

2024-07-05 18:17:38 +0530  Taruntej Kanakamalla <taruntej@asymptotic.io>

	* tests/check/elements/lc3.c:
	  lc3: remove bitstream comparison in the tests
	  since the encoded output is changing based on version
	  it does not make sense to check the output bitstream with a fixed
	  bytearray since the version in the target might vary. So sticking
	  to checking the number of output buffers and encoded frame size
	  similar to the other tests
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7141>

2024-07-02 13:00:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvavpp.c:
	  vavpp: simplify gst_va_vpp_transform_caps()
	  The code is simplified by using GQuarks for looking for caps features, and
	  removing inner loops.
	  Also, it's used the pad template caps to compare with the incoming caps because
	  is cheaper at the beginning of negotiation, where the pad template caps is used.
	  And, since the ANY caps where removed, there's no need to check for an initial
	  intersection.
	  Finally, the completion of caps features is done through a loop.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6698>

2024-06-26 22:19:52 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvadeinterlace.c:
	  vadeinterlace: Do not append ANY caps into pad template
	  Just like the vapostproc, we delete the ANY caps in pad template to
	  avoid unexpected negotiation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6698>

2024-04-20 16:40:21 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvavpp.c:
	  vapostproc: Do not append ANY caps into pad template
	  The ANY caps in pad template caps seems to mess up the DMA negotiation.
	  The command of:
	  GST_GL_API=opengl gst-launch-1.0 -vf videotestsrc ! video/x-raw,format=NV12 !
	  vapostproc ! "video/x-raw(memory:DMABuf)" ! glimagesink
	  fails to negotiate, but in fact, the vapostproc can convert the input NV12
	  formant into the RGBA format to render.
	  The ANY may help the passthough mode, but we should make the negotiate correct
	  first.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6698>

2024-06-27 14:05:46 +0800  Lim, Siew Hoon <siew.hoon.lim@intel.com>

	* sys/va/gstvacompositor.c:
	  vacompositor: Initialize the allocation related variables in decide_allocation()
	  Prevent garbage value has been pass thru and causing
	  pipeline fail to run later on.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7097>

2024-06-27 13:59:40 +0800  Lim, Siew Hoon <siew.hoon.lim@intel.com>

	* sys/va/gstvabasedec.c:
	  vabasedec: Initialize the allocation related variables in decide_allocation()
	  Prevent garbage value has been pass thru and causing
	  pipeline fail to run.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7097>

2024-06-25 14:38:12 +0800  Lim, Siew Hoon <siew.hoon.lim@intel.com>

	* sys/va/gstvabasetransform.c:
	  vabasetranform: Initialize the allocation related variables in decide_allocation()
	  Prevent garbage value has been pass thru and causing
	  pipeline fail to run.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7097>

2024-04-16 23:59:58 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  vah265enc: Set the trellis only when HW supports it
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6663>

2024-04-17 00:03:48 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: Init missing fields in reset_state()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6663>

2024-04-16 23:50:58 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: Set the trellis only when HW supports it
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6663>

2024-04-16 18:13:06 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	  va: baseenc: Set the trellis parameter anyway
	  The driver may enable trellis by default. So we should also set the
	  trellis info to driver even when the trellis option is turned off.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6663>

2024-07-02 15:26:55 -0500  jadarve <juanda0718@gmail.com>

	* gst-libs/gst/mpegts/gstmpegtsdescriptor.h:
	  doc: fix Since marker
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793>

2024-07-02 14:55:25 -0500  jadarve <juanda0718@gmail.com>

	* gst-libs/gst/mpegts/gstmpegtsdescriptor.h:
	  mpegts: Added missing function prototype
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793>

2024-07-02 14:25:59 -0500  jadarve <juanda0718@gmail.com>

	* gst-libs/gst/mpegts/gstmpegtsdescriptor.h:
	  doc: fix docstrings
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793>

2024-07-02 10:14:38 -0500  jadarve <juanda0718@gmail.com>

	* gst-libs/gst/mpegts/gstmpegtsdescriptor.h:
	  doc: fix single line Since comments
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793>

2024-07-02 09:10:27 -0500  jadarve <juanda0718@gmail.com>

	* gst-libs/gst/mpegts/gstmpegtsdescriptor.h:
	  doc: fix Since marker for gst_mpegts_descriptor_from_metadata_pointer
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793>

2024-06-27 15:44:54 -0500  jadarve <juanda0718@gmail.com>

	* gst-libs/gst/mpegts/gstmpegtsdescriptor.h:
	  doc: update docstrings
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793>

2024-06-27 15:20:47 -0500  jadarve <juanda0718@gmail.com>

	* docs/plugins/gst_plugins_cache.json:
	  doc: update plugin cache
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793>

2024-06-04 15:39:12 -0500  jadarve <juanda0718@gmail.com>

	* gst/mpegtsdemux/gstmpegdesc.h:
	* gst/mpegtsmux/gstbasetsmux.c:
	* gst/mpegtsmux/gstmpegtsmux.c:
	* gst/mpegtsmux/tsmux/tsmux.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.c:
	* gst/mpegtsmux/tsmux/tsmuxstream.h:
	  mpegtsmux: mux meta/x-id3
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793>

2024-06-04 14:39:05 -0500  jadarve <juanda0718@gmail.com>

	* gst-libs/gst/mpegts/gstmpegtsdescriptor.c:
	* gst-libs/gst/mpegts/gstmpegtsdescriptor.h:
	  mpegts: use GstMpegtsMetadataApplicationFormat in metadata descriptor
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793>

2024-06-04 14:31:48 -0500  jadarve <juanda0718@gmail.com>

	* gst-libs/gst/mpegts/gstmpegtsdescriptor.c:
	* gst-libs/gst/mpegts/gstmpegtsdescriptor.h:
	  mpegts: added metadata pointer descriptor
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793>

2024-06-04 13:53:26 -0500  jadarve <juanda0718@gmail.com>

	* gst-libs/gst/mpegts/gst-metadata-descriptor.c:
	* gst-libs/gst/mpegts/gst-metadata-descriptor.h:
	* gst-libs/gst/mpegts/gst-mpegtspesmetadatameta.c:
	* gst-libs/gst/mpegts/gst-mpegtspesmetadatameta.h:
	* gst-libs/gst/mpegts/gstmpegtsdescriptor.c:
	* gst-libs/gst/mpegts/gstmpegtsdescriptor.h:
	* gst-libs/gst/mpegts/meson.build:
	* gst-libs/gst/mpegts/mpegts.h:
	  mpegts: moved metadata descriptors to gstmpegtsdescriptor
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793>

2023-04-07 14:40:58 -0400  Chris Spoelstra <cs.spoelstra@gmail.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/srt/gstsrtobject.c:
	  srtsrc: fix case fallthrough of authentication param
	  Add missing breaks to two case statements.
	  Also adds a missing lock of srtobject->element when getting the value
	  of PROP_AUTHENTICATION.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4367>

2024-06-29 23:02:21 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12memorycopy.cpp:
	* sys/d3d12/gstd3d12memorycopy.h:
	* sys/d3d12/meson.build:
	* sys/d3d12/plugin.cpp:
	  d3d12: Add support for resource copy between d3d11 and d3d12
	  If driver can support cross-api resource sharing, use device-to-device
	  resource copy in d3d12upload/download elements.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7119>

2024-06-29 21:37:57 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12bufferpool.cpp:
	  d3d12bufferpool: Use shared heap by default
	  ... to make cross-api resource sharing possible
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7119>

2024-06-27 09:55:41 +0300  Sebastian Dröge <sebastian@centricular.com>

	* sys/aja/gstajasrc.cpp:
	  ajasrc: Drop some frames after signal recovery
	  After signal recovery the capture times for the next frames are simply
	  wrong. Experimentally this affected 2-3 frames and seemed to be related
	  to the buffer fill level after signal recovery, so drop at least 5
	  frames and up to fill level + 1 frames in this situation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7106>

2024-06-27 09:30:27 +0300  Sebastian Dröge <sebastian@centricular.com>

	* sys/aja/gstajasrc.cpp:
	  ajasrc: Reset clock after signal loss or signal change
	  Otherwise timestamps would continue as if there was no gap, and the next
	  frames until the clock has compensated would be all too late.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7106>

2024-06-27 15:32:01 -0400  Thibault Saunier <tsaunier@igalia.com>

	* gst-libs/gst/analytics/meson.build:
	* gst-libs/gst/mse/meson.build:
	  meson: Remove duplicated library definitions for gstmse and gstanalytics
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7109>

2024-06-28 02:33:03 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12commandallocatorpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12commandallocatorpool.h:
	  d3d12commandallocatorpool: Remove unused methods
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7108>

2024-06-27 22:58:12 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12decodercpbpool.cpp:
	* sys/d3d12/gstd3d12decodercpbpool.h:
	* sys/d3d12/meson.build:
	  d3d12decoder: Use sub-allocated bitstream buffer
	  Since a buffer resource will occupy at least 64KB,
	  allocating upload resource per decoding command might not be
	  an optimal approach. Instead, use sub-region of a upload resource
	  for multiple decoding command if sub-regions are not overlapped
	  each other.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7108>

2024-06-26 16:09:26 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* gst/rtmp2/rtmp/amf.c:
	  rtmp2: guard against calling gst_amf_node_get_type() with NULL
	  gst_amf_node_get_type() raises a CRITICAL if called with a NULL node.
	  All callers were checking for this except those.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7103>

2020-04-08 10:40:42 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* meson.build:
	* meson_options.txt:
	  build: Add missing common options that are yielding in subprojects
	  - Align `glib_debug`, `glib_assert` and `glib_checks` options with GLib,
	  otherwise glib subproject won't inherit their value. Previous names
	  and values are preserved using Meson's deprecation mechanism.
	  - Add `extra-checks` and `benchmarks` options in the main project so it
	  can be inherited in GStreamer subprojects.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1165>

2024-05-13 18:52:28 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  vaav1enc: Move repeat header data to a dedicated buffer
	  When enable parallel encoding, it is possible that the unshown frame
	  is not output but it is already be marked as a repeated frame header.
	  So we need to use a dedicated buffer to hold the repeat frame header,
	  don't mix it with the orignal frame data.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6867>

2024-06-25 20:08:54 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11device-private.h:
	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* gst-libs/gst/d3d11/meson.build:
	* sys/qsv/plugin.cpp:
	  qsv: Check d3d shared resource tier using D3D11 API
	  We can check the tier using d3d11 API. Thus, don't need to
	  create d3d12 device
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7099>

2024-06-02 11:40:04 +0300  Jan Schmidt <jan@centricular.com>

	* ext/hls/m3u8.c:
	  adaptivedemux: Fix handling closed caption streams
	  Fix a typo "CLOSED_CAPTION" -> "CLOSED-CAPTION" and
	  a broken if statement that always bailed out for
	  closed captions
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6985>

2024-06-25 22:19:26 +1000  Jan Schmidt <jan@centricular.com>

	* ext/webrtcdsp/gstwebrtcdsp.cpp:
	  webrtcdsp: Enable multi_channel processing
	  Enable multi_channel processing in webrtc-audio-processing when the
	  input or output has multiple channels.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3220
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7100>

2024-06-24 16:00:45 +0200  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc: Fix redistribute latency spam
	  Just a quick fix to only report the maximum noticed delay (measured by frames inside the encoder) instead of changing
	  the reported latency every time the number there changes, which is way too often.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7094>

2024-06-24 20:49:19 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter-unpack.cpp:
	  d3d12converter: Make sure data upload before executing compute shader
	  Use read d3d12 map, so that upload can happen if needed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7093>

2024-06-24 20:07:37 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12format.cpp:
	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	  d3d12: Add ARGB64_LE format support
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7093>

2024-06-24 17:53:24 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12bufferpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12format.cpp:
	* gst-libs/gst/d3dshader/converter-hlsl/PSMain_converter.hlsl:
	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	  d3d12: Add AV12 format support
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7093>

2024-06-24 01:41:03 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12format.cpp:
	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	  d3d12: Add NV16, NV61, and NV24 format support
	  Can reuse NV12 shader for the formats
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7093>

2024-06-24 00:29:23 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3dshader/converter-hlsl/PSMain_converter.hlsl:
	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	  d3d12: Add A420, A422 and A444 format support
	  Adding A420/A422/A444 and its 10/12/16 bits format support
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7093>

2024-06-23 23:05:20 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12bufferpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	  d3d12: Add YUV 4:1:0 and 4:1:1 format support
	  Adding Y41B, YUV9, and YVU9 format support
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7093>

2024-06-21 18:38:04 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12videosink.cpp:
	* sys/d3d12/gstd3d12window-swapchain.cpp:
	* sys/d3d12/gstd3d12window-swapchain.h:
	* sys/d3d12/gstd3d12window-win32.cpp:
	* sys/d3d12/gstd3d12window-win32.h:
	* sys/d3d12/gstd3d12window.cpp:
	* sys/d3d12/gstd3d12window.h:
	  d3d12videosink: Present on GstVideoOverlay::expose()
	  ... so that updated backbuffer can be swapped and presented
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7079>

2024-06-23 22:16:36 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12converter-pack.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter-unpack.cpp:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12format.cpp:
	  d3d12: Add v216, v210, r210, v308, IYU2, RGB, BGR format support
	  Reuse the compute shader implemented for d3d11
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7092>

2024-06-23 22:14:23 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12converter-pack.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter-unpack.cpp:
	  d3d12: Add support for UYVY, VYUY, and YVYU
	  Use already implemented compute shaders
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7092>

2024-06-23 22:13:32 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12converter-pack.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter-unpack.cpp:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3dshader/converter-hlsl/PSMain_converter.hlsl:
	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	  d3d12: Add RGB{16,15} and BGR{16,15} format support
	  d3d12 device can support B5G6R5_UNORM and B5G5R5A1_UNORM formats
	  in pixel shader. If the format is not supported by device,
	  U16_UINT format with compute shader will be used, like d3d11converter
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7092>

2024-06-23 22:00:40 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12converter-pack.cpp:
	* gst-libs/gst/d3d12/gstd3d12format.cpp:
	  d3d12: Add BGRA64 and BGR10A2 format support
	  Map BGRA64 and BGR10A2 to Y416 and Y410, respectively,
	  since it's possible RGB space decoder output
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7092>

2024-06-23 02:01:50 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12converter-pack.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter-unpack.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter-unpack.h:
	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/meson.build:
	  d3d12: Add support for DXGI native packed YUV formats
	  Adding YUY2, Y210, Y216, and Y416 format support
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7092>

2024-06-23 00:34:53 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter-pack.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter-pack.h:
	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/meson.build:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	  d3d12converter: Fix Y410 conversion
	  Adding format conversion helper and use compute shader in case that
	  output format does not support RTV.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7088>

2024-06-23 01:18:54 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12frame.cpp:
	* gst-libs/gst/d3d12/gstd3d12frame.h:
	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	* gst-libs/gst/d3d12/gstd3d12memory.h:
	  d3d12memory: Add support for UAV descriptor cache
	  Cache shader invisible UAV descriptor in memory
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7088>

2024-06-22 01:36:43 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12format-private.h:
	* gst-libs/gst/d3d12/gstd3d12format.cpp:
	* gst-libs/gst/d3d12/gstd3d12format.h:
	  d3d12: Format table refactoring
	  Hide format table from header. This is a preparation for compute
	  shader based format support
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7088>

2024-06-21 00:06:12 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	  d3d12converter: Upload shader buffer resources earlier
	  Schedule (semi-)static resource upload at converter creation time.
	  And use single resource for all vertex, index, and constant
	  buffers, since separate resources will waste GPU memory.
	  Note that size and address of a committed resource are 64K aligned
	  even if requested buffer size is small.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7081>

2024-06-20 22:18:02 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	  d3d12converter: Make gamma remap work as intended
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7073>

2024-06-20 20:44:56 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	  d3d12device: Don't warn for out of range device index
	  It can happen during enumeration as well, and it's expected error
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7070>

2024-06-20 20:34:33 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	  d3d12device: Dump device feature support
	  ... and use CD3DX12FeatureSupport helper class in d3dx12.h
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7070>

2024-06-20 00:09:16 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	  d3d12device: Prevent too many in-flight GPU commands
	  Even if each element is checking its own in-flight commands,
	  total number of commands can get larger in case of complex pipeline.
	  Limits total number of in-flight commands at command queue level
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7066>

2024-06-20 00:07:41 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12commandqueue.cpp:
	  d3d12commandqueue: Detect device removed event
	  Early return if device removed event is detected
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7066>

2024-06-19 23:29:11 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12basefilter.cpp:
	* sys/d3d12/gstd3d12basefilter.h:
	  d3d12basefilter: Add adapter property
	  Allows initial GPU adapter selection
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7066>

2024-06-19 22:12:15 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12utils.cpp:
	* gst-libs/gst/d3d12/gstd3d12utils.h:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12ipcclient.cpp:
	* sys/d3d12/gstd3d12pluginutils.cpp:
	* sys/d3d12/gstd3d12pluginutils.h:
	* sys/d3d12/gstd3d12testsrc.cpp:
	  d3d12: Move fence setter helper method to gst-libs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7057>

2024-06-19 19:06:42 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter.h:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/gstd3d12window-swapchain.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	* sys/dwrite/gstdwriterender_d3d12.cpp:
	  d3d12converter: Update API signature
	  Always use device's main direct queue, and control gpu waiting
	  behavior by using boolean value
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7057>

2024-06-19 01:00:28 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter.h:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12frame.cpp:
	* gst-libs/gst/d3d12/gstd3d12frame.h:
	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	* gst-libs/gst/d3d12/gstd3d12memory.h:
	* gst-libs/gst/d3d12/gstd3d12utils.cpp:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12graphicscapture.cpp:
	* sys/d3d12/gstd3d12ipcclient.cpp:
	* sys/d3d12/gstd3d12ipcserver.cpp:
	* sys/d3d12/gstd3d12pluginutils.cpp:
	* sys/d3d12/gstd3d12pluginutils.h:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	* sys/dwrite/gstdwriterender_d3d12.cpp:
	* sys/webview2/gstwebview2src.cpp:
	  d3d12memory: Hide fence value from header
	  Instead of exposing fence value to wait in header, user setter/getter
	  methods.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7057>

2024-06-19 00:57:11 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12device.h:
	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12ipcsink.cpp:
	  d3d12device: Add helper method for getting fence handle
	  Add get_fence_handle() method so that caller can get command queue's
	  dedicated fence handle from device
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7057>

2024-06-18 22:59:17 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12device.h:
	* gst-libs/gst/d3d12/gstd3d12fencedatapool.cpp:
	* gst-libs/gst/d3d12/gstd3d12fencedatapool.h:
	* gst-libs/gst/d3d12/gstd3d12frame.cpp:
	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12overlaycompositor.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	* sys/dwrite/gstdwriterender_d3d12.cpp:
	  d3d12: Remove notify_com and notify_mini_object helper methods
	  Use private macros instead of exposing multiple APIs for the same thing
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7057>

2024-06-18 22:04:23 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12commandqueue.cpp:
	* gst-libs/gst/d3d12/gstd3d12commandqueue.h:
	* gst-libs/gst/d3d12/gstd3d12device-private.h:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12frame.cpp:
	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12ipcclient.cpp:
	* sys/dwrite/gstdwriterender_d3d12.cpp:
	  d3d12commandqueue: Update API name and arguments
	  Accepts multiple fences since single command list may have
	  multiple dependent resources which are associated with
	  different GPU engines
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7057>

2024-06-18 21:48:11 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12device.h:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/dwrite/gstdwriterender_d3d12.cpp:
	  d3d12device: Use HRESULT return code if possible
	  Make function signature consistent with that of command queue
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7057>

2024-05-28 09:55:05 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh265dec.c:
	* gst-libs/gst/vulkan/gstvkdecoder-private.c:
	  vkdecoder: support layered and non dedicated DPB
	  As NVIDIA Amperium. In this case the each output buffer is also a DPB,
	  but using a different view layer.
	  Still pending a validation layer issue:
	  VUID-VkVideoBeginCodingInfoKHR-flags-07244
	  Co-authored-by: Victor Jaquez <vjaquez@igalia.com>
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6954>

2024-06-17 15:38:05 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst-libs/gst/analytics/gstanalyticsclassificationmtd.c:
	  analytics: Add validation on classification analytics-meta
	  - Add valiation on parameters passed to gst_analytics_cls_add_cls_mtd.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7046>

2024-06-18 09:10:16 +0200  Edward Hervey <edward@centricular.com>

	* gst/mpegtsdemux/mpegtspacketizer.c:
	  tsdemux: Fix maximum PCR/DTS values
	  * PTS/DTS are stored as 33 bit
	  * PCR is 33bit multiplied by 300
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7050>

2024-06-18 00:33:37 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12pluginutils.cpp:
	* sys/d3d12/gstd3d12pluginutils.h:
	* sys/d3d12/plugin.cpp:
	  d3d12: Promote decoder and videosink rank to primary
	  It's proven that d3d12 performs better than d3d11 while
	  consumes less resources in various cases.
	  Assign primary+ rank to decoder and videosink in case of Windows10/11,
	  so that it can be tested widely
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7045>

2024-03-22 12:32:22 +0100  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkoperation.c:
	  vkoperation: support for query_result_status
	  query_result_status can be optional so we should not create
	  the query pool if the queue does not support it,
	  ie, AMD does not support VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR
	  In other use case such as VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR, the
	  query pool must be created.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7043>

2024-06-17 14:55:03 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkoperation.c:
	* gst-libs/gst/vulkan/gstvkphysicaldevice.c:
	* gst-libs/gst/vulkan/gstvkphysicaldevice.h:
	  vkphysicaldevice: rename query to query_result_status
	  As only queryResultStatusSupport can be optional,
	  the variable name should be more specific.
	  queryResultStatusSupport reports VK_TRUE if query type
	  VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR and use of
	  VK_QUERY_RESULT_WITH_STATUS_BIT_KHR are supported.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7043>

2024-06-18 05:53:19 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gstav1parser.c:
	  av1parse: Do not return error when expectedFrameId mismatch
	  According to the SPEC:
	  The frame id numbers (represented in display_frame_id, current_frame_id,
	  and RefFrameId[ i ]) are not needed by the decoding process, but allow
	  decoders to spot when frames have been missed and take an appropriate action.
	  So we should just print out warning and should not return error in parser when
	  mismatching. The decoder itself is already robust to handle the reference missing.
	  Fixes #3622
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7047>

2024-06-16 21:21:44 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12videosink.cpp:
	* sys/d3d12/gstd3d12window-swapchain.cpp:
	* sys/d3d12/gstd3d12window-win32.cpp:
	* sys/d3d12/gstd3d12window-win32.h:
	* sys/d3d12/gstd3d12window.cpp:
	* sys/d3d12/gstd3d12window.h:
	  d3d12videosink: Add direct-swapchain property
	  Because DXGI flip mode swapchain will disallow GDI operation
	  to a HWND once swapchain is configured, videosink has been creating
	  child window of application's window. However, since window creation
	  would take a few milliseconds, it can cause performance issue such as
	  UI freezing. Adding a property so that videosink can attach
	  DXGI swapchain diretly to application's window in order to improve
	  performance.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7013>

2024-06-13 01:34:08 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12videosink.cpp:
	  d3d12videosink: Add external-window-only property
	  Adding a new property in order to avoid unintended interanl window
	  creation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7013>

2024-06-10 23:40:55 +0900  Seungha Yang <seungha@centricular.com>

	  d3d12videosink: Add support for window handle update
	  A large refactoring commit for adding features and improve performance
	  * Reuse internal converter and overlay compositor:
	  Converter can be reused as long as input and display formats are not
	  changed. Also overlay compositor reconstruction is required only if
	  display format is changed
	  * Don't wait for full GPU flush on resize or close:
	  D3D12 swapchain requires GPU idle in order to resize backbuffer.
	  Thus CPU side waiting is required for swapchain related commands
	  to be finished. However, don't need to wait for full GPU flushing.
	  * Support multiple sink on a single external window
	  Keep installed subclass window procedure even if there's no associated
	  our internal HWND. This will make window procedure hooking less racy.
	  Then parent HWND's message will be transferred to our internal HWNDs
	  if needed.
	  * Adding support for window handle update
	  Application can change target HWND even when videosink is playing or
	  paused state. So, users can call gst_video_overlay_set_window_handle()
	  against d3d12videosink anytime. The videosink will be able to update
	  internal state and setup resource upon requested.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7013>

2024-06-10 23:38:39 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12overlaycompositor.cpp:
	* sys/d3d12/gstd3d12overlaycompositor.h:
	* sys/d3d12/gstd3d12window.cpp:
	  d3d12overlaycompositor: Remove unused parameter
	  Don't need to check fence value of overlay buffer since
	  window uses global direct command queue
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7013>

2024-06-03 21:53:40 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12videosink.cpp:
	  d3d12videosink: Calculate display resolution only per caps change
	  Don't need to calculate it per window property update
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7013>

2024-06-05 00:20:05 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12commandqueue.cpp:
	  d3d12commandqueue: Fix deadlock on drain()
	  Don't take lock if the drain() is called from the GC thread
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7013>

2024-06-12 01:02:39 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12commandqueue.cpp:
	* gst-libs/gst/d3d12/gstd3d12device-private.h:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	  d3d12: Workaround for Intel iGPU decoder crash
	  Observed Intel GPU driver crash when multiple decoders are
	  configured in a process. It might be because of frequent
	  command queue alloc/free or too many in-flight decoding commands.
	  In order to make command queue persistent and limit the number of
	  in-flight command lists, holds global decoding command queue.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7019>

2024-06-12 18:28:54 +0200  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtdec.c:
	  vtdec: Use GST_VIDEO_DECODER_ERROR instead of aborting when frame has an ERROR flag
	  This was already being used in handle_frame() for errors that happen when queueing a frame for decoding,
	  let's do the same when a frame is flagged with an error in the output callback.
	  From quick testing, this makes seeking more reliable (previously, it would sometimes cause a decoding error
	  and shut the whole decoder down due to GST_FLOW_ERROR).
	  Also manually sets the max error count to actually stop processing if too many errors occur.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6446>

2024-03-26 15:24:31 +0100  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtdec.c:
	  vtdec: Handle some errors without stopping the decoder
	  ReferenceMissingErr is not critical and the simplest solution is to just ignore it. The frame has
	  the FrameDropped flag set when it occurs, so we can just drop it as usual.
	  BadDataErr is also not immediately critical, but in its case let's set the ERROR flag,
	  so the output loop can use GST_VIDEO_DECODER_ERROR to count and error out if it happens too many times.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6446>

2024-06-17 11:15:22 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/aom/gstav1dec.c:
	  av1dec: Don't treat decoding errors as fatal and print more error details
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7040>

2024-06-11 23:33:49 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/meson.build:
	  d3d12: Add support for DXGI debug layer
	  Will be enabled if GST_ENABLE_D3D12_DXGI_DEBUG env is set
	  and dxgidebug.dll is available.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7016>

2024-06-13 09:11:30 -0500  Zach van Rijn <me@zv.io>

	* gst/pcapparse/gstpcapparse.c:
	  pcapparse: Avoid unaligned memory access
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3602
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7030>

2024-05-21 01:20:59 +0900  Seungha Yang <seungha@centricular.com>

	* ext/meson.build:
	* ext/nvcomp/gstnvcomp.cpp:
	* ext/nvcomp/gstnvcomp.h:
	* ext/nvcomp/gstnvcompvideodec.cpp:
	* ext/nvcomp/gstnvcompvideodec.h:
	* ext/nvcomp/gstnvcompvideoenc.cpp:
	* ext/nvcomp/gstnvcompvideoenc.h:
	* ext/nvcomp/meson.build:
	* ext/nvcomp/plugin.cpp:
	* ext/nvcomp/stub/cuda_runtime.h:
	* meson_options.txt:
	  nvcomp: Add nvCOMP library based GPU lossless compression plugin
	  Adding NVIDIA nvCOMP library based plugin for lossless raw video
	  compression/decompression. To build this plugin, user should
	  install nvCOMP SDK first and specify the SDK path via
	  "nvcomp-sdk-path" build option or NVCOMP_SDK_PATH env.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6912>

2024-05-21 18:09:12 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/cuda-gst.h:
	* gst-libs/gst/cuda/gstcudaloader.cpp:
	* gst-libs/gst/cuda/stub/cuda.h:
	  cuda: Load 1D memcpy method symbols
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6912>

2024-05-31 13:07:51 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* gst/codectimestamper/gstcodectimestamper.c:
	  codectimestamper: never set DTS to NONE
	  If we want to avoid the DTS going backward, then we can set DTS to
	  last_dts as a last resort.
	  Log a warning in this case
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6977>

2024-06-07 23:09:54 -0700  Khem Raj <raj.khem@gmail.com>

	* sys/uvcgadget/configfs.c:
	  uvcgadget: Use g_path_get_basename instead of libc basename
	  Musl does not implement GNU basename and have fixed a bug where the
	  prototype was leaked into string.h [1], which resullts in compile errors
	  with GCC-14 and Clang-17+
	  | sys/uvcgadget/configfs.c:262:21: error: call to undeclared function 'basename'
	  ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
	  |   262 |     const char *v = basename (globbuf.gl_pathv[i]);
	  |       |                     ^
	  Use glib function instead makes it portable across musl and glibc on
	  linux
	  [1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7a
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7006>

2024-06-12 23:15:29 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkswapper.c:
	  vulkan/swapper: expose choose_queue() in docs
	  It was missing a doc trigraph.
	  Also mark input queue argument as nullable.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7023>

2024-06-10 13:11:19 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/aom/gstav1enc.c:
	  av1enc: Handle force-keyunit events properly by requesting keyframes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7008>

2024-06-05 22:09:56 +0900  Seungha Yang <seungha@centricular.com>

	* sys/wasapi2/gstwasapi2client.cpp:
	  wasapi2: Adjust log level in device enumeration path
	  Audio device at requested index might not be available, but that's
	  expected case when enumerating devices.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6996>

2024-05-29 11:07:23 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkvpp.c:
	  msdkvpp: Add a huge value to inbuf pts and set mfx surface timestamp
	  It can be seen as a WA in the case of multi-channel transcoding (like
	  decoder output to two channels, one for encoder and one for vpp).
	  Normally, encoder sets min pts of a huge value to avoid negative dts,
	  while vpp set pts without this addtional huge value, which are likely to
	  cause input surface pts does not fit with encoder (since both encoder
	  and vpp accept the same buffer from decoder, means they modify the timestamp
	  of one mfx surface). So we add this huge value to vpp to ensure enc and
	  vpp set the same value to input mfx surface meanwhile does not break
	  encoder's setting min pts for dts protection.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6971>

2024-06-10 23:25:46 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12videosink.cpp:
	  d3d12videosink: Disconnect window signal handler on dispose as intended
	  Fixing typo
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7012>

2024-05-28 19:23:33 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12videosink.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	  d3d12videosink: Add error-on-closed property
	  Adding a property to control error reporting behavior when output
	  window is closed in playing or paused state. This can be useful
	  for apps where an app wants to close window even if it's playing
	  a stream, and the closed window is expected.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6939>

2024-04-23 21:57:57 +0200  Stéphane Cerveau <scerveau@gmail.com>

	* gst-libs/gst/vulkan/meson.build:
	  vulkan: fix macos build
	  The VulkanSDK can be downloaded from LunarG website and can
	  be installed properly in /usr/local following:
	  https://vulkan.lunarg.com/doc/view/latest/mac/getting_started.html
	  Fixes partly #2372
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6669>

2024-06-06 19:34:03 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkfullscreenquad.c:
	  vulkan/fullscreenquad: add check for unset video info
	  So we don't crash when set_info() is not called.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7000>

2024-06-06 17:16:30 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkfullscreenquad.c:
	  vulkan/fullscreenquad: allow setting NULL input/output buffer to unset
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7000>

2024-06-01 02:32:22 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudanvmm-private.h:
	* gst-libs/gst/cuda/gstcudanvmm.cpp:
	* gst-libs/gst/cuda/gstcudautils.cpp:
	* gst-libs/gst/cuda/meson.build:
	* meson_options.txt:
	* sys/nvcodec/gstcudamemorycopy.c:
	* sys/nvcodec/meson.build:
	* sys/nvcodec/plugin.c:
	  cuda: Enable x86 NVMM support again
	  It was broken since memory copy helper function was moved to gst-libs.
	  Also, adding "cuda-nvmm" and "cuda-nvmm-include-path" build options
	  to en/disable NVMM support in gstcuda library
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6978>

2024-05-15 02:29:12 +0900  Seungha Yang <seungha@centricular.com>

	* tests/examples/cuda/cudamemory-sync.c:
	* tests/examples/cuda/meson.build:
	* tests/examples/meson.build:
	  examples: cuda: Add CUDA memory synchronization example
	  Add an example code for external CUDA context sharing and
	  gst_cuda_memory_sync()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6864>

2024-06-06 12:13:05 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkdevice.c:
	* gst-libs/gst/vulkan/meson.build:
	  vulkan: remove remaining GST_VULKAN_HAVE_VIDEO_ENCODERS
	  Some define use have been forgotten in
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6992
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7001>

2024-05-17 14:12:23 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mxf/mxftypes.c:
	  mxf: Use GDateTime instead of gmtime()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6872>

2024-06-04 10:10:07 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* tests/check/libs/vkvideoencodeh264.c:
	* tests/check/libs/vkvideoencodeh265.c:
	* tests/check/meson.build:
	  gst-plugins-bad: tests: rename vkvideoencode tests
	  Rename vulkan encode tests to be able to use the namespace
	  libs_vkvideoencode*.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6992>

2024-06-04 09:55:26 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkconfig.h.meson:
	* gst-libs/gst/vulkan/gstvkdevice.c:
	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	* gst-libs/gst/vulkan/gstvkoperation.c:
	* gst-libs/gst/vulkan/gstvkvideo-private.c:
	* gst-libs/gst/vulkan/gstvkvideo-private.h:
	* gst-libs/gst/vulkan/gstvkvideoutils.c:
	* gst-libs/gst/vulkan/gstvkvideoutils.h:
	* gst-libs/gst/vulkan/meson.build:
	* tests/check/libs/vkvideoh264encode.c:
	* tests/check/libs/vkvideoh265encode.c:
	* tests/check/meson.build:
	  vulkan: remove GST_VULKAN_HAVE_VIDEO_ENCODERS
	  Use 2.3.275 as first supported SDK version
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6992>

2024-06-04 09:34:42 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkqueue.c:
	  vkqueue: remove useless decoder include
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6992>

2024-02-14 09:43:35 -0300  Thibault Saunier <tsaunier@igalia.com>

	* gst/autoconvert/gstbaseautoconvert.c:
	  autoconvert: Fix race condition when creating sub elements
	  There was a case where the element would get destroyed while being
	  added to the hash table of elements
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6989>

2024-06-02 10:26:19 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/dtls/gstdtlssrtpenc.c:
	  dtlssrtpenc: Don't crash if no pad name is provided when requesting a new pad
	  It is mandatory to provide a valid pad name for dtlssrtpenc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6984>

2024-06-02 23:36:28 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkvideofilter.c:
	* gst-libs/gst/vulkan/gstvkvideofilter.h:
	  vulkan/videofilter: add getters for queue/device/instance
	  Allows bindings to not pke at structs for this information.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6987>

2024-06-02 23:34:39 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkfullscreenquad.c:
	* gst-libs/gst/vulkan/gstvkfullscreenquad.h:
	  vulkan/fullscreenquad: add get_queue()
	  Allows bindings to not poke at the instance struct.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6987>

2024-06-02 23:33:13 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/vulkan/gstvkfullscreenquad.c:
	* gst-libs/gst/vulkan/gstvkfullscreenquad.h:
	  vulkan/fullscreenquad: mark set_info GstVideoInfo as const
	  It's not modified by the function.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6987>

2024-06-01 22:38:11 +1000  Matthew Waters <matthew@centricular.com>

	* ext/vulkan/meson.build:
	* ext/vulkan/shaders/ayuv_to_rgb.frag:
	* ext/vulkan/shaders/meson.build:
	* ext/vulkan/shaders/nv12_to_rgb.frag:
	* ext/vulkan/shaders/rgb_to_ayuv.frag:
	* ext/vulkan/shaders/rgb_to_nv12.frag:
	* ext/vulkan/shaders/rgb_to_yuy2.frag:
	* ext/vulkan/shaders/swizzle.frag:
	* ext/vulkan/shaders/swizzle_and_clobber_alpha.frag:
	* ext/vulkan/shaders/view_convert.frag:
	* ext/vulkan/shaders/yuy2_to_rgb.frag:
	  vulkan: also support glslang as a shader compiler
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6980>

2024-06-01 21:35:26 +1000  Matthew Waters <matthew@centricular.com>

	* ext/vulkan/gstvulkan.c:
	* ext/vulkan/meson.build:
	* gst-libs/gst/vulkan/meson.build:
	  vulkan: support not having glslc available for building vulkan plugin
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6980>

2024-05-31 12:28:40 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkutils.c:
	  vkutils: do not forget to clear context in case of error
	  The context is leaking in case of a failing instance open.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6975>

2024-05-31 12:27:30 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkerror.c:
	  vkerror: free the error string after usage
	  g_set_error already used the var string, can clear it now.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6975>

2024-05-30 01:30:58 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12bufferpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	  d3d12memory: Fix staging buffer alignment
	  Not all GPUs can support arbitrary offset of
	  D3D12_PLACED_SUBRESOURCE_FOOTPRINT when copying GPU memory between
	  texture and buffer. Instead of calculating size/offset per plane,
	  calculate the entire size and offsets at once.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6967>

2024-05-28 04:14:15 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/va/meson.build:
	* meson.build:
	* sys/msdk/gstmsdkallocator_libva.c:
	* sys/msdk/gstmsdkcaps.c:
	* sys/msdk/gstmsdkdec.c:
	* sys/msdk/gstmsdkenc.c:
	* sys/msdk/gstmsdkvpp.c:
	* sys/msdk/gstmsdkvpputil.c:
	* sys/msdk/meson.build:
	  msdk: Fix libdrm dependency detection and usage
	  drm_fourcc.h should be picked up via the pkgconfig include, not the
	  system includedir directly.
	  Also consolidate the libdrm usage in va and msdk.
	  All this allows it to be picked up consistently (via the subproject,
	  for example).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6932>

2024-05-27 18:50:23 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/va/meson.build:
	  meson: Don't use fallback: kwarg for libva deps
	  This will cause a fallback even when the `va` option is `auto`, not
	  giving the user a chance to provide the dependency via the system, and
	  likely building this feature unnecessarily.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6932>

2024-05-27 18:43:33 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/va/gstvavideoformat.h:
	  va: Fix libdrm include
	  The libdrm/ prefix should not be used, it will be provided by the
	  pkgconfig file. Also HAVE_LIBDRM is necessary.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6932>

2024-05-15 12:48:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/msdk/gstmsdkcaps.c:
	  msdkcaps: fix ill-format string
	  This patch fixes this critical warning when registering MSDK:
	  _dma_fmt_to_dma_drm_fmts: assertion 'fmt != GST_VIDEO_FORMAT_UNKNOWN' failed
	  It was because the HEVC string with possible output formats has an extra space
	  that could not be parsed correctly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6853>

2024-05-29 18:54:18 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12h264enc.cpp:
	  d3d12encoder: Do not print error log for not-supported feature
	  gst_d3d12_result() will print message with ERROR level if failed.
	  Use FAILED/SUCCEEDED macros instead, since not-supported feature
	  is not a critical error
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6955>

2024-04-22 17:04:09 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	  d3d12memory: Allow null allocator in alloc()
	  Update code as documented
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6940>

2024-05-21 17:25:10 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: Properly transfer TU timestamp
	  When transforming from unknown alignment to frame or obu, the TU timestamp
	  was not properly transferred. Fix this by saving the TU DTS as the first
	  DTS seen within the the TU data, and the PTS as the last PTS seen in that
	  TU data. Finally, reset the TU timestamp after each TU have completed.
	  Fixes #1496
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6895>

2024-05-21 17:22:47 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: Only place a marker on the last frame of a TU
	  Markers are meant to indicate the buffer that ends a frame, which imply
	  something can be displayed. The dependent decode only frames should not
	  have markers. This should also fix last subframe detection.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6895>

2024-05-25 16:58:17 +0900  Seungha Yang <seungha@centricular.com>

	* sys/webview2/gstwebview2object.cpp:
	* sys/webview2/gstwebview2object.h:
	* sys/webview2/gstwebview2src.cpp:
	  webview2: Add user-data-folder property
	  Adding a propery to specify location of WebView2's user data folder
	  location.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6921>

2024-04-22 01:15:51 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	  d3d12: Add support for Device Removed Extended Data (DRED)
	  Enable DRED if "d3d12dred > GST_LEVEL_ERROR", and print
	  DRED debug information on device removed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6718>

2024-04-16 20:37:23 +0200  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtenc.c:
	* sys/applemedia/vtenc.h:
	  vtenc: Enable HEVC with alpha encoding
	  Adds a separate vtenc_h265a element (with a _hw variant as usual) for the HEVCWithAlpha codec type.
	  Decided to go with a separate element to not break existing uses of the normal HEVC encoder.
	  The preserve_alpha property is still only used for ProRes, no need for it here because we explicitly say we want alpha
	  when using the new element.
	  For now, the HEVCWithAlpha has an issue where it does not throttle the amount of input frames queued internally.
	  I added a quick workaround where encode_frame() will block until enqueue_frame() callback notifies it that some space
	  has been freed up in the internal queue. The limit was set to 5, which should be enough I guess? Hopefully this is not
	  too prone to race conditions.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6664>

2024-03-26 18:48:17 +0100  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtenc.c:
	  vtenc: Add missing vtenc_h265 docs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6664>

2024-05-27 15:41:23 +0900  Elliot Chen <elliot.chen@nxp.com>

	* gst/autoconvert/gstbaseautoconvert.c:
	  autovideoconvert: should not forward the allocation query if no element is selected
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6927>

2024-05-27 12:28:44 +0100  Philippe Normand <philn@igalia.com>

	* ext/webrtc/gstwebrtcbin.c:
	* ext/webrtc/webrtcsdp.c:
	* ext/webrtc/webrtcsdp.h:
	* tests/check/elements/webrtcbin.c:
	  webrtcbin: Allow session level setup attribute in SDP
	  An SDP answer can declare its setup attribute at the session level or at the
	  media level. Until this patch we were validating only the latter case and an
	  assert was raised in the former case.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6930>

2024-05-22 14:54:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh264dec.c:
	  vulkanh264dec: code style fix
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6901>

2024-05-22 14:50:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh265dec.c:
	  vulkanh265dec: fix reference set
	  `StdVideoDecodeH265PictureInfo.flags.IsReference` refers to section 3.132 ITU-T
	  H.265 specification:
	  reference picture: A picture that is a short-term reference picture or a
	  long-term reference picture.
	  `GstH265Picture.ref` doesn't reflect this, but we need to query the NAL type of
	  the processed slice.
	  This patch fixes the validation layer error
	  `VUID-vkCmdBeginVideoCodingKHR-slotIndex-07239` while using the NVIDIA driver.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6901>

2024-05-10 22:59:15 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12videosink.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	* sys/d3d12/gstd3d12window.h:
	* sys/d3d12/meson.build:
	* tests/examples/d3d12/d3d12videosink-overlay.cpp:
	* tests/examples/d3d12/meson.build:
	  d3d12videosink: Add overlay signal to support d3d12/d3d11/d2d overlay
	  Conceptually identical to the present signal of d3d11videosink.
	  This signal will be emitted with current render target
	  (i.e., swapchain backbuffer) and command queue. Signal handler
	  can record GPU commands for an overlay image or to blend
	  an image to the render target.
	  In addition to d3d12 resources, videosink will send
	  d3d11 and d2d resources depending on "overlay-mode"
	  property, so that signal handler can render by using
	  preferred/required DirectX API.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6838>

2024-05-10 20:08:49 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12videosink.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	* sys/d3d12/gstd3d12window.h:
	  d3d12videosink: Use device's main direct queue
	  The idea of using separate command queue per videosink was that
	  swapchain is bound to a command queue and we need to flush the
	  command queue when window size is changed. But the separate
	  queue does not seem to improve performance a lot.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6838>

2024-05-17 11:13:19 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/dtls/gstdtlsconnection.c:
	  dtlsconnection: Fix overflow in timeout calculation on systems with 32 bit time_t
	  If a timeout of more than 4295s was scheduled, the calculation would
	  overflow and a too short timeout would be used instead.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6870>

2023-08-11 17:50:23 +0800  He Junyan <junyan.he@intel.com>

	* sys/kms/gstkmsallocator.c:
	  kmssink: Do not close the DRM prime handle twice
	  The prime_fds for multi planes may be the same. For example, on Intel's
	  platform, the NV12 surface may have the same FD for the plane0 and the
	  plane1. Then, the DRM_IOCTL_GEM_CLOSE will close the same handle twice
	  and get an "Invalid argument 22" error the second time.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6914>

2024-04-17 12:19:03 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkformat.c:
	* tests/check/libs/vkformat.c:
	  vkformat: try UNORM format first and decouple them from colorimetry
	  From the spec (chapter 34, v1.3.283):
	  ````
	  UNORM: the components are unsigned normalized values in the range [0, 1]
	  SRGB: the R, G and B components are unsigned normalized value that represent
	  values using sRGB nonlinear encoding, while the A component (if one
	  exists) is a regular unsigned normalized value
	  ```
	  The difference is the storage encoding, the first one is aimed for image
	  transfers, while the second is for shaders, mostly in the swapchain stage in the
	  pipeline, and it's done automatically if needed [1].
	  As far as I have checked, other frameworks (FFmpeg, GTK+), when import or export
	  images from/to Vulkan, use exclusively UNORM formats, while SRGB formats are
	  ignored.
	  My conclusion is that Vulkan formats are related on how bits are stored in
	  memory rather their transfer functions (colorimetry).
	  This patch does two interrelated changes:
	  1. It swaps certain color format maps to try first, in both
	  gst_vulkan_format_from_video_info() and gst_vulkan_format_from_video_info_2(),
	  the UNORM formats, when comparing its usage, and later check for SRGB.
	  2. It removes the code that check for colorimetry in
	  gst_vulkan_format_from_video_info_2(), since it not storage related.
	  1. https://community.khronos.org/t/noob-difference-between-unorm-and-srgb/106132/7
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6797>

2024-05-23 19:10:10 +0900  Seungha Yang <seungha@centricular.com>

	* tests/check/libs/d3d11device.cpp:
	* tests/check/meson.build:
	  Revert "tests/d3d11: add concurrency test for gstd3d11device"
	  This reverts commit 8e0046a738070ca3c5441222da241a0582103fe7.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6904>

2024-05-23 17:29:54 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* tests/check/libs/d3d11device.cpp:
	  Revert "d3d11device: protect device_lock vs device_new"
	  This reverts commit 926d5366b99b3498632a45147cfa329dbbf2cc30.
	  AcquireSRWLockExclusive seems to be acquiring lock in exclusive mode
	  when the same lock is combined with write lock access.
	  Reverting the commit because of this is unexpected behavior
	  and unavoidable OS bug.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6904>

2024-05-22 12:28:39 +0100  Daniel Stone <daniels@collabora.com>

	* gst-libs/gst/wayland/gstwldisplay.c:
	* gst-libs/gst/wayland/meson.build:
	  wayland: Use wl_display_create_queue_with_name
	  Wayland 1.23 and above allow us to attach names to an event queue, which
	  are printed out when debugging. Do this to make the logs easier to read.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6900>

2024-05-23 00:48:11 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudamemory.cpp:
	  cudamemory: Fix offset of subsampled planar formats
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6903>

2024-05-21 16:59:10 +0300  Sebastian Dröge <sebastian@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/aom/gstav1enc.c:
	* ext/aom/gstav1enc.h:
	  av1enc: Add timebase property to allow configuring a specific timebase
	  This mirrors the same property in vp8enc / vp9enc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6891>

2024-05-21 16:58:26 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/aom/gstav1enc.c:
	  av1enc: Use 1/90000 as timebase and don't use the framerate at all
	  This mirrors the behaviour in vp8enc / vp9enc and is generally more
	  useful than using any framerate from the caps as it provides some degree
	  of accuracy if the stream doesn't have timestamps perfectly according to
	  the framerate.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6891>

2024-05-21 16:46:40 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/aom/gstav1enc.c:
	* ext/aom/gstav1enc.h:
	  av1enc: Fix last timestamp tracking so it actually works
	  This behaves exactly the same as in vp8enc / vp9enc now.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3546
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6891>

2024-05-16 20:02:25 +0900  Elliot Chen <elliot.chen@nxp.com>

	* gst/autoconvert/gstbaseautoconvert.c:
	  autovideoconvert: fix double unref
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6865>

2024-05-03 19:33:08 -0400  Olivier Crête <olivier.crete@collabora.com>

	* ext/onnx/decoders/gstssdobjectdetector.c:
	* ext/onnx/decoders/gstssdobjectdetector.h:
	  ssdobjectdetector: Add size threshold to drop too big detections
	  There is a known "failure" mode where the SSD detector finds an object
	  which is the whole frame. So skip objects which are "too big" to avoid
	  this.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6810>

2024-05-17 14:40:52 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	  vah26{4,5}enc: No need to assert i>=0 in frame_setup_from_gop()
	  The value is an uint here and never be negative.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6868>

2024-05-15 15:32:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	  vah26xenc: factorize the encoder frame setup
	  A simple removal of duplicated code.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6854>

2024-05-15 15:56:37 -0500  Brad Reitmeyer <brad.reitmeyer@resi.io>

	* docs/plugins/gst_plugins_cache.json:
	* sys/nvcodec/gstnvh264dec.cpp:
	  nvcodec: Accept progressive-high profiles for h264
	  Videos using progressive-high used to work on 1.16 before the parser added progressive-high. It looks like partial
	  support was added to nvcodec in https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1634
	  but accidentally ommited gstnvh264dec
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6862>

2024-05-16 14:51:46 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* tests/examples/va/vaenc-dynamic-reconfigure.c:
	  examples: va: add option for enabling alive stream
	  This is useful to test va encoding for live streams which should enable output
	  delay.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4359>

2024-05-16 08:35:30 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	* sys/va/gstvabaseenc.c:
	* sys/va/gstvabaseenc.h:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	* sys/va/gstvavp9enc.c:
	  vabaseenc: Set the correct min_buffers for propose_allocation()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4359>

2024-04-04 22:52:23 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  va: av1enc: Set preferred_output_delay value to increase performance
	  Also calculate the correct latency.
	  In live mode, preferred_output_delay is disabled.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4359>

2024-04-04 22:43:05 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvavp9enc.c:
	  va: vp9enc: Set preferred_output_delay value to increase performance
	  Also calculate the correct latency.
	  In live mode, preferred_output_delay is disabled.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4359>

2024-04-04 22:33:44 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  va: h265enc: Set preferred_output_delay value to increase performance
	  Also calculate the correct latency.
	  In live mode, preferred_output_delay is disabled.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4359>

2024-04-04 22:22:04 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  va: h264enc: Set preferred_output_delay value to increase performance
	  Also calculate the correct latency.
	  In live mode, preferred_output_delay is disabled.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4359>

2023-04-24 16:56:16 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	* sys/va/gstvabaseenc.h:
	  va: baseenc: Add is_live field to check the live stream
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4359>

2024-04-04 21:25:51 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	* sys/va/gstvabaseenc.h:
	  va: baseenc: Add a preferred_output_delay field for GPU parallel processing
	  The encoder can specify the a preferred_output_delay value to get better throughput
	  performance. The higher delay may get better HW performance, but it may increases
	  the encoder and pipeline latency.
	  When the output queue length is smaller than preferred_output_delay, the encoder
	  will not block to waiting for the encoding output. It will continue to prepare and
	  send more commands to GPU, which may improve the encoder throughput performance.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4359>

2023-04-06 19:57:29 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	  va: encoder: Do not continue when push_buffer gets error
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4359>

2024-04-02 22:47:58 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/va/vasurfaceimage.c:
	  va: libs: Use va_check_surface_has_status() to implement va_check_surface()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4359>

2023-04-06 19:39:04 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/va/vasurfaceimage.c:
	* gst-libs/gst/va/vasurfaceimage.h:
	  va: libs: Add va_check_surface_has_status() helper function
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4359>

2023-04-06 19:33:02 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	* sys/va/gstvabaseenc.h:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	* sys/va/gstvavp9enc.c:
	  va: encoder: Use GstVaEncFrame as the base object for all Enc Frame
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4359>

2024-05-14 14:44:45 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegtsmux: Allow pads to have no caps until they receive their first buffer
	  If the muxer times out because of the latency deadline it can happen
	  that some pads have no caps yet. In that case skip creation of streams
	  for these pads and create updated section tables once the first buffer
	  arrives later.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6823>

2024-05-09 17:11:59 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegtsmux: Correctly time out and mux anyway in live pipelines
	  This makes sure that for sparse streams (KLV, DVB subtitles, ...) the
	  muxer does not wait until the next buffer is available for them but
	  times out on the latency deadline and outputs data.
	  For non-live pipelines it will still be necessary for upstream to
	  correctly produce gap events for sparse streams.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6823>

2024-04-28 18:26:43 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvav1encoder.cpp:
	* sys/nvcodec/gstnvav1encoder.h:
	* sys/nvcodec/gstnvencobject.cpp:
	* sys/nvcodec/gstnvencobject.h:
	* sys/nvcodec/meson.build:
	* sys/nvcodec/plugin.c:
	  nvcodec: Add AV1 encoder
	  Adding CUDA mode "nvav1enc", D3D11 mode "nvd3d11av1enc" and auto GPU
	  mode "nvautogpuav1enc" elements
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6754>

2024-04-28 18:35:56 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	* sys/nvcodec/plugin.c:
	  nvcodec: Rename nvcuda{h264,h265}enc to nv{h264,h265}enc
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6754>

2024-05-12 18:49:09 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvbaseenc.c:
	* sys/nvcodec/gstnvbaseenc.h:
	* sys/nvcodec/gstnvenc.c:
	* sys/nvcodec/gstnvenc.h:
	* sys/nvcodec/gstnvh264enc.c:
	* sys/nvcodec/gstnvh264enc.h:
	* sys/nvcodec/gstnvh265enc.c:
	* sys/nvcodec/gstnvh265enc.h:
	* sys/nvcodec/meson.build:
	* sys/nvcodec/plugin.c:
	  nvcodec: Remove old nvenc implementation
	  Stop shipping deprecated implementation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6754>

2024-04-28 17:39:39 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvenc.c:
	  nvcodec: Bump minimum supported SDK version to 10.0
	  New preset (i.e., P1 ~ P7) requires SDK 10.0 or newer
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6754>

2024-04-24 01:47:51 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/cuviddec.h:
	* sys/nvcodec/gstnvenc.c:
	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	* sys/nvcodec/nvEncodeAPI.h:
	* sys/nvcodec/nvcuvid.h:
	  nvcodec: Update SDK header to 12.0.16
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6754>

2024-05-12 21:56:23 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvencoder.cpp:
	* sys/nvcodec/gstnvencoder.h:
	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	  nvencoder: Enhance lagacy encoding profile mapping
	  Updated based on the NVENC Preset Migration Guide
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6754>

2024-05-12 18:21:27 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvencoder.cpp:
	* sys/nvcodec/gstnvencoder.h:
	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	  nvencoder: Update property names and default value
	  ... to be the same as old NVENC elements
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6754>

2024-04-12 21:48:13 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  vah265enc: Let FORCE_KEYFRAME be IDR frame rather than just I frame
	  The FORCE_KEYFRAME frame which has GST_VIDEO_CODEC_FRAME_FLAG_FORCE_KEYFRAME
	  bit set should be the sync point. So we should let it be an IDR frame to begin
	  a new GOP, rather than just promote it to an I frame.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6619>

2024-04-09 23:40:41 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: Let FORCE_KEYFRAME be IDR frame rather than just I frame
	  The FORCE_KEYFRAME frame which has GST_VIDEO_CODEC_FRAME_FLAG_FORCE_KEYFRAME
	  bit set should be the sync point. So we should let it be an IDR frame to begin
	  a new GOP, rather than just promote it to an I frame.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6619>

2024-04-12 16:09:26 +0800  He Junyan <junyan.he@intel.com>

	* tests/examples/va/vaenc-dynamic-reconfigure.c:
	  examples: vaenc-dynamic: support force key frame setting
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6619>

2024-05-14 10:54:03 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	* sys/va/gstvabaseenc.c:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	* sys/va/gstvavp9enc.c:
	  vaenc: Allow to set the max-qp and min-qp for QVBR and ICQ modes
	  In fact, these setting can work well.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6841>

2024-05-14 10:31:05 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	  vah26{4,5}enc: Set the qp_p and qp_b to qp_i value in ICQ and QVBR
	  Set the P and B frame qp to I frame value to avoid generating delta
	  QP between different frame types. For ICQ and QVBR modes, we can
	  only set the qpi value, so the qpp and qpb values should be set to
	  the same value as the qpi.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6841>

2024-05-13 21:27:05 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	  d3d12decoder: Fix SDK debug layer warning
	  Address below message reported by SDK debug layer.
	  ID3D12Device::CheckFeatureSupport: Unsupported Decode Profile Specified.
	  Use ID3D12VideoDevice::CheckFeatureSupport with D3D12_FEATURE_VIDEO_DECODE_PROFILES
	  to retrieve a list of supported profiles
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6839>

2024-05-11 13:29:36 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvavp9enc.c:
	  vavp9enc: Do not use base class video info to calculate coded size
	  We should use our in_info which is an adjusted value to calculate
	  that coded size.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6826>

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

	* gst/dvdspu/gstdvdspu.c:
	* gst/dvdspu/gstspu-pgs.c:
	* gst/dvdspu/gstspu-pgs.h:
	  dvdspu: use multiple minimal sized PGS overlay rectangles
	  ... rather than possibly 1 large at full video size
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6413>

2024-05-12 18:15:05 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	  nvencoder: Fix maximum QP value setting
	  Fixing typo
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6827>

2024-05-06 14:55:32 +0300  Sebastian Dröge <sebastian@centricular.com>

	* meson_options.txt:
	* sys/aja/gstajasrc.cpp:
	* sys/aja/meson.build:
	  aja: Update to AJA NTV2 17.0.1
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3289
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6808>

2024-04-15 13:38:15 +0200  Robert Mader <robert.mader@collabora.com>

	* sys/v4l2codecs/gstv4l2decoder.c:
	  v4l2codecs: decoder: Reorder caps to prefer DMA_DRM ones
	  Certain V4L2 fourccs don't (yet) have DRM counter parts, in which case
	  we can't create DMA_DRM caps for them. This is usually the case for
	  specific tilings, which are represented as modifiers for DMA formats.
	  While using these tilings is generally preferable - because of e.g.
	  lower memory usage - it can result in additional conversion steps when
	  interacting with DMA based APIs such as GL, Vulkan or KMS. In such cases
	  using a DMA compatible format usually ends up being the better option.
	  Before the addition of DMA_DRM caps, this was what playbin3 ended up
	  requesting in various cases - e.g. prefering NV12 over NV12_4L4 - but
	  the addition of DMA_DRM caps seems to confuse the selection logic.
	  As a simple and quite robust solution, assume that peers supporting
	  DMA_DRM caps always prefer these and reorder the caps accordingly.
	  In the future we plan to have a translation layer for cases where
	  there is a matching fourcc+modifier pair for a V4L2 fourcc, ensuring
	  optimal results.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6645>

2024-05-04 11:56:05 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/play/gstplay.c:
	* gst-libs/gst/player/gstplayer.c:
	  play: Mention that gst_play_new() also initialized GStreamer
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6801>

2024-05-04 11:54:16 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/play/gstplay.c:
	* gst-libs/gst/player/gstplayer.c:
	  play: Initialize debug category and error quark in class_init
	  Doing it in gst_play_new() means that bindings that directly call
	  g_object_new() with the GType wouldn't end up initializing both.
	  This affects at least the Python and GJS bindings.
	  gst_init() is nonetheless only called from gst_play_new() once because
	  calling it from class_init would likely lead to problems as that's
	  called from somewhere in the middle of GObject.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6801>

2024-05-07 10:35:26 +0200  Emil Pettersson <khwaaj@gmail.com>

	* sys/applemedia/vtdec.c:
	  vtdec: Fix deadlock when negotiating format change
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6811>

2024-03-12 14:25:31 +1100  Matthew Waters <matthew@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/closedcaption/gstcccombiner.c:
	* ext/closedcaption/gstcccombiner.h:
	  cccombiner: add support for timing out captions without EOS
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6335>

2024-05-07 11:18:10 +0200  Piotr Brzeziński <piotr@centricular.com>

	* tests/check/elements/audiovisualizer.c:
	* tests/check/meson.build:
	  audiovisualizer: Add simple pipeline unit test
	  Creates pipelines with each of our visualizer elements and runs them with 20 buffers from audiotestsrc.
	  Added after a completely broken (segfaulting) synaescope went unnoticed for a while.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6800>

2024-04-29 18:24:36 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/elements/unixfd.c:
	  unixfd: disable flaky test_unixfd_segment for now
	  It's a problem with the test, and a proper fix might
	  require new API, so just disable it for now.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6813>

2024-04-18 17:07:25 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/codecs/gstav1decoder.c:
	* gst-libs/gst/codecs/gsth264decoder.c:
	* gst-libs/gst/codecs/gsth265decoder.c:
	* gst-libs/gst/codecs/gstmpeg2decoder.c:
	* gst-libs/gst/codecs/gstvp8decoder.c:
	* gst-libs/gst/codecs/gstvp9decoder.c:
	* gst-libs/gst/d3d12/gstd3d12fencedatapool.cpp:
	* gst/codectimestamper/gstcodectimestamper.c:
	* gst/mpegpsmux/psmuxstream.c:
	* sys/aja/gstajacommon.cpp:
	* sys/aja/gstajacommon.h:
	* sys/aja/gstajasink.cpp:
	* sys/aja/gstajasink.h:
	* sys/aja/gstajasrc.cpp:
	* sys/aja/gstajasrc.h:
	* sys/applemedia/vtdec.c:
	* sys/applemedia/vtdec.h:
	* sys/applemedia/vtenc.c:
	* sys/applemedia/vtenc.h:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/decklink/gstdecklink.cpp:
	* sys/decklink/gstdecklinkaudiosrc.cpp:
	* sys/decklink/gstdecklinkaudiosrc.h:
	* sys/decklink/gstdecklinkvideosrc.cpp:
	* sys/decklink/gstdecklinkvideosrc.h:
	* sys/mediafoundation/gstmfcapturewinrt.cpp:
	* sys/mediafoundation/gstmfsourcereader.cpp:
	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/va/gstvabaseenc.c:
	* sys/va/gstvabaseenc.h:
	  gst: Move GstQueueArray as GstVecDeque to core
	  And change lengths and indices from guint to gsize for a more correct type.
	  Also deprecate GstQueueArray and implement it in terms of GstVecDeque.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6779>

2024-05-06 20:50:21 +1000  Matthew Waters <matthew@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtc: request-aux-sender, only sink floating refs
	  Don't add an extra ref if non-floating as that ref will never be
	  unreffed.
	  gst_bin_add() is transfer floating (alias to transfer none).
	  Fixes a leak when a non-floating ref was provided as a return value in
	  the request-aux-sender signal.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6807>

2024-05-04 19:52:59 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3dshader/converter-hlsl/PSMain_converter.hlsl:
	  d3dshader: Fix gamma and primaries conversion pixel shader
	  Fixing regression introduced by the commit of f52ecb960792257b7394a6dc3182b6747c902b5b
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6802>

2024-04-22 09:48:14 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkvideo-private.c:
	* gst-libs/gst/vulkan/gstvkvideo-private.h:
	* gst-libs/gst/vulkan/gstvkvideoutils.c:
	* gst-libs/gst/vulkan/gstvkvideoutils.h:
	* tests/check/libs/vkvideoh265encode.c:
	* tests/check/meson.build:
	  tests: add vulkan H.265 encode
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6676>

2023-07-10 14:44:05 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* gst-libs/gst/vulkan/gstvkvideoutils.c:
	* gst-libs/gst/vulkan/gstvkvideoutils.h:
	* tests/check/libs/vkcodecparams_h264.c:
	* tests/check/libs/vkcodecparams_h265.c:
	* tests/check/libs/vkvideodecode.c:
	* tests/check/libs/vkvideoh264encode.c:
	* tests/check/meson.build:
	  tests: add Vulkan H.264 encode
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6676>

2024-02-01 20:43:04 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkconfig.h.meson:
	* gst-libs/gst/vulkan/gstvkdevice.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.c:
	* gst-libs/gst/vulkan/gstvkencoder-private.h:
	* gst-libs/gst/vulkan/gstvkimagebufferpool.c:
	* gst-libs/gst/vulkan/gstvkimagebufferpool.h:
	* gst-libs/gst/vulkan/gstvkoperation.c:
	* gst-libs/gst/vulkan/gstvkoperation.h:
	* gst-libs/gst/vulkan/gstvkvideo-private.c:
	* gst-libs/gst/vulkan/gstvkvideo-private.h:
	* gst-libs/gst/vulkan/gstvkvideoutils.h:
	* gst-libs/gst/vulkan/meson.build:
	* gst-libs/gst/vulkan/vulkan_fwd.h:
	  vkencoder: add gstvkencoder helper object
	  Add a gstvkencoder class to support Vulkan encoder such as H26X
	  formats.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6676>

2024-04-27 01:13:18 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11-private.h:
	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	  d3d11: Add support for Y216 and Y416 formats
	  We were mapping Y212 and Y412 formats to DXGI_FORMAT_{Y216,Y416}.
	  Reuse already implemented shaders for the new formats
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6745>

2024-04-27 00:37:52 +0900  Seungha Yang <seungha@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	  video: Add Y216 and Y416 formats
	  The same memory layout as Y212 and Y412 formats, respectively
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6745>

2024-05-03 22:57:57 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  vah265enc: Fix a memory leak when destroying the object
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6791>

2024-05-03 12:08:19 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  vah265enc: Use a FIFO queue to generate DTS
	  The base parse will infer the DTS by itself, so we need to make DTS
	  offset before PTS in order to avoid DTS bigger than PTS. We now use
	  a FIFO queue to store all PTS and assign it to DTS by an offset.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6791>

2024-05-02 14:18:16 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	* sys/va/gstvabaseenc.h:
	* sys/va/gstvah264enc.c:
	  vah264enc: Use a FIFO queue to generate DTS
	  The base parse will infer the DTS by itself, so we need to make DTS
	  offset before PTS in order to avoid DTS bigger than PTS. We now use
	  a FIFO queue to store all PTS and assign it to DTS by an offset.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6791>

2024-04-30 16:55:05 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh265dec.c:
	* gst-libs/gst/vulkan/gstvkdecoder-private.c:
	  vkdecoder: change dstmask in decoder frame barrier
	  Use of VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT instead of
	  specific VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR
	  Fix for VUID-vkCmdPipelineBarrier2-srcStageMask-03849
	  pDependencyInfo->pImageMemoryBarriers[0].srcStageMask
	  (VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR) is not compatible with
	  the queue family properties
	  (VK_QUEUE_GRAPHICS_BIT|VK_QUEUE_COMPUTE_BIT|VK_QUEUE_TRANSFER_BIT|
	  VK_QUEUE_SPARSE_BINDING_BIT|VK_QUEUE_PROTECTED_BIT) of this
	  command buffer. The Vulkan spec states: The srcStageMask member
	  of any element of the pMemoryBarriers, pBufferMemoryBarriers, or
	  pImageMemoryBarriers members of pDependencyInfo must only
	  include pipeline stages valid for the queue family that was
	  used to create the command pool that commandBuffer was allocated
	  from (
	  https://www.khronos.org/registry/vulkan/specs/1.3-extensions/
	  html/vkspec.html#VUID-vkCmdPipelineBarrier2-srcStageMask-03849)
	  The frame barrier should use a compatible srcStageMask for all
	  the queues.
	  Remove reset_pipeline_stage_mask as it is redundant
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6780>

2024-05-02 11:51:03 +0200  Rafael Caricio <rcaricio@netflix.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: No default will trigger warning at compile time
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6778>

2024-05-01 13:40:06 +0200  Rafael Caricio <rcaricio@netflix.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: Add max-level and max-tier to caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6778>

2024-04-30 13:24:42 +0200  Rafael Caricio <rcaricio@netflix.com>

	* gst/videoparsers/gstav1parse.c:
	  av1parse: Add level and tier to caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6778>

2024-02-29 12:31:47 +0100  Loïc Le Page <llepage@igalia.com>

	* ext/soundtouch/gstbpmdetect.cc:
	* ext/soundtouch/gstpitch.cc:
	* ext/soundtouch/meson.build:
	* tests/validate/meson.build:
	* tests/validate/pitch/change_pitch_properties.validatetest:
	* tests/validate/pitch/change_pitch_properties/flow-expectations/log-pitch-src-expected:
	* tests/validate/pitch/maintain_pitch_with_variable_playback_rates.validatetest:
	* tests/validate/pitch/maintain_pitch_with_variable_playback_rates/flow-expectations/log-pitch-src-expected:
	* tests/validate/pitch/pitch-test.meta:
	* tests/validate/pitch/reverse.change_pitch_properties.validatetest:
	* tests/validate/pitch/reverse.change_pitch_properties/flow-expectations/log-pitch-src-expected:
	* tests/validate/pitch/reverse.maintain_pitch_with_variable_playback_rates.validatetest:
	* tests/validate/pitch/reverse.maintain_pitch_with_variable_playback_rates/flow-expectations/log-pitch-src-expected:
	  pitch: add validate tests
	  Add pitch tests with different forward and backward playback rates.
	  Those tests depend on the libSoundTouch version to validate the buffers
	  checksums. The actual version uses libSoundTouch 2.3.2, use the
	  `--force-fallback-for=soundtouch` meson option to build using the same
	  version.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6247>

2024-02-29 12:27:23 +0100  Loïc Le Page <llepage@igalia.com>

	* tests/files/audio-8s-then-reverse.ogg:
	* tests/interactive/meson.build:
	* tests/interactive/pitch-playback-test.c:
	  pitch: add interactive test
	  Test pitch with different forward and backward playback rates.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6247>

2024-02-28 19:34:15 +0100  Loïc Le Page <llepage@igalia.com>

	* ext/soundtouch/gstpitch.cc:
	* ext/soundtouch/gstpitch.hh:
	  pitch: make it work with reverse playback
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6247>

2024-02-28 18:47:58 +0100  Loïc Le Page <llepage@igalia.com>

	* ext/soundtouch/gstpitch.cc:
	  pitch: fix multithread accesses
	  - fully protect accesses to the libsoundtouch API that is not
	  thread-safe.
	  - fully protect accesses to GstPitch members that could be read by a
	  downstream query thread while written by an upstream streaming thread
	  or a user thread.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6247>

2024-02-28 14:05:11 +0100  Loïc Le Page <llepage@igalia.com>

	* ext/soundtouch/gstpitch.cc:
	* ext/soundtouch/gstpitch.hh:
	  pitch: refactor some variables names
	  - use the `GST_PITCH_GET_PRIVATE` accessor when needed
	  - rename `out_seg_rate` to `output_rate` to use the same name as the parameter
	  - rename `seg_arate` to `segment_applied_rate` to improve readability
	  - apply gst-indent to gstpitch.hh/cc
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6247>

2024-02-28 13:21:51 +0100  Loïc Le Page <llepage@igalia.com>

	* ext/soundtouch/gstpitch.cc:
	  pitch: fix time ratio computation
	  When changing playing rate, the output segment was not correctly
	  calculated because the stream time ratio was computed using the previous
	  input segment rate instead of using the actual rate. This was producing
	  wrong results for the output segment start and end values.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6247>

2024-05-01 00:12:42 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvh264dec.cpp:
	* sys/qsv/gstqsvh265dec.cpp:
	  qsvh264dec,qsvh265dec: Fix nalu leaks
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3514
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6781>

2024-04-30 18:15:56 +0200  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtdec.c:
	  vtdec: Fix PAUSED->READY deadlock when output loop is running
	  Makes sure the GST_PAD_STREAM_LOCK is not taken when pad is being deactivated.
	  The lack of this was causing deadlocks when stopping the pipeline right after producing first buffers.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6783>

2024-04-30 18:08:27 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh265dec.c:
	  vkh26xdec: Fix stop memory leak
	  The h26xdecoder 'stop' method was not called
	  as the vulkan h26x class rewires the video decoder
	  'stop' base method to its own one.
	  It was causing some memory leaks such as dangling parser
	  and dpb in h26xdecoder base class.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6782>

2024-04-30 11:20:54 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	* sys/va/gstvabaseenc.c:
	* sys/va/gstvabaseenc.h:
	* sys/va/gstvavp9enc.c:
	  vabaseenc: delete the useless frame counter fields
	  They are used to calculate the PTS and DTS before, no usage now.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6773>

2024-04-30 11:12:05 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	  vabaseenc: Do not set the min_pts
	  Because all the va encoders improved their PTS/DTS algorithm, now
	  it is impossible to generate minus DTS. So no underflow will happen
	  and we do not need to set a 1000 hour offset now.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6773>

2024-04-26 17:12:03 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkcaps.c:
	  msdk: Add Y212 format to hevc encoder static raw caps
	  Note that static caps is used for the old MSDK dispatch.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6750>

2024-04-22 15:03:56 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  vah265enc: Set the correct buffer flag for output
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6703>

2024-04-22 14:44:53 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: Set the correct buffer flag for output
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6703>

2024-04-21 14:55:31 +0800  Seungha Yang <seungha@centricular.com>

	* sys/va/gstvabaseenc.c:
	  vabaseenc: Fix frame leak on error path
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6703>

2024-04-21 14:48:02 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  vah265enc: Do not touch the PTS of output frame
	  1. The PTS of all frames should not be changed.
	  2. Just update the DTS based on the PTS. For the frame which is not
	  reordered, the DTS is equal to PTS. For frame which is reordered,
	  the DTS is equal to previous DTS. For example:
	  Input: F0[D0, P0] -- F1[D1, P1] -- F2[D2, P2] -- F3[D3, P3]
	  Output: F0[I, D0, P0] -- F3[P, D0, P3] -- F1[B, D1, P1] -- F2[B, D2, P2]
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6703>

2024-04-21 12:51:31 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  vah264enc: Do not touch the PTS of output frame
	  1. The PTS of all frames should not be changed.
	  2. Just update the DTS based on the PTS. For the frame which is not
	  reordered, the DTS is equal to PTS. For frame which is reordered,
	  the DTS is equal to previous DTS. For example:
	  Input: F0[D0, P0] -- F1[D1, P1] -- F2[D2, P2] -- F3[D3, P3]
	  Output: F0[I, D0, P0] -- F3[P, D0, P3] -- F1[B, D1, P1] -- F2[B, D2, P2]
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6703>

2024-04-28 23:37:55 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	  d3d12decoder: Fix d3d12 resource copy
	  It was copying to self resource
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6753>

2024-04-28 23:34:37 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvh265encoder.cpp:
	  nvh265encoder: Fix crash with RGBx and BGRx
	  Both formats need to be handled in switch
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6752>

2024-04-27 22:54:14 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12ipcclient.cpp:
	  d3d12ipcclient: Fix deadlock when copying texture
	  Fixing deadlock in below case
	  * GC lock is taken by background thread, and the background thread calls
	  gst_d3d12_ipc_client_release_imported_data() which takes ipc lock
	  * ipc lock is already taken in ipc thread and trying to pushing GC data
	  via gst_d3d12_command_queue_set_notify()
	  * gst_d3d12_command_queue_set_notify() is trying to take GC lock
	  but it's already taken by background thread
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6749>

2024-04-27 22:02:59 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12ipcsink.cpp:
	  d3d12ipcsink: Handle external fence
	  Waits external fence before sending frame to peer.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6749>

2024-04-27 23:34:35 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	  d3d12decoder: Remove CPU-side waiting
	  Sets decoder command queue's fence to memory instead of waiting
	  from decoder's output thread. CPU-side waiting will happen
	  only if download is required.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6749>

2024-04-27 21:32:23 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12dxgicapture.cpp:
	  d3d12screencapturesrc: Fix output to non-d3d12 element
	  Configures upload/download flags to memory after write
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6749>

2024-04-27 20:23:32 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12dxgicapture.cpp:
	  d3d12screencapturesrc: Release and flush d3d11 objects before d3d12
	  Fixing device-removed error when closing pipeline
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6749>

2024-04-27 20:10:53 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	  d3d12memory: Do not wait external fence on map()
	  Only wait for external fence if upload or download is required.
	  Waiting for external fence in case of d3d12 mapping is caller's
	  responsibility
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6749>

2024-04-27 23:30:40 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12encoder.cpp:
	  d3d12encoder: Handle external fence explicitly
	  Waits for external fence if any
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6749>

2024-04-27 19:46:51 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter.h:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	* sys/dwrite/gstdwriterender_d3d12.cpp:
	  d3d12converter: Add support for GPU-side external fence waiting
	  Ideally, GPU waiting should be scheduled just before executing command list.
	  But handling the case outside of converter is a bit complicated.
	  Under an assumption that constructed command list will be executed
	  immediately, schedules GPU-side waiting inside of conversion method
	  to simplify the flow.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6749>

2024-04-27 18:44:26 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12memory.h:
	  d3d12memory: Use explicit type for GST_MAP_D3D12 define
	  C++ compiler will complain about different type between int and GstMapFlags
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6749>

2024-04-27 23:29:40 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12frame.cpp:
	* gst-libs/gst/d3d12/gstd3d12frame.h:
	  d3d12frame: Extract external fence from memory and wait helper function
	  Adding gst_d3d12_frame_fence_{gpu,cpu}_wait() methods
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6749>

2024-04-27 17:54:38 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device-private.h:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12frame.cpp:
	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12ipcclient.cpp:
	* sys/dwrite/gstdwriterender_d3d12.cpp:
	  d3d12: Update copy_texture_region() method
	  Pass external fence value if any and allow passing fence
	  data so that dependent resources can be released
	  once copy is done
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6749>

2024-04-27 17:44:36 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12commandqueue.cpp:
	* gst-libs/gst/d3d12/gstd3d12commandqueue.h:
	  d3d12commandqueue: Add execute_wait_and_command_lists() method
	  ... so that GPU-side waiting and executing can be scheduled at once
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6749>

2024-04-27 17:28:47 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	* gst-libs/gst/d3d12/gstd3d12memory.h:
	  d3d12memory: Add get_external_fence() method
	  Required for caller to wait external fence without map() method
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6749>

2024-04-27 00:07:53 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12bufferpool.cpp:
	  d3d12bufferpool: Sync all memory objects on acquire_buffer()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6749>

2024-04-19 00:30:47 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	  vabaseenc: No need to call _finish_subframe()
	  After vaav1enc is aligned to TU, there is no case that generates
	  multi output for one input.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6688>

2024-04-19 00:25:25 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvavp9enc.c:
	  vavp9enc: Set the correct buffer flag for output
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6688>

2024-04-19 00:22:50 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  vaav1enc: Set the correct buffer flag for output
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6688>

2024-04-19 00:14:15 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  vaav1enc: Do not change the PTS/DTS of output frames
	  The AV1 encoder does not reorder the frames, so there is no need
	  to change the timestamp related meta data of output frames, just
	  inheriting it from the input frames.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6688>

2024-04-18 22:30:20 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  vaav1enc: Change the alignment of output to "tu"
	  The current output alignment is "frame", which may cause some issues
	  for PTS and DTS calculation. We now change the alignment to "tu",
	  and this is also the alignment mode for av1enc and svtav1enc.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6688>

2024-04-15 09:51:53 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* gst/unixfd/gstunixfdsrc.c:
	  unixfd: Close file descriptors on error
	  After calling g_unix_fd_list_steal_fds() and before calling
	  gst_fd_allocator_alloc(), we are responsible for closing those fds.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6532>

2024-04-03 10:28:28 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* gst/unixfd/gstunixfdsink.c:
	* gst/unixfd/gstunixfdsrc.c:
	* tests/check/elements/unixfd.c:
	  unixfdsink: Take segment into account when converting timestamps
	  Also rename `calculate_timestamp()` to `to_monotonic()` and
	  `from_monotonic()` which better describe what it does.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6532>

2024-04-03 13:17:01 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* gst/unixfd/gstunixfdsrc.c:
	  unixfd: Allow sending buffers with no memories
	  There is no reason to not allow it, and it is useful for simple unit
	  test.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6532>

2024-04-25 14:13:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh265dec.c:
	* gst-libs/gst/vulkan/gstvkdecoder-private.c:
	* gst-libs/gst/vulkan/gstvkdecoder-private.h:
	* gst-libs/gst/vulkan/gstvkqueue.c:
	* gst-libs/gst/vulkan/gstvkqueue.h:
	* gst-libs/gst/vulkan/vulkan_fwd.h:
	* tests/check/libs/vkvideodecode.c:
	  vulkan: replace gst_vulkan_queue_create_decoder() with gst_vulkan_decoder_new_from_queue()
	  The purpose of this refactor is to hide decoding code from public API.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6723>

2024-04-23 14:51:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkdecoder-private.c:
	* gst-libs/gst/vulkan/gstvkdecoder-private.h:
	* gst-libs/gst/vulkan/vulkan_fwd.h:
	  vulkan: conceal unused decoder symbols
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6723>

2024-04-23 14:48:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh265dec.c:
	* gst-libs/gst/vulkan/gstvkdecoder-private.c:
	* gst-libs/gst/vulkan/gstvkdecoder-private.h:
	* gst-libs/gst/vulkan/gstvkqueue.c:
	* gst-libs/gst/vulkan/gstvkqueue.h:
	* gst-libs/gst/vulkan/meson.build:
	* tests/check/libs/vkvideodecode.c:
	  vulkan: conceal decoder from public API
	  Since we don't want to expose video decoding API outside of GStreamer, the
	  header is removed from installation and both source files are renamed as
	  -private.
	  The header must remain in gst-libs because is referred by GstVulkanQueue,
	  which's the decoder factory.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6723>

2024-04-24 15:44:41 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstvaallocator.c:
	  vaallocator: disable derived all together for Mesa <23.3
	  First it derived mapping was disabled for P010 formats, but also there's an
	  issue with interlaced frames.
	  It would be possible to disable derived mapping only for interlaced (H.264
	  decoder and vadeinterlace) but it would spread the hacks along the code. It's
	  simpler and contained to disable derived completely for Mesa <23.3
	  Fixes: #3450
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6729>

2024-04-25 11:50:03 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstvavideoformat.c:
	  va: videoformat: use video library to get DRM fourcc
	  Instead of duplicating the GStreamer format to DRM fourcc mapping, this patch
	  uses the GstVideo library helpers. This duplicates the big O of looking for,
	  since the two lists are traversed, but it's less error prone.
	  Partially reverts commit 547f3e8622a39ce971c272f2c31eab8f1fdfbb45.
	  Fixes: #3354
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6731>

2024-04-17 18:37:30 +0900  Hou Qi <qi.hou@nxp.com>

	* gst-libs/gst/wayland/gstwlwindow.c:
	  wlwindow: free staged buffer when do gst_wl_window_finalize
	  If waylandsink received buffer rate is high which causes frame
	  drop, the cached staged buffer will be replaced when next buffer
	  needs to be rendered and be freed after redraw. But there is
	  chance to get memory leak if ended without redraw. So need to
	  free staged buffer when do gst_wl_window_finalize().
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6670>

2024-04-26 00:35:54 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12screencapturesrc.cpp:
	  d3d12screencapturesrc: Performance improvement
	  Process captured frame using d3d11 instead of d3d12, and use shared
	  fence when copying processed d3d11 texture to d3d12 resource.
	  In this way, capture CPU thread does not need to wait for fence signal.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6733>

2024-04-24 00:52:18 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/rsvg/gstrsvgdec.c:
	* ext/rsvg/gstrsvgoverlay.c:
	  rsvg: Disable deprecations instead of porting to new librsvg API
	  `rsvg_handle_get_dimensions()` and `rsvg_handle_render_cairo()` are
	  deprecated, and the replacement librsvg functions as specified in the
	  migration guide are `rsvg_handle_get_intrinsic_size_in_pixels()` and
	  `rsvg_handle_render_document()`.
	  However, those are not drop-in replacements, and actually have
	  breaking semantics for our use-case:
	  1. `intrinsic_size_in_pixels()` requires SVGs to have width+height or
	  the viewBox attribute, but `get_dimensions()` does not. It will
	  calculate the geometry based on element extents recursively.
	  2. `render_cairo()` simply renders the SVG at its intrinsic size on
	  the specified surface starting at the top-left, maintaining
	  whatever transformations have been applied to the cairo surface,
	  including distorted aspect ratio.
	  However, `render_document()` does not do that, it is specifically
	  for rendering at the specified aspect ratio inside the specified
	  viewport, and if you specify a viewPort that does not match the
	  aspect ratio of the SVG, librsvg will center it.
	  Matching the old behaviour with the new APIs is a lot of work for no
	  benefit. We'd be duplicating code that is already there in librsvg in
	  one case and undoing work that librsvg is doing in the other case.
	  The aspect ratio handling in this element is also kinda atrocious.
	  There is no option to scale the SVG while maintaining the aspect
	  ratio. Overall, element needs a rewrite.
	  Let's just disable deprecations. The API is not going anywhere.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6726>

2024-04-24 00:51:23 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/rsvg/gstrsvgdec.c:
	* ext/rsvg/gstrsvgdec.h:
	  Revert "rsvgdec: Fix uses of librsvg functions deprecated since 2.52"
	  This reverts commit b8db4739551401c653f2ae55f39d1ab77e3a5ef5.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6726>

2024-04-17 18:45:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/vulkan/gstvkswapper.c:
	  vkswapper: choose color space according with format
	  The swapper surfaces contains the color space for each supported format. Instead
	  of hard coding the color space, it returns the value associated with the
	  negotiated vulkan format.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6725>

2024-03-06 12:59:25 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* tests/check/libs/vkcodecparams.c:
	* tests/check/libs/vkvideodecode.c:
	  tests: vulkan: split decoder test and parameters
	  Thus they can be reused for the encoder test.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6721>

2024-04-24 14:42:31 +0900  Elliot Chen <elliot.chen@nxp.com>

	* gst-libs/gst/play/gstplay.c:
	  gstplay: query seek information again in playing state for live stream
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6681>

2024-04-24 01:02:15 +0900  Haihua Hu <jared.hu@nxp.com>

	* gst-libs/gst/wayland/gstwlwindow.c:
	  wlwindow: clear configure mutex and cond when finalize
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6722>

2024-04-23 11:00:21 +0200  Edward Hervey <edward@centricular.com>

	* tools/utils.c:
	  bad/utils: Simplify get_file_extension
	  By using g_strrstr
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6715>

2024-04-23 10:53:54 +0200  Edward Hervey <edward@centricular.com>

	* gst/mpegtsdemux/mpegtsbase.c:
	  mpegtsbase: Fix Program equality check
	  There was an issue with this equality check, which was to figure out what to do
	  with PCR pids (whether they were part of the streams present or not) and whether
	  we ignore PCR or not.
	  Turns out ... we already took care of that further up in the function.
	  The length check can be simplified by just checking whether the length of
	  the *original* PMT and the new PMT are identical. Since we don't store "magic"
	  PCR streams in those, we can just use them as-is.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6713>

2024-04-23 01:40:44 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	  d3d12decoder: Lock DPB while building command
	  Since DPB resource can be modified in output thread, protect
	  it when building command list.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6709>

2024-04-22 19:32:22 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	  d3d12decoder: Hold reference pictures in fence data
	  Keep reference pictures alive during executing decoding commands
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6709>

2024-04-22 21:52:53 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12decoder.h:
	* sys/d3d12/gstd3d12vp9dec.cpp:
	  d3d12vp9dec: Disallow resolution change to larger size on non-keyframe
	  Intel GPU seems to be crashing if the case happens.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6709>

2024-04-21 22:38:50 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	  d3d12decoder: Fix potential use after free
	  A DPB buffer held by codec picture object may not be writable
	  at the moment, then gst_buffer_make_writable() will unref passed buffer.
	  Specifically, the use after free or double free can happen if:
	  * Crop meta of buffer copy is required because of non-zero
	  top-left crop position
	  * zero-copy is possible with crop meta
	  * A picture was duplicated, interlaced h264 stream for example
	  Interlaced h264 stream with non-zero top-left crop position
	  is not very common but it's possible configuration in theory.
	  Thus gst_buffer_make_writable() should be called with
	  GstVideoCodecFrame.output_buffer directly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6706>

2024-04-21 22:07:36 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11decoder.cpp:
	  d3d11decoder: Fix potential use after free
	  A DPB buffer held by codec picture object may not be writable
	  at the moment, then gst_buffer_make_writable() will unref passed buffer.
	  Specifically, the use after free or double free can happen if:
	  * Crop meta of buffer copy is required because of non-zero
	  top-left crop position
	  * zero-copy is possible with crop meta
	  * A picture was duplicated, interlaced h264 stream for example
	  Interlaced h264 stream with non-zero top-left crop position
	  is not very common but it's possible configuration in theory.
	  Thus gst_buffer_make_writable() should be called with
	  GstVideoCodecFrame.output_buffer directly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6706>

2024-04-16 09:50:52 +0200  Edward Hervey <edward@centricular.com>

	* gst/mpegtsdemux/mpegtsbase.c:
	  tsdemux: Disable smart program update
	  The goal of this code was, for programs which were updates (i.e. adding/removing
	  streams but not completely changing) to allow dynamic addition/removal of
	  streams without completely removing everything.
	  But this wasn't 100% tested and there are a bunch of issues which make it fail
	  in plenty of ways.
	  For now disable that feature and force the legacy "add all pads again and then
	  remove old ones" behaviour to make it switch.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6651>

2024-04-20 21:37:39 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11device-private.h:
	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* gst-libs/gst/d3d11/gstd3d11utils.cpp:
	  d3d11device: Add device-removed-reason property
	  In addition to device removed status monitoring in gst_d3d11_result()
	  method, if ID3D11Device4 interface is available,
	  an event handle will be used for device removed status update.
	  And "device-removed" signal is removed since applications can monitor
	  the device removed status via gobject notify
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6699>

2024-04-20 23:13:20 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12utils.cpp:
	  d3d12utils: Fix documentation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6699>

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

	* gst-libs/gst/d3d12/gstd3d12device-private.h:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12utils.cpp:
	* tests/check/libs/d3d12device.cpp:
	* tests/check/meson.build:
	  d3d12device: Add device-removed-reason property
	  Adding new property in order to notify users of device removed status.
	  Once device removed status is detected, application should release
	  all ID3D12Device objects corresponding to the adapter, including
	  GstD3D12Device object. Otherwise D3D12CreateDevice() call for the
	  adapter will fail.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6699>

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

	* sys/mediafoundation/gstmfsourceobject.cpp:
	  mediafoundation: Fix infinite loop in device provider
	  Initialize source state with GST_MF_DEVICE_NOT_FOUND to terminate
	  loop immediately if no available capture device is available
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3492
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6704>

2024-04-18 10:18:05 +0200  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* tests/check/libs/d3d11device.cpp:
	  d3d11device: protect device_lock vs device_new
	  It seems that when D3D11CreateDevice collides in time
	  with other D3D11 calls, in particular the proccess of
	  creating a shader, it can corrupt the memory in the driver.
	  D3D11 spec doesn't seem to require any thread safety from
	  D3D11CreateDevice. Following MSDN, it is supposed to be called
	  in the beginning of the proccess, while GStreamer calls it with each
	  new pipeline.
	  Such crashes in the driver were frequently reproducing on the
	  Intel UHD 630 machine.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6686>

2024-04-16 23:08:51 +0200  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* tests/check/libs/d3d11device.cpp:
	* tests/check/meson.build:
	  tests/d3d11: add concurrency test for gstd3d11device
	  We suspect that it's not thread safe to just create and
	  destroy the device from any thread, particularly because
	  of D3D11CreateDevice, that is not documented as thread-safe.
	  While D3D11CreateDevice is usually protected from outside
	  by the gst_d3d11_ensure_element_data, it still can cross
	  with the Release() method of another device.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6686>

2024-04-19 17:17:08 +0900  Elliot Chen <elliot.chen@nxp.com>

	* gst-libs/gst/play/gstplay.c:
	  gstplay: query duration again if previous query failed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6668>

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

	* sys/d3d12/gstd3d12testsrc.cpp:
	  d3d12testsrc: Use shared 11on12 device
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6697>

2024-04-19 22:26:35 +0900  Seungha Yang <seungha@centricular.com>

	* sys/dwrite/gstdwriterender_d3d12.cpp:
	  dwrite: Use shared 11on12 device
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6697>

2024-04-19 22:16:42 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12device-private.h:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/meson.build:
	* sys/d3d12/meson.build:
	  d3d12device: Hold d3d11on12 device to be shared
	  d3d11on12 device seems to be occupying a bit of GPU memory
	  Hold the instance in GstD3D12Device so that it can be shared
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6697>

2024-04-19 21:13:25 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12videosink.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	  d3d12videosink: Handle mouse double click and modifier
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6693>

2024-04-19 20:44:44 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12videosink.cpp:
	  d3d12videosink: Disconnect window's signal on dispose
	  Same as the commit of 7b69d1758f77331c2801746cd91b1b6b0db9ecfb
	  but for d3d12videosink.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6692>

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

	* sys/d3d12/gstd3d12window.cpp:
	  d3d12videosink: Handle external HWND's mouse/keyboard events
	  OS will not propagate the event to child HWND if it's handled by
	  the parent. Thus, navigation event should be handled by parent HWND's
	  event handler.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6692>

2024-04-18 09:20:13 +0300  Sebastian Dröge <sebastian@centricular.com>

	* sys/va/gstvavp9enc.c:
	  vavp9enc: Preserve PTS and other frame metadata
	  See also https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4150
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6680>

2024-03-31 00:23:31 +0900  Seungha Yang <seungha@centricular.com>

	* sys/webview2/gstwebview2object.cpp:
	  webview2: Handle double click and modifier
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6491>

2024-03-30 23:57: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: Handle double click and modifier
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6491>

2024-04-17 10:58:00 +0900  Hou Qi <qi.hou@nxp.com>

	* ext/wayland/gstwaylandsink.c:
	  waylandsink: config buffer pool with query size when propose_allocation
	  If propose_allocation comes before set_caps, self->video_info
	  has not been extracted from caps and self->video_info.size is 0.
	  It causes buffer pool fail to set config . So need to use info
	  size got from query instead when propose_allocation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6666>

2021-03-19 18:33:09 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/rsvg/gstrsvgdec.c:
	  rsvgdec: Remove unused GObject::finalize implementation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6613>

2024-04-11 19:54:45 -0300  L. E. Segovia <amy@centricular.com>

	* ext/rsvg/gstrsvgdec.c:
	* ext/rsvg/gstrsvgdec.h:
	  rsvgdec: Fix uses of librsvg functions deprecated since 2.52
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6613>

2021-03-11 20:18:24 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/rsvg/gstrsvgdec.c:
	* ext/rsvg/gstrsvgdec.h:
	  rsvgdec: Negotiate resolution with downstream and scale accordingly
	  Prefer the resolution given by the input but if downstream request a
	  specific resolution then scale to this without regards to the aspect
	  ratio.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1538
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6613>

2024-04-17 16:55:31 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	  v4l2codecs: Don't unref allocation query caps
	  The caps obtained from parsing the allocation query is borrowed and
	  should not be unreffed. This fixes criticals assertion introduced in
	  1.24.1.
	  (gst-launch-1.0:242): GStreamer-CRITICAL **: 19:48:02.667:
	  gst_mini_object_unref: assertion 'GST_MINI_OBJECT_REFCOUNT_VALUE (mini_object) > 0' failed
	  Fixes: 5189e8b95630 ("v4l2codecs: decoders: Add DMA_DRM caps support")
	  Closes #3462
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6679>

2024-04-09 17:10:20 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkcaps.c:
	* sys/msdk/gstmsdkenc.c:
	* sys/msdk/gstmsdkh265enc.c:
	  msdk: Add main-422-12 profile to hevc
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6591>

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/6661>

2024-04-16 23:29:26 +0200  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	  d3d11converter: fix documentation for converter_new ()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6665>

2024-04-10 20:57:16 +0900  Seungha Yang <seungha@centricular.com>

	* sys/mediafoundation/gstmfcapturedshow.cpp:
	* sys/mediafoundation/gstmfcapturedshow.h:
	* sys/mediafoundation/gstmfcapturewinrt.cpp:
	* sys/mediafoundation/gstmfcapturewinrt.h:
	* sys/mediafoundation/gstmfdevice.cpp:
	* sys/mediafoundation/gstmfsourceobject.cpp:
	* sys/mediafoundation/gstmfsourceobject.h:
	* sys/mediafoundation/gstmfsourcereader.cpp:
	* sys/mediafoundation/gstmfsourcereader.h:
	  mediafoundation: Fix device enumeration
	  Do not stop device enumerate even if a device could not be opened.
	  Otherwise the other devices listed after the failed device will not be
	  reported by device provider
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3460
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6598>

2024-04-15 10:51:03 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/meson.build:
	  tests: fix possible libscpp build failure in gst-plugins-bad
	  ../subprojects/gst-plugins-bad/tests/check/libs/gstlibscpp.cc:41:
	  fatal error: gst/mpegts/gstmpegts-enumtypes.h: No such file or directory
	  Could only pass the needed deps to the libscpp test, but gets
	  messier to maintain, so let's at it for consistency.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6643>

2024-04-12 09:32:13 +0100  Philippe Normand <philn@igalia.com>

	* tests/check/elements/webrtcbin.c:
	  tests: webrtcbin: Fix repaired-stream-id handling in simulcast test
	  The test was attempting to add the same stream-id extension twice, probably some
	  unfinished copy/paste.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6615>

2024-04-10 01:26:38 +0900  Seungha Yang <seungha@centricular.com>

	* sys/dwrite/gstdwritebaseoverlay.cpp:
	* sys/dwrite/gstdwriteoverlayobject.cpp:
	* sys/dwrite/gstdwriteoverlayobject.h:
	* sys/dwrite/gstdwriterender.cpp:
	* sys/dwrite/gstdwriterender.h:
	* sys/dwrite/gstdwriterender_bitmap.cpp:
	* sys/dwrite/gstdwriterender_bitmap.h:
	* sys/dwrite/gstdwriterender_d3d11.cpp:
	* sys/dwrite/gstdwriterender_d3d11.h:
	* sys/dwrite/gstdwriterender_d3d12.cpp:
	* sys/dwrite/gstdwriterender_d3d12.h:
	* sys/dwrite/meson.build:
	  dwrite: D3D12 integration
	  Adding d3d12 backend text renderer/blender by using d3d11on12 interop.
	  And subclassing renderer object per backend (i.e., d3d11, d3d12, and bitmap)
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6620>

2024-04-10 00:57:40 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12overlaycompositor.cpp:
	* sys/d3d12/gstd3d12overlaycompositor.h:
	* sys/d3d12/gstd3d12window.cpp:
	  d3d12overlaycompositor: Add support for d3d12 memory
	  Don't allocate d3d12 texture if overlay is d3d12 memory already
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6620>

2024-04-13 22:47:47 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12utils.cpp:
	* gst-libs/gst/d3d12/gstd3d12utils.h:
	* sys/d3d12/gstd3d12pluginutils.cpp:
	* sys/d3d12/gstd3d12pluginutils.h:
	  d3d12: Move gst_d3d12_buffer_copy_into method to library
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6620>

2024-04-13 22:28:31 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	  d3d12converter: Port to GstD3D12Frame
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6620>

2024-04-13 21:46:32 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12.h:
	* gst-libs/gst/d3d12/gstd3d12_fwd.h:
	* gst-libs/gst/d3d12/gstd3d12frame.cpp:
	* gst-libs/gst/d3d12/gstd3d12frame.h:
	* gst-libs/gst/d3d12/meson.build:
	  d3d12: Add GstD3D12Frame struct and helper method
	  Adding GstD3D12Frame struct with map, unmap, and copy methods.
	  This new struct is equivalent to GstVideoFrame but gst_d3d12_frame_map()
	  method will extract D3D12 specific resource handles from memory.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6620>

2024-04-12 18:18:13 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	  d3d12memory: Implement copy method
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6620>

2024-04-13 23:53:00 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12encoder.cpp:
	  d3d12encoder: Fix buffer pool leak
	  Add missing buffer pool release
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6628>

2024-04-10 22:01:18 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11videosink.cpp:
	* sys/d3d11/gstd3d11window.h:
	* sys/d3d11/gstd3d11window_dummy.cpp:
	  d3d11videosink: Fix rendering on keyed mutex enabled handle
	  As of the commit 69b2e1565c5d0e8b2313d52042d73c721fed7edb,
	  keyed mutex will be handled by the memory object.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3468
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6600>

2024-04-11 18:10:40 +0300  Jordan Petridis <jordan@centricular.com>

	* ext/fdkaac/meson.build:
	  fdkaac: Mark the dependency include_type as 'system'
	  When using v2.0.2 of the subproject, it triggers werror for
	  unused functions that come from the fdkaac headers.
	  This avoids errors like the following when werror is set.
	  ```
	  subprojects/fdk-aac-2.0.2/fdk-aac/FDK_audio.h:757:29: error: ‘FDKlibInfo_lookup’
	  defined but not used [-Werror=unused-function]
	  757 | static FDK_AUDIO_INLINE INT FDKlibInfo_lookup(const LIB_INFO* info,
	  ```
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6611>

2024-04-09 18:36:12 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/analytics/gstanalyticsmeta.c:
	  analyticsmeta: fix g-ir-scanner warnings
	  Fix
	  gstanalyticsmeta.c:134: Warning: GstAnalytics: "@instance"
	  parameter unexpected at this location
	  warning (caused by the extraneous empty line in the doc chunk)
	  and align function arguments with documentation and header file
	  (handle -> instance).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6585>

2024-04-06 00:41:29 +0900  Seungha Yang <seungha@centricular.com>

	* ext/closedcaption/gstccconverter.c:
	  ccconverter: Fix caps leak and remove unnecessary code
	  The removed code does the exactly same thing as the below code
	  except for leaking caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6548>

2024-04-09 23:35:13 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvdecoder.cpp:
	  qsvdecoder: Release too old frames
	  Release too old frames manually.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3163
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6583>

2024-04-07 19:34:43 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12converter-builder.cpp:
	  d3d12converter: Simplify root signature build
	  D3DX12SerializeVersionedRootSignature() helper method will translate
	  RS 1.1 into 1.0 version if needed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6557>

2024-04-05 21:58:51 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst-libs/gst/codecparsers/gsth264parser.h:
	  h264parser: maintain API changes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6540>

2024-04-04 09:38:36 -0400  Daniel Morin <daniel.morin@collabora.com>

	* tests/check/elements/h264parse.c:
	  Revert "h264parse: test - AU align with SEI between frame slices"
	  This reverts commit 533f814fd9a0eff341bb8f400fff82e5f0c4c313.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6540>

2024-04-04 09:38:16 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst-libs/gst/codecparsers/gsth264parser.h:
	* gst/videoparsers/gsth264parse.c:
	* gst/videoparsers/gsth264parse.h:
	  Revert "h264parse: Improved AU boundary detection"
	  This reverts commit 49f200cb549d43067e7c6eee332cdf757a38d82a.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6540>

2024-04-04 09:38:13 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst/videoparsers/gsth264parse.c:
	  Revert "h264parse: Remove dead code"
	  This reverts commit 141cd3871592292a8a6c81c1e018610a82ecaa88.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6540>

2024-04-04 09:38:08 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst/videoparsers/gsth264parse.c:
	  Revert "h264parse: Fix AU collection"
	  This reverts commit 495390f63a710559b149e476d3289dc2f37be7f8.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6540>

2024-04-04 09:37:47 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst/videoparsers/gsth264parse.c:
	  Revert "h264parse: Remove un-needed check on SPS state"
	  This reverts commit 73dedf9a51e70868f6aa029b968f8c7ef6af530e.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6540>

2024-04-04 09:37:40 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst/videoparsers/gsth264parse.c:
	* gst/videoparsers/gsth264parse.h:
	  Revert "h264parse: use AUD to detect first VCL NAL"
	  This reverts commit 90a3b63eed22d2737dbe8e33ee931e897ccfd128.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6540>

2024-04-04 09:36:02 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst/videoparsers/gsth264parse.c:
	  Revert "h264parse: correct NAL mode backlog processing"
	  This reverts commit b2098849dc21c3615cb15b1e26bbbe77feb76476.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6540>

2024-03-29 15:37:55 +0100  Edward Hervey <edward@centricular.com>

	* gst/videoparsers/gstvideoparseutils.c:
	  videoparsers: Demote CC warning message
	  Another warning message which isn't fatal and therefore should just be a DEBUG
	  line.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6550>

2024-04-06 01:14:56 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	  d3d12device: Fix typo in object name
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6549>

2024-03-18 19:32:33 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* sys/aja/gstajasrc.cpp:
	  ajasrc: always post details about detected format
	  .. instead of only when there is a mismatch.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6438>

2024-03-30 15:57:36 +0100  Robert Mader <robert.mader@posteo.de>

	* gst/jpegformat/gstjpegparse.c:
	  jpegparse: turn some bus warnings into object ones
	  For some cameras `gst_jpeg_parse_app0()` fails on a invalid segment.
	  While this is likely a driver or firmware bug that should be addressed
	  accordingly, it's not fatal and likely does not deserve a bus message on
	  every frame, flooding journals.
	  Turn down the volume of the warnings by turning them into object
	  warnings. If we conclude that in some cases we'd still want bus
	  warnings, they can be done more fine-grained in the
	  `gst_jpeg_parse_appX()` functions.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6490>

2024-03-18 20:50:56 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh265dec.c:
	  vkh265dec: add missing VPS parameter
	  and fix coded size
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6400>

2024-03-18 20:00:11 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh265dec.c:
	  vkh26xdec: implement close() vmethod
	  Since a validation layer error is signaled at EOS because it's required to wait
	  for the last frame to be processed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6400>

2024-04-03 16:44:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh264dec.c:
	* ext/vulkan/vkh265dec.c:
	  vkh26xdec: remove unused variables
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6400>

2024-03-18 19:42:50 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/vulkan/vkh265dec.c:
	  vkh265dec: fix resource info structure when layered DPB
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6400>

2024-03-27 19:45:02 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* tests/examples/va/vaenc-dynamic-reconfigure.c:
	  examples: vaenc-dynamic: support target percentage change in QVBR
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6465>

2024-03-27 19:43:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* tests/examples/va/vaenc-dynamic-reconfigure.c:
	  examples: vaenc-dynamic: ignore bitrate change with ICQ too
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6465>

2024-03-27 19:41:30 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvaav1enc.c:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	* sys/va/gstvavp9enc.c:
	  va: encoders: don't assert at target percentage when QVBR
	  Instead of asserting, just get the max value between the current value and 10,
	  which is the minimum required by QVBR.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6465>

2024-03-27 19:37:58 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* tests/examples/va/vaenc-dynamic-reconfigure.c:
	  examples: vaenc-dynamic: add vp9, av1 and low power tests
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6465>

2024-04-02 16:23:31 +0100  Chris Spencer <spencercw@gmail.com>

	* gst-libs/gst/vulkan/gstvkbufferpool.c:
	* gst-libs/gst/vulkan/gstvkbufferpool.h:
	  vkbufferpool: correct usage flags type
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6514>

2024-04-02 18:18:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/msdk/gstmsdkcontext.c:
	  msdk: sink context reference
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6398>

2024-04-02 18:02:26 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/gtk/gstgtkwaylandsink.c:
	  gtk: sink reference of internal wayland pool
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6398>

2024-04-02 18:00:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/wayland/gstwaylandsink.c:
	  wayland: sink reference to internal pool
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6398>

2024-04-02 14:46:32 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/dash/gstmpdadaptationsetnode.c:
	* ext/dash/gstmpdbaseurlnode.c:
	* ext/dash/gstmpdclient.c:
	* ext/dash/gstmpdcontentcomponentnode.c:
	* ext/dash/gstmpddescriptortypenode.c:
	* ext/dash/gstmpdlocationnode.c:
	* ext/dash/gstmpdmetricsnode.c:
	* ext/dash/gstmpdmetricsrangenode.c:
	* ext/dash/gstmpdperiodnode.c:
	* ext/dash/gstmpdprograminformationnode.c:
	* ext/dash/gstmpdreportingnode.c:
	* ext/dash/gstmpdrepresentationnode.c:
	* ext/dash/gstmpdrootnode.c:
	* ext/dash/gstmpdsegmentbasenode.c:
	* ext/dash/gstmpdsegmentlistnode.c:
	* ext/dash/gstmpdsegmenttemplatenode.c:
	* ext/dash/gstmpdsegmenttimelinenode.c:
	* ext/dash/gstmpdsegmenturlnode.c:
	* ext/dash/gstmpdsnode.c:
	* ext/dash/gstmpdsubrepresentationnode.c:
	* ext/dash/gstmpdsubsetnode.c:
	* ext/dash/gstmpdurltypenode.c:
	* ext/dash/gstmpdutctimingnode.c:
	  dash: sink references of all MDP objects
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6398>

2024-03-15 19:03:58 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvadecoder.c:
	* sys/va/gstvaencoder.c:
	* sys/va/gstvafilter.c:
	  va: sink reference at instantiation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6398>

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

	* gst-libs/gst/vulkan/gstvkoperation.c:
	* gst-libs/gst/vulkan/gstvktrash.c:
	  vulkan: sink references at instantiation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6398>

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/6516>

2024-04-02 22:56:00 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvencoder.cpp:
	  qsvencoder: Handle d3d12 context
	  GstD3D12Device objetct's internal resources are singletons per adapter
	  already though, the object itself is not a singleton.
	  Due to the singleton design (unlike other APIs such as d3d11),
	  d3d12 device context sharing is not a strict requirement
	  for zero-copy, but handles context ones to make things less noisy.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6513>

2024-04-02 22:09:57 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12decoder.cpp:
	  d3d12decoder: Always output sharable texture
	  Because shared heap's additional costs is not significant,
	  use D3D12_HEAP_FLAG_SHARED for resource can be shared over process
	  boundary. And enables render target for d3d11 interop in the process.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6513>

2024-04-02 15:57:58 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>

	* tests/examples/webrtc/webrtcswap.c:
	  examples: set perfect-timestamp=true on opusenc
	  Fix audio streaming on Chrome, see https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1524
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6512>

2024-03-28 21:54:21 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  va: av1enc: Change the set_property to make it atomic
	  The inside encoder may be set in other threads, so we should make
	  its accessing atomic.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6471>

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

	* sys/va/gstvavp9enc.c:
	  va: vp9enc: Change the set_property to make it atomic
	  The inside encoder may be set in other threads, so we should make
	  its accessing atomic.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6471>

2024-03-27 19:50:19 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvaav1enc.c:
	* sys/va/gstvavp9enc.c:
	  va{vp9,av1}enc: reconfigure when properties change
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6471>

2024-03-28 21:35:07 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  va: h265enc: Change the set_property to make it atomic
	  The inside encoder may be set in other threads, so we should make
	  its accessing atomic.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6471>

2024-03-28 21:27:54 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  va: h265enc: set the reconf flag when cpb_size updated
	  This feature can be changed dynamically in playing state, so we
	  need to set reconf flag to trigger reconfig.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6471>

2024-03-28 00:00:42 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  va: h264enc: Change the set_property to make it atomic
	  The inside encoder may be set in other threads, so we should make
	  its accessing atomic.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6471>

2024-03-27 23:09:08 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah264enc.c:
	  va: h264enc: set the reconf flag when cpb_size updated
	  This feature can be changed dynamically in playing state, so we
	  need to set reconf flag to trigger reconfig.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6471>

2024-04-02 18:20:43 +0900  Seungha Yang <seungha@centricular.com>

	* sys/dwrite/gstdwriteoverlayobject.cpp:
	  dwrite: Fix crash on device update
	  Selected blend mode should not be cleared on device update
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6508>

2024-03-22 01:03:11 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvencobject.cpp:
	* sys/nvcodec/gstnvh264encoder.cpp:
	* sys/nvcodec/gstnvh265encoder.cpp:
	  nvencoder: Add support for RGB formats
	  Adding RGBA, RGBx, BGRA, BGRx, VUYA and RGB10A2_LE format support for performance.
	  However, these formats are not still recommended if upstream can support
	  native YUV formats (e.g., NV12, P010) since NVENC does not expose
	  conversion related optiones. Note that VUYA format is 4:4:4 YUV format
	  already but NVENC runtime will convert it to 4:2:0 format internally
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6417>

2024-03-22 01:19:53 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/cuda/gstcudamemory.cpp:
	* sys/nvcodec/gstcudaconverter.c:
	* sys/nvcodec/gstcudaconvertscale.c:
	* sys/nvcodec/gstcudaformat.h:
	  cuda: Add support for VUYA format
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6417>

2024-04-02 01:36:28 +0900  Seungha Yang <seungha@centricular.com>

	* sys/qsv/gstqsvallocator_d3d11.cpp:
	* sys/qsv/gstqsvallocator_d3d11.h:
	* sys/qsv/gstqsvav1enc.cpp:
	* sys/qsv/gstqsvav1enc.h:
	* sys/qsv/gstqsvencoder.cpp:
	* sys/qsv/gstqsvencoder.h:
	* sys/qsv/gstqsvh264enc.cpp:
	* sys/qsv/gstqsvh264enc.h:
	* sys/qsv/gstqsvh265enc.cpp:
	* sys/qsv/gstqsvh265enc.h:
	* sys/qsv/gstqsvjpegenc.cpp:
	* sys/qsv/gstqsvjpegenc.h:
	* sys/qsv/gstqsvvp9enc.cpp:
	* sys/qsv/gstqsvvp9enc.h:
	* sys/qsv/meson.build:
	* sys/qsv/plugin.cpp:
	  qsv: Add support for d3d12 interop in encoder
	  Since QSV API does not support D3D12, try to import d3d12 resource
	  into d3d11 texture. Note that resource sharing requires
	  D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_2 for NV12 texure sharing.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6501>

2024-03-25 23:33:59 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  va: av1enc: 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, format, 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/6441>

2024-03-25 19:02:18 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvavp9enc.c:
	  va: vp9enc: 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, format, 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/6441>

2024-03-14 23:17:32 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  va: av1enc: Improve the LAST reference assignment
	  The last frame which has the smallest diff should be consider as
	  the first choice rather than the golden frame. Especially when only
	  one reference available, this way can improve the BD rate about 5
	  percentage.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6379>

2024-03-15 15:48:34 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  va: av1enc: Fix the reference number setting bug
	  The current way will let the total reference number surplus the
	  reference number set by the "ref-frames" property.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6379>

2024-04-01 01:00:53 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/meson.build:
	  meson: d3d11: Add support for MinGW DirectXMath package
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3428
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6495>

2024-04-01 22:19:21 +0900  Seungha Yang <seungha@centricular.com>

	* sys/webview2/gstwebview2object.cpp:
	* sys/webview2/gstwebview2object.h:
	* sys/webview2/gstwebview2src.cpp:
	* sys/webview2/meson.build:
	  webview2: Add support for d3d12 interop
	  Enable shared copy to D3D12 resource
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6499>

2024-04-02 00:43:20 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12graphicscapture.cpp:
	  d3d12screencapturesrc: Use gst_d3d12_memory_get_d3d11_texture()
	  ... and use fence to wait for GPU sync
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6499>

2024-04-02 00:36:45 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/gstd3d12_fwd.h:
	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	* gst-libs/gst/d3d12/gstd3d12memory.h:
	* gst-libs/gst/d3d12/meson.build:
	  d3d12memory: Add support for d3d11 texture caching
	  Would be useful for various D3D11 interop use cases
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6499>

2024-03-29 19:30:10 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	* sys/va/gstvavp9enc.c:
	  va: encoder: Fix the unit of bitrate in debug log message
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6483>

2024-03-29 18:26:49 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvavp9enc.c:
	  va: vp9enc: Adjust the coded buffer size to avoid failure
	  Some extreme case such as "videotestsrc pattern=1" can generate pure
	  white noise videoes, for which encoder may generate too big output
	  for current coded buffer size. We now consider the qindex and bitrate
	  to avoid that.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6483>

2024-03-29 18:08:54 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvavp9enc.c:
	  va: vp9enc: Fix the frame size not enough issue for super frame
	  The current code forgets to add the current last frame size into
	  the total super frame size.
	  Fixes: #3427
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6483>

2024-03-27 14:34:31 +0800  Cheah, Vincent Beng Keat <vincent.beng.keat.cheah@intel.com>

	* sys/msdk/gstmsdkallocator_libva.c:
	* sys/msdk/gstmsdkenc.c:
	  msdk: Fix mjpeg BGRx encode
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6401>

2024-03-31 21:55:51 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d12/d3d12-prelude.h:
	* gst-libs/gst/d3d12/gstd3d12-private.h:
	* gst-libs/gst/d3d12/gstd3d12.h:
	* gst-libs/gst/d3d12/gstd3d12_fwd.h:
	* gst-libs/gst/d3d12/gstd3d12bufferpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12bufferpool.h:
	* gst-libs/gst/d3d12/gstd3d12commandallocatorpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12commandallocatorpool.h:
	* gst-libs/gst/d3d12/gstd3d12commandlistpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12commandlistpool.h:
	* gst-libs/gst/d3d12/gstd3d12commandqueue.cpp:
	* gst-libs/gst/d3d12/gstd3d12commandqueue.h:
	* gst-libs/gst/d3d12/gstd3d12compat.h:
	* gst-libs/gst/d3d12/gstd3d12converter-builder.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter-builder.h:
	* gst-libs/gst/d3d12/gstd3d12converter-private.h:
	* gst-libs/gst/d3d12/gstd3d12converter.cpp:
	* gst-libs/gst/d3d12/gstd3d12converter.h:
	* gst-libs/gst/d3d12/gstd3d12descriptorpool.cpp:
	* gst-libs/gst/d3d12/gstd3d12descriptorpool.h:
	* gst-libs/gst/d3d12/gstd3d12device-private.h:
	* gst-libs/gst/d3d12/gstd3d12device.cpp:
	* gst-libs/gst/d3d12/gstd3d12device.h:
	* gst-libs/gst/d3d12/gstd3d12fencedatapool.cpp:
	* gst-libs/gst/d3d12/gstd3d12fencedatapool.h:
	* gst-libs/gst/d3d12/gstd3d12format-private.h:
	* gst-libs/gst/d3d12/gstd3d12format.cpp:
	* gst-libs/gst/d3d12/gstd3d12format.h:
	* gst-libs/gst/d3d12/gstd3d12memory-private.h:
	* gst-libs/gst/d3d12/gstd3d12memory.cpp:
	* gst-libs/gst/d3d12/gstd3d12memory.h:
	* gst-libs/gst/d3d12/gstd3d12utils.cpp:
	* gst-libs/gst/d3d12/gstd3d12utils.h:
	* gst-libs/gst/d3d12/meson.build:
	* gst-libs/gst/meson.build:
	* sys/d3d12/gstd3d12av1dec.cpp:
	* sys/d3d12/gstd3d12basefilter.h:
	* sys/d3d12/gstd3d12compositor.h:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12decoder.h:
	* sys/d3d12/gstd3d12dpbstorage.h:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12encoder.h:
	* sys/d3d12/gstd3d12encoderbufferpool.h:
	* sys/d3d12/gstd3d12format.h:
	* sys/d3d12/gstd3d12h264enc.h:
	* sys/d3d12/gstd3d12ipc.h:
	* sys/d3d12/gstd3d12ipcsink.h:
	* sys/d3d12/gstd3d12ipcsrc.h:
	* sys/d3d12/gstd3d12overlaycompositor.cpp:
	* sys/d3d12/gstd3d12overlaycompositor.h:
	* sys/d3d12/gstd3d12pluginutils.h:
	* sys/d3d12/gstd3d12screencapture.h:
	* sys/d3d12/gstd3d12screencapturedevice.h:
	* sys/d3d12/gstd3d12screencapturesrc.h:
	* sys/d3d12/gstd3d12testsrc.h:
	* sys/d3d12/gstd3d12videosink.h:
	* sys/d3d12/gstd3d12window.h:
	* sys/d3d12/meson.build:
	* sys/d3d12/plugin.cpp:
	  d3d12: Move core part to gst-libs
	  Move buffer pool, converter, and device abstraction layer to
	  public library
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6494>

2024-03-31 20:28:27 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12graphicscapture.cpp:
	* sys/d3d12/gstd3d12ipcsink.cpp:
	* sys/d3d12/gstd3d12memory.h:
	* sys/d3d12/gstd3d12pluginutils.cpp:
	  d3d12memory: Define new D3D12 map flags
	  Define GST_MAP_READ_D3D12 and GST_MAP_READ_D3D12 flags
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6494>

2024-03-31 20:13:20 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12commandallocatorpool.cpp:
	* sys/d3d12/gstd3d12commandallocatorpool.h:
	* sys/d3d12/gstd3d12commandlistpool.cpp:
	* sys/d3d12/gstd3d12commandlistpool.h:
	* sys/d3d12/gstd3d12commandqueue.cpp:
	* sys/d3d12/gstd3d12commandqueue.h:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12converter.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12descriptorpool.cpp:
	* sys/d3d12/gstd3d12descriptorpool.h:
	* sys/d3d12/gstd3d12device.cpp:
	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12ipcsink.cpp:
	* sys/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12memory.h:
	* sys/d3d12/gstd3d12overlaycompositor.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	  d3d12: Make resource getter methods consistent
	  Returns COM pointer directly everywhere
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6494>

2024-03-31 19:21:47 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d11on12.cpp:
	* sys/d3d12/gstd3d11on12.h:
	* sys/d3d12/gstd3d12device.cpp:
	* sys/d3d12/gstd3d12device.h:
	* sys/d3d12/gstd3d12ipcclient.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/meson.build:
	  d3d12: Remove device11on12 wrapping layer
	  It was added to avoid symbol conflict between DirectX-header project
	  and Windows SDK, but symbol conflict does not happen
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6494>

2024-03-31 19:06:12 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12bufferpool.cpp:
	  d3d12bufferpool: Use d3dx12.h format table
	  The format table in SDK header defines all required information
	  already.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6494>

2024-03-31 18:42:41 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12basefilter.cpp:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12converter.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12device.cpp:
	* sys/d3d12/gstd3d12device.h:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12ipcsink.cpp:
	* sys/d3d12/gstd3d12pluginutils.cpp:
	* sys/d3d12/gstd3d12screencapturesrc.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/gstd3d12videosink.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	  d3d12: Add a helper method for device equality check
	  GstD3D12Device object itself is not singltons anymore but
	  underlying private struct is singltons.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6494>

2024-03-06 11:24:12 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkvpputil.c:
	  msdkvpp: Set colorimetry for src caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6316>

2024-03-06 11:04:37 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkenc.c:
	  msdkenc: Set VideoFullRange according to input colorimetry range
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6316>

2024-04-01 00:52:16 +0300  Mart Raudsepp <leio@gentoo.org>

	* ext/voaacenc/meson.build:
	  meson: Don't confuse voaacenc plugin with bz2 one in meson variable names
	  No actual issue was observed from the previous naming duplicating bz2 one, so
	  just a correctness tweak.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6496>

2024-03-31 01:21:03 +0900  Seungha Yang <seungha@centricular.com>

	* sys/webview2/gstwebview2object.cpp:
	* sys/webview2/gstwebview2object.h:
	* sys/webview2/gstwebview2src.cpp:
	  webview2: Add support for javascript injection
	  Allow javascript injection for various custom use cases.
	  For example, scrollbars and scrolling can be disabled via
	  gst-launch-1.0 webview2src location=https://gstreamer.freedesktop.org \
	  javascript="document.querySelector('body').style.overflow='hidden'" ! ...
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6487>

2024-03-29 18:36:00 +0900  Seungha Yang <seungha@centricular.com>

	* sys/webview2/gstwebview2object.cpp:
	* sys/webview2/gstwebview2object.h:
	* sys/webview2/gstwebview2src.cpp:
	* sys/webview2/meson.build:
	  webview2: Use IContainerVisual for offscreen rendering
	  Capturing from hidden HWND fails sometimes for some reason.
	  Instead of rendering to hidden HWND, render webpage to container
	  visual and create WGC item from the container visual object.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6487>

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/6476>

2024-03-29 19:34:32 +0100  Ruben Gonzalez <rgonzalez@fluendo.com>

	* ext/wpe/gstwpe.cpp:
	  wpe: avoid crash with G_DEBUG=fatal_criticals and static build
	  No plugin filenames if static build.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6484>

2024-03-01 16:12:27 +0800  Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>

	* sys/msdk/gstmsdkcontext.c:
	  msdk: Fix session close failure
	  In the case of multi-channels transcoding, a context with child
	  sesseion can be parent for others, so we need to check if the
	  msdkcontext has any child session in the list to avoid session
	  leaks. Otherwise, we will see the failure of closing a parent
	  session because one of its child's child session not released.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6259>

2024-03-28 20:02:04 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/meson.build:
	  meson: d3d11: Disable library build if DirectXMath header was not found
	  DirectXMath header library is a hard dependency
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6468>

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

	* meson_options.txt:
	* sys/meson.build:
	* sys/webview2/gstwebview2object.cpp:
	* sys/webview2/gstwebview2object.h:
	* sys/webview2/gstwebview2src.cpp:
	* sys/webview2/gstwebview2src.h:
	* sys/webview2/meson.build:
	* sys/webview2/plugin.cpp:
	  webview2: Add Microsoft WebView2 based web browser source
	  Adding webview2src element
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4631>

2024-03-28 16:29:50 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	* sys/va/gstvavp9enc.c:
	  va: {av1, vp9}enc: Use g_free() to free frames
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6466>

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/6452>

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/6452>

2024-03-22 16:14:24 +0100  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtdec.c:
	  vtdec: Fix caps criticals during negotiation
	  Calling gst_pad_peer_query_caps() without a filter can give us EMPTY caps, whereas all the code below
	  assumes that's not the case. Replacing query+intersect with a filtered query ensures we always get a subset
	  of the template caps back.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6429>

2024-03-25 17:45:24 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvavp9enc.c:
	  va: vp9enc: Correct the flags for registering properties
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6437>

2024-03-25 16:05:36 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  va: av1enc: Correct the flags for registering properties
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6437>

2024-03-25 15:40:52 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	* sys/va/gstvavp9enc.c:
	  va: {vp9, av1}enc: Do not use g_slice_new() to create frames
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6437>

2024-03-25 15:37:04 +0800  He Junyan <junyan.he@intel.com>

	* tests/check/libs/vp9bitwriter.c:
	  test: Fix several code style issues in vp9bitwriter test
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6437>

2024-03-25 15:20:27 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gstvp9bitwriter.c:
	* gst-libs/gst/codecparsers/gstvp9bitwriter.h:
	  vp9bitwriter: Fix several hotdoc related format issues
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6437>

2024-03-23 19:14:56 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	* sys/va/gstvavp9enc.c:
	  va: encoder: update the bitrate change correctly
	  We should update and notify the bitrate change at a common place,
	  no matter whether the bitrate is calculated or not.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6433>

2024-03-23 16:05:05 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  va: av1enc: enable ICQ and QVBR modes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6433>

2024-03-23 13:28:12 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvavp9enc.c:
	  va: vp9enc: enable ICQ and QVBR modes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6433>

2024-03-23 01:05:40 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  va: h265enc: enable ICQ and QVBR modes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6433>

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

	* sys/va/gstvah264enc.c:
	  va: h264enc: enable ICQ and QVBR modes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6433>

2024-03-22 23:59:25 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaencoder.c:
	  va: encoder: Enable ICQ and QVBR mode in rate control map
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6433>

2024-03-22 23:35:55 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvabaseenc.c:
	  va: encoder: Set the quality_factor parameter in rate control
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6433>

2024-03-26 15:32:24 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst/jpegformat/gstjpegparse.c:
	  jpegparse: avi1 tag can be progressive
	  AVI1 tag in APP0 is trivalue: 0 not interleaved, 1 odd, 2 even.
	  So if avi1 is zero then the frame is progressive.
	  Also, this patch adds a couple log messages.
	  Fixes: #3414
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6445>

2024-03-26 12:46:02 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/gstlibscpp.cc:
	* tests/check/meson.build:
	  tests: add check to make sure -bad lib headers are C++ compiler clean
	  Only non-internal libs without external deps for now.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6440>

2024-03-22 16:35:54 +1100  Matthew Waters <matthew@centricular.com>

	* ext/closedcaption/ccutils.c:
	* ext/closedcaption/gstccconverter.c:
	* tests/check/elements/ccconverter.c:
	  ccconverter: fix cdp->cea608-raw field 1 60fps conversion
	  There was a potential busy loop occuring because when we were taking
	  data from the internal ccbuffer, we were not resetting which field had
	  written data.  This would mean that the next time data was retrieved
	  from ccbuffer, it was always from field 0 and never from field 1.
	  This only affects usage of cc_buffer_take_separated() which is only used
	  by cdp->raw cea608.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6423>

2024-03-25 00:01:38 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12.h:
	* sys/d3d12/gstd3d12_fwd.h:
	* sys/d3d12/gstd3d12commandallocatorpool.h:
	* sys/d3d12/gstd3d12commandlistpool.h:
	* sys/d3d12/gstd3d12compat.h:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12converter.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12descriptorpool.h:
	* sys/d3d12/gstd3d12device.cpp:
	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12encoderbufferpool.h:
	* sys/d3d12/gstd3d12fencedatapool.h:
	* sys/d3d12/gstd3d12h264enc.cpp:
	* sys/d3d12/gstd3d12ipcsink.cpp:
	* sys/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12overlaycompositor.cpp:
	* sys/d3d12/gstd3d12overlaycompositor.h:
	* sys/d3d12/gstd3d12pluginutils.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	* sys/d3d12/meson.build:
	  d3d12: Add support for cross-compile
	  ... and fix bunch of GCC reported warnings
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6435>

2024-03-24 22:39:20 +0900  Seungha Yang <seungha@centricular.com>

	* meson_options.txt:
	* sys/d3d12/gstd3d12screencapturesrc.cpp:
	* sys/d3d12/meson.build:
	  d3d12: Allow building without WGC support
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6435>

2024-03-24 21:11:08 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12converter-builder.cpp:
	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12overlaycompositor.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/hlsl/PSMain_checker.hlsl:
	* sys/d3d12/hlsl/PSMain_checker_luma.hlsl:
	* sys/d3d12/hlsl/PSMain_checker_rgb.hlsl:
	* sys/d3d12/hlsl/PSMain_checker_vuya.hlsl:
	* sys/d3d12/hlsl/PSMain_color.hlsl:
	* sys/d3d12/hlsl/PSMain_converter.hlsl:
	* sys/d3d12/hlsl/PSMain_sample.hlsl:
	* sys/d3d12/hlsl/PSMain_sample_premul.hlsl:
	* sys/d3d12/hlsl/PSMain_snow.hlsl:
	* sys/d3d12/hlsl/VSMain_color.hlsl:
	* sys/d3d12/hlsl/VSMain_converter.hlsl:
	* sys/d3d12/hlsl/VSMain_coord.hlsl:
	* sys/d3d12/hlsl/VSMain_pos.hlsl:
	* sys/d3d12/hlsl/collect_hlsl_header.py:
	* sys/d3d12/hlsl/meson.build:
	* sys/d3d12/meson.build:
	  d3d12: Port to d3dshader library
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6434>

2024-03-24 19:14:16 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3d11/gstd3d11compile.cpp:
	* gst-libs/gst/d3d11/gstd3d11converter-builder.cpp:
	* gst-libs/gst/d3d11/gstd3d11converter-builder.h:
	* gst-libs/gst/d3d11/gstd3d11converter-helper.cpp:
	* gst-libs/gst/d3d11/gstd3d11device-private.h:
	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* gst-libs/gst/d3d11/hlsl/CSMain_converter.hlsl:
	* gst-libs/gst/d3d11/hlsl/PSMain_converter.hlsl:
	* gst-libs/gst/d3d11/hlsl/VSMain_converter.hlsl:
	* gst-libs/gst/d3d11/hlsl/collect_hlsl_header.py:
	* gst-libs/gst/d3d11/hlsl/meson.build:
	* gst-libs/gst/d3d11/meson.build:
	* sys/d3d11/gstd3d11pluginutils.cpp:
	* sys/d3d11/hlsl/PSMain_checker.hlsl:
	* sys/d3d11/hlsl/PSMain_checker_luma.hlsl:
	* sys/d3d11/hlsl/PSMain_checker_rgb.hlsl:
	* sys/d3d11/hlsl/PSMain_checker_vuya.hlsl:
	* sys/d3d11/hlsl/PSMain_color.hlsl:
	* sys/d3d11/hlsl/PSMain_sample.hlsl:
	* sys/d3d11/hlsl/PSMain_sample_premul.hlsl:
	* sys/d3d11/hlsl/PSMain_snow.hlsl:
	* sys/d3d11/hlsl/VSMain_color.hlsl:
	* sys/d3d11/hlsl/VSMain_coord.hlsl:
	* sys/d3d11/hlsl/VSMain_pos.hlsl:
	* sys/d3d11/hlsl/gstd3d11plugin-hlsl.h:
	* sys/d3d11/hlsl/meson.build:
	* sys/d3d11/meson.build:
	  d3d11: Port to d3dshader library
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6434>

2024-03-24 01:41:48 +0900  Seungha Yang <seungha@centricular.com>

	* gst-libs/gst/d3dshader/converter-hlsl/CSMain_converter.hlsl:
	* gst-libs/gst/d3dshader/converter-hlsl/PSMain_converter.hlsl:
	* gst-libs/gst/d3dshader/converter-hlsl/VSMain_converter.hlsl:
	* gst-libs/gst/d3dshader/converter-hlsl/collect_hlsl_headers.py:
	* gst-libs/gst/d3dshader/converter-hlsl/hlsl.h:
	* gst-libs/gst/d3dshader/converter-hlsl/meson.build:
	* gst-libs/gst/d3dshader/d3dshader-prelude.h:
	* gst-libs/gst/d3dshader/gstd3dcompile.cpp:
	* gst-libs/gst/d3dshader/gstd3dcompile.h:
	* gst-libs/gst/d3dshader/gstd3dshader.h:
	* gst-libs/gst/d3dshader/gstd3dshadercache.cpp:
	* gst-libs/gst/d3dshader/gstd3dshadercache.h:
	* gst-libs/gst/d3dshader/meson.build:
	* gst-libs/gst/d3dshader/plugin-hlsl/PSMain_checker.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/PSMain_checker_luma.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/PSMain_checker_rgb.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/PSMain_checker_vuya.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/PSMain_color.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/PSMain_sample.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/PSMain_sample_premul.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/PSMain_snow.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/VSMain_color.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/VSMain_coord.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/VSMain_pos.hlsl:
	* gst-libs/gst/d3dshader/plugin-hlsl/collect_hlsl_headers.py:
	* gst-libs/gst/d3dshader/plugin-hlsl/hlsl.h:
	* gst-libs/gst/d3dshader/plugin-hlsl/meson.build:
	* gst-libs/gst/meson.build:
	* meson_options.txt:
	  d3dshader: Add HLSL shader library
	  Adding a new library for HLSL compile and compiled bytecode caching.
	  This library will be used by d3d11 and d3d12 library/plugin, in order to
	  reuse single HLSL code and compiled HLSL bytecode.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6434>

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

	* gst-libs/gst/d3d11/gstd3d11converter.cpp:
	* gst-libs/gst/d3d11/hlsl/PSMain_converter.hlsl:
	  d3d11: Update shader to be d3d12 compatible
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6434>

2024-03-23 19:47:34 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12converter-builder.cpp:
	* sys/d3d12/hlsl/PSMain_converter.hlsl:
	* sys/d3d12/hlsl/PSMain_sample.hlsl:
	* sys/d3d12/hlsl/PSMain_sample_premul.hlsl:
	* sys/d3d12/hlsl/VSMain_converter.hlsl:
	* sys/d3d12/hlsl/meson.build:
	* sys/d3d12/meson.build:
	  d3d12: Update shader to be Shader Model 5.0 compatible
	  And use fxc HLSL compiler
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6434>

2024-03-22 12:57:33 +0100  Ruben Gonzalez <rgonzalez@fluendo.com>

	* gst/rist/gstristsrc.c:
	  ristsrc: Clean caps instead of unref
	  Fix issue unrefering null caps. Better solution than
	  ```
	  if (src->caps)
	  gst_caps_unref (src->caps);
	  ```
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6432>

2024-03-22 19:48:50 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12ipc.cpp:
	* sys/d3d12/gstd3d12ipc.h:
	* sys/d3d12/gstd3d12ipcclient.cpp:
	* sys/d3d12/gstd3d12ipcclient.h:
	* sys/d3d12/gstd3d12ipcserver.cpp:
	* sys/d3d12/gstd3d12ipcserver.h:
	* sys/d3d12/gstd3d12ipcsink.cpp:
	* sys/d3d12/gstd3d12ipcsink.h:
	* sys/d3d12/gstd3d12ipcsrc.cpp:
	* sys/d3d12/gstd3d12ipcsrc.h:
	* sys/d3d12/meson.build:
	* sys/d3d12/plugin.cpp:
	  d3d12: Add IPC elements
	  Adding d3d12ipcsink and d3d12ipcsrc elements, equivalent to D3D11 ones.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6428>

2024-03-22 22:51:54 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12pluginutils.cpp:
	* sys/d3d12/gstd3d12pluginutils.h:
	  d3d12: Add buffer copy helper method
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6428>

2024-03-22 20:45:01 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12commandqueue.cpp:
	  d3d12commandqueue: Always invoke notify asynchronously
	  Otherwise the callback thread is unpredictable
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6428>

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

	* sys/d3d12/gstd3d12bufferpool.cpp:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12converter.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12graphicscapture.cpp:
	* sys/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12memory.h:
	* sys/d3d12/gstd3d12screencapturesrc.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	  d3d12memory: Update for API interop
	  Add support for destroy notify in case of wrapped memory, and
	  allow setting external fence for interop
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6428>

2024-03-22 18:57:26 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12commandqueue.cpp:
	* sys/d3d12/gstd3d12commandqueue.h:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12device.cpp:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	  d3d12: Make primary fence sharable
	  Create primary fence with D3D12_FENCE_FLAG_SHARED flag so that
	  the fence can be shared with other APIs or processes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6428>

2024-03-18 18:46:17 +0100  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtdec.c:
	  vtdec: Ignore output loop errors in drain() if we're flushing
	  In an early non-linked scenario, this was causing a ton of criticals about the queue array,
	  because the output callback would still fire for leftover frames that were still being processed by VT
	  at the time the output loop stopped. This makes sure they're flushed correctly as well.
	  Also renames gst_vtdec_loop to gst_vtdec_output_loop for consistency with related functions.
	  wip
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6397>

2024-03-18 18:38:41 +0100  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/vtdec.c:
	  vtdec: Fix a deadlock during ProRes playback
	  Sometimes a call to negotiate (and thus drain) can happen from the output loop
	  (via finish_frame()), which will tell VT to output all internal frames, but that won't succeed
	  if we happen to decide to wait for the queue to empty (because the loop is waiting for draining to finish and
	  will not make space in the queue!). This commit adds an override for the queue size limit if we're draining/flushing.
	  This bug could happen for any formats, but was especially obvious for ProRes, which has dpb_size of 0.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6397>

2024-03-19 23:37:37 +0900  Seungha Yang <seungha@centricular.com>

	* sys/asio/gstasiodeviceprovider.cpp:
	* sys/asio/gstasioobject.cpp:
	* sys/asio/gstasioringbuffer.cpp:
	* sys/asio/gstasiosink.cpp:
	* sys/asio/gstasiosrc.cpp:
	* sys/asio/gstasioutils.cpp:
	* sys/asio/meson.build:
	  asio: Add support for MinGW build
	  Drop MSVC specific bits and remove unused dependency
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6404>

2024-03-19 23:12:04 +0900  Seungha Yang <seungha@centricular.com>

	* meson_options.txt:
	* sys/asio/asio.h:
	* sys/asio/gstasioobject.cpp:
	* sys/asio/gstasioutils.h:
	* sys/asio/meson.build:
	  asio: Drop external SDK header dependency
	  Build ASIO plugin using our tiny SDK header
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6404>

2024-01-30 18:18:31 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvavp9enc.c:
	* sys/va/gstvavp9enc.h:
	* sys/va/meson.build:
	* sys/va/plugin.c:
	  va: Implement the vavp9enc plugin
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3293>

2024-03-11 23:06:44 +0800  He Junyan <junyan.he@intel.com>

	* tests/check/libs/vp9bitwriter.c:
	* tests/check/meson.build:
	  test: add vp9 bitwriter test case
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3293>

2024-01-30 18:10:12 +0800  He Junyan <junyan.he@intel.com>

	* gst-libs/gst/codecparsers/gstvp9bitwriter.c:
	* gst-libs/gst/codecparsers/gstvp9bitwriter.h:
	* gst-libs/gst/codecparsers/meson.build:
	  vp9bitwriter: Add the VP9 bit writer helper functions
	  In this first version, we only implement the "show existing frame"
	  and super frame writting. Other frame header types writting can
	  be added when needed.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3293>

2024-03-19 19:24:56 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12device.cpp:
	  d3d12device: Set debugging friendly object name
	  Build object name with DXGI adapter index
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6395>

2024-03-16 22:37:46 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12commandallocatorpool.cpp:
	* sys/d3d12/gstd3d12commandlistpool.cpp:
	* sys/d3d12/gstd3d12device.cpp:
	  d3d12: Suppress expected leak reports
	  Such leaks are expected and intended ones
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6395>

2024-03-16 20:40:58 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12-private.h:
	* sys/d3d12/gstd3d12commandqueue.cpp:
	* sys/d3d12/gstd3d12device.cpp:
	* sys/d3d12/plugin.cpp:
	  d3d12device: Keep device object permanently
	  Because ID3D12Device objects are singletons per adapter,
	  GstD3D12Device was following the API design, that is, keep track
	  of global GstD3D12Device objects and reuses it.
	  That means ID3D12Device object can be released at the time
	  when GstD3D12Device is destroyed.
	  But exetrnal APIs such as NVENC does not seem to be happy
	  with the released ID3D12Device, that could be a driver bug though.
	  Let's hold already opened ID3D12Device permanently without releasing
	  it for now.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6395>

2024-03-16 21:00:30 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12commandqueue.cpp:
	* sys/d3d12/gstd3d12commandqueue.h:
	  d3d12commandqueue: Add drain method
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6395>

2024-03-16 20:04:43 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12commandallocatorpool.cpp:
	* sys/d3d12/gstd3d12commandallocatorpool.h:
	* sys/d3d12/gstd3d12commandlistpool.cpp:
	* sys/d3d12/gstd3d12commandlistpool.h:
	* sys/d3d12/gstd3d12commandqueue.cpp:
	* sys/d3d12/gstd3d12commandqueue.h:
	* sys/d3d12/gstd3d12compositor.cpp:
	* sys/d3d12/gstd3d12convert.cpp:
	* sys/d3d12/gstd3d12converter.cpp:
	* sys/d3d12/gstd3d12decoder.cpp:
	* sys/d3d12/gstd3d12descriptorpool.cpp:
	* sys/d3d12/gstd3d12descriptorpool.h:
	* sys/d3d12/gstd3d12device.cpp:
	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12encoder.cpp:
	* sys/d3d12/gstd3d12overlaycompositor.cpp:
	* sys/d3d12/gstd3d12testsrc.cpp:
	* sys/d3d12/gstd3d12window.cpp:
	  d3d12: Use native device handle if possible
	  Various abstraction objects such as command queue/list/allocator
	  can be constructed without GstD3D12Device
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6395>

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

	* sys/d3d12/gstd3d12commandqueue.cpp:
	  d3d12commandqueue: Allow empty command list
	  Just increase fence value and signal the queue in that case
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6395>

2024-03-07 22:54:29 +0900  Seungha Yang <seungha@centricular.com>

	* tests/examples/d3d11/d3d11decoder-appsink2.cpp:
	* tests/examples/d3d11/meson.build:
	  examples: d3d11: Add inter-device synchronization example
	  Adding an example to demonstrate resource sharing between
	  D3D11 device and GPU synchronization
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6303>

2024-03-06 15:39:33 -0500  Ruijing Dong <ruijing.dong@amd.com>

	* sys/va/gstvaencoder.c:
	* sys/va/gstvaencoder.h:
	* sys/va/gstvah265enc.c:
	  va: enc : checking surface alignment attribute
	  Apply surface alignment attribute when availalbe,
	  also fix frame cropping issue for va h265 encoder.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6282>

2024-03-14 19:51:08 +0000  L. E. Segovia <amy@centricular.com>

	* ext/soundtouch/meson.build:
	  soundtouch: Fix build failure with Apple Clang caused by missing cpp_std
	  Apple Clang sets C++98 by default. I'm applying C++14 to account for Meson's
	  lack of support/fallback for `cpp_std=c++11`.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6374>

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/6386>

2024-03-17 11:18:37 +0000  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/play/gstplay.c:
	  play: Fix a critical warning in error callback
	  `on_error()` can be called with a NULL details structure, so in that situation
	  the `gst_structure_copy()` would raise a critical warning. Create an empty
	  structure instead of attempting to copy a NULL one.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6385>

2024-03-16 21:25:38 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12device.cpp:
	  d3d12: Fix SDK debug layer activation
	  Debug layer must be enabled before creating device. Otherwise
	  already opened devices before the activation will be removed
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6382>

2024-01-06 13:07:16 +0100  Robert Mader <robert.mader@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/v4l2codecs/gstv4l2decoder.h:
	  v4l2codecs: decoders: Add DMA_DRM caps support
	  In order to simplify caps negotiations for clients and, notably, be more
	  compatible with va* decoders.
	  Crucially this allows clients to know ahead of time whether buffers will
	  actually be DMABufs.
	  Similar to GstVaBaseDec we only announce system memory caps if the peer
	  has ANY caps. Further more, and again like va decoders, we fail in
	  `decide_allocation()` if DMA_DRM caps are used without VideoMeta.
	  Apart from buggy peers this can happen e.g. when a peer with ANY caps
	  is used in combination with caps filters.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5890>

2024-02-17 06:01:41 +0100  Robert Mader <robert.mader@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/v4l2codecs/gstv4l2decoder.h:
	  v4l2codecs: decoders: Introduce and use set_output_state helper class
	  Allowing us to avoid some code duplication. This will become more
	  important with upcoming changes to caps generation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5890>

2024-02-17 05:43:23 +0100  Robert Mader <robert.mader@collabora.com>

	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/v4l2codecs/gstv4l2decoder.h:
	  v4l2codecs: decoder: Clean up select_src_format()
	  Most importantly rely on video info helpers instead of manual parsing
	  of caps, which will allow us to use additional helpers in the future.
	  While on it, tighen the check for supported formats - failing that
	  indicates a bug in caps negotiation - and make some style changes.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5890>

2024-02-17 04:20:16 +0100  Robert Mader <robert.mader@collabora.com>

	* sys/v4l2codecs/gstv4l2decoder.c:
	  v4l2codecs: decoder: Generalize size enumeration caps
	  By reducing the generated caps to the minimal number of fields and
	  using intersections instead of merges. This will allow us to reuse the
	  result in the future.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5890>

2024-02-16 22:48:17 +0100  Robert Mader <robert.mader@collabora.com>

	* sys/v4l2codecs/gstv4l2codecav1dec.c:
	* sys/v4l2codecs/gstv4l2codech264dec.c:
	* sys/v4l2codecs/gstv4l2codech265dec.c:
	* sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
	* sys/v4l2codecs/gstv4l2codecvp8dec.c:
	* sys/v4l2codecs/gstv4l2codecvp9dec.c:
	* sys/v4l2codecs/gstv4l2decoder.c:
	* sys/v4l2codecs/gstv4l2decoder.h:
	  v4l2codecs: decoders: Use src template for negotiation filter
	  This ensures we don't create filter caps that are not supported by the
	  individual codec implementations, as well as that the resulting caps
	  have the required fields so they can be turned into a GstVideoFormat.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5890>

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/6370>

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/6358>

2024-02-23 00:24:14 +0100  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* gst-libs/gst/d3d11/gstd3d11device-private.h:
	* gst-libs/gst/d3d11/gstd3d11device.cpp:
	* gst-libs/gst/d3d11/gstd3d11utils.cpp:
	  d3d11device: raise 'device-removed' signal on DXGI_ERROR_DEVICE_REMOVED
	  When this error gets caught the GstD3D11Device object raises the new
	  "device-removed" signal. This allows to handle the error from outside:
	  stop the playback, re-create the player, replace the catched GstContext by
	  the new one.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6193>

2023-11-29 14:44:37 +0100  Michiel Westerbeek <happylinks@gmail.com>

	* sys/nvcodec/gstcudaconvertscale.c:
	* sys/va/gstvavpp.c:
	  gstcudaconvertscale, gstvavpp, videoconvertscale: downgrade 'Can't keep DAR' to debug
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5730>

2024-03-13 17:19:26 +0800  He Junyan <junyan.he@intel.com>

	* tests/check/libs/av1bitwriter.c:
	* tests/check/libs/h264bitwriter.c:
	* tests/check/libs/h265bitwriter.c:
	  test: Correct the API return type of {h264,h265,av1}bitwriter
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6354>

2024-03-13 00:42:16 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12device.cpp:
	  d3d12device: Fix IDXGIFactory2 leak
	  factory passed to gst_d3d12_device_find_adapter() method is valid
	  handle already
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6340>

2024-03-12 13:50:18 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/videoparsers/gstvideoparseutils.c:
	  videoparsers: Don't verbosely warn about CEA_708_PROCESS_EM_DATA_FLAG not being set
	  And the same for CEA_708_PROCESS_CC_DATA_FLAG. This is not really a
	  problem and was polluting logs with warnings for every single frame.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6336>

2024-03-10 12:04:55 -0300  L. E. Segovia <amy@centricular.com>

	* sys/tinyalsa/meson.build:
	  meson: Require tinyalsa >= 1.1.0 when building its plugin
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6311>

2024-03-09 15:19:20 +0000  L. E. Segovia <amy@centricular.com>

	* sys/tinyalsa/tinyalsasink.c:
	  tinyalsasink: Fix missing const and deprecations with tinyalsa v2
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6311>

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

	* gst-libs/gst/cuda/gstcudabufferpool.cpp:
	* gst-libs/gst/d3d11/gstd3d11bufferpool.cpp:
	* sys/d3d12/gstd3d12bufferpool.cpp:
	  cuda,d3d11,d3d12bufferpool: Disable preallocation
	  Do not chain up to parent's GstBufferPool::start() which will do
	  preallocation. We don't want it to be preallocated
	  since there are various cases where negotiated downstream buffer pool is
	  not used at all (e.g., zero-copy decoding, IPC elements).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6326>

2024-03-11 12:42:48 +0100  Antonio Larrosa <alarrosa@suse.com>

	* sys/va/gstvaav1enc.c:
	* sys/va/gstvah264enc.c:
	* sys/va/gstvah265enc.c:
	  va{h264,h265,av1}enc: fix potential crash on devices without rate control
	  This fixes a crash in `gst_va_h264_enc_class_init` and `gst_va_h265_enc_class_init`
	  (and probably also in gst_va_av1_enc_class_init) when calling
	  `g_object_class_install_properties (object_class, n_props, properties);`
	  When rate_control_type is 0, the following code is executed in :
	  ```
	  } else {
	  n_props--;
	  properties[PROP_RATE_CONTROL] = NULL;
	  }
	  ```
	  n_props has initially a value of N_PROPERTIES but PROP_RATE_CONTROL
	  is not the last element in the array, so it's making
	  g_object_class_install_properties fail to iterate over the
	  properties array.
	  This applies the same fix to gstvah264enc.c, gstvah265enc.c and
	  gstvaav1enc.c.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6319>

2024-03-07 12:28:58 +0100  Jurijs Satcs <jurijs.satcs@veset.tv>

	* docs/plugins/gst_plugins_cache.json:
	* gst/mpegtsmux/gstbasetsmux.c:
	* gst/mpegtsmux/tsmux/tsmux.c:
	  mpegtsmux: allow to disable SCTE NULL by setting interval to 0
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6284>

2024-02-26 14:57:32 +0100  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/atdec.c:
	* sys/applemedia/atdec.h:
	* sys/applemedia/meson.build:
	* sys/applemedia/plugin.m:
	  macos: Move atdec from applemedia (-bad) to osxaudio (-good)
	  osxaudio has a few helper methods potentially useful in atdec (or future atenc), like GStreamer -> CoreAudio
	  channel mapping. Doesn't make sense to duplicate them in applemedia, and atdec is the only audio-oriented
	  element there anyway.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6223>

2024-03-08 18:22:53 +1100  Matthew Waters <matthew@centricular.com>

	* docs/plugins/gst_plugins_cache.json:
	* ext/closedcaption/ccutils.c:
	* ext/closedcaption/ccutils.h:
	* ext/closedcaption/gstcccombiner.c:
	* ext/closedcaption/gstcccombiner.h:
	* ext/closedcaption/gstccconverter.c:
	* ext/closedcaption/gstcea608mux.c:
	* tests/check/elements/cccombiner.c:
	  closedcaption: produce valid cea608 padding by default
	  Cea608 (valid) padding removal is available on the input side of ccconverter
	  or configurable on cccombiner.  cccombiner can now configure whether
	  valid or invalid cea608 padding is used and for valid padding, how long
	  after valid non-padding to keep sending valid padding.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6300>

2024-03-09 20:16:22 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvaav1enc.c:
	  va: av1enc: Init the output_frame_num when resetting gf group
	  Fixes: #3359
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6308>

2024-03-06 12:15:37 +0000  Chris Spencer <spencercw@gmail.com>

	* gst-libs/gst/vulkan/gstvkmemory.c:
	  vkmemory: invalidate non-coherent memory when mapping for read
	  Mapping non-coherent memory does not implicitly invalidate the host caches.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6310>

2024-02-22 12:26:33 +0000  Chris Spencer <spencercw@gmail.com>

	* gst-libs/gst/vulkan/gstvkoperation.c:
	  vulkan/operation: use timeline semaphore fallback if sync2 not supported
	  gst_vulkan_operation_add_dependency_frame does not fall back to the
	  timeline semaphore implementation if VK_KHR_synchronization2 is compiled
	  in, but not supported by the driver.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6309>

2024-02-22 12:22:34 +0000  Chris Spencer <spencercw@gmail.com>

	* gst-libs/gst/vulkan/gstvkoperation.c:
	  vulkan/operation: add missing unlock
	  gst_vulkan_operation_add_dependency_frame does not release its lock if
	  support for VK_KHR_timeline_semaphore/VK_KHR_synchronization2 is compiled
	  in, but not supported by the driver.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6309>

2024-03-08 18:18:08 +0200  Jordan Petridis <jordan@centricular.com>

	* ext/rsvg/meson.build:
	  rsvg: Add direct dependency on cairo
	  We include cairo.h in the element so we should also
	  declare it in meson.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6306>

2024-03-07 17:36:33 +0100  François Laignel <francois@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	* ext/webrtc/transportstream.c:
	  webrtc: add all SSRC attributes getting CAPS for a PT
	  The transport stream only returned the CAPS for the first matching PT entry
	  from the `ptmap`. Other SSRC with the same PT where not included. For a stream
	  which bundled multiple audio streams for instance, only the first SSRC was
	  knowed to the SSRC demux and downstream elements.
	  This commit adds all the `ssrc-` attributes from the matching PT entries.
	  The RTP jitter buffer can now find the CNAME corresponding its SSRC even if it
	  was not the first to be registered for a particular PT.
	  The RTP PT demux removes `ssrc-*` attributes cooresponding to other SSRCs
	  before pushing SSRC specific CAPS to downstream elements.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6119>

2024-02-23 11:00:20 +0100  François Laignel <francois@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: RFC5576 - early CNAME support
	  See RFC5576: have CNAME available to the rtpjitterbuffer before the the first
	  RTCP SR is received, for rapid synchronization. Similar to what was done for
	  RTSP (last 2 commits) of [MR 2132].
	  [RFC5576]: https://www.rfc-editor.org/rfc/rfc5576
	  [MR 2132]: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6119>

2024-03-02 02:13:41 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12dxgicapture.cpp:
	* sys/d3d12/gstd3d12dxgicapture.h:
	* sys/d3d12/gstd3d12graphicscapture.cpp:
	* sys/d3d12/gstd3d12graphicscapture.h:
	* sys/d3d12/gstd3d12screencapture.cpp:
	* sys/d3d12/gstd3d12screencapture.h:
	* sys/d3d12/gstd3d12screencapturesrc.cpp:
	* sys/d3d12/meson.build:
	  d3d12screencapturesrc: Add support for WGC API
	  Adding support for window and monitor capturing by using
	  Windows Graphics Capture API.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6256>

2024-03-05 22:49:05 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d12/gstd3d12memory.cpp:
	* sys/d3d12/gstd3d12memory.h:
	* sys/d3d12/gstd3d12utils.cpp:
	* sys/d3d12/gstd3d12utils.h:
	  d3d12memory: Implement NT handle caching and custom user data support
	  Same as the d3d11 memory implementation.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6256>

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/5173>

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/6248>

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/6250>

2024-02-28 15:51:31 +0200  Sebastian Dröge <sebastian@centricular.com>

	* sys/aja/gstajasink.cpp:
	  ajasink: Make logging between ajasrc and ajasink more consistent
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6208>

2024-02-23 12:41:44 +0200  Sebastian Dröge <sebastian@centricular.com>

	* sys/aja/gstajasrc.cpp:
	* sys/aja/gstajasrc.h:
	  ajasrc: Improve clock handling
	  Provide a clock from the source that is a monotonic system clock with
	  the rate corrected based on the measured and ideal capture rate of the
	  frames.
	  If this clock is selected as pipeline clock, then provide perfect
	  timestamps to downstream.
	  Otherwise, if the pipeline clock is the monotonic system clock, use the
	  internal clock for converting back to the monotonic system clock.
	  Otherwise, use the monotonic system clock time calculated in the above
	  case and convert that to the pipeline clock.
	  In all cases this will give a smoother time than the previous code,
	  which simply took the difference between the driver provided capture
	  time and the current real-time clock time, and applied that to the
	  current pipeline clock time.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6208>

2024-02-23 12:21:56 +0200  Sebastian Dröge <sebastian@centricular.com>

	* sys/aja/gstajasrc.cpp:
	  ajasrc: Move frame drop detection after the frame transfer
	  Otherwise there's a small window between querying the state and doing
	  the transfer in which a frame could be dropped, and we would then output
	  the frame right after the dropped one as if it was the dropped frame.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6208>

2024-02-23 12:21:04 +0200  Sebastian Dröge <sebastian@centricular.com>

	* sys/aja/gstajasrc.cpp:
	  ajasrc: Improve debug output related to frame transfers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6208>

2024-02-26 22:19:57 +0800  He Junyan <junyan.he@intel.com>

	* sys/msdk/gstmsdkdec.c:
	* sys/msdk/gstmsdkenc.c:
	* sys/msdk/gstmsdkvpp.c:
	  MSDK: Set the job type when create context from external handle
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6221>

2024-03-01 00:08:03 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  vah265enc: Set backward_num to 1 in low delay mode
	  In low delay B mode, the P frame is converted as B frame with forward
	  references. For example, One P frame may refers to P-1, P-2 and P-3 in
	  list0 and refers to P-3, P-2 and P-1 in list1.
	  So the num in list0 and list1 does not reflect the forward_num and
	  backward_num. The vaapi does not provide ref num for forward or backward
	  so far. In this case, we just consider the backward_num to be 1 conservatively.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6249>

2024-01-26 23:50:08 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  vah265enc: Improve B pyramid mode in HEVC
	  If the reference frame number is bigger than 2, we can enable the
	  pyramid B mode. We do not need to assign a reference frame to each
	  pyramid level.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6249>

2024-01-28 23:27:48 +0800  He Junyan <junyan.he@intel.com>

	* sys/va/gstvah265enc.c:
	  vah265enc: Expand log2_max_pic_order_cnt if needed
	  In b_pyramid mode, B frames can be ref and prevPicOrderCntLsb can
	  be the B frame POC which is smaller than the P frame. This can cause
	  POC diff bigger than MaxPicOrderCntLsb/2 and generate wrong POC value.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6249>

2024-03-05 12:58:57 +0000  Tim-Philipp Müller <tim@centricular.com>

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

=== release 1.24.0 ===

