=== release 1.20.5 ===

2022-12-19 23:34:42 +0000  Tim-Philipp Müller <tim@centricular.com>

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

2022-12-19 23:34:34 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ChangeLog:
	  Update ChangeLogs for 1.20.5

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

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

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

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

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

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

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

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

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

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

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

	* sys/d3d11/gstd3d11window.cpp:
	  d3d11videosink: Error out if RTV is unavailable
	  Add RTV pointer validation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3573>

2022-07-03 01:18:19 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11videosink.cpp:
	* sys/d3d11/gstd3d11videosink.h:
	  d3d11videosink: Protect window with lock at every place
	  Access to the object should be thread safe to support runtime
	  property update
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3573>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2021-12-01 16:23:41 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/rtmp2/gstrtmp2sink.c:
	* gst/rtmp2/gstrtmp2src.c:
	* gst/rtmp2/rtmp/rtmpclient.c:
	  rtmp2: Improve error messages
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3368>

2021-12-01 16:04:24 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/rtmp2/gstrtmp2sink.c:
	* gst/rtmp2/gstrtmp2src.c:
	* gst/rtmp2/rtmp/rtmpclient.c:
	* gst/rtmp2/rtmp/rtmpconnection.c:
	  rtmp2/connection: Pass triggering GError in 'error' signal
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3368>

2021-12-01 16:02:53 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/rtmp2/rtmp/rtmpconnection.c:
	  rtmp2/connection: Pass triggering GError to _emit_error
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3368>

2021-12-01 16:01:10 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/rtmp2/rtmp/rtmpconnection.c:
	  rtmp2/connection: Discern reasons for cancelling all commands
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3368>

2021-12-01 15:53:13 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/rtmp2/rtmp/rtmpconnection.c:
	  rtmp2/connection: Handle EOF like error
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3368>

2021-12-01 15:49:22 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/rtmp2/rtmp/rtmpclient.c:
	  rtmp2/client: Make sure 'salt' is not NULL
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3368>

2021-12-01 15:46:42 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/rtmp2/rtmp/rtmpclient.c:
	  rtmp2/client: Make sure 'reason' is not NULL
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3368>

2021-12-01 16:13:42 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/rtmp2/rtmp/rtmpclient.c:
	  rtmp2/client: Make sure 'desc' is not NULL
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3368>

2021-12-01 16:11:31 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/rtmp2/rtmp/rtmpclient.c:
	  rtmp2/client: Make sure 'code' is not NULL
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3368>

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

	* sys/d3d11/gstd3d11window.cpp:
	  d3d11videosink: Always clear back buffer on resize
	  Swapchain may not need to be resized if the size of backbuffer
	  is equal to the previous size. Then previously rendered frame will be stay
	  on the screen. Do clear back buffer whenever resize() is called
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3342>

2022-07-27 15:59:35 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/srt/gstsrtobject.c:
	  srt: Remove callers for which srt_bstats fails
	  This keeps them from accumulating in the element and in the stats while
	  the sink is not being fed, as long as we at least periodically grab
	  stats.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3329>

2022-07-29 11:53:18 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/srt/gstsrtobject.c:
	  srt: Use simpler list operations for callers
	  Avoid `g_list_append` and `g_list_remove` (which have to scan the list)
	  and replace them with `g_list_prepend` and `g_list_delete_link`.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3329>

2020-11-10 10:06:37 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/srt/gstsrtobject.c:
	  srt: Clean up poll/sock lifecycle
	  Make sure `srtobject->poll_id` is never invalid as long as `srtobject`
	  exists. Only remove our caller socket from it when the socket becomes
	  invalid.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3329>

2022-06-08 16:35:54 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/srt/gstsrtobject.c:
	  srt: Clean up error handling
	  - Make the srt_epoll_wait loops more uniform.
	  - Error only via GError when possible; let the element send the error
	  message. Avoids a second error message.
	  - Return 0 when cancelled. Avoids an error message from the element.
	  - Don't send an error message from send_headers when we're a server
	  sink.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3329>

2022-10-11 11:14:59 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/srt/gstsrtobject.c:
	  srt: Simplify socket stats
	  Don't hide stats depending on whether we're a sending or receiving
	  socket. While we're here, add some more debug logs.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3329>

2020-10-05 19:50:13 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/srt/gstsrtobject.c:
	* ext/srt/gstsrtobject.h:
	  srt: Replace stats accumulation with naive byte counting
	  srt_bstats cannot be used to get the stats of closed connections, so the
	  best we can do is keep the running count ourselves.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3329>

2022-10-25 08:14:18 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/codecalpha/gstalphacombine.c:
	  alphacombine: Add missing query handler for gaps
	  The gap handling was in place, but there was no event handler to trigger it.
	  Implement the alpha sink event handler for the gaps. This fixes handling of
	  valid streams which may not refresh the alpha frames for every video frames.
	  It will also allow a clean error if the stream was missing the initial
	  alpha frame, at least until we find a better way to handle these
	  invalid frames.
	  Related to #1518
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3279>

2022-10-26 11:47:43 +0200  Ignacio Casal Quinteiro <qignacio@amazon.com>

	* sys/applemedia/avfdeviceprovider.m:
	  avfdeviceprovider: do not leak the properties
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3278>

2022-10-21 21:50:01 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/vulkan/cocoa/gstvkcocoa_utils.h:
	* gst-libs/gst/vulkan/cocoa/gstvkwindow_cocoa.m:
	* gst-libs/gst/vulkan/ios/gstvkios_utils.h:
	* gst-libs/gst/vulkan/ios/gstvkwindow_ios.m:
	  gl/vulkan: Fix static linking on macOS
	  duplicate symbol '__invoke_on_main' in:
	  /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstvulkan-1.0.a(cocoa_gstvkwindow_cocoa.m.o)
	  /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstgl-1.0.a(cocoa_gstglwindow_cocoa.m.o)
	  ld: 1 duplicate symbol for architecture x86_64
	  clang: error: linker command failed with exit code 1 (use -v to see invocation)
	  Also make the same change in iOS for consistency.
	  Continuation of https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1132
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3263>

2022-10-21 10:50:36 +1100  Matthew Waters <matthew@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: also add rtcp-fb ccm fir for video mlines by default
	  In addition to the 'nack pli' already added.  Both are supported by
	  rtpbin/rtpsession by default already.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3247>

2022-10-14 18:51:43 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* ext/webrtc/gstwebrtcice.c:
	  webrtc/nice: fix small leak of split strings
	  g_strfreev previously stopped at our manual NULL-termination. Fix by
	  restoring the pointer after joining.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3190>

2022-10-14 16:21:07 -0400  Arun Raghavan <arun@asymptotic.io>

	* gst/rtmp2/gstrtmp2sink.c:
	  rtmp2sink: Correctly return GST_FLOW_ERROR on error
	  If there is an error while connecting, the streaming task will be stopped, and
	  is_running() will be false, causing a GST_FLOW_FLUSHING to be returned. Instead,
	  we perform the error check (!self->connection) first, to return an error if
	  that's what occured.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3192>

2022-10-07 08:30:05 +0200  Wojciech Kapsa <wojciech.kapsa@medvc.eu>

	* sys/decklink/gstdecklinkvideosrc.cpp:
	* sys/decklink/gstdecklinkvideosrc.h:
	  decklink: reset calculation of gst_decklink_video_src_update_time_mapping on no_signal. When the HDMI cable was disconnected for a long time, the calculation took too much time. SDI cable works fine.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3168>

2022-10-12 18:40:25 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development

=== release 1.20.4 ===

2022-10-12 16:39:47 +0100  Tim-Philipp Müller <tim@centricular.com>

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

2022-10-12 16:39:40 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ChangeLog:
	  Update ChangeLogs for 1.20.4

2022-08-08 23:37:11 +0900  Seungha Yang <seungha@centricular.com>

	* gst/mxf/mxfaes-bwf.c:
	  mxfdemux: Always calculate BlockAlign of raw audio
	  Workaround for nBlockAlign and nBitsPerSample mismatch. Always
	  use the formula described in the specification for BlockAlign value
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3149>

2022-09-14 00:58:37 +0900  Seungha Yang <seungha@centricular.com>

	* sys/nvcodec/gstnvdec.c:
	  nvdec: Fix for HEVC decoding when coded resolution is larger than display resolution
	  As documented in the SDK header, we should set coded width/height
	  values to the corresponding decoder configuration option,
	  instead of display resolution
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1438
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3143>

2022-09-22 22:39:31 +0900  Sangchul Lee <sc11.lee@samsung.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: Fix pointer dereference before null check
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3133>

2022-10-05 15:59:03 +0900  Sangchul Lee <sc11.lee@samsung.com>

	* ext/webrtc/gstwebrtcice.c:
	  webrtc/nice: Make sure to return NULL when validating turn server fails
	  It affects 'add-turn-server' signal action and 'turn-server' property
	  of webrtcbin.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3124>

2022-09-20 23:31:45 +0300  Mart Raudsepp <mart@leio.tech>

	* gst/mpegtsdemux/mpegtsbase.c:
	  tsdemux: Don't trigger a program change when falling back to ignore-pcr behaviour
	  Since commit a79a756b79aa1675e we could change to ignore-pcr automatically at 500ms
	  into a live stream when no PCR is seen by then. However the stream counting in
	  program change detection was wrongly considering ignore-pcr programs to have a
	  separate PCR PID, even though we are actually ignoring the PCR PID completely,
	  resulting in an erroneous program switch getting triggered from the different
	  stream count. This in turn would send an EOS and switch out the pads for what
	  actually is still the same program, while we intended to simply apply a
	  workaround for broken encoders.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3089>

2022-03-25 14:25:02 +1100  Andrew Pritchard <andrew@vivi.io>

	* sys/androidmedia/jni/gstamcsurfacetexture-jni.c:
	  Fix GstAmcSurfaceTexture segfault Check that `self` and `self->callback` are defined. `self` can be set to `NULL` in `remove_listener`, and `self->callback` can be set to `NULL` inside `gst_amc_surface_texture_jni_set_on_frame_available_callback`. This can cause a segfault since the Java object can outlive the C object, and call the callback after `remove_listener` is called.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3056>

2022-08-25 14:24:25 +0200  Piotr Brzeziński <piotr@centricular.com>

	* sys/applemedia/avfvideosrc.m:
	  avfvideosrc: Fix wrong default framerate value
	  Current default G_MAXINT is not a correct value under any circumstances.
	  This creates an issue with screen capture, during which we currently do
	  not get any framerate info causing G_MAXINT to show up, where elements
	  downstream can possibly misbehave - for example, `vtenc` causes
	  a kernel panic.
	  Replace with 30/1 to avoid such scenarios.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2946>

2022-08-20 16:15:15 +0100  Philippe Normand <philn@igalia.com>

	* ext/openh264/gstopenh264dec.cpp:
	* ext/openh264/gstopenh264enc.cpp:
	  openh264: Register debug categories earlier
	  Otherwise the GST_ERROR message logged in case of ABI mismatch would be done on
	  an uninitialized category.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2924>

2022-08-20 16:57:27 +0100  Philippe Normand <philn@igalia.com>

	* ext/openh264/gstopenh264enc.cpp:
	  openh264enc: Fix constrained-high encoding
	  constrained-high is high without B-frames, there is no EProfileIdc for this, so
	  assume high instead of hitting an assert down the line.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2921>

2022-08-14 22:31:29 -0400  Daniel Morin <daniel.morin@collabora.com>

	* gst-libs/gst/play/gstplay-media-info.h:
	* gst-libs/gst/play/gstplay-signal-adapter.h:
	* gst-libs/gst/play/gstplay-video-overlay-video-renderer.h:
	* gst-libs/gst/play/gstplay-video-renderer.h:
	* gst-libs/gst/play/gstplay-visualization.h:
	  gst-play: missing cleanup for g_autoptr
	  Without this change cleanup function for g_autoptr is not defined for
	  GstPlayMediaInfo, GstPlaySignalAdapter, GstPlayVideoRenderer,
	  GstPlayVideoOverlayVideoRenderer and GstPlayVisualization. Cleanup
	  function was defined in gstplay.h, but missing in other header files.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2904>

2022-08-13 12:24:37 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/player/gstplayer-media-info.c:
	  player: Don't leak wrapped video info
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1373
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2881>

2022-08-13 11:50:20 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/play/gstplay.c:
	  play: Make ownership of video-sink clearer in combination with floating references
	  And correctly handle the case of VideoRenderer::create_video_sink() not
	  actually returning a floating reference, which might be tricky for some
	  bindings.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2881>

2022-08-13 11:49:08 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/play/gstplay.c:
	  play: Fix object construction
	  Ideally new() functions should simply call g_object_new() and not much
	  else, so let's do that here and handle all the construction properly in
	  a GObject way.
	  Now a play object created via g_object_new() is actually usable.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2881>

2022-08-13 11:39:59 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/player/gstplayer.c:
	  player: Fix object construction
	  Ideally new() functions should simply call g_object_new() and not much
	  else, so let's do that here and handle all the construction properly in
	  a GObject way.
	  Now a player object created via g_object_new() is actually usable.
	  In addition, also fix the video-renderer property so that reading it
	  returns an object of the correct type.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2881>

2022-08-13 11:30:35 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/player/gstplayer.c:
	  player: Release signal adapter on finalize
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2881>

2022-08-12 18:24:41 +0300  Matthias Clasen <mclasen@redhat.com>

	* gst-libs/gst/player/gstplayer.c:
	  gstplayer: Plug a memory leak
	  This was showing up as a memory leak in GTK's
	  gstreamer media backend:
	  40 bytes in 1 blocks are definitely lost in loss record 18,487 of 40,868
	  at 0x484586F: malloc (vg_replace_malloc.c:381)
	  by 0x50D5278: g_malloc (gmem.c:125)
	  by 0x50EDBA5: g_slice_alloc (gslice.c:1072)
	  by 0x50EFBCC: g_slice_alloc0 (gslice.c:1098)
	  by 0x51F2F45: g_type_create_instance (gtype.c:1911)
	  by 0x51DAE37: g_object_new_internal (gobject.c:2011)
	  by 0x51DC080: g_object_new_with_properties (gobject.c:2181)
	  by 0x51DCB20: g_object_new (gobject.c:1821)
	  by 0x9855F86: UnknownInlinedFun (gstplayer-wrapped-video-renderer.c:109)
	  by 0x9855F86: gst_player_new (gstplayer.c:579)
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1374
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2876>

2022-07-30 02:29:49 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/sctp/usrsctp/meson.build:
	  meson: Don't pass -Werror to vendored code
	  Do it the correct way with libusrsctp -- override the option so that
	  it's done in a compiler-agnostic and future-proof way.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2818>

2022-05-25 18:40:30 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst/rtmp2/gstrtmp2locationhandler.c:
	* gst/rtmp2/rtmp/rtmpclient.c:
	  rtsp+rtmp: Forward warning added to tls-validation-flags to our users
	  With the 2.72 release, glib-networking developers have decided that
	  TLS certificate validation cannot be implemented correctly by them, so
	  they've deprecated it.
	  In a nutshell: a cert can have several validation errors, but there
	  are no guarantees that the TLS backend will return all those errors,
	  and things are made even more complicated by the fact that the list of
	  errors might refer to certs that are added for backwards-compat and
	  won't actually be used by the TLS library.
	  Our best option is to ignore the deprecation and pass the warning onto
	  users so they can make an appropriate security decision regarding
	  this.
	  We can't deprecate the tls-validation-flags property because it is
	  very useful when connecting to RTSP cameras that will never get
	  updates to fix certificate errors.
	  Relevant upstream merge requests / issues:
	  https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2214
	  https://gitlab.gnome.org/GNOME/glib-networking/-/issues/179
	  https://gitlab.gnome.org/GNOME/glib-networking/-/merge_requests/193
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2818>

2022-05-25 16:03:22 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/dtls/gstdtlscertificate.c:
	  dtls: Disable OpenSSL 3.0 deprecation warnings for now
	  Fedora 36 ships with OpenSSL 3.0, which deprecates all low-level APIs,
	  so this code needs to be rewritten. There is no easy fix in the
	  porting guide, and it recommends disabling the warnings if you can't
	  use the high-level API.
	  https://wiki.openssl.org/index.php/OpenSSL_3.0#Upgrading_to_OpenSSL_3.0_from_OpenSSL_1.1.1
	  Here's the replacement API:
	  https://www.openssl.org/docs/man3.0/man7/migration_guide.html#Deprecated-low-level-object-creation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2818>

2022-07-29 02:36:40 +0900  Seungha Yang <seungha@centricular.com>

	* sys/wasapi2/gstwasapi2ringbuffer.cpp:
	  wasapi2: Fix initial mute/volume setting
	  Fix up volume/mute change flag setting
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2817>

2022-07-21 16:11:03 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/audiobuffersplit/gstaudiobuffersplit.c:
	  audiobuffersplit: Actually store number of samples to drop in gapless mode
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2783>

2022-07-21 16:10:18 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/audiobuffersplit/gstaudiobuffersplit.c:
	  audiobuffersplit: Use input running time for comparison instead of the currently tracked running time
	  Otherwise gapless mode would do completely wrong calculations on
	  discontinuities and cause input/output to drift slowly.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2783>

2022-07-21 13:38:22 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/audiobuffersplit/gstaudiobuffersplit.c:
	  audiobuffersplit: Combine two if expressions to reduce indentation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2783>

2022-07-06 16:14:13 +0300  Jordan Petridis <jordan@centricular.com>

	* ext/openmpt/gstopenmptdec.c:
	  openmpt: update from now deprecated api
	  https://lib.openmpt.org/doc/classopenmpt_1_1module.html#ab2695af0baa274054f5687741fa7c05b
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2779>

2022-06-30 11:04:29 +0200  Ignazio Pillai <ignazp@amazon.com>

	* sys/wasapi/gstwasapiutil.c:
	  wasapi: Implement default audio channel mask
	  Some multichannel capture devices does not provide a channel mask value
	  which will result in a pipeline failure due to the empty channel mask.
	  Implemented the same fix used for wasapi2
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1204
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2714>

2022-07-07 02:17:56 +0900  Seungha Yang <seungha@centricular.com>

	* gst/proxy/gstproxysink.c:
	  proxysink: Fix GstProxySrc leak
	  Clear weak pointer to peer src when disposing.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2774>

2022-07-06 03:14:25 +0900  Seungha Yang <seungha@centricular.com>

	* gst/proxy/gstproxysink.c:
	* gst/proxy/gstproxysink.h:
	* tests/check/elements/proxysink.c:
	* tests/check/meson.build:
	  proxysink: Make sure stream-start and caps events are forwarded
	  There might be a sequence of event and buffer flow:
	  - Got stream-start/caps/segment events
	  - Got flush events
	  - And then buffers with a new segment event
	  In the above case, stream-start and caps event might not be reached to
	  peer proxysrc if peer proxysrc is not ready to receive them.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2774>

2022-06-30 09:09:02 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: Reject caps that are not valid for creating an SDP media.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2705>

2022-06-29 10:55:13 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  coding style: allow declarations after statement
	  See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1243/
	  and https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/78
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2702>

2022-06-28 17:40:56 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11videosink.cpp:
	  d3d11videosink: Fix for force-aspect-ratio setting when rendering on shared texture
	  Set specified force-aspect-ratio value on window object
	  in case of shared texture rendering as well
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1304
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2701>

2022-06-25 19:50:10 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/meson.build:
	  tests: skip unit tests for dependency-less elements that have been disabled
	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1136
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2672>

2022-06-28 01:29:06 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/opus/gstopusheader.h:
	  dv, opusparse: fix duplicate symbols in static build
	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1262
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2673>

2022-06-23 14:31:10 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* sys/va/gstvaallocator.c:
	  va: allocator: Use always lseek to get dmabuf size.
	  Gallium drivers historically have reported strange dmabuf sizes, from always
	  zero to the whole frame (multiple fds). The simplest solution is to use lseek
	  SEEK_END to get the prime descriptor size.
	  Also the allocator raises a warning if both values differ in order to report
	  it to driver.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2657>

2022-06-08 09:02:52 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/va/gstvaallocator.c:
	  va: allocator: Fix translation of VADRMPRIMESurfaceDescriptor
	  VADRMPRIMESurfaceDescriptor structure describes the offsets from the
	  point of view of the specific handle (DMABuf). While GstVideoInfo
	  (and the meta) describes offsets from the point of the view of the
	  GstBuffer, an aggregate of all the GstMemory (1 per handle).
	  This changes combined with [Mesa Fix](https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16813)
	  fixes decoding failure with AMD driver.
	  Fixes #1223
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2657>

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

	* sys/va/gstvah265dec.c:
	  va: h265dec: Fix a crash because of missing reference frame.
	  Some problematic H265 stream may miss the reference frame in the DPB,
	  and get some message like: "No short term reference picture for xxx".
	  So there may be empty entries in ref_pic_list0/1 when passing to
	  decode_slice() function of sub class. We need to check the NULL pointer.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2647>

2022-06-18 04:05:53 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11decoder.h:
	  d3d11decoder: Check 16K resolution support
	  16K decoding is supported by some GPUs
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2633>

2022-06-15 15:06:20 -0400  Olivier Crête <olivier.crete@collabora.com>

	* ext/webrtc/gstwebrtcbin.c:
	  webrtcbin: Limit sink query to sink pads
	  This allows the reception of streams that don't exactly match
	  the codec preferences. In particular, the ssrc in the codec preferences
	  is local sender SSRC, the other side is expected to send a different SSRC.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2632>

2022-06-16 00:59:00 +0100  Tim-Philipp Müller <tim@centricular.com>

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

=== release 1.20.3 ===

2022-06-15 23:36:18 +0100  Tim-Philipp Müller <tim@centricular.com>

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

2022-06-15 23:36:10 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ChangeLog:
	  Update ChangeLogs for 1.20.3

2022-06-09 23:19:24 +0900  Seungha Yang <seungha@centricular.com>

	* sys/d3d11/gstd3d11decoder.cpp:
	  d3d11decoder: Fix for alternate interlacing signalling
	  Don't set d3d11+interlace caps feature. None of d3d11 elements
	  support it
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2584>

2022-05-27 05:15:13 +1000  Jan Schmidt <jan@centricular.com>

	* sys/androidmedia/gstamc-constants.h:
	* sys/androidmedia/gstamc.c:
	* sys/androidmedia/gstamcvideoenc.c:
	* sys/androidmedia/gstamcvideoenc.h:
	  amc: Add H.265 encoder mapping.
	  Add mime type mapping to enable the use of Android H.265 encoders
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2572>

2022-05-30 16:31:38 -0400  Olivier Crête <olivier.crete@collabora.com>

	* ext/webrtc/gstwebrtcbin.c:
	* tests/check/elements/webrtcbin.c:
	  webrtcbin: Reject answers that don't contain the same number of m-line as offer
	  Otherwise, it segfaults later. Also add test to validate this.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2561>

2022-06-04 17:23:00 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* gst/rtmp2/rtmp/rtmpmessage.c:
	  rtmp2: Fix allocation of GstRtmpMeta
	  Use the right size.
	  On 64-bit platforms, `GstMetaInfo` is larger than `GstRtmpMeta`, which
	  masked this bug. On 32-bit platforms, it causes crashes. Thanks to
	  @maxatka for discovering this.
	  Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1721
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2564>

2022-06-06 00:30:15 +0200  Jan Alexander Steffens (heftig) <heftig@archlinux.org>

	* ext/opencv/gstcvtracker.cpp:
	* ext/opencv/gstcvtracker.h:
	* ext/opencv/meson.build:
	  opencv: Allow building against 4.6.x
	  Replace the broken version checks with one modeled after
	  `GLIB_CHECK_VERSION`.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2558>

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

	* gst-libs/gst/d3d11/gstd3d11memory.cpp:
	* gst-libs/gst/d3d11/gstd3d11memory.h:
	* sys/d3d11/gstd3d11decoder.cpp:
	  d3d11decoder: Work around Intel DXVA driver crash
	  Intel DXVA driver crashes sometimes (from GPU thread) if
	  ID3D11VideoDecoder is released while there are outstanding view objects.
	  To make sure the object life cycle, holds an ID3D11VideoDecoder refcount
	  in GstD3D11Memory object.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2513>

2022-05-24 11:06:39 +0200  Erwann Gouesbet <erwann.gouesbet@blacknut.com>

	* sys/d3d11/gstd3d11screencapture.cpp:
	  d3d11screencapture: Fix missing/outdated cursor shape
	  d3d11screencapture can miss a cursor shape to draw or draw an outdated cursor shape.
	  - AcquireNextFrame only provides cursor shape when there is one update
	  - current d3d11screencapture skips cursor shape when mouse is not drawn
	  So, if a gstreamer application uses d3d11screencapture with cursor initially not drawn
	  "show-cursor"=false and then switches this property to true, the cursor will not be
	  actually drawn until AcquireNextFrame provides a new cursor shape.
	  This commit makes d3d11screencapture always update the cursor shape information, even
	  if the mouse is not drawn. d3d11screencapture will always have the latest cursor shape
	  when requested to draw it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2488>

2022-05-18 16:54:53 +0100  Philippe Normand <philn@igalia.com>

	* ext/webrtc/webrtcdatachannel.c:
	  datachannel: Notify low buffered amount according to spec
	  Quoting
	  https://www.w3.org/TR/webrtc/#dom-rtcdatachannel-bufferedamountlowthreshold
	  The bufferedAmountLowThreshold attribute sets the threshold at which the
	  bufferedAmount is considered to be low. When the bufferedAmount decreases from
	  above this threshold to **equal** or below it, the bufferedamountlow event fires.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2452>

2022-05-17 14:15:40 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  tsmux: Make sure to set srcpad caps under all conditions before outputting the first buffer
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1218
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2446>

2022-05-17 14:02:28 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/sdp/gstsdpdemux.c:
	  sdpdemux: Release request pads from rtpbin when freeing a stream
	  Otherwise the pads of the rtpbin stay around forever and are leaked.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2445>

2022-05-06 18:21:00 -0400  Olivier Crête <olivier.crete@ocrete.ca>

	* gst/pcapparse/gstpcapparse.c:
	  pcapparse: Set timestamp in DTS, not PTS
	  This matches the behaviour of basesrc, in particular, it matches the
	  behaviour of udpsrc, so it's easier to use to as a replacement to test
	  rtpjitterbuffer and other similar elements.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2424>

2022-04-28 16:02:26 +0100  Diogo Goncalves <diogo@diporg.com>

	* sys/applemedia/avfvideosrc.m:
	  avfvideosrc: fix wrong framerate selected for caps
	  This fix solves an issue where a format that doesn't support the
	  requested framerate would be selected. It ensures that we use the first
	  format and framerate pair that supports the requested caps.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2418>

2022-05-12 07:23:29 +0200  Edward Hervey <edward@centricular.com>

	* gst/mxf/mxfdemux.c:
	  mxfdemux: Handle files produced by legacy FFmpeg
	  Until March 2022, the FFmpeg MXF muxer would write the various index table
	  segments with the same instance ID, which should only be used if it is a
	  duplicate/repeated table.
	  In order to cope with those, we first compare the other index table segment
	  properties (body/index SID, start position) before comparing the instance
	  ID. This will ensure that we don't consider them as duplicate, but can still
	  detect "real" duplicates (which would have the same other properties).
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2408>

2022-05-06 17:53:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/va/gstvadisplay_drm.c:
	  libs: va: Add O_CLOEXEC flag at opening drm device.
	  So any other potential subprocess won't have access to it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2391>

2022-05-05 20:35:57 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mxf/mxfmux.c:
	  mxfmux: Disable aggregator's default negotiation
	  mxfmux can't negotiate caps with upstream/downstream and always outputs
	  specific caps based on the input streams. This will always happen before
	  it produces the first buffers.
	  By having the default aggregator negotiation enabled the same caps
	  would be pushed twice in the beginning, and again every time a
	  reconfigure event is received.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2381>

2022-05-05 20:35:49 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/mpegtsmux/gstbasetsmux.c:
	  mpegtsmux: Disable aggregator's default negotiation
	  mpegtsmux can't negotiate caps with upstream/downstream and always outputs
	  specific caps based on the input streams. This will always happen before
	  it produces the first buffers.
	  By having the default aggregator negotiation enabled the same caps
	  would be pushed twice in the beginning, and again every time a
	  reconfigure event is received.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2381>

2022-05-05 00:24:26 +0900  Seungha Yang <seungha@centricular.com>
