+2020-12-08 16:55:26 +0100 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * ext/srt/gstsrtobject.c:
+ * ext/srt/gstsrtobject.h:
+ srt: Add a property to disable automatic reconnect
+ This adds a new boolean property `auto-reconnect`, defaulting to `true`.
+ Setting it to `false` makes the elements (in caller mode) immediately
+ report an error to the application instead of trying to reconnect.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3326>
+
+2022-10-26 18:04:17 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvabasetransform.c:
+ vabasetransform: Fail if cannot import the input buffer.
+ Otherwise got a buffer double free.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3348>
+
+2022-11-06 01:53:46 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfcapturedshow.cpp:
+ * sys/mediafoundation/gstmfcapturedshow.h:
+ * sys/mediafoundation/gstmfdevice.cpp:
+ * sys/mediafoundation/gstmfsourceobject.cpp:
+ * sys/mediafoundation/gstmfsourceobject.h:
+ * sys/mediafoundation/gstmfsourcereader.cpp:
+ * sys/mediafoundation/gstmfvideosrc.cpp:
+ * sys/mediafoundation/meson.build:
+ mfvideosrc: Add support for DirectShow capture filter
+ Adding DirecShow video capture filter mode, in addition
+ to existing MediaFoundation and WinRT(UWP) mode, to support
+ DirectShow only filters (not KS driver compatible)
+ such as custom virtual camera filters.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3350>
+
+2021-12-01 16:23:41 +0100 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/rtmp2/gstrtmp2sink.c:
+ * gst/rtmp2/gstrtmp2src.c:
+ * gst/rtmp2/rtmp/rtmpclient.c:
+ rtmp2: Improve error messages
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403>
+
+2021-12-01 16:04:24 +0100 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/rtmp2/gstrtmp2sink.c:
+ * gst/rtmp2/gstrtmp2src.c:
+ * gst/rtmp2/rtmp/rtmpclient.c:
+ * gst/rtmp2/rtmp/rtmpconnection.c:
+ rtmp2/connection: Pass triggering GError in 'error' signal
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403>
+
+2021-12-01 16:02:53 +0100 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/rtmp2/rtmp/rtmpconnection.c:
+ rtmp2/connection: Pass triggering GError to _emit_error
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403>
+
+2021-12-01 16:01:10 +0100 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/rtmp2/rtmp/rtmpconnection.c:
+ rtmp2/connection: Discern reasons for cancelling all commands
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403>
+
+2021-12-01 15:53:13 +0100 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/rtmp2/rtmp/rtmpconnection.c:
+ rtmp2/connection: Handle EOF like error
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403>
+
+2021-12-01 15:49:22 +0100 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/rtmp2/rtmp/rtmpclient.c:
+ rtmp2/client: Make sure 'salt' is not NULL
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403>
+
+2021-12-01 15:46:42 +0100 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/rtmp2/rtmp/rtmpclient.c:
+ rtmp2/client: Make sure 'reason' is not NULL
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403>
+
+2021-12-01 16:13:42 +0100 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/rtmp2/rtmp/rtmpclient.c:
+ rtmp2/client: Make sure 'desc' is not NULL
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403>
+
+2021-12-01 16:11:31 +0100 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/rtmp2/rtmp/rtmpclient.c:
+ rtmp2/client: Make sure 'code' is not NULL
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403>
+
+2022-11-07 07:45:53 +0100 Edward Hervey <edward@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/gstwebrtcstats.c:
+ * ext/webrtc/transportstream.c:
+ * ext/webrtc/utils.c:
+ * ext/webrtc/utils.h:
+ * ext/webrtc/webrtcsdp.c:
+ webrtcbin: Don't duplicate enum string values
+ Some were leaked when debugging was enabled. Instead just directly use the
+ static strings as-is.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3347>
+
+2022-11-04 14:24:58 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst/debugutils/gstvideocodectestsink.c:
+ videocodectestsink: Add YUV422 support
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3331>
+
+2022-11-05 21:35:08 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11window.cpp:
+ d3d11videosink: Always clear back buffer on resize
+ Swapchain may not need to be resized if the size of backbuffer
+ is equal to the previous size. Then previously rendered frame will be stay
+ on the screen. Do clear back buffer whenever resize() is called
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3341>
+
+2022-11-05 00:00:43 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvallocator_va.cpp:
+ qsv: Fix encoding error when input memory belongs to other GPU
+ Copy frame if VA display of input buffer is different from that
+ of encoder, like we've been doing on Windows
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3335>
+
+2022-11-04 21:52:39 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvabaseenc.c:
+ va: baseenc: Do not import the VA surface from other display.
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1167
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3322>
+
+2022-11-04 21:26:23 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvacompositor.c:
+ va: compositor: Do not use allocator and pool from other display.
+ Just like the va decoder, the compositor should not use allocator
+ and pool from other display. Also, when importing the input buffer,
+ if it is from other display, we should fallback to memory copy.
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1167
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3322>
+
+2022-11-04 17:12:22 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvabasetransform.c:
+ va: basetransform: Do not use allocator and pool from other display.
+ Just like the va decoder, the vpp and deinterlace should not use allocator
+ and pool from other display. Also, when importing the input buffer, if it
+ is from other display, we should fallback to memory copy.
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1167
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3322>
+
+2022-11-04 17:08:12 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvabasedec.c:
+ va: basedec: Do not use allocator and pool from other display.
+ The command line such as:
+ gst-launch-1.0 -vf filesrc location=1.264 ! h264parse !
+ vah264dec ! varenderD129postproc ! fakesink
+ The decoder here gets the allocation proposal from the vpp which is
+ on another GPU device. The allocator and pool belong to other display
+ and should not be used in the decoder.
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1167
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3322>
+
+2022-11-04 20:28:34 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/va/gstvaallocator.c:
+ * gst-libs/gst/va/gstvaallocator.h:
+ libs: va: Add API to peek the va buffer's display.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3322>
+
+2022-11-04 20:28:34 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/va/gstvaallocator.c:
+ * gst-libs/gst/va/gstvaallocator.h:
+ libs: va: Add API to peek the va memory's display.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3322>
+
+2022-11-04 17:06:37 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/va/gstvaallocator.c:
+ * gst-libs/gst/va/gstvaallocator.h:
+ libs: va: Add API to peek the allocator's display.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3322>
+
+2022-11-04 17:03:35 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/va/gstvaallocator.h:
+ libs: va: Fix code style in gstvaallocator.h
+ Replace all tabs with spaces.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3322>
+
+2022-11-05 05:32:52 +0900 Seungha Yang <seungha@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * sys/d3dvideosink/d3dvideosink.c:
+ d3dvideosink: Update plugin description
+ Direct3D is too generic (there are various version numbers).
+ Clarify that this element is using the Direct3D9 API
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3333>
+
+2022-11-04 08:41:10 +0100 Edward Hervey <edward@centricular.com>
+
+ * ext/lv2/gstlv2.c:
+ lv2: Don't leak plugin information on registration
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319>
+
+2022-11-04 08:40:24 +0100 Edward Hervey <edward@centricular.com>
+
+ * ext/ladspa/gstladspa.c:
+ ladspa: Don't leak plugin information on registration
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319>
+
+2022-11-04 08:09:52 +0100 Edward Hervey <edward@centricular.com>
+
+ * ext/fdkaac/gstfdkaacenc.c:
+ fdkaacenc: Properly terminate GEnumValue table
+ It should be terminated with a NULL entry, otherwise we just stray into the
+ realms of cryptographic libraries^W^W random memory usage.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319>
+
+2022-07-27 15:59:35 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * ext/srt/gstsrtobject.c:
+ srt: Remove callers for which srt_bstats fails
+ This keeps them from accumulating in the element and in the stats while
+ the sink is not being fed, as long as we at least periodically grab
+ stats.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3156>
+
+2022-07-29 11:53:18 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * ext/srt/gstsrtobject.c:
+ srt: Use simpler list operations for callers
+ Avoid `g_list_append` and `g_list_remove` (which have to scan the list)
+ and replace them with `g_list_prepend` and `g_list_delete_link`.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3156>
+
+2020-11-10 10:06:37 +0100 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * ext/srt/gstsrtobject.c:
+ srt: Clean up poll/sock lifecycle
+ Make sure `srtobject->poll_id` is never invalid as long as `srtobject`
+ exists. Only remove our caller socket from it when the socket becomes
+ invalid.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3156>
+
+2022-06-08 16:35:54 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * ext/srt/gstsrtobject.c:
+ srt: Clean up error handling
+ - Make the srt_epoll_wait loops more uniform.
+ - Error only via GError when possible; let the element send the error
+ message. Avoids a second error message.
+ - Return 0 when cancelled. Avoids an error message from the element.
+ - Don't send an error message from send_headers when we're a server
+ sink.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3156>
+
+2022-10-11 11:14:59 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * ext/srt/gstsrtobject.c:
+ srt: Simplify socket stats
+ Don't hide stats depending on whether we're a sending or receiving
+ socket. While we're here, add some more debug logs.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3156>
+
+2020-10-05 19:50:13 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * ext/srt/gstsrtobject.c:
+ * ext/srt/gstsrtobject.h:
+ srt: Replace stats accumulation with naive byte counting
+ srt_bstats cannot be used to get the stats of closed connections, so the
+ best we can do is keep the running count ourselves.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3156>
+
+2022-11-04 18:32:05 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/directshow/gstdshow.cpp:
+ directshow: Validate enumerated AM_MEDIA_TYPE struct
+ The video info struct can be null if format is undefined
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3323>
+
+2022-11-03 23:40:00 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tests/examples/d3d11/d3d11decoder-appsink.cpp:
+ * tests/examples/d3d11/d3d11videosink-present.cpp:
+ examples: d3d11: Fix GCC build error/warning
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3318>
+
+2022-11-03 05:18:03 +0900 Seungha Yang <seungha@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * sys/qsv/gstqsvjpegenc.cpp:
+ qsvjpegenc: Add support for YUY2 format
+ Now GstD3D11 defines YUY2 format
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3316>
+
+2022-11-03 05:12:31 +0900 Seungha Yang <seungha@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * sys/qsv/gstqsvallocator.cpp:
+ * sys/qsv/gstqsvallocator.h:
+ * sys/qsv/gstqsvallocator_d3d11.cpp:
+ * sys/qsv/gstqsvdecoder.cpp:
+ * sys/qsv/gstqsvjpegdec.cpp:
+ * sys/qsv/gstqsvjpegdec.h:
+ * sys/qsv/meson.build:
+ * sys/qsv/plugin.cpp:
+ qsv: Add JPEG decoder
+ Because DXVA does not define JPEG decoding, we need this
+ vendor specific API for Windows
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3316>
+
+2022-11-03 03:38:33 +0900 Seungha Yang <seungha@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst-libs/gst/d3d11/gstd3d11-private.h:
+ * gst-libs/gst/d3d11/gstd3d11converter.cpp:
+ * gst-libs/gst/d3d11/gstd3d11device.cpp:
+ d3d11: Add support for YUY2 format
+ YUY2 is a primary YUV 4:2:2 format for DXVA.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3316>
+
+2022-11-01 09:47:38 +0800 Tong Wu <tong1.wu@intel.com>
+
+ * sys/msdk/gstmsdkcontext.c:
+ msdkcontext: use gst_object_unref instead of g_object_unref
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3301>
+
+2022-10-31 16:59:18 +0800 Tong Wu <tong1.wu@intel.com>
+
+ * sys/msdk/gstmsdkcontext.c:
+ msdkcontext: use gst_object_ref for GstVaDisplay
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3301>
+
+2022-10-31 16:56:32 +0800 Tong Wu <tong1.wu@intel.com>
+
+ * sys/msdk/gstmsdkcontext.c:
+ msdkcontext: g_object_new() must not return nullptr
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3301>
+
+2022-10-31 16:52:23 +0800 Tong Wu <tong1.wu@intel.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ msdkenc: use GST_CAPS_FEATURE_MEMORY_VA to check the feature
+ Add macros to protect sinkpad_is_va(), since it is not defined on
+ Windows.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3301>
+
+2022-11-01 12:03:24 +0100 Guillaume Desmottes <guillaume.desmottes@onestream.live>
+
+ * ext/wpe/gstwpevideosrc.cpp:
+ wpe: fix wpevideosrc gst-play example
+ wpe:// no longer works since 1.20, see wpesrc examples.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3306>
+
+2022-10-27 10:03:34 -0400 Eric Knapp <emkman99@gmail.com>
+
+ * sys/va/gstvah264enc.c:
+ vah264enc: Added option to insert CEA-708 closed captions
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2910>
+
+2022-11-01 22:19:18 +0900 Seungha Yang <seungha@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * sys/qsv/gstqsvav1enc.cpp:
+ * sys/qsv/gstqsvh264dec.cpp:
+ * sys/qsv/gstqsvh264enc.cpp:
+ * sys/qsv/gstqsvh265dec.cpp:
+ * sys/qsv/gstqsvh265enc.cpp:
+ * sys/qsv/gstqsvjpegenc.cpp:
+ * sys/qsv/gstqsvutils.h:
+ * sys/qsv/gstqsvvp9dec.cpp:
+ * sys/qsv/gstqsvvp9enc.cpp:
+ qsv: Check 16K resolution support
+ ... and remove duplicated code
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3310>
+
+2021-05-14 10:24:05 +0200 Marijn Suijten <marijns95@gmail.com>
+
+ * gst-libs/gst/vulkan/gstvkimageview.c:
+ * gst-libs/gst/vulkan/gstvkimageview.h:
+ vulkan: Mark gst_vulkan_image_view_new create_info as constant pointer
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1615>
+
+2021-01-05 22:33:12 +0100 Marijn Suijten <marijns95@gmail.com>
+
+ * gst-libs/gst/vulkan/gstvkcommandpool.c:
+ * gst-libs/gst/vulkan/gstvkdescriptorpool.c:
+ * gst-libs/gst/vulkan/gstvkdevice.c:
+ * gst-libs/gst/vulkan/gstvkphysicaldevice.c:
+ * gst-libs/gst/vulkan/gstvkqueue.c:
+ vulkan: Remove unnecessary null checks
+ These null checkes are slightly misleading when double-checking
+ mutability for external language interop. None of the functions in
+ these files allow the variable at hand to become `NULL` under normal
+ operation, because they are checked at initialization and never (allowed
+ to be) reassigned to `NULL`.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1615>
+
+2021-01-04 01:07:04 +0100 Marijn Suijten <marijns95@gmail.com>
+
+ * gst-libs/gst/vulkan/gstvkdisplay.c:
+ * gst-libs/gst/vulkan/gstvkfence.c:
+ * gst-libs/gst/vulkan/gstvkimagememory.c:
+ * gst-libs/gst/vulkan/gstvkqueue.c:
+ vulkan: Add missing `(nullable)` annotation to `Returns`
+ Most of these functions already state they might return `%NULL`, but
+ this is not picked up by G-IR.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1615>
+
+2021-01-04 00:40:24 +0100 Marijn Suijten <marijns95@gmail.com>
+
+ * gst-libs/gst/vulkan/gstvkdescriptorcache.c:
+ * gst-libs/gst/vulkan/gstvkdescriptorpool.c:
+ * gst-libs/gst/vulkan/gstvkdescriptorset.c:
+ * gst-libs/gst/vulkan/gstvkinstance.c:
+ * gst-libs/gst/vulkan/gstvkwindow.c:
+ vulkan: Add missing `array length` and `(out)` annotation to parameters
+ Add `array length` annotation for `layouts` such that `n_layouts` is
+ properly marked as its length, and add `(out)` where a function returns
+ in that parameter.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1615>
+
+2022-11-01 02:00:33 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11decoder.cpp:
+ d3d11decoder: Fix for VP9 decoding with odd resolution
+ Fixing off by one mismatch when width and/or height of stream
+ is odd number
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3302>
+
+2022-10-28 03:25:38 +0900 Seungha Yang <seungha@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * sys/qsv/gstqsvallocator.cpp:
+ * sys/qsv/gstqsvallocator.h:
+ * sys/qsv/gstqsvallocator_d3d11.cpp:
+ * sys/qsv/gstqsvdecoder.cpp:
+ * sys/qsv/gstqsvvp9dec.cpp:
+ * sys/qsv/gstqsvvp9dec.h:
+ * sys/qsv/meson.build:
+ * sys/qsv/plugin.cpp:
+ qsv: Add VP9 decoder
+ Recent Intel GPU supports 12bits VP9 decoding but only VP9
+ profile2 with 10bits is defined by DXVA spec.
+ Thus, we need this vendor specific decoder element
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3290>
+
+2022-10-30 19:01:54 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11vp9dec.cpp:
+ d3d11vp9dec: Disallow Profile2 12bits stream
+ Since DXVA does not support the format, specify bit-depth field
+ to sinkpad template caps so that d3d11vp9dec can be skipped
+ during autoplugging
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3297>
+
+2022-10-30 18:37:55 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/videoparsers/gstvp9parse.c:
+ vp9parse: Set subsampling to src caps even if GBR stream
+ Some muxer elements will need the subsampling information
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3297>
+
+2022-10-30 18:35:08 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/videoparsers/gstvp9parse.c:
+ vp9parse: Delaying src caps until frame is parsed if profile > 0
+ subsampling and/or bitdepth information will be required for
+ negotiation
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3297>
+
+2022-10-29 16:17:53 +0530 Sanchayan Maity <sanchayan@asymptotic.io>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/fdkaac/gstfdkaacenc.c:
+ fdkaacenc: Update documentation to clarify bitrate and peak-bitrate
+ bitrate property is only applicable for constant bitrate and
+ peak-bitrate is only applicable for variable bitrate. Clarify
+ the same.
+
+2022-10-29 12:19:58 +0530 Sanchayan Maity <sanchayan@asymptotic.io>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/fdkaac/gstfdkaacenc.c:
+ * ext/fdkaac/gstfdkaacenc.h:
+ fdkaacenc: Add support for setting bitrate mode
+
+2021-01-31 22:00:36 +0530 Sanchayan Maity <sanchayan@asymptotic.io>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/fdkaac/gstfdkaacenc.c:
+ * ext/fdkaac/gstfdkaacenc.h:
+ fdkaacenc: Add support for setting peak bitrate
+
+2021-01-23 18:35:12 +0530 Sanchayan Maity <sanchayan@asymptotic.io>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/fdkaac/gstfdkaacenc.c:
+ * ext/fdkaac/gstfdkaacenc.h:
+ fdkaacenc: Add support for enabling afterburner
+ This is an additional quality parameter. In the default configuration this
+ quality switch is deactivated because it would cause a workload increase
+ which might be significant. If workload is not an issue in the application
+ it can be recommended to activate this feature.
+
+2020-11-26 19:23:11 +0530 Sanchayan Maity <sanchayan@asymptotic.io>
+
+ * ext/fdkaac/gstfdkaacdec.c:
+ fdkaacdec: Do not report decoding error for flush request
+ A flush request is done when set_format is called to empty internal bit
+ buffer maintained by fdk-aac. When this happens, during the explicit
+ call to handle_buffer, decodeFrame does not return a AAC_DEC_OK. This
+ gets reported as a decoding error while no decoding error in fact took
+ place. Since this can be confusing, just return a GST_FLOW_OK and log
+ that an explicit flush was requested.
+
+2022-10-25 13:22:30 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/codecparsers/gstvp9parser.c:
+ vp9parser: initialize subsampling to -1
+ The default value of 0 is a valid subsampling value and could be
+ confused with an 'unset' value.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3260>
+
+2022-10-27 14:20:37 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvaencoder.c:
+ vaencoder: Reset attribute index to one.
+ Further fix to 4ffb3663 where I forgot to reset the attribute index.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3285>
+
+2022-10-03 15:20:24 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * ext/dash/gstdashdemux.c:
+ * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+ adaptivedemux: Minor typo fix
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3159>
+
+2022-09-20 15:32:52 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * ext/dash/gstmpdclient.c:
+ dash: Fix computing `repeat_index` when seeking in stream with a start !=0 on the first fragment
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3159>
+
+2022-10-27 15:21:30 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/codecparsers/gsth265bitwriter.c:
+ * gst-libs/gst/codecparsers/gsth265bitwriter.h:
+ * tests/check/libs/h265bitwriter.c:
+ h265bitwriter: Correct the all API to byte aligned.
+ In fact, all the h265 bit writer have byte aligned output. So we
+ change the API from bit size in unit to byte size, which is easy
+ to use.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3193>
+
+2022-10-27 13:42:17 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/codecparsers/gsth264bitwriter.c:
+ * gst-libs/gst/codecparsers/gsth264bitwriter.h:
+ * sys/va/gstvah264enc.c:
+ * tests/check/libs/h264bitwriter.c:
+ h264bitwriter: Correct the all API to byte aligned.
+ In fact, all the h264 bit writer have byte aligned output except
+ the slice header. So we change the API from bit size in unit to
+ byte size, which is easy to use. For slice header, we add a extra
+ "trail_bits_num" to return the unaligned bits number.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3193>
+
+2022-10-27 14:40:49 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/codecparsers/gsth264bitwriter.c:
+ * gst-libs/gst/codecparsers/gsth265bitwriter.c:
+ bitwriter: Fix a nal conversion bug when input is not byte aligned.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3193>
+
+2022-10-24 11:56:51 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkvpp.c:
+ msdkvpp: Set va mem caps as higher priority
+ We use va pool as msdkvpp's bufferpool, which means both va memory
+ and dma memory will be allocated by va pool. Considering drm modifier
+ stuff is not ready, we use va memory with higher priortiry than
+ dma memory when deciding vpp caps.
+ Besides, this patch removes the specified "interlace-mode" in vpp caps.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3253>
+
+2022-10-18 03:36:23 +0000 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkav1enc.c:
+ * sys/msdk/gstmsdkav1enc.h:
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/gstmsdkenc.h:
+ msdkav1enc: Remove reorder TU workaround
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3225>
+
+2022-10-18 03:10:43 +0000 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkav1enc.c:
+ * sys/msdk/gstmsdkav1enc.h:
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/gstmsdkenc.h:
+ msdkav1enc: Remove pts workaround
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3225>
+
+2022-10-27 04:15:01 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecparsers/meson.build:
+ codecparsers: {h264,h265}bitwriter: Don't install headers yet
+ Those APIs are quite early stage of development, and we might want to
+ change them in the near future
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3275>
+
+2022-10-18 16:34:41 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkvpp.c:
+ msdkvpp: Fix upper frc
+ Refact vpp commit 4c6b7194451ff6fbfe88834219d982302114d74b broke the
+ upper FRC, here to fix this by using outbuf_new.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3223>
+
+2022-07-29 18:15:08 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * sys/msdk/gstmsdkav1enc.c:
+ bad: Add msdkav1enc docs
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2971>
+
+2022-10-25 08:14:18 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/codecalpha/gstalphacombine.c:
+ alphacombine: Add missing query handler for gaps
+ The gap handling was in place, but there was no event handler to trigger it.
+ Implement the alpha sink event handler for the gaps. This fixes handling of
+ valid streams which may not refresh the alpha frames for every video frames.
+ It will also allow a clean error if the stream was missing the initial
+ alpha frame, at least until we find a better way to handle these
+ invalid frames.
+ Related to #1518
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3264>
+
+2022-10-26 11:47:43 +0200 Ignacio Casal Quinteiro <qignacio@amazon.com>
+
+ * sys/applemedia/avfdeviceprovider.m:
+ avfdeviceprovider: do not leak the properties
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3268>
+
+2022-10-21 10:57:39 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvaencoder.c:
+ vaencoder: Fix caps semantics.
+ When using gst_va_caps_from_profiles() the semantics of sink/src caps
+ depends if the element is an encoder or a decoder.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3063>
+
+2022-10-19 16:44:07 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvadecoder.c:
+ * sys/va/gstvaencoder.c:
+ va: Fix typos.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3063>
+
+2022-08-11 12:51:17 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvaencoder.c:
+ * sys/va/gstvah264enc.c:
+ vah264enc: Fail if unsupported rate control.
+ Handle when encoder doesn't support rate control, which is set as
+ VA_RC_NONE, and if the set rate control mode is not supported by the
+ GStreamer element, the element configuration fails.
+ Also it logs out max and target bitrate.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3063>
+
+2022-09-15 12:56:14 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvah264enc.c:
+ vah264enc: Add todo item.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3063>
+
+2022-10-19 16:08:17 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvaencoder.c:
+ * sys/va/gstvaencoder.h:
+ * sys/va/gstvah264enc.c:
+ vaencoder: Honor entrypoint at constructor.
+ The entrypoint is set when the encoder helper is constructed,
+ nonetheless it was also passed as parameter when opening. That's
+ buggy.
+ In order to simplify the code, the entrypoint at construction is
+ honored.
+ But gst_va_encoder_has_profile_and_entrypoint() now doesn't rely in
+ the internal list of profiles since it only contains those that
+ belongs to codec and entrypoint, thus it queries directly the VA
+ driver.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3063>
+
+2022-08-11 12:50:27 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvabaseenc.c:
+ vabaseenc: Scope error bail out.
+ Though this is not enforced by the GStreamer code style, it's clearer
+ to add a nested scope for error handling using label/goto.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3063>
+
+2022-09-20 15:00:15 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvabaseenc.c:
+ * sys/va/gstvabaseenc.h:
+ * sys/va/gstvah264enc.c:
+ vabaseenc: Use class entrypoint.
+ Add a macro to access to class entrypoint and use it instead of move
+ it to a variable.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3063>
+
+2022-10-26 02:55:34 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11-private.h:
+ * gst-libs/gst/d3d11/gstd3d11format.h:
+ d3d11: Move format defines to private header
+ Those defines will be likely changed/deleted in the future, and we
+ don't need to expose them to public at the moment
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3265>
+
+2022-10-25 09:39:07 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/transcoder/gsttranscoder.c:
+ * gst-libs/gst/va/gstvaallocator.c:
+ * gst-libs/gst/vulkan/gstvkerror.c:
+ Fix various warnings from gobject-introspection
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3261>
+
+2022-10-22 11:13:10 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * tests/check/elements/fdkaac.c:
+ * tests/check/meson.build:
+ fdkaac: add minimal unit test
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1785>
+
+2022-10-22 11:10:24 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ext/fdkaac/gstfdkaacenc.c:
+ fdkaacenc: fix output caps in case of implicit signaling and HE-AAC
+ Need to put the actual profile in the output caps otherwise any
+ capsfilter after the encoder that was used to force the output
+ profile will fail, such as
+ fdkaacenc ! audio/mpeg,stream-format=adts,profile=he-aac-v1 ! ..
+ because we put profile=lc in there to match the profile signaled
+ in the ADTS header. This is expressed through the base-profile=lc
+ in the GStreamer caps though, the profile needs to carry the
+ 'real' profile.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1785>
+
+2022-10-21 17:10:57 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ext/fdkaac/gstfdkaacenc.c:
+ fdkaacenc: don't set base-profile=lc for non-backwards compatible output
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1785>
+
+2022-10-21 13:15:29 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/fdkaac/gstfdkaacenc.c:
+ fdkaacenc: rename profile=sbr|ps to profile=he-aac-v1|he-aac-v2
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1785>
+
+2022-03-01 14:12:27 +0100 Piotrek Brzeziński <piotr@centricular.com>
+
+ * ext/fdkaac/gstfdkaacenc.c:
+ fdkaacenc: add support for AAC-LD
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1785>
+
+2022-02-23 17:17:25 +0100 Piotrek Brzeziński <piotr@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/fdkaac/gstfdkaacenc.c:
+ fdkaacenc: add support for HE-AACv1 and HE-AACv2
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1785>
+
+2022-10-22 04:28:03 +0900 Seungha Yang <seungha@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ gst-plugins-bad: Update Windows plugins cache
+ Add/update d3d11, qsv, nvcodec, wic, directshow, and amfcodec plugins cache
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3250>
+
+2022-10-22 03:02:56 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstcudamemorycopy.c:
+ * sys/nvcodec/gstnvencoder.cpp:
+ * sys/nvcodec/gstnvh264encoder.cpp:
+ * sys/nvcodec/gstnvh265encoder.cpp:
+ nvcodec: Update for documentation
+ * Use GST_PARAM_DOC_SHOW_DEFAULT flags for GPU ID related
+ properties
+ * Fix some typos
+ * Add since markers
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3250>
+
+2022-10-22 02:59:13 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfaudiodecoder.cpp:
+ * sys/mediafoundation/gstmfaudioencoder.cpp:
+ * sys/mediafoundation/gstmfh264enc.cpp:
+ * sys/mediafoundation/gstmfh265enc.cpp:
+ * sys/mediafoundation/gstmfvideoencoder.cpp:
+ * sys/mediafoundation/gstmfvp9enc.cpp:
+ mediafoundation: Update for documentation
+ * Use GST_PARAM_DOC_SHOW_DEFAULT flags for GPU ID related
+ properties
+ * Add doc caps
+ * Add since markers
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3250>
+
+2022-10-22 04:09:39 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfvideoencoder.cpp:
+ mfvideoencoder: Document only hardware encoders
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3250>
+
+2022-10-22 22:37:33 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfvideoencoder.cpp:
+ mfvideoencoder: Fix device enumeration
+ Although a GPU does not support the codec, the other GPU might
+ be able to support the codec
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3250>
+
+2022-10-22 02:56:23 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/amfcodec/gstamfh264enc.cpp:
+ * sys/amfcodec/gstamfh265enc.cpp:
+ amfcodec: Update for documentation
+ * Use GST_PARAM_DOC_SHOW_DEFAULT flags for GPU ID related
+ properties
+ * Add doc caps
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3250>
+
+2022-10-22 02:53:16 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvdecoder.cpp:
+ * sys/qsv/gstqsvencoder.cpp:
+ qsv: Use GST_PARAM_DOC_SHOW_DEFAULT flag
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3250>
+
+2022-10-22 02:49:00 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11compositor.cpp:
+ * sys/d3d11/gstd3d11decoder.cpp:
+ * sys/d3d11/gstd3d11deinterlace.cpp:
+ * sys/d3d11/gstd3d11screencapturesrc.cpp:
+ * sys/d3d11/gstd3d11testsrc.cpp:
+ * sys/d3d11/gstd3d11videosink.cpp:
+ d3d11: Update for documentation
+ * Use GST_PARAM_DOC_SHOW_DEFAULT flags for GPU ID related
+ properties
+ * Add doc caps
+ * Increase deinterlace max resolution
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3250>
+
+2022-10-22 02:48:23 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11screencapturesrc.cpp:
+ * sys/d3d11/gstd3d11winrtcapture.cpp:
+ d3d11: Run indent
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3250>
+
+2022-10-22 22:33:01 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/wic/plugin.cpp:
+ wic: Add since marker
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3250>
+
+2022-10-22 03:12:19 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/directshow/plugin.cpp:
+ directshow: Add since marker
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3250>
+
+2022-10-21 23:20:47 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_config.cpp:
+ * sys/qsv/libmfx/meson.build:
+ * sys/qsv/meson.build:
+ qsv: Enable MinGW toolchain support
+ Use PCRE regex method to work around (likely) GCC std::regex bug,
+ and enable building for non-MSVC
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3239>
+
+2022-10-21 21:50:01 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst-libs/gst/vulkan/cocoa/gstvkcocoa_utils.h:
+ * gst-libs/gst/vulkan/cocoa/gstvkwindow_cocoa.m:
+ * gst-libs/gst/vulkan/ios/gstvkios_utils.h:
+ * gst-libs/gst/vulkan/ios/gstvkwindow_ios.m:
+ gl/vulkan: Fix static linking on macOS
+ duplicate symbol '__invoke_on_main' in:
+ /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstvulkan-1.0.a(cocoa_gstvkwindow_cocoa.m.o)
+ /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstgl-1.0.a(cocoa_gstglwindow_cocoa.m.o)
+ ld: 1 duplicate symbol for architecture x86_64
+ clang: error: linker command failed with exit code 1 (use -v to see invocation)
+ Also make the same change in iOS for consistency.
+ Continuation of https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1132
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3242>
+
+2022-10-18 17:05:41 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: configure rtpulpfecdec passthrough property
+ This allows downstream (payloaders mostly) to be able to correctly
+ detect actual packet loss from rtp sequence numbers.
+ See
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/581
+ for background.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1407
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3212>
+
+2022-10-07 04:20:29 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11screencapture.cpp:
+ * sys/d3d11/gstd3d11screencapture.h:
+ * sys/d3d11/gstd3d11screencapturesrc.cpp:
+ * sys/d3d11/gstd3d11winrtcapture.cpp:
+ * sys/d3d11/gstd3d11winrtcapture.h:
+ * sys/d3d11/meson.build:
+ d3d11screencapture: Add WinRT API based capture mode
+ Add Windows Graphics Capture (WGC) API based screen capture mode.
+ The conditions where this mode is used:
+ * Explicitly requested by user (capture-api property)
+ * To capture specific window
+ * When DXGI desktop duplication API does not work on hybrid graphics systems
+ (e.g., multi-gpu laptop)
+ Full features of this implementation require Windows 11. And Windows 11
+ SDK is required to build this feature.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3144>
+
+2022-10-06 23:54:14 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11dxgicapture.cpp:
+ * sys/d3d11/gstd3d11dxgicapture.h:
+ * sys/d3d11/gstd3d11screencapture.cpp:
+ * sys/d3d11/gstd3d11screencapture.h:
+ * sys/d3d11/gstd3d11screencapturesrc.cpp:
+ * sys/d3d11/meson.build:
+ d3d11screencapture: Subclassing capture implementation
+ Preparation to use WinRT capture API
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3144>
+
+2022-10-21 19:08:49 +0900 Seungha Yang <seungha@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * sys/qsv/gstqsvav1enc.cpp:
+ * sys/qsv/gstqsvdecoder.cpp:
+ * sys/qsv/gstqsvencoder.cpp:
+ * sys/qsv/gstqsvh264dec.cpp:
+ * sys/qsv/gstqsvh264enc.cpp:
+ * sys/qsv/gstqsvh265dec.cpp:
+ * sys/qsv/gstqsvh265enc.cpp:
+ * sys/qsv/gstqsvjpegenc.cpp:
+ * sys/qsv/gstqsvvp9enc.cpp:
+ * sys/qsv/plugin.cpp:
+ qsv: Add plugin doc
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2738>
+
+2022-07-09 05:38:05 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/libmfx/api/vpl/mfx.h:
+ * sys/qsv/libmfx/api/vpl/mfxcommon.h:
+ * sys/qsv/libmfx/api/vpl/mfxdefs.h:
+ * sys/qsv/libmfx/api/vpl/mfxencodestats.h:
+ * sys/qsv/libmfx/api/vpl/mfxjpeg.h:
+ * sys/qsv/libmfx/api/vpl/mfxstructures.h:
+ * sys/qsv/libmfx/api/vpl/mfxvideo++.h:
+ * sys/qsv/libmfx/api/vpl/mfxvideo.h:
+ * sys/qsv/libmfx/dispatcher/linux/device_ids.h:
+ * sys/qsv/libmfx/dispatcher/linux/mfxloader.cpp:
+ * sys/qsv/libmfx/dispatcher/linux/mfxloader.h:
+ * sys/qsv/libmfx/dispatcher/linux/mfxvideo_functions.h:
+ * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl.cpp:
+ * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl.h:
+ * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_config.cpp:
+ * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_loader.cpp:
+ * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_lowlatency.cpp:
+ * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_msdk.cpp:
+ * sys/qsv/libmfx/dispatcher/windows/main.cpp:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_critical_section.cpp:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_critical_section.h:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_dispatcher.cpp:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_dispatcher.h:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_dispatcher_defs.h:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_dispatcher_log.cpp:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_dispatcher_log.h:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_driver_store_loader.cpp:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_driver_store_loader.h:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_dxva2_device.cpp:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_dxva2_device.h:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_exposed_functions_list.h:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_function_table.cpp:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_library_iterator.cpp:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_library_iterator.h:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_load_dll.cpp:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_load_dll.h:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_vector.h:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_win_reg_key.cpp:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_win_reg_key.h:
+ * sys/qsv/libmfx/dispatcher/windows/mfxvideo++.h:
+ * sys/qsv/libmfx/dispatcher/windows/version.rc.in:
+ * sys/qsv/libmfx/meson.build:
+ qsv: Update SDK version to v2022.2.4
+ See release note
+ https://github.com/oneapi-src/oneVPL/releases/tag/v2022.2.0
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2738>
+
+2022-10-14 16:05:28 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst/videoparsers/gstav1parse.c:
+ av1parse: Correct the pts for frames and OBUs inside a TU.
+ When the output alignment is smaller than the input alignment, for
+ example, When the output alignment is "FRAME" and the parse is likely
+ connecting to a decoder, the current PTS setting for AV1 frames inside
+ a TU is not very correct.
+ For example, a TU may begin with non-displayed frames and end with a
+ displayed frame. The current way will assign the PTS to the first
+ non-displayed frame, which is a decode-only frame and the PTS will be
+ discarded in the video decoder. While the last displayed frame has
+ invalid PTS, and so the video decoder needs to guess its PTS based on
+ the frame rate and previous frame's PTS. This is not a decent and
+ robust way. And more important, when the previous frames provide DTS,
+ the video decoder will also guess the PTS based on the previous frames'
+ DTS and trigger the warning like:
+ gstvideodecoder.c:3147:gst_video_decoder_prepare_finish_frame: \
+ <vavp9dec0> decreasing timestame
+ It sets the reordered_output and makes the decoder in free run mode.
+ We should correct the PTS for a TU, let the non-displayed frames have
+ no PTS while set the correct PTS to the displayed one. Also, when the
+ AV1 stream has multi spatial layers, there are more than one displayed
+ frames inside one TU with the same PTS.
+ Note: If the input alignment is not TU aligned, we can not know the
+ exact PTS of this TU, and so we just clear the PTS of the decode only
+ frame and leave others unchanged.
+ We also correct all the PTS if the output is OBU aligned. All their
+ PTS and DTS are set to the input buffer's PTS.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3182>
+
+2022-10-14 17:25:45 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst/videoparsers/gstav1parse.c:
+ av1parse: Only check the TU bound when the alignment is TU.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3182>
+
+2022-10-14 15:46:16 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst/videoparsers/gstav1parse.c:
+ av1parse: push all data once when input alignment not smaller than output.
+ When the incoming data has big alignment than the output, we do not need to
+ call finish_frame() and exit the current handle_frame() for each splitted
+ frame. We can push them all at one shot with in one handle_frame(), whcih
+ may improve the performance and can help us to find the edge of TU.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3182>
+
+2022-10-14 15:27:52 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst/videoparsers/gstav1parse.c:
+ av1parse: Set the output buffer flags correctly.
+ The current code forgets to clear some flags and has some typo.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3182>
+
+2022-10-21 10:50:36 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: also add rtcp-fb ccm fir for video mlines by default
+ In addition to the 'nack pli' already added. Both are supported by
+ rtpbin/rtpsession by default already.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3235>
+
+2022-10-19 16:03:55 +0900 Sangchul Lee <sc11.lee@samsung.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: Improve documentation of 'turn-server' property
+ Description about how to set time-limited credentials is added.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3229>
+
+2022-09-23 18:25:41 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst/debugutils/gstfakeaudiosink.c:
+ * gst/debugutils/gstfakesinkutils.c:
+ * gst/debugutils/gstfakesinkutils.h:
+ * gst/debugutils/gstfakevideosink.c:
+ fake{video|audio}sink: don't proxy properties at instance init.
+ Instead proxy properties from the GstBaseSink class at class_init time,
+ and duplicate the rest of the fakesink properties manually.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1442
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3073>
+
+2022-10-18 11:16:20 +0200 Alba Mendez <alba.mendez@dolby.com>
+
+ * gst-libs/gst/webrtc/nice/nice.c:
+ webrtcbin: support adding TURN servers after pipeline start
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1680
+ When a TURN server is added for the first time, propagate
+ the change to all nice streams that already exist. This
+ lets us add servers after the pipeline has been started
+ (and streams have been added).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3217>
+
+2022-10-17 06:48:12 -0500 Fabian Orccon <forccon@fluendo.com>
+
+ * ext/srtp/meson.build:
+ srtp: Fix test skipping when plugin option is disabled
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3200>
+
+2022-10-14 00:17:52 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11videosink.cpp:
+ * tests/examples/d3d11/d3d11videosink-present.cpp:
+ d3d11videosink: Add "emit-present" property
+ Controls the decision for "present" signal use, and
+ allows delayed "present" signal handler install via the property
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3176>
+
+2022-10-17 19:36:13 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/play/gstplay-signal-adapter.c:
+ play: Add/fix various annotations
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>
+
+2022-10-17 11:29:02 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/vulkan/android/gstvkdisplay_android.c:
+ * gst-libs/gst/vulkan/cocoa/gstvkdisplay_cocoa.m:
+ * gst-libs/gst/vulkan/gstvkdevice.c:
+ * gst-libs/gst/vulkan/gstvkdisplay.c:
+ * gst-libs/gst/vulkan/gstvkfence.c:
+ * gst-libs/gst/vulkan/gstvkformat.c:
+ * gst-libs/gst/vulkan/gstvkinstance.c:
+ * gst-libs/gst/vulkan/gstvkqueue.c:
+ * gst-libs/gst/vulkan/gstvkutils.c:
+ * gst-libs/gst/vulkan/ios/gstvkdisplay_ios.m:
+ * gst-libs/gst/vulkan/wayland/gstvkdisplay_wayland.c:
+ * gst-libs/gst/vulkan/xcb/gstvkdisplay_xcb.c:
+ vulkan: Add/fix various annotations
+ And fix a memory leak in gst_vulkan_display_wayland_new() in error
+ cases.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>
+
+2022-10-17 10:54:06 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11converter.cpp:
+ * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+ d3d11: Add/fix various annotations
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>
+
+2022-10-17 10:51:42 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/cuda/gstcudacontext.c:
+ * gst-libs/gst/cuda/gstcudautils.c:
+ cuda: Add/fix various annotations
+ And fix a memory leak when creating a CUDA context fails.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>
+
+2022-10-17 10:47:02 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/codecs/gsth264decoder.c:
+ * gst-libs/gst/codecs/gsth264picture.c:
+ * gst-libs/gst/codecs/gsth265decoder.c:
+ * gst-libs/gst/codecs/gsth265picture.c:
+ * gst-libs/gst/codecs/gstvp9decoder.h:
+ codecs: Add/fix various annotations
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>
+
+2022-10-17 10:44:24 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/audio/gstnonstreamaudiodecoder.c:
+ badaudio: Add/fix annotations
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>
+
+2022-10-14 21:51:17 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/webrtc/ice.c:
+ * gst-libs/gst/webrtc/ice.h:
+ * gst-libs/gst/webrtc/icetransport.c:
+ * gst-libs/gst/webrtc/icetransport.h:
+ * gst-libs/gst/webrtc/nice/nice.c:
+ webrtc: Add/fix various annotations
+ And mark string parameters as const.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>
+
+2022-10-17 00:40:46 +0900 Seungha Yang <seungha@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * sys/wasapi2/gstwasapi2client.cpp:
+ * sys/wasapi2/gstwasapi2client.h:
+ * sys/wasapi2/gstwasapi2device.c:
+ * sys/wasapi2/gstwasapi2ringbuffer.cpp:
+ * sys/wasapi2/gstwasapi2ringbuffer.h:
+ * sys/wasapi2/gstwasapi2sink.c:
+ * sys/wasapi2/gstwasapi2src.c:
+ * sys/wasapi2/gstwasapi2util.c:
+ * sys/wasapi2/gstwasapi2util.h:
+ wasapi2: Add support for process loopback capture
+ Adding loopback capture mode for specified PID.
+ Note that this feature requires Windows 10 build 20348
+ (Windows 11/Windows Server 2022 or later),
+ and any process loopback related properties will not be exposed
+ if OS does not support it.
+ Example launch lines:
+ * wasapi2src loopback-mode=include-process-tree loopback-target-pid=<PID>
+ Captures audio generated by an application (specified by PID)
+ and its child process
+ * wasapi2src loopback-mode=exclude-process-tree loopback-target-pid=<PID>
+ Captures desktop audio excluding PID and its child process
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1278
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3195>
+
+2022-10-14 16:21:07 -0400 Arun Raghavan <arun@asymptotic.io>
+
+ * gst/rtmp2/gstrtmp2sink.c:
+ rtmp2sink: Correctly return GST_FLOW_ERROR on error
+ If there is an error while connecting, the streaming task will be stopped, and
+ is_running() will be false, causing a GST_FLOW_FLUSHING to be returned. Instead,
+ we perform the error check (!self->connection) first, to return an error if
+ that's what occured.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3189>
+
+2022-10-14 18:51:43 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst-libs/gst/webrtc/nice/nice.c:
+ webrtc/nice: fix small leak of split strings
+ g_strfreev previously stopped at our manual NULL-termination. Fix by
+ restoring the pointer after joining.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3188>
+
+2022-10-12 16:11:47 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst/videoparsers/gstvp9parse.c:
+ vp9parse: The show_existing_frame buffer should not be decode only.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3155>
+
+2022-10-11 16:17:26 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst/videoparsers/gstvp9parse.c:
+ vp9parse: Correct the pts for frames inside a super frame.
+ When the alignment is "FRAME" and the parse is likely connecting to
+ a decoder, the current PTS setting for VP9 frames inside a super
+ frame is not very correct.
+ For example, the super frame may begin with non-displayed frames and
+ end with a displayed frame. The current way will assign the PTS to
+ the first non-displayed frame, which is a decode-only frame and the
+ PTS will be discarded in the video decoder. While the last displayed
+ frame has invalid PTS, and so the video decoder needs to guess its
+ PTS based on the frame rate and previous frame's PTS. This is not a
+ decent and robust way. And more important, when the previous frames
+ provide DTS, the video decoder will also guess the PTS based on the
+ previous frames' DTS and trigger the warning like:
+ gstvideodecoder.c:3147:gst_video_decoder_prepare_finish_frame: \
+ <vavp9dec0> decreasing timestame
+ It sets the reordered_output and makes the decoder in free run mode.
+ We should correct the PTS for a super frame, let the non-displayed
+ frames have no PTS while set the correct PTS to the displayed one.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3155>
+
+2022-10-08 00:29:03 +0200 Piotr Brzeziński <piotr@centricular.com>
+
+ * sys/applemedia/avfvideosrc.m:
+ avfvideosrc: Allow specifying crop coordinates during screen capture
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3153>
+
+2022-10-12 11:12:50 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/mxf/gstmxfelement.c:
+ * gst/mxf/meson.build:
+ * gst/mxf/mxfcustom.c:
+ * gst/mxf/mxfcustom.h:
+ mxfdemux: Add support for Canon XF-HEVC
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1495
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3163>
+
+2022-10-12 11:12:14 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/mxf/mxfdemux.c:
+ mxfdemux: Don't leak index table segments on failures
+ The segment was freed ... but not the contents :)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3163>
+
+2022-10-11 13:09:20 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/webrtc/webrtc_fwd.h:
+ webrtc: Move GST_WEBRTC_ERROR_TYPE_ERROR at the end of the enum to keep ABI compatibility
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3154>
+
+2022-10-06 20:37:45 +0900 Sangchul Lee <sc11.lee@samsung.com>
+
+ * tests/check/elements/webrtcbin.c:
+ tests/webrtc: Add test for 'add-turn-server' action signal
+ It just checks return value of the action signal.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3131>
+
+2020-12-10 16:25:26 +0100 Johan Sternerup <johast@axis.com>
+
+ * ext/sctp/gstsctpenc.c:
+ sctpenc: Prohibit sending of interleaved message parts
+ Apparently we cannot start sending messages from another datachannel
+ before the previous message was completely sent. usrsctplib will
+ complain about being locked on another stream id and set
+ errno=EINVAL.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2454>
+
+2022-10-07 08:30:05 +0200 Wojciech Kapsa <wojciech.kapsa@medvc.eu>
+
+ * sys/decklink/gstdecklinkvideosrc.cpp:
+ * sys/decklink/gstdecklinkvideosrc.h:
+ decklink: reset calculation of gst_decklink_video_src_update_time_mapping on no_signal. When the HDMI cable was disconnected for a long time, the calculation took too much time. SDI cable works fine.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3132>
+
+2022-10-07 07:56:21 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * ext/dash/meson.build:
+ Meson: Fix libxml2 fallback
+ The variable xml2lib_dep does not exist. The correct name is already in
+ the wrap file.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3136>
+
+2022-09-22 22:39:31 +0900 Sangchul Lee <sc11.lee@samsung.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: Fix pointer dereference before null check
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3129>
+
+2022-09-26 13:57:15 +0200 Wojciech Kapsa <wojciech.kapsa@medvc.eu>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * sys/decklink/gstdecklink.cpp:
+ * sys/decklink/gstdecklink.h:
+ * sys/decklink/gstdecklinkaudiosink.cpp:
+ * sys/decklink/gstdecklinkaudiosink.h:
+ * sys/decklink/gstdecklinkaudiosrc.cpp:
+ * sys/decklink/gstdecklinkaudiosrc.h:
+ * sys/decklink/gstdecklinkdeviceprovider.cpp:
+ * sys/decklink/gstdecklinkvideosink.cpp:
+ * sys/decklink/gstdecklinkvideosink.h:
+ * sys/decklink/gstdecklinkvideosrc.cpp:
+ * sys/decklink/gstdecklinkvideosrc.h:
+ decklink: Add new persistent-id property and sort devices by persistent ID
+ The order of the devices iterator from the SDK is undefined and can
+ randomly change.
+ Keep the device-number property for backwards compatibility and
+ simplicity but prefer the persistent-id property and also use it for the
+ device provider implementation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3078>
+
+2022-10-04 19:19:57 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst/transcode/gsttranscodebin.c:
+ * gst/transcode/gsttranscodeelement.c:
+ transcodebin: Implement support for upstream stream selection
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3128>
+
+2022-10-05 05:38:54 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11device.cpp:
+ d3d11: Fix debug build on UWP
+ GstDXGIGetDebugInterface() is unused when targeting UWP. We directly
+ call DXGIGetDebugInterface1() in that case.
+ Fixes build failure:
+ ../gst-libs/gst/d3d11/gstd3d11device.cpp(271): error C2440: '=': cannot convert from 'HRESULT (__cdecl *)(UINT,const IID &,void **)' to 'DXGIGetDebugInterface_t'
+ ../gst-libs/gst/d3d11/gstd3d11device.cpp(271): note: This conversion requires a reinterpret_cast, a C-style cast or function-style cast
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3118>
+
+2022-10-05 15:59:03 +0900 Sangchul Lee <sc11.lee@samsung.com>
+
+ * gst-libs/gst/webrtc/nice/nice.c:
+ webrtc/nice: Make sure to return NULL when validating turn server fails
+ It affects 'add-turn-server' signal action and 'turn-server' property
+ of webrtcbin.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3120>
+
+2022-03-21 10:29:21 +0100 Johan Sternerup <johan.sternerup@axis.com>
+
+ * ext/webrtc/webrtcdatachannel.c:
+ * gst-libs/gst/webrtc/datachannel.c:
+ * gst-libs/gst/webrtc/datachannel.h:
+ * gst-libs/gst/webrtc/webrtc-priv.h:
+ * gst-libs/gst/webrtc/webrtc_fwd.h:
+ * tests/check/elements/webrtcbin.c:
+ webrtc: return error when sending on non-open datachannel
+ According to W3C
+ specification (https://w3c.github.io/webrtc-pc/#datachannel-send) we
+ should return InvalidStateError exception when trying to send when the
+ channel is not open. In the world of C/glib/gstreamer we don't have
+ exceptions but have to rely on gboolean/GError instead. Introducing
+ these calls for a change in function signature of the action signals
+ used to send data on the datachannel. Changing the signature of the
+ existing "send-string" and "send-data" signals would mean an immediate
+ breaking change so instead we deprecate them. Furthermore, there is no
+ way to express GError** as an argument to an action signal in a way
+ that fits language bindings (pointer-to-pointer simply does not work)
+ and we have to use regular functions instead.
+ Therefore we introduce gst_webrtc_data_channel_send_data_full() and
+ gst_webrtc_data_channel_send_string_full() while deprecating the old
+ functions and corresponding signals.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1958>
+
+2022-09-23 17:18:35 +0200 Stéphane Cerveau <scerveau@igalia.com>
+
+ * gst-libs/gst/codecparsers/gsth265bitwriter.c:
+ * gst-libs/gst/codecparsers/gsth265parser.c:
+ * gst-libs/gst/codecparsers/gsth265parser.h:
+ * sys/nvcodec/gstnvh265dec.c:
+ * sys/va/gstvah265dec.c:
+ * tests/check/libs/h265bitwriter.c:
+ h265parse: fix typo in member of GstH265SPS
+ Rename sps_extnsion_params to sps_extension_params
+ Fix comment about vui_parameters_present_flag
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3072>
+
+2022-10-04 03:57:31 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ Back to development
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3115>
+
+=== release 1.21.1 ===
+
+2022-10-04 01:14:01 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ChangeLog:
+ * NEWS:
+ * RELEASE:
+ * gst-plugins-bad.doap:
+ * meson.build:
+ Release 1.21.1
+
+2022-10-04 01:13:59 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ChangeLog:
+ Update ChangeLogs for 1.21.1
+
+2022-09-29 14:34:31 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/gaudieffects/gstgaussblur.c:
+ gaussblur: Fix memory leak when setting caps multiple times
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3091>
+
+2022-09-27 18:17:24 +0100 Christopher Obbard <chris.obbard@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codecdevice.c:
+ v4l2codecs: Warn user when no media devices are found
+ Currently if the user is not able to access the devices under /dev/media*,
+ either due to no media devices present on the system or simply no permission
+ to access the device, v4l2codecs initialises with no features or debug messages.
+ Since calling `GST_DEBUG="v4l2*:7" gst-inspect-1.0 v4l2codecs` is a typical way
+ to diagnose why element(s) failed to enumerate, we should be more verbose here
+ when the user is not able to access any /dev/media* device. So print a simple
+ debug message in this case to aid debugging.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3088>
+
+2022-09-20 23:31:45 +0300 Mart Raudsepp <mart@leio.tech>
+
+ * gst/mpegtsdemux/mpegtsbase.c:
+ tsdemux: Don't trigger a program change when falling back to ignore-pcr behaviour
+ Since commit a79a756b79aa1675e we could change to ignore-pcr automatically at 500ms
+ into a live stream when no PCR is seen by then. However the stream counting in
+ program change detection was wrongly considering ignore-pcr programs to have a
+ separate PCR PID, even though we are actually ignoring the PCR PID completely,
+ resulting in an erroneous program switch getting triggered from the different
+ stream count. This in turn would send an EOS and switch out the pads for what
+ actually is still the same program, while we intended to simply apply a
+ workaround for broken encoders.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3060>
+
+2022-09-27 19:46:28 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * meson.build:
+ meson: Remove builtin variable datadir from pkgconfig variables
+ Fixes warning with meson 0.62:
+ gst-plugins-bad| subprojects/gst-plugins-bad/meson.build:546: WARNING:
+ Project targets '>= 0.62' but uses feature deprecated since '0.62.0':
+ pkgconfig.generate variable for builtin directories. They will be
+ automatically included when referenced
+ and more.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3086>
+
+2022-09-22 09:14:57 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * tests/interactive/pitch-test.c:
+ bad/soundtouch: Fix interactive test build on MSVC
+ Needed for https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/930
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3064>
+
+2022-09-21 19:19:45 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * meson.build:
+ meson: Use implicit builtin dirs in pkgconfig generation
+ Starting with Meson 0.62, meson automatically populates the variables
+ list in the pkgconfig file if you reference builtin directories in the
+ pkgconfig file (whether via a custom pkgconfig variable or elsewhere).
+ We need this, because ${prefix}/libexec is a hard-coded value which is
+ incorrect on, for example, Debian.
+ Bump requirement to 0.62, and remove version compares that retained
+ support for older Meson versions.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1245
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3061>
+
+2022-09-20 13:38:26 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvabaseenc.c:
+ vabaseenc: Move out encoder validation from assertion.
+ Assertion can be disabled at compilation time. Still it's important to
+ validate it the encoder object was opened by the subclass. This patch
+ removes the assertion and returns if the encoder is open.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3051>
+
+2022-09-12 09:46:43 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * tools/meson.build:
+ meson: Set install_tag on some targets
+ Trying to follow recommendation from Meson documentation:
+ https://mesonbuild.com/Installing.html#installation-tags
+ Move tools into 'bin' or 'bin-devel' categories to keep only libs and
+ plugins in the default 'runtime' category. This simplifies distribution
+ of GStreamer application skipping parts that are not needed, similarly
+ to what Cerbero does by hardcoding huge list of files.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3017>
+
+2022-09-20 16:21:24 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkav1enc.c:
+ msdkav1enc: We should not set other alignment here
+ According to spec, we have 32bit alignment for height (progressive) and
+ 16bit alignment for width, so here we don't need to add other alignment
+ settings.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3050>
+
+2022-09-17 17:49:47 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvah264enc.c:
+ va: h264enc: Fix rate control enum register failure for the second GPU.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3041>
+
+2022-09-17 10:14:40 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvah264enc.c:
+ vah264enc: Avoid precision lost by just rounding up.
+ The code where dividing by 16 and later multiplying by 16, which is
+ spurious and a potential loose of precision.
+
+2022-09-16 14:17:38 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvah264enc.c:
+ vah264enc: Update AUD property if driver can't handle raw data.
+
+2022-09-16 13:55:11 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvah264enc.c:
+ vah264enc: Remove unused dispose method.
+
+2022-09-16 15:45:11 -0400 Eric Knapp <emkman99@gmail.com>
+
+ * sys/va/gstvadeinterlace.c:
+ vadeinterlace: Fix passthrough latency query
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3038>
+
+2022-09-17 05:01:55 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvh265dec.c:
+ nvh265sldec: Sync up with d3d11h265dec implementation
+ Each RefPicSetStCurrBefore/RefPicSetStCurrAfter/RefPicSetLtCurr array
+ might have empty element (i.e., reference pictures might not be stored
+ sequentially). Don't error out for the empty element case,
+ but instead, iterates each array and fill NVDEC's reference list
+ as much as possible
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1441
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3039>
+
+2022-09-16 12:50:33 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvabaseenc.c:
+ * sys/va/gstvabaseenc.h:
+ * sys/va/gstvah264enc.c:
+ va: baseenc: Fix gobject style for chained method.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3035>
+
+2022-09-13 23:20:54 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/codectimestamper/gsth264timestamper.c:
+ * gst/codectimestamper/gsth265timestamper.c:
+ codectimestamper: Update document
+ Add more description about those elements
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3021>
+
+2022-06-09 22:32:16 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvaav1dec.c:
+ va: av1dec: user internal buffer pool for non output layers.
+ The AV1 support multi spatial layers within one TU with different
+ resolutions, and only the highest spatial layer need to be output.
+ For example, there are two spatial layer, base level is 800x600
+ and higher level is 1920x1080. We need to decode both because the
+ higher level needs base layer as reference, but we only need to output
+ 1920x1080 frames here.
+ The current manner always renegotiates the caps once we detect the
+ current picture resolution changes, so we renegotiate again and
+ again between different layers. That's a big waste and has very
+ low performance. We now only do the renegotiation for the highest
+ output layer. For other non output layers, we just keep a internal
+ buffer pool which is big enough to handle the surface allocation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2382>
+
+2022-05-12 10:12:37 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/codecs/gstav1decoder.c:
+ * gst-libs/gst/codecs/gstav1decoder.h:
+ codecs: av1decoder: Add the highest_spatial_layer field.
+ As SPEC says, when multi spatial layer exists, we should only output
+ one frame with the highest spatial id from each TU. We now store the
+ highest spatial layer information in the base class in order to let
+ the sub class handle different layers easily.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2382>
+
+2022-09-15 00:52:14 +0000 Devin Anderson <danderson@microsoft.com>
+
+ * ext/voamrwbenc/gstvoamrwbenc.c:
+ * tests/check/elements/voamrwbenc.c:
+ * tests/check/meson.build:
+ voamrwbenc: Fix truncation of audio data at end-of-stream when audio data doesn't align on 20 millisecond frame size.
+ The AMR-WB codec imposes a fixed 20 millisecond frame size. In its current
+ form, the `voamrwbenc` plugin deals with this limitation by discarding any
+ audio at the end of the stream that falls short of 20 milliseconds. This patch
+ keeps the audio data, and appends silence to the end to preserve frame size
+ alignment.
+ The patch also adds tests to check for the updated behavior. I noticed that
+ tests weren't being built, so I changed the build to allow for building the
+ tests when the `tests` and `voamrwbenc` options are set.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3027>
+
+2022-09-15 21:56:27 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/codectimestamper/gstcodectimestamper.c:
+ codectimestamper: Fix for unknown framerate
+ Use default framerate if numerator or denominator is unknown
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3031>
+
+2022-08-26 08:43:34 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * sys/qsv/plugin.cpp:
+ Build documentation for rust plugins
+ - Update the docker image we use, starting using the standard one adding
+ `gtk4-doc` as required by rust plugins
+ - Update the plugins_doc_caches as required, some more plugins are built
+ with the new image
+ - Install ninja from pip as the version from F31 is too old
+ - Avoid buildings all GSreamer plugins when building the doc as it takes
+ time and resources for no good reason
+ - Stop linking to `GInstanceInitFunc` as it is not present in latest GLib
+ documentation, leading to warnings in hotdoc.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2954>
+
+2022-08-29 10:17:45 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/meson.build:
+ doc: Do not build plugins to build the doc
+ It is not actually necessary
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2954>
+
+2022-09-15 12:14:56 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * tests/check/meson.build:
+ tests: add a few more orc tests
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3029>
+
+2022-09-14 00:58:37 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvdec.c:
+ nvdec: Fix for HEVC decoding when coded resolution is larger than display resolution
+ As documented in the SDK header, we should set coded width/height
+ values to the corresponding decoder configuration option,
+ instead of display resolution
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1438
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3022>
+
+2022-09-13 04:06:02 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstcudamemorycopy.c:
+ cudaupload,cudadownload: Fix document
+ * Fix typo, NVIDA -> NVIDIA
+ * Add cudadownload doc to the source file
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3018>
+
+2022-09-13 01:02:55 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstcudamemorycopy.c:
+ cudaupload,cudadownload: Use shared GstD3D11Device context if possible
+ Handle d3d11 device context in set_context() method with
+ additional device compatibility check so that only NVIDIA GPU
+ associated d3d11 device can be configured in the element.
+ And clear old d3d11 device per set_info() for d3d11 device to be
+ updated as well.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3018>
+
+2022-09-13 01:02:50 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/cuda/cuda-gst.h:
+ * gst-libs/gst/cuda/gstcudacontext.c:
+ * gst-libs/gst/cuda/gstcudaloader.c:
+ * gst-libs/gst/cuda/gstcudautils.c:
+ * gst-libs/gst/cuda/gstcudautils.h:
+ * gst-libs/gst/cuda/meson.build:
+ * gst-libs/gst/cuda/stub/cuda.h:
+ * gst-libs/gst/cuda/stub/cudaD3D11.h:
+ cuda: Remove GST_CUDA_HAS_D3D define from header
+ ... and fix d3d11 specific enum type name
+ GST_CUDA_HAS_D3D is a build time define which indicates whether
+ GstD3D11 library is available or not, but DirectX SDK headers
+ must be available on the build system already.
+ Expose Direct3D related symbols if the build target is Windows
+ (i.e., if G_OS_WIN32 is defined)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3018>
+
+2021-03-24 14:20:18 -0500 Zebediah Figura <z.figura12@gmail.com>
+
+ * meson.build:
+ meson: Build with -Wl,-z,nodelete to prevent unloading of dynamic libraries and plugins
+ GLib made the unfortunate decision to prevent libgobject from ever being
+ unloaded, which means that now any library which registers a static type
+ can't ever be unloaded either (and any library that depends on those,
+ ad nauseam).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/778>
+
+2022-06-06 10:56:12 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ va: Remove from plugin cache.
+ GstVA is not currently build by CI, because libva version is lower
+ than expected. So, the gstva library is not build, thus some symbols
+ aren't documented, breaking the documentation CI.
+ To move things forward, let's just remove temporarly the va plugins
+ from cache. While we decide on how to update the libva package in
+ the CI.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1025>
+
+2022-06-27 18:56:01 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/va/gstvaallocator.h:
+ va: allocator: Fix parameter name to match signature.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1025>
+
+2022-02-07 17:34:57 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * docs/libs/va/index.md:
+ * docs/libs/va/sitemap.txt:
+ * gst-libs/gst/va/gstva.h:
+ * gst-libs/gst/va/gstvaallocator.c:
+ * gst-libs/gst/va/gstvaallocator.h:
+ * gst-libs/gst/va/gstvadisplay.c:
+ * gst-libs/gst/va/gstvapool.c:
+ * gst-libs/gst/va/gstvasurfacecopy.h:
+ * gst-libs/gst/va/gstvautils.c:
+ * gst-libs/gst/va/gstvavideoformat.c:
+ * gst-libs/gst/va/meson.build:
+ * sys/va/gstjpegdecoder.c:
+ * sys/va/gstjpegdecoder.h:
+ * sys/va/gstvabasetransform.c:
+ * sys/va/gstvacompositor.c:
+ * sys/va/gstvafilter.c:
+ * sys/va/gstvah264enc.c:
+ va: Complete library and plugin documentation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1025>
+
+2022-09-13 14:46:37 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/va/gstva.h:
+ * gst-libs/gst/va/meson.build:
+ * sys/va/gstvabasedec.c:
+ * sys/va/gstvacaps.c:
+ * sys/va/gstvadecoder.c:
+ * sys/va/gstvadisplay_priv.c:
+ * sys/va/gstvaencoder.c:
+ * sys/va/gstvafilter.c:
+ * sys/va/gstvah264enc.c:
+ * sys/va/gstvajpegdec.c:
+ va: Move gstvavideoformat out of library headers.
+ Since it's no needed for API consumers. Though it can be added later.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1025>
+
+2021-10-03 10:17:00 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * docs/meson.build:
+ * gst-libs/gst/va/meson.build:
+ docs: Generate libgstva GI and pkg-config.
+ Currently libgstva is only exposed internally to gst-plugins-bad. No
+ headers are installed, no documentation generated, pkgconfig file,
+ neither gobject-introspection files.
+ This patch turn on all that.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1025>
+
+2022-05-19 00:44:40 +0900 Seungha Yang <seungha@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst/codectimestamper/gstcodectimestamper.c:
+ * gst/codectimestamper/gstcodectimestamper.h:
+ * gst/codectimestamper/gsth264timestamper.c:
+ * gst/codectimestamper/gsth264timestamper.h:
+ * gst/codectimestamper/gsth265timestamper.c:
+ * gst/codectimestamper/gsth265timestamper.h:
+ * gst/codectimestamper/meson.build:
+ * gst/codectimestamper/plugin.c:
+ * gst/meson.build:
+ * meson_options.txt:
+ Add H.264/H.265 timestamp correction element
+ Adding {h264,h265}timestamper element to correct timestamp of
+ encoded frames. This initial version supports only DTS
+ correction based on given PTS and SPS data.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2580>
+
+2022-09-07 11:22:45 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst/debugutils/gsttestsrcbin.c:
+ * tests/validate/meson.build:
+ * tests/validate/testsrcbin/caps_spec.validatetest:
+ * tests/validate/testsrcbin/caps_spec/flow-expectations/log-testsrcbin0-video_src_0-expected:
+ testsrcbin: Add a way to specify caps for the output of the sources
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3007>
+
+2022-09-08 17:29:37 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst/debugutils/gsttestsrcbin.c:
+ testsrcbin: Plug some leaks
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3007>
+
+2020-11-19 18:34:00 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst/debugutils/gsttestsrcbin.c:
+ testsrcbin: Add an 'expose-sources-async' property
+ Which allows simluating usual source which require decoding etc in decodebin for example
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3007>
+
+2022-09-05 18:32:20 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvajpegdec.c:
+ vajpegdec: Enhance explanation comment.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2948>
+
+2022-09-06 14:53:41 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvacaps.c:
+ va: caps: Use G_STMT_START / END
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2948>
+
+2022-09-05 16:59:12 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvajpegdec.c:
+ vajpegdec: Check if driver has internal color conversion.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2948>
+
+2022-09-06 18:49:02 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: fix picking available payload types
+ When picking an available payload type, we need to pick one that is
+ available across all media.
+ The previous code, when multiple media were present, looked at the first one,
+ noticed it had pt 96 as the media pt, then simply looked at the next media,
+ noticed it didn't, and decided 96 was available.
+ Instead, check if the pt is used by any of the media, if it is, decide
+ it is not available and go to the next pt. I'm fairly sure that was the
+ original intent.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2984>
+
+2022-08-03 19:36:11 +0300 Jordan Petridis <jordan@centricular.com>
+
+ * ext/fluidsynth/gstfluiddec.c:
+ fluidsynth: correctly version guard methods
+ We bumped the minimum version to 2.1 but the api we used
+ wasn't introduced till version 2.2 of fluidsynth
+ Follow-up to gstreamer/gstreamer!2718
+ https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2718
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2835>
+
+2022-08-21 03:37:40 +1000 Jan Schmidt <jan@centricular.com>
+
+ * ext/dash/gstdashdemux.c:
+ * ext/dash/gstdashdemux.h:
+ * ext/dash/gstmpdclient.c:
+ * ext/dash/gstmpdclient.h:
+ dashdemux: Preserve current representation on live manifest updates
+ When updating a manifest during live playback, preserve the current
+ representation for each stream.
+ During update_fragment_info, if the current representation changed
+ because it couldn't be matched, trigger a caps change and new
+ header download.
+ This reverts commit e0e1db212fd0df2239583b9099fc4361adeded05
+ and reapplies "dashdemux: Fix issue when manifest update sets slow start
+ without passing necessary header & caps changes downstream" with
+ changes.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/507
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1729
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2920>
+
+2022-09-02 09:55:20 +0000 Florian Zwoch <fzwoch@gmail.com>
+
+ * sys/va/plugin.c:
+ va: Fix log message when registering H264 encoder.
+ The log message would report an error for the H264 decoder when
+ registering failed, but we tried to register the H264 encoder instead.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2974>
+
+2022-07-05 17:14:37 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * tests/check/elements/webrtcbin.c:
+ webrtcbin: Allow locked mlines with no caps, as the last ones
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2439>
+
+2022-05-16 18:05:25 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * tests/check/elements/webrtcbin.c:
+ webrtcbin: Reject creating an offer if a locked mline has no caps
+ This avoids getting in a bunch of corner cases. We'd have to insert
+ a "rejected" line from the start as a place-holder to get around this,
+ but the rest of the code just becomes more complicated, so just
+ disallow it for now.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2439>
+
+2022-05-16 17:17:13 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/webrtctransceiver.c:
+ * ext/webrtc/webrtctransceiver.h:
+ * tests/check/elements/webrtcbin.c:
+ webrtcbin: Store pending mid to make create-offer idempotent
+ If the mid is not stored in the transceiver, but it is stored in
+ last_offer, then a further create-offer call will just ignore that
+ transceiver.
+ Also include unit test for ensure it doesn't regress.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2439>
+
+2022-05-26 18:17:16 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkvpp.c:
+ * sys/msdk/gstmsdkvpp.h:
+ msdkvpp: Add va memory when fixating src caps
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>
+
+2022-06-08 12:31:56 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkvpp.c:
+ * sys/msdk/gstmsdkvpp.h:
+ msdkvpp : Use va pool at linux path and system pool for windows
+ We use msdkvpp's own pool to allocate buffers instead of external frame
+ allocator mfxFrameAllocator.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>
+
+2022-05-09 18:34:38 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkallocator.h:
+ * sys/msdk/gstmsdkallocator_libva.c:
+ * sys/msdk/gstmsdkvpp.c:
+ msdkvpp: Import buffer to msdk_surface
+ If the buffer is not msdk_buffer, we can try to directly import the
+ attached memory (i.e. va mem and dmabuf mem) by applying the common
+ uitl function: import_to_msdk_function ().
+ Here add a flag "from_qdata" in GstMsdkSurface to handle the cropping case,
+ we should avoid updating the crop values when msdk_surface is from the
+ memory's qdata, because the crop info from this surface is the already
+ updated one.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>
+
+2022-05-09 18:19:01 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkvpp.c:
+ msdkvpp: Add va caps at sink and src pad
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>
+
+2022-08-25 17:28:36 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ msdkenc: Apply common util func to import mem as msdk_surface
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>
+
+2022-05-27 17:56:33 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkallocator.c:
+ * sys/msdk/gstmsdkallocator.h:
+ * sys/msdk/gstmsdkallocator_libva.c:
+ * sys/msdk/gstmsdkallocator_libva.h:
+ * sys/msdk/meson.build:
+ * sys/msdk/msdk.h:
+ msdk: Add help functions to get mfxFrameSurface1 from GstBuffer and wrap it as GstMsdkSurface
+ Note that the memory abstraction for system memory is for windows path.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>
+
+2022-05-19 19:18:21 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/msdk.c:
+ * sys/msdk/msdk.h:
+ msdkenc: Use va pool on linux and system pool for windows
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>
+
+2022-05-19 18:57:50 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ msdkenc: Directly import dmabuf memory as mfx surface
+ When input buffer is of dmabuf memory but not a msdk buffer (i.e., the
+ allocator is not msdk_allocator), then we can try to get fd of this mem,
+ create the corresponding va surface and wrap it as mfx surface.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>
+
+2022-04-21 17:27:09 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ msdkenc: Directly import va memory as mfx surface
+ If input buffer is of va memory, we can directly obtain va surface from
+ the buffer and wrap it as mfx surface.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>
+
+2022-03-03 10:07:19 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdk_va.c:
+ * sys/msdk/gstmsdk_va.h:
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/meson.build:
+ msdk: Use va libs API to get VA surface from buffer
+ Direct apply gst_va_buffer_get_surface to get VASurface from a buffer,
+ so remove corresponding functions which are not used.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>
+
+2022-09-01 15:11:31 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * ext/aes/meson.build:
+ * ext/aom/meson.build:
+ * ext/assrender/meson.build:
+ * ext/avtp/meson.build:
+ * ext/bs2b/meson.build:
+ * ext/bz2/meson.build:
+ * ext/chromaprint/meson.build:
+ * ext/closedcaption/meson.build:
+ * ext/colormanagement/meson.build:
+ * ext/curl/meson.build:
+ * ext/dash/meson.build:
+ * ext/dc1394/meson.build:
+ * ext/directfb/meson.build:
+ * ext/dtls/meson.build:
+ * ext/dts/meson.build:
+ * ext/faac/meson.build:
+ * ext/faad/meson.build:
+ * ext/fdkaac/meson.build:
+ * ext/flite/meson.build:
+ * ext/fluidsynth/meson.build:
+ * ext/gme/meson.build:
+ * ext/gs/meson.build:
+ * ext/gsm/meson.build:
+ * ext/gtk/meson.build:
+ * ext/hls/meson.build:
+ * ext/iqa/meson.build:
+ * ext/isac/meson.build:
+ * ext/kate/meson.build:
+ * ext/ladspa/meson.build:
+ * ext/ldac/meson.build:
+ * ext/libde265/meson.build:
+ * ext/lv2/meson.build:
+ * ext/mdns/meson.build:
+ * ext/modplug/meson.build:
+ * ext/mpeg2enc/meson.build:
+ * ext/mplex/meson.build:
+ * ext/musepack/meson.build:
+ * ext/neon/meson.build:
+ * ext/onnx/meson.build:
+ * ext/openal/meson.build:
+ * ext/openaptx/meson.build:
+ * ext/opencv/meson.build:
+ * ext/openexr/meson.build:
+ * ext/openh264/meson.build:
+ * ext/openjpeg/meson.build:
+ * ext/openmpt/meson.build:
+ * ext/openni2/meson.build:
+ * ext/opus/meson.build:
+ * ext/qroverlay/meson.build:
+ * ext/resindvd/meson.build:
+ * ext/rsvg/meson.build:
+ * ext/rtmp/meson.build:
+ * ext/sbc/meson.build:
+ * ext/sctp/meson.build:
+ * ext/smoothstreaming/meson.build:
+ * ext/sndfile/meson.build:
+ * ext/soundtouch/meson.build:
+ * ext/spandsp/meson.build:
+ * ext/srt/meson.build:
+ * ext/srtp/meson.build:
+ * ext/svthevcenc/meson.build:
+ * ext/teletextdec/meson.build:
+ * ext/ttml/meson.build:
+ * ext/voaacenc/meson.build:
+ * ext/voamrwbenc/meson.build:
+ * ext/vulkan/meson.build:
+ * ext/wayland/meson.build:
+ * ext/webp/meson.build:
+ * ext/webrtc/meson.build:
+ * ext/webrtcdsp/meson.build:
+ * ext/wildmidi/meson.build:
+ * ext/wpe/meson.build:
+ * ext/x265/meson.build:
+ * ext/zbar/meson.build:
+ * ext/zxing/meson.build:
+ * gst/accurip/meson.build:
+ * gst/adpcmdec/meson.build:
+ * gst/adpcmenc/meson.build:
+ * gst/aiff/meson.build:
+ * gst/asfmux/meson.build:
+ * gst/audiobuffersplit/meson.build:
+ * gst/audiofxbad/meson.build:
+ * gst/audiolatency/meson.build:
+ * gst/audiomixmatrix/meson.build:
+ * gst/audiovisualizers/meson.build:
+ * gst/autoconvert/meson.build:
+ * gst/bayer/meson.build:
+ * gst/camerabin2/meson.build:
+ * gst/codecalpha/meson.build:
+ * gst/coloreffects/meson.build:
+ * gst/debugutils/meson.build:
+ * gst/dvbsubenc/meson.build:
+ * gst/dvbsuboverlay/meson.build:
+ * gst/dvdspu/meson.build:
+ * gst/faceoverlay/meson.build:
+ * gst/festival/meson.build:
+ * gst/fieldanalysis/meson.build:
+ * gst/freeverb/meson.build:
+ * gst/frei0r/meson.build:
+ * gst/gaudieffects/meson.build:
+ * gst/gdp/meson.build:
+ * gst/geometrictransform/meson.build:
+ * gst/id3tag/meson.build:
+ * gst/inter/meson.build:
+ * gst/interlace/meson.build:
+ * gst/ivfparse/meson.build:
+ * gst/ivtc/meson.build:
+ * gst/jp2kdecimator/meson.build:
+ * gst/jpegformat/meson.build:
+ * gst/librfb/meson.build:
+ * gst/midi/meson.build:
+ * gst/mpegdemux/meson.build:
+ * gst/mpegpsmux/meson.build:
+ * gst/mpegtsdemux/meson.build:
+ * gst/mpegtsmux/meson.build:
+ * gst/mxf/meson.build:
+ * gst/netsim/meson.build:
+ * gst/onvif/meson.build:
+ * gst/pcapparse/meson.build:
+ * gst/pnm/meson.build:
+ * gst/proxy/meson.build:
+ * gst/rawparse/meson.build:
+ * gst/removesilence/meson.build:
+ * gst/rist/meson.build:
+ * gst/rtmp2/meson.build:
+ * gst/rtp/meson.build:
+ * gst/sdp/meson.build:
+ * gst/segmentclip/meson.build:
+ * gst/siren/meson.build:
+ * gst/smooth/meson.build:
+ * gst/speed/meson.build:
+ * gst/subenc/meson.build:
+ * gst/switchbin/meson.build:
+ * gst/timecode/meson.build:
+ * gst/transcode/meson.build:
+ * gst/videofilters/meson.build:
+ * gst/videoframe_audiolevel/meson.build:
+ * gst/videoparsers/meson.build:
+ * gst/videosignal/meson.build:
+ * gst/vmnc/meson.build:
+ * gst/y4m/meson.build:
+ * meson.build:
+ * sys/amfcodec/meson.build:
+ * sys/androidmedia/meson.build:
+ * sys/applemedia/meson.build:
+ * sys/asio/meson.build:
+ * sys/bluez/meson.build:
+ * sys/d3d11/meson.build:
+ * sys/d3dvideosink/meson.build:
+ * sys/decklink/meson.build:
+ * sys/directshow/meson.build:
+ * sys/directsound/meson.build:
+ * sys/dvb/meson.build:
+ * sys/fbdev/meson.build:
+ * sys/ipcpipeline/meson.build:
+ * sys/kms/meson.build:
+ * sys/magicleap/meson.build:
+ * sys/mediafoundation/meson.build:
+ * sys/msdk/meson.build:
+ * sys/nvcodec/meson.build:
+ * sys/opensles/meson.build:
+ * sys/qsv/meson.build:
+ * sys/shm/meson.build:
+ * sys/tinyalsa/meson.build:
+ * sys/uvch264/meson.build:
+ * sys/v4l2codecs/meson.build:
+ * sys/va/meson.build:
+ * sys/wasapi/meson.build:
+ * sys/wasapi2/meson.build:
+ * sys/wic/meson.build:
+ * sys/winks/meson.build:
+ * sys/winscreencap/meson.build:
+ meson: Call pkgconfig.generate in the loop where we declare plugins dependencies
+ Removing some copy pasted code
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-09-01 11:51:48 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/meson.build:
+ * gst-libs/gst/adaptivedemux/meson.build:
+ * gst-libs/gst/audio/meson.build:
+ * gst-libs/gst/codecparsers/meson.build:
+ * gst-libs/gst/codecs/meson.build:
+ * gst-libs/gst/cuda/meson.build:
+ * gst-libs/gst/d3d11/meson.build:
+ * gst-libs/gst/insertbin/meson.build:
+ * gst-libs/gst/interfaces/meson.build:
+ * gst-libs/gst/mpegts/meson.build:
+ * gst-libs/gst/opencv/meson.build:
+ * gst-libs/gst/play/meson.build:
+ * gst-libs/gst/player/meson.build:
+ * gst-libs/gst/sctp/meson.build:
+ * gst-libs/gst/transcoder/meson.build:
+ * gst-libs/gst/uridownloader/meson.build:
+ * gst-libs/gst/va/meson.build:
+ * gst-libs/gst/vulkan/meson.build:
+ * gst-libs/gst/wayland/meson.build:
+ * gst-libs/gst/webrtc/meson.build:
+ * gst-libs/gst/webrtc/nice/meson.build:
+ * meson.build:
+ meson: Namespace the plugins_doc_dep/libraries variables
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-09-01 10:28:13 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/cuda/meson.build:
+ cuda: meson: Fix generating GstCuda gir file against gstreamer-full
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-08-31 18:44:14 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * meson.build:
+ meson: Rename plugins list and make them "dependency" objects
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-08-30 05:02:31 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+ d3d11memory: Fix GstAllocator::mem_copy() implementation
+ We were checking possible bind flags for the DXGI format
+ of the source texture but that's never applied to
+ the destination texture desc.
+ Just use the already configured bind (and misc) flags of source texture
+ for the destination texture allocation without additional check.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2950>
+
+2022-08-24 08:22:49 +0200 Robert Rosengren <robertr@axis.com>
+
+ * ext/curl/gstcurlbasesink.c:
+ * ext/curl/gstcurlbasesink.h:
+ curlbasesink: gst_curl_base_sink_transfer_thread_close is internal
+ gst_curl_base_sink_transfer_thread_close is moved from external header
+ to be static function, as it has no users.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2732>
+
+2022-07-07 09:20:04 +0200 Robert Rosengren <robertr@axis.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/curl/gstcurlhttpsink.c:
+ * ext/curl/gstcurlhttpsink.h:
+ curlhttpsink: Only set MIME as content-type if not set by property
+ Setting the content-type property shall override internally detected MIME
+ types, to make it possible to do as following example (where audio/basic to be
+ used prior to audio/x-mulaw):
+ gst-launch-1.0 ... ! mulawenc ! audio/x-mulaw,rate=8000,channels=1 !
+ curlhttpsink location=<url> content-type=audio/basic
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2732>
+
+2022-08-26 00:16:56 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11-private.h:
+ * gst-libs/gst/d3d11/gstd3d11bufferpool.cpp:
+ * gst-libs/gst/d3d11/gstd3d11bufferpool.h:
+ * gst-libs/gst/d3d11/gstd3d11compile.cpp:
+ * gst-libs/gst/d3d11/gstd3d11converter.cpp:
+ * gst-libs/gst/d3d11/gstd3d11converter.h:
+ * gst-libs/gst/d3d11/gstd3d11device.cpp:
+ * gst-libs/gst/d3d11/gstd3d11device.h:
+ * gst-libs/gst/d3d11/gstd3d11format.cpp:
+ * gst-libs/gst/d3d11/gstd3d11format.h:
+ * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+ * gst-libs/gst/d3d11/gstd3d11memory.h:
+ * gst-libs/gst/d3d11/gstd3d11utils.cpp:
+ * sys/d3d11/gstd3d11pluginutils.h:
+ d3d11: Update library doc
+ * Private header name is changed to gstd3d11-private.h to follow
+ naming convention
+ * Add Since mark everywhere
+ * Update member variable names to be consistent with the other
+ object implementations in this library
+ * Correct outdated documentation
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2945>
+
+2022-08-25 14:24:25 +0200 Piotr Brzeziński <piotr@centricular.com>
+
+ * sys/applemedia/avfvideosrc.m:
+ avfvideosrc: Fix wrong default framerate value
+ Current default G_MAXINT is not a correct value under any circumstances.
+ This creates an issue with screen capture, during which we currently do
+ not get any framerate info causing G_MAXINT to show up, where elements
+ downstream can possibly misbehave - for example, `vtenc` causes
+ a kernel panic.
+ Replace with 30/1 to avoid such scenarios.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2944>
+
+2022-08-25 15:28:21 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstjpegdecoder.c:
+ jpegdecoder: return the real error of decode_scan and decode_frame.
+ The current handle_frame() does not return the real error that happens
+ in decode_scan and decode_frame, which makes the pipeline continue with
+ the error and may trigger asserting later.
+ We also return the error when decode_quant_table or decode_huffman_table
+ fails.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2938>
+
+2022-08-19 21:54:48 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tests/examples/d3d11/d3d11videosink-present.cpp:
+ * tests/examples/d3d11/meson.build:
+ examples: d3d11videosink: Add present signal example
+ Add an example to show the usage of present singal.
+ In this example, a text overlay with alpha blended background
+ will be rendered on swapchain's backbuffer by using
+ Direct3D11, Direct2D, and DirectWrite APIs.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2923>
+
+2022-08-24 00:13:21 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11videosink.cpp:
+ * sys/d3d11/gstd3d11window.cpp:
+ * sys/d3d11/gstd3d11window.h:
+ * sys/d3d11/gstd3d11window_dummy.cpp:
+ d3d11videosink: Add display-format property
+ Make swapchian's display format configurable, since some DXGI formats
+ we can use for swapchain are not API interop compatible.
+ For instance, BGRA format should be used for Direct2D interop.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2923>
+
+2022-08-19 20:25:31 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11videosink.cpp:
+ * sys/d3d11/gstd3d11window.cpp:
+ * sys/d3d11/gstd3d11window.h:
+ * sys/d3d11/gstd3d11window_corewindow.cpp:
+ * sys/d3d11/gstd3d11window_swapchainpanel.cpp:
+ * sys/d3d11/gstd3d11window_win32.cpp:
+ d3d11videosink: Add present signal
+ The "present" signal will be emitted just before the
+ IDXGISwapChain::Present() call. The client can perform additional
+ GPU operation with given GstD3D11Device object and
+ ID3D11RenderTargetView handle. Or, the client can read back
+ the scene to be displayed on window using the signal.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2923>
+
+2022-08-19 04:49:53 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gsth265decoder.c:
+ h265decoder: Update SpsMaxLatencyPictures properly
+ The SpsMaxLatencyPictures value never gets back to zero even if
+ it's needed. Update the value properly.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2915>
+
+2022-08-19 04:44:48 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gsth265decoder.c:
+ h265decoder: Reorganize debug printing
+ As of the MR
+ https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2575
+ gst_h265_decoder_process_sps() is called per slice and it causes
+ noisy debug message print.
+ Reorganize related and the other debug printings at once.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2915>
+
+2022-08-20 16:15:15 +0100 Philippe Normand <philn@igalia.com>
+
+ * ext/openh264/gstopenh264dec.cpp:
+ * ext/openh264/gstopenh264enc.cpp:
+ openh264: Register debug categories earlier
+ Otherwise the GST_ERROR message logged in case of ABI mismatch would be done on
+ an uninitialized category.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2918>
+
+2022-08-20 16:57:27 +0100 Philippe Normand <philn@igalia.com>
+
+ * ext/openh264/gstopenh264enc.cpp:
+ openh264enc: Fix constrained-high encoding
+ constrained-high is high without B-frames, there is no EProfileIdc for this, so
+ assume high instead of hitting an assert down the line.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2919>
+
+2022-08-19 09:07:50 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/webrtc/ice.c:
+ * gst-libs/gst/webrtc/ice.h:
+ * gst-libs/gst/webrtc/nice/nice.c:
+ webrtc:ice: Fix candidate stats related APIs for bindings
+ null-terminated arrays of structures is not usable.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2917>
+
+2022-08-18 13:27:02 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvah265dec.c:
+ va: h265dec: Enable the scc_main_4:4:4_10 profile.
+ We should enable this profile which is already allown in vaprofile.c
+ after libva 1.8 version.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2909>
+
+2022-07-06 09:08:17 -0400 U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * sys/kms/gstkmssink.c:
+ * sys/kms/gstkmssink.h:
+ kmssink: add fd property
+ This allows an application to provide their own opened DRM device
+ fd handle to kmssink. For example, an application can lease
+ multiple fd's from a DRM master to display on different CRTC
+ outputs at the same time with multiple kmssink instances.
+ Specifying the fd property is not allowed when driver-name
+ and/or bus-id properties are specified.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2807>
+
+2022-08-19 00:05:17 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11deinterlace.cpp:
+ * sys/d3d11/gstd3d11screencapture.cpp:
+ * sys/d3d11/gstd3d11videosink.cpp:
+ d3d11: Use CRITICAL_SECTION instead of GRecMutex
+ The GRecMutex abstraction (and heap allocation happens in GLib)
+ is unnecessary for this plugin.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2914>
+
+2022-08-17 11:18:54 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/webrtc/webrtc_fwd.h:
+ webrtc: doc: Cleanup Since markers
+ We hide some newly public symbols when moving some objects to the library
+ which was not really correct in the end. Properly add the Since markers
+ as needed.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2891>
+
+2022-08-16 08:59:00 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/webrtc/ice.h:
+ webrtc:ice: Reindent header
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2891>
+
+2022-08-15 21:27:06 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/webrtc/ice.h:
+ webrtc:ice: Mark protected fields as such
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2891>
+
+2022-08-15 21:25:25 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/webrtc/datachannel.c:
+ * gst-libs/gst/webrtc/dtlstransport.c:
+ * gst-libs/gst/webrtc/ice.c:
+ * gst-libs/gst/webrtc/icestream.c:
+ * gst-libs/gst/webrtc/icetransport.c:
+ * gst-libs/gst/webrtc/rtpreceiver.c:
+ * gst-libs/gst/webrtc/rtpsender.c:
+ * gst-libs/gst/webrtc/rtptransceiver.c:
+ webrtc: Fix documentaton moving symbols in the right pages
+ As those symbols are documented in a 'fwd' header smart indexing in
+ hotdoc wasn't working.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2891>
+
+2022-08-15 11:52:50 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/webrtc/ice.c:
+ * gst-libs/gst/webrtc/ice.h:
+ * gst-libs/gst/webrtc/nice/nice.c:
+ webrtc:ice: Avoid using GArray in public API
+ And use plain null terminated C arrays instead.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2891>
+
+2022-08-15 11:37:57 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/webrtc/ice.c:
+ webrtc:ice: Fix some annotations
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2891>
+
+2022-08-15 11:36:25 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/webrtc/ice.c:
+ * gst-libs/gst/webrtc/ice.h:
+ webrtc: Make GstWebRTCIceCandidateStats a Boxed type
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2891>
+
+2022-08-14 17:38:24 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/webrtc/ice.h:
+ webrtc:ice: Add padding to structures
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2891>
+
+2022-08-14 21:49:27 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/cuda/cuda-gst.h:
+ * gst-libs/gst/cuda/gstcudanvrtc.c:
+ * gst-libs/gst/cuda/gstcudanvrtc.h:
+ * gst-libs/gst/cuda/gstnvrtcloader.c:
+ * gst-libs/gst/cuda/gstnvrtcloader.h:
+ * gst-libs/gst/cuda/meson.build:
+ * sys/nvcodec/gstcudafilter.c:
+ cuda: Hide runtime compiler related header and symbols
+ That's already abstracted via gst_cuda_nvrtc_compile() method
+ and therefore, we do not need to expose such symbols yet.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2884>
+
+2022-08-17 12:22:38 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvajpegdec.c:
+ vajpegdec: Fix memory leak.
+ Free value content.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2899>
+
+2022-08-16 20:05:15 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvajpegdec.c:
+ vajpegdec: Fix 4:2:2 for i965.
+ Since i965 uses NV12 either for 4:2:0 and 4:2:2 chroma (using an
+ internal color conversion) the chroma validation has to be shortcut.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2899>
+
+2022-08-16 19:50:49 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/va/gstvavideoformat.c:
+ va: libs: Add Y42B format.
+ Enable 4:2:2 JPEG decoding in iHD.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2899>
+
+2022-08-16 16:06:20 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/va/gstvavideoformat.c:
+ * gst-libs/gst/va/gstvavideoformat.h:
+ * sys/va/gstvacaps.c:
+ va: Validate JPEG subsampling configurations.
+ There are Mesa Gallium drivers that report subsampling but without
+ any pixel format. So, strip out these subsamplings.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2899>
+
+2022-08-16 14:45:46 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvadecoder.c:
+ * sys/va/gstvaencoder.c:
+ va: gst_va_create_raw_caps_from_config() may return NULL.
+ This patch verifies if the function returns NULL in the caller.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2899>
+
+2022-08-17 11:42:09 -0400 Eric Knapp <emkman99@gmail.com>
+
+ * sys/decklink/gstdecklink.cpp:
+ * sys/decklink/gstdecklink.h:
+ * sys/decklink/gstdecklinkvideosrc.cpp:
+ decklink: Validate video input format
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2892>
+
+2022-08-15 11:23:56 -0400 Eric Knapp <emkman99@gmail.com>
+
+ * sys/decklink/gstdecklink.cpp:
+ decklink: Auto-detect 10-bit YUV
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2892>
+
+2022-08-14 22:31:29 -0400 Daniel Morin <daniel.morin@collabora.com>
+
+ * gst-libs/gst/play/gstplay-media-info.h:
+ * gst-libs/gst/play/gstplay-signal-adapter.h:
+ * gst-libs/gst/play/gstplay-video-overlay-video-renderer.h:
+ * gst-libs/gst/play/gstplay-video-renderer.h:
+ * gst-libs/gst/play/gstplay-visualization.h:
+ gst-play: missing cleanup for g_autoptr
+ Without this change cleanup function for g_autoptr is not defined for
+ GstPlayMediaInfo, GstPlaySignalAdapter, GstPlayVideoRenderer,
+ GstPlayVideoOverlayVideoRenderer and GstPlayVisualization. Cleanup
+ function was defined in gstplay.h, but missing in other header files.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2888>
+
+2022-08-16 21:01:47 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/meson.build:
+ meson: d3d11: Fix missing header install
+ Install gstd3d11compile.h header file
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2896>
+
+2022-08-15 01:50:15 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11av1dec.cpp:
+ * sys/d3d11/gstd3d11decoder.cpp:
+ * sys/d3d11/gstd3d11decoder.h:
+ * sys/d3d11/gstd3d11h264dec.cpp:
+ * sys/d3d11/gstd3d11h265dec.cpp:
+ * sys/d3d11/gstd3d11mpeg2dec.cpp:
+ * sys/d3d11/gstd3d11vp8dec.cpp:
+ * sys/d3d11/gstd3d11vp9dec.cpp:
+ d3d11decoder: Do timer based DecoderBeginFrame retry
+ ... instead of retry count based one, because the precision of Sleep()
+ varies depending on system and application configuration.
+ Also, don't retry DecoderBeginFrame if decoder is doing flush.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2886>
+
+2022-08-14 21:18:24 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstcudamemorycopy.c:
+ cudaupload,cudadownload: Don't simplify caps in transform_caps
+ The simplified caps might not be a subset of filter caps
+ and basetransform will complain about it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2883>
+
+2022-08-15 00:22:14 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11decoder.cpp:
+ d3d11decoder: Do not use miniobject qdata
+ The miniobject qdata uses global mutex.
+ Use ID3D11DeviceChild::{Set,Get}PrivateData methods instead.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2885>
+
+2022-08-13 05:24:03 +0900 Seungha Yang <seungha@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ docs: Remove dxgiscreencapsrc from documentation
+ The implementation was dropped in
+ https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1750
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2878>
+
+2022-08-13 12:24:37 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/player/gstplayer-media-info.c:
+ player: Don't leak wrapped video info
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1373
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2880>
+
+2022-08-13 11:50:20 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/play/gstplay.c:
+ play: Make ownership of video-sink clearer in combination with floating references
+ And correctly handle the case of VideoRenderer::create_video_sink() not
+ actually returning a floating reference, which might be tricky for some
+ bindings.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2880>
+
+2022-08-13 11:49:08 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/play/gstplay.c:
+ play: Fix object construction
+ Ideally new() functions should simply call g_object_new() and not much
+ else, so let's do that here and handle all the construction properly in
+ a GObject way.
+ Now a play object created via g_object_new() is actually usable.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2880>
+
+2022-08-13 11:39:59 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/player/gstplayer.c:
+ player: Fix object construction
+ Ideally new() functions should simply call g_object_new() and not much
+ else, so let's do that here and handle all the construction properly in
+ a GObject way.
+ Now a player object created via g_object_new() is actually usable.
+ In addition, also fix the video-renderer property so that reading it
+ returns an object of the correct type.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2880>
+
+2022-08-13 11:30:35 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/player/gstplayer.c:
+ player: Release signal adapter on finalize
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2880>
+
+2022-08-08 23:37:11 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/mxf/mxfaes-bwf.c:
+ mxfdemux: Always calculate BlockAlign of raw audio
+ Workaround for nBlockAlign and nBitsPerSample mismatch. Always
+ use the formula described in the specification for BlockAlign value
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2864>
+
+2022-08-12 22:05:36 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/meson.build:
+ meson: d3d11: Fix build with GIR enabled
+ ... and remove unused list
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2870>
+
+2022-08-12 18:24:41 +0300 Matthias Clasen <mclasen@redhat.com>
+
+ * gst-libs/gst/player/gstplayer.c:
+ gstplayer: Plug a memory leak
+ This was showing up as a memory leak in GTK's
+ gstreamer media backend:
+ 40 bytes in 1 blocks are definitely lost in loss record 18,487 of 40,868
+ at 0x484586F: malloc (vg_replace_malloc.c:381)
+ by 0x50D5278: g_malloc (gmem.c:125)
+ by 0x50EDBA5: g_slice_alloc (gslice.c:1072)
+ by 0x50EFBCC: g_slice_alloc0 (gslice.c:1098)
+ by 0x51F2F45: g_type_create_instance (gtype.c:1911)
+ by 0x51DAE37: g_object_new_internal (gobject.c:2011)
+ by 0x51DC080: g_object_new_with_properties (gobject.c:2181)
+ by 0x51DCB20: g_object_new (gobject.c:1821)
+ by 0x9855F86: UnknownInlinedFun (gstplayer-wrapped-video-renderer.c:109)
+ by 0x9855F86: gst_player_new (gstplayer.c:579)
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1374
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2875>
+
+2022-08-12 11:32:45 +0200 Corentin Damman <c.damman@intopix.com>
+
+ * sys/d3d11/gstd3d11window.cpp:
+ d3d11window: fix DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING swap chain flag for full screen
+ Fixes #1372 (regression introduced in 5eeec165)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2866>
+
+2022-08-10 11:12:37 +0100 Philippe Normand <philn@igalia.com>
+
+ * ext/wpe/gstwpesrcbin.cpp:
+ wpesrc: Switch URI handler to web+... protocols
+ The web://http:// URIs were not compliant with RFC 3986. Using web+http://
+ allows us to use the GstUri parser to pass down a valid URI to `wpevideosrc`.
+ Corresponding change for the CEF source element:
+ https://github.com/centricular/gstcefsrc/commit/8d499495dd79cc0bf9a38ae82b03e374d78f68ae
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2856>
+
+2022-08-09 12:24:53 +0200 Corentin Damman <c.damman@intopix.com>
+
+ * sys/nvcodec/gstnvh264encoder.cpp:
+ * sys/nvcodec/gstnvh265encoder.cpp:
+ nvcodec: fix caps leaks in nvh264/h265encoder
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2850>
+
+2022-08-09 12:29:34 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvah264enc.c:
+ vah264enc: Set codec frame sync point if IDR
+ This flag is used by GstVideoEncoder base class for certain configurations.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2852>
+
+2022-08-09 12:28:43 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvaencoder.c:
+ * sys/va/gstvaencoder.h:
+ * sys/va/gstvah264enc.c:
+ vah264enc: Packed headers can be zero.
+ A driver can report back no packed header support (VA_ENC_PACKED_HEADER_NONE).
+ This patch removes that false verification.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2851>
+
+2022-08-07 23:24:04 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11converter.cpp:
+ * gst-libs/gst/d3d11/gstd3d11device.cpp:
+ * sys/d3d11/gstd3d11convert.cpp:
+ * sys/d3d11/gstd3d11decoder.cpp:
+ * sys/d3d11/gstd3d11window_win32.cpp:
+ d3d11: Use WIN32 API directly for locking with RAII pattern
+ Such abstraction is unnecessary for this library/plugin.
+ Use WIN32 API directly instead of GLib wrappers.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2848>
+
+2022-08-07 22:41:07 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11_private.h:
+ * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+ d3d11memory: Remove unnecessary locking
+ * memory map/unmap is already protected by d3d11 device lock.
+ Don't need to take another memory lock.
+ * Use WIN32 critical section and slim reader/writer lock APIs
+ directly instead of GLib wrappers.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2848>
+
+2022-08-05 17:20:05 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvah264enc.c:
+ vah264enc: Fix caps for mesa gallium.
+ Radeon mesa gallium driver has a bug which adds P010_10LE sink caps
+ format. This patch removes formats which arent 420 chroma.
+ gst_caps_set_format_array() wasn't used because the fix traverse
+ several structures with potential different formats.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2844>
+
+2022-08-05 15:54:39 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvah264dec.c:
+ * sys/va/gstvaprofile.c:
+ vah264dec: Complete profiles in decoder.
+ Instead of specifying all the H.264 "supported" profiles in the global
+ hash table (used either by decoders and encoders), just complete them
+ in the decoder only, since the encoder doesn't support them.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2844>
+
+2022-08-05 22:34:06 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11pluginutils.cpp:
+ * sys/d3d11/gstd3d11window.cpp:
+ * sys/d3d11/gstd3d11window.h:
+ * sys/d3d11/gstd3d11window_dummy.cpp:
+ * sys/qsv/gstqsvallocator_d3d11.cpp:
+ * tests/examples/d3d11/d3d11converter.cpp:
+ * tests/examples/d3d11/d3d11videosink-appsrc.cpp:
+ d3d11: Don't find global default allocator
+ We were using global default allocator already. Pass null
+ allocator object to *_alloc() methods then the method will
+ use default allocator.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2843>
+
+2022-08-05 22:23:52 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+ d3d11memory: Allow null GstD3D11Allocator to alloc methods
+ Similar to gst_allocator_alloc(), use default GstD3D11Allocator
+ when caller passes null allocator object
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2843>
+
+2022-08-06 00:03:43 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11_private.h:
+ * gst-libs/gst/d3d11/gstd3d11compile.cpp:
+ * gst-libs/gst/d3d11/gstd3d11converter.cpp:
+ * gst-libs/gst/d3d11/gstd3d11device.cpp:
+ * gst-libs/gst/d3d11/gstd3d11format.cpp:
+ * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+ * gst-libs/gst/d3d11/gstd3d11utils.cpp:
+ * sys/d3d11/gstd3d11decoder.cpp:
+ * sys/d3d11/gstd3d11deinterlace.cpp:
+ * sys/d3d11/gstd3d11pluginutils.cpp:
+ * sys/d3d11/gstd3d11testsrc.cpp:
+ * sys/d3d11/gstd3d11window.cpp:
+ d3d11: Use std::call_once()
+ g_once_init_enter() always takes global mutex for non-GCC build.
+ Use C++ once call implementation
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2843>
+
+2022-08-06 04:57:49 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11device.cpp:
+ d3d11device: Use WIN32 critical section API directly
+ GLib's GRecMutex will allocate another heap memory for CRITICAL_SECTION
+ struct and g_rec_mutex_lock/g_rec_mutex_unlock use WIN32 APIs actually.
+ We don't need such intermediate function calls and redundant heap allocation.
+ Just call WIN32 APIs directly.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2845>
+
+2022-08-03 17:52:25 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvabaseenc.c:
+ * sys/va/gstvabaseenc.h:
+ * sys/va/gstvah264enc.c:
+ vah264enc: Lock properties read/write.
+ This is a first step for changing properties at runtime.
+ And add missing bitrate upate and notification.
+ Fixes: #1258
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2836>
+
+2022-08-04 13:02:00 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvah264enc.c:
+ vah264enc: Use guint32 for rc_ctrl as it's for rc_ctrl_mode.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2836>
+
+2022-08-04 12:57:11 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvah264enc.c:
+ vah264enc: Split aud property and its usage.
+ Just as other property variables, it's split for ease it usage,
+ particularly after adding access locks.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2836>
+
+2022-08-04 12:00:58 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvabaseenc.h:
+ va: baseenc: Untabbify and format.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2836>
+
+2022-08-03 03:29:20 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11compositor.cpp:
+ d3d11compositor: Add gamma-mode and primaries-mode properties
+ Allows controlling gamma remap and/or chromatic adaptation behavior.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2831>
+
+2022-08-03 01:47:46 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11videosink.cpp:
+ * sys/d3d11/gstd3d11window.cpp:
+ * sys/d3d11/gstd3d11window.h:
+ * sys/d3d11/gstd3d11window_dummy.cpp:
+ d3d11videosink: Add gamma-mode and primaries-mode properties
+ Allows controlling gamma remap and/or chromatic adaptation behavior.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2831>
+
+2022-08-03 01:19:41 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11convert.cpp:
+ d3d11convert: Add gamma-mode and primaries-mode properties
+ Allows controlling gamma remap and/or chromatic adaptation behavior.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2831>
+
+2022-08-03 00:26:33 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11converter.cpp:
+ * gst-libs/gst/d3d11/gstd3d11converter.h:
+ d3d11converter: Add options for gamma and primaries conversion
+ Gamma remap and/or primaries conversion requires additional
+ processing which might be something user want to avoid, performance
+ reason for example
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2831>
+
+2022-08-01 13:04:47 +0200 Robert Mader <robert.mader@collabora.com>
+
+ * ext/wayland/gstwaylandsink.c:
+ waylandsink: Logging code style updates
+ For better readability of debug messages and to keep similar code
+ in sync with `GstGtkWaylandsink`.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2694>
+
+2022-06-30 11:48:45 +0200 Robert Mader <robert.mader@collabora.com>
+
+ * ext/wayland/gstwaylandsink.c:
+ waylandsink: Rename occurrences of GstWaylandSink to 'self'
+ Rename all occurrences to `self`, making it consintent with `GstWl*`
+ and `GstGtkWaylandsink`.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2694>
+
+2022-07-19 15:10:00 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvavpp.c:
+ vapostproc: Check for colorimetry changes.
+ It uses what's merged in
+ https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2765
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2777>
+
+2022-04-11 15:35:45 -0500 Olivier Crête <olivier.crete@collabora.com>
+
+ * tests/examples/gtk/gtkwaylandsink.c:
+ gtkwaylandsink test: Add navigationtest to example
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1515>
+
+2021-12-08 10:30:21 +0200 George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/gtk/gstgtkutils.c:
+ * ext/gtk/gstgtkutils.h:
+ * ext/gtk/gstgtkwaylandsink.c:
+ * ext/gtk/gstgtkwaylandsink.h:
+ * ext/gtk/gstplugin.c:
+ * ext/gtk/gtkgstbasewidget.c:
+ * ext/gtk/gtkgstbasewidget.h:
+ * ext/gtk/gtkgstwaylandwidget.c:
+ * ext/gtk/gtkgstwaylandwidget.h:
+ * ext/gtk/meson.build:
+ * ext/meson.build:
+ * meson_options.txt:
+ * tests/examples/gtk/gtkwaylandsink.c:
+ * tests/examples/gtk/meson.build:
+ * tests/examples/gtk/window.ui:
+ * tests/examples/meson.build:
+ Add new gtkwaylandsink element
+ This is based on gtksink, but similar to waylandsink uses Wayland APIs
+ directly instead of rendering with Gtk/Cairo primitives.
+ Note that the long term plan is to move this into the existing extension
+ in `-good`, which requires the Wayland library to move the as well.
+ For this reason several files like `gstgtkutils.*` and `gtkgstbasewidget.*`
+ are straight copies and should be kept in sync.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1515>
+
+2022-08-02 05:06:24 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11window.cpp:
+ * sys/d3d11/gstd3d11window_win32.cpp:
+ d3d11videosink: Translate mouse position
+ Converts mouse cursor position represented in display coordinates to
+ stream coordinates.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2824>
+
+2022-08-02 04:16:31 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11videosink.cpp:
+ d3d11videosink: Early terminate mouse/keyboard event handling
+ ... and add missing null check (plus coding style fix)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2824>
+
+2022-07-30 17:28:41 +0100 Philippe Normand <philn@igalia.com>
+
+ * gst-libs/gst/webrtc/nice/nice.c:
+ * gst-libs/gst/webrtc/nice/nicestream.c:
+ * gst-libs/gst/webrtc/nice/nicetransport.c:
+ webrtc: nice: WeakRef access fixes
+ The GstWebRTCNiceStream::ice property getter already hands-off a full reference,
+ so there is no need to call g_weak_ref_get() in call sites.
+ Fixes #1350
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2819>
+
+2022-07-30 17:19:42 +0100 Philippe Normand <philn@igalia.com>
+
+ * gst-libs/gst/webrtc/ice.h:
+ webrtc: ice: Fix GstWebRTCICE parent class
+ It is a GstObject, not a GObject.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2819>
+
+2022-07-30 17:43:38 +0100 Philippe Normand <philn@igalia.com>
+
+ * ext/dtls/gstdtlssrtpdec.c:
+ * ext/dtls/gstdtlssrtpenc.c:
+ dtls: Properly name encoder/decoder logging categories
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2820>
+
+2022-07-30 17:42:50 +0100 Philippe Normand <philn@igalia.com>
+
+ * ext/dtls/gstdtlsagent.c:
+ * ext/dtls/gstdtlsagent.h:
+ * ext/dtls/gstdtlsconnection.c:
+ * ext/dtls/gstdtlsconnection.h:
+ dtls: Make agent and connection GstObjects
+ Facilitates debug logs interpretation of GST_DEBUG_OBJECT() calls.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2820>
+
+2022-07-30 02:29:49 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * ext/sctp/usrsctp/meson.build:
+ * sys/qsv/libmfx/meson.build:
+ meson: Don't pass -Werror to vendored code
+ Do it the correct way with libusrsctp -- override the option so that
+ it's done in a compiler-agnostic and future-proof way.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2494>
+
+2022-05-25 18:40:30 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst/rtmp2/gstrtmp2locationhandler.c:
+ * gst/rtmp2/rtmp/rtmpclient.c:
+ rtsp+rtmp: Forward warning added to tls-validation-flags to our users
+ With the 2.72 release, glib-networking developers have decided that
+ TLS certificate validation cannot be implemented correctly by them, so
+ they've deprecated it.
+ In a nutshell: a cert can have several validation errors, but there
+ are no guarantees that the TLS backend will return all those errors,
+ and things are made even more complicated by the fact that the list of
+ errors might refer to certs that are added for backwards-compat and
+ won't actually be used by the TLS library.
+ Our best option is to ignore the deprecation and pass the warning onto
+ users so they can make an appropriate security decision regarding
+ this.
+ We can't deprecate the tls-validation-flags property because it is
+ very useful when connecting to RTSP cameras that will never get
+ updates to fix certificate errors.
+ Relevant upstream merge requests / issues:
+ https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2214
+ https://gitlab.gnome.org/GNOME/glib-networking/-/issues/179
+ https://gitlab.gnome.org/GNOME/glib-networking/-/merge_requests/193
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2494>
+
+2022-05-25 16:03:22 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * ext/dtls/gstdtlscertificate.c:
+ dtls: Disable OpenSSL 3.0 deprecation warnings for now
+ Fedora 36 ships with OpenSSL 3.0, which deprecates all low-level APIs,
+ so this code needs to be rewritten. There is no easy fix in the
+ porting guide, and it recommends disabling the warnings if you can't
+ use the high-level API.
+ https://wiki.openssl.org/index.php/OpenSSL_3.0#Upgrading_to_OpenSSL_3.0_from_OpenSSL_1.1.1
+ Here's the replacement API:
+ https://www.openssl.org/docs/man3.0/man7/migration_guide.html#Deprecated-low-level-object-creation
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2494>
+
+2022-07-29 02:36:40 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/wasapi2/gstwasapi2ringbuffer.cpp:
+ wasapi2: Fix initial mute/volume setting
+ Fix up volume/mute change flag setting
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2809>
+
+2022-07-26 13:59:33 -0400 Eric Knapp <emkman99@gmail.com>
+
+ * sys/va/gstvah264enc.c:
+ va: h264enc: Make AUD the first NAL unit
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2796>
+
+2022-07-26 15:49:32 -0400 U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+ * ext/webrtc/meson.build:
+ * gst-libs/gst/webrtc/nice/meson.build:
+ meson: webrtc: ensure definition of libgstwebrtcnice_dep
+ ... and skip if it's disabled.
+ Fixes #1344
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2797>
+
+2022-04-18 23:25:13 +0530 yatinmaan <yatinmaan1@gmail.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/webrtc/fwd.h:
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/gstwebrtcbin.h:
+ * ext/webrtc/gstwebrtcstats.c:
+ * ext/webrtc/meson.build:
+ * ext/webrtc/transportstream.c:
+ * ext/webrtc/webrtcsctptransport.h:
+ * gst-libs/gst/webrtc/ice.c:
+ * gst-libs/gst/webrtc/ice.h:
+ * gst-libs/gst/webrtc/icestream.c:
+ * gst-libs/gst/webrtc/icestream.h:
+ * gst-libs/gst/webrtc/icetransport.h:
+ * gst-libs/gst/webrtc/meson.build:
+ * gst-libs/gst/webrtc/nice/meson.build:
+ * gst-libs/gst/webrtc/nice/nice.c:
+ * gst-libs/gst/webrtc/nice/nice.h:
+ * gst-libs/gst/webrtc/nice/nice_fwd.h:
+ * gst-libs/gst/webrtc/nice/nicestream.c:
+ * gst-libs/gst/webrtc/nice/nicestream.h:
+ * gst-libs/gst/webrtc/nice/nicetransport.c:
+ * gst-libs/gst/webrtc/nice/nicetransport.h:
+ * gst-libs/gst/webrtc/webrtc-priv.h:
+ * gst-libs/gst/webrtc/webrtc.h:
+ * gst-libs/gst/webrtc/webrtc_fwd.h:
+ webrtc: Split WebRTCICE into base classes and implementation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2398>
+
+2022-07-22 22:50:33 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvallocator_d3d11.cpp:
+ * sys/qsv/gstqsvencoder.cpp:
+ qsvencoder: Add support for D3D11 shared texture
+ Although input texture belongs to the other d3d11 device,
+ we can do GPU copy when its physical device is identical.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2790>
+
+2022-07-23 00:41:49 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/amfcodec/gstamfencoder.cpp:
+ * sys/d3d11/gstd3d11screencapture.cpp:
+ * sys/d3d11/gstd3d11window_dummy.cpp:
+ * sys/mediafoundation/gstmfvideoencoder.cpp:
+ * sys/mediafoundation/gstmfvideoencoder.h:
+ * sys/nvcodec/gstnvencoder.cpp:
+ d3d11: Port to GstD3D11Fence
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2790>
+
+2022-07-23 00:11:18 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11_fwd.h:
+ * gst-libs/gst/d3d11/gstd3d11device.cpp:
+ * gst-libs/gst/d3d11/gstd3d11device.h:
+ d3d11: Implement fence abstraction
+ Depending on device feature level, d3d11 runtime can support
+ ID3D11Fence which is equivalent to ID3D12Fence.
+ Waiting using fence has performance-wise benefit over pulling
+ ID3D11Query status. If ID3D11Fence is not supported by device,
+ then ID3D11Query will be used instead.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2790>
+
+2022-06-08 15:44:26 +0200 Benjamin Gaignard <benjamin.gaignard@collabora.com>
+
+ * gst-libs/gst/codecs/gsth265decoder.c:
+ codecs: h265: Make sure that sps is processed just before decoding
+ It may happens that bitstream doesn't provided SPS in decoding order
+ (like in VPSSPSPPS_A_MainConcept_1 conformance test file).
+ To be sure that the decoder got the correct SPS parameters process
+ SPS just before start decoding the frame.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2575>
+
+2022-03-18 15:04:18 +0100 Sebastian Fricke <sebastian.fricke@collabora.com>
+
+ * gst-libs/gst/codecs/gsth265decoder.c:
+ codecs: h265: Fix typos
+ Fix multiple typos in warning and info messages.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2575>
+
+2022-05-16 15:27:40 +0200 Benjamin Gaignard <benjamin.gaignard@collabora.com>
+
+ * gst/videoparsers/gsth265parse.c:
+ videoparsers: h265: Be less restrictive between PPS and SPS parsing order
+ Allow to parse PPS to be parser even if SPS hasn't been parsered before.
+ This help to parse VPSSPSPPS_A_MainConcept_1 conformance test
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2575>
+
+2022-05-16 15:25:36 +0200 Benjamin Gaignard <benjamin.gaignard@collabora.com>
+
+ * gst-libs/gst/codecparsers/gsth265parser.c:
+ * gst-libs/gst/codecparsers/gsth265parser.h:
+ codecparsers: Defering computation of pps and sps fields
+ While possible defer computataion of pps and sps fields until
+ slice parsing since it may happens that bitstreams don't encoded
+ them in expected order.
+ A example weird ordered bitstreams is VPSSPSPPS_A_MainConcept_1
+ conformance test.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2575>
+
+2022-07-20 12:11:47 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ v4l2codecs: h264: Reset the number of slices on picture start
+ This way, if we aborted a frame in the middle, we don't endup thinking
+ there is multiple slices to send.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1079>
+
+2022-07-12 15:44:45 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ v4l2codecs: h264: Fix initialization of the slice array
+ The function g_array_sized_new() leaves the len to 0, but the slice
+ implementation assumes it would be set to 4. Sending multiple slices is
+ not yet support for H.264 as no driver needed it yet, but if that code
+ was to be used it would have overflowed as the array would never grow as
+ multiple 0 by 2 always results in 0.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1079>
+
+2022-07-12 15:43:34 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ v4l2codecs: h264: Rename count variable to num_controls
+ This is the counter for the used control slot. The term num_controls was
+ introduced in the HEVC decoder and felt like a better choice.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1079>
+
+2022-06-20 12:22:20 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codech265dec.c:
+ v4l2codecs: hevc: Add an API check
+ This adds an API check and bump recommended base kernel version to 5.20.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1079>
+
+2022-07-12 08:56:07 -0400 Benjamin Gaignard <benjamin.gaignard@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codech265dec.c:
+ * sys/v4l2codecs/gstv4l2codech265dec.h:
+ * sys/v4l2codecs/meson.build:
+ * sys/v4l2codecs/plugin.c:
+ v4l2codecs: Add v4l2 stateless H265 decoder
+ Add v4l2 stateless H265 decoder.
+ Co-authored-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
+ Co-authored-by: Sebastian Fricke <sebastian.fricke@collabora.com>
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1079>
+
+2022-04-25 15:27:39 +0200 Benjamin Gaignard <benjamin.gaignard@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2decoder.c:
+ v4l2codecs: Increase minimum payload size
+ Fluster MAXBINS_{A-C}_TI_5 HEVC tests files require to store
+ a payload larger than usual given their resolutions.
+ Increase the minimum payload size to handle them correctly.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1079>
+
+2022-07-12 08:57:38 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/linux/v4l2-controls.h:
+ * sys/v4l2codecs/linux/videodev2.h:
+ v4l2codecs: Align v4l2 headers with HEVC final uAPI
+ HEVC uAPI have landed for kernel 5.10.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1079>
+
+2022-04-29 12:10:05 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/codecparsers/gsth265parser.c:
+ * gst-libs/gst/codecparsers/gsth265parser.h:
+ codecparsers: h265: Introduce long_term_ref_pic_set_size
+ This is the size of the `if( long_term_ref_pics_present_flag )` inside
+ slice_segment_header( ) syntax. This size in bit, and after de-emulation
+ is needed by some HW.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1079>
+
+2022-07-21 16:11:03 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/audiobuffersplit/gstaudiobuffersplit.c:
+ audiobuffersplit: Actually store number of samples to drop in gapless mode
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2780>
+
+2022-07-21 16:10:18 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/audiobuffersplit/gstaudiobuffersplit.c:
+ audiobuffersplit: Use input running time for comparison instead of the currently tracked running time
+ Otherwise gapless mode would do completely wrong calculations on
+ discontinuities and cause input/output to drift slowly.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2780>
+
+2022-07-21 13:38:22 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/audiobuffersplit/gstaudiobuffersplit.c:
+ audiobuffersplit: Combine two if expressions to reduce indentation
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2780>
+
+2022-07-22 04:51:14 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11compositor.cpp:
+ d3d11compositor: Add support for crop meta
+ GstD3D11Converter supports cropping already. Cropping is just
+ a matter of setting source rectangle area to converter,
+ from d3d11 point of view
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2782>
+
+2022-07-18 00:41:00 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tests/examples/d3d11/d3d11converter.cpp:
+ * tests/examples/d3d11/meson.build:
+ examples: d3d11: Add GstD3D11Converter example
+ An example to demonstrate color space conversion, rescale and flip/rotation
+ using GstD3D11Converter
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2767>
+
+2022-07-21 05:13:21 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11.h:
+ * gst-libs/gst/d3d11/gstd3d11_fwd.h:
+ * gst-libs/gst/d3d11/gstd3d11_private.h:
+ * gst-libs/gst/d3d11/gstd3d11converter.cpp:
+ * gst-libs/gst/d3d11/gstd3d11converter.h:
+ * gst-libs/gst/d3d11/gstd3d11format.cpp:
+ * gst-libs/gst/d3d11/meson.build:
+ * sys/d3d11/gstd3d11compositor.cpp:
+ * sys/d3d11/gstd3d11convert.cpp:
+ * sys/d3d11/gstd3d11decoder.cpp:
+ * sys/d3d11/gstd3d11pluginutils.cpp:
+ * sys/d3d11/gstd3d11pluginutils.h:
+ * sys/d3d11/gstd3d11testsrc.cpp:
+ * sys/d3d11/gstd3d11window.h:
+ * sys/d3d11/meson.build:
+ d3d11: Move GstD3D11Converter to gst-libs
+ The object is equivalent to GstVideoConverter but for D3D11.
+ Application can use this object directly for various conversions,
+ such as color space conversion, rescale, crop and flip/rotation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2767>
+
+2022-07-21 05:40:45 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11.h:
+ * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+ * gst-libs/gst/d3d11/gstd3d11memory.h:
+ * gst-libs/gst/d3d11/meson.build:
+ d3d11: Define enum and flags types manually
+ gnome.mkenums_simple() doesn't work well for GstD3D11, seems to
+ be confused by numeric representation of D3D11, must be a bug
+ in GLib or so. Just don't rely on the incomplete automagic.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2767>
+
+2022-07-21 05:39:58 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11format.cpp:
+ d3d11: Run gst-indent
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2767>
+
+2022-07-06 16:14:13 +0300 Jordan Petridis <jordan@centricular.com>
+
+ * ext/openmpt/gstopenmptdec.c:
+ openmpt: update from now deprecated api
+ https://lib.openmpt.org/doc/classopenmpt_1_1module.html#ab2695af0baa274054f5687741fa7c05b
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2721>
+
+2022-04-29 19:27:16 +0800 Fan F He <fan.f.he@intel.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/gstmsdkenc.h:
+ * sys/msdk/gstmsdkh264enc.c:
+ * sys/msdk/gstmsdkh265enc.c:
+ * sys/msdk/gstmsdkh265enc.h:
+ * sys/msdk/msdk-enums.c:
+ * sys/msdk/msdk-enums.h:
+ msdkenc: Enable LowDelayBrc and MaxFrameSize for I/P frame
+ Enable these features for accurate bitrate control.
+ Feature introduction of LowDelayBRC, MaxFrameSizeI and MaxFrameSizeP could be found here:
+ https://github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/mediasdk-man.md
+ Signed-off-by: Fan F He <fan.f.he@intel.com>
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2742>
+
+2022-07-20 05:28:51 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11converter.cpp:
+ * sys/d3d11/gstd3d11converter.h:
+ * sys/d3d11/gstd3d11testsrc.cpp:
+ * sys/d3d11/gstd3d11window_dummy.cpp:
+ d3d11converter: Use GstStructure to set initialization options
+ Runtime updatable options are exposed via object properties
+ but there are a few options which should be known at initialization
+ time. Use GstStructure to signal it and to be easily extensible
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2776>
+
+2022-07-19 01:52:48 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11converter.cpp:
+ d3d11converter: Use primaries and transfer function compare methods
+ Different enum values could be functionally equal, then we don't need
+ to do full conversion.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2776>
+
+2022-07-17 04:48:24 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11format.cpp:
+ * gst-libs/gst/d3d11/gstd3d11format.h:
+ * sys/d3d11/gstd3d11converter.cpp:
+ * sys/d3d11/gstd3d11pluginutils.cpp:
+ * sys/d3d11/gstd3d11pluginutils.h:
+ * sys/d3d11/gstd3d11screencapture.cpp:
+ * sys/d3d11/gstd3d11window.cpp:
+ d3d11format: Move DXGI color space mapping method to gst-libs
+ Expose color space mapping method to public so that application
+ can configure GstCaps or GstVideoInfo using DXGI color space
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2776>
+
+2022-07-17 00:33:55 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11convert.cpp:
+ d3d11convert: Use new colorimetry compare function
+ Avoid conversion if both are functionally identical
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2765>
+
+2022-07-17 23:58:19 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11testsrc.cpp:
+ d3d11testsrc: Fix SMPTE pattern rendering
+ It was wrong vertex shader code
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2766>
+
+2022-07-13 10:30:49 +0200 Piotr Brzeziński <piotr@centricular.com>
+
+ * sys/applemedia/vtdec.c:
+ * sys/applemedia/vtenc.c:
+ applemedia: Add HEVC support to vtenc and vtdec
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2754>
+
+2022-06-16 03:57:37 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11.h:
+ * gst-libs/gst/d3d11/gstd3d11compile.cpp:
+ * gst-libs/gst/d3d11/gstd3d11compile.h:
+ * gst-libs/gst/d3d11/meson.build:
+ * sys/d3d11/gstd3d11compositor.cpp:
+ * sys/d3d11/gstd3d11converter.cpp:
+ * sys/d3d11/gstd3d11overlaycompositor.cpp:
+ * sys/d3d11/gstd3d11screencapture.cpp:
+ * sys/d3d11/gstd3d11screencapturesrc.cpp:
+ * sys/d3d11/gstd3d11shader.cpp:
+ * sys/d3d11/gstd3d11shader.h:
+ * sys/d3d11/gstd3d11testsrc.cpp:
+ * sys/d3d11/meson.build:
+ * sys/d3d11/plugin.cpp:
+ d3d11: Move HLSL compiler to gst-libs
+ We should move this functionality to gst-libs so that GstD3D11Converter
+ can be moved to gst-libs.
+ Another advantage is that applications can call our
+ HLSL compiler wrapper method without any worry about OS version
+ dependent system installed HLSL library.
+ Note that there are multiple HLSL compiler library versions
+ on Windows and system installed one would be OS version dependent.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2760>
+
+2022-06-04 18:07:16 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: Add a signal to plug bandwidth estimator elements
+ We need GStreamer elements to do the bandwidth estimation as this way
+ they can also control the pacing of the transmission flow as specified
+ in the [GCC] algorithm for example.
+ Bandwidth estimator element are placed right before the "RTPSession" as
+ an "rtp-aux-sender" element. This way they can use the "Transport-wide
+ Congestion Control" RTCP feedback messages through the "RTPTwcc" custom
+ events that are sent by the rtpsession.
+ Applications are responsible to react to the bandwidth estimator element
+ and set the encoder target bitrate etc... which means that we can not
+ pass an estimator as an element factory, so a signal as been chosen
+ instead.
+ [GCC]: https://datatracker.ietf.org/doc/html/draft-ietf-rmcat-gcc-02
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2562>
+
+2022-07-08 00:16:02 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gsth265decoder.c:
+ h265decoder: Report latency
+ Similar to that of h264decoder
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2726>
+
+2022-07-08 22:05:12 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvabaseenc.c:
+ va: baseenc: Do not use codec frame structure again after finish_frame().
+ In _push_out_one_buffer(), we use codec frame structure again for error handling
+ after we already call finish_frame(), which is a latent segment fault.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2739>
+
+2022-07-08 21:57:40 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvabaseenc.c:
+ va: baseenc: Do not clear the codec frame twice when error.
+ The current manner will clear the input codec frame twice if we fail
+ to push the output data, which will trigger an assert.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2739>
+
+2022-07-05 18:21:12 +0300 Jordan Petridis <jordan@centricular.com>
+
+ * ext/fluidsynth/gstfluiddec.c:
+ fluiddec: Remove workaround for version 1.1.9
+ We require >= 2.1 version since the previous commit
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2718>
+
+2022-07-05 17:32:12 +0300 Jordan Petridis <jordan@centricular.com>
+
+ * ext/fluidsynth/gstfluiddec.c:
+ * ext/fluidsynth/meson.build:
+ fluidsynth: update from now deprecated api
+ fluid_synth_set_chorus_on and fluid_synth_set_reverb_on were
+ deprecated in favor of new funtions where you can also specify
+ the fx_group the effect would apply.
+ The behavior of the set_* variants was to apply to all groups
+ so we pass -1 to the new functions as per documentation.
+ https://www.fluidsynth.org/api/group__chorus__effect.html#ga3c48310eecdca9cd338799d19f19c32d
+ and
+ https://www.fluidsynth.org/api/group__reverb__effect.html#gacb7917564c988cf54f2e35189b509c8e
+ and the introduction of the change:
+ https://github.com/FluidSynth/fluidsynth/pull/673
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2718>
+
+2022-07-08 02:24:56 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11_private.h:
+ * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+ * sys/d3d11/gstd3d11compositor.cpp:
+ * sys/d3d11/gstd3d11convert.cpp:
+ * sys/d3d11/gstd3d11converter.cpp:
+ * sys/d3d11/gstd3d11decoder.cpp:
+ * sys/d3d11/gstd3d11deinterlace.cpp:
+ * sys/d3d11/gstd3d11overlaycompositor.cpp:
+ * sys/d3d11/gstd3d11pluginutils.cpp:
+ * sys/d3d11/gstd3d11testsrc.cpp:
+ * sys/d3d11/gstd3d11window.cpp:
+ * sys/d3d11/gstd3d11window_corewindow.cpp:
+ * sys/d3d11/gstd3d11window_dummy.cpp:
+ * sys/d3d11/gstd3d11window_swapchainpanel.cpp:
+ * sys/d3d11/gstd3d11window_win32.cpp:
+ d3d11: Use scoped device lock
+ Make code simpler and more deadlock-free
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2728>
+
+2022-07-08 18:53:01 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvencoder.cpp:
+ qsvencoder: Fix for latency report when B-frame is enabled
+ QSV runtime will introduce additional delay when B-frame is enabled
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2730>
+
+2022-07-08 19:05:19 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvencoder.cpp:
+ qsvencoder: Do not query again if previous call succeeded
+ Don't need to query multiple times
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2730>
+
+2022-07-08 03:38:30 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11screencapture.cpp:
+ * sys/d3d11/gstd3d11screencapture.h:
+ * sys/d3d11/gstd3d11screencapturesrc.cpp:
+ d3d11screencapturesrc: Set colorimetry to caps
+ Make use of reported DXGI colorspace if possible
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2729>
+
+2022-07-08 20:11:00 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11pluginutils.cpp:
+ d3d11: Update colorspace map
+ Map DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709 to sRGB colorimetry
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2729>
+
+2022-07-08 04:37:33 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11pluginutils.cpp:
+ * sys/d3d11/gstd3d11pluginutils.h:
+ d3d11: Add an utility method for DXGI colorspace conversion
+ Add a method for DXGI_COLOR_SPACE_TYPE -> GstVideoColorimetry conversion
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2729>
+
+2022-07-08 01:30:13 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11utils.cpp:
+ d3d11: Serialize ensure_element_data() call
+ It can be called any time from random thread. Thus, multiple
+ device objects can be created for the same physical device
+ if the call is not serialized, that's not a scenario we expect.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2727>
+
+2022-07-07 02:17:56 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/proxy/gstproxysink.c:
+ proxysink: Fix GstProxySrc leak
+ Clear weak pointer to peer src when disposing.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1552>
+
+2022-07-06 03:14:25 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/proxy/gstproxysink.c:
+ * gst/proxy/gstproxysink.h:
+ * tests/check/elements/proxysink.c:
+ * tests/check/meson.build:
+ proxysink: Make sure stream-start and caps events are forwarded
+ There might be a sequence of event and buffer flow:
+ - Got stream-start/caps/segment events
+ - Got flush events
+ - And then buffers with a new segment event
+ In the above case, stream-start and caps event might not be reached to
+ peer proxysrc if peer proxysrc is not ready to receive them.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1552>
+
+2022-03-04 14:28:21 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcice.c:
+ webrtc: implement support for asynchronous host resolution
+ Doesn't block anymore if a mdns host resolution takes multiple seconds
+ to complete in e.g. stun/turn/ice candidate usage.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1961>
+
+2022-07-04 22:27:34 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11converter.cpp:
+ * sys/d3d11/gstd3d11converter.h:
+ d3d11converter: Remove convert() method
+ Expose only single convert_buffer() method. It's safer approach than
+ passing arbitrary list of SRV/RTV pointers.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2713>
+
+2022-07-04 22:26:19 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11testsrc.cpp:
+ d3d11testsrc: Use convert_buffer() method
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2713>
+
+2022-07-04 22:01:49 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11compositor.cpp:
+ * sys/d3d11/gstd3d11videoprocessor.cpp:
+ * sys/d3d11/gstd3d11videoprocessor.h:
+ * sys/d3d11/gstd3d11videosink.cpp:
+ * sys/d3d11/gstd3d11window.h:
+ * sys/d3d11/meson.build:
+ d3d11: Remove video processor
+ Processing using ID3D11VideoProcessor was integrated into
+ GstD3D11Converter and GstD3D11VideoProcessor implementation is
+ not used anymore.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2713>
+
+2022-07-04 21:57:42 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11_private.h:
+ * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+ * gst-libs/gst/d3d11/gstd3d11memory.h:
+ * sys/d3d11/gstd3d11window.cpp:
+ * sys/d3d11/gstd3d11window_dummy.cpp:
+ * tests/examples/d3d11/d3d11videosink-appsrc.cpp:
+ d3d11memory: Update alloc_wrapped() API to avoid staging texture alloc
+ Add size parameter and use it for CPU accessible memory size
+ instead of allocating staging texture per API call.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2713>
+
+2022-06-30 11:04:29 +0200 Ignazio Pillai <ignazp@amazon.com>
+
+ * sys/wasapi/gstwasapiutil.c:
+ wasapi: Implement default audio channel mask
+ Some multichannel capture devices does not provide a channel mask value
+ which will result in a pipeline failure due to the empty channel mask.
+ Implemented the same fix used for wasapi2
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1204
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2692>
+
+2022-07-03 01:22:10 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11videosink.cpp:
+ * sys/d3d11/gstd3d11window.cpp:
+ * sys/d3d11/gstd3d11window.h:
+ * sys/d3d11/gstd3d11window_dummy.cpp:
+ * sys/d3d11/gstd3d11window_win32.cpp:
+ d3d11videosink: Add support for rotation
+ Adding "rotate-method" property
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1396
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2708>
+
+2022-07-03 01:18:19 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11videosink.cpp:
+ * sys/d3d11/gstd3d11videosink.h:
+ d3d11videosink: Protect window with lock at every place
+ Access to the object should be thread safe to support runtime
+ property update
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2708>
+
+2022-07-02 04:23:41 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11basefilter.cpp:
+ * sys/d3d11/gstd3d11convert.cpp:
+ d3d11convert: Add support for GstVideoOrientationMethod
+ Add flip/rotation support via GstVideoDirectionInterface
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2708>
+
+2022-07-02 02:15:00 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11converter.cpp:
+ d3d11converter: Add support for GstVideoOrientationMethod
+ Shader can handle rotation/flip with other conversions
+ at once in a single pipeline, and depending on device
+ capability, videoprocessor may support it too.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2708>
+
+2022-07-01 23:49:49 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11videosink.cpp:
+ * sys/d3d11/gstd3d11window.cpp:
+ * sys/d3d11/gstd3d11window.h:
+ * sys/d3d11/gstd3d11window_dummy.cpp:
+ d3d11videosink: Use single GstD3D11Converter object
+ GstD3D11Converter supports videoprocessor and texture upload.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2697>
+
+2022-07-01 21:35:15 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11_private.h:
+ * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+ d3d11memory: Add private method for texture wrapped memory allocation
+ Unlike public method gst_d3d11_allocator_alloc_wrapped(), newly
+ added method by this commit will not calculate CPU accessible memory
+ size, since staging texture must be allocated to calculate the size.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2697>
+
+2022-07-01 21:20:02 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11_private.h:
+ * sys/d3d11/gstd3d11pluginutils.h:
+ d3d11: Use library private header in plugin
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2697>
+
+2022-07-01 20:47:37 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11compositor.cpp:
+ d3d11compositor: Use single GstD3D11Converter object
+ ... and remove unnessary videoprocessor/upload/copy code
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2697>
+
+2022-07-01 04:12:23 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11convert.cpp:
+ d3d11convert: Add border-color property
+ Use user specified border-color instead of black color
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2697>
+
+2022-07-01 20:13:29 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11convert.cpp:
+ d3d11convert: Use single GstD3D11Converter object
+ ... and don't use GstD3D11VideoProcessor. Now GstD3D11Converter will
+ be able to convert using videoprocessor, and texture upload is also supported by
+ GstD3D11Converter. All the noisy code can be removed therefore.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2697>
+
+2022-06-22 02:44:26 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11compositor.cpp:
+ * sys/d3d11/gstd3d11convert.cpp:
+ * sys/d3d11/gstd3d11converter.cpp:
+ * sys/d3d11/gstd3d11converter.h:
+ * sys/d3d11/gstd3d11testsrc.cpp:
+ * sys/d3d11/gstd3d11window.cpp:
+ * sys/d3d11/gstd3d11window_dummy.cpp:
+ d3d11converter: Add support conversion using videoprocessor
+ * Add videoprocessor feature to d3d11converter, in order to unifiy
+ conversion flow.
+ * Add convert_buffer() method to support automatic shader/videoprocessor
+ selection. The method also supports texture upload if input memory
+ cannot be used for conversion (e.g., system memory or so)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2697>
+
+2022-06-21 23:43:46 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11overlaycompositor.cpp:
+ * sys/d3d11/gstd3d11overlaycompositor.h:
+ * sys/d3d11/gstd3d11window.cpp:
+ * sys/d3d11/gstd3d11window_dummy.cpp:
+ d3d11overlaycompositor: Objectify overlay render implementation
+ Be consistent with other implementations
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2697>
+
+2022-06-21 22:44:55 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11compositor.cpp:
+ * sys/d3d11/gstd3d11convert.cpp:
+ * sys/d3d11/gstd3d11pluginutils.cpp:
+ * sys/d3d11/gstd3d11pluginutils.h:
+ * sys/d3d11/gstd3d11window.cpp:
+ * sys/d3d11/gstd3d11window_dummy.cpp:
+ d3d11: Don't use const pointer to GstDxgiColorSpace
+ Instead, fill values of passed GstDxgiColorSpace struct
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2697>
+
+2022-06-28 16:40:55 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * sys/decklink/gstdecklink.h:
+ * sys/decklink/gstdecklinkvideosink.cpp:
+ decklinkvideosink: Pass video frames directly to the Decklink SDK without copying
+ If the video frame is stored in PBO memory then we need to copy anyway as
+ it might be stored in CPU-accessible GPU memory that can't be accessed
+ from the Decklink driver.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2674>
+
+2022-05-10 14:11:06 +0800 Vincent Cheah Beng Keat <vincent.beng.keat.cheah@intel.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ * sys/msdk/gstmsdkmjpegdec.c:
+ * sys/msdk/meson.build:
+ msdkmjpegdec: Add support for error report
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2401>
+
+2022-06-23 01:10:38 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvencoder.cpp:
+ * sys/nvcodec/gstnvencoder.h:
+ * sys/nvcodec/gstnvh264encoder.cpp:
+ * sys/nvcodec/gstnvh264encoder.h:
+ * sys/nvcodec/gstnvh265encoder.cpp:
+ * sys/nvcodec/gstnvh265encoder.h:
+ * sys/nvcodec/plugin.c:
+ nvencoder: Add support for dynamic GPU device selection
+ Adding nvautogpu{h264,h265}enc class which will accept upstream logical
+ GPU device object (GstCudaContext or GstD3D11Device) instead of
+ using pre-assigned GPU instance.
+ If upstream logical GPU device object is not NVENC compatible
+ (e.g., D3D11 device of non-NVIDIA GPU) or it's system memory,
+ then user specified "cuda-device-id" or "adapter-luid" property
+ will be used for GPU device selection.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2666>
+
+2022-06-27 20:50:15 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/cuda/gstcudautils.c:
+ cuda: Protect gst_cuda_ensure_element_context() with lock
+ Serialize the order of context setup since it can be called
+ from multiple threads
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2666>
+
+2022-06-30 16:45:46 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/cuda/gstcudamemory.c:
+ * sys/nvcodec/gstcudabasefilter.c:
+ * sys/nvcodec/gstcudaformat.h:
+ cuda: Add YUY2 and UYVY formats for GL interop
+ Those formats are not supported conversion formats by CUDA convert/scale elements
+ but would be useful for GL <-> CUDA interop use case.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2691>
+
+2022-06-30 17:47:05 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstcudamemorycopy.c:
+ cudadownload: Passthrough in case of CUDA -> SYSTEM
+ GstCudaMemory supports CPU access via CUDA pinned host memory already
+ and it would show faster memory transfer performance between
+ GPU and CPU than copying from/to normal system memory.
+ If downstream supports video meta, we can passthrough CUDA memory.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2690>
+
+2022-06-30 09:09:02 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: Reject caps that are not valid for creating an SDP media.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2689>
+
+2022-04-22 16:37:34 +0200 Corentin Damman <c.damman@intopix.com>
+
+ * sys/nvcodec/gstcudaformat.h:
+ cudaformat: add support for planar 4:2:2 YUV formats in CUDA D3D11 interop
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2269>
+
+2022-04-22 15:58:13 +0200 Corentin Damman <c.damman@intopix.com>
+
+ * gst-libs/gst/cuda/gstcudamemory.c:
+ * sys/nvcodec/gstcudaformat.h:
+ cudamemory: add support for planar 4:2:2 YUV formats
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2269>
+
+2021-06-22 14:43:29 +0200 Benjamin Gaignard <benjamin.gaignard@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2decoder.c:
+ v4l2codecs: enumerate all possible formats
+ Some decoder may also allow to (down) scale the decoded video.
+ Use VIDIOC_ENUM_FRAMESIZES iotcl to enumerate the possible output
+ formats resolutions.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2589>
+
+2022-06-26 22:26:29 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvav1dec.c:
+ * sys/nvcodec/gstnvdecoder.h:
+ * sys/nvcodec/gstnvh264dec.c:
+ * sys/nvcodec/gstnvh264dec.h:
+ * sys/nvcodec/gstnvh265dec.c:
+ * sys/nvcodec/gstnvh265dec.h:
+ * sys/nvcodec/gstnvvp8dec.c:
+ * sys/nvcodec/gstnvvp8dec.h:
+ * sys/nvcodec/gstnvvp9dec.c:
+ * sys/nvcodec/gstnvvp9dec.h:
+ nvcodec: Add cuda-device-id read-only property to stateless decoders
+ ... and remove unnecessary intermediate subclass from class hierarchy
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2665>
+
+2022-06-26 21:09:50 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvdec.c:
+ nvcodec: Add cuda-device-id read-only property to CUVID decoders
+ Similar to the other hardware decoder plugins, provides assigned
+ device id via property
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2665>
+
+2022-06-29 10:55:13 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ coding style: allow declarations after statement
+ See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1243/
+ and https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/78
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2683>
+
+2022-06-29 00:31:01 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11convert.cpp:
+ d3d11convert: Add support for GstVideoCropMeta
+ Performs crop, scale, and color space conversion all in
+ a single render pipeline. Note that cropping related property is not
+ added in this element (which will make negotiation very complicated),
+ but user can configure videocrop element for crop meta to be attached
+ on each buffer.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2678>
+
+2022-06-28 17:40:56 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11videosink.cpp:
+ d3d11videosink: Fix for force-aspect-ratio setting when rendering on shared texture
+ Set specified force-aspect-ratio value on window object
+ in case of shared texture rendering as well
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1304
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2671>
+
+2022-06-26 06:39:54 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfvideoencoder.cpp:
+ * sys/mediafoundation/gstmfvideoencoder.h:
+ mfvideoenc: Fix broken encoding when resolution is not an even number
+ Width and height values of 4:2:0 subsampled YUV format should be even number,
+ and if it's not the case, there should be padding which is not a contiguous memory layout.
+ Do copy input frames to MediaFoundation's memory in that case for now.
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1165
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2661>
+
+2022-06-28 01:29:06 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ext/opus/gstopusheader.h:
+ dv, opusparse: fix duplicate symbols in static build
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1262
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2670>
+
+2022-06-27 04:07:04 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/plugin.cpp:
+ d3d11: Enumerate devices via native DXGI API
+ D3D11CreateDevice() can fail for some reason (e.g., buggy GPU driver)
+ and then gst_d3d11_device_new() will return nullptr.
+ Use DXGI API directly instead of relying on the gst_d3d11_device_new()
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2663>
+
+2022-06-25 01:15:17 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tests/examples/d3d11/d3d11videosink-appsrc.cpp:
+ * tests/examples/d3d11/meson.build:
+ examples: Add an example for application texture sharing
+ This example shows GstD3D11BufferPool usage and a way of
+ D3D11 texture sharing between application and GStreamer via appsrc.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2646>
+
+2022-06-24 07:06:00 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tests/examples/d3d11/d3d11decoder-appsink.cpp:
+ * tests/examples/d3d11/meson.build:
+ examples: Add d3d11decoder zero-copy rendering example
+ This example code demonstrates D3D11 device sharing between
+ application and GStreamer. Application can access texture
+ using appsink and it can be rendered on application's window without
+ any copy operation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2646>
+
+2022-06-24 22:17:28 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11utils.cpp:
+ * gst-libs/gst/d3d11/gstd3d11utils.h:
+ d3d11: Add a helper method for GstContext creation
+ Add gst_d3d11_context_new() method for application to create
+ GstContext using GstD3D11Device.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2646>
+
+2022-06-24 01:00:00 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+ * gst-libs/gst/d3d11/gstd3d11memory.h:
+ d3d11memory: Add support for wrapping application texture
+ Add gst_d3d11_allocator_alloc_wrapped() method to support wrapping
+ application texture using GstD3D11Memory without copy.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2646>
+
+2022-06-24 01:25:07 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/d3d11-prelude.h:
+ * gst-libs/gst/d3d11/gstd3d11.h:
+ * gst-libs/gst/d3d11/gstd3d11_fwd.h:
+ * gst-libs/gst/d3d11/gstd3d11_private.h:
+ * gst-libs/gst/d3d11/gstd3d11bufferpool.cpp:
+ * gst-libs/gst/d3d11/gstd3d11bufferpool.h:
+ * gst-libs/gst/d3d11/gstd3d11config.h.meson:
+ * gst-libs/gst/d3d11/gstd3d11device.cpp:
+ * gst-libs/gst/d3d11/gstd3d11device.h:
+ * gst-libs/gst/d3d11/gstd3d11format.cpp:
+ * gst-libs/gst/d3d11/gstd3d11format.h:
+ * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+ * gst-libs/gst/d3d11/gstd3d11memory.h:
+ * gst-libs/gst/d3d11/gstd3d11utils.cpp:
+ * gst-libs/gst/d3d11/gstd3d11utils.h:
+ * gst-libs/gst/d3d11/meson.build:
+ d3d11: Install library headers
+ Our Direct3D11 abstraction layer has been improved and
+ it gained good shape from API point of view.
+ Also, On Windows, GstD3D11 has various advantages over GstGL
+ in terms of compatibility/stability/feature/performance.
+ Note that WGL implementation is known to be buggy for some
+ drivers/vendors/scenario (that's a reason why Google implemented ANGLE).
+ Moreover, GstGL is not fully optimized for Windows unfortunately.
+ It's the time to open this interface to application developers
+ for various optimized processing using our Direct3D11
+ infrastructure.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2646>
+
+2022-06-24 01:21:48 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11bufferpool.cpp:
+ * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+ * gst-libs/gst/d3d11/gstd3d11memory.h:
+ * sys/amfcodec/gstamfencoder.cpp:
+ * sys/d3d11/gstd3d11compositor.cpp:
+ * sys/d3d11/gstd3d11convert.cpp:
+ * sys/d3d11/gstd3d11decoder.cpp:
+ * sys/d3d11/gstd3d11deinterlace.cpp:
+ * sys/d3d11/gstd3d11screencapturesrc.cpp:
+ * sys/d3d11/gstd3d11testsrc.cpp:
+ * sys/d3d11/gstd3d11upload.cpp:
+ * sys/d3d11/gstd3d11videosink.cpp:
+ * sys/nvcodec/gstnvencoder.cpp:
+ * sys/qsv/gstqsvallocator_d3d11.cpp:
+ * sys/qsv/gstqsvdecoder.cpp:
+ * sys/qsv/gstqsvencoder.cpp:
+ d3d11: Update gst_d3d11_allocation_params_new() interface
+ Define GST_D3D11_ALLOCATION_FLAG_DEFAULT (0) value instead of
+ casting enum type everywhere. And pass D3D11_RESOURCE_MISC_FLAG value
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2646>
+
+2022-06-27 12:06:50 -0400 U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+ * sys/va/gstvavpp.c:
+ va: postproc: add scale-method property
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2654>
+
+2022-06-27 11:54:28 -0400 U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+ * sys/va/gstvafilter.c:
+ * sys/va/gstvafilter.h:
+ * sys/va/gstvavpp.c:
+ va: filter/postproc: move unconditional props to vavpp
+ Only conditional/dynamic properties should be installed/handled
+ by vafilter. Thus, move and install the unconditional/static
+ properties in vavpp.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2654>
+
+2022-06-23 11:39:57 -0400 U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+ * sys/va/gstvacompositor.c:
+ * sys/va/gstvafilter.c:
+ * sys/va/gstvafilter.h:
+ va: compositor/filter: use scale method setter
+ Use the filter's scale method member instead of the sample's member.
+ Removes the filter_flags member from the composite sample.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2654>
+
+2022-06-23 11:11:16 -0400 U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+ * sys/va/gstvafilter.c:
+ * sys/va/gstvafilter.h:
+ va: filter: add scale method field and setter
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2654>
+
+2022-01-21 21:33:52 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvabasedec.h:
+ * sys/va/gstvajpegdec.c:
+ * sys/va/gstvajpegdec.h:
+ * sys/va/gstvaprofile.c:
+ * sys/va/meson.build:
+ * sys/va/plugin.c:
+ va: Add vajpegdec element.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1575>
+
+2022-06-24 19:42:36 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/va/gstva.h:
+ * gst-libs/gst/va/gstvaallocator.c:
+ * gst-libs/gst/va/gstvaallocator.h:
+ * sys/va/gstvabasedec.c:
+ * sys/va/gstvabasedec.h:
+ va: allocator: Add hack for no fourcc when surface creation.
+ This patch adds general mechanism for handling specific hacks. In this
+ case for jpeg decoder in i965 driver, which cannot create surfaces
+ with fourcc specified.
+ From jpeg decoder to the allocator, which creates the surfaces,
+ there's a non-simple path: basedec pseudo-class adds a hacks guint32
+ which will be set by actual elements (vajpegdec, in this case) and
+ basedec will always set the hack to the allocator when the allocator
+ is instantiated.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1575>
+
+2022-06-24 19:54:51 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/va/gstvavideoformat.c:
+ va: Add RGBP format definition.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1575>
+
+2022-04-28 13:16:03 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvacaps.c:
+ va: caps: Add jpeg fields in coded caps.
+ Given the supported rt formats in a profile/entrypoint config it's
+ possible to know the supported JPEG colorspace and subsampling. This
+ patch adds this information in coded caps to a safer autoplugging
+ after jpegparser.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1575>
+
+2022-01-17 15:43:47 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstjpegdecoder.c:
+ * sys/va/gstjpegdecoder.h:
+ * sys/va/meson.build:
+ va: Add jpegdecoder base class.
+ This base class is intented for hardware accelerated decoders, but since
+ only VA uses it, it will be kept internally in va plugin.
+ It follows the same logic as the others video decoders in the library but.
+ as JPEG are independet images, there's no need to handle a DBP so no need
+ of a picture object. Instead a scan object is added with all the structures
+ required to decode the image (huffman and quant tables, mcus, etc.).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1575>
+
+2022-06-27 12:36:29 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/meson.build:
+ va: build: Remove duplicated source.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1575>
+
+2022-06-27 19:58:58 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstcudamemorycopy.c:
+ cudamemorycopy: Make sure writable caps before removing fields
+ The caps to be modified may not be writable when D3D11/GL/NVMM
+ are all disabled.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2664>
+
+2022-06-25 19:50:10 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * tests/check/meson.build:
+ tests: skip unit tests for dependency-less elements that have been disabled
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1136
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2660>
+
+2022-06-23 14:31:10 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/va/gstvaallocator.c:
+ va: allocator: Use always lseek to get dmabuf size.
+ Gallium drivers historically have reported strange dmabuf sizes, from always
+ zero to the whole frame (multiple fds). The simplest solution is to use lseek
+ SEEK_END to get the prime descriptor size.
+ Also the allocator raises a warning if both values differ in order to report
+ it to driver.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2574>
+
+2022-06-08 09:02:52 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/va/gstvaallocator.c:
+ va: allocator: Fix translation of VADRMPRIMESurfaceDescriptor
+ VADRMPRIMESurfaceDescriptor structure describes the offsets from the
+ point of view of the specific handle (DMABuf). While GstVideoInfo
+ (and the meta) describes offsets from the point of the view of the
+ GstBuffer, an aggregate of all the GstMemory (1 per handle).
+ This changes combined with [Mesa Fix](https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16813)
+ fixes decoding failure with AMD driver.
+ Fixes #1223
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2574>
+
+2022-06-23 21:43:11 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11.h:
+ * gst-libs/gst/d3d11/gstd3d11stagingbufferpool.cpp:
+ * gst-libs/gst/d3d11/gstd3d11stagingbufferpool.h:
+ * gst-libs/gst/d3d11/meson.build:
+ * sys/amfcodec/gstamfencoder.cpp:
+ * sys/d3d11/gstd3d11compositor.cpp:
+ * sys/d3d11/gstd3d11decoder.cpp:
+ * sys/d3d11/gstd3d11download.cpp:
+ * sys/d3d11/gstd3d11screencapturesrc.cpp:
+ * sys/d3d11/gstd3d11testsrc.cpp:
+ * sys/d3d11/gstd3d11upload.cpp:
+ * sys/d3d11/gstd3d11videosink.cpp:
+ * sys/qsv/gstqsvallocator_d3d11.cpp:
+ * sys/qsv/gstqsvencoder.cpp:
+ d3d11: Revert staging buffer pool implementation
+ The staging buffer pool implementation was added to improve
+ throughput performance since we can avoid per-frame
+ CPU copy operation via staging texture but it turned out that
+ we can not make it thread safe. See
+ https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1182
+ Reverting the staging texture implementation as it does not show
+ any visible value.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2651>
+
+2022-06-23 21:35:23 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvdecoder.cpp:
+ qsvdecoder: Fix system memory alignment
+ Do right padding, not left
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2651>
+
+2022-06-23 21:41:24 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11decoder.cpp:
+ d3d11decoder: Fix texture download
+ Stride applied to src/dst was reversed
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2651>
+
+2022-06-16 17:02:43 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst/jpegformat/gstjpegparse.c:
+ jpegparse: Add YUV440 sampling support.
+ Found some samples with this sampling, so in order to support it,
+ JPEG2000 header cannot be used anymore, a this patch also adds the
+ enums for each supported colorspace and sampling, avoiding hacks.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2641>
+
+2022-06-16 16:33:14 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/va/gstvaallocator.c:
+ * sys/va/gstvafilter.c:
+ va: Use driver implementation macro rather than function.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2642>
+
+2022-06-18 10:36:53 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst/videoparsers/gsth265parse.c:
+ h265parse: Fix uninitialized width and height when update src caps.
+ The commit b90d0274 introduces uninitialized width and height when we
+ consider to change the "pixel-aspect-ratio" for some interlaced stream.
+ We need to check the resolution in the src caps, and if no resolution
+ info found, there is no need to consider the aspect ratio.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2630>
+
+2022-06-21 20:04:15 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11deinterlace.cpp:
+ * sys/d3d11/gstd3d11testsrc.cpp:
+ * sys/d3d11/gstd3d11window.cpp:
+ d3d11: Fix some typos
+ Fix up spelling and d3d11testsrc class meta.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2644>
+
+2022-06-18 20:14:22 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11compositor.cpp:
+ * sys/d3d11/gstd3d11compositor.h:
+ * sys/d3d11/gstd3d11compositorbin.cpp:
+ * sys/d3d11/gstd3d11compositorbin.h:
+ * sys/d3d11/meson.build:
+ * sys/d3d11/plugin.cpp:
+ d3d11compositor: Performance optimization
+ Removing glvideomixer-like nuance (it was initially referenced)
+ and rewriting element since it's not an optimal design at all
+ from performance point of view.
+ * Remove wrapper bin (and internal conversion/upload/download elements)
+ which will waste CPU/GPU resources. Conversion/blending can be done by the
+ d3d11compositor element at once.
+ * Add support YUV blending without RGB conversion.
+ The RGB <-> YUV conversion is completely unnecessary since YUV textures
+ support blending as well.
+ * Remove complicated blending operation properties since it's hard
+ to use from application point of view. Instead, adding "operator" property
+ like what compositor element does.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2631>
+
+2022-06-18 20:40:40 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11converter.cpp:
+ d3d11converter: Fix alpha factor update
+ converter should set entire constant buffer values since it's mapped
+ with write-discard flag
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2631>
+
+2022-06-02 14:22:21 +0200 Robert Mader <robert.mader@collabora.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/wayland/gstwaylandsink.c:
+ * ext/wayland/gstwaylandsink.h:
+ * gst-libs/gst/wayland/gstwlwindow.c:
+ * gst-libs/gst/wayland/gstwlwindow.h:
+ gstwaylandsink: Add rotate-method property
+ Similar to and inspired by glimagesink and gtkglsink.
+ Using the Wayland buffer transform API allows to offload
+ rotate operations to the Wayland compositor. This can have
+ several advantages:
+ - The Wayland compositor may be able to use hardware plane
+ capabilities to do the rotation.
+ - In case of pre-rotated content on rotated outputs the
+ rotations may equal out, potentially allowing the
+ compositor to use hardware planes even if they don't
+ support rotate operations.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2543>
+
+2022-06-18 04:05:53 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11decoder.h:
+ d3d11decoder: Check 16K resolution support
+ 16K decoding is supported by some GPUs
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2629>
+
+2022-06-17 05:11:08 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11av1dec.cpp:
+ * sys/d3d11/gstd3d11decoder.cpp:
+ * sys/d3d11/gstd3d11decoder.h:
+ * sys/d3d11/gstd3d11h264dec.cpp:
+ * sys/d3d11/gstd3d11h265dec.cpp:
+ * sys/d3d11/gstd3d11mpeg2dec.cpp:
+ * sys/d3d11/gstd3d11vp8dec.cpp:
+ * sys/d3d11/gstd3d11vp9dec.cpp:
+ d3d11decoder: Add support for non-zero crop-{x,y} position
+ AVC and HEVC define crop rectangle and the x/y coordinates might
+ not be zero. This commit will address the non-zero x/y offset coordinates
+ via GstVideoCropMeta if downstream supports the meta and d3d11 memory.
+ Otherwise decoder will copy decoded texture into output frame.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2624>
+
+2022-06-17 02:45:51 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11convert.cpp:
+ * sys/d3d11/gstd3d11converter.cpp:
+ d3d11converter: Implement filling border color
+ Equivalent to GST_VIDEO_CONVERTER_OPT_BORDER_ARGB and
+ GST_VIDEO_CONVERTER_OPT_FILL_BORDER options of GstVideoConverter
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2622>
+
+2022-06-16 02:18:43 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11compositor.cpp:
+ * sys/d3d11/gstd3d11convert.cpp:
+ * sys/d3d11/gstd3d11converter.cpp:
+ * sys/d3d11/gstd3d11converter.h:
+ * sys/d3d11/gstd3d11testsrc.cpp:
+ * sys/d3d11/gstd3d11window.cpp:
+ * sys/d3d11/gstd3d11window.h:
+ * sys/d3d11/gstd3d11window_dummy.cpp:
+ * sys/d3d11/plugin.cpp:
+ d3d11converter: Objectify converter
+ ... and set conversion options via property
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2622>
+
+2022-06-16 00:52:16 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11shader.cpp:
+ * sys/d3d11/gstd3d11shader.h:
+ d3d11shader: Remove GstD3D11Quad helper object
+ It's not very generic to be used for various scenario. Use native D3D11
+ APIs directly instead.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2622>
+
+2022-06-16 00:50:12 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11compositor.cpp:
+ d3d11compositor: Don't use GstD3D11Quad
+ The helper object will be removed
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2622>
+
+2022-06-15 23:46:27 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11overlaycompositor.cpp:
+ d3d11overlaycompositor: Fix HLSL compiler warning
+ warning X3206: 'Sample': implicit truncation of vector type
+ And don't use GstD3D11Quad since it will result in redundant API calls
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2622>
+
+2022-02-01 23:46:43 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/closedcaption/gstcccombiner.c:
+ * ext/closedcaption/gstcccombiner.h:
+ cccombiner: expose output-padding property
+ When schedule=true and output-padding=false, cccombiner will not
+ inject padding in the output closed caption meta stream.
+ The property has no effect when schedule=false.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1621>
+
+2022-06-15 15:06:20 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: Limit sink query to sink pads
+ This allows the reception of streams that don't exactly match
+ the codec preferences. In particular, the ssrc in the codec preferences
+ is local sender SSRC, the other side is expected to send a different SSRC.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2615>
+
+2022-06-08 19:18:48 +0300 Vivia Nikolaidou <vivia@ahiru.eu>
+
+ * gst/videoparsers/gsth265parse.c:
+ avviddec, video.c, h265parse: Workaround for broken field-based interlaced encoders
+ Some encoders (e.g. Makito) have H265 field-based interlacing, but then
+ also specify an 1:2 pixel aspect ratio. That makes it kind-of work with
+ decoders that don't properly support field-based decoding, but makes us
+ end up with the wrong aspect ratio if we implement everything properly.
+ As a workaround, detect 1:2 pixel aspect ratio for field-based
+ interlacing, and check if making that 1:1 would make the new display
+ aspect ratio common. In that case, we override it with 1:1.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2577>
+
+2021-05-19 16:03:22 +0200 Stéphane Cerveau <scerveau@collabora.com>
+
+ * ext/srt/gstsrtsrc.c:
+ * ext/srt/gstsrtsrc.h:
+ srtsrc: add "keep-listening" property to avoid EOS on disconnect
+ The property 'keep-listening' avoids EOS
+ when the remote client disconnects.
+ It can be useful to a keep a pipeline alive
+ when the srt connection drops remotely.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/967>
+
+2021-05-19 16:00:13 +0200 Stéphane Cerveau <scerveau@collabora.com>
+
+ * ext/srt/gstsrtsrc.c:
+ srtsrc: remove dead code
+ Remove code useless since
+ 132e3a1af9deb1d2cdf84d22b954967207bcc03a
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/967>
+
+2022-05-19 05:24:08 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvh264dec.cpp:
+ qsvh264dec: Use newly added avcC data parsing API
+ Use gst_h264_parser_parse_decoder_config_record() method to parse
+ codec_data.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2449>
+
+2022-05-19 05:06:04 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/videoparsers/gsth264parse.c:
+ h264parse: Use newly added avcC data parsing API
+ Use gst_h264_parser_parse_decoder_config_record() method to parse
+ codec_data.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2449>
+
+2022-05-19 04:49:36 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gsth264decoder.c:
+ h264decoder: Use newly added avcC data parsing API
+ Use gst_h264_parser_parse_decoder_config_record() method to parse
+ codec_data.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2449>
+
+2022-05-19 04:25:38 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecparsers/gsth264parser.c:
+ * gst-libs/gst/codecparsers/gsth264parser.h:
+ * tests/check/libs/h264parser.c:
+ h264parser: Add an API for AVCDecoderConfigurationRecord parsing
+ Add a method for AVC configuration date parsing
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2449>
+
+2022-06-15 10:07:26 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * sys/decklink/gstdecklink.cpp:
+ decklinkvideosink: Fix selection of > PAL widescreen modes
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2601>
+
+2022-06-07 16:30:36 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvabasedec.c:
+ va: basedec: Select output format with the used chroma in decoder.
+ Currently, video format is decided with downstream caps intersection,
+ but that's not correct since chroma is not considered. The video
+ decoders have to decide the output format given the used chroma, not
+ by the downstream caps negotiation.
+ This patch changes that. Still, caps feature is selected by caps
+ negotiation, then, with the preferred caps feature, the output format
+ is search within that caps feature.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2569>
+
+2022-05-23 11:41:17 +1000 Matthew Waters <matthew@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/vulkan/gstvulkan.c:
+ * ext/vulkan/meson.build:
+ * ext/vulkan/vkoverlaycompositor.c:
+ * ext/vulkan/vkoverlaycompositor.h:
+ vulkan: add vulkan overlay compositor element
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2470>
+
+2022-05-23 11:26:24 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkfullscreenquad.c:
+ * gst-libs/gst/vulkan/gstvkfullscreenquad.h:
+ vkfullscreenquad: add support for disabling clearing
+ e.g. if drawing over the top of an existing image, we don'w want to
+ clear.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2470>
+
+2022-05-23 11:25:03 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkfullscreenquad.c:
+ * gst-libs/gst/vulkan/gstvkfullscreenquad.h:
+ vkfullscreenquad: support setting blend operations
+ Allows e.g. blending with an existing image.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2470>
+
+2022-05-23 11:24:04 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkfullscreenquad.c:
+ vkfullscreenaud: create the vulkan command pool upfront
+ Allows outside to reuse the same command buffer pool much more easily.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2470>
+
+2022-05-17 17:07:49 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkbuffermemory.h:
+ * gst-libs/gst/vulkan/gstvkbufferpool.h:
+ * gst-libs/gst/vulkan/gstvkcommandbuffer.h:
+ * gst-libs/gst/vulkan/gstvkdescriptorpool.h:
+ * gst-libs/gst/vulkan/gstvkdescriptorset.h:
+ * gst-libs/gst/vulkan/gstvkfence.h:
+ * gst-libs/gst/vulkan/gstvkimagebufferpool.h:
+ * gst-libs/gst/vulkan/gstvkimagememory.h:
+ * gst-libs/gst/vulkan/gstvkmemory.h:
+ * gst-libs/gst/vulkan/gstvkvideofilter.h:
+ vulkan: add some missing GAutoPtr definitions
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2470>
+
+2022-05-17 16:32:09 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkimageview.h:
+ vulkan: remove unneeded #ifdef for GAutoPtr
+ Not necessary anymore as we depend on a new enough Glib version
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2470>
+
+2022-05-17 13:22:33 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/gstvulkanelements.h:
+ * ext/vulkan/vkcolorconvert.h:
+ * ext/vulkan/vkdeviceprovider.h:
+ * ext/vulkan/vkdownload.h:
+ * ext/vulkan/vkimageidentity.h:
+ * ext/vulkan/vkshaderspv.h:
+ * ext/vulkan/vksink.h:
+ * ext/vulkan/vkupload.h:
+ * ext/vulkan/vkviewconvert.h:
+ vulkan: move element register definition to relevant element headers
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2470>
+
+2022-06-13 03:29:11 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11converter.cpp:
+ * sys/d3d11/gstd3d11pluginutils.cpp:
+ * sys/d3d11/gstd3d11pluginutils.h:
+ d3d11converter: Add support for colorimetry conversion
+ Handle color primaries and gamma functions.
+ HDR <-> SDR conversion (tone mapping) should be implemented as well
+ but not a part of this patch.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2581>
+
+2022-06-14 03:15:42 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11convert.cpp:
+ d3d11convert: Don't passthrough if colorimetry conversion is required
+ Different input/output colorimetry requires conversion
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2581>
+
+2022-06-14 00:24:41 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11pluginutils.cpp:
+ d3d11window: Use SDR colorspace whenever possible
+ PQ uses completely different light level scale
+ and it should not be used for SDR bt2020.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2581>
+
+2022-06-06 03:41:52 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11converter.cpp:
+ * sys/d3d11/gstd3d11converter.h:
+ * sys/d3d11/gstd3d11pluginutils.cpp:
+ * sys/d3d11/gstd3d11pluginutils.h:
+ d3d11converter: Rewrite conversion object
+ Rewriting GstD3D11Converter (equivalent to GstVideoConverter)
+ to optimize some conversion path and clean up.
+ * Extract YUV <-> RGB conversion matrix building method to
+ utils. It will be used by other implementation
+ * Use calculated offset values for YCbCr <-> YPbPr conversion
+ instead of hardcoded values
+ * Handle color range adjustment
+ * Move transform matrix building helper function to utils.
+ The method will be used by other elements
+ * Use single constant buffer. Multiple constatne buffer for
+ conversion pipeline is almost pointless
+ * Remove lots of duplicated HLSL code and split pixel shader
+ code path into sampling -> colorspace conversion ->
+ shader output packing
+ * Avoid floating point precision error around UV coordinates
+ * Optimize RGB -> YUV conversion path
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2581>
+
+2022-05-24 10:40:26 +0200 Benjamin Gaignard <benjamin.gaignard@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2format.c:
+ * sys/v4l2codecs/gstv4l2format.h:
+ * sys/v4l2codecs/linux/videodev2.h:
+ v4l2codecs: Add P010 pixel format
+ Copy V4L2_PIX_FMT_P010 define from linux header.
+ V4L2_PIX_FMT_P010 is the little endian definition of P010 so map
+ it GST_VIDEO_FORMAT_P010_10LE.
+ Add it v4l2 default video formats to allows v4l2 decoders to
+ enumerate and use it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2590>
+
+2022-04-06 12:56:30 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ext/gs/gstgscommon.cpp:
+ * gst/mpegtsdemux/mpegtsbase.c:
+ * gst/mxf/mxfdemux.c:
+ * meson.build:
+ * sys/d3d11/gstd3d11deinterlace.cpp:
+ * sys/va/vacompat.h:
+ Bump GLib requirement to >= 2.62
+ Can't require 2.64 yet because of
+ https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/323
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2568>
+
+2022-06-08 10:42:18 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * sys/decklink/gstdecklink.cpp:
+ * sys/decklink/gstdecklink.h:
+ decklink: Add support for 4K DCI, 8K/UHD2 and 8K DCI modes
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2570>
+
+2022-06-02 06:06:48 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvallocator_d3d11.cpp:
+ qsvencoder: Do not copy if input is D3D11 texture
+ In case that input is D3D11 texture, QSV seems to work regardless
+ of the alignment. Actually the alignment requirement seems to make
+ only sense for system memory.
+ Other Intel GPU dependent implementations (new VA encoder, and MediaFoundation)
+ do not require such alignment nor other vendor specific ones (NVENC and AMF)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2540>
+
+2022-06-09 23:19:24 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11decoder.cpp:
+ d3d11decoder: Fix for alternate interlacing signalling
+ Don't set d3d11+interlace caps feature. None of d3d11 elements
+ support it
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2579>
+
+2022-06-04 22:33:34 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11testsrc.cpp:
+ * sys/d3d11/gstd3d11testsrc.h:
+ * sys/d3d11/meson.build:
+ * sys/d3d11/plugin.cpp:
+ d3d11: Add d3d11testsrc element
+ Adding Direct3D11 based videotestsrc element
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2554>
+
+2022-06-08 16:38:00 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * docs/meson.build:
+ -bad/docs: be more selective about header files to exclude
+ A few header files in -bad contain comments that start with the
+ /** gtk-doc pattern, but should not actually be parsed (and warned
+ about as such).
+ Previously, we were using far-reaching wildcard patterns to avoid
+ parsing those, but this had the unintended side effect of also
+ excluding legitimate files, and creating confusion when comments
+ were not parsed from those.
+ Switch to excluding specific files instead.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2576>
+
+2022-05-27 05:15:13 +1000 Jan Schmidt <jan@centricular.com>
+
+ * sys/androidmedia/gstamc-constants.h:
+ * sys/androidmedia/gstamc.c:
+ * sys/androidmedia/gstamcvideoenc.c:
+ * sys/androidmedia/gstamcvideoenc.h:
+ amc: Add H.265 encoder mapping.
+ Add mime type mapping to enable the use of Android H.265 encoders
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2511>
+
+2022-05-13 17:21:25 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ * sys/msdk/gstmsdkdec.h:
+ msdkdec: Decoder should use its own pool when downstream allocator is not recognizable
+ Msdkdec should use it own pool when the allocation from downstream query
+ is not any msdk_allocator (i.e. msdk_video_allocator,
+ msdk_dmabuf_allocator and msdk_system_allocator). Otherwise, when using
+ pipeline "msdkh264dec ! vah264enc !" to transcode a not 16-bit-aligned
+ stream (i.e. 1920x1080), the transcoding will fail due to the size
+ mismatch issue between decoder pool and encoder pool.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2451>
+
+2022-06-06 10:56:12 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ va: Update plugin cache.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2522>
+
+2022-05-29 13:43:29 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvah264enc.c:
+ vah264enc: Guard logging functions
+ .. and use spec for rate control rather than static switch.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2522>
+
+2022-05-30 10:20:11 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvabaseenc.c:
+ * sys/va/gstvah264enc.c:
+ vah264enc: Support default and none rate control.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2522>
+
+2022-05-29 12:09:05 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvaencoder.c:
+ * sys/va/gstvaencoder.h:
+ * sys/va/gstvah264enc.c:
+ va: encoder: Rate control property.
+ Fixes: #1241
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2522>
+
+2022-05-30 11:26:24 +0100 Philippe Normand <philn@igalia.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/webrtc/gstwebrtcbin.c:
+ * tests/check/elements/webrtcbin.c:
+ webrtcbin: Add a prepare-data-channel GObject signal
+ This new signal allows data-channel consumers to configure signal handlers on a
+ newly created data-channel, before any data or state change has been notified.
+ The webrtcin unit-tests were refactored to make use of this new signal.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2427>
+
+2022-05-16 16:43:57 +0100 Philippe Normand <philn@igalia.com>
+
+ * ext/webrtc/webrtcdatachannel.c:
+ webrtcdatachannel: Chain to parent class constructed
+ And add a debug log statement.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2427>
+
+2022-06-02 10:32:28 -0400 Eric Knapp <emkman99@gmail.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * sys/decklink/gstdecklink.cpp:
+ * sys/decklink/gstdecklink.h:
+ * sys/decklink/gstdecklinkvideosink.cpp:
+ * sys/decklink/gstdecklinkvideosink.h:
+ decklinkvideosink: Add 3G-SDI Level A output support
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2544>
+
+2022-06-04 15:05:05 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/codecparsers/gsth264parser.c:
+ h264parser: Fix memory leaks in parse_user_data_unregistered().
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2551>
+
+2022-06-04 17:23:00 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/rtmp2/rtmp/rtmpmessage.c:
+ rtmp2: Fix allocation of GstRtmpMeta
+ Use the right size.
+ On 64-bit platforms, `GstMetaInfo` is larger than `GstRtmpMeta`, which
+ masked this bug. On 32-bit platforms, it causes crashes. Thanks to
+ @maxatka for discovering this.
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1721
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2553>
+
+2022-06-02 16:38:55 +0200 Robert Mader <robert.mader@collabora.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/wayland/gstwaylandsink.c:
+ gstwaylandsink: Add support for the "render-rectangle" property
+ We already implement the `set_render_rectangle` videooverlay interface,
+ thus install the videooverlay property accordingly.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2479>
+
+2022-01-04 15:20:41 +0100 Robert Mader <robert.mader@collabora.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/wayland/gstwaylandsink.c:
+ * ext/wayland/gstwaylandsink.h:
+ * ext/wayland/meson.build:
+ * ext/wayland/wldisplay.c:
+ * ext/wayland/wldisplay.h:
+ * ext/wayland/wlwindow.c:
+ * ext/wayland/wlwindow.h:
+ * gst-libs/gst/wayland/gstwl_fwd.h:
+ * gst-libs/gst/wayland/gstwlbuffer.c:
+ * gst-libs/gst/wayland/gstwlbuffer.h:
+ * gst-libs/gst/wayland/gstwlcontext.c:
+ * gst-libs/gst/wayland/gstwlcontext.h:
+ * gst-libs/gst/wayland/gstwldisplay.c:
+ * gst-libs/gst/wayland/gstwldisplay.h:
+ * gst-libs/gst/wayland/gstwllinuxdmabuf.c:
+ * gst-libs/gst/wayland/gstwllinuxdmabuf.h:
+ * gst-libs/gst/wayland/gstwlshmallocator.c:
+ * gst-libs/gst/wayland/gstwlshmallocator.h:
+ * gst-libs/gst/wayland/gstwlvideobufferpool.c:
+ * gst-libs/gst/wayland/gstwlvideobufferpool.h:
+ * gst-libs/gst/wayland/gstwlvideoformat.c:
+ * gst-libs/gst/wayland/gstwlvideoformat.h:
+ * gst-libs/gst/wayland/gstwlwindow.c:
+ * gst-libs/gst/wayland/gstwlwindow.h:
+ * gst-libs/gst/wayland/meson.build:
+ * gst-libs/gst/wayland/wayland-prelude.h:
+ * gst-libs/gst/wayland/wayland.c:
+ * gst-libs/gst/wayland/wayland.h:
+ * tests/examples/waylandsink/main.c:
+ * tests/examples/waylandsink/wayland-threads.c:
+ gstwayland: Move reusable parts of the waylandsink into a library
+ In preparation for the new element `GstGtkWaylandSink`, move reusable
+ parts out of `GstWaylandSink` into the already exisiting but very
+ barebone library.
+ Notable changes include:
+ - the `GstWaylandVideo` interface was dropped
+ - support for `wl-shell` was dropped
+ - lots of renaming in order to match established naming patterns
+ - lots of code modernisations, reducing boilerplate
+ - members were made private wherever possible
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2479>
+
+2022-06-06 00:30:15 +0200 Jan Alexander Steffens (heftig) <heftig@archlinux.org>
+
+ * ext/opencv/gstcvtracker.cpp:
+ * ext/opencv/gstcvtracker.h:
+ * ext/opencv/meson.build:
+ opencv: Allow building against 4.6.x
+ Replace the broken version checks with one modeled after
+ `GLIB_CHECK_VERSION`.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2557>
+
+2022-05-30 16:31:38 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * tests/check/elements/webrtcbin.c:
+ webrtcbin: Reject answers that don't contain the same number of m-line as offer
+ Otherwise, it segfaults later. Also add test to validate this.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2526>
+
+2022-03-15 12:44:20 +0100 Marc Leeman <m.leeman@televic.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst/librfb/gstrfb-utils.c:
+ * gst/librfb/gstrfb-utils.h:
+ * gst/librfb/gstrfbsrc.c:
+ * gst/librfb/gstrfbsrc.h:
+ * gst/librfb/meson.build:
+ rfbsrc: add uri interface
+ Adding a uri interface enables plugging in RFB/VNC sources to anything
+ that makes use of uridecodebin:
+ gst-play-1.0 rfb://:password@10.40.216.180:5903?shared=1
+ Use userinfo to pass user (ignored) and password, other key/value pairs
+ can be encoded in the query part of the URI (see shared)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1963>
+
+2022-05-17 00:36:24 +0200 Andoni Morales Alastruey <ylatuya@gmail.com>
+
+ * gst/videoparsers/gsth264parse.c:
+ * gst/videoparsers/gstvideoparseutils.c:
+ * gst/videoparsers/gstvideoparseutils.h:
+ videoparse: rename from _free to _clear
+ The function does not free the structure but the data
+ contained within.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458>
+
+2022-05-16 14:21:53 +0200 Andoni Morales Alastruey <ylatuya@gmail.com>
+
+ * gst-libs/gst/codecparsers/gsth264parser.c:
+ h264parse: fix leak in user data unregistered
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458>
+
+2022-02-27 18:41:12 +0000 Andoni Morales Alastruey <ylatuya@gmail.com>
+
+ * gst-libs/gst/codecparsers/gsth264parser.h:
+ Fix documentation
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458>
+
+2022-02-17 15:55:19 +1100 Brad Hards <bradh@frogmouth.net>
+
+ * tests/check/elements/h264parse.c:
+ h264parse: add unit test for Precision Time Stamp in SEI messages
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458>
+
+2021-12-19 19:14:05 +0100 Andoni Morales Alastruey <ylatuya@gmail.com>
+
+ * gst-libs/gst/codecparsers/gsth264parser.c:
+ * gst-libs/gst/codecparsers/gsth264parser.h:
+ * gst/videoparsers/gsth264parse.c:
+ * gst/videoparsers/gsth264parse.h:
+ * gst/videoparsers/gstvideoparseutils.c:
+ * gst/videoparsers/gstvideoparseutils.h:
+ h264parse: add support Precision Time Stamp in SEI messages
+ Expose User Data Unregistered as a new Meta and add
+ API to parse Precision Time Stamp (ST 0604).
+ Fixes #927
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458>
+
+2022-06-02 02:22:19 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/cuda/meson.build:
+ meson: cuda: Add missing override_dependency()
+ Required for GstCuda library to be consumed via "gstreamer-cuda-1.0"
+ dependency.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2539>
+
+2022-06-02 21:25:38 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/cuda/gstcudautils.c:
+ cuda: Fix uninitialized debug category
+ Make sure debug category init
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2542>
+
+2022-04-22 06:46:07 +0000 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkav1enc.c:
+ * sys/msdk/gstmsdkav1enc.h:
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/gstmsdkenc.h:
+ msdkav1enc: Reorder pts
+ This is a workaround for pts because oneVPL cannot handle the pts
+ correctly when there is b-frames. We first cache the input frame pts in
+ a queue then retrive the smallest one for the output encoded frame as
+ we always output the coded frame when this frame is displayable.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2089>
+
+2022-03-31 06:45:03 +0000 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkav1enc.c:
+ * sys/msdk/gstmsdkav1enc.h:
+ msdkav1enc: Add b-pyramid and p-pyramid
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2089>
+
+2022-03-31 06:33:55 +0000 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkav1enc.c:
+ * sys/msdk/gstmsdkav1enc.h:
+ msdkav1enc: Add tile for encoding
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2089>
+
+2022-03-31 06:03:36 +0000 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdk.c:
+ * sys/msdk/gstmsdkav1enc.c:
+ * sys/msdk/gstmsdkav1enc.h:
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/gstmsdkenc.h:
+ * sys/msdk/meson.build:
+ msdk: Add msdkav1enc element
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2089>
+
+2022-05-31 20:39:29 +0200 Jakub Adam <jakub.adam@collabora.com>
+
+ * sys/amfcodec/gstamfencoder.cpp:
+ amfencoder: always empty the queue when pushing output samples
+ gst_amf_encoder_try_output() pushes at most one output buffer downstream
+ although more may be ready. As a consequence, output samples will keep
+ queueing up in AMFComponent whenever QueryOutput() returns AMF_REPEAT
+ (and do_wait is FALSE). This has negative impact on latency when the
+ video being encoded is a live stream.
+ In order to avoid it, always retrieve and push all samples available in
+ AMFComponent's output queue at once.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2536>
+
+2022-05-29 06:55:27 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/directshow/gstdshowvideosrc.cpp:
+ * sys/directshow/plugin.cpp:
+ directshow: Fix for uninitialized debug category warning
+ A method in the code is used in another place (device provider)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2519>
+
+2022-05-29 12:42:52 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvabaseenc.c:
+ * sys/va/gstvabasetransform.c:
+ va: Register base classes as abstract.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2521>
+
+2022-05-29 12:09:22 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvaencoder.c:
+ va: encoder: Use entrypoint type.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2521>
+
+2022-05-27 14:47:21 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvah264enc.c:
+ va264enc: Fix typo.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2508>
+
+2022-05-27 14:45:51 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvaencoder.c:
+ va: encoder: Fix regression since commit 2042c2d4f0.
+ There's no need to compare with the open entrypoint to query the
+ encoder. This commit removes the checks to the configured entrypoint
+ with the parameter.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2508>
+
+2022-03-26 23:48:46 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfh264enc.cpp:
+ * sys/mediafoundation/gstmfh265enc.cpp:
+ * sys/mediafoundation/gstmfvideoencoder.cpp:
+ * sys/mediafoundation/gstmfvideoencoder.h:
+ * sys/mediafoundation/gstmfvp9enc.cpp:
+ * tests/examples/mediafoundation/meson.build:
+ * tests/examples/mediafoundation/mfvideoenc-dynamic-reconfigure.c:
+ * tests/examples/meson.build:
+ mfvideoencoder: Handle dynamic property update
+ Re-init MFT on property update to apply new encoding options
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2037>
+
+2022-03-26 23:50:24 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/plugin.cpp:
+ mediafoundation: Run indent
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2037>
+
+2022-03-26 22:24:27 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfvideoencoder.cpp:
+ mfvideoenc: Remove redundant bitwise or operation
+ MFT_ENUM_FLAG_SORTANDFILTER_APPROVED_ONLY (0xc0) covers
+ MFT_ENUM_FLAG_SORTANDFILTER (0x40)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2037>
+
+2022-03-26 21:47:10 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfvideoencoder.cpp:
+ mfvideoencoder: Early terminate d3d11 interop
+ Shared texture will work only for the same GPU
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2037>
+
+2022-03-26 21:43:50 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfvideoencoder.cpp:
+ mfvideoencoder: Check HRESULT code as well for GPU sync
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2037>
+
+2022-03-26 21:40:47 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfvideoencoder.cpp:
+ mfvideoencoder: Don't specify keyed mutex misc flag
+ Current implemetation copies textures using non-keyed mutex way.
+ D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX is pointless
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2037>
+
+2022-05-25 13:25:15 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvacompositor.c:
+ vacompositor: Pass video info pointer than copying it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2496>
+
+2022-05-25 13:24:41 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvacompositor.c:
+ vacompositor: Remove useless consts.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2496>
+
+2022-05-27 21:13:43 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+ * gst-libs/gst/d3d11/gstd3d11memory.h:
+ * sys/d3d11/gstd3d11decoder.cpp:
+ d3d11decoder: Work around Intel DXVA driver crash
+ Intel DXVA driver crashes sometimes (from GPU thread) if
+ ID3D11VideoDecoder is released while there are outstanding view objects.
+ To make sure the object life cycle, holds an ID3D11VideoDecoder refcount
+ in GstD3D11Memory object.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2504>
+
+2022-05-26 23:50:08 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvencoder.cpp:
+ qsvencoder: Bind internal texture to render target
+ ... so that memory allocator can initialize texture with black color
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2502>
+
+2022-05-26 23:46:05 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+ d3d11memory: Clear YUV texture with black color
+ We prefer black color as an initial texture color and
+ Direct3D11 runtime will initialize texture with zeros (except for alpha)
+ which is fine for RGB formats. But UV components of YUV texture
+ requires manual clear for black color.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2502>
+
+2022-05-24 12:54:05 -0400 U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+ * tests/check/elements/vacompositor.c:
+ * tests/check/meson.build:
+ tests: va: add simple vacompositor test
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2481>
+
+2022-04-22 16:29:56 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkh265enc.c:
+ * sys/msdk/gstmsdkh265enc.h:
+ msdkh265enc: Add intra refresh parameters
+ Note that for msdkh265enc, intra refresh parameters are only supported
+ under low-power mode. If these parameters are set without enabling lowpower,
+ they will be simply ignored.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2308>
+
+2022-04-15 13:38:20 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkh264enc.c:
+ * sys/msdk/gstmsdkh264enc.h:
+ msdkh264enc: Add intra refresh parameters
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2308>
+
+2022-05-23 00:36:50 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tests/examples/d3d11/d3d11videosink-kb.c:
+ * tests/examples/d3d11/d3d11videosink-kb.h:
+ * tests/examples/d3d11/d3d11videosink.c:
+ * tests/examples/d3d11/meson.build:
+ * tests/examples/key-handler.c:
+ * tests/examples/key-handler.h:
+ * tests/examples/nvcodec/meson.build:
+ * tests/examples/nvcodec/nvcodec-kb.c:
+ * tests/examples/nvcodec/nvcodec.c:
+ * tests/examples/nvcodec/nvcodec.h:
+ * tests/examples/qsv/meson.build:
+ * tests/examples/qsv/qsvenc-dynamic-reconfigure.c:
+ tests: examples: Stop duplicating keyboard interaction handler code
+ Extract the code from QSV and use it for D3D11 and NVCODEC examples
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2468>
+
+2022-05-26 14:08:55 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ext/webrtc/gstwebrtcice.c:
+ webrtc: fix build with older libnice versions
+ 1) check for right macro name when checking for NICE_VERSION_CHECK
+ 2) if libnice version is 0.1.18.1 this should not satisfy
+ a NICE_VERSION_CHECK(0,1,19).
+ Fixes build with libnice 0.1.18.1 subproject checkout.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2499>
+
+2022-05-24 05:33:05 +1000 Jan Schmidt <jan@centricular.com>
+
+ * sys/androidmedia/gstamc.c:
+ amc: Don't map input buffer with write mode
+ When copying data out of a GStreamer buffer, we don't
+ need to map it writable.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2492>
+
+2022-05-11 09:17:46 +0100 Philippe Normand <philn@igalia.com>
+
+ * ext/webrtc/gstwebrtcice.c:
+ webrtc: Use new libnice API to get the candidate relay address
+ Corresponding libnice API added in:
+ https://gitlab.freedesktop.org/libnice/libnice/-/merge_requests/229 (0.1.19)
+ https://gitlab.freedesktop.org/libnice/libnice/-/merge_requests/232 (0.1.20)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1998>
+
+2022-05-11 09:15:33 +0100 Philippe Normand <philn@igalia.com>
+
+ * ext/webrtc/gstwebrtcice.c:
+ * ext/webrtc/meson.build:
+ webrtc: Ensure the NICE_CHECK_VERSION macro is available
+ This macro was introduced in libnice 0.1.19.1, so until we bump our libnice
+ dependency to 0.1.20 we have to vendor the macro.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1998>
+
+2022-03-26 12:36:46 +0000 Philippe Normand <philn@igalia.com>
+
+ * ext/webrtc/gstwebrtcice.c:
+ * ext/webrtc/gstwebrtcice.h:
+ * ext/webrtc/gstwebrtcstats.c:
+ webrtc: Refactor ICECandidateStats freeing logic to a dedicated function
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1998>
+
+2022-03-20 12:36:07 +0000 Philippe Normand <philn@igalia.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: Document IceCandidateStats and RTCIceCandidatePairStats
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1998>
+
+2021-09-01 16:12:24 +0000 Sherrill Lin <lshuying@amazon.com>
+
+ * tests/check/elements/webrtcbin.c:
+ webrtcstats: Update unit test for outbound rtp stats
+ "remote-id" is not guaranteed to present after commit 1deb034e3d873f577a38bc483e6256b0346ee874.
+ Thus, we should not fail the test if "remote-id" is not found.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1998>
+
+2021-06-30 16:01:10 -0400 Sherrill Lin <lshuying@amazon.com>
+
+ webrtcstats: Improve selected candidate pair stats by adding ICE candidate info
+ The implementation follows w3.org specs:
+ * https://www.w3.org/TR/webrtc-stats/#icecandidate-dict*
+ * https://www.w3.org/TR/webrtc-stats/#candidatepair-dict*
+ Corresponding unit tests are also added.
+ Rebased and updated from
+ https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1462
+ Fixes #1207
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1998>
+
+2022-05-23 20:58:47 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvabaseenc.c:
+ * sys/va/gstvabaseenc.h:
+ * sys/va/gstvaencoder.c:
+ * sys/va/gstvaencoder.h:
+ * sys/va/gstvah264enc.c:
+ * sys/va/gstvah264enc.h:
+ * sys/va/plugin.c:
+ va: H264enc: Add encoder for VAEntrypointEncSliceLP.
+ We name vah264lpenc to support H264's VAEntrypointEncSliceLP encoder.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2472>
+
+2022-05-25 20:01:34 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvabaseenc.c:
+ va: encoder: Do not reset the frame count when reconfig().
+ We should not reset the input/output_frame_count when some configure
+ changes. For example, the if resolution changes, the current way just
+ resets the frame count and make the PTS of the output buffer restart
+ from the original PTS of the first frame. That causes a lot of QOS
+ event and drop all the new frames.
+ We should only reset them when encoder start().
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2489>
+
+2022-05-25 19:57:18 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvabaseenc.c:
+ * sys/va/gstvabaseenc.h:
+ * sys/va/gstvah264enc.c:
+ va: encoder: change reset_state() to a virtual function of base class.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2489>
+
+2022-05-24 10:21:31 -0400 U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+ * sys/va/gstvacompositor.c:
+ vacompositor: check caps and info return values
+ Check return values for get caps and video info from caps.
+ This was flagged by static analysis.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2480>
+
+2022-05-25 02:38:01 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11av1dec.cpp:
+ * sys/d3d11/gstd3d11h264dec.cpp:
+ * sys/d3d11/gstd3d11h265dec.cpp:
+ * sys/d3d11/gstd3d11mpeg2dec.cpp:
+ * sys/d3d11/gstd3d11vp8dec.cpp:
+ * sys/d3d11/gstd3d11vp9dec.cpp:
+ d3d11decoder: Don't print error log on negotiation failure
+ It may not be a critical error and even expected when shutting down
+ pipeline or flushing.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2483>
+
+2022-05-24 11:06:39 +0200 Erwann Gouesbet <erwann.gouesbet@blacknut.com>
+
+ * sys/d3d11/gstd3d11screencapture.cpp:
+ d3d11screencapture: Fix missing/outdated cursor shape
+ d3d11screencapture can miss a cursor shape to draw or draw an outdated cursor shape.
+ - AcquireNextFrame only provides cursor shape when there is one update
+ - current d3d11screencapture skips cursor shape when mouse is not drawn
+ So, if a gstreamer application uses d3d11screencapture with cursor initially not drawn
+ "show-cursor"=false and then switches this property to true, the cursor will not be
+ actually drawn until AcquireNextFrame provides a new cursor shape.
+ This commit makes d3d11screencapture always update the cursor shape information, even
+ if the mouse is not drawn. d3d11screencapture will always have the latest cursor shape
+ when requested to draw it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2485>
+
+2022-05-24 14:47:43 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/plugin.c:
+ va: Avoid unused variable if logging is disabled.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2478>
+
+2022-05-22 10:10:38 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvaencoder.c:
+ * sys/va/gstvah264enc.c:
+ va: Keep include's code style
+ Headers are in alphabetical order.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2465>
+
+2022-05-24 13:19:45 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvafilter.c:
+ vafilter: Fix logging of unsupported alpha blending.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2477>
+
+2022-05-24 14:36:36 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * tests/check/elements/webrtcbin.c:
+ webrtcbin: reuese the same fec/rtx/red payload types for the same media payload
+ WHen bundling, if multiple medias are used with the same media payload, then
+ each of the fec/rtx/red additions would add a distinct payload. This could
+ very easily overflow the available payload space.
+ Instead, track the relationship between the media payload value and
+ the relevant fec/rtx/red payload values and reuse them whenever
+ necessary, even when bundling.
+ e.g.
+ ...
+ a=group:BUNDLE video0 video1
+ m=video 9 UDP/SAVPF 96 97
+ a=mid:video0
+ a=rtpmap:96 VP8/90000
+ a=rtpmap:97 rtx/90000
+ a=fmtp:97 apt=96
+ ...
+ m=video 9 UDP/SAVPF 96 97
+ a=mid:video1
+ a=rtpmap:96 VP8/90000
+ a=rtpmap:97 rtx/90000
+ a=fmtp:97 apt=96
+ ...
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2474>
+
+2022-05-23 00:04:03 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tests/examples/qsv/qsvenc-dynamic-reconfigure.c:
+ tests: examples: Fix typo in QSV encoder example
+ Fixing width adjustment
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2467>
+
+2022-05-22 22:44:11 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvav1enc.cpp:
+ * sys/qsv/gstqsvav1enc.h:
+ * sys/qsv/meson.build:
+ * sys/qsv/plugin.cpp:
+ * tests/examples/qsv/qsvenc-dynamic-reconfigure.c:
+ qsv: Add AV1 encoder element
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2467>
+
+2022-05-22 21:38:34 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvencoder.cpp:
+ * sys/qsv/gstqsvh264enc.cpp:
+ * sys/qsv/gstqsvh265enc.cpp:
+ * sys/qsv/gstqsvjpegenc.cpp:
+ * sys/qsv/gstqsvvp9enc.cpp:
+ qsvencoder: Move common property to baseclass
+ adapter-luid and device-path are common for all codecs
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2467>
+
+2022-05-23 15:03:03 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvabaseenc.c:
+ va: baseenc: No need to check the frame pointer in handle_frame().
+ No need to check the NULL pointer of "frame" in error handling, it
+ is assured non-NULL by base class and we already use it everywhere
+ in this function.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2471>
+
+2022-05-22 15:03:54 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvabaseenc.c:
+ va: baseenc: include the "vacompat.h" for old version glib.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2463>
+
+2022-04-26 12:07:26 -0400 U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+ * sys/va/plugin.c:
+ va: vpp: enable compositor
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2332>
+
+2022-04-26 12:06:17 -0400 U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+ * sys/va/gstvacompositor.c:
+ * sys/va/gstvacompositor.h:
+ * sys/va/gstvafilter.c:
+ * sys/va/gstvafilter.h:
+ * sys/va/meson.build:
+ va: vpp: add compositor
+ New implementation of a VA-API compositor with blend feature.
+ Various chunks of code was taken from vavpp.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2332>
+
+2022-03-25 21:51:47 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvah264enc.c:
+ va: Apply the va base encoder to the vah264enc.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2330>
+
+2022-03-25 21:48:05 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvabaseenc.c:
+ * sys/va/gstvabaseenc.h:
+ * sys/va/meson.build:
+ va: Add the GstVaBaseEnc common object for all va encoders.
+ Just like the GstVaBaseDec and GstVaBaseTransform, this base encoder
+ will handle all common logic for all va encoders.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2330>
+
+2022-05-15 00:56:59 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11_private.h:
+ * gst-libs/gst/d3d11/gstd3d11device.cpp:
+ * gst-libs/gst/d3d11/gstd3d11format.cpp:
+ * gst-libs/gst/d3d11/gstd3d11format.h:
+ d3d11device: Enhance format enumeration and debugging
+ * Enhance debug log to print human readable D3D11_FORMAT_SUPPORT flags
+ value, instead of packed numeric flagset value.
+ * Only device supported format will be added to format table.
+ Depending on device feature level (i.e., D3D9 feature devices),
+ 16bits formats will not be supported. Although there might be formats
+ we deinfed but not supported, it will not be a major issue in practice
+ since our D3D11 implementation does not support legacy devices already
+ (known limitation) and also old d3dvideosink will be promoted in that case.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2441>
+
+2021-12-22 19:23:37 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst/jpegformat/gstjpegparse.c:
+ * gst/jpegformat/gstjpegparse.h:
+ * gst/jpegformat/meson.build:
+ * tests/check/elements/jpegparse.c:
+ jpegparse: Rewrite element.
+ Now it uses the JPEG parser in libgstcodecparsers, while the whole
+ code is simplified by relying more in baseparser class for tag
+ handling.
+ The element now signals chroma-format and default framerate is 0/1,
+ which is for still-images.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1473>
+
+2021-12-25 13:00:17 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * tests/check/elements/jpegparse.c:
+ tests: jpegparse: Mark data as static.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1473>
+
+2021-12-22 18:13:17 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst/jpegformat/gstjifmux.c:
+ * gst/jpegformat/gstjifmux.h:
+ * gst/jpegformat/gstjpegformat.h:
+ * gst/jpegformat/gstjpegparse.c:
+ * gst/jpegformat/meson.build:
+ jpegformat: Use codecparsers' for JPEG markers.
+ Instead of repeating JPEG markers definition, this patch uses those
+ defined in gstcodecparsers library.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1473>
+
+2021-12-22 17:35:23 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst/jpegformat/gstjpegparse.c:
+ * gst/jpegformat/gstjpegparse.h:
+ jpegparse: Headers cleanup
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1473>
+
+2022-05-18 16:54:53 +0100 Philippe Normand <philn@igalia.com>
+
+ * ext/webrtc/webrtcdatachannel.c:
+ datachannel: Notify low buffered amount according to spec
+ Quoting
+ https://www.w3.org/TR/webrtc/#dom-rtcdatachannel-bufferedamountlowthreshold
+ The bufferedAmountLowThreshold attribute sets the threshold at which the
+ bufferedAmount is considered to be low. When the bufferedAmount decreases from
+ above this threshold to **equal** or below it, the bufferedamountlow event fires.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2448>
+
+2022-05-17 14:15:40 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/mpegtsmux/gstbasetsmux.c:
+ tsmux: Make sure to set srcpad caps under all conditions before outputting the first buffer
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1218
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2438>
+
+2022-05-17 04:27:00 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11device.cpp:
+ d3d11device: Don't print ERROR log on open failure
+ Device open can be failed in various reasons, but it's unlikely
+ our problem
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2433>
+
+2022-05-17 14:02:28 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/sdp/gstsdpdemux.c:
+ sdpdemux: Release request pads from rtpbin when freeing a stream
+ Otherwise the pads of the rtpbin stay around forever and are leaked.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2437>
+
+2022-05-17 03:32:10 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/libmfx/meson.build:
+ * sys/qsv/meson.build:
+ qsv: Disable non-MSVC build on Windows
+ ... and remove pointless UWP consideration that will never work.
+ Cross-compiled binary has an issue which causes deadlock.
+ Although cerbero will not build this plugin for non-MSVC build,
+ people can still build this plugin and may complain its brokenness.
+ See also
+ https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/854
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2431>
+
+2022-04-28 16:02:26 +0100 Diogo Goncalves <diogo@diporg.com>
+
+ * sys/applemedia/avfvideosrc.m:
+ avfvideosrc: fix wrong framerate selected for caps
+ This fix solves an issue where a format that doesn't support the
+ requested framerate would be selected. It ensures that we use the first
+ format and framerate pair that supports the requested caps.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2331>
+
+2022-05-12 05:13:08 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11av1dec.cpp:
+ * sys/d3d11/gstd3d11decoder.cpp:
+ * sys/d3d11/gstd3d11decoder.h:
+ * sys/d3d11/gstd3d11h264dec.cpp:
+ * sys/d3d11/gstd3d11h265dec.cpp:
+ * sys/d3d11/gstd3d11mpeg2dec.cpp:
+ * sys/d3d11/gstd3d11vp8dec.cpp:
+ * sys/d3d11/gstd3d11vp9dec.cpp:
+ d3d11decoder: Add hardcoded minimum resolution values to caps for NVIDIA
+ NVIDIA GPUs have undocumented limitation regarding minimum resolution
+ and it can be queried via a NVDEC API. However, since we don't want to
+ bring CUDA/NVDEC API into D3D11, use hardcoded values for now
+ until we find a nice way for capability check.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2406>
+
+2022-05-12 07:23:29 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/mxf/mxfdemux.c:
+ mxfdemux: Handle files produced by legacy FFmpeg
+ Until March 2022, the FFmpeg MXF muxer would write the various index table
+ segments with the same instance ID, which should only be used if it is a
+ duplicate/repeated table.
+ In order to cope with those, we first compare the other index table segment
+ properties (body/index SID, start position) before comparing the instance
+ ID. This will ensure that we don't consider them as duplicate, but can still
+ detect "real" duplicates (which would have the same other properties).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2407>
+
+2022-05-03 16:23:09 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvabasedec.c:
+ va: basedec: Always select first available format.
+ If the stream chroma doesn't match with any video format in the source
+ caps template (generated from va config surface formats) instead of
+ return unknown, return the first available format in the template,
+ assuming that the driver would be capable to do color conversions.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2404>
+
+2022-05-07 03:15:44 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gsth265decoder.c:
+ h265decoder: Improve robustness against malformed NAL packets
+ Use newly added gst_h265_parser_identify_and_split_nalu_hevc()
+ method to handle broken streams where packetized NAL unit
+ contain start code prefix in it.
+ It's obviously wrong stream but we know how to work around it
+ and even need to support such broken streams since
+ stateless decoder implementations are being a primary
+ decoder element.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2394>
+
+2022-05-10 03:32:42 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecparsers/gsth265parser.c:
+ * gst-libs/gst/codecparsers/gsth265parser.h:
+ * tests/check/libs/h265parser.c:
+ h265parser: Add a new NAL parsing API to handle malformed packets
+ Add gst_h265_parser_identify_and_split_nalu_hevc() method to
+ handle a case where packetized stream contains start-code prefix.
+ This new method behaves similar to exisiting gst_h265_parser_identify_nalu_hevc()
+ but it will scan start-code prefix to split given data into
+ NAL units.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2394>
+
+2022-03-30 17:19:54 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvaav1dec.c:
+ * sys/va/gstvabasedec.c:
+ * sys/va/gstvah264dec.c:
+ * sys/va/gstvah265dec.c:
+ * sys/va/gstvampeg2dec.c:
+ * sys/va/gstvavp8dec.c:
+ * sys/va/gstvavp9dec.c:
+ va: basedec: Select format from template or negotiated caps.
+ Instead of using a hard-coded list of preferred formats according the
+ chroma type, now if now caps are pre-negotiated, from template caps
+ will choose the first format with the same chroma type. If
+ pre-negotiated, then it will choose the first format, with same chroma
+ type, from the first caps structure.
+ Also all the decoders will check if GST_VIDEO_FORMAT_UNKNOWN is
+ returned, failing the negotiation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2351>
+
+2022-05-06 17:53:51 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/va/gstvadisplay_drm.c:
+ libs: va: Add O_CLOEXEC flag at opening drm device.
+ So any other potential subprocess won't have access to it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2386>
+
+2022-05-06 18:21:00 -0400 Olivier Crête <olivier.crete@ocrete.ca>
+
+ * gst/pcapparse/gstpcapparse.c:
+ pcapparse: Set timestamp in DTS, not PTS
+ This matches the behaviour of basesrc, in particular, it matches the
+ behaviour of udpsrc, so it's easier to use to as a replacement to test
+ rtpjitterbuffer and other similar elements.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2388>
+
+2022-01-16 15:51:32 +0300 Dmitry Osipenko <digetx@gmail.com>
+
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ * sys/v4l2codecs/linux/v4l2-controls.h:
+ v4l2codecs: h264: Set frame type flags
+ V4L spec now requires decode_params flags to be set in accordance to the
+ frame's type. In particular this is required by H.264 decoder of NVIDIA
+ Tegra SoC to operate properly. Set the flags based on type of parsed
+ slices.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1757>
+
+2022-05-06 10:50:59 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * tests/check/meson.build:
+ tests: Skip test if srtp element not built
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2383>
+
+2022-05-06 01:46:36 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+ d3d11memory: Protect against concurrent access from GPU and CPU to staging texture
+ Staging texture does not allow GPU access while it's CPU mapped.
+ But because we cannot block concurrent READ access by GstMemory design,
+ additional staging texture is still required.
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1182
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2375>
+
+2022-05-05 02:16:54 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11screencapture.cpp:
+ * sys/d3d11/gstd3d11screencapture.h:
+ * sys/d3d11/gstd3d11screencapturesrc.cpp:
+ * tests/examples/d3d11/d3d11screencapturesrc.cpp:
+ d3d11screencapturesrc: Fix crash when d3d11 device is different from owned one
+ GstD3D11ScreenCapture object is pipeline-independent global object
+ and the object can be shared by multiple src elements,
+ in order to overcome a limitation of DXGI Desktop Duplication API.
+ Note that the API allows only single capture session in a process for
+ a monitor.
+ Therefore GstD3D11ScreenCapture object must be able to handle a case
+ where a src element holds different GstD3D11Device object. Which can
+ happen when GstD3D11Device context is not shared by pipelines.
+ What's changed:
+ * Allocates capture texture with D3D11_RESOURCE_MISC_SHARED for the
+ texture to be able to copied into other device's texture
+ * Holds additional shader objects per src element and use it when drawing
+ mouse
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1197
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2366>
+
+2022-05-05 20:35:57 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/mxf/mxfmux.c:
+ mxfmux: Disable aggregator's default negotiation
+ mxfmux can't negotiate caps with upstream/downstream and always outputs
+ specific caps based on the input streams. This will always happen before
+ it produces the first buffers.
+ By having the default aggregator negotiation enabled the same caps
+ would be pushed twice in the beginning, and again every time a
+ reconfigure event is received.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2372>
+
+2022-05-05 20:35:49 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/mpegtsmux/gstbasetsmux.c:
+ mpegtsmux: Disable aggregator's default negotiation
+ mpegtsmux can't negotiate caps with upstream/downstream and always outputs
+ specific caps based on the input streams. This will always happen before
+ it produces the first buffers.
+ By having the default aggregator negotiation enabled the same caps
+ would be pushed twice in the beginning, and again every time a
+ reconfigure event is received.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2372>
+
+2022-05-05 00:24:26 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gsth264decoder.c:
+ h264decoder: Fix for unhandled low-delay decoding case
+ Baseclass calls get_preferred_output_delay() in a chain of
+ sequence header parsing and then new_sequence() is called
+ with required DPB size (includes render-delay) information.
+ Thus latency query should happen before the sequence header
+ parsing for subclass to report required render-delay accordingly
+ via get_preferred_output_delay() method.
+ (e.g., zero delay in case of live pipeline)
+ This commit is to fix wrong liveness signalling in case of
+ upstream packetized format.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2363>
+
+2022-05-05 00:49:27 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gsth265decoder.c:
+ h265decoder: Fix for unhandled low-delay decoding case
+ Baseclass calls get_preferred_output_delay() in a chain of
+ sequence header parsing and then new_sequence() is called
+ with required DPB size (includes render-delay) information.
+ Thus latency query should happen before the sequence header
+ parsing for subclass to report required render-delay accordingly
+ via get_preferred_output_delay() method.
+ (e.g., zero delay in case of live pipeline)
+ This commit is to fix wrong liveness signalling in case of
+ upstream packetized format.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2364>
+
+2022-05-04 23:36:30 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvh264dec.c:
+ * sys/nvcodec/gstnvh265dec.c:
+ nvh264dec,nvh265dec: Don't realloc bitstream buffer per slice
+ Allocated memory size has not been updated which results in
+ realloc per slice. Fixing it and also release bitstream buffer
+ on ::close(), not finalize.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2361>
+
+2022-04-29 20:28:53 +0200 Jakub Adam <jakub.adam@collabora.com>
+
+ * sys/d3d11/gstd3d11screencapture.cpp:
+ d3d11screencapture: Set viewport when drawing mouse cursor
+ If there weren't any moved/dirty regions in the captured frame, the
+ viewport of the ID3D11DeviceContext would be left at whatever previous
+ value it had, which could lead to the cursor being drawn in a wrong
+ position and/or in an incorrect size.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2362>
+
+2022-05-02 22:59:59 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvav1dec.c:
+ * sys/nvcodec/gstnvav1dec.h:
+ * sys/nvcodec/gstnvdecoder.c:
+ * sys/nvcodec/gstnvdecoder.h:
+ * sys/nvcodec/gstnvh264dec.c:
+ * sys/nvcodec/gstnvh265dec.c:
+ * sys/nvcodec/gstnvvp8dec.c:
+ * sys/nvcodec/gstnvvp9dec.c:
+ * sys/nvcodec/meson.build:
+ * sys/nvcodec/plugin.c:
+ nvcodec: Add AV1 decoder
+ Adding GstCodecs based AV1 decoder element
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1453>
+
+2022-05-03 23:56:12 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gstav1decoder.c:
+ * gst-libs/gst/codecs/gstav1decoder.h:
+ av1decoder: Add support for render delay
+ Sync up with other decoder baseclass implementations
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1453>
+
+2022-04-28 03:14:54 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gstav1decoder.c:
+ * gst-libs/gst/codecs/gstav1picture.h:
+ av1decoder: Hold OBU temporal and spatial id in picture struct
+ NVDEC API requires the information
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1453>
+
+2022-05-04 01:03:37 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/meson.build:
+ meson: nvcodec: Remove unnecessary override option and fix build with non-MSVC
+ cpp_std=c++11 was hack for macOS build but we don't build this plugin
+ for Apple device anymore. And add "-Wno-deprecated-declarations"
+ compile option for gcc/clang
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1453>
+
+2021-12-17 17:22:22 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/cuviddec.h:
+ * sys/nvcodec/nvEncodeAPI.h:
+ * sys/nvcodec/nvcuvid.h:
+ nvcodec: Bump SDK header version to 11.1
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1453>
+
+2022-05-02 22:46:06 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvdecoder.c:
+ * sys/nvcodec/gstnvh264dec.c:
+ * sys/nvcodec/gstnvh265dec.c:
+ * sys/nvcodec/gstnvvp8dec.c:
+ * sys/nvcodec/gstnvvp9dec.c:
+ nvdecoder: Handle DPB size margin in a single place
+ ... instead of each subclass
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2343>
+
+2022-05-02 22:41:53 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11av1dec.cpp:
+ * sys/d3d11/gstd3d11decoder.cpp:
+ * sys/d3d11/gstd3d11h264dec.cpp:
+ * sys/d3d11/gstd3d11h265dec.cpp:
+ * sys/d3d11/gstd3d11mpeg2dec.cpp:
+ * sys/d3d11/gstd3d11vp8dec.cpp:
+ * sys/d3d11/gstd3d11vp9dec.cpp:
+ d3d11decoder: Handle DPB size margin in a single place
+ ... instead of each subclass
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2343>
+
+2022-04-28 04:25:05 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gstav1decoder.c:
+ * gst-libs/gst/codecs/gstav1decoder.h:
+ * gst-libs/gst/codecs/gstmpeg2decoder.c:
+ * gst-libs/gst/codecs/gstmpeg2decoder.h:
+ * gst-libs/gst/codecs/gstvp8decoder.c:
+ * gst-libs/gst/codecs/gstvp8decoder.h:
+ * gst-libs/gst/codecs/gstvp9decoder.c:
+ * gst-libs/gst/codecs/gstvp9decoder.h:
+ * sys/d3d11/gstd3d11av1dec.cpp:
+ * sys/d3d11/gstd3d11mpeg2dec.cpp:
+ * sys/d3d11/gstd3d11vp8dec.cpp:
+ * sys/d3d11/gstd3d11vp9dec.cpp:
+ * sys/nvcodec/gstnvvp8dec.c:
+ * sys/nvcodec/gstnvvp9dec.c:
+ * sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
+ * sys/v4l2codecs/gstv4l2codecvp8dec.c:
+ * sys/v4l2codecs/gstv4l2codecvp9dec.c:
+ * sys/va/gstvaav1dec.c:
+ * sys/va/gstvampeg2dec.c:
+ * sys/va/gstvavp8dec.c:
+ * sys/va/gstvavp9dec.c:
+ codecs: Signal required DPB size for AV1,MPEG2,VP8, and VP9 via new_sequence()
+ Make all codecs consistent so that subclass can know additional DPB
+ size requirement depending on render-delay configuration regardless
+ of codec. Note that render-delay feature is not implemented for AV1
+ yet but it's planned.
+ Also, consider new_sequence() is mandatory requirement, not optional
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2343>
+
+2022-04-12 12:17:09 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2format.c:
+ v4l2codecs: Port to the new tile size helper
+ This will complete the scaling of width/height shift scaling
+ as only a partial implementation was made.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190>
+
+2022-05-02 11:46:59 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/cuda/meson.build:
+ cuda: Fix introspection warnings
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1183
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2344>
+
+2022-05-02 21:57:07 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/cuda/gstcudautils.c:
+ Revert "cuda: Fix GstCudaContext refcount bug"
+ This reverts commit df7ee0e21518ab5586e4094f2089048f3767d5f5.
+ We should not unref it since gst_message_new_have_context()
+ takes ownership of the GstContext.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2342>
+
+2022-05-02 09:15:57 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/mpegtsdemux/mpegtspacketizer.c:
+ tsdemux: Demote warning to simple debug
+ That issue is actually handled, so don't pollute the logs with such warning.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2340>
+
+2022-04-29 19:08:46 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/interlace/gstinterlace.c:
+ interlace: Also handle a missing "interlace-mode" field as progressive
+ Otherwise caps negotiation will fail in situations that are supposed
+ to work, like:
+ "video/x-raw,framerate=(fraction)60/1" ! interlace field-pattern=0 ! "video/x-raw,framerate=(fraction)30/1"
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2335>
+
+2022-04-29 19:08:32 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/interlace/gstinterlace.c:
+ interlace: Add some more debug output to the getcaps function
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2335>
+
+2022-04-29 16:56:54 +0100 Myles Inglis <myles.inglis@vcatechnology.com>
+
+ * gst-libs/gst/cuda/gstcudautils.c:
+ cuda: Fix GstCudaContext refcount bug
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2334>
+
+2022-04-28 17:08:11 +0200 Ludvig Rappe <ludvigr@axis.com>
+
+ * ext/webrtc/icestream.c:
+ webrtc: Fix memory leak in icestream
+ Since both g_value_set_object() and g_weak_ref_get() takes a reference
+ there will be two new references to the GstWebRTCICE object when there
+ should be only one. g_value_take_object() has the same functionality as
+ g_value_set_object() but does not take a reference.
+ Without this change, the GstWebRTCICE object will be leaked.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2333>
+
+2022-04-27 22:50:37 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/cuda/gstcudautils.c:
+ cuda: Correct CUDA device id field in GstContext structure
+ device id is unsigned int, not signed.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2311>
+
+2022-04-28 13:23:39 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/codecs/gsth265decoder.h:
+ codecs: h265decoder: Fix documentation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2328>
+
+2022-04-27 15:24:50 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/mpegtsdemux/mpegtsbase.c:
+ mpegts: Handle "empty" PMT gracefully
+ Some streams have 2 PMT sections in a single TS packet. The first one is "valid"
+ but doesn't contain/define any streams. That causes an unrecoverable issue when
+ we try to activate the 2nd (valid) PMT.
+ Instead of doing that, pre-emptively refuse to process PMT without any streams
+ present within. We still do post that section on the bus to inform applications.
+ Fixes #1181
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2310>
+
+2022-04-26 09:11:07 +0200 Stéphane Cerveau <scerveau@collabora.com>
+
+ * tests/check/elements/srtp.c:
+ srtp: fix flaky unit test
+ Use different port for each test to avoid other UDP
+ packet to be received.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2294>
+
+2022-04-28 00:48:35 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/plugin.cpp:
+ d3d11h265dec: Assign PRIMARY + 1 rank
+ Promote d3d11h265dec to be default one if available
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2314>
+
+2022-04-28 00:31:49 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvvp9dec.c:
+ nvvp9sldec: Increase DPB size to cover render delay
+ This should've included in the previous MR
+ https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/987
+ already, but missed.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2313>
+
+2022-03-07 15:44:04 +0000 Thibault Saunier <tsaunier@igalia.com>
+
+ * ext/qroverlay/gstqroverlay.c:
+ qroverlay: Reset data_changed after we use the info
+ It was never reset so it was always TRUE once the data was changed!
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2299>
+
+2022-03-04 22:00:18 +0000 Thibault Saunier <tsaunier@igalia.com>
+
+ * ext/qroverlay/gstqroverlay.c:
+ qroverlay: Add a GstQROverlay meta
+ See documentation
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2299>
+
+2022-04-27 00:27:06 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/onvif/gstrtponviftimestamp.c:
+ rtponviftimestamp: add extension data to all packets ..
+ regardless of whether they are input as individual buffers or
+ buffer lists.
+ The ONVIF specification requires all packets to hold the extension,
+ it makes no sense to behave differently when handling buffer lists.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2303>
+
+2022-03-08 21:26:16 +0000 Thibault Saunier <tsaunier@igalia.com>
+
+ * sys/nvcodec/gstcudaconvert.c:
+ cudaconvert: Enhance debugging when setting video info fails
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2300>
+
+2022-04-26 22:35:30 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/codecparsers/gsth265bitwriter.c:
+ codecparsers: bitwriter: Calculate PicSizeInCtbsY when writing slice header.
+ The slice->pps->PicWidthInCtbsY/PicHeightInCtbsY values are calculated when
+ we parse the slice header. But they are not calculated in bitwriter and so
+ may not have valid value when writing slice header.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2287>
+
+2022-04-24 17:26:03 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/codecparsers/gsth265bitwriter.c:
+ codecparsers: bitwriter: Fix some coverity issues of H265 bitwriter.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2287>
+
+2022-04-24 00:02:18 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvabasedec.c:
+ va: dec: Use gst_buffer_pool_config_set_va_alignment() to set alignment.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2282>
+
+2022-04-23 23:59:08 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/va/gstvapool.h:
+ va: pool: Replace all tabs with spaces in header file.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2282>
+
+2022-04-23 23:52:34 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/va/gstvapool.c:
+ va: pool: Delete the GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT.
+ The va pool is used for GPU side surface/image, its alignment should
+ not be changed arbitrarily by others. So we decide not to expose the
+ GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT flag anymore.
+ Instead, user can call gst_buffer_pool_config_set_va_alignment() to
+ set its surface/image alignment.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2282>
+
+2022-04-23 23:40:14 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/va/gstvapool.c:
+ * gst-libs/gst/va/gstvapool.h:
+ va: pool: Add set_va_alignment() API.
+ We want to use gst_buffer_pool_config_set_va_alignment() to replace
+ gst_buffer_pool_config_get_video_alignment(). The later one is specific
+ for GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT option.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2282>
+
+2022-04-26 01:16:06 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst/videoparsers/gstav1parse.c:
+ av1parse: Fix a latent memory leak in colorimetry setting.
+ Also delete the useless "have_cinfo" judgement.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2288>
+
+2022-04-24 22:54:58 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst/videoparsers/gstav1parse.c:
+ av1parse: Correct the meaning of color_range flag.
+ According to spec:
+ color range equal to 0 shall be referred to as the studio swing
+ representation and color range equal to 1 shall be referred to as
+ the full swing representation.
+ The current status is just the opposite.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2288>
+
+2022-04-25 22:59:14 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvencoder.cpp:
+ qsvencoder: Workaround for invalid DTS with VP9
+ SDK runtime seems to report zero DTS for all frames in case of VP9 but
+ we don't need to use DTS for the codec.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2291>
+
+2022-04-24 00:37:40 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/cuda/meson.build:
+ * sys/nvcodec/meson.build:
+ nvcodec: Stop building for non-{Windows,Linux} target
+ The other platforms, specifically macOS have not been supported already
+ because this plugin loads so or dll. Moreover, NVIDIA dropped
+ support for macOS as of CUDA 11.0. See also
+ https://developer.nvidia.com/nvidia-cuda-toolkit-11_0_0-developer-tools-mac-hosts
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2283>
+
+2022-03-28 17:06:46 +0200 Stéphane Cerveau <scerveau@collabora.com>
+
+ * tests/check/elements/srtp.c:
+ * tests/check/meson.build:
+ srtp: add unit tests
+ Enable unit tests in meson.build
+ Add test_play_key_error to check the stats
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2027>
+
+2022-03-25 17:47:23 +0100 Stéphane Cerveau <scerveau@collabora.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/srtp/gstsrtpdec.c:
+ * ext/srtp/gstsrtpdec.h:
+ srtpdec: add counts in stats
+ In order to count the buffers which have been received and dropped for
+ decryption reason, add a stats to track it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2027>
+
+2022-04-23 04:00:21 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11window_win32.cpp:
+ d3d11videosink: Fix for unhandled mouse double click events
+ Only window created with CS_DBLCLKS style can receive those mouse
+ double click events, so we need to use the style for internal/external
+ windows can get double click events.
+ Also, passthrough mouse events to parent window in the same message pumping
+ threads instead of manually forwarding each mouse event.
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1172
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2277>
+
+2022-03-07 08:46:57 -0500 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * gst-libs/gst/vulkan/meson.build:
+ * sys/msdk/meson.build:
+ Meson: Fix deprecation warnings
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1876>
+
+2022-04-22 17:44:06 +0200 Stéphane Cerveau <scerveau@collabora.com>
+
+ * ext/rsvg/gstrsvgdec.h:
+ rvsg: fix cairo include
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2276>
+
+2022-04-22 12:29:29 +0200 Corentin Damman <c.damman@intopix.com>
+
+ * sys/nvcodec/cuda-converter.c:
+ cuda-converter: fix nvrtc compilation on non-English locale systems
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2268>
+
+2022-04-21 00:38:37 +0900 Sangchul Lee <sc11.lee@samsung.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: Avoid access of freed memory
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2256>
+
+2022-04-15 22:19:09 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvah264enc.c:
+ va: h264enc: Do not let L0 number surplus the HW limitation.
+ The algorithm to calculate the L0/L1 number may let the L0 number
+ surplus the HW limitation. We should ensure that limitation after
+ that calculation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2202>
+
+2022-03-02 14:42:42 +0800 He Junyan <junyan.he@intel.com>
+
+ * tests/check/libs/h265bitwriter.c:
+ * tests/check/meson.build:
+ test: Add test cases for the H265 bitwriter.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1831>
+
+2022-03-02 14:31:05 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/codecparsers/gsth265bitwriter.c:
+ * gst-libs/gst/codecparsers/gsth265bitwriter.h:
+ * gst-libs/gst/codecparsers/meson.build:
+ codecparsers: bitwriter: Add the common bit writer functions for H265.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1831>
+
+2022-04-20 13:18:34 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvavpp.c:
+ va: vpp: Update the colorimetry and HDR fields when fixup src caps.
+ When we fixup src caps, the current way of handling the HDR fields is not
+ correct.
+ 1. We trim the HDR fields only when the input caps is not a subset of the
+ fixup src caps. But in fact, the input caps with HDR fields such as the
+ "mastering-display-info" can possibly be the subset of the fixup src caps,
+ if they have all same other fields.
+ 2. We always copy the colorimetry from input caps to src caps if it is
+ absent. But when hdr-tone-mapping is enabled, the HDR->SDR conversion makes
+ the colorimetry change. We should use downstream's setting, or just use the
+ default colorimetry of SDR.
+ We changes to:
+ 1. If hdr-tone-mapping is enabled, we trim all HDR fields and add a correct
+ colorimetry.
+ 2. Copy colorimetry from input if it is still absent.
+ 3. Consider the subset replacement.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2244>
+
+2022-04-20 23:06:56 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvdecoder.h:
+ * sys/qsv/gstqsvh264dec.cpp:
+ * sys/qsv/gstqsvh264enc.cpp:
+ * sys/qsv/gstqsvh265dec.cpp:
+ * sys/qsv/gstqsvh265enc.cpp:
+ * sys/qsv/gstqsvjpegenc.cpp:
+ * sys/qsv/gstqsvvp9enc.cpp:
+ qsv: Add GPU description to element long-name on Windows
+ Would be useful for a multi-Intel-GPU system
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2249>
+
+2022-04-19 21:38:31 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvavpp.c:
+ vapostproc: Notify if hdr-tone-mapping property changes.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2247>
+
+2022-03-30 18:09:36 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/va/vasurfaceimage.c:
+ * gst-libs/gst/va/vasurfaceimage.h:
+ * sys/va/gstvafilter.c:
+ * sys/va/gstvah264enc.c:
+ va: Expose a couple va surface/buffer methods.
+ And use them in va plugin.
+ Also, set as default logging category the vadisplay one.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2077>
+
+2022-04-20 08:09:58 +0900 Wonchul Lee <wonchul.dev@gmail.com>
+
+ * ext/dash/gstdashsink.c:
+ dashsink: Unlock when failed to get content
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2242>
+
+2022-04-18 17:50:22 +0900 Camilo Celis Guzman <camilo@pexip.com>
+
+ * gst/videoparsers/gstav1parse.c:
+ gstav1parse: fixup various possible logical errors
+ Found via an analyzed build for Clang. Specifically we had:
+ gstav1parse.c[1850,11] in gst_av1_parse_detect_stream_format: Logic error: The left operand of '==' is a garbage value
+ gstav1parse.c[1606,11] in gst_av1_parse_handle_to_small_and_equal_align: Logic error: The left operand of '==' is a garbage value
+ Also a couple of false-positives:
+ gstav1parse.c[1398,24] in gst_av1_parse_handle_one_obu: Logic error: Branch condition evaluates to a garbage value
+ gstav1parse.c[1440,37] in gst_av1_parse_handle_one_obu: Logic error: The left operand of '-' is a garbage value
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2230>
+
+2022-03-25 10:18:34 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * meson.build:
+ Always define ENABLE_NLS
+ GLib guarantees libintl API is always available, provided by
+ proxy-libintl as last resort. GLib itself unconditionally define
+ ENABLE_NLS.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028>
+
+2022-03-25 10:20:24 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * gst-libs/gst/gettext.h:
+ * gst-libs/gst/gst-i18n-plugin.h:
+ Delete unused i18n headers
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028>
+
+2022-03-25 09:59:23 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * ext/curl/gstcurlelement.c:
+ * ext/curl/gstcurlhttpsrc.c:
+ * ext/dash/gstdashdemux.c:
+ * ext/ladspa/gstladspa.c:
+ * ext/openal/gstopenal.c:
+ * ext/openal/gstopenalelement.c:
+ * ext/opencv/gsttemplatematch.cpp:
+ * ext/resindvd/resindvdbin.c:
+ * ext/resindvd/resindvdsrc.c:
+ * ext/rtmp/gstrtmpsrc.c:
+ * ext/smoothstreaming/gstmssdemux.c:
+ * ext/smoothstreaming/gstsmoothstreaming-plugin.c:
+ * ext/sndfile/gstsf.c:
+ * ext/sndfile/gstsfdec.c:
+ * ext/sndfile/gstsfelement.c:
+ * ext/sndfile/gstsfsink.c:
+ * ext/sndfile/gstsfsrc.c:
+ * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+ * gst/aiff/aiffparse.c:
+ * gst/aiff/gstaiffelement.c:
+ * gst/asfmux/gstasfmux.c:
+ * gst/asfmux/gstasfparse.c:
+ * gst/camerabin2/camerabingeneral.c:
+ * gst/camerabin2/gstcamerabin2.c:
+ * gst/camerabin2/gstdigitalzoom.c:
+ * gst/camerabin2/gstviewfinderbin.c:
+ * gst/camerabin2/gstwrappercamerabinsrc.c:
+ * gst/dvdspu/gstdvdspu.c:
+ * gst/midi/midi.c:
+ * gst/mpegtsdemux/mpegtsbase.c:
+ * gst/transcode/gsttranscodebin.c:
+ * gst/transcode/gsttranscodeelement.c:
+ * sys/dvb/gstdvb.c:
+ * sys/dvb/gstdvbelement.c:
+ * sys/dvb/gstdvbsrc.c:
+ * sys/dvb/parsechannels.c:
+ Replace gst-i18n-*.h with gi18n-lib.h
+ GLib guarantees libintl is always present, using proxy-libintl as
+ last resort. There is no need to mock gettex API any more.
+ This fix static build on Windows because G_INTL_STATIC_COMPILATION must
+ be defined before including libintl.h, and glib does it for us as part
+ as including glib.h.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028>
+
+2022-04-13 15:23:56 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/cuda/gstcudautils.c:
+ * gst-libs/gst/cuda/gstcudautils.h:
+ * sys/nvcodec/gstcudamemorycopy.c:
+ cuda: Fix typo in gst_cuda_buffery_copy_type_to_string
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1472>
+
+2021-12-12 13:19:52 +0000 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/cuda/gstcudacontext.c:
+ * gst-libs/gst/cuda/gstcudacontext.h:
+ * gst-libs/gst/cuda/gstcudautils.h:
+ cuda: Add a `gst_cuda_context_new_wrapped` constructor
+ So that application or people implementing cuda element from
+ outside GStreamer itself can ensure that their contexts are used
+ by GStreamer.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1472>
+
+2021-12-08 11:48:08 +0000 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/libs/cuda/index.md:
+ * docs/libs/cuda/sitemap.txt:
+ * docs/meson.build:
+ * gst-libs/gst/cuda/cuda-gst.h:
+ * gst-libs/gst/cuda/cuda-prelude.h:
+ * gst-libs/gst/cuda/gstcudabufferpool.c:
+ * gst-libs/gst/cuda/gstcudabufferpool.h:
+ * gst-libs/gst/cuda/gstcudacontext.c:
+ * gst-libs/gst/cuda/gstcudacontext.h:
+ * gst-libs/gst/cuda/gstcudaloader.c:
+ * gst-libs/gst/cuda/gstcudaloader.h:
+ * gst-libs/gst/cuda/gstcudamemory.c:
+ * gst-libs/gst/cuda/gstcudamemory.h:
+ * gst-libs/gst/cuda/gstcudanvrtc.c:
+ * gst-libs/gst/cuda/gstcudanvrtc.h:
+ * gst-libs/gst/cuda/gstcudautils.c:
+ * gst-libs/gst/cuda/gstcudautils.h:
+ * gst-libs/gst/cuda/gstnvrtcloader.c:
+ * gst-libs/gst/cuda/gstnvrtcloader.h:
+ * gst-libs/gst/cuda/meson.build:
+ * gst-libs/gst/cuda/stub/cuda.h:
+ * gst-libs/gst/cuda/stub/cudaGL.h:
+ * gst-libs/gst/cuda/stub/nvrtc.h:
+ * gst-libs/gst/meson.build:
+ * sys/nvcodec/cuda-converter.c:
+ * sys/nvcodec/cuda-converter.h:
+ * sys/nvcodec/gstcudabasefilter.c:
+ * sys/nvcodec/gstcudabasetransform.c:
+ * sys/nvcodec/gstcudabasetransform.h:
+ * sys/nvcodec/gstcudaconvert.c:
+ * sys/nvcodec/gstcudafilter.c:
+ * sys/nvcodec/gstcudamemorycopy.c:
+ * sys/nvcodec/gstcudascale.c:
+ * sys/nvcodec/gstcuvidloader.h:
+ * sys/nvcodec/gstnvbaseenc.c:
+ * sys/nvcodec/gstnvbaseenc.h:
+ * sys/nvcodec/gstnvdec.c:
+ * sys/nvcodec/gstnvdec.h:
+ * sys/nvcodec/gstnvdecoder.c:
+ * sys/nvcodec/gstnvdecoder.h:
+ * sys/nvcodec/gstnvenc.c:
+ * sys/nvcodec/gstnvenc.h:
+ * sys/nvcodec/gstnvencoder.cpp:
+ * sys/nvcodec/gstnvencoder.h:
+ * sys/nvcodec/gstnvh264dec.c:
+ * sys/nvcodec/gstnvh264encoder.cpp:
+ * sys/nvcodec/gstnvh264encoder.h:
+ * sys/nvcodec/gstnvh265dec.c:
+ * sys/nvcodec/gstnvh265encoder.cpp:
+ * sys/nvcodec/gstnvh265encoder.h:
+ * sys/nvcodec/gstnvvp8dec.c:
+ * sys/nvcodec/gstnvvp9dec.c:
+ * sys/nvcodec/meson.build:
+ * sys/nvcodec/plugin.c:
+ cuda: Factor out a public GstCUDA library
+ So applications and elements implemented outside GStreamer can reuse
+ our infrastructure
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1472>
+
+2021-12-03 13:12:42 +0000 Thibault Saunier <tsaunier@igalia.com>
+
+ * sys/nvcodec/gstnvbaseenc.c:
+ * sys/nvcodec/gstnvenc.c:
+ nvenc: Give more details about errors
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1472>
+
+2021-11-12 20:13:10 +0100 Ruben Gonzalez <rgonzalez@fluendo.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ gst_plugin_load_file: force plugin reload if diff filename
+ If a file includes a new version of a plugin that exits in the
+ registry, the output of gst-inspect is incorrect. The output has the
+ correct version but incorrect filename, and element description.
+ This seems to have also fixed some documentation issues.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1344>
+
+2022-04-19 04:37:05 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3dvideosink/d3dvideosink.c:
+ d3dvideosink: Remove outdated comment
+ d3dvideosink is not a primary video sink element
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2223>
+
+2022-04-18 00:25:18 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gsth264decoder.c:
+ * gst-libs/gst/codecs/gsth265decoder.c:
+ h264decoder,h265decoder: Do not hold codec_data buffer
+ ... also do not need to extract it from caps.
+ Decoder uses codec_data only once per set_format() and
+ baseclass will extract codec_data buffer already.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2212>
+
+2022-04-17 23:55:55 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11decoder.cpp:
+ d3d11decoder: Do not preallocate texture using downstream d3d11 buffer pool
+ Our decoder implementation does not use downstream d3d11 pool for
+ decoding because of special requirement of D3D11/DXVA. So preallocation
+ using the downstream buffer pool will waste GPU memory in most cases.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2211>
+
+2022-04-14 13:22:03 +0300 Vivia Nikolaidou <vivia@ahiru.eu>
+
+ * gst/videoparsers/gsth264parse.c:
+ h264parse: Include coded-picture-structure info in caps
+ This reverts commit 652773de366a98e155332bf8ffb83ee5e6bea9e5 and
+ modifies it to rename the caps field name to coded-picture-structure.
+ It was previously removed because it confuses the decoder and we didn't
+ have a valid use case for including it in the encoded caps at this
+ stage. We now do have such a use case but still don't want to confuse
+ the decoder, so the field is renamed.
+ However, it is still not accurate without looking at the SEI picture
+ structure of each frame, so it was named coded-picture-structure. If its
+ value is "frame" it is most likely progressive, if it's "field" it is
+ most likely interlaced or mixed.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2177>
+
+2022-04-18 12:44:19 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvah264enc.c:
+ va: h264enc: Fix the forgotten unlock() when getting device path property.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2215>
+
+2022-04-17 22:25:14 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvdecoder.cpp:
+ qsvdecoder: Use system memory for non-d3d11 downstream
+ QSV's memory download implementation seems to be more faster
+ than our implementation
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2206>
+
+2022-04-17 02:14:50 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvdecoder.cpp:
+ * sys/qsv/gstqsvh265dec.cpp:
+ * sys/qsv/gstqsvh265dec.h:
+ * sys/qsv/meson.build:
+ * sys/qsv/plugin.cpp:
+ qsv: Add H.265 decoder
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2206>
+
+2022-04-17 02:18:37 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvh264dec.cpp:
+ * sys/qsv/gstqsvutils.cpp:
+ * sys/qsv/plugin.cpp:
+ qsv: Include single gstva.h
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2206>
+
+2022-04-17 02:04:08 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvh264dec.cpp:
+ qsvh264dec: Don't register element if it's not supported by device
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2206>
+
+2022-04-17 01:27:10 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvdecoder.cpp:
+ * sys/qsv/gstqsvdecoder.h:
+ * sys/qsv/gstqsvh264dec.cpp:
+ qsvh264dec: Add support for packetized format
+ Handle avc/avc3 packetized formats
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2206>
+
+2022-04-17 00:00:55 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvdecoder.cpp:
+ * sys/qsv/gstqsvencoder.cpp:
+ * sys/qsv/gstqsvh264dec.cpp:
+ * sys/qsv/gstqsvh264enc.cpp:
+ * sys/qsv/gstqsvh265enc.cpp:
+ * sys/qsv/gstqsvjpegenc.cpp:
+ * sys/qsv/gstqsvvp9enc.cpp:
+ * sys/qsv/plugin.cpp:
+ qsv: Move debug init into each source file
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2206>
+
+2022-04-16 23:51:05 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvdecoder.cpp:
+ qsvdecoder: Reset next_task_index per init_session()
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2206>
+
+2022-04-16 21:27:57 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11decoder.cpp:
+ d3d11decoder: Copy HDR10 related caps field manually
+ If negotiate() is called from the set_format() chain, sinkpad may not
+ hold caps yet, so baseclass cannot copy it over to srcpad caps.
+ Copy them manually.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2203>
+
+2022-04-16 22:27:13 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvh264enc.cpp:
+ * sys/qsv/gstqsvh265enc.cpp:
+ qsvencoder: Rename property name i-frames to idr-interval
+ ... and clarify the meaning of the value for each h264 and h265
+ encoder since the usage of mfxInfoMFX::IdrInterval is different
+ per codec.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2204>
+
+2022-04-16 21:26:55 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvh265enc.cpp:
+ qsvh265enc: Write HDR10 metadata SEI
+ If device supports HDR10 metadata API, write the information
+ into bitstream per IDR.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2204>
+
+2022-04-13 06:19:40 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ gst_plugins_cache.json: Update va plugins.
+ * Update conditionally-available attribute in vah264enc properties.
+ * Update GstVaFeature usage.
+ * Update GstVaEncoderRatecontrol usage.
+ * Update vapostproc classification.
+ * Add `add-borders` property in vapostproc.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2169>
+
+2022-04-13 05:58:46 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvah264enc.c:
+ vah264enc: Use GstVaFeature enum for enabling MBBRC.
+ GstVaFeature is a common enumeration for auto/disabled/enabled kind of
+ property setting.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2169>
+
+2022-04-13 05:56:59 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvaencoder.c:
+ * sys/va/gstvaencoder.h:
+ * sys/va/gstvah264enc.c:
+ vah264enc: Move rate-control enum to encoder class helper.
+ Since it's a common enumeration used, as user setting property, for
+ most of codecs.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2169>
+
+2022-04-13 05:52:31 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvah264enc.c:
+ vah264enc: Add device-path property.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2169>
+
+2022-04-15 13:19:36 +0000 Corentin Damman <c.damman@intopix.com>
+
+ * sys/nvcodec/gstcudautils.c:
+ cudautils: fix critical typo in gst_cuda_buffer_fallback_copy
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2194>
+
+2022-04-14 20:10:46 +1000 Brad Hards <bradh@frogmouth.net>
+
+ * po/POTFILES.skip:
+ * tests/interactive/meson.build:
+ * tests/interactive/pitch-test.c:
+ * tests/meson.build:
+ tests: rename 'icles' subdir to be more descriptive
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2178>
+
+2022-04-14 08:23:51 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/mpegtsdemux/gstmpegdefs.h:
+ * gst/mpegtsdemux/tsdemux.c:
+ tsdemux: Fix AC-4 detection
+ This regression was introduced by
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1102
+ and has been present since 1.18
+ * Stream Type 0x06 is defined in the base mpeg-ts specification as Private PES
+ Packets. Determining the content should be solely based on descriptors found
+ within the PMT.
+ * This was abused in that commit by defining a "bluray-only" stream type for AC4
+ : `ST_BD_AUDIO_AC4`
+ * This should be entirely handled in the regular private pes handling further
+ down in the code
+ Fixes #1154
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2175>
+
+2022-04-10 17:28:03 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvah264enc.c:
+ va: h264enc: Correct the hierarchical level name for pyramid-b frames.
+ The current way names the level by the number of B frames it contains, the
+ less it contains, the higher level it is. So the non ref B frames are in the
+ lowest layer and the B frames in the highest level refer to I/P frames.
+ But the widely used way is just the opposite, the ref B frames are in the
+ lower level and non ref B frames are at the highest level.
+ The is just a terminology change, and does not have any effect for compression
+ result and quality.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2149>
+
+2022-04-12 10:34:27 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/codecparsers/gstav1parser.c:
+ codecs: av1parser: Fix a typo in seq_level_idx check.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2157>
+
+2022-04-13 01:46:34 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/amfcodec/gstamfh265enc.cpp:
+ amfh265enc: Handle preset option
+ Add missing preset option handling
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2165>
+
+2022-04-13 01:39:43 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/amfcodec/gstamfencoder.cpp:
+ amfencoder: Do shared resource copy only if texture belongs to other device
+ Staging texture from the same d3d11device can be copied without
+ shared resource handling
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2165>
+
+2022-04-12 01:01:23 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11decoder.cpp:
+ * sys/d3d11/meson.build:
+ win32: Enable high-resolution timer for MinGW build
+ timeapi.h is missing in our MinGW toolchain. Include mmsystem.h
+ header instead, which defines struct and APIs in case of our MinGW
+ toolchain. Note that in case of native Windows10 SDK (MSVC build),
+ mmsystem.h will include timeapi.h
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2153>
+
+2022-04-11 16:03:41 -0500 Olivier Crête <olivier.crete@collabora.com>
+
+ * ext/wpe/gstwpevideosrc.cpp:
+ wpevideosrc: Give WebKit the keyboard, touch and pointer modifiers
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2156>
+
+2022-04-11 15:56:19 -0500 Olivier Crête <olivier.crete@collabora.com>
+
+ * ext/wpe/gstwpevideosrc.cpp:
+ wpesrc: Convert from utf32 to support other keys
+ This makes all of the non-letter keys work.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2156>
+
+2022-04-11 15:54:05 -0500 Olivier Crête <olivier.crete@collabora.com>
+
+ * ext/wpe/gstwpevideosrc.cpp:
+ wpesrc: Initialize key event to 0
+ Otherwise, WebKit sees random modifiers
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2156>
+
+2022-04-12 11:20:00 +0200 Andoni Morales Alastruey <amorales@fluendo.com>
+
+ * sys/amfcodec/gstamfh264enc.cpp:
+ amfcodec: fix setting quality presets
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2159>
+
+2022-04-11 10:32:40 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/mxf/mxfdemux.c:
+ mxfdemux: Fix issue with re-syncing
+ In case of re-syncing (i.e. moving to another partition to avoid too much of an
+ interleave), there was previously no checks to figure out whether a given
+ partition was already fully handled (i.e. when coming across it again after a
+ previous resync).
+ In order to handle this at least for single-track partitions, check whether we
+ have reached the essence track duration, and if so skip the partition.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2150>
+
+2022-04-11 10:31:15 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/mxf/mxfdemux.c:
+ mxfdemux: Don't double-increase track position
+ The essence track position should only be overriden if we sucesfully switched to
+ another position. In case of EOS we do not want to override it else we would
+ increase the track position *again* at the end of this function
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2150>
+
+2022-04-12 01:49:17 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/amfcodec/gstamfencoder.cpp:
+ * sys/amfcodec/gstamfh264enc.cpp:
+ * sys/amfcodec/gstamfh265enc.cpp:
+ * sys/amfcodec/meson.build:
+ amfcodec: Fix for MinGW build
+ timeapi.h header might not be missing depending on toolchain.
+ Also do hard meson error if winmm dep is not available but
+ amfcodec is explicitly enabled.
+ And fixing various GCC build warning errors.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2155>
+
+2022-04-09 23:32:19 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvallocator.cpp:
+ * sys/qsv/gstqsvallocator_d3d11.cpp:
+ * sys/qsv/gstqsvencoder.cpp:
+ * sys/qsv/gstqsvjpegenc.cpp:
+ * sys/qsv/gstqsvjpegenc.h:
+ * sys/qsv/meson.build:
+ * sys/qsv/plugin.cpp:
+ qsv: Add JPEG encoder
+ Note that YUY2 is not supported yet, since the format support is not
+ implemented now.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2142>
+
+2022-04-10 02:34:17 +0900 Seungha Yang <seungha@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * sys/amfcodec/gstamfencoder.cpp:
+ * sys/amfcodec/gstamfh264enc.cpp:
+ * sys/amfcodec/gstamfh265enc.cpp:
+ * sys/amfcodec/plugin.cpp:
+ amfcodec: Update plugin cache
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2143>
+
+2022-04-09 00:52:07 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvencoder.cpp:
+ * sys/nvcodec/gstnvencoder.h:
+ * sys/nvcodec/gstnvh264encoder.cpp:
+ * sys/nvcodec/gstnvh265encoder.cpp:
+ * tests/examples/nvcodec/nvcodec.c:
+ nvencoder: Update property names and default values
+ Update properties of newly written D3D11/CUDA mode encoders
+ to be consistent with Intel QSV plugin. And rename "zerolatency"
+ to "zero-reorder-delay" because previous "zerolatency" may
+ misleading
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2140>
+
+2022-04-09 00:00:59 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvh264enc.cpp:
+ * sys/qsv/gstqsvh265enc.cpp:
+ * sys/qsv/gstqsvvp9enc.cpp:
+ * tests/examples/qsv/qsvenc-dynamic-reconfigure.c:
+ qsvencoder: Update property names and default values
+ Stop using MSDK plugins property naming, instead use unified names
+ and default values to be consistent with newly written NVIDIA encoders.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2140>
+
+2022-03-31 04:16:24 +0900 Seungha Yang <seungha@centricular.com>
+
+ * meson_options.txt:
+ * sys/amfcodec/gstamfencoder.cpp:
+ * sys/amfcodec/gstamfencoder.h:
+ * sys/amfcodec/gstamfh264enc.cpp:
+ * sys/amfcodec/gstamfh264enc.h:
+ * sys/amfcodec/gstamfh265enc.cpp:
+ * sys/amfcodec/gstamfh265enc.h:
+ * sys/amfcodec/gstamfutils.cpp:
+ * sys/amfcodec/gstamfutils.h:
+ * sys/amfcodec/meson.build:
+ * sys/amfcodec/plugin.cpp:
+ * sys/meson.build:
+ amfcodec: Add support for h264/h265 encoding
+ New encoder implementations for AMD GPU using AMF API
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2109>
+
+2022-03-31 01:36:37 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/amfcodec/include/components/ColorSpace.h:
+ * sys/amfcodec/include/components/Component.h:
+ * sys/amfcodec/include/components/ComponentCaps.h:
+ * sys/amfcodec/include/components/PreAnalysis.h:
+ * sys/amfcodec/include/components/VideoDecoderUVD.h:
+ * sys/amfcodec/include/components/VideoEncoderHEVC.h:
+ * sys/amfcodec/include/components/VideoEncoderVCE.h:
+ * sys/amfcodec/include/core/AudioBuffer.h:
+ * sys/amfcodec/include/core/Buffer.h:
+ * sys/amfcodec/include/core/Compute.h:
+ * sys/amfcodec/include/core/ComputeFactory.h:
+ * sys/amfcodec/include/core/Context.h:
+ * sys/amfcodec/include/core/CurrentTime.h:
+ * sys/amfcodec/include/core/D3D12AMF.h:
+ * sys/amfcodec/include/core/Data.h:
+ * sys/amfcodec/include/core/Debug.h:
+ * sys/amfcodec/include/core/Dump.h:
+ * sys/amfcodec/include/core/Factory.h:
+ * sys/amfcodec/include/core/Interface.h:
+ * sys/amfcodec/include/core/Plane.h:
+ * sys/amfcodec/include/core/Platform.h:
+ * sys/amfcodec/include/core/PropertyStorage.h:
+ * sys/amfcodec/include/core/PropertyStorageEx.h:
+ * sys/amfcodec/include/core/Result.h:
+ * sys/amfcodec/include/core/Surface.h:
+ * sys/amfcodec/include/core/Trace.h:
+ * sys/amfcodec/include/core/Variant.h:
+ * sys/amfcodec/include/core/Version.h:
+ * sys/amfcodec/include/core/VulkanAMF.h:
+ amfcodec: Import AMF SDK headers
+ SDK version v1.4.24 at the commit of
+ https://github.com/GPUOpen-LibrariesAndSDKs/AMF/commit/fbf12cd39fe1812ed902525a1c001307b94871b9
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2109>
+
+2022-04-09 02:13:57 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/msdk/gstmsdkcontextutil.c:
+ msdk: Fix Windows build
+ Headers of gstva should not be included on Windows
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2141>
+
+2022-04-08 04:24:36 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11window_win32.cpp:
+ d3d11window: Use ANSI version WIN32 API explicitly
+ We were using ANSI version APIs implicitly because UNICODE is not
+ defined by ourselves. But potentially it can be broken if user
+ defines UNICODE.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2131>
+
+2022-04-08 04:02:55 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11av1dec.cpp:
+ * sys/d3d11/gstd3d11screencapturesrc.cpp:
+ * sys/d3d11/gstd3d11videosink.cpp:
+ d3d11: Run indent
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2131>
+
+2022-03-11 20:46:11 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecparsers/gsth265parser.c:
+ * gst-libs/gst/codecparsers/gsth265parser.h:
+ h265parser: Fix short_term_ref_pic_set() size calculation
+ This field is used by DXVA/NVDEC/VA, and each specification
+ describes (NVDEC is not well documented) that it's the number of
+ bits used in short_term_ref_pic_set().
+ DXVA doesn't explicitly mention that whether the size of
+ emulation preventation bytes (EPB) is inclusive or not, but
+ VA is clearly specifying that it's the size after removing
+ EPB. Excluding EPB size here makes more sense therefore.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1930>
+
+2022-04-06 11:21:25 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/mxf/mxfvanc.c:
+ mxfvanc: Handle empty VANC packets
+ Some XDCAM recorders store empty packets for VANC, and don't even include the
+ 2byte length.
+ Handle them in the same way as VANC packets with 0 packets.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2122>
+
+2022-04-01 22:52:18 +0900 Sangchul Lee <sc11.lee@samsung.com>
+
+ * gst-libs/gst/webrtc/datachannel.c:
+ * gst-libs/gst/webrtc/webrtc_fwd.h:
+ webrtc/datachannel: Change initial data channel state to CONNECTING
+ It complies with http://w3c.github.io/webrtc-pc/#dom-rtcdatachannelstate.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2099>
+
+2022-04-04 20:47:03 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvencoder.cpp:
+ qsvencoder: Don't use USAGE_HINT_ENCODER and enable derived image support
+ Peformance issue by disabled derived image support was reported
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2111>
+
+2022-04-04 20:36:14 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/va/gstvah264enc.c:
+ Revert "vah264enc: Disable derived image support"
+ This reverts commit 0011feb0d660f331abde5b1e36f1c56e9cf3b014.
+ The commit caused performance-wise regression for some platforms
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2111>
+
+2022-04-01 15:35:17 +0800 Tong Wu <tong1.wu@intel.com>
+
+ * sys/msdk/msdk.c:
+ msdk: use mfxU32 instead of uint32_t
+ Msdk should use mfx variables defined in mfxdefs.h. Replace uint32_t
+ with mfxU32.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2091>
+
+2022-04-01 15:00:01 +0200 Stéphane Cerveau <scerveau@collabora.com>
+
+ * tests/examples/camerabin2/gst-camerabin2-test.c:
+ bad: examples: fix unused res warning
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2095>
+
+2022-03-29 14:42:04 +0200 Johan Sternerup <johast@axis.com>
+
+ * ext/webrtc/gstwebrtcice.c:
+ * ext/webrtc/icestream.c:
+ * ext/webrtc/icestream.h:
+ * ext/webrtc/nicetransport.c:
+ webrtc: Improve robustness of nice agent signal handlers
+ NiceAgent and it's associated thread is alive for as long as
+ GstWebRTCICE is alive so make sure any signal handlers connected to
+ NiceAgent do not access data that is deleted earlier.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2073>
+
+2022-04-03 22:12:33 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvh264encoder.cpp:
+ * sys/nvcodec/gstnvh265encoder.cpp:
+ nvcodec: Fix typos
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2107>
+
+2022-04-03 22:08:51 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvencoder.h:
+ nvencoder: Fix operator overloading
+ GUID equality check was inverted
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2107>
+
+2022-04-01 21:09:10 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst-libs/gst/va/meson.build:
+ libs: va: make sure va-enumtypes.h is generated before it's used
+ Need to add a dep for the generated header file to the dependency()
+ so that it gets generated before anyone tries to #include files
+ from it (which may happen before the actual lib is built because
+ that's only needed when stuff is linked together later).
+ See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2057#note_1323236
+ and CI build failures in https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2096
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2103>
+
+2022-04-01 05:02:58 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/va/gstvah264enc.c:
+ vah264enc: Disable derived image support
+ Behavior of derived image seems to be platform dependent and
+ it's buggy in some cases.
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1110
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2086>
+
+2022-04-01 22:47:07 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvah264enc.c:
+ va: h264enc: Do not use USAGE_HINT_ENCODER for input pool.
+ It seems that the VA_SURFACE_ATTRIB_USAGE_HINT_ENCODER is used only
+ for the recon surfaces, if we set this flags for input raw surfaces,
+ the alignment is wrong and we get broken result.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2100>
+
+2022-04-01 15:59:58 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/va/gstvaallocator.c:
+ va: Fix printf format modifier for drm modifiers
+ DRM modifiers are 64bit, the printf modifier is platform dependant. Use
+ the G_GINT64_MODIFIER macro to make this printf portable.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2102>
+
+2022-03-30 11:06:02 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * meson.build:
+ Use gmodule-no-export-2.0
+ We don't need `-Wl,--export-dynamic`, that's used only for executables
+ that needs to export an API to be used by plugins they load.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031>
+
+2022-03-25 15:00:20 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * ext/vulkan/meson.build:
+ * ext/webrtc/meson.build:
+ * gst-libs/gst/d3d11/meson.build:
+ * gst/rtp/meson.build:
+ * meson.build:
+ * sys/bluez/meson.build:
+ * sys/dvb/meson.build:
+ * tests/check/meson.build:
+ * tests/examples/ipcpipeline/meson.build:
+ * tests/examples/opencv/meson.build:
+ * tests/examples/webrtc/meson.build:
+ * tests/examples/wpe/meson.build:
+ * tests/icles/meson.build:
+ Remove glib and gobject dependencies everywhere
+ They are part of gst_dep already and we have to make sure to always have
+ gst_dep. The order in dependencies matters, because it is also the order
+ in which Meson will set -I args. We want gstreamer's config.h to take
+ precedence over glib's private config.h when it's a subproject.
+ While at it, remove useless fallback args for gmodule/gio dependencies,
+ only gstreamer core needs it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031>
+
+2022-03-24 14:15:00 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * ext/sctp/usrsctp/meson.build:
+ * meson.build:
+ Fix cross build with mingw32
+ At least on Ubuntu 20.04 the x86_64-w64-mingw32-gcc toolchain defaults
+ to WinXP. We require at least Vista for FILE_STANDARD_INFO.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2022>
+
+2022-03-25 22:04:05 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvallocator_va.cpp:
+ * sys/qsv/gstqsvencoder.cpp:
+ * sys/qsv/gstqsvh264enc.cpp:
+ * sys/qsv/gstqsvh265enc.cpp:
+ * sys/qsv/gstqsvvp9enc.cpp:
+ qsvencoder: Add support for VA memory
+ Use VA allocator and buffer pool implementation for zero-copy
+ encoding with upstream VA elements
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2030>
+
+2022-03-25 21:03:02 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvallocator_va.h:
+ * sys/qsv/gstqsvdecoder.cpp:
+ * sys/qsv/gstqsvencoder.cpp:
+ qsv: Use pipeline's VA context
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2030>
+
+2022-03-29 14:52:33 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/va/gstva.h:
+ * gst-libs/gst/va/gstvaallocator.c:
+ * gst-libs/gst/va/gstvaallocator.h:
+ * gst-libs/gst/va/gstvapool.c:
+ * gst-libs/gst/va/gstvapool.h:
+ * gst-libs/gst/va/meson.build:
+ * sys/va/gstvabasedec.c:
+ * sys/va/gstvabasetransform.c:
+ * sys/va/gstvaencoder.c:
+ * sys/va/gstvah264enc.c:
+ libs: va: add VA allocator parameter for derived images usage.
+ Added GstVaFeature enum type, and new parameter for VA allocator's
+ set_format() and get_format(). Also added a new parameter in VA pool
+ gst_va_pool_new_with_config() and
+ gst_buffer_pool_config_set_va_allocation_params().
+ This new parameter will define if derived images will by used for
+ buffer mapping.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2057>
+
+2022-03-28 21:25:50 +0900 Sangchul Lee <sc11.lee@samsung.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/gstwebrtcstats.c:
+ * tests/check/elements/webrtcbin.c:
+ webrtcstats: Unify 'packets-lost' data type to int64
+ Previously, 'packets-lost' member of RTCReceivedRtpStreamStats had
+ a value of G_TYPE_INT from rtpsource or a value of G_TYPE_UINT64
+ from rtpjitterbuffer.
+ Because of the negative value of estimated amount of packets lost
+ in rtpsource as well as the description in
+ https://www.w3.org/TR/webrtc-stats/#dom-rtcreceivedrtpstreamstats
+ it is fixed to set this value with G_TYPE_INT64.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2049>
+
+2022-03-30 12:12:34 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvaencoder.c:
+ va: encoder: Remove unused allocation config.
+ Since it's also done inside of gst_va_pool_new_with_config().
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2072>
+
+2022-03-30 02:49:40 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/va/gstvadisplay.c:
+ * gst-libs/gst/va/gstvautils.c:
+ vadisplay: Add description readonly property
+ Expose description of vendor for user information, similar to
+ the description property of d3d11device.
+ Also, set description and DRM device path on GstContext structure
+ so that user can read them and it will be printed on terminal
+ when gst-launch-1.0 is used
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2064>
+
+2022-03-30 07:03:59 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/va/gstvaallocator.c:
+ * gst-libs/gst/va/gstvapool.c:
+ * gst-libs/gst/va/gstvapool.h:
+ * gst-libs/gst/va/va_fwd.h:
+ va: Don't expose internal classes.
+ VA allocators and pools classes don't need to be exposed as external
+ symbols.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2070>
+
+2022-03-30 12:01:20 +0800 Haihua Hu <jared.hu@nxp.com>
+
+ * gst-libs/gst/play/gstplay.c:
+ gstplay: don't print error log in warning_cb
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2069>
+
+2022-03-29 20:14:40 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvavpp.c:
+ vapostproc: Build classification dynamically.
+ By default, the classification is
+ "Converter/Filter/Colorspace/Scaler/Video/Hardware", but if VA
+ post-processor driver supports either color balance, skin tone
+ enhancement, sharpening or noise reduction, "Effect" is added.
+ Thus, if vapostproc ranking is raised, it can be chosen by
+ autovideosink.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2066>
+
+2022-02-21 14:02:52 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/gstwebrtcbin.h:
+ * ext/webrtc/gstwebrtcstats.c:
+ webrtc: produce stats for all relevant streams
+ Instead of only using the last ssrc that was pushed into a sink pad.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2022-02-11 16:50:42 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtc: avoid different versions of gnu-indent always wanting to change !!
+ Add some sneaky parenthesis to avoid always having to use git commit -n
+ or revert out hunk of the change.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-11-26 22:04:14 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/transportstream.c:
+ * ext/webrtc/transportstream.h:
+ * tests/check/elements/webrtcbin.c:
+ webrtc: implement initial simulcast fec/rtx usage
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-11-26 22:11:06 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/webrtcdatachannel.c:
+ * gst-libs/gst/webrtc/datachannel.c:
+ webrtc/datachannel: fix use-after-free in sctp state notification
+ g_signal_disconnect*() doesn't stop any existing callbacks from running
+ which means that if the notify::state callback is in progress in one
+ thread and the data channel object is finalize()ed in another thread,
+ then there could be a use-after-free trying lock the data channel
+ object.
+ We can't reasonably use a GWeakRef as we don't have a 'parent' object to
+ free the GWeakRef after the data channel is finalized. This is also
+ complicated by the fact that the application can hold a reference to the
+ data channel object that would live beyond the lifetime of webrtcbin
+ itself.
+ We solve this by implementing a ghetto weak-ref solution internally with
+ a list of outstanding data channels.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-11-26 22:06:39 +1100 Matthew Waters <matthew@centricular.com>
+
+ * tests/check/elements/webrtcbin.c:
+ tests/webrtc: fix a use-after-free in test_data_channel_close
+ g_object_weak_ref() is not thread-safe and the data channel object's
+ refs/unrefs can happen on multiple threads.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-11-26 21:51:57 +1100 Matthew Waters <matthew@centricular.com>
+
+ * tests/check/elements/webrtcbin.c:
+ tests/webrtc: fix a race in the tests related to state tracking
+ If things progress fast enough, some state changes may not be seen be
+ the waiting code.
+ Fix by:
+ 1. keeping a list of all the state changes
+ 2. waiting checks each entry and if the relevant state is found, all
+ states up to and including then are removed.
+ This ensures that any waits will see all the state sets.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-11-26 02:00:12 +1100 Matthew Waters <matthew@centricular.com>
+
+ * tests/check/elements/webrtcbin.c:
+ tests/webrtc: factor out src pad property checking to a separate function
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-11-16 19:27:11 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/gstwebrtcstats.c:
+ * ext/webrtc/transportstream.c:
+ * ext/webrtc/transportstream.h:
+ * ext/webrtc/webrtctransceiver.c:
+ * ext/webrtc/webrtctransceiver.h:
+ * tests/check/elements/webrtcbin.c:
+ webrtcbin: initial support for sending and receiving simulcast streams
+ Input (sink pads) is the already-ssrc-muxed stream with the relevant rtp
+ sdes header extensions already applied:
+ - mid
+ - stream-id
+ - repaired-stream-id
+ Output (src pads) have the pads separated into individual ssrc's as
+ that's what rtpbin gives us.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-11-16 18:11:49 +1100 Matthew Waters <matthew@centricular.com>
+
+ * tests/check/elements/webrtcbin.c:
+ tests/webrtc: test for enabled bundled fec/rtx
+ Doesn't actually check that any fec/rtx happens, just that the pipeline
+ is vaguely sane and doesn't error.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-11-16 17:39:18 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: support multiple received streams for a single mline
+ Each rtpbin exposed recv_src pad is now exposed as webrtcbin src_%u pad
+ now with no meaining applied to the value of %u. Previously this used
+ to mean the mline in the SDP. If this is is still required, then the
+ transceiver can be retrieved from the pad and the "mlineindex" property
+ from the transciever. The "mid" is also retrievable from the
+ transceiver.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-11-16 17:28:04 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * gst-libs/gst/webrtc/webrtc_fwd.h:
+ webrtc: explicitly error out in a couple of renegotiation cases
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-11-16 17:21:31 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/transportstream.c:
+ webrtc/transportstream: add debug category
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-11-03 21:18:53 +1100 Matthew Waters <matthew@centricular.com>
+
+ * tests/check/elements/webrtcbin.c:
+ tests/webrtc: also check valid mline for srcpad codec-preferences negotiation
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-11-03 20:46:23 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/gstwebrtcbin.h:
+ webrtcbin: don't name src pads based on the mline specifically anymore
+ Naming based on the mline doesn't really work with e.g. simulcast
+ scenarios.
+ It is entirely possible to retrieve the transceiver and then the mline
+ from that if that is so required.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-10-29 18:40:04 +1100 Matthew Waters <matthew@centricular.com>
+
+ * tests/check/elements/webrtcbin.c:
+ webrtc/tests: print the correct media idx on error
+ Instead of the attribute index
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-10-29 18:38:37 +1100 Matthew Waters <matthew@centricular.com>
+
+ * tests/check/elements/webrtcbin.c:
+ webrtc/tests: give slightly better names to the dot file dumps
+ Don't use printf-specifiers with g_strconcat().
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-07-21 17:48:34 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/utils.h:
+ * tests/check/elements/webrtcbin.c:
+ webrtcbin: improve some debugging output
+ - Put human readable names into debug strings.
+ - Demote some frequent rtpbin signal logging
+ - Don't use GST_PTR_FORMAT in g_set_error()
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-07-21 17:39:11 +1000 Matthew Waters <matthew@centricular.com>
+
+ * tests/check/elements/webrtcbin.c:
+ webrtcbin: silence spurious warning when creating answer transceiver
+ When creating a transceiver when creating an answer, the media kind of the
+ transceiver was never set correctly initially. This would lead to a
+ GST_WARNING being produced about changin a transceiver's media kind.
+ Fix by retrieving the GstSDPMedia kind from the offer instead as the answer
+ GstSDPMedia has not been set as the answer caps have not been chosen yet.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-07-21 14:29:35 +1000 Matthew Waters <matthew@centricular.com>
+
+ * tests/check/elements/webrtcbin.c:
+ tests/webrtc: always use a unique SSRC for each stream
+ Will become more relevant with mid/rid->ssrc mappings
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-07-21 14:14:30 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: add a specific find_transceiver_by_mid function
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-07-20 20:17:13 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: explicitly use a variable for the rtp session idx
+ Slightly clearer in meaning.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-07-01 15:54:34 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * tests/check/elements/webrtcbin.c:
+ webrtcbin: support using an a=mid value from the sink/transceiver caps
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2022-03-25 15:56:01 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/va/gstva.h:
+ * gst-libs/gst/va/gstvaallocator.h:
+ * gst-libs/gst/va/gstvadisplay.c:
+ * gst-libs/gst/va/gstvadisplay.h:
+ * gst-libs/gst/va/gstvadisplay_drm.c:
+ * gst-libs/gst/va/gstvadisplay_drm.h:
+ * gst-libs/gst/va/gstvadisplay_wrapped.h:
+ * gst-libs/gst/va/gstvapool.c:
+ * gst-libs/gst/va/gstvapool.h:
+ * gst-libs/gst/va/gstvasurfacecopy.h:
+ * gst-libs/gst/va/gstvautils.c:
+ * gst-libs/gst/va/gstvautils.h:
+ * gst-libs/gst/va/gstvavideoformat.h:
+ * gst-libs/gst/va/va_fwd.h:
+ * gst-libs/gst/va/vasurfaceimage.h:
+ * sys/va/gstvaav1dec.c:
+ * sys/va/gstvabasedec.c:
+ * sys/va/gstvabasetransform.c:
+ * sys/va/gstvacaps.c:
+ * sys/va/gstvadecoder.c:
+ * sys/va/gstvadeinterlace.c:
+ * sys/va/gstvadisplay_priv.c:
+ * sys/va/gstvadisplay_priv.h:
+ * sys/va/gstvaencoder.c:
+ * sys/va/gstvaencoder.h:
+ * sys/va/gstvafilter.c:
+ * sys/va/gstvah264enc.c:
+ * sys/va/gstvavpp.c:
+ * tests/examples/va/main.c:
+ * tests/examples/va/multiple-vpp.c:
+ va: Set <gst/va/gstva.h> as library single point entry header.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2048>
+
+2022-02-23 15:40:19 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/va/gstvaallocator.c:
+ * gst-libs/gst/va/gstvaallocator.h:
+ * gst-libs/gst/va/gstvapool.c:
+ * gst-libs/gst/va/gstvapool.h:
+ * gst-libs/gst/va/gstvasurfacecopy.c:
+ * gst-libs/gst/va/gstvasurfacecopy.h:
+ * gst-libs/gst/va/meson.build:
+ * gst-libs/gst/va/vasurfaceimage.c:
+ * gst-libs/gst/va/vasurfaceimage.h:
+ * sys/va/gstvaav1dec.c:
+ * sys/va/gstvabasedec.c:
+ * sys/va/gstvabasetransform.c:
+ * sys/va/gstvadecoder.c:
+ * sys/va/gstvadeinterlace.c:
+ * sys/va/gstvaencoder.c:
+ * sys/va/gstvafilter.c:
+ * sys/va/gstvah264enc.c:
+ * sys/va/gstvavpp.c:
+ * sys/va/meson.build:
+ va: Move allocators and pool objects into gstva library.
+ In order to other plugins use gstva objects, such as allocators and buffer
+ pools, this merge request move them from the va plugin to the gstva library.
+ This objects are not exposed in <gst/va/gstva.h> since they are not expected
+ to be used by users, only by plugin implementators.
+ Because of the surface copy design, which is used to implement allocator's
+ mem_copy() virtual function, depends on the vafilter, which is kept inside
+ the plugin, memory copy through VAPosproc is disabled and removed temporarly.
+ Also added some missing parameter validation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2048>
+
+2022-02-23 15:25:08 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/va/gstvavideoformat.c:
+ * gst-libs/gst/va/gstvavideoformat.h:
+ * gst-libs/gst/va/meson.build:
+ * sys/va/gstvaallocator.c:
+ * sys/va/gstvabasedec.c:
+ * sys/va/gstvacaps.c:
+ * sys/va/gstvadecoder.c:
+ * sys/va/gstvadisplay_priv.c:
+ * sys/va/gstvafilter.c:
+ * sys/va/meson.build:
+ * sys/va/vasurfaceimage.c:
+ va: Move the video format functions into gstlibva.
+ Untabifying header file.
+ The logging category was moved from the plugin generic category to
+ the display category. It can argue that video formats hacks are
+ display dependant.
+ Added validations for input parameters.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2048>
+
+2022-03-27 23:27:54 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvencoder.cpp:
+ * sys/qsv/gstqsvencoder.h:
+ * sys/qsv/gstqsvh264enc.cpp:
+ * sys/qsv/gstqsvh265enc.cpp:
+ * sys/qsv/gstqsvvp9enc.cpp:
+ * tests/examples/meson.build:
+ * tests/examples/qsv/key-handler.c:
+ * tests/examples/qsv/key-handler.h:
+ * tests/examples/qsv/meson.build:
+ * tests/examples/qsv/qsvenc-dynamic-reconfigure.c:
+ qsvencoder: Add support for dynamic bitrate update
+ ... and add more encoding options.
+ QSV API supports dynamic bitrate change without IDR insertion.
+ That's more efficient way of runtime encoding option update
+ than starting from new sequence with IDR per bitrate option change.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2039>
+
+2022-03-25 23:15:33 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvh265enc.cpp:
+ qsvh265enc: Add missing gop-size property
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2039>
+
+2022-03-25 21:13:22 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvallocator.cpp:
+ qsv: Fix mfxFrameAllocator::Lock for encoder
+ Only read map is possible for encoder input system memory
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2039>
+
+2022-03-28 20:51:35 +1100 Matthew Waters <matthew@centricular.com>
+
+ * sys/applemedia/videotexturecache.m:
+ applemeida/texturecache: remove unused variable
+ Fixes:
+ ../sys/applemedia/videotexturecache.m:71:20: error: variable 'features' set but not used [-Werror,-Wunused-but-set-variable]
+ GstCapsFeatures *features;
+ ^
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046>
+
+2022-03-28 20:50:27 +1100 Matthew Waters <matthew@centricular.com>
+
+ * sys/applemedia/corevideobuffer.c:
+ applemedia/corevideobuffer: remove unused variable
+ Fixes:
+ ../sys/applemedia/corevideobuffer.c:209:19: error: variable 'video_meta' set but not used [-Werror,-Wunused-but-set-variable]
+ GstVideoMeta *video_meta;
+ ^
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046>
+
+2022-03-28 20:49:01 +1100 Matthew Waters <matthew@centricular.com>
+
+ * sys/applemedia/iosurfaceglmemory.c:
+ applemedia/iosgl: remove unused variable
+ Fixes:
+ ../sys/applemedia/iosurfaceglmemory.c:219:41: error: variable 'texfmt' set but not used [-Werror,-Wunused-but-set-variable]
+ GLuint tex_id, tex_target, texifmt, texfmt;
+ ^
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046>
+
+2022-03-28 20:37:54 +1100 Matthew Waters <matthew@centricular.com>
+
+ * sys/applemedia/vtdec.c:
+ vtdec: remove unused variable
+ Fixes:
+ ../sys/applemedia/vtdec.c:611:35: error: variable 'output_flags' set but not used [-Werror,-Wunused-but-set-variable]
+ VTDecodeFrameFlags input_flags, output_flags;
+ ^
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046>
+
+2022-03-28 20:24:59 +1100 Matthew Waters <matthew@centricular.com>
+
+ * sys/applemedia/avsamplevideosink.m:
+ avsamplevideosink: remove unused variable
+ Fixes
+ ../sys/applemedia/avsamplevideosink.m:80:20: error: variable 'gstelement_class' set but not used [-Werror,-Wunused-but-set-variable]
+ GstElementClass *gstelement_class;
+ ^
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046>
+
+2022-03-28 20:11:29 +1100 Matthew Waters <matthew@centricular.com>
+
+ * sys/applemedia/avfassetsrc.m:
+ avfassetsrc: fix unused-but-set warning
+ ../sys/applemedia/avfassetsrc.m:1014:12: error: variable 'caps' set but not used [-Werror,-Wunused-but-set-variable]
+ GstCaps *caps;
+ ^
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046>
+
+2022-03-28 19:42:04 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst/speed/gstspeed.c:
+ speed: fix unused-but-set warning
+ ../gst/speed/gstspeed.c:523:39: error: variable 'base' set but not used [-Werror,-Wunused-but-set-variable]
+ gint64 start_value, stop_value, base;
+ ^
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046>
+
+2022-03-28 18:38:23 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/resindvd/gstpesfilter.c:
+ resindvd: silence unused-but-set warning
+ ../ext/resindvd/gstpesfilter.c:117:11: error: variable 'STD_buffer_size_bound' set but not used [-Werror,-Wunused-but-set-variable]
+ guint16 STD_buffer_size_bound;
+ ^
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046>
+
+2022-03-28 18:23:20 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst/mpegtsmux/gstbasetsmux.c:
+ mpegts: don't shadow res variable
+ Fixes unused-but-set warning:
+ ../gst/mpegtsmux/gstbasetsmux.c:2115:43: error: variable 'res' set but not used [-Werror,-Wunused-but-set-variable]
+ gboolean all_headers, done = FALSE, res = FALSE;
+ ^
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046>
+
+2022-03-28 18:12:43 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/mpegts/gst-dvb-section.c:
+ mpeg: fix unused-but-set warning
+ ../gst-libs/gst/mpegts/gst-dvb-section.c:206:9: error: variable 'i' set but not used [-Werror,-Wunused-but-set-variable]
+ guint i = 0, allocated_events = 12;
+ ^
+ ../gst-libs/gst/mpegts/gst-dvb-section.c:365:9: error: variable 'i' set but not used [-Werror,-Wunused-but-set-variable]
+ guint i = 0, allocated_streams = 12;
+ ^
+ ../gst-libs/gst/mpegts/gst-dvb-section.c:543:9: error: variable 'i' set but not used [-Werror,-Wunused-but-set-variable]
+ guint i = 0, allocated_streams = 12;
+ ^
+ ../gst-libs/gst/mpegts/gst-dvb-section.c:885:9: error: variable 'i' set but not used [-Werror,-Wunused-but-set-variable]
+ guint i = 0, allocated_services = 8;
+ ^
+ ../gst-libs/gst/mpegts/gst-dvb-section.c:1316:9: error: variable 'i' set but not used [-Werror,-Wunused-but-set-variable]
+ guint i = 0, allocated_services = 8;
+ ^
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046>
+
+2022-03-28 10:10:45 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ video-format: Move NV12_8L128 into the correct position in GST_VIDEO_FORMATS_ALL
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2045>
+
+2022-03-28 15:56:22 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst/mpegdemux/gstpesfilter.c:
+ mpegdemux: silence unused-but-set werror
+ ../gst/mpegdemux/gstpesfilter.c:117:11: error: variable 'STD_buffer_size_bound' set but not used [-Werror,-Wunused-but-set-variable]
+ guint16 STD_buffer_size_bound;
+ ^
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2044>
+
+2022-03-25 14:25:02 +1100 Andrew Pritchard <andrew@vivi.io>
+
+ * sys/androidmedia/jni/gstamcsurfacetexture-jni.c:
+ Fix GstAmcSurfaceTexture segfault Check that `self` and `self->callback` are defined. `self` can be set to `NULL` in `remove_listener`, and `self->callback` can be set to `NULL` inside `gst_amc_surface_texture_jni_set_on_frame_available_callback`. This can cause a segfault since the Java object can outlive the C object, and call the callback after `remove_listener` is called.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2024>
+
+2022-03-23 17:31:37 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/closedcaption/gstccconverter.c:
+ * ext/closedcaption/gstccconverter.h:
+ * tests/check/elements/ccconverter.c:
+ ccconverter: ensure correct ordering of cea608 across output buffers
+ e.g. if a 60fps output is configured, we can only produce a single field
+ of cea608 that must alternate between field 1 and field 2.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2019>
+
+2022-03-23 15:13:10 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/closedcaption/gstccconverter.c:
+ * tests/check/elements/ccconverter.c:
+ ccconverter: ignore padding cea608 data even if marked as 'valid'
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2019>
+
+2022-03-23 10:36:28 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2decoder.c:
+ v4l2codecs: Detect missing M2M_HOLD_CAPTURE_BUF
+ Produce an error if we try to use the feature of holding capture buffer
+ but it is not supported by the driver. Ingoring this can lead to stalls
+ as the driver will run-out of capture buffer to decode into. This
+ affects slice decoders but also split-field interlaced decoding.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2009>
+
+2022-03-23 09:11:35 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ v4l2codecs: h264: Set other field poc if available
+ Whenever the other field POC is available, pass it back to the
+ driver. This should not be strictly required, but it makes things
+ easier to debug and more forgiven.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2009>
+
+2021-12-21 10:59:37 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ * sys/v4l2codecs/gstv4l2decoder.c:
+ * sys/v4l2codecs/gstv4l2decoder.h:
+ v4l2codecs: Trace request by it FD
+ This helps when crossing the debug logs with the kernel logs.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2009>
+
+2021-12-21 10:55:58 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ v4l2codecs: h264: Fix dpb entry flag FLAG_FIELD
+ The logic to guess back this value was broken. Use the value
+ now saved into the picture instead. This was tested using
+ LibreELEC patched 5.15 kernel, and fixed the interlaced decode
+ issues.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2009>
+
+2021-12-21 10:52:32 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/codecs/gsth264decoder.c:
+ * gst-libs/gst/codecs/gsth264picture.h:
+ codecs: h264: Save the field_pic_flag
+ This flag is set when the stream is interlaced and the specific
+ slice is made of single parity fields rather the paired at the
+ macroblock layer. This is rarely needed in late decoding process
+ but the Rockchip RKVDEC HW interface requires it, hence needs to
+ be passed through V4L2 Stateless interface.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2009>
+
+2022-03-25 13:26:52 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * tests/examples/d3d11/d3d11device.cpp:
+ d3d11: Fix example build error
+ ```
+ ../subprojects/gst-plugins-bad/tests/examples/d3d11/d3d11device.cpp:129:50: error: invalid conversion from ‘int’ to ‘DXGI_FORMAT’ [-fpermissive]
+ 129 | D3D11_SHADER_RESOURCE_VIEW_DESC srv_desc = { 0, };
+ ```
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2029>
+
+2022-03-18 16:59:32 +0000 Thibault Saunier <tsaunier@igalia.com>
+
+ * ext/directfb/dfbvideosink.c:
+ * ext/opencv/gsthanddetect.cpp:
+ * ext/vulkan/vksink.c:
+ * sys/d3d11/gstd3d11videosink.cpp:
+ * sys/d3dvideosink/d3dhelpers.c:
+ * tests/check/pipelines/ipcpipeline.c:
+ navigation: Add support for key Modifiers in all relevant events
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2010>
+
+2022-03-24 21:39:30 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvah265dec.c:
+ va: h265dec: Fix a crash because of missing reference frame.
+ Some problematic H265 stream may miss the reference frame in the DPB,
+ and get some message like: "No short term reference picture for xxx".
+ So there may be empty entries in ref_pic_list0/1 when passing to
+ decode_slice() function of sub class. We need to check the NULL pointer.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2018>
+
+2022-03-24 15:19:27 +0800 Chun-wei Fan <fanchunwei@src.gnome.org>
+
+ * ext/openexr/meson.build:
+ openexr: Specify modules when finding OpenEXR.
+ Specify modules to look for OpenEXR when CMake is used, as we may have
+ CMake config files instead of pkg-config files that result from building
+ OpenEXR, which may be built with CMake which is typically the case on Visual
+ Studio builds.
+ In this case, Meson does seem to find the 'OpenEXR' package with CMake
+ after trying pkg-config, but does not consider it enough without the
+ 'modules:' argument.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2014>
+
+2022-03-22 00:30:28 +0900 Sangchul Lee <sc11.lee@samsung.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: Update documentation of 'get-stats' action signal
+ Some stats fields are updated according to the current implementation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2005>
+
+2022-03-25 00:27:42 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/webrtctransceiver.c:
+ * ext/webrtc/webrtctransceiver.h:
+ * tests/check/elements/webrtcbin.c:
+ Revert "webrtcbin: fix msid line and allow customization"
+ This reverts commit 3cad3455377d5a22faa138d9df840257059776c8.
+ That commit was breaking the association between an audio and
+ a video track in the standard case.
+ In practice, to support carrying separate MediaStream, we are
+ going a way to map what MediaStreamTrack belong to what MediaStream,
+ but that will require some thinking about the API.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2023>
+
+2022-03-24 19:55:48 +0200 Vivia Nikolaidou <vivia@ahiru.eu>
+
+ * gst/mpegtsdemux/mpegtspacketizer.c:
+ * gst/mpegtsdemux/mpegtspacketizer.h:
+ * gst/mpegtsdemux/tsdemux.c:
+ tsdemux: Don't check SCTE events for being too far from the PCR
+ Otherwise it happens that SCTE events can only be scheduled up to 15
+ seconds since the last seen PCR, which is a useless restriction.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2021>
+
+2022-03-21 23:03:36 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/webrtctransceiver.c:
+ * ext/webrtc/webrtctransceiver.h:
+ * tests/check/elements/webrtcbin.c:
+ webrtcbin: fix msid line and allow customization
+ From https://datatracker.ietf.org/doc/html/draft-ietf-mmusic-msid-16:
+ > Multiple media descriptions with the same value for msid-id and
+ > msid-appdata are not permitted.
+ Our previous implementation of simply using the CNAME as the msid
+ identifier and the name of the transceiver as the msid appdata was
+ misguided and incorrect, and created issues when bundling multiple
+ video streams together: the ontrack event was emitted with the same
+ streams for the two bundled medias, at least in Firefox.
+ Instead, use the transceiver name as the identifier, and expose
+ a msid-appdata property on transceivers to allow for further
+ customization by the application. When the property is not set,
+ msid-appdata can be left empty as it is specified as optional.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2003>
+
+2022-01-05 10:15:34 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * ext/wpe/gstwpesrcbin.cpp:
+ wpe: Mark first audio buffer as discont
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1492>
+
+2022-01-04 15:49:35 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * ext/wpe/gstwpe.h:
+ * ext/wpe/gstwpesrcbin.cpp:
+ * ext/wpe/gstwpevideosrc.cpp:
+ * ext/wpe/meson.build:
+ * tests/validate/meson.build:
+ * tests/validate/wpe/load_bytes_first.validatetest:
+ wpe: Use `about:blank` as default URL to support only using load-bytes
+ WebKit is not going to render anything until a URI is set, leading to a
+ WPE posting a `WPE View did not render a buffer` error message. To avoid
+ requiring the user to know it if they only want to use
+ `wpesrc::load-bytes` we can just use `about:blank` as default and
+ everything will work as users would expect.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1492>
+
+2022-01-27 23:54:34 +0900 Seungha Yang <seungha@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst/debugutils/gstfakeaudiosink.c:
+ * gst/debugutils/gstfakeaudiosink.h:
+ * gst/debugutils/gstfakevideosink.c:
+ * gst/debugutils/gstfakevideosink.h:
+ fakevideosink,fakeaudiosink: Proxy handoff and preroll-handoff signals
+ Proxy signals for application to be able to consume them
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1585>
+
+2021-12-24 19:49:34 +0900 Seungha Yang <seungha@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/aom/gstav1enc.c:
+ aom: av1enc: Specify Temporal Unit alignment
+ Encoded bitstream consists of leading Temporal delimiter OBU
+ with frame, that's Temporal Unit alignment.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1471>
+
+2022-03-24 02:52:45 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvh264enc.cpp:
+ * sys/qsv/gstqsvh265enc.cpp:
+ * sys/qsv/gstqsvvp9enc.cpp:
+ qsvencoder: Clear caps after debug print
+ Otherwise debug function will print (null) for alread cleared pointer
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2012>
+
+2022-03-24 02:43:43 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvh264enc.cpp:
+ qsvh264enc: Fix profile and level setting in codec data
+ The profile field in SPS is located after header byte
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2012>
+
+2022-03-16 04:58:16 +0900 Seungha Yang <seungha@centricular.com>
+
+ nvcodec: Add new Direct3D11/CUDA mode encoder implementation
+ Adding new encoder elements nvd3d11{h264,h265}enc for Direct3D11
+ input support and re-written nvcuda{h264,h265}enc elements.
+ Newly writeen elements have some differences compared with old
+ nv{h264,h265}enc including non-backward compatible changes.
+ * RGBA is not a supported input format any more:
+ New elements will support only YUV formats to avoid implicit conversion
+ done by hardware. Ideally it should be done by upstream element
+ in order to have more control on it. Moreover, RGBA support can cause
+ redundant RGBA -> YUV conversion if multiple encoders are
+ used for the same RGBA input
+ * Subsampled planar format support is dropped:
+ I420 and YV12 format are not supported formats for Direct3D11.
+ Although it's supported in CUDA mode, it's not a hardware friendly
+ memory layout and it will waste GPU memory since UV planes
+ will have large padding due to the memory layout requirement of NVENC.
+ * GL support is dropped: Similar to the RGBA case,
+ GL support in encoder would be suboptimal if GL input is
+ used by multiple encoders, because each encoder will copy GL memory
+ into CUDA memory.
+ Upstream cudaupload element can be used for GL <-> CUDA
+ interop instead.
+ * No more pre-allocation of encoder input surfaces. New implementation
+ will use input CUDA memory without copy (zero-copy) or
+ will copy into a NVENC's input buffer struct in case of
+ system memory input.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1997>
+
+2022-02-10 10:21:01 +0100 Vivienne Watermeier <vwatermeier@igalia.com>
+
+ * ext/wpe/WPEThreadedView.cpp:
+ * ext/wpe/WPEThreadedView.h:
+ * ext/wpe/gstwpevideosrc.cpp:
+ wpevideosrc: Add touch event support
+ Dispatches a list of active touch events to the wpe view on each
+ received TOUCH_FRAME event. Touch inputs currently only move the cursor,
+ since wpe doesn't seem to support clicking/scrolling or zooming with
+ touch input.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633>
+
+2022-02-14 16:08:23 +0100 Vivienne Watermeier <vwatermeier@igalia.com>
+
+ * ext/directfb/dfbvideosink.c:
+ * ext/opencv/gsthanddetect.cpp:
+ * ext/vulkan/vksink.c:
+ * gst/librfb/gstrfbsrc.c:
+ * sys/d3d11/gstd3d11videosink.cpp:
+ * sys/d3dvideosink/d3dhelpers.c:
+ * sys/d3dvideosink/d3dvideosink.c:
+ * sys/directshow/dshowvideosink.cpp:
+ * sys/va/gstvavpp.c:
+ * tests/check/pipelines/ipcpipeline.c:
+ all: Use new navigation interface and API
+ Use and implement the new navigation interface in all relevant sink elements,
+ and use API functions everywhere instead of directy accessing the event structure.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633>
+
+2022-03-22 10:37:59 +0800 Tong Wu <tong1.wu@intel.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/gstmsdkh265enc.c:
+ * sys/msdk/gstmsdkvp9enc.c:
+ msdkenc: add macro definitions to avoid the gst-inspect error
+ Since the strings are empty for GST_MSDK_CAPS_MAKE_WITH_DMABUF_FEATURE
+ and GST_MSDK_CAPS_MAKE_WITH_VA_FEATURE, when excuting
+ gst-inspect-1.0.exe msdkh265enc, there will be convert static caps error
+ because of the extra semicolon between two empty strings. Now macro
+ definitions are added to avoid this issue.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2004>
+
+2022-01-26 14:55:51 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ msdkdec: Check width and height of mfxVideoParam before allocation
+ DecodeHeader must be called to fill the mfxVideoParam before allocation,
+ and thus the check for width and height in mfxVideoParam is necessary.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1817>
+
+2022-03-18 16:34:38 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ doc: Update cache after NV12_8L128 addition
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1379>
+
+2022-03-21 13:01:03 +0100 Benjamin Gaignard <benjamin.gaignard@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2decoder.c:
+ v4l2codecs: Fix memory leak
+ Free pending_requests array when releasing decoder to avoid memory leak
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2000>
+
+2022-02-02 10:05:16 -0300 Daniel Almeida <daniel.almeida@collabora.com>
+
+ * gst-libs/gst/codecs/gstav1decoder.c:
+ * gst-libs/gst/codecs/gstav1decoder.h:
+ * gst-libs/gst/codecs/gstvp9decoder.c:
+ * sys/d3d11/gstd3d11av1dec.cpp:
+ * sys/va/gstvaav1dec.c:
+ av1decoder: Sync duplicate_picture with VP9 one
+ Pass the current frame to the duplicate_picture callback. This makes it easier
+ to set the frame's output_buffer if we already have one available. Also
+ documented that unlike VP9, it is not optional to implement this as the
+ picture will populate the DPB if it is a key-frame. To ensure this, remove the
+ default implementation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1992>
+
+2022-03-18 15:59:21 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/codecs/gstvp9decoder.c:
+ vp9decoder: Copy system_frame_number in duplicate_picture
+ Just like AV1, copy the system_frame_number from the original picture to make
+ it clear they reference the same data.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1992>
+
+2022-03-09 16:35:56 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/codecs/gstav1decoder.c:
+ cdoecs: av1: Copy system_frame_number in duplicate_picture
+ The system_frame_number is notably used by V4L2 decoder as a unique
+ indentifier for the frame that was decoded. This value is used to tell driver
+ which frame to reference, as V4L2 does not have an efficient mechanism to
+ otherwise pass back the frames.
+ For this reason, and because it is more ligical, copy the original
+ system_frame_number into the duplicate picture instead of using the current
+ frame.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1992>
+
+2022-03-21 22:03:53 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/va/meson.build:
+ meson: va: Define GST_USE_UNSTABLE_API
+ Remove extra_c_args which is not defined in this meson file at all,
+ and define GST_USE_UNSTABLE_API to avoid build warnings
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1999>
+
+2022-03-16 13:17:21 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/codecparsers/gstav1parser.c:
+ * gst-libs/gst/codecparsers/gstav1parser.h:
+ * gst-libs/gst/codecs/gstav1decoder.c:
+ codecs: av1: Fix state when we show existing keyframe
+ Showing existing keyframe have special meaning in AV1. All the references
+ frame will be refreshed with the original keyframe information. The refresh
+ process (7.20) is implemented by saving data from the frame_header into the
+ state. To fix this special case, load all the relevant information into the
+ frame_header.
+ As there is nothing happening in between this and the loading of the key-frame
+ into the state, this patch also remove the separate API function, using it
+ internally instead.
+ Fixes #1090
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1971>
+
+2022-03-18 13:04:59 +0100 Jakub Adam <jakub.adam@collabora.com>
+
+ * sys/d3d11/gstd3d11screencapture.cpp:
+ d3d11: Fix some typos
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1985>
+
+2022-03-18 13:42:27 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * meson.build:
+ meson: Bump all meson requirements to 0.60
+ Lots of new warnings ever since
+ https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1934
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1977>
+
+2022-03-18 13:37:30 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * ext/openexr/gstopenexrdec.cpp:
+ openexr: Fix some warnings
+ ```
+ ../subprojects/gst-plugins-bad/ext/openexr/gstopenexrdec.cpp:46:24: warning: ‘Imf_3_1::Int64’ is deprecated: use uint64_t [-Wdeprecated-declarations]
+ 46 | virtual Int64 tellg ();
+ | ^
+ In file included from ../subprojects/gst-plugins-bad/ext/openexr/gstopenexrdec.cpp:32:
+ /usr/include/OpenEXR/ImfInt64.h:23:32: note: declared here
+ 23 | typedef IMATH_NAMESPACE::Int64 Int64;
+ | ^~~~~
+ ../subprojects/gst-plugins-bad/ext/openexr/gstopenexrdec.cpp:47:32: warning: ‘Imf_3_1::Int64’ is deprecated: use uint64_t [-Wdeprecated-declarations]
+ 47 | virtual void seekg (Int64 pos);
+ | ^
+ In file included from ../subprojects/gst-plugins-bad/ext/openexr/gstopenexrdec.cpp:32:
+ /usr/include/OpenEXR/ImfInt64.h:23:32: note: declared here
+ 23 | typedef IMATH_NAMESPACE::Int64 Int64;
+ | ^~~~~
+ ../subprojects/gst-plugins-bad/ext/openexr/gstopenexrdec.cpp:67:26: warning: ‘Imf_3_1::Int64’ is deprecated: use uint64_t [-Wdeprecated-declarations]
+ 67 | Int64 MemIStream::tellg ()
+ | ^
+ In file included from ../subprojects/gst-plugins-bad/ext/openexr/gstopenexrdec.cpp:32:
+ /usr/include/OpenEXR/ImfInt64.h:23:32: note: declared here
+ 23 | typedef IMATH_NAMESPACE::Int64 Int64;
+ | ^~~~~
+ ../subprojects/gst-plugins-bad/ext/openexr/gstopenexrdec.cpp:73:29: warning: ‘Imf_3_1::Int64’ is deprecated: use uint64_t [-Wdeprecated-declarations]
+ 73 | MemIStream::seekg (Int64 pos)
+ | ^
+ In file included from ../subprojects/gst-plugins-bad/ext/openexr/gstopenexrdec.cpp:32:
+ /usr/include/OpenEXR/ImfInt64.h:23:32: note: declared here
+ 23 | typedef IMATH_NAMESPACE::Int64 Int64;
+ | ^~~~~
+ ```
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1977>
+
+2022-03-18 09:48:46 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/codecparsers/gstav1parser.h:
+ codecparsers: av1parser: Fix a typo in FilmGrainParams comment.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1974>
+
+2022-03-10 17:37:26 +0100 Jakub Adam <jakub.adam@collabora.com>
+
+ * sys/d3d11/gstd3d11screencapture.cpp:
+ * sys/d3d11/gstd3d11screencapture.h:
+ * sys/d3d11/gstd3d11screencapturesrc.cpp:
+ d3d11screencapturesrc: Allow capturing screen sub-area
+ Adds crop-x, crop-y, crop-width, crop-height properties specifying the
+ screen area to capture.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1932>
+
+2022-03-15 17:01:59 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: Warn when offer didn't intersect with transceiver caps
+ We were silently falling back to creating a recvonly offer if the caps
+ didn't intersect.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1864>
+
+2022-03-17 13:36:25 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/closedcaption/gstccconverter.c:
+ ccconverter: drop data with a warning if scratch buffers overflow
+ Instead of asserting which could bring down the entire application.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1972>
+
+2022-03-11 17:02:55 +0000 Philippe Normand <philn@igalia.com>
+
+ * ext/wpe/WPEThreadedView.cpp:
+ wpe: Reintroduce persistent WebContext
+ A WebContext leak was introduced in MR
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2252.
+ If we wanted one WebContext per WebView we should also unref the
+ WebKitWebContext when destroying the WebView.
+ This patch reintroduces the persistent WebContext, initially part of
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1484.
+ Fixes #1084
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1933>
+
+2022-03-16 00:05:19 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: fix deadlock when setting up FEC encoder
+ We bind transceivers' fec_percentage property to the FEC encoder
+ percentage property, and with the binding bidirectional a deadlock
+ was introduced by the latest changes from !1762:
+ We take hold of the transceiver's object lock, then add the binding
+ and set the property to its initial value on the encoder, which causes
+ set_property to deadlock in the transceiver when the binding kicks in.
+ Changing the binding type to DEFAULT (source to target) is enough
+ to address the deadlock and still serves the original intent.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1967>
+
+2022-03-10 19:22:52 +0900 Sangchul Lee <sc11.lee@samsung.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: Check data channel transport for notifying 'ice-gathering-state'
+ Previously, it did not care about data channel's. It is fixed by adding
+ some conditions.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1957>
+
+2022-03-14 01:19:53 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstcudamemorycopy.c:
+ * sys/nvcodec/gstcudautils.c:
+ * sys/nvcodec/gstcudautils.h:
+ nvcodec: Move CUDA <-> GL, D3D11, NVMM copy function to utils
+ This method can be used in other elements as well.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1945>
+
+2022-03-12 01:12:25 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvh265dec.c:
+ nvh265sldec: Add support for delayed output
+ Delay 4 frames in case of non-live to improve throughput
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1937>
+
+2022-03-12 21:54:45 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gsth265decoder.c:
+ * gst-libs/gst/codecs/gsth265decoder.h:
+ h265decoder: Add support for delayed output
+ Functionally identical to the other decoder baseclasses.
+ Delayed output can improve throughput depending on decoding APIs.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1937>
+
+2022-03-12 00:53:04 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gsth265decoder.h:
+ h265decoder: Update documentation
+ Sync up with other baseclasses
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1937>
+
+2022-03-12 04:45:22 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gsth265decoder.c:
+ * gst-libs/gst/codecs/gsth265picture.h:
+ h265decoder: Drain decoder on new_sequence()
+ Holding previously decoded but not outputted pictures even after
+ new_sequence is not a safe approach in various aspect.
+ However, we cannot drain out DPB on new_sequence() unconditionally,
+ because there is a case where decoder should drop decoded pictures
+ if NoOutputOfPriorPicsFlag is set.
+ To detect NoOutputOfPriorPicsFlag before the new_sequence() call,
+ this patch splits decoding process into two path, one for nal unit parsing
+ in order to detect NoOutputOfPriorPicsFlag and then each nal unit
+ will be decoded.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1937>
+
+2022-03-12 03:15:48 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gsth265decoder.c:
+ * gst-libs/gst/codecs/gsth265picture.c:
+ * gst-libs/gst/codecs/gsth265picture.h:
+ h265decoder: Remove unused pts variable
+ We can know timestamp from associated GstVideoCodecFrame
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1937>
+
+2022-03-13 00:17:48 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvbaseenc.c:
+ nvenc: Fix deadlock because of too strict buffer pool size
+ The pool size might need to be larger than encoding surface pool size.
+ Also, because we always copy input frame into internal CUDA memory,
+ there's no reason to restrict max size of buffer pool.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1939>
+
+2022-03-12 10:31:13 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvah264enc.c:
+ va: Fix a regression because of "Invert video codec frame dependency".
+ 1. Always set the according GstVaH264EncFrame pointer when GstVideoCodecFrame
+ pointer is assigned, which can make the logic safe.
+ 2. Fix the forgotten change in _sort_by_frame_num. Its input pointer now is
+ GstVideoCodecFrame type.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1935>
+
+2022-03-09 03:45:18 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gstav1decoder.c:
+ * gst-libs/gst/codecs/gstav1picture.c:
+ * gst-libs/gst/codecs/gstav1picture.h:
+ * gst-libs/gst/codecs/gsth264decoder.c:
+ * gst-libs/gst/codecs/gsth264picture.c:
+ * gst-libs/gst/codecs/gsth264picture.h:
+ * gst-libs/gst/codecs/gsth265decoder.c:
+ * gst-libs/gst/codecs/gsth265picture.c:
+ * gst-libs/gst/codecs/gsth265picture.h:
+ * gst-libs/gst/codecs/gstmpeg2decoder.c:
+ * gst-libs/gst/codecs/gstmpeg2picture.c:
+ * gst-libs/gst/codecs/gstmpeg2picture.h:
+ * gst-libs/gst/codecs/gstvp8decoder.c:
+ * gst-libs/gst/codecs/gstvp8picture.h:
+ * gst-libs/gst/codecs/gstvp9decoder.c:
+ * gst-libs/gst/codecs/gstvp9picture.c:
+ * gst-libs/gst/codecs/gstvp9picture.h:
+ * sys/nvcodec/gstnvh264dec.c:
+ * sys/va/gstvah264dec.c:
+ codecs: Rename picture clear functions
+ Our convention for clear method is gst_clear_foo_bar().
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1897>
+
+2022-03-11 23:20:26 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvh265dec.c:
+ nvh265sldec: Always fill SPS/PPS related parameters
+ Address compare was not a valid approach since it works
+ only if SPS/PPS id are changed. Otherwise it will always point to
+ the same address of member variables of h265parser.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1931>
+
+2022-03-11 19:32:59 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gsth264picture.c:
+ h264decoder: Fix invalid memory access
+ gst_h264_dpb_needs_bump() can be called with null picture
+ in case of live
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1928>
+
+2022-02-10 08:01:02 +0100 Branko Subasic <branko@axis.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst/onvif/gstrtponviftimestamp.c:
+ * gst/onvif/gstrtponviftimestamp.h:
+ * tests/check/elements/rtponviftimestamp.c:
+ rtponviftimestamp: add support for using reference timestamps
+ Make it posible to configure the element to obtain the timestamps from
+ reference timestamp meta data instead of using the ntp-offset property,
+ or estimating its own offset. Currently the only time format supported
+ is "timestamp/x-unix", i.e. UTC time expressed in the unix time epoch.
+ In addition the custom event GstNtpOffset has been renamed to
+ GstOnvifTimestamp, to reflect that it is not necessarily used to convey
+ the ntp-offset. As a consequence we had to modify a couple of files in
+ the rtsp-server as well.
+ Fixes #984
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1683>
+
+2022-03-10 18:40:12 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/sdp/gstsdpdemux.c:
+ sdpdemux: add media attributes to caps to fix ptp clock handling
+ Those are needed by rtpjitterbuffer to do the right thing, e.g.
+ a=ts-refclk:ptp=IEEE1588-2008:00-**-**-**-**-**-**-**:0
+ a=mediaclk:direct=1266592257
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1924>
+
+2022-03-08 16:20:27 +0100 Corentin Damman <c.damman@intopix.com>
+
+ * sys/nvcodec/gstcudaformat.h:
+ * sys/nvcodec/gstcudamemorycopy.c:
+ cudamemorycopy: add D3D11 resource support
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1807>
+
+2022-03-09 09:35:16 +0100 Corentin Damman <c.damman@intopix.com>
+
+ * sys/nvcodec/gstcudacontext.c:
+ * sys/nvcodec/meson.build:
+ cudacontext: find associated DXGI Adapter LUID
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1807>
+
+2022-02-28 14:40:51 +0100 Corentin Damman <c.damman@intopix.com>
+
+ * sys/nvcodec/gstcudautils.c:
+ * sys/nvcodec/gstcudautils.h:
+ * sys/nvcodec/meson.build:
+ * sys/nvcodec/stub/cuda.h:
+ cudautils: add support of D3D11 resource as Cuda graphics resource type
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1807>
+
+2022-02-28 11:24:31 +0100 Corentin Damman <c.damman@intopix.com>
+
+ * sys/nvcodec/gstcudaloader.c:
+ * sys/nvcodec/gstcudaloader.h:
+ * sys/nvcodec/stub/cuda.h:
+ cudaloader: add D3D11 API
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1807>
+
+2022-03-10 10:33:56 +0100 Edward Hervey <edward@centricular.com>
+
+ * gst/mpegtsdemux/mpegtsbase.c:
+ * gst/mpegtsdemux/mpegtsbase.h:
+ mpegts: Handle glib < 2.58
+ By using a workaround to the lack of g_ptr_array_steal_index.
+ Fixes #1078
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1917>
+
+2022-03-10 15:36:00 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: fix ulpfecenc passthrough pt
+ ulpfecenc uses a value of pt=255 for passthrough.
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1075
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1914>
+
+2022-03-10 02:28:11 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvdec.c:
+ * sys/nvcodec/gstnvdec.h:
+ nvh264dec,nvh265dec: Fix broken key-unit trick and reverse playback
+ On GstVideoDecoder::{drain,flush}, we send null packet with
+ CUVID_PKT_ENDOFSTREAM flag to drain out decoder. Which will
+ reset CUVID parser as well.
+ To continue decoding after the drain, the next input buffer
+ should include sequence headers otherwise CUVID parser will
+ not report any decodeable frame.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1911>
+
+2021-11-02 09:20:55 +0100 Edward Hervey <edward@centricular.com>
+
+ * gst/mpegtsdemux/mpegtsbase.c:
+ tsbase: Handle more program updates
+ There could be a case where the new program has the same program number as the
+ previous one ... but is actually located on a PID previously used for elementary
+ stream. In that case the program is guaranteed to not be an update of the
+ previous program but a completely new one.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1893>
+
+2021-11-02 09:18:57 +0100 Edward Hervey <edward@centricular.com>
+
+ * gst/mpegtsdemux/mpegtsbase.c:
+ * gst/mpegtsdemux/mpegtsbase.h:
+ mpegtsbase: Use an array to track programs
+ We need to be able to look for programs by their PID also. Using a hash table
+ was a bit sub-par (and overkill) for storing a range of programs.
+ This is needed because there could potentially be two programs with the same
+ program id but different PMT PID (while one is being deactivated the new one
+ would "exist").
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1893>
+
+2022-03-04 13:19:17 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvah264enc.c:
+ vah264enc: Invert video codec frame dependency.
+ Instead of using GstMiniObject to hold H264 frame, now it uses a plain
+ structure. Besides, instead of holding a reference to
+ GstVideoCodecFrame, the H264 frame structure is set as a
+ GstVideoCodecFrame user data.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1856>
+
+2022-03-09 02:14:50 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstcudamemorycopy.c:
+ cudamemorycopy: Fix GL resource leak
+ Clear GL resources on stop()
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1896>
+
+2022-03-07 18:46:55 +0100 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/mpegtsmux/gstbasetsmux.c:
+ mpegtsmux: Start last_ts with GST_CLOCK_TIME_NONE
+ And use the output segment position for the outgoing timestamp while it
+ is. This is needed to delay the calculation of `output_ts_offset` until
+ we actually have a usable timestamp, as tsmux will output a few initial
+ packets while `last_ts` is still unset.
+ Without this, the calculation would use the initial `0` value, which did
+ not have the intended effect of making VBR mode behave like CBR mode,
+ but always calculated an offset equal to the selected start time.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1884>
+
+2022-03-07 18:46:08 +0100 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/mpegtsmux/gstbasetsmux.c:
+ mpegtsmux: Use GST_CLOCK_STIME_NONE for output_ts_offset
+ It's a GstClockTimeDiff, thus GST_CLOCK_TIME_NONE isn't appropriate.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1884>
+
+2022-03-08 01:26:50 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/decklink/linux/DeckLinkAPI.h:
+ * sys/decklink/linux/DeckLinkAPIConfiguration.h:
+ * sys/decklink/linux/DeckLinkAPIDeckControl.h:
+ * sys/decklink/linux/DeckLinkAPIDiscovery.h:
+ * sys/decklink/linux/DeckLinkAPIDispatch.cpp:
+ * sys/decklink/linux/DeckLinkAPIModes.h:
+ * sys/decklink/linux/DeckLinkAPITypes.h:
+ * sys/decklink/linux/DeckLinkAPIVersion.h:
+ * sys/decklink/linux/LinuxCOM.h:
+ * sys/decklink/osx/DeckLinkAPI.h:
+ * sys/decklink/osx/DeckLinkAPIConfiguration.h:
+ * sys/decklink/osx/DeckLinkAPIDeckControl.h:
+ * sys/decklink/osx/DeckLinkAPIDiscovery.h:
+ * sys/decklink/osx/DeckLinkAPIDispatch.cpp:
+ * sys/decklink/osx/DeckLinkAPIModes.h:
+ * sys/decklink/osx/DeckLinkAPIStreaming.h:
+ * sys/decklink/osx/DeckLinkAPITypes.h:
+ * sys/decklink/osx/DeckLinkAPIVersion.h:
+ * sys/decklink/win/DeckLinkAPI.h:
+ * sys/decklink/win/DeckLinkAPI_i.c:
+ decklink: Update SDK version to 12.2.2
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1883>
+
+2022-03-08 03:45:01 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstcudamemorycopy.c:
+ cudamemorycopy: Remove texture-target caps field
+ It's GL specific field, and we can remove it unconditionally
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1865>
+
+2022-03-05 02:30:24 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstcudaformat.h:
+ * sys/nvcodec/gstcudamemorycopy.c:
+ * sys/nvcodec/gstcudanvmm.c:
+ * sys/nvcodec/gstcudanvmm.h:
+ * sys/nvcodec/meson.build:
+ * sys/nvcodec/plugin.c:
+ cudaupload,cudadownload: Add support for dGPU NVMM
+ Implement NVMM <-> CUDA, GL, SYSTEM memory conversion. Jetson is
+ not supported yet. Note that NVMM <-> GL interop on Jetson platform
+ is supported by GstGL
+ Some example pipelines are:
+ - Convert NVMM to GstGL memory
+ nvv4l2decoder ! "video/x-raw(memory:NVMM)" ! cudadownload ! "video/x-raw(memory:GLMemory)" ! glimagesink
+ - Upload system memory to NVMM and encode
+ video/x-raw,format=NV12 ! cudaupload ! "video/x-raw(memory:NVMM)" ! nvv4l2h264enc
+ - Convert NVMM to GstCUDA memory and encode
+ nvvideoconvert ! "video/x-raw(memory:NVMM)" ! cudaupload ! "video/x-raw(memory:CUDAMemory)" ! nvh264enc
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1865>
+
+2022-03-03 15:06:00 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvaencoder.c:
+ * sys/va/gstvaencoder.h:
+ * sys/va/gstvah264enc.c:
+ va: encoder: Don't preallocate reconstruct buffers.
+ It's not required by VA to register the reconstruct buffers at context
+ creation, just as in decoders.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1857>
+
+2022-03-07 10:19:53 +0000 Philippe Normand <philn@igalia.com>
+
+ * tests/check/libs/play.c:
+ gstplay: tests: Keep track of errors/warnings
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1869>
+
+2022-03-07 10:16:36 +0000 Philippe Normand <philn@igalia.com>
+
+ * gst-libs/gst/play/gstplay.c:
+ gstplay: Do not error out on message parsing failures
+ Specially when parsing errors and warnings, the details field can be NULL and
+ the gst_structure_get() call would return FALSE in such cases, triggering false
+ positive errors.
+ Follow-up for #1063
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1869>
+
+2022-03-07 10:14:43 +0000 Philippe Normand <philn@igalia.com>
+
+ * gst-libs/gst/play/gstplay.c:
+ * gst-libs/gst/play/gstplay.h:
+ gstplay: Fix warning parsing API
+ The GError is an out parameter, so should be a ** parameter, like the details
+ parameter.
+ See also #1063
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1869>
+
+2022-03-07 18:59:37 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstcudamemorycopy.c:
+ cudamemorycopy: Fix build when gl is disabled
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1707
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1868>
+
+2022-03-02 09:15:12 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ msdkdec: Fix to not trigger SFC scaling when vpp at downstream
+ When there is vpp scaling downstream, we need to make sure SFC is not
+ triggered because vpp may fall into passthrough mode which causes
+ the decoder negotiation to create src caps with vpp scaled width/height.
+ This patch includes bitstream's original size in first query with
+ downstream in gst_msdkdec_src_caps, which is the same for what we do for
+ color format in this query. This is to ensure SFC scaling starts to
+ work only when downstream directly asks for a different size instead of
+ through vpp.
+ Note that here SFC scaling follows the same behavior as msdkvpp:
+ if user only changes width or height, e.g. dec ! video/x-raw,width=xx !,
+ the height will be modified to the value which fits the original DAR.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1838>
+
+2022-03-06 19:18:20 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstcudautils.c:
+ nvcodec: Add missing null check in context sharing code
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1834>
+
+2022-03-04 03:33:41 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstcudadownload.c:
+ * sys/nvcodec/gstcudadownload.h:
+ * sys/nvcodec/gstcudaformat.h:
+ * sys/nvcodec/gstcudamemorycopy.c:
+ * sys/nvcodec/gstcudamemorycopy.h:
+ * sys/nvcodec/gstcudaupload.c:
+ * sys/nvcodec/gstcudaupload.h:
+ * sys/nvcodec/meson.build:
+ * sys/nvcodec/plugin.c:
+ nvcodec: Refactor cudaupload/download and add support for GL memory
+ * Implement new baseclass GstCudaMemoryCopy to remove duplicated
+ cudaupload/download code
+ * Add support for CUDA <-> GL memory conversion via cudaupload/download
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1834>
+
+2022-03-03 03:25:47 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/cuda-converter.c:
+ * sys/nvcodec/cuda-converter.h:
+ * sys/nvcodec/gstcudabasefilter.c:
+ * sys/nvcodec/gstcudabufferpool.c:
+ * sys/nvcodec/gstcudadownload.c:
+ * sys/nvcodec/gstcudamemory.c:
+ * sys/nvcodec/gstcudamemory.h:
+ * sys/nvcodec/gstcudaupload.c:
+ * sys/nvcodec/gstnvbaseenc.c:
+ * sys/nvcodec/gstnvdec.c:
+ * sys/nvcodec/gstnvdecoder.c:
+ * sys/nvcodec/plugin.c:
+ nvcodec: Refactor GstCudaMemory abstraction
+ * Hide GstCudaMemory member variables
+ * Make GstCudaAllocator object GstCudaContext independent
+ * Set offset/stride of memory correctly via video meta
+ * Drop GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT support.
+ This implementation actually does not support custom alignment
+ because we allocate device memory via cuMemAllocPitch
+ of which alignment is almost uncontrollable
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1834>
+
+2022-03-02 22:03:54 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/cuda-converter.h:
+ * sys/nvcodec/gstcudabasefilter.c:
+ * sys/nvcodec/gstcudabasefilter.h:
+ * sys/nvcodec/gstcudabasetransform.c:
+ * sys/nvcodec/gstcudabasetransform.h:
+ * sys/nvcodec/gstcudaconvert.c:
+ * sys/nvcodec/gstcudadownload.c:
+ * sys/nvcodec/gstcudadownload.h:
+ * sys/nvcodec/gstcudaformat.h:
+ * sys/nvcodec/gstcudaupload.c:
+ * sys/nvcodec/gstcudaupload.h:
+ nvcodec: Refactor basetransform subclasses
+ * cudaupload/download
+ - Specify only formats actually we can deal with
+ nvcodec elements, not all video formats
+ - Supports CUDA output for download and input for upload in order
+ to make passthrough possible, like other upload/download elements.
+ * cudabasetransform
+ - Reset conversion element if upstream CUDA memory
+ holds different CUDA context and the element can accept it.
+ This is the same behavior as corresponding d3d11 filter elements.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1834>
+
+2022-03-02 20:55:29 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstcudabufferpool.c:
+ * sys/nvcodec/gstcudabufferpool.h:
+ cudabufferpool: Move GstCudaContext object to public member
+ ... so that plugins can understand assosicated cuda context with the
+ pool.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1834>
+
+2022-03-03 02:48:17 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstcudacontext.c:
+ * sys/nvcodec/gstcudacontext.h:
+ * sys/nvcodec/gstcudautils.c:
+ cudacontext: Require explicit gpu id instead of auto (-1)
+ Sync up with GstD3D11Device implementation. The auto stuff should
+ be handled in context sharing step, not device creation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1834>
+
+2022-03-03 03:24:14 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstcudaloader.c:
+ * sys/nvcodec/gstcudamemory.c:
+ * sys/nvcodec/gstcudascale.c:
+ * sys/nvcodec/gstcuvidloader.c:
+ * sys/nvcodec/gstnvrtcloader.c:
+ nvcodec: Indent update
+ ... to prevent gnu indent version dependent diffs.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1834>
+
+2022-03-02 05:01:42 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstcudacontext.c:
+ cudacontext: Remove unnecessary cuInit() call
+ It's already called at plugin init time
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1834>
+
+2022-03-05 11:35:29 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst/videoparsers/gstav1parse.c:
+ av1parse: Add a comment when the detection of TU fails.
+ Also update the print message.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1863>
+
+2022-03-04 16:48:54 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/camerabin2/gstwrappercamerabinsrc.c:
+ camerabin: Remove drain query
+ This was to support very old V4L2 kernel. As we moved to DMABuf and can now
+ detach buffers on renegotiation, the buffer it tries to fix no longer exist.
+ The risk to blocking indefinitly the application does still exist though.
+ Fixes #1070
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1861>
+
+2022-03-03 23:00:41 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst/videoparsers/gstav1parse.c:
+ av1parse: check the error return when parse_alignment_from_caps()
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1837>
+
+2022-03-03 22:38:56 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst/videoparsers/gstav1parse.c:
+ av1parse: Use the intersected caps to decide the alignment.
+ When we negotiate with downstream, We should use the intersected
+ caps of input and output to decide the alignment and stream format.
+ The current code just uses the input caps which may lack the stream
+ format.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1837>
+
+2022-03-03 21:30:00 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst/ivfparse/gstivfparse.c:
+ ivfparse: Set the alignment to tu for AV1 stream.
+ Just do the same as other demux.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1837>
+
+2022-03-03 17:51:11 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst/videoparsers/gstav1parse.c:
+ av1parse: Only detect the stream format when input alignment is tu.
+ The demux now outputs the AV1 stream in "tu" alignment, so we do not need
+ to detect the input alignment. But the annex b stream format is not recognized
+ by the demux, we still need to detect that stream format for the first input.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1837>
+
+2022-03-02 16:22:25 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/videoparsers/gstav1parse.c:
+ av1parse: Save the default alignment
+ Otherwise the transformation is not applied and decoders may not
+ get the appropriate format despite the caps being negotiated
+ correctly.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1837>
+
+2022-03-02 16:20:31 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/videoparsers/gstav1parse.c:
+ av1parse: Remove duplicated check
+ The case of both strings being empty is already checked in the
+ helper function. No functional changes.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1837>
+
+2022-03-04 10:02:56 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/videoparsers/gstvp9parse.c:
+ vp9parse: Fix auto-plugging of HW frame decoder
+ Decoders that required frame aligmment and didn't have an associated
+ alpha decoder were skipped. This is because the parser was constructing
+ caps based on the software alpha decoder, which specify super-frame
+ alignment.
+ Iterate over the caps to filter the one that have a matching codec-alpha, with
+ the semantic the no codec-alpha field means codec-alpha=false. Then if
+ everything was removed, callback to the original, so that the first non-alpha
+ decoder will be picked.
+ Fixes #820
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1855>
+
+2022-03-04 14:17:47 +0100 Edward Hervey <edward@centricular.com>
+
+ * gst/mpegtsdemux/tsdemux.c:
+ tsdemux: Handle PES headers bigger than a mpeg-ts packet
+ While the actual PES header parser could notify us that it needed more data, we
+ would never actually act on it.
+ This commit will accumulate incoming packets in such situation and re-attempt
+ the header parsing.
+ Fixes #1027
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1852>
+
+2022-03-03 11:32:23 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvabasetransform.c:
+ va: basetransform: Add device-path read-only property.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1844>
+
+2022-03-03 11:05:36 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvabasedec.c:
+ * sys/va/gstvabasedec.h:
+ va: basedec: Add device-path read-only property.
+ And elements will notify the used device-path if display is DRM.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1844>
+
+2022-03-04 13:34:50 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvah264enc.c:
+ vah264enc: Remove GST_PARAM_CONDITIONALLY_AVAILABLE.
+ Since it's used only when the property is conditionally installed, and
+ these parameters are always installed.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1845>
+
+2022-03-04 09:15:42 +0100 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvaencoder.c:
+ va: encoder: Clean dead code.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1845>
+
+2022-03-03 14:08:16 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvaencoder.c:
+ va: encoder: Fix error code path when open.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1845>
+
+2022-03-03 13:57:35 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvah264enc.c:
+ vah264enc: Remove preferred_output_delay.
+ In the current state of the encoder it's just dead code.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1845>
+
+2022-03-03 09:59:28 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvaencoder.c:
+ * sys/va/gstvaencoder.h:
+ * sys/va/gstvah264enc.c:
+ vah264enc: Avoid mapping coded buffer twice.
+ Currently for copying the coded buffer onto a GStreamer buffer, the
+ coded buffer is mapped two times: one for getting the size, and later
+ for do the actual copy. We can avoid this by doing directly in the
+ element rather than in the general encoder object.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1845>
+
+2022-03-02 20:53:16 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvaencoder.c:
+ * sys/va/gstvaencoder.h:
+ * sys/va/gstvah264enc.c:
+ vah264enc: Single parameter array per picture.
+ There's no need, at least in H.264, to hold a global parameter array,
+ since there's no need to submit SPS, trellis, hdr or quality in every
+ buffer, but only on IDR ones.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1845>
+
+2022-03-02 20:06:01 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/plugin.c:
+ va: Fix log message
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1845>
+
+2022-03-04 09:57:02 +0000 Philippe Normand <philn@igalia.com>
+
+ * gst-libs/gst/play/gstplay.c:
+ * gst-libs/gst/play/gstplay.h:
+ play: Fix error parsing API
+ The GError is an out parameter, so should be a ** parameter, like the details
+ parameter.
+ Fixes #1063
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1849>
+
+2021-08-03 12:14:49 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/transportstream.c:
+ * ext/webrtc/transportstream.h:
+ * ext/webrtc/webrtctransceiver.c:
+ * ext/webrtc/webrtctransceiver.h:
+ * tests/check/elements/webrtcbin.c:
+ webrtc: support renegotiating adding/removing RTX
+ We need to always add the RTX/RED/ULPFEC elements as rtpbin will only
+ call us once to request aux/fec senders/receivers.
+ We also need to regenerate the media section of the SDP instead of
+ blindly copying from the previous offer.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1762>
+
+2022-03-01 11:43:09 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ msdkenc: Change default ref frames number as 0
+ When user does not set ref-frames in pipeline, we should let MediaSDK
+ decide the reference frame number via setting default value as 0 at
+ gstreamer side.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1839>
+
+2022-03-04 04:18:06 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/wic/meson.build:
+ meson: wic: Fix typo
+ Should check WIC build option, not MediaFoundation
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1847>
+
+2022-03-03 04:22:15 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvdecoder.h:
+ * sys/qsv/gstqsvencoder.h:
+ * sys/qsv/gstqsvh264dec.cpp:
+ * sys/qsv/gstqsvh264enc.cpp:
+ * sys/qsv/gstqsvh265enc.cpp:
+ * sys/qsv/gstqsvvp9enc.cpp:
+ qsv: Remove strcpy for DRM device path
+ Simplify code. It's just one-time allocation, so don't need to worry
+ about leaking.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1835>
+
+2022-03-03 04:57:42 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/msdk/gstmsdkcontext.c:
+ msdk: Don't print error log for missing DRM device path
+ It's expected in case that such DRM device is unavailable for some reasons,
+ specifically non-Intel platform or so
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1836>
+
+2022-01-30 03:11:37 +0900 Seungha Yang <seungha@centricular.com>
+
+ * meson_options.txt:
+ * sys/meson.build:
+ * sys/wic/gstwicdecoder.cpp:
+ * sys/wic/gstwicdecoder.h:
+ * sys/wic/gstwicimagingfactory.cpp:
+ * sys/wic/gstwicimagingfactory.h:
+ * sys/wic/gstwicjpegdec.cpp:
+ * sys/wic/gstwicjpegdec.h:
+ * sys/wic/gstwicpngdec.cpp:
+ * sys/wic/gstwicpngdec.h:
+ * sys/wic/gstwicutils.cpp:
+ * sys/wic/gstwicutils.h:
+ * sys/wic/meson.build:
+ * sys/wic/plugin.cpp:
+ wic: Add support for JPEG and PNG decoding
+ Adding Windows Imaging Component (WIC) plugin with JPEG/PNG decoding
+ support.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1605>
+
+2022-03-02 06:17:22 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/directshow/gstdshow.cpp:
+ * sys/directshow/gstdshowvideodec.cpp:
+ directshow: Fix for division by zero
+ The AvgTimePerFrame value may be unknown. Use arbitrary
+ value (30 fps) instead of crashing.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1828>
+
+2022-02-20 03:59:32 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvallocator.cpp:
+ * sys/qsv/gstqsvallocator.h:
+ * sys/qsv/gstqsvallocator_d3d11.cpp:
+ * sys/qsv/gstqsvallocator_va.cpp:
+ * sys/qsv/gstqsvdecoder.cpp:
+ * sys/qsv/gstqsvdecoder.h:
+ * sys/qsv/gstqsvencoder.cpp:
+ * sys/qsv/gstqsvh264dec.cpp:
+ * sys/qsv/gstqsvh264dec.h:
+ * sys/qsv/gstqsvutils.h:
+ * sys/qsv/meson.build:
+ * sys/qsv/plugin.cpp:
+ qsv: Add H.264 decoder
+ Initial decoder implementation with baseclass
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1786>
+
+2022-02-21 10:49:15 +0100 Sebastian Fricke <sebastian.fricke@collabora.com>
+
+ * ext/wpe/WPEThreadedView.cpp:
+ * ext/wpe/gstwpe.cpp:
+ * ext/wpe/gstwpe.h:
+ Remove the uninstalled term
+ Remove the symbolic link `gst-uninstalled` which points to `gst-env`.
+ The `uninstalled` is the old name and the project should stick to a
+ single name for the procedure.
+ Remove the term from all the files, exceptions are variables from
+ dependencies like `uninstalled_variables` from pkgconfig and
+ `meson-uninstalled`.
+ Adjust mentions of the script in the documentation and README.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1743>
+
+2022-02-23 11:10:11 +0100 Sebastian Fricke <sebastian.fricke@collabora.com>
+
+ * README.md:
+ Maintain build instructions at a single location
+ Do not maintain similar build instructions within each gst-plugins-*
+ subproject and the subproject/gstreamer subproject. Use the build
+ instructions from the mono-repository and link to them via hyperlink.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1743>
+
+2022-02-21 12:26:49 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ docs: Add vah264enc metadata.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051>
+
+2021-10-05 01:53:19 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/plugin.c:
+ va: enable the H264 encoder.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051>
+
+2021-10-05 01:51:48 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvah264enc.c:
+ * sys/va/gstvah264enc.h:
+ * sys/va/meson.build:
+ va: Add H264 encoder.
+ This a new VA-API implementation of a H264 encoder.
+ It can control the GOP and parameter settings, while the MV searching,
+ VCL and the rate control algorithm are implemented by VA drivers and HW.
+ It supports most of the common usage options in H264, but still lacks
+ of look ahead, field, B frame weighted prediction, etc.
+ Co-authored-by: Victor Jaquez <vjaquez@igalia.com>
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051>
+
+2021-10-05 01:50:07 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvaencoder.c:
+ * sys/va/gstvaencoder.h:
+ * sys/va/meson.build:
+ va: Add a common encoder object.
+ As the counterpart of the va decoder, this class handles all the
+ common logic for the encoding routine and miscellaneous queries about
+ encoding.
+ Co-authored-by: Victor Jaquez <vjaquez@igalia.com>
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051>
+
+2022-01-20 21:44:20 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/vacompat.h:
+ va: Add vacompat.h to wrap glib functions.
+ The g_queue_clear_full() and g_array_copy() functions in the glib
+ may not be available for the current glib version check, so we add
+ helper functions to wrap it.
+ This should be deleted after the glib version bumps.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051>
+
+2021-10-21 22:56:23 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvaprofile.c:
+ * sys/va/gstvaprofile.h:
+ va: Add the profile string name into the profile_map.
+ We also add a helper function of gst_va_profile_from_name to get
+ the VA profile value by its profile string name.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051>
+
+2021-10-05 01:53:47 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvaprofile.c:
+ va: Change the H264 profile string order in the profile_map.
+ The first one should be the one that matches the VA profile's name
+ most precisely.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051>
+
+2021-10-05 01:45:25 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvacaps.c:
+ * sys/va/gstvacaps.h:
+ va: caps: Expose gst_va_create_coded_caps as helper function.
+ And allow free indentation for array declaration.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051>
+
+2021-10-05 01:43:28 +0800 He Junyan <junyan.he@intel.com>
+
+ * tests/check/libs/h264bitwriter.c:
+ * tests/check/meson.build:
+ test: Add test cases for the H264 bitwriter.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051>
+
+2021-10-05 01:42:41 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/codecparsers/gsth264bitwriter.c:
+ * gst-libs/gst/codecparsers/gsth264bitwriter.h:
+ * gst-libs/gst/codecparsers/meson.build:
+ codecparsers: bitwriter: Add the common bit writer functions for H264.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051>
+
+2021-10-05 01:41:07 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/codecparsers/nalutils.c:
+ * gst-libs/gst/codecparsers/nalutils.h:
+ codecparsers: nalutils: Add nal_writer_reset_and_get_data help function.
+ We not only want to create a NAL gstmemory, but also need to create and
+ get the raw data of a NAL writer for the later usage.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051>
+
+2022-02-28 16:33:23 +0100 Guillaume Desmottes <guillaume.desmottes@onestream.live>
+
+ * ext/gs/meson.build:
+ gs: look for google_cloud_cpp_storage.pc
+ storage_client.pc was legacy and has been removed:
+ https://github.com/googleapis/google-cloud-cpp/commit/df6fa3611cdfbc37d40e1451afa91fd7d2e7d5f7#diff-bc35ad7c2fe631fd5578a06092412dba81c7ddd27bb25df7e17bb13771799afcL743
+ No need to keep looking for storage_client.pc as a fallback as 1.25.0,
+ our minimum version, already ships google_cloud_cpp_storage.pc
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1815>
+
+2022-02-25 15:00:05 +0800 jinsl00000 <jinsl00000@msn.cn>
+
+ * sys/ipcpipeline/gstipcpipelinecomm.c:
+ * sys/ipcpipeline/meson.build:
+ ipcpipeline: fix crash and error on windows with SOCKET or _pipe()
+ The fd was in different meanings on windows:
+ POSIX read and write use the fd as a file descriptor.
+ The gst_poll use the fd as a WSASocket.
+ This patch use WSASocket as default on windows. This is a temporary measure, because IPC has many different implement. There may be a better way in the future.
+ See #1044
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1791>
+
+2022-02-14 16:15:46 +0800 Wu Tong <tong1.wu@intel.com>
+
+ * sys/msdk/gstmsdkcontextutil.c:
+ * sys/msdk/gstmsdkenc.c:
+ MSDK: Add _context_query() and avoid compile error on Windows
+ To avoid compile error on Windows, macro definitions are added to suppress va
+ variables. In the meantime, add function _context_query() to query
+ context on Windows.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1693>
+
+2022-02-24 20:26:46 +0530 Sanchayan Maity <sanchayan@asymptotic.io>
+
+ * ext/ldac/gstldacenc.c:
+ ldac: Set eqmid in caps
+ We set the eqmid in caps to be usable downstream by rtpldacpay for
+ knowing the frame count.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1797>
+
+2022-01-31 16:13:32 +0200 Vivia Nikolaidou <vivia@ahiru.eu>
+
+ * gst/mpegtsmux/gstbasetsmux.c:
+ tsmux: Skip empty buffers
+ They can be created e.g. by aggregator when there is a gap. Such buffers
+ should not be muxed at all.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1611>
+
+2022-02-21 11:37:26 -0500 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * data/meson.build:
+ * ext/voamrwbenc/meson.build:
+ * gst/freeverb/meson.build:
+ devenv: Add some missing GStreamer specific env variables
+ This should make "meson devenv" closer to what "gst-env.py" sets.
+ - GST_VALIDATE_SCENARIOS_PATH
+ - GST_VALIDATE_APPS_DIR
+ - GST_OMX_CONFIG_DIR
+ - GST_ENCODING_TARGET_PATH
+ - GST_PRESET_PATH
+ - GST_PLUGIN_SCANNER
+ - GST_PTP_HELPER
+ - _GI_OVERRIDES_PATH
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1768>
+
+2018-12-05 01:22:48 +0100 Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+
+ * ext/fdkaac/gstfdkaacdec.c:
+ * ext/fdkaac/gstfdkaacdec.h:
+ fdkaacdec: Support arbitrary channel configs
+ Try to match the config to GStreamer positions. If something doesn't
+ fit, fall back to a set of unpositioned channels.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1561>
+
+2018-12-05 01:07:19 +0100 Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+
+ * ext/fdkaac/gstfdkaacdec.c:
+ * ext/fdkaac/gstfdkaacdec.h:
+ fdkaacdec: Use predefined channel layouts
+ This limits the decoder to the layouts predefined for the encoder
+ (including the MPEG standard layouts) but greatly simplifies the
+ implementation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1561>
+
+2022-02-01 14:51:27 +0200 Vivia Nikolaidou <vivia@ahiru.eu>
+
+ * gst/mpegtsmux/gstbasetsmux.c:
+ * gst/mpegtsmux/gstbasetsmux.h:
+ tsmux: Lock mux->tsmux, the programs hash table, and pad streams
+ They contain implementations that are not thread-safe (e.g. GList, GHashTable).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1616>
+
+2022-02-17 15:16:40 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ msdkdec: Fix uninitialized variables
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1731>
+
+2022-02-17 15:12:52 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ * sys/msdk/gstmsdkvpp.c:
+ msdk: Fix unchecked return values
+ There are several calls of gst_video_info_from_caps and gst_video_frame_copy
+ without checks for the returned values. This patch adds all necessary
+ function return checks.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1738>
+
+2022-02-22 05:19:51 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvencoder.cpp:
+ qsvencoder: Fix caps leak in Linux build
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1769>
+
+2022-02-22 05:15:04 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/plugin.cpp:
+ qsv: Fix debug category name of qsvallocator
+ Remove gst prefix to make $env:GST_DEBUG="qsv*:6" work for qsvallocator
+ as well
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1769>
+
+2022-02-21 16:45:50 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ bad:docs: Add vaav1dec in documentation
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1773>
+
+2022-02-21 14:17:11 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+ * gst-libs/gst/d3d11/gstd3d11memory.h:
+ d3d11: Remove non-existing gst_d3d11_memory_get_type() API from header
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1764>
+
+2022-02-14 23:30:45 +0300 Dmitry Osipenko <dmitry.osipenko@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2format.c:
+ * sys/v4l2codecs/gstv4l2format.h:
+ v4l2codecs: Support YUV420M format
+ YUV420M format of V4L essentially is I420 with separate memory planes.
+ It's used by NVIDIA Tegra V4L decoder. Support this format by v4l2codecs.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1727>
+
+2022-02-20 23:59:46 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11screencapturesrc.cpp:
+ d3d11screencapturesrc: Use staging buffer pool for performance
+ By using staging pool/buffer, we can avoid per frame
+ staging texture -> system memory copy.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1756>
+
+2022-02-20 15:20:07 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ doc: Add NV12_16L32S into the cache
+ Autogenerated by CI
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1567>
+
+2022-01-26 13:39:40 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2format.c:
+ * sys/v4l2codecs/gstv4l2format.h:
+ v4l2codecs: Enable MediaTek MM21 (NV12_16L32S)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1567>
+
+2022-01-19 15:53:05 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2format.c:
+ v4l2codecs: Add support for multi planar buffers
+ V4L2 have some pixel formats that produces 2 dmabuf, this add
+ support for these format.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1567>
+
+2022-01-25 14:08:47 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * ext/wayland/wlshmallocator.c:
+ * sys/kms/gstkmsallocator.c:
+ * sys/v4l2codecs/gstv4l2format.c:
+ Port plugins to gst_video_format_info_extrapolate_stride()
+ This reduces code duplication and simplify addition of new
+ pixel formats into related plugins.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1567>
+
+2022-02-20 06:36:45 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/winscreencap/dxgicapture.c:
+ * sys/winscreencap/dxgicapture.h:
+ * sys/winscreencap/gstdxgiscreencapsrc.c:
+ * sys/winscreencap/gstdxgiscreencapsrc.h:
+ * sys/winscreencap/gstwinscreencap.c:
+ * sys/winscreencap/meson.build:
+ winscreencap: Remove dxgiscreencapsrc element
+ We have the d3d11screencapturesrc element in d3d11 plugin
+ which is obviously better than this element in terms of performance
+ and design, so we don't need to make people be confused by two separate elements.
+ Let's pick the better implementation and remove unnecessary one.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1750>
+
+2022-02-08 15:23:17 +0100 Jan Alexander Steffens (heftig) <heftig@archlinux.org>
+
+ * ext/wpe/meson.build:
+ wpe: Clean up build script
+ Use feature.require to check for gstgl and exit early if 'wpe' is
+ disabled (don't even check for wpe-webkit-1.1).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1668>
+
+2022-02-19 00:37:34 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/directshow/dshowvideosink.cpp:
+ * sys/directshow/gstdshowaudiodec.h:
+ directshow: Fix build warnings
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1744>
+
+2022-02-19 00:14:38 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/directshow/dshowdecwrapper/gstdshowdecwrapper.cpp:
+ * sys/directshow/dshowdecwrapper/gstdshowdecwrapper.h:
+ * sys/directshow/dshowdecwrapper/meson.build:
+ * sys/directshow/dshowdeviceprovider.cpp:
+ * sys/directshow/dshowdeviceprovider.h:
+ * sys/directshow/dshowsinkwrapper/meson.build:
+ * sys/directshow/dshowsrcwrapper/meson.build:
+ * sys/directshow/dshowvideofakesrc.cpp:
+ * sys/directshow/dshowvideofakesrc.h:
+ * sys/directshow/dshowvideosink.cpp:
+ * sys/directshow/dshowvideosink.h:
+ * sys/directshow/gstdshow.cpp:
+ * sys/directshow/gstdshow.h:
+ * sys/directshow/gstdshowaudiodec.cpp:
+ * sys/directshow/gstdshowaudiodec.h:
+ * sys/directshow/gstdshowaudiosrc.cpp:
+ * sys/directshow/gstdshowaudiosrc.h:
+ * sys/directshow/gstdshowfakesink.cpp:
+ * sys/directshow/gstdshowfakesink.h:
+ * sys/directshow/gstdshowfakesrc.cpp:
+ * sys/directshow/gstdshowfakesrc.h:
+ * sys/directshow/gstdshowutil.cpp:
+ * sys/directshow/gstdshowutil.h:
+ * sys/directshow/gstdshowvideodec.cpp:
+ * sys/directshow/gstdshowvideodec.h:
+ * sys/directshow/gstdshowvideosrc.cpp:
+ * sys/directshow/gstdshowvideosrc.h:
+ * sys/directshow/meson.build:
+ * sys/directshow/plugin.cpp:
+ directshow: Merge plugins into single directshow plugin
+ ... and lower rank of dshowvideosink and dshowdeviceprovider
+ to GST_RANK_MARGINAL since we don't prefer this plugin
+ by default
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1744>
+
+2022-02-19 00:12:55 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/directshow/dshowdecwrapper/gstdshowaudiodec.cpp:
+ * sys/directshow/dshowdecwrapper/gstdshowaudiodec.h:
+ * sys/directshow/dshowdecwrapper/gstdshowfakesrc.cpp:
+ * sys/directshow/dshowdecwrapper/gstdshowfakesrc.h:
+ * sys/directshow/dshowdecwrapper/gstdshowutil.cpp:
+ * sys/directshow/dshowdecwrapper/gstdshowutil.h:
+ * sys/directshow/dshowdecwrapper/gstdshowvideodec.cpp:
+ * sys/directshow/dshowdecwrapper/gstdshowvideodec.h:
+ * sys/directshow/dshowsinkwrapper/dshowvideofakesrc.cpp:
+ * sys/directshow/dshowsinkwrapper/dshowvideosink.cpp:
+ * sys/directshow/dshowsinkwrapper/dshowvideosink.h:
+ * sys/directshow/dshowsrcwrapper/gstdshow.h:
+ * sys/directshow/dshowsrcwrapper/gstdshowaudiosrc.h:
+ * sys/directshow/dshowsrcwrapper/gstdshowsrcwrapper.cpp:
+ * sys/directshow/dshowsrcwrapper/gstdshowvideosrc.cpp:
+ * sys/directshow/dshowsrcwrapper/gstdshowvideosrc.h:
+ directshow: Remove white spaces
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1744>
+
+2021-10-19 16:10:06 -0300 Martin Reboredo <yakoyoku@gmail.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/vulkan/gstvulkan.c:
+ * ext/vulkan/gstvulkanelements.h:
+ * ext/vulkan/meson.build:
+ * ext/vulkan/vkshaderspv.c:
+ * ext/vulkan/vkshaderspv.h:
+ vulkanshaderspv: SPIRV based filter
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1197>
+
+2022-02-18 16:23:09 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codecvp9dec.c:
+ v4l2codecs: vp9: Fix reset_frame_context parameter
+ It was assumed that the kernel parameters would match with the bitstream value
+ but instead the author when with another set of value. Surprisingly, this
+ makes no difference with the resulting fluster score.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1748>
+
+2022-02-18 16:02:27 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codecvp9dec.c:
+ v4l2codecs: vp9: Only fill compressed headers if needed
+ Fixes: 13944cf3ee871722 ("v4l2codecs: vp9: Make compressed hdr control optional")
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1748>
+
+2022-01-14 23:42:27 -0600 Tim Mooney <Tim.Mooney@ndsu.edu>
+
+ * sys/v4l2codecs/linux/types-compat.h:
+ v4l2: include <sys/ioccom.h> on Illumos
+ Needed for _IOR/_IORW
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1524>
+
+2022-01-26 21:06:45 +0100 Loic Le Page <llepage@fluendo.com>
+
+ * sys/directshow/dshowsinkwrapper/dshowvideofakesrc.cpp:
+ * sys/directshow/dshowsinkwrapper/dshowvideofakesrc.h:
+ * sys/directshow/dshowsinkwrapper/dshowvideosink.cpp:
+ * sys/directshow/dshowsinkwrapper/dshowvideosink.h:
+ * sys/directshow/dshowsinkwrapper/meson.build:
+ * sys/directshow/dshowvideosink/README:
+ * sys/directshow/meson.build:
+ Add build files and fix build for gst-plugins-bad dshowsinkwrapper plugin
+ dshowsinkwrapper plugin is the old dshowvideosink plugin that has been
+ renamed to be compliant with the actuel plugin name in the source code.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1577>
+
+2022-01-26 21:03:10 +0100 Loic Le Page <llepage@fluendo.com>
+
+ * sys/directshow/dshowsrcwrapper/BUILD.txt:
+ * sys/directshow/dshowsrcwrapper/CMakeLists.txt:
+ * sys/directshow/dshowsrcwrapper/gstdshowvideosrc.cpp:
+ * sys/directshow/dshowsrcwrapper/meson.build:
+ * sys/directshow/meson.build:
+ Add build files and fix build for gst-plugins-bad dshowsrcwrapper plugin
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1577>
+
+2022-01-26 20:58:12 +0100 Loic Le Page <llepage@fluendo.com>
+
+ * sys/directshow/dshowdecwrapper/CMakeLists.txt:
+ * sys/directshow/dshowdecwrapper/gstdshowvideodec.cpp:
+ * sys/directshow/dshowdecwrapper/meson.build:
+ * sys/directshow/meson.build:
+ Add build files and fix build for gst-plugins-bad dshowdecwrapper plugin
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1577>
+
+2022-01-26 20:43:09 +0100 Loic Le Page <llepage@fluendo.com>
+
+ * meson_options.txt:
+ * sys/directshow/meson.build:
+ * sys/directshow/strmbase/LICENSE:
+ * sys/directshow/strmbase/baseclasses/amextra.cpp:
+ * sys/directshow/strmbase/baseclasses/amextra.h:
+ * sys/directshow/strmbase/baseclasses/amfilter.cpp:
+ * sys/directshow/strmbase/baseclasses/amfilter.h:
+ * sys/directshow/strmbase/baseclasses/amvideo.cpp:
+ * sys/directshow/strmbase/baseclasses/arithutil.cpp:
+ * sys/directshow/strmbase/baseclasses/cache.h:
+ * sys/directshow/strmbase/baseclasses/checkbmi.h:
+ * sys/directshow/strmbase/baseclasses/combase.cpp:
+ * sys/directshow/strmbase/baseclasses/combase.h:
+ * sys/directshow/strmbase/baseclasses/cprop.cpp:
+ * sys/directshow/strmbase/baseclasses/cprop.h:
+ * sys/directshow/strmbase/baseclasses/ctlutil.cpp:
+ * sys/directshow/strmbase/baseclasses/ctlutil.h:
+ * sys/directshow/strmbase/baseclasses/ddmm.cpp:
+ * sys/directshow/strmbase/baseclasses/ddmm.h:
+ * sys/directshow/strmbase/baseclasses/dllentry.cpp:
+ * sys/directshow/strmbase/baseclasses/dllsetup.cpp:
+ * sys/directshow/strmbase/baseclasses/dllsetup.h:
+ * sys/directshow/strmbase/baseclasses/dxmperf.h:
+ * sys/directshow/strmbase/baseclasses/fourcc.h:
+ * sys/directshow/strmbase/baseclasses/measure.h:
+ * sys/directshow/strmbase/baseclasses/msgthrd.h:
+ * sys/directshow/strmbase/baseclasses/mtype.cpp:
+ * sys/directshow/strmbase/baseclasses/mtype.h:
+ * sys/directshow/strmbase/baseclasses/outputq.cpp:
+ * sys/directshow/strmbase/baseclasses/outputq.h:
+ * sys/directshow/strmbase/baseclasses/perflog.cpp:
+ * sys/directshow/strmbase/baseclasses/perflog.h:
+ * sys/directshow/strmbase/baseclasses/perfstruct.h:
+ * sys/directshow/strmbase/baseclasses/pstream.cpp:
+ * sys/directshow/strmbase/baseclasses/pstream.h:
+ * sys/directshow/strmbase/baseclasses/pullpin.cpp:
+ * sys/directshow/strmbase/baseclasses/pullpin.h:
+ * sys/directshow/strmbase/baseclasses/refclock.cpp:
+ * sys/directshow/strmbase/baseclasses/refclock.h:
+ * sys/directshow/strmbase/baseclasses/reftime.h:
+ * sys/directshow/strmbase/baseclasses/renbase.cpp:
+ * sys/directshow/strmbase/baseclasses/renbase.h:
+ * sys/directshow/strmbase/baseclasses/schedule.cpp:
+ * sys/directshow/strmbase/baseclasses/schedule.h:
+ * sys/directshow/strmbase/baseclasses/seekpt.cpp:
+ * sys/directshow/strmbase/baseclasses/seekpt.h:
+ * sys/directshow/strmbase/baseclasses/source.cpp:
+ * sys/directshow/strmbase/baseclasses/source.h:
+ * sys/directshow/strmbase/baseclasses/streams.h:
+ * sys/directshow/strmbase/baseclasses/strmctl.cpp:
+ * sys/directshow/strmbase/baseclasses/strmctl.h:
+ * sys/directshow/strmbase/baseclasses/sysclock.cpp:
+ * sys/directshow/strmbase/baseclasses/sysclock.h:
+ * sys/directshow/strmbase/baseclasses/transfrm.cpp:
+ * sys/directshow/strmbase/baseclasses/transfrm.h:
+ * sys/directshow/strmbase/baseclasses/transip.cpp:
+ * sys/directshow/strmbase/baseclasses/transip.h:
+ * sys/directshow/strmbase/baseclasses/videoctl.cpp:
+ * sys/directshow/strmbase/baseclasses/videoctl.h:
+ * sys/directshow/strmbase/baseclasses/vtrans.cpp:
+ * sys/directshow/strmbase/baseclasses/vtrans.h:
+ * sys/directshow/strmbase/baseclasses/winctrl.cpp:
+ * sys/directshow/strmbase/baseclasses/winctrl.h:
+ * sys/directshow/strmbase/baseclasses/winutil.cpp:
+ * sys/directshow/strmbase/baseclasses/winutil.h:
+ * sys/directshow/strmbase/baseclasses/wxdebug.cpp:
+ * sys/directshow/strmbase/baseclasses/wxdebug.h:
+ * sys/directshow/strmbase/baseclasses/wxlist.cpp:
+ * sys/directshow/strmbase/baseclasses/wxlist.h:
+ * sys/directshow/strmbase/baseclasses/wxutil.cpp:
+ * sys/directshow/strmbase/baseclasses/wxutil.h:
+ * sys/directshow/strmbase/meson.build:
+ * sys/meson.build:
+ Add directshow strmbase library source code from Microsoft repo
+ Original repo is here:
+ https://github.com/microsoft/Windows-classic-samples
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1577>
+
+2022-02-16 14:53:12 +0100 Loïc Le Page <llepage@fluendo.com>
+
+ * sys/directshow/dshowdecwrapper/CMakeLists.txt:
+ * sys/directshow/dshowdecwrapper/gstdshowaudiodec.cpp:
+ * sys/directshow/dshowdecwrapper/gstdshowaudiodec.h:
+ * sys/directshow/dshowdecwrapper/gstdshowdecwrapper.cpp:
+ * sys/directshow/dshowdecwrapper/gstdshowdecwrapper.h:
+ * sys/directshow/dshowdecwrapper/gstdshowfakesrc.cpp:
+ * sys/directshow/dshowdecwrapper/gstdshowfakesrc.h:
+ * sys/directshow/dshowdecwrapper/gstdshowutil.cpp:
+ * sys/directshow/dshowdecwrapper/gstdshowutil.h:
+ * sys/directshow/dshowdecwrapper/gstdshowvideodec.cpp:
+ * sys/directshow/dshowdecwrapper/gstdshowvideodec.h:
+ * sys/directshow/dshowsrcwrapper/BUILD.txt:
+ * sys/directshow/dshowsrcwrapper/CMakeLists.txt:
+ * sys/directshow/dshowsrcwrapper/dshowdeviceprovider.cpp:
+ * sys/directshow/dshowsrcwrapper/dshowdeviceprovider.h:
+ * sys/directshow/dshowsrcwrapper/gstdshow.cpp:
+ * sys/directshow/dshowsrcwrapper/gstdshow.h:
+ * sys/directshow/dshowsrcwrapper/gstdshowaudiosrc.cpp:
+ * sys/directshow/dshowsrcwrapper/gstdshowaudiosrc.h:
+ * sys/directshow/dshowsrcwrapper/gstdshowfakesink.cpp:
+ * sys/directshow/dshowsrcwrapper/gstdshowfakesink.h:
+ * sys/directshow/dshowsrcwrapper/gstdshowsrcwrapper.cpp:
+ * sys/directshow/dshowsrcwrapper/gstdshowvideosrc.cpp:
+ * sys/directshow/dshowsrcwrapper/gstdshowvideosrc.h:
+ * sys/directshow/dshowvideosink/README:
+ * sys/directshow/dshowvideosink/dshowvideofakesrc.cpp:
+ * sys/directshow/dshowvideosink/dshowvideofakesrc.h:
+ * sys/directshow/dshowvideosink/dshowvideosink.cpp:
+ * sys/directshow/dshowvideosink/dshowvideosink.h:
+ Move all directshow plugins to the same sub-folder
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1577>
+
+2022-01-15 00:04:05 -0600 Tim Mooney <Tim.Mooney@ndsu.edu>
+
+ * ext/curl/meson.build:
+ * gst/festival/meson.build:
+ * meson.build:
+ * sys/shm/meson.build:
+ meson: check for libsocket and libnsl
+ If present, add '-lsocket' and '-lnsl' to network_deps.
+ ext/curl/meson.build: add network_deps to dependencies
+ gst/festival/meson.build: same
+ sys/shm/meson.build: same
+ Fixes linking issues on Illumos distros.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1525>
+
+2022-02-14 22:59:01 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11_private.h:
+ * gst-libs/gst/d3d11/gstd3d11device.cpp:
+ * gst-libs/gst/d3d11/gstd3d11format.h:
+ * sys/d3d11/gstd3d11converter.cpp:
+ * tests/check/elements/d3d11colorconvert.c:
+ d3d11: Add support for AYUV, AYUV64, and RGBA64_LE formats
+ Note that AYUV and AYUV64 formats will be used to expand format
+ support, especially some packed YUV formats (e.g., Y410, YUY2)
+ are common DXGI formats used for hardware decoder/encoder on Windows
+ but those formats cannot be used as a render target. We need to handle
+ them differently without pixel shader help, using compute shader
+ for example.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1699>
+
+2022-02-13 20:32:48 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11_private.h:
+ * gst-libs/gst/d3d11/gstd3d11bufferpool.cpp:
+ * gst-libs/gst/d3d11/gstd3d11device.cpp:
+ * gst-libs/gst/d3d11/gstd3d11format.cpp:
+ * gst-libs/gst/d3d11/gstd3d11format.h:
+ * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+ * gst-libs/gst/d3d11/gstd3d11stagingbufferpool.cpp:
+ d3d11: Reorganize format mapping table
+ ... and handle GST <-> D3D11 format mapping in a single place to
+ make adding format easier
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1699>
+
+2022-02-13 04:36:39 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11bufferpool.cpp:
+ * gst-libs/gst/d3d11/gstd3d11device.cpp:
+ * gst-libs/gst/d3d11/gstd3d11device.h:
+ * gst-libs/gst/d3d11/gstd3d11format.cpp:
+ * gst-libs/gst/d3d11/gstd3d11format.h:
+ * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+ * gst-libs/gst/d3d11/gstd3d11memory.h:
+ * gst-libs/gst/d3d11/gstd3d11stagingbufferpool.cpp:
+ * sys/d3d11/gstd3d11convert.cpp:
+ * sys/d3d11/gstd3d11converter.cpp:
+ * sys/d3d11/gstd3d11decoder.cpp:
+ * sys/d3d11/gstd3d11pluginutils.cpp:
+ * sys/d3d11/gstd3d11upload.cpp:
+ * sys/d3d11/gstd3d11window.cpp:
+ * sys/d3d11/gstd3d11window_dummy.cpp:
+ * sys/mediafoundation/plugin.cpp:
+ d3d11: Store device format in struct
+ Holding pointer to struct was unsafe approach because
+ the pointer to d3d11 format will be invalidated once d3d11 device
+ object is released
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1699>
+
+2021-10-01 20:27:28 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/vulkan/win32/gstvkwindow_win32.c:
+ * gst/festival/gstfestival.c:
+ * meson.build:
+ * sys/ipcpipeline/gstipcpipelinecomm.c:
+ * sys/mediafoundation/gstmfvideoencoder.cpp:
+ * tests/examples/nvcodec/nvcodec.c:
+ meson: Do hard build error for some MSVC warnings
+ Handle various MSVC warnings as errors for development version.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1006>
+
+2022-02-14 16:18:54 +0300 Dmitry Osipenko <dmitry.osipenko@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ v4l2codecs: h264: Correct scaling matrix ABI check
+ Scaling matrix V4L UAPI control not presents on NVIDIA Tegra, the default
+ matrix should be used in this case. Mark scaling matrix presence optional.
+ Fixes: 47bfa71530c ("v4l2codecs: h264: Improve ABI check ")
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1726>
+
+2022-01-21 15:32:09 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ * sys/msdk/gstmsdkdec.h:
+ msdkdec: Enable SFC scaling for AVC and HEVC
+ Decoder SFC only supports down-scaling at most to 1/8.
+ For example, given a 4K bistream, SFC can scale it to 1080p via:
+ "msdkh265dec ! video/x-raw,width=1920,height=1080 ! glimagesink"
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1444>
+
+2021-12-15 11:49:40 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ * sys/msdk/gstmsdkh264dec.c:
+ * sys/msdk/gstmsdkh265dec.c:
+ msdkdec: Enable SFC csc for AVC and HEVC
+ Decoder SFC will be triggered when default output format is not accept at
+ downstream. One use case below can work without using msdkvpp:
+ "! msdkh265dec ! "video/x-raw,format=BGRA" ! glimagesink",
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1444>
+
+2021-11-17 17:05:09 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ * sys/msdk/gstmsdkdec.h:
+ msdkdec: Add SFC codes
+ SFC refers to Scaler Format Converter, more details here:
+ https://01.org/sites/default/files/documentation/intel-gfx-prm-osrc-kbl-vol15-sfc.pdf
+ By attaching mfxExtDecVideoProcessing buffer to mfxVideoParam, decoder
+ can do SFC for csc and scaling.
+ MSDK will check if surface bitdepth equals to input when no SFC is
+ triggered, which means in the case of SFC, there is no need to update
+ surface bitdepth via gst_msdk_update_mfx_frame_info_from_mfx_video_param.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1444>
+
+2022-02-16 02:23:58 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11converter.cpp:
+ d3d11converter: Fix for missing GRAY conversion
+ Add missing Y410 -> GRAY and GRAY -> semi-planar conversion
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1724>
+
+2022-02-16 02:11:53 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11converter.cpp:
+ d3d11converter: Don't use FIXME_OBJECT for non-GstObject
+ ... and print ERROR messages for unexpected input/output formats
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1724>
+
+2021-11-10 15:18:24 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/va/gstvadisplay.c:
+ * gst-libs/gst/va/gstvadisplay.h:
+ * sys/va/gstvacaps.c:
+ * sys/va/gstvadecoder.c:
+ * sys/va/gstvadisplay_priv.c:
+ * sys/va/gstvafilter.c:
+ * sys/va/gstvasurfacecopy.c:
+ * sys/va/vasurfaceimage.c:
+ va: Delete the display lock/unlock when we call VA-API.
+ According to the VA-API's description, they are MT-safe, we do not
+ need to care about that in our middleware layer. The lock/unlock
+ operations have overhead and make the performance lower.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1333>
+
+2022-02-08 15:22:39 +0100 Jan Alexander Steffens (heftig) <heftig@archlinux.org>
+
+ * ext/openaptx/gstopenaptxdec.h:
+ * ext/openaptx/gstopenaptxenc.h:
+ * ext/openaptx/meson.build:
+ openaptx: Support libfreeaptx
+ [libfreeaptx][1] is a fork of libopenapt 0.2.0, used by pipewire.
+ [1]: https://github.com/iamthehorker/libfreeaptx
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1642
+ Closes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1589
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1667>
+
+2022-02-15 02:26:46 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11converter.cpp:
+ d3d11converter: Fix RGB to GRAY conversion
+ Fix typo in shader code
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1697>
+
+2022-02-14 12:57:44 +0100 Stéphane Cerveau <scerveau@collabora.com>
+
+ * gst/mpegtsdemux/tsdemux.c:
+ tsdemux: unlock mutex on -1 start_offfset
+ Closing #1013
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1694>
+
+2022-02-13 22:39:46 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11download.cpp:
+ d3d11download: Fix decide_allocation
+ Caps should be parsed in any cases.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1691>
+
+2022-02-13 10:49:31 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/meson.build:
+ meson: va: Add va option check into plugin's build.
+ Because the liblibgstva is built unconditionally, we now move the
+ va option check into va plugin's build.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1685>
+
+2022-02-13 10:39:37 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/va/meson.build:
+ meson: va: Remove va option check from gst-libs
+ Building libgstva-1.0 unconditionally for the va implementation can be
+ used by non-va plugins such as MSDK even when va plugin is disabled
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1685>
+
+2022-02-12 10:05:11 +0000 Philippe Normand <philn@igalia.com>
+
+ * gst-libs/gst/webrtc/dtlstransport.c:
+ dtlstransport: Notify ICE transport property changes
+ The application might track the underlying ICE transport, so not notifying
+ changes might lead to use-after-free issues.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1688>
+
+2022-02-12 14:51:51 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvavpp.c:
+ vavpp: Fix the caps leak in the transform_caps() function.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1689>
+
+2022-02-12 00:51:56 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/meson.build:
+ meson: d3d11: Remove d3d11 option check from gst-libs
+ Build gstd3d11-1.0 unconditionally for d3d11 implementation can be used
+ by non-d3d11 plugins even when d3d11 plugin is disabled
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1684>
+
+2022-02-10 22:31:06 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11_fwd.h:
+ * gst-libs/gst/d3d11/gstd3d11_private.h:
+ * gst-libs/gst/d3d11/gstd3d11bufferpool.cpp:
+ * gst-libs/gst/d3d11/gstd3d11config.h.meson:
+ * gst-libs/gst/d3d11/gstd3d11device.cpp:
+ * gst-libs/gst/d3d11/gstd3d11format.cpp:
+ * gst-libs/gst/d3d11/gstd3d11stagingbufferpool.cpp:
+ * gst-libs/gst/d3d11/meson.build:
+ * sys/d3d11/gstd3d11convert.cpp:
+ * sys/d3d11/gstd3d11pluginutils.cpp:
+ * sys/d3d11/gstd3d11pluginutils.h:
+ * sys/d3d11/gstd3d11screencapturedevice.h:
+ * sys/d3d11/gstd3d11videoprocessor.cpp:
+ * sys/d3d11/gstd3d11videoprocessor.h:
+ * sys/d3d11/gstd3d11window.cpp:
+ * sys/d3d11/gstd3d11window_dummy.cpp:
+ * sys/d3d11/gstd3d11window_win32.cpp:
+ * sys/d3d11/meson.build:
+ * sys/d3d11/plugin.cpp:
+ * sys/mediafoundation/plugin.cpp:
+ d3d11: Update build-time dependency
+ Remove all the d3d11 and dxgi header version dependent ifdef
+ and bump the minimum requirement to d3d11_4.h and dxgi1_6.h.
+ We are already failing support old Visual Studio (Windows SDK actually)
+ such as Visual Studio 2015. Note that our MinGW toolchain satisfies
+ the requirement.
+ From runtime point of view, this change should be fine since
+ we are checking OS version with IUnknown::QueryInterface()
+ everywhere in order to check API availability
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1684>
+
+2021-05-08 17:54:34 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/gstmsdkenc.h:
+ * sys/msdk/gstmsdkh265enc.c:
+ * sys/msdk/gstmsdkvp9enc.c:
+ * sys/msdk/msdk.h:
+ MSDK: Import VA surface as encoder's input.
+ We make all MSDK encoders declare "memory:VAMemory" feature. Then
+ the pipeline such as:
+ gst-launch-1.0 -vf filesrc location=xxx.h264 ! h264parse ! \
+ vah264dec ! msdkh265enc ! fakesink
+ will choose VA memory caps between the VA decoder and MSDK encoder.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087>
+
+2021-05-08 17:26:27 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/msdk/gstmsdk_va.c:
+ * sys/msdk/gstmsdk_va.h:
+ * sys/msdk/meson.build:
+ MSDK: Add helper function to peek VA surface of VA kind gstbuffer.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087>
+
+2021-05-08 15:51:11 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ MSDK: Handle context query into the encoder's query function.
+ The MSDK encoder's query function is not set and it just forwards
+ all query to its base class. We now need to answer the context
+ query correctly. Other VA plugins need to query the VA display.
+ By the way, the current query of "gst.msdk.Context" is also missing.
+ The other MSDK elements must depend on the bin's context message(
+ sent in context_propagate()) to set their MsdkContext correctly.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087>
+
+2021-08-17 22:36:59 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/msdk/gstmsdkvpp.c:
+ MSDK: Handle context query into the VPP's query function.
+ The MSDK VPP's query function is not set and it just forwards
+ all query to its base class. We now need to answer the context
+ query correctly. Other VA plugins need to query the VA display.
+ By the way, the current query of "gst.msdk.Context" is also missing.
+ The other MSDK elements must depend on the bin's context message(
+ sent in context_propagate()) to set their MsdkContext correctly.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087>
+
+2021-08-17 22:34:43 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ MSDK: Handle context query into the decoder's query function.
+ The MSDK decoder's query function is not set and it just forwards
+ all query to its base class. We now need to answer the context
+ query correctly. Other VA plugins need to query the VA display.
+ By the way, the current query of "gst.msdk.Context" is also missing.
+ The other MSDK elements must depend on the bin's context message(
+ sent in context_propagate()) to set their MsdkContext correctly.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087>
+
+2021-08-17 22:33:18 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/msdk/gstmsdkcontextutil.c:
+ * sys/msdk/gstmsdkcontextutil.h:
+ MSDK: Add a handle_context_query() helper function.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087>
+
+2021-08-17 21:51:58 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/msdk/gstmsdkcontextutil.c:
+ * sys/msdk/gstmsdkcontextutil.h:
+ * sys/msdk/gstmsdkdec.c:
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/gstmsdkvpp.c:
+ MSDK: Improve the GstContext setting logic.
+ We now can use the gst va lib's display to create our MSDK context,
+ and use its helper functions to simplify our code. The improved logic
+ is like this:
+ 1. Every MSDK element should use gst_msdk_context_find() to find a MSDK
+ context from neighbour. If valid, reuse it.
+ 2. Use gst_msdk_ensure_new_context(). It will first query neighbours
+ about the GstVaDisplay, if found(e.g. some VA element is connected),
+ use gst_msdk_context_from_external_display() to create a MSDK context.
+ 3. Then, creating the MSDK context from scratch. It creates both the
+ display and MSDK context.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087>
+
+2021-05-08 13:49:23 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/msdk/gstmsdkcontext.c:
+ * sys/msdk/gstmsdkcontext.h:
+ MSDK: Add new_with_va_display() helper function to create context.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087>
+
+2021-05-08 11:44:57 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/msdk/gstmsdkcontext.c:
+ * sys/msdk/gstmsdkcontext.h:
+ MSDK: Use the VA display object to replace the raw display handle.
+ The VA display object from VA lib is a common defined object. which
+ contain the whole display things. It is easier to use, and more important,
+ we can share it with the other VA plugins and keep all the VA related
+ plugins working on the same GPU device.
+ We also delete the useless gst_msdk_context_get_fd() API.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087>
+
+2022-02-11 11:11:03 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/msdk/meson.build:
+ MSDK: Add the gst va lib into MSDK's dependency.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087>
+
+2022-02-10 12:52:30 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst/videoparsers/gstav1parse.c:
+ av1parse: Add temporal unit check when TD is absent.
+ The current manner for deciding the new temporal unit is based on
+ temporal delimiter(TD) OBU. We only start a new temporal unit when
+ the TD comes.
+ But some streams do not have TD at all, which makes the output "TU"
+ alignment fail to work. We now add check based on the relationship
+ between the different layers and it can successfully judge the TU edge.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1634>
+
+2022-02-04 17:12:15 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst/videoparsers/gstav1parse.c:
+ av1parse: let the parse continue when MISSING_OBU_REFERENCE error.
+ Some streams may have verbose OBUs before a valid sequence header. We
+ should let the parse continue rather than return a error.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1634>
+
+2022-02-04 11:40:18 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst/videoparsers/gstav1parse.c:
+ av1parse: Continue when we fail to detect the alignment.
+ Some streams may have problematic OBUs at the beginning, which causes
+ the parse fail to detect the alignment and return error. For example,
+ there may be verbose OBUs before a valid sequence, which should be
+ discarded until we meet a valid sequence. We should let the parse
+ continue when we meet such cases, rather than just return error.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1634>
+
+2021-03-30 19:23:12 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/ivfparse/gstivfparse.c:
+ ivfparse: Don't set zero resolution on caps
+ It could be zero if the information is not available at ivfparse
+ side, or not implemented. In that case, simply don't set
+ width/height on caps, otherwise downstream would be confused
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1649>
+
+2022-01-29 01:52:26 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfmp3dec.cpp:
+ * sys/mediafoundation/gstmfmp3dec.h:
+ * sys/mediafoundation/meson.build:
+ * sys/mediafoundation/plugin.cpp:
+ mediafoundation: Add support for MP3 decoding
+ See also
+ https://docs.microsoft.com/en-us/windows/win32/medfound/windows-media-mp3-decoder
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1596>
+
+2022-01-27 02:20:37 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfaacdec.cpp:
+ * sys/mediafoundation/gstmfaacdec.h:
+ * sys/mediafoundation/gstmfaudiodecoder.cpp:
+ * sys/mediafoundation/gstmfaudiodecoder.h:
+ * sys/mediafoundation/gstmfutils.cpp:
+ * sys/mediafoundation/gstmfutils.h:
+ * sys/mediafoundation/meson.build:
+ * sys/mediafoundation/plugin.cpp:
+ mediafoundation: Add support for AAC decoding
+ See also
+ https://docs.microsoft.com/en-us/windows/win32/medfound/aac-decoder
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1596>
+
+2022-01-28 01:45:30 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfaacenc.cpp:
+ * sys/mediafoundation/gstmfaudioencoder.cpp:
+ * sys/mediafoundation/gstmfaudioencoder.h:
+ * sys/mediafoundation/gstmfh264enc.cpp:
+ * sys/mediafoundation/gstmfh265enc.cpp:
+ * sys/mediafoundation/gstmfmp3enc.cpp:
+ * sys/mediafoundation/gstmfsourcereader.cpp:
+ * sys/mediafoundation/gstmftransform.cpp:
+ * sys/mediafoundation/gstmfvideoencoder.cpp:
+ * sys/mediafoundation/gstmfvideoencoder.h:
+ * sys/mediafoundation/gstmfvp9enc.cpp:
+ * sys/mediafoundation/meson.build:
+ * sys/mediafoundation/plugin.cpp:
+ mediafoundation: Cosmetic changes
+ Rename baseclass to be consistent with other Windows plugins
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1596>
+
+2022-01-27 02:26:02 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfaudioenc.cpp:
+ * sys/mediafoundation/gstmftransform.cpp:
+ * sys/mediafoundation/gstmfvideoenc.cpp:
+ mediafoundation: Use & operator instead of GetAddressOf()
+ Use shorter expression
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1596>
+
+2022-01-24 02:41:29 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfaacenc.cpp:
+ * sys/mediafoundation/gstmfaudioenc.cpp:
+ * sys/mediafoundation/gstmfcapturewinrt.cpp:
+ * sys/mediafoundation/gstmfdevice.cpp:
+ * sys/mediafoundation/gstmfh264enc.cpp:
+ * sys/mediafoundation/gstmfh265enc.cpp:
+ * sys/mediafoundation/gstmfmp3enc.cpp:
+ * sys/mediafoundation/gstmfplatloader.cpp:
+ * sys/mediafoundation/gstmfsourceobject.cpp:
+ * sys/mediafoundation/gstmfsourcereader.cpp:
+ * sys/mediafoundation/gstmftransform.cpp:
+ * sys/mediafoundation/gstmfutils.cpp:
+ * sys/mediafoundation/gstmfvideobuffer.cpp:
+ * sys/mediafoundation/gstmfvideoenc.cpp:
+ * sys/mediafoundation/gstmfvideosrc.cpp:
+ * sys/mediafoundation/gstmfvp9enc.cpp:
+ * sys/mediafoundation/gstwin32devicewatcher.cpp:
+ * sys/mediafoundation/mediacapturewrapper.cpp:
+ * sys/mediafoundation/meson.build:
+ * sys/mediafoundation/plugin.cpp:
+ mediafoundation: Port to C++
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1596>
+
+2022-02-09 03:27:41 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/plugin.cpp:
+ d3d11decoder: Promote rank to primary except for mpeg2
+ Our D3D11/DXVA codecs implementation has been verified
+ during 1.18 and 1.20 development cycle and also via the Fluster
+ test framework. Similar to the case of nvdec and vtdec,
+ we can prefer hardware over software in most cases
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1672>
+
+2022-02-09 15:05:14 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codecvp9dec.c:
+ v4l2codecs: vp9: Fix duplicating a duplicated picture
+ Duplicating a picture what was already a dup was leading to a crash. Rename
+ the custom picture flags as HOLDS_BUFFER to make its meaning clear. Then save
+ then ref and store the picture as userdata, so it can be obtained when
+ duplicating. Finally, mark the doplicated as HOLDS_BUFFER to avoid thinking it
+ holds a request.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1681>
+
+2022-02-10 01:48:23 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfaudioenc.cpp:
+ mfaudioenc: Handle empty IMFMediaBuffer
+ IMFMediaBuffer may not hold encoded data, which seems to happen
+ while draining.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1679>
+
+2022-02-03 10:10:44 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvadecoder.c:
+ va: decoder: Log profile name.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1675>
+
+2022-01-24 16:25:18 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvafilter.c:
+ va: filter: Log the added filter name.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1675>
+
+2021-10-25 13:41:49 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvafilter.c:
+ * sys/va/gstvafilter.h:
+ * sys/va/gstvavpp.c:
+ vapostproc: Process HDR caps
+ This patch adds a new parameter: hdr-tone-mapping (same as
+ vaapipostproc), if the HDR capabilites are availabe in driver, and
+ it's disabled by default.
+ If hdr-tone-mapping is enabled then HDR fields in sink caps are
+ processed in frames from HDR to SDR, removing those hdr fields in
+ source pad caps too.
+ hdr-tone-mapping is not enabled if a color conversion is also
+ requested, since it fails to process in the iHD driver, so far.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1258>
+
+2021-09-30 17:42:19 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/va/meson.build:
+ * sys/msdk/meson.build:
+ build: Add libva dependency fallback.
+ Then libva can be subproject and used by either gstreamer-vaapi,
+ va and msdk in gst-plugins-bad.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1397>
+
+2022-02-06 23:20:32 +0900 Sangchul Lee <sc11.lee@samsung.com>
+
+ * ext/webrtc/gstwebrtcice.c:
+ webrtcice: Fix memory leaks in gst_webrtc_ice_add_candidate()
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1646>
+
+2022-01-28 14:49:42 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codecvp9dec.c:
+ * sys/v4l2codecs/gstv4l2decoder.c:
+ v4l2codecs: vp9: Make compressed hdr control optional
+ This is to supported by Mediatek VP9 driver. Mediatek handles
+ the forward probabilities in hardware hence does not need and
+ does not implement support for
+ V4L2_CID_STATELESS_VP9_COMPRESSED_HDR.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1600>
+
+2022-02-07 12:34:53 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/va/meson.build:
+ va: Fix and simplify build recipe.
+ 1. Use api_version variable rather than static string.
+ 2. Remove pkgconfig generation since currently the library
+ is not installed, only used internally.
+ 3. Rely on dependency "required" to abort compilation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1650>
+
+2022-02-07 11:27:57 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/va/meson.build:
+ * sys/va/meson.build:
+ va: Remove libgudev crumbs in library.
+ In commit e699aaeb we moved linking of libgudev to the plugin rather
+ the library, because it's only used in the plugin. But the dependency
+ check is still done in library.
+ This patch removes the dependency check in library, and updates the
+ dependency check in plugin.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1650>
+
+2022-02-08 04:51:24 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/msdk/msdk.c:
+ * sys/msdk/msdk.h:
+ msdk: Fix for MFXUnload symbol re-definition build error
+ Fix for libgstreamer-full build
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1408>
+
+2021-12-25 00:13:04 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvh265enc.cpp:
+ * sys/qsv/gstqsvh265enc.h:
+ * sys/qsv/meson.build:
+ * sys/qsv/plugin.cpp:
+ qsv: Add support for HEVC encoding
+ main and main-10 profiles are supported for now
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1408>
+
+2021-12-19 21:39:53 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvallocator.cpp:
+ * sys/qsv/gstqsvallocator_d3d11.cpp:
+ * sys/qsv/gstqsvvp9enc.cpp:
+ * sys/qsv/gstqsvvp9enc.h:
+ * sys/qsv/meson.build:
+ * sys/qsv/plugin.cpp:
+ qsv: Add support for VP9 encoding and more video formats
+ Add VP9 encoder with 4:2:0 8 bits and 4:4:4 8/10 bits formats support
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1408>
+
+2022-02-06 21:34:43 +0900 Seungha Yang <seungha@centricular.com>
+
+ * meson_options.txt:
+ * sys/meson.build:
+ * sys/qsv/gstqsvallocator.cpp:
+ * sys/qsv/gstqsvallocator.h:
+ * sys/qsv/gstqsvallocator_d3d11.cpp:
+ * sys/qsv/gstqsvallocator_d3d11.h:
+ * sys/qsv/gstqsvallocator_va.cpp:
+ * sys/qsv/gstqsvallocator_va.h:
+ * sys/qsv/gstqsvencoder.cpp:
+ * sys/qsv/gstqsvencoder.h:
+ * sys/qsv/gstqsvh264enc.cpp:
+ * sys/qsv/gstqsvh264enc.h:
+ * sys/qsv/gstqsvutils.cpp:
+ * sys/qsv/gstqsvutils.h:
+ * sys/qsv/libmfx/meson.build:
+ * sys/qsv/meson.build:
+ * sys/qsv/plugin.cpp:
+ qsv: Introduce H.264 Intel Quick Sync Video Encoder
+ A new implementation of Intel Quick Sync Video plugin.
+ This plugin supports both Windows and Linux but optimization for
+ VA/DMABuf is not implemented yet.
+ This new plugin has some notable differences compared with existing
+ MSDK plugin.
+ * Encoder will expose formats which can be natively supported
+ without internal conversion. This will make encoder
+ control/negotiation flow much simpler and cleaner than
+ that of MSDK plugin.
+ * This plugin includes QSV specific library loading helper,
+ called dispatcher, with QSV SDK headers as a part of this plugin.
+ So, there will be no more SDK version dependent #ifdef in the code
+ and also there will be no more build-time MSDK/oneVPL SDK
+ dependency.
+ * Memory allocator interop between GStreamer and QSV is re-designed
+ and decoupled. Instead of implementing QSV specific allocator/bufferpool,
+ this plugin will make use of generic GStreamer memory
+ allocator/bufferpool (e.g., GstD3D11Allocator and GstD3D11BufferPool).
+ Specifically, GstQsvAllocator object will help interop between
+ GstMemory and mfxFrameAllocator memory abstraction layers.
+ Note that because of the design decision, VA/DMABuf support is not made
+ as a part of this initial commit. We can add the optimization for Linux
+ later once GstVA library exposes allocator/bufferpool implementation as
+ an API like GstD3D11.
+ * Initial encoder implementation supports interop with GstD3D11
+ infrastructure, including zero-copy encoding with upstream D3D11 element.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1408>
+
+2021-12-01 22:18:42 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/libmfx/dispatcher/windows/mfx_dxva2_device.h:
+ qsv: Remove unnecessary pargma message
+ We know what we are doing, just remove noisy build warnings
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1408>
+
+2021-12-01 22:18:04 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/libmfx/api/vpl/mfx.h:
+ * sys/qsv/libmfx/api/vpl/mfxadapter.h:
+ * sys/qsv/libmfx/api/vpl/mfxbrc.h:
+ * sys/qsv/libmfx/api/vpl/mfxcommon.h:
+ * sys/qsv/libmfx/api/vpl/mfxdefs.h:
+ * sys/qsv/libmfx/api/vpl/mfxdispatcher.h:
+ * sys/qsv/libmfx/api/vpl/mfxdispatcherprefixedfunctions.h:
+ * sys/qsv/libmfx/api/vpl/mfximplcaps.h:
+ * sys/qsv/libmfx/api/vpl/mfxjpeg.h:
+ * sys/qsv/libmfx/api/vpl/mfxmvc.h:
+ * sys/qsv/libmfx/api/vpl/mfxpcp.h:
+ * sys/qsv/libmfx/api/vpl/mfxsession.h:
+ * sys/qsv/libmfx/api/vpl/mfxstructures.h:
+ * sys/qsv/libmfx/api/vpl/mfxsurfacepool.h:
+ * sys/qsv/libmfx/api/vpl/mfxvideo++.h:
+ * sys/qsv/libmfx/api/vpl/mfxvideo.h:
+ * sys/qsv/libmfx/api/vpl/mfxvp8.h:
+ * sys/qsv/libmfx/dispatcher/linux/device_ids.h:
+ * sys/qsv/libmfx/dispatcher/linux/libvpl.map:
+ * sys/qsv/libmfx/dispatcher/linux/mfxloader.cpp:
+ * sys/qsv/libmfx/dispatcher/linux/mfxloader.h:
+ * sys/qsv/libmfx/dispatcher/linux/mfxvideo_functions.h:
+ * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl.cpp:
+ * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl.h:
+ * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_config.cpp:
+ * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_loader.cpp:
+ * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_log.cpp:
+ * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_log.h:
+ * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_lowlatency.cpp:
+ * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_msdk.cpp:
+ * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_win.h:
+ * sys/qsv/libmfx/dispatcher/windows/libmfx.def:
+ * sys/qsv/libmfx/dispatcher/windows/main.cpp:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_critical_section.cpp:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_critical_section.h:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_dispatcher.cpp:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_dispatcher.h:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_dispatcher_defs.h:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_dispatcher_log.cpp:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_dispatcher_log.h:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_driver_store_loader.cpp:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_driver_store_loader.h:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_dxva2_device.cpp:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_dxva2_device.h:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_exposed_functions_list.h:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_function_table.cpp:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_library_iterator.cpp:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_library_iterator.h:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_load_dll.cpp:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_load_dll.h:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_vector.h:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_win_reg_key.cpp:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_win_reg_key.h:
+ * sys/qsv/libmfx/dispatcher/windows/mfxvideo++.h:
+ * sys/qsv/libmfx/dispatcher/windows/version.rc.in:
+ qsv: Import libmfx API and dispatch code from oneVPL project
+ Copied from oneVPL project (https://github.com/oneapi-src/oneVPL)
+ v2022.0.3 tag at the commit of efc259f8b7ee5c334bca1a904a503186038bbbdd
+ This is corresponding to MFX API version 2.6
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1408>
+
+2021-12-07 21:29:05 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+ d3d11memory: Inform subresource index via GstMapInfo::user_data
+ By using this way, caller does not need to call another method
+ gst_d3d11_memory_get_subresource_index()
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1408>
+
+2022-02-06 21:36:28 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11bufferpool.cpp:
+ * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+ * gst-libs/gst/d3d11/gstd3d11memory.h:
+ * gst-libs/gst/d3d11/gstd3d11stagingbufferpool.cpp:
+ * sys/d3d11/gstd3d11pluginutils.cpp:
+ d3d11memory: Add support for ID3D11Buffer
+ Allow wrap ID3D11Buffer via GstD3D11Memory object
+ At the moment, only staging ID3D11Buffer is supported.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1408>
+
+2022-02-01 00:50:53 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvh265dec.c:
+ nvh265sldec: Fix for decoding 12bits stream
+ We've been exposing main-444-12 profile as a supported profile
+ in its sinkpad template but not actaully. Adding code to
+ covert 12 and 16 bits as well.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1612>
+
+2022-02-01 00:12:06 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvdecoder.c:
+ * sys/nvcodec/gstnvdecoder.h:
+ * sys/nvcodec/gstnvh264dec.c:
+ * sys/nvcodec/gstnvh265dec.c:
+ * sys/nvcodec/gstnvvp8dec.c:
+ * sys/nvcodec/gstnvvp9dec.c:
+ nvdecoder: Fix for HEVC 4:4:4 format decoding
+ Map chroma_format_idc == 3 (which means 4:4:4 subsampling) correctly,
+ also pass coded bitdepth for decoder initialization instead of
+ inferring it from output format since they can be different.
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/949
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1612>
+
+2022-02-07 22:38:02 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11stagingbufferpool.cpp:
+ d3d11stagingbufferpool: Fix typo in texture description
+ Fixing typo, it should be height
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1652>
+
+2021-10-27 11:08:39 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/va/gstva.h:
+ * gst-libs/gst/va/meson.build:
+ * sys/va/gstvaallocator.h:
+ * sys/va/gstvabasedec.c:
+ * sys/va/gstvabasetransform.c:
+ * sys/va/gstvacaps.h:
+ * sys/va/gstvadecoder.c:
+ * sys/va/gstvadecoder.h:
+ * sys/va/gstvadeinterlace.c:
+ * sys/va/gstvadevice.h:
+ * sys/va/gstvafilter.h:
+ * sys/va/gstvasurfacecopy.h:
+ * sys/va/gstvavpp.c:
+ * sys/va/vasurfaceimage.h:
+ * tests/examples/va/main.c:
+ * tests/examples/va/multiple-vpp.c:
+ va: Add a gstva.h to include all va lib header files.
+ And replacing all va lib headers with this new header files
+ when including.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1256>
+
+2021-10-07 14:31:28 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/va/gstvautils.c:
+ * gst-libs/gst/va/gstvautils.h:
+ * gst-libs/gst/va/meson.build:
+ * sys/va/gstvabasedec.c:
+ * sys/va/gstvabasetransform.c:
+ * sys/va/gstvadeinterlace.c:
+ * sys/va/gstvavpp.c:
+ * sys/va/meson.build:
+ va: Move the vautils into the gst va lib.
+ The context query and handle are common logic for all va related
+ elements. So we move it from va plugins to the common gst va lib.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1256>
+
+2021-10-24 22:07:38 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gsth264decoder.h:
+ * gst-libs/gst/codecs/gstmpeg2decoder.h:
+ * sys/d3d11/gstd3d11h264dec.cpp:
+ * sys/d3d11/gstd3d11mpeg2dec.cpp:
+ * sys/nvcodec/gstnvh264dec.c:
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ * sys/va/gstvah264dec.c:
+ * sys/va/gstvampeg2dec.c:
+ codecs: Stop claiming constness for refcounted object
+ It's almost pointless and makes little sense as subclass might
+ want to modify refcount of the object or so. And all subclasses
+ are already casting them to non-const version as well.
+ In a general sense, we need to avoid passing refcounted object
+ with const qualifier.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1238>
+
+2022-02-06 01:06:36 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11videosink.cpp:
+ d3d11videosink: Use staging buffer pool for non-d3d11 upstream
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1643>
+
+2022-02-06 00:53:34 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11download.cpp:
+ * sys/d3d11/gstd3d11upload.cpp:
+ d3d11upload,d3d11download: Use staging buffer pool
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1643>
+
+2022-02-05 23:25:12 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11decoder.cpp:
+ d3d11decoder: Use staging buffer pool for non-d3d11 downstream
+ In specific condition, this can show about 10% ~ 30%
+ performance gain with non-d3d11 downstream element.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1643>
+
+2022-02-05 23:08:48 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11.h:
+ * gst-libs/gst/d3d11/gstd3d11_fwd.h:
+ * gst-libs/gst/d3d11/gstd3d11stagingbufferpool.cpp:
+ * gst-libs/gst/d3d11/gstd3d11stagingbufferpool.h:
+ * gst-libs/gst/d3d11/meson.build:
+ d3d11: Add new buffer pool implementation for staging texture
+ staging buffer pool will allocate staging d3d11 texture
+ for upload/download optimization. By using staging buffer,
+ we can avoid per frame staging -> system memory copy operation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1643>
+
+2022-02-02 00:15:34 -0300 Martin Reboredo <yakoyoku@gmail.com>
+
+ * gst-libs/gst/vulkan/gstvkerror.c:
+ * gst-libs/gst/vulkan/gstvkerror.h:
+ gstvulkan: Expose gst_vulkan_result_to_string
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1623>
+
+2022-02-05 17:36:41 +0300 Igor V. Kovalenko <igor.v.kovalenko@gmail.com>
+
+ * meson_options.txt:
+ qroverlay: move to plugins that need external deps
+ qroverlay requires libqrencode dependency, move it next to similar plugins.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1642>
+
+2022-02-04 11:15:47 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ Back to development
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1635>
+
+=== release 1.20.0 ===
+
+2022-02-03 19:53:25 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * ChangeLog:
+ * NEWS:
+ * README:
+ * RELEASE:
+ * gst-plugins-bad.doap:
+ * meson.build:
+ Release 1.20.0
+
+2022-02-03 19:53:18 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * ChangeLog:
+ Update ChangeLogs for 1.20.0
+
+2022-02-02 09:58:15 +0100 Stéphane Cerveau <scerveau@collabora.com>
+
+ * ext/dash/gstdashsink.c:
+ dashsink: doc cleanup
+ Remove max-files mention in the command line test
+ Fix some typos
+ Use mpegtsdemux instead of tsdemux in the pipeline description
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1624>
+
+2022-02-01 00:18:44 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvdecoder.c:
+ nvdecoder: Fix for display resolution setup
+ Display resolution should be cropped rect, not coded resolution.
+ Otherwise decoded output from NVDEC might be wrong.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1617>
+
+2022-02-01 03:00:41 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * sys/applemedia/vtdec.c:
+ * sys/applemedia/vtenc.c:
+ * sys/applemedia/vtutil.c:
+ * sys/applemedia/vtutil.h:
+ applemedia: Disable 64RGBALE support on older macOS
+ The kCVPixelFormatType_64RGBALE enum is only available on macOS Big
+ Sur (11.3) and newer. We also cannot use that while configuring the
+ encoder or decoder on older macOS.
+ Define the symbol unconditionally, but only use it when we're running
+ on Big Sur with __builtin_available().
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1613>
+
+2022-02-01 03:04:32 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * sys/applemedia/vtenc.c:
+ applemedia: Remove some unnecessary variables
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1613>
+
+2022-02-01 05:07:04 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * docs/meson.build:
+ * sys/applemedia/avfassetsrc.m:
+ * sys/applemedia/iosassetsrc.m:
+ docs: Add objc and objcpp files to hotdoc gst_c_sources
+ Hotdoc should be able to extract and parse comments out of these. Just
+ need to be careful to only add the glob in directories that actually
+ contain *.m (objc) and *.mm (objcpp) files.
+ Also fix some doc comments and remove redundant ones.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1614>
+
+2022-01-14 11:26:42 +0100 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * ext/wpe/meson.build:
+ wpe: Support wpe-webkit-1.1
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1522>
+
+2022-01-29 10:24:36 +0000 Philippe Normand <philn@igalia.com>
+
+ * ext/wpe/WPEThreadedView.cpp:
+ * ext/wpe/gstwpe.cpp:
+ * ext/wpe/gstwpe.h:
+ * ext/wpe/meson.build:
+ * ext/wpe/wpe-extension/meson.build:
+ wpe: Install WebExtension in pkglibdir
+ The uninstalled WebExtension takes precedence over the installed one, so that
+ audio support works in local developer builds as well.
+ Fixes #975
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1602>
+
+2022-01-30 19:06:29 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * sys/applemedia/plugin.m:
+ * sys/applemedia/vtenc.c:
+ docs: Rename "OS X" to "macOS" in some documentation
+ No one uses the term "Mac OS X" anymore, it's "macOS". "OS X" is even
+ worse, because people will usually start the search with "mac".
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1607>
+
+2022-01-28 23:15:28 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * sys/applemedia/avfvideosrc.m:
+ * sys/applemedia/vtdec.c:
+ * sys/applemedia/vtenc.c:
+ applemedia: Document vtenc / vtdec elements
+ Also preserve-alpha property should only be exposed on the
+ vtenc_prores element since h264 does not support transparency.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-docs/-/issues/94
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1601>
+
+2022-01-28 14:39:35 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ v4l2codecs: h264: Improve ABI check
+ This moves the ABI check to the registration, so we don't expose
+ decoders with the wrong ABI or that are just broken somehow. It
+ also makes few enhancement:
+ - Handle missing, but required controls
+ - Prints the controls macro name instead of id
+ This should fix RK3399 support with a currently release minor
+ regression in the Hantro driver that cause errors.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1599>
+
+2022-01-28 17:11:41 +0000 Philippe Normand <philn@igalia.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/utils.c:
+ * ext/webrtc/utils.h:
+ * ext/webrtc/webrtcdatachannel.c:
+ * ext/webrtc/webrtcsdp.c:
+ * gst-libs/gst/webrtc/meson.build:
+ * gst-libs/gst/webrtc/webrtc.c:
+ * gst-libs/gst/webrtc/webrtc_fwd.h:
+ * tests/check/elements/webrtcbin.c:
+ webrtc: Expose RTCError enum
+ The error codes not complying with the spec are now notified with the
+ GST_WEBRTC_ERROR_INTERNAL_FAILURE code.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1485>
+
+2022-01-29 04:46:24 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11av1dec.cpp:
+ * sys/d3d11/gstd3d11h264dec.cpp:
+ * sys/d3d11/gstd3d11h265dec.cpp:
+ * sys/d3d11/gstd3d11mpeg2dec.cpp:
+ * sys/d3d11/gstd3d11vp8dec.cpp:
+ * sys/d3d11/gstd3d11vp9dec.cpp:
+ d3d11decoder: Fix typo in doc
+ s/elemenet/element/g
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1598>
+
+=== release 1.19.90 ===
+
+2022-01-28 14:28:35 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * ChangeLog:
+ * NEWS:
+ * RELEASE:
+ * gst-plugins-bad.doap:
+ * meson.build:
+ Release 1.19.90
+
+2022-01-28 14:28:28 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * ChangeLog:
+ Update ChangeLogs for 1.19.90
+
+2022-01-27 11:22:54 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvavpp.c:
+ vapostproc: Make cb max values symmetrical to their min values.
+ Intel drivers expose some colorbalance's maximum values much more
+ bigger than their minimum values, given their middle values (default
+ value). This means, in practice, that the real middle point between
+ the maximum and minimum values implies a major change in the color
+ balance, which is not expected by the GStreamer color balance logic.
+ This patch makes the given maximum value symmetrical to the minimum
+ value, given the middle one (default value).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1580>
+
+2022-01-27 11:49:53 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ * sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
+ * sys/v4l2codecs/gstv4l2codecvp8dec.c:
+ * sys/v4l2codecs/gstv4l2codecvp9dec.c:
+ v4l2codecs: Fix debug assertion in register functions
+ As now, we warn if the decoder have no support src pixel format, but that
+ warning is called before the type (hence the debug category) is initialized.
+ Fix this by moving the debug category init out of the type initialization,
+ into the register funcitons.
+ This will fix an assertion that occures in the register function and allow
+ relevant log to be seen by the users.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1588>
+
+2022-01-27 17:56:29 +0100 Jakub Adam <jakub.adam@collabora.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: Chain up to parent constructed method
+ Failing to do so makes GstWebRTCBin invisible to the leaks tracer.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1587>
+
+2022-01-27 01:40:17 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * po/LINGUAS:
+ * po/ro.po:
+ gst-plugins-bad: update translations
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1579>
+
+2022-01-27 03:10:39 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11av1dec.cpp:
+ d3d11av1dec: Fix typo in debug message
+ Fixing copy and paste mistake, It's AV1 decoder not VP8
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1576>
+
+2022-01-25 12:32:50 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvabasetransform.c:
+ va: basetransform: Pass component index not plane index.
+ This is an issue detected and fixed in commit 3897b24f for other
+ libraries and elements.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1566>
+
+2022-01-24 11:14:14 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvafilter.c:
+ * sys/va/gstvafilter.h:
+ * sys/va/gstvavpp.c:
+ va: filter & postproc: Match color with caps features.
+ When fixating color, there might be "other caps" with color spaces not
+ supported by the caps features exposed in the vapostproc's source pad
+ caps template (perhaps it's a bug somewhere else in GStreamer).
+ This solution checks if the proposed format exists in the filter
+ within the caps feature associated with the proposed format.
+ The check is done with the new filter's function
+ gst_va_filter_has_video_format().
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1559>
+
+2022-01-10 13:34:21 +0100 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/mpegtsmux/gstbasetsmux.c:
+ * gst/mpegtsmux/tsmux/tsmux.c:
+ * gst/mpegtsmux/tsmux/tsmuxstream.c:
+ * gst/mpegtsmux/tsmux/tsmuxstream.h:
+ tsmux: Allow specifying PMT order via the prog-map
+ Look for an entry `PMT_<PID>` in the `prog-map`, which specifies the
+ relative index of the stream in the PMT.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1510>
+
+2022-01-10 14:16:28 +0100 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/mpegtsmux/tsmux/tsmux.c:
+ tsmux: Deterministically order program streams by PID
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1510>
+
+2022-01-10 12:59:58 +0100 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/mpegtsmux/tsmux/tsmux.c:
+ tsmux: Deterministically order PAT programs by number
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1510>
+
+2022-01-10 13:03:11 +0100 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/mpegtsmux/tsmux/tsmux.c:
+ * gst/mpegtsmux/tsmux/tsmuxstream.c:
+ * gst/mpegtsmux/tsmux/tsmuxstream.h:
+ tsmux: Remove program_array_index
+ It's only used for removal. Let's just scan the array.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1510>
+
+2022-01-10 12:31:42 +0100 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/mpegtsmux/tsmux/tsmux.c:
+ * gst/mpegtsmux/tsmux/tsmux.h:
+ tsmux: Replace streams GArray with GPtrArray
+ This is more appropriate.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1510>
+
+2022-01-19 23:17:23 +0900 Sangchul Lee <sc11.lee@samsung.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/webrtcdatachannel.c:
+ * ext/webrtc/webrtcsdp.c:
+ webrtc: Fix memory leaks
+ Redundant condition and unreachable codes are also removed.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1544>
+
+2020-07-14 11:11:11 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ * sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
+ * sys/v4l2codecs/gstv4l2codecvp8dec.c:
+ * sys/v4l2codecs/gstv4l2codecvp9dec.c:
+ * sys/v4l2codecs/gstv4l2format.h:
+ v4l2codecs: Unify the src template caps format
+ Notably NV12_4L4 ended up being applied to only VP9 decoder. This fixes the
+ situation by using a central define for all static src pad templated formats.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/965>
+
+2022-01-21 14:13:39 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/linux/v4l2-controls.h:
+ * sys/v4l2codecs/linux/videodev2.h:
+ v4l2codecs: Sync kernel headers against 5.16.0
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/965>
+
+2022-01-21 11:13:55 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/msdk/msdk.c:
+ msdk: Avoid noisy registry when no MSDK device.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1550>
+
+2022-01-21 10:53:21 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/va/gstvadisplay.c:
+ va: libs: Avoid noisy registry when no VA device.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1550>
+
+2022-01-20 05:59:36 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/wasapi2/gstwasapi2client.cpp:
+ * sys/wasapi2/gstwasapi2util.c:
+ * sys/wasapi2/gstwasapi2util.h:
+ * sys/wasapi2/meson.build:
+ wasapi2: Fix for device open failure on old OS
+ To open automatic stream routing aware device,
+ at least Windows10 Anniversary Update is required.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1545>
+
+2022-01-18 03:03:30 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/wasapi2/gstwasapi2ringbuffer.cpp:
+ wasapi2ringbuffer: Fix for desynced buffer-size and segsize
+ GstAudioRingBufferSpec::segsize has been configured by using
+ device period but GstWasapi2RingBuffer was referencing the
+ buffer size returned by IAudioClient::GetBufferSize()
+ which is most likely larger than device period.
+ Fixing to sync them.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1533>
+
+2021-12-30 16:52:17 +0100 Robert Mader <robert.mader@collabora.com>
+
+ * ext/wayland/wlwindow.c:
+ * ext/wayland/wlwindow.h:
+ waylandsink: Ensure correct mapping of area_surface
+ If the `area_surface` got unmapped when changing to the `READY` or
+ `NULL` state, we currently don't remap it when playback resumes and
+ `wp_viewporter` is supported. Without `wp_viewporter` we do remap
+ it, but rather unintentionally and also when not wanted.
+ On Weston this has not been a big problem as it so far wrongly maps
+ subsurfaces of unmapped surfaces anyway - i.e. only the black
+ background was missing on resume. On other compositors and future
+ Weston this prevents the `video_surface` to get remapped.
+ Shuffle things around to ensure `area_surface` is mapped in the
+ right situations and do some minor cleanup.
+ See also https://gitlab.freedesktop.org/wayland/weston/-/issues/426
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1483>
+
+2022-01-16 02:21:43 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11deinterlace.cpp:
+ d3d11deinterlace: Do not restrict minimum resolution to 64x64
+ The value 64 was completely arbitrary one, and this element
+ will be able to support smaller resolutions
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1528>
+
+2022-01-06 22:00:11 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11compositor.cpp:
+ d3d11compositor: Don't try to read empty buffer
+ The queued buffer may not be readable buffer in case that
+ upstream sends GAP event or so.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1497>
+
+2022-01-13 14:17:09 +0100 Robert Mader <robert.mader@collabora.com>
+
+ * tests/examples/waylandsink/main.c:
+ waylandsink: Fix alpha value for the test pattern in example
+ The background-color property is in big-endian ARGB, resulting in
+ a alpha value of `0`. This accidentally used to work on all common
+ compositors, but on Weston this now correctly results in a black
+ background.
+ See also https://gitlab.freedesktop.org/wayland/weston/-/issues/577
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1446>
+
+2021-12-13 13:16:06 +0100 Robert Mader <robert.mader@collabora.com>
+
+ * ext/wayland/wldisplay.c:
+ * ext/wayland/wlwindow.c:
+ waylandsink: Use wl_surface_damage_buffer() instead of wl_surface_damage()
+ The later, doing damage in surface coordinates instead of buffer
+ coordinates, has been deprecated. The reason for that is that it
+ is more prone to bugs, both on the client and the compositor side,
+ especially when paired with buffer scale, `wp_viewporter` or
+ buffer transforms.
+ Unfortunately, on Weston this risks running into
+ https://gitlab.freedesktop.org/wayland/weston/-/issues/446
+ (which causes trouble for several other projects as well). However,
+ that bug only affects cases where we run in sync mode, i.e. only
+ during resizes. In practise I haven't been able to observe the
+ issue.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1446>
+
+2021-12-13 12:21:06 +0100 Robert Mader <robert.mader@collabora.com>
+
+ * ext/wayland/wlwindow.c:
+ waylandsink: Use G_MAXINT32 for surface damage
+ Each time we call `wl_surface_damage()` we want to do full surface
+ damage. Like Mesa, just use `G_MAXINT32` to ensure we always do
+ full damage, reducing the need to track the right dimensions.
+ `window->video_rectangle` is now unused, but we keep it around for
+ now as we may need it again in the future.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1446>
+
+2021-12-30 18:14:24 +0100 Robert Mader <robert.mader@collabora.com>
+
+ * ext/wayland/wlwindow.c:
+ waylandsink: Only call wl_surface_damage() when buffer content changed
+ From the spec:
+ > This request is used to describe the regions where the pending
+ > buffer is different from the current surface contents
+ We currently also call `wl_surface_damage()` on surfaces without
+ new or still compositor-hold buffers, e.g. when resizing the window.
+ In that case we call it on `area_surface_wrapper`, even though it
+ gets resized via `wp_viewport_set_destination()`, in which case
+ the compositor is in charge of repainting the area on screen.
+ Doing so is currently not forbidden by the spec, however it might
+ be in the future, see
+ https://gitlab.freedesktop.org/wayland/wayland/-/issues/267
+ Thus lets stay close to the spec and only call `wl_surface_damage()`
+ when we just attached a buffer.
+ Right now this prevents runtime assertions in Mutter.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1446>
+
+2021-12-13 14:31:06 +0100 Robert Mader <robert.mader@collabora.com>
+
+ * ext/wayland/wlwindow.c:
+ waylandsink: Simplify input region handling
+ We only need to unset the input region for the area surface when
+ we don't have our own toplevel surface. By default, the input region
+ covers the whole surface, thus no need to change it on resize.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1446>
+
+2021-12-13 12:00:10 +0100 Robert Mader <robert.mader@collabora.com>
+
+ * ext/wayland/wlwindow.c:
+ waylandsink: Use G_MAXINT32 for opaque regions
+ `gst_wl_window_set_opaque` does not get called on window resizes,
+ potentially leaving opaque regions too small.
+ According to the spec opaque regions can be bigger than the surface
+ size - parts that fall outside of the surface will get ignored.
+ Thus we can can simply use `G_MAXINT32` and be sure that the whole
+ surfaces will always be covered.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1446>
+
+2022-01-11 13:21:55 -0500 Dave Piché <dave.piche@motorolasolutions.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtc: fix log error message in function gst_webrtc_bin_set_local_description
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1511>
+
+2022-01-13 11:31:55 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/mxf/mxfvanc.c:
+ mxfdemux: don't error out if VANC track only contains packets we don't handle
+ If the VANC track does contain packets, but we skip over all packets, just
+ treat it the same as if there hadn't been any packets at all and send a
+ GAP event instead of erroring out with "Failed to handle essence element".
+ We would error out because when we reach the end of the loop without having
+ found a closed caption packet the flow return variable is still FLOW_ERROR
+ which is what it has been initialised to.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1518>
+
+2022-01-13 10:36:24 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/codecparsers/gsth265parser.c:
+ codecparsers: h265parser: return invalid profile if len is 0.
+ Though the profiles[0] is inited as GST_H265_PROFILE_INVALID in the
+ gst_h265_profile_tier_level_get_profile(), the profile detecting may
+ change its content later. So the return of profiles[0] may not be an
+ invalid profile even the len is 0.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1517>
+
+2022-01-13 10:11:52 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/codecparsers/gsth265parser.c:
+ codecparsers: h265parser: Fix the index incrementation error in append_profile().
+ The current "*idx++" operation just refers the pointer and increment the pointer
+ itself, not the content of the pointer. This causes that the count of the profiles
+ is always 0.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1517>
+
+2022-01-04 04:56:55 +0300 Dmitry Osipenko <digetx@gmail.com>
+
+ * sys/kms/gstkmssink.c:
+ kmssink: Support auto-detection of NVIDIA Tegra driver
+ NVIDIA Tegra SoCs have a separate (from GPU) display controller. It's
+ the primary display device on all Tegra SoCs. Add Tegra to the list
+ of primary DRM drivers.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1514>
+
+2022-01-08 00:16:29 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * ext/closedcaption/gstcccombiner.c:
+ cccombiner: fix s334-1a scheduling
+ The previous code was mistakenly trying to compute a cc_type out
+ of the first byte in the byte triplet, whereas it is to be interpreted
+ as:
+ > Bit b7 of the LINE value is the field number (0 for field 2; 1 for field 1).
+ > Bits b6 and b5 are 0. Bits b4-b0 form a 5-bit unsigned integer which
+ > represents the offset
+ The same mistake was made when creating padding packets.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1496>
+
+2022-01-05 22:48:31 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * ext/closedcaption/gstcccombiner.c:
+ cccombiner: merge buffers for both fields with caption type s334-1a
+ Other elements such as line21encoder expect both fields to be present
+ in the same meta, not one meta per field.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1496>
+
+2022-01-10 15:24:13 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * gst-libs/gst/codecparsers/gstav1parser.h:
+ av1parser: Fix data type of film grain param
+ Fix cb_offset and cr_offset data type from guint8 to guint16. According
+ to spec, cb_offset and cr_offset are 9 bit long, while guint8 can cause
+ interger overflow, and thus change to guint16.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1508>
+
+2022-01-05 02:07:59 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * docs/meson.build:
+ * ext/opencv/meson.build:
+ * gst-libs/gst/vulkan/meson.build:
+ * meson.build:
+ * sys/msdk/meson.build:
+ meson: Add explicit check: kwarg to all run_command() calls
+ This is required since Meson 0.61.0, and causes a warning to be
+ emitted otherwise:
+ https://github.com/mesonbuild/meson/commit/2c079d855ed87488bdcc6c5c06f59abdb9b85b6c
+ https://github.com/mesonbuild/meson/issues/9300
+ This exposed a bunch of places where we had broken run_command()
+ calls, unnecessary run_command() calls, and places where check: true
+ should be used.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1507>
+
+2022-01-05 10:53:55 +0100 Stéphane Cerveau <scerveau@collabora.com>
+
+ * gst/codecalpha/gstalphacombine.c:
+ alphacombine: update example launch line
+ Fix typos and missing videoconvert element to demonstrate
+ the alphacombine element.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1494>
+
+2021-12-24 23:09:59 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst/videoparsers/gstav1parse.c:
+ av1parse: Set the "tu" as the default alignment.
+ The tu(temporal unit) is more widely used than the current alignment.
+ We now change the default alignment to tu.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1468>
+
+2021-12-24 21:50:01 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst/videoparsers/gstav1parse.c:
+ av1parse: Fix the wrong DELTA_UNIT flag setting for key frames.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1468>
+
+2021-12-22 12:36:15 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst/videoparsers/gstav1parse.c:
+ av1parse: Copy the PTS and DURATION when we create data.
+ We need to create header buffers for annex b format. This kind of
+ buffers should inherit the PTS and DURATION from the original buffers.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1468>
+
+2022-01-03 21:02:47 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * sys/applemedia/vtenc.c:
+ vtenc: Signal ignored alpha component with ProRes
+ When the image is opaque but the output ProRes format has an alpha
+ component (4 component, 32 bits per pixel), Apple requires that we
+ signal that it should be ignored by setting the depth to 24 bits per
+ pixel. Not doing so causes the encoded files to fail validation.
+ So we set that in the caps and qtmux sets the depth value in the
+ container, which will be read by demuxers so that decoders can skip
+ those bytes entirely. qtdemux does this, but vtdec does not use this
+ information at present.
+ The sister change was made in qtmux and qtdemux in:
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1061
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1489>
+
+2022-01-03 22:15:12 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/codecparsers/gsth265parser.c:
+ codecparsers: h265parser: Correct the read of slice_sao_chroma_flag.
+ According to the SPEC, for parsing the slice header, we should read the
+ slice_sao_chroma_flag only when ChromaArrayType is not equal to 0.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1488>
+
+2021-12-29 21:29:02 +0100 Rafał Dzięgiel <rafostar.github@gmail.com>
+
+ * ext/assrender/gstassrender.c:
+ assrender: Support RFC8081 mime types
+ Old "application/*" are now as per RFC8081 deprecated in favor of
+ new "font/*" mime types. Some new encoders are already using the
+ updated mime types. We need to also add them to the support list
+ in order for assrender to correctly identify them as fonts.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1481>
+
+2021-12-29 21:28:56 +0100 Rafał Dzięgiel <rafostar.github@gmail.com>
+
+ * ext/assrender/gstassrender.c:
+ assrender: Handle ".ttc" attachment extension
+ TTC stands for "TrueType Collection" file. We can pass it
+ into libass as any other attachment. Add it to the supported
+ extensions list, so the fonts it contains will be used.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1481>
+
+2022-01-02 09:38:43 +0000 Philippe Normand <philn@igalia.com>
+
+ * ext/webrtc/webrtcdatachannel.c:
+ webrtcdatachannel: Notify buffered-amount property updates
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1484>
+
+2021-12-27 03:15:10 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11decoder.cpp:
+ d3d11decoder: Negotiate again on the first output buffer
+ ... unconditionally. There may be updated field in sinkpad caps
+ after the new_sequence() call (HDR related ones for example),
+ then we should signal the information to downstream.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1474>
+
+2021-12-29 15:02:03 +0000 Philippe Normand <philn@igalia.com>
+
+ * ext/webrtc/gstwebrtcstats.c:
+ webrtcstats: Fix null pointer dereference
+ If there is no jitterbuffer stats we should not attempt to store them in the
+ global stats structure.
+ Also add a g_return_if_fail in _gst_structure_take_structure() about this
+ because it is a programmer error to pass an invalid pointer address there.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1479>
+
+2021-08-12 19:14:16 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst/videoparsers/gstav1parse.c:
+ codecparsers: av1parse: Add the DECODE_ONLY flag to output buffer.
+ When the alignment is ALIGN_FRAME and the output buf contains a frame
+ which is not to be shown, the GST_BUFFER_FLAG_DECODE_ONLY flag should
+ be set.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1050>
+
+2021-12-14 12:38:25 -0500 Olivier Crête <olivier.crete@collabora.com>
+
+ * ext/webrtc/gstwebrtcstats.c:
+ webrtcstats: Fall back to last packet ssrc if caps dont provide it
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1448>
+
+2021-12-14 11:28:42 -0500 Olivier Crête <olivier.crete@collabora.com>
+
+ * ext/webrtc/gstwebrtcstats.c:
+ webrtcstats: Use our own caps instead of the sticky event
+ The sticky event seems to get cleared sometimes.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1448>
+
+2021-12-14 11:28:13 -0500 Olivier Crête <olivier.crete@collabora.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/gstwebrtcbin.h:
+ webrtcbin: Store the ssrc of the last received packet
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1448>
+
+2021-12-13 16:57:06 -0500 Olivier Crête <olivier.crete@collabora.com>
+
+ * ext/webrtc/gstwebrtcstats.c:
+ webrtc stats: Remove duplicate structure get
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1448>
+
+2021-12-13 16:56:37 -0500 Olivier Crête <olivier.crete@collabora.com>
+
+ * ext/webrtc/gstwebrtcstats.c:
+ webrtc stats: Add more details about codecs into the stats
+ This makes the output a little closer to what the upstream stats are.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1448>
+
+2021-12-23 10:06:58 +1100 Brad Hards <bradh@frogmouth.net>
+
+ * ChangeLog:
+ * data/targets/file-extension/ts.gep:
+ doc: typo fix for streaming
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1463>
+
+2021-12-21 12:55:59 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvaprofile.c:
+ va: av1dec: Use named profiles to replace the numeric ones.
+ Use named AV1 profiles (i.e., main, high, and professional) to replace
+ the old 0, 1, 2 profiles.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1456>
+
+2021-12-21 01:08:40 +0900 Seungha Yang <seungha@centricular.com>
+
+ * ext/aom/gstav1enc.c:
+ av1enc: Update for newly designed AV1 profile signalling
+ Accept named AV1 profiles (i.e., main, high, and professional)
+ as well
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1456>
+
+2021-12-19 21:48:51 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11av1dec.cpp:
+ d3d11av1dec: Update sinkpad template for profile
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1456>
+
+2021-12-19 21:44:19 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/videoparsers/gstav1parse.c:
+ * tests/check/elements/av1parse.c:
+ av1parse: Use descriptive profile name instead of numeric
+ As per AV1 specification Annex A, AV1 profiles have explicit and
+ descriptive names for each seq_profile.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1456>
+
+2021-12-19 21:47:18 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/videoparsers/gstav1parse.c:
+ av1parse: Remove trailing white space
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1456>
+
+2021-12-17 22:24:57 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11av1dec.cpp:
+ d3d11av1dec: Fix for Cdef param
+ av1parser will increase the sec_strength values by 1 if parsed
+ values were equal to 3 as defined in spec. But DXVA wants unmodified
+ ones.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1455>
+
+2021-12-17 19:49:42 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11av1dec.cpp:
+ d3d11av1dec: Sync DXVA AV1 data structure with released header
+ Update AV1 data structure based on Windows 11 SDK header
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1455>
+
+2021-12-15 12:27:24 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * tests/check/libs/h265parser.c:
+ tests: h265parser: Add test for multiple compatibility profiles.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1440>
+
+2021-12-14 19:56:48 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst/videoparsers/gsth265parse.c:
+ h265parser: Compare upstream profile with in SPS.
+ Compare if upstream profile in caps is the same as the one parsed in
+ the SPS. If they are different use the bigger for simplicity and
+ more chances to decode it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1440>
+
+2021-12-15 11:58:07 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/codecparsers/gsth265parser.c:
+ codecparsers: h265parser: Use a table map to get profile.
+ Instead of a sequence of if statements, declare a table to map profile
+ idc with profiles and traverse it.
+ Also, first add the profile from the parsed profile idc and later add,
+ into the profile array, the profile from the compatibility flags.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1440>
+
+2021-12-14 19:36:56 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/codecparsers/gsth265parser.c:
+ codecparsers: h265parser: Verify all possible profiles.
+ It's possible a HEVC stream to have multiple profiles given the
+ compatibility bits. Instead of returning a single profile, internal
+ gst_h265_profile_tier_level_get_profiles() returns an array with all
+ it possible profiles.
+ Profiles are appended into the array only if the generated profile
+ is not invalid.
+ gst_h265_profile_tier_level_get_profile() is rewritten in terms of
+ gst_h265_profile_tier_level_get_profiles(), returning the first
+ profile found the array.
+ And gst_h265_get_profile_from_sps() is also rewritten in terms of
+ gst_h265_profile_tier_level_get_profiles(), but traversing the array
+ verifying if the proposed profile is actually valid by Annex A.3.x of
+ the specification.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1440>
+
+2021-12-09 03:00:56 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: bind transceiver's fec-percentage to encoder percentage
+ Allows for dynamic control of the applied FEC overhead
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1429>
+
+2021-12-07 23:55:22 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/transportstream.c:
+ * ext/webrtc/transportstream.h:
+ webrtcbin: fix ulpfec / red for the BUNDLE case
+ * Add fec / red encoders as direct children of webrtcbin, instead
+ of providing them to rtpbin through the request-fec-encoder signal.
+ That is because they need to be placed before the rtpfunnel, which
+ is placed upstream of rtpbin.
+ * Update configuration of red decoders to set a list of RED payloads
+ on them, instead of setting the pt property.
+ That is because there may be one RED pt per media in the same session.
+ * Connect to request-fec-decoder-full instead of request-fec-decoder,
+ in order to instantiate FEC decoders according to the payload type
+ of the stream.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1429>
+
+2021-12-10 21:58:33 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11pluginutils.cpp:
+ d3d11videosink: Use only tested color space for swapchain
+ We are querying supported swapchain colorspace via
+ CheckColorSpaceSupport() but it doesn't seem to be reliable.
+ Use only tested full-range RGB formats which are:
+ - sRGB
+ - BT709 primaries with linear RGB
+ - BT2020 primaries with PQ gamma
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1433>
+
+2021-12-11 11:33:39 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/soundtouch/gstpitch.cc:
+ pitch: Specify layout as required for negotiation
+ There are cases where it might negotiate 'non-interleaved' while it
+ is wrong.
+ ```
+ gst-launch-1.0 audiotestsrc ! "audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved" ! audioconvert ! audioresample ! pitch tempo=1.2 ! audioconvert ! "audio/x-raw,format=S16LE" ! fakesink
+ Setting pipeline to PAUSED ...
+ Pipeline is PREROLLING ...
+ (gst-launch-1.0:3029628): GStreamer-Audio-CRITICAL **: 11:42:22.477: gst_audio_buffer_map: assertion '(!meta && info->layout == GST_AUDIO_LAYOUT_INTERLEAVED) || (meta && info->layout == meta->info.layout)' failed
+ ERROR: from element /GstPipeline:pipeline0/GstAudioConvert:audioconvert1: The stream is in the wrong format.
+ Additional debug info:
+ ../subprojects/gst-plugins-base/gst/audioconvert/gstaudioconvert.c(876): gst_audio_convert_transform (): /GstPipeline:pipeline0/GstAudioConvert:audioconvert1:
+ failed to map input buffer
+ ERROR: pipeline doesn't want to preroll.
+ ERROR: from element /GstPipeline:pipeline0/GstAudioTestSrc:audiotestsrc0: Internal data stream error.
+ Setting pipeline to NULL ...
+ Additional debug info:
+ ../subprojects/gstreamer/libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline0/GstAudioTestSrc:audiotestsrc0:
+ streaming stopped, reason error (-5)
+ ERROR: pipeline doesn't want to preroll.
+ Freeing pipeline ...
+ ```
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1441>
+
+2021-12-10 15:46:41 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ doc: Update vp9alphadecodebin doc cache
+ A new field was added to the template cpas.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1439>
+
+2021-12-10 15:18:56 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/codecalpha/gstalphacombine.c:
+ alphacombine: Fix for early allocation queries
+ When using playbin3, it seems that the alpha decode is always first to
+ push caps and run an allocation query. As the format change from sink
+ and alpha were not synchronized, the allocation query could endup
+ being run before the caps are pushed. That may lead to failing query,
+ which makes the decoder thinks there is no GstVideoMeta downstream and
+ most likely CPU copy the frame.
+ This patch implements a format cookie to track and synchronize the
+ format changes on both pads fixing the racy performance issue.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1439>
+
+2021-12-10 14:09:44 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codecvp9dec.c:
+ * sys/v4l2codecs/gstv4l2codecvp9dec.h:
+ * sys/v4l2codecs/plugin.c:
+ v4l2codecs: vp9: Add alpha decodebin wrapper
+ This will allow HW accelerated decoding of WebM alpha videos.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1439>
+
+2021-12-10 14:09:06 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/plugin.c:
+ v4l2codecs: plugin: Minor style fix
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1439>
+
+2021-12-10 14:08:32 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2decoder.c:
+ v4l2codecs: decoder: Improve logging of timed out request
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1439>
+
+2021-12-10 14:07:18 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
+ * sys/v4l2codecs/gstv4l2codecmpeg2dec.h:
+ * sys/v4l2codecs/plugin.c:
+ v4l2codecs: mpeg2: Check that the decoder output formats
+ This is to avoid exposing a decoder for which we don't support any
+ output format. This happens on platform using vendor formats or
+ not yet supported tiles formats.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1439>
+
+2021-12-10 14:04:40 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/codecalpha/gstvp9alphadecodebin.c:
+ vp9alphadecodebin: Fix auto-pluging v4l2slvp9dec
+ This adds the alignment field to the template caps. Without this field
+ set, the auto-plugger will see fixed caps and will use
+ gst_caps_is_subset() against the caps produced by the parser. This is a
+ challenge for all cases where a parser can do conversion. This is fixed
+ by adding alignment field, which makes the auto-pluggers do an
+ intersection of the caps as it gets unfixed caps after intersection now.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1439>
+
+2021-12-09 19:55:04 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11pluginutils.cpp:
+ * sys/d3d11/gstd3d11pluginutils.h:
+ * sys/d3d11/gstd3d11window.cpp:
+ d3d11window: Remove hack related to color space selection
+ Use input GstVideoColorPrimaries without any special case handling
+ otherwise rendered image color would be very wrong.
+ The hack was added to work around an issue that some Intel driver
+ couldn't handle wide color gamut image without HDR10 metadata, specifically PQ image.
+ But device capability can be checked via a method added in
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1723
+ so there's no issue now.
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1175
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1430>
+
+2021-12-09 19:51:04 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11window.cpp:
+ d3d11window: Fix typo in debug message
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1430>
+
+2021-12-08 11:08:30 +0100 Benjamin Gaignard <benjamin.gaignard@collabora.com>
+
+ * gst-libs/gst/codecs/gsth264decoder.c:
+ codecs: h264decoder: Fix return value type
+ Return value should be GstFlowReturn not gboolean
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1426>
+
+2021-12-07 17:09:11 +0100 Benjamin Gaignard <benjamin.gaignard@collabora.com>
+
+ * gst-libs/gst/codecs/gsth265decoder.c:
+ codecs: h265decoder: Fix return value if klass->new_picture isn't set
+ If klass->new_picture isn't set we need to initialize
+ ret with GST_FLOW_OK to avoid unwanted error case
+ Fixes: 5b405d15858b ("codecs: h265decoder: Use GstFlowReturn everywhere")
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1426>
+
+2021-12-06 16:47:14 +0000 Philippe Normand <philn@igalia.com>
+
+ * ext/wpe/gstwpevideosrc.cpp:
+ wpevideosrc: Use basesrc event vfunc
+ Allows for basic default handling from the base class.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1422>
+
+2021-12-03 13:24:25 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * ext/teletextdec/gstteletextdec.c:
+ teletextdec: fix minor string leak
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1416>
+
+2021-12-02 15:52:06 +0100 Marc Leeman <m.leeman@televic.com>
+
+ * gst/rist/gstristsink.c:
+ ristsink: set properties on children early
+ The properties on the udpsink/udpsrc elements need to be set before
+ there is any state change. If not, in a network without default gateway,
+ udpsink tries to bind an a NULL interface and fails.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1411>
+
+2021-12-03 07:53:54 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
+ v4l2codecs: mpeg2: Fix selected sizeimage
+ Due to a copy paste bug, the bitdepth was never set and that was leading
+ to requesting sizeimage of 0. Previously that worked since the driver
+ would in that case pick a size for us. But now the we bumped the minimum
+ to 4KB, the driver happily allocate 4KB of bitstream which lead to
+ decoding error.
+ As MPEG2 have a fixed bitdeph of 8, use a define instead of the run-time
+ variable.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1415>
+
+2021-12-01 12:16:40 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codecvp9dec.c:
+ v4l2codecs: vp9: Drop frames on non-keyframe format change
+ V4L2 does not yet support this feature, this will skip over the
+ transition portion up to the next keyframe.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1404>
+
+2021-12-01 09:51:57 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ * sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
+ * sys/v4l2codecs/gstv4l2codecvp8dec.c:
+ * sys/v4l2codecs/gstv4l2codecvp9dec.c:
+ v4l2codecs: Fix renegotiation
+ If we hold the last reference to the allocator, leaving the device
+ streaming will cause an EBUSY error when trying to free the allocate
+ buffers.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1404>
+
+2021-12-02 16:26:08 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11vp9dec.cpp:
+ d3d11vp9dec: Drop frames on non-keyframe format change
+ ... in case of NVIDIA GPU
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1407>
+
+2021-12-02 16:04:21 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvvp9dec.c:
+ nvvp9sldec: Drop frames on non-keyframe format change
+ NVDEC doesn't seem to be able to handle the case
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1407>
+
+2021-12-02 16:03:14 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gstvp9decoder.c:
+ * gst-libs/gst/codecs/gstvp9decoder.h:
+ codecs: vp9: Drop frames on non-keyframe format change
+ ... if subclass does not support the case
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1407>
+
+2021-12-01 12:10:42 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/codecs/gstvp9decoder.c:
+ codecs: vp9: Also consider render_width/height
+ Also emits new_sequence if on keyframe and the render_width/height have
+ change. The subclass can always optimize this if the frame resolution
+ didn't change, the output caps needs to reflect this though.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1407>
+
+2021-11-30 10:24:37 +0100 Marc Leeman <m.leeman@televic.com>
+
+ * gst/rtp/gstrtpsink.c:
+ rtpsink: set properties on children early
+ The properties on the udpsink/udpsrc elements need to be set before
+ there is any state change. If not, in a network without default gateway,
+ udpsink tries to bind an a NULL interface and fails.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1398>
+
+2021-11-30 14:48:03 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codecvp9dec.c:
+ v4l2codecs: vp9: Remove uneeded picture data
+ The GstV4l2Request now holds a reference on the picture buffer and is
+ recounted already. This effectively removes usage of GRefCount which is only
+ available in GLib 2.58, while we support 2.56.
+ Fixes #910
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1402>
+
+2021-11-30 17:05:22 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2decoder.c:
+ * sys/v4l2codecs/gstv4l2decoder.h:
+ v4l2codecs: decoder: Add method to get the pic_buf
+ This helper will be needed for VP9 frame duplication.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1402>
+
+2021-11-30 16:08:18 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codecvp9dec.c:
+ v4l2codecs: vp9: Add missing error checks in decide_allocation
+ This could otherwise lead to crash.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1402>
+
+2021-11-24 11:17:22 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ v4l2codecs: h264: Fix typo in comment
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1387>
+
+2021-11-24 11:17:40 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ v4l2codecs: h264: Properly set pic_num/frame_num
+ The V4L2 uAPI uses pic_num for both PicNum and ShortTermPicNum. It also
+ doe the same for both FrameNum and LongTermFrameIdx. This change does
+ not change the fluster score, but fixed a visual corruption noticed
+ with some third party streams.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1387>
+
+2021-11-23 16:35:16 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvasurfacecopy.c:
+ va: Use a lock to protect the surface copy by using vpp.
+ If we use vpp to do the surface copy, its operation is not atomic.
+ We need to maintain the filter's context unchanged during the whole
+ copy progress.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1373>
+
+2021-11-23 21:10:55 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvaallocator.c:
+ va: Use the GstVaSurfaceCopy of the allocator atomically.
+ The mem_copy() of the allocator can be called simultaneously from
+ different threads. We should use atomic pointer operations to create
+ and use the GstVaSurfaceCopy of the allocator.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1373>
+
+2021-11-22 16:07:27 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvaallocator.c:
+ va: DMA allocator: Set the copied memory properly when popped from pool.
+ The current code does not set the copied memory correctly when it is popped
+ from the surface cache pool.
+ 1. We forget to ref the allocator, which causes the allocator to be freed
+ unexpected, and we get a crash later because of the memory violation.
+ 2. We forget to add ref_mems_count, which causes the surface leak because
+ the surface can not be pushed back to the cache pool again.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1373>
+
+2021-04-22 16:29:20 -0300 Daniel Almeida <daniel.almeida@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2decoder.c:
+ v4l2codecs: gstv4l2decoder: set minimum sizeimage
+ Set minimum sizeimage such that there is enough space for any overhead
+ introduced by the codec.
+ Notably fix a vp9 issue in which a small image would not have a
+ bitstream buffer large enough to accomodate it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1012>
+
+2021-04-07 16:15:32 -0300 Daniel Almeida <daniel.almeida@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codecvp9dec.c:
+ v4l2codecs: gstv4l2codecsvp9dec: implement a render delay
+ The v4l2 backend support delayed output for performance reasons.
+ It is then possible to use render delays to queue multiple requests
+ simultaneously, thus increasing performance.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1012>
+
+2021-03-30 13:30:46 -0300 Daniel Almeida <daniel.almeida@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codecvp9dec.c:
+ * sys/v4l2codecs/gstv4l2codecvp9dec.h:
+ * sys/v4l2codecs/gstv4l2format.c:
+ * sys/v4l2codecs/linux/videodev2.h:
+ * sys/v4l2codecs/meson.build:
+ * sys/v4l2codecs/plugin.c:
+ v4l2codecs: vp9dec: Implement VP9 v4l2 decoder
+ Implement a v4l2 based vp9 decoder element based on the preexisting vp8
+ v4l2 decoder.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1012>
+
+2021-07-14 16:21:59 -0300 Daniel Almeida <daniel.almeida@collabora.com>
+
+ * sys/v4l2codecs/linux/v4l2-controls.h:
+ * sys/v4l2codecs/linux/videodev2.h:
+ v4l2codecs: update to the new uAPI
+ The new VP9 stateless API is in its way to be destaged. Update our
+ headers to match.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1012>
+
+2021-04-08 10:40:03 -0300 Daniel Almeida <daniel.almeida@collabora.com>
+
+ * gst-libs/gst/codecs/gstvp9decoder.c:
+ codecs: gstvp9decoder: copy frame->system_frame_number into picture
+ A comment in gstvp9picture.h states that picture->system_frame_number
+ should get its value from frame->system_frame_number, but in fact
+ it was never copied at all.
+ Fix it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1012>
+
+2021-04-08 10:38:55 -0300 Daniel Almeida <daniel.almeida@collabora.com>
+
+ * gst-libs/gst/codecs/gstvp9decoder.c:
+ * gst-libs/gst/codecs/gstvp9decoder.h:
+ * gst-libs/gst/codecs/gstvp9statefulparser.c:
+ * gst-libs/gst/codecs/gstvp9statefulparser.h:
+ codecs: gstvp9{decoder|statefulparser}: optionally parse compressed headers
+ Rework gstvp9{decoder|statefulparser} to optionally parse compressed headers.
+ The information in these headers might be needed for accelerators
+ downstream, so optionally parse them if downstream requests it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1012>
+
+2021-11-23 20:12:06 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * tests/check/elements/webrtcbin.c:
+ webrtcbin: deduplicate extmaps
+ When an extmap is defined twice for the same ID, firefox complains and
+ errors out (chrome is smart enough to accept strict duplicates).
+ To work around this, we deduplicate extmap attributes, and also error
+ out when a different extmap is defined for the same ID.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1383>
+
+2021-11-23 13:30:17 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/codecs/gstmpeg2decoder.c:
+ codecs: mpeg2decoder: drain() only when significant sequence changes.
+ There are a lot of info in the mpeg2's sequence(also including ext
+ display_ext and scalable_ext). We need to notify the subclass about
+ its change, but not all the changes should trigger a drain(), which
+ may change the output picture order. For example, the matrix changes
+ in sequence header does not change the decoder context and so no need
+ to trigger a drain().
+ Fixes: #899
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1375>
+
+2021-11-23 23:52:18 +0900 Seungha Yang <seungha@centricular.com>
+
+ * ext/openjpeg/gstopenjpegenc.h:
+ openjpegenc: Fix build warning
+ Compiling C object subprojects/gst-plugins-bad/ext/openjpeg/gstopenjpeg.dll.p/gstopenjpegenc.c.obj
+ ../subprojects/gst-plugins-bad/ext/openjpeg/gstopenjpegenc.c(416):
+ warning C4133: '=': incompatible types - from 'GstFlowReturn (__cdecl *)(GstVideoEncoder *,GstVideoCodecFrame *)' to
+ 'gboolean (__cdecl *)(GstVideoEncoder *,GstVideoCodecFrame *)'
+ ../subprojects/gst-plugins-bad/ext/openjpeg/gstopenjpegenc.c(418):
+ warning C4133: '=': incompatible types - from 'GstFlowReturn (__cdecl *)(GstVideoEncoder *,GstVideoCodecFrame *)' to
+ 'gboolean (__cdecl *)(GstVideoEncoder *,GstVideoCodecFrame *)'
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1378>
+
+2021-11-23 09:28:57 +0100 Guillaume Desmottes <guillaume.desmottes@onestream.live>
+
+ * ext/gs/gstgssink.cpp:
+ gssink: add metadata property
+ This property can be used to set metadata on the storage object.
+ Similar API has been added to the S3 sink already, see
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/613
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1377>
+
+2021-11-23 00:25:07 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11bufferpool.cpp:
+ * gst-libs/gst/d3d11/gstd3d11utils.cpp:
+ d3d11: Update comments
+ Remove copy & paste mistake (this is not GstGL) and add more
+ description.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1374>
+
+2021-11-19 15:13:28 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvabasetransform.c:
+ * sys/va/gstvabasetransform.h:
+ * sys/va/gstvadeinterlace.c:
+ * sys/va/gstvavpp.c:
+ vapostproc, vadeinterlace: don't transform caps if no intersection.
+ If caps to transform don't intersect with those supported by the VA
+ filter (VAEntrypointVideoProc) then return them as is, because only
+ pass-through mode is the only possibility.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1369>
+
+2021-11-16 10:40:03 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvavpp.c:
+ vapostproc: Append featured caps rather than merge.
+ So it would be possible to honor upstream preference.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1369>
+
+2021-10-25 19:22:05 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvavpp.c:
+ vapostproc: Remove dead code.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1369>
+
+2021-10-25 19:22:19 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvafilter.c:
+ va: filter: Validate input parameter in internal function.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1369>
+
+2021-11-15 10:15:38 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvaallocator.c:
+ va: allocator: log drm modifier
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1369>
+
+2021-11-22 17:34:22 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvavpp.c:
+ va: vpp: Fix the memory leak in fixate_caps().
+ For the BaseTransform class, the function of fixate_caps(), takes
+ the ownership of "othercaps". So we should clear it in our subclass.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1372>
+
+2021-11-13 12:22:36 +0000 Philippe Normand <philn@igalia.com>
+
+ * gst-libs/gst/player/gstplayer.c:
+ player: Ensure the GstPlay is created before the wrapped renderer
+ The GstPlayerWrappedVideoRenderer implicitely depends on GstPlay.
+ Fixes #878
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1345>
+
+2021-11-13 12:17:23 +0000 Philippe Normand <philn@igalia.com>
+
+ * gst-libs/gst/play/gstplay.c:
+ play: Allow runtime configuration of video-renderer
+ This is a requirement for GstPlayer when using the default overlay interface
+ provided by the pipeline. The GstPlayerWrappedVideoRenderer requires a valid
+ pipeline, but that's available only after the GstPlay thread has successfully
+ started.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1345>
+
+2021-11-19 19:02:20 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvadecoder.c:
+ va: decoder: Also ref the display when duplicating pictures.
+ The _destroy_buffers() will check the display handle using the
+ g_return_val_if_fail. we should not generate the invalid pointer
+ warning.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1368>
+
+2021-11-17 22:51:00 +0900 Seungha Yang <seungha@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ docs: Update doc cache for Windows specific plugins
+ Updating doc cache for d3d11, mediafoundation and wasapi2 plugins
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1360>
+
+2021-11-18 00:16:41 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/wasapi2/gstwasapi2sink.c:
+ wasapi2: Fix typo in doc
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1360>
+
+2021-11-17 22:46:17 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfh264enc.cpp:
+ * sys/mediafoundation/gstmfh265enc.cpp:
+ * sys/mediafoundation/gstmfvideoenc.cpp:
+ * sys/mediafoundation/gstmfvp9enc.cpp:
+ * sys/mediafoundation/plugin.c:
+ mediafoundation: Skip doc for non-default encoder elements
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1360>
+
+2021-10-21 19:41:15 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11av1dec.cpp:
+ * sys/d3d11/gstd3d11deinterlace.cpp:
+ * sys/d3d11/gstd3d11h264dec.cpp:
+ * sys/d3d11/gstd3d11h265dec.cpp:
+ * sys/d3d11/gstd3d11mpeg2dec.cpp:
+ * sys/d3d11/gstd3d11vp8dec.cpp:
+ * sys/d3d11/gstd3d11vp9dec.cpp:
+ * sys/d3d11/plugin.cpp:
+ d3d11: Stop doc for non-default decoder and deinterlacer elements
+ Just skip doc for non-default decoder/deinterlacer elements
+ since there are multiple element in case that system has
+ multiple GPUs.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1360>
+
+2021-11-19 13:27:54 +0900 Wonchul Lee <wonchul.dev@gmail.com>
+
+ * sys/d3d11/gstd3d11window_win32.cpp:
+ d3d11: Fix deadlock while doing unprepare
+ ShowWindow() could be blocked while doing gst_d3d11_window_win32_unprepare
+ when external window handle provided to d3d11videosink in multi-threaded
+ environment.
+ The condition that issue happened is, UI thread is waiting for a
+ background thread that changes d3d11videosink state to NULL, and the
+ background thread would try to send a window message to the queue.
+ The queue is already occupied by the UI thread, so the background
+ thread will be blocked.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1366>
+
+2021-11-16 12:56:38 +0000 Philippe Normand <philn@igalia.com>
+
+ * ext/wpe/gstwpevideosrc.cpp:
+ wpevideosrc: Fix frame stuttering in GL rendering path
+ Make sure the EGLImage we're rendering to the GL memory stays alive long enough,
+ until the the GL memory has been destroyed.
+ This change fixes tearing and black flashes artefacts that were happening
+ because the EGLImage was sometimes destroyed before the sink actually rendered
+ the associated texture.
+ Fixes #889
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1354>
+
+2021-11-16 12:53:35 +0000 Philippe Normand <philn@igalia.com>
+
+ * ext/wpe/gstwpevideosrc.cpp:
+ wpevideosrc: Run through gst-indent
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1354>
+
+2021-11-11 19:11:25 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * ext/rsvg/gstrsvgoverlay.c:
+ * gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.c:
+ docs: fix unnecessary ampersand, < and > escaping in code blocks
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1340>
+
+2020-11-05 10:23:13 +0100 Timo Wischer <timo.wischer@de.bosch.com>
+
+ * ext/avtp/gstavtpcrfbase.c:
+ avtp: crf: Process also local CRF streams
+ Without this patch locally generated CRF streams will be ignored.
+ Therefore the same network interface could not be CRF talker and
+ CRF listener.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1074>
+
+2021-11-09 15:10:21 +0100 Jean Felder <jean.felder@gmail.com>
+
+ * gst/id3tag/id3tag.c:
+ id3tag: Map GST_TAG_MUSICBRAINZ_RELEASETRACKID
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1331>
+
+2021-11-09 15:04:59 +0100 Jean Felder <jean.felder@gmail.com>
+
+ * gst/id3tag/id3tag.c:
+ id3tag: Map GST_TAG_MUSICBRAINZ_RELEASEGROUPID
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1331>
+
+2021-11-09 15:04:00 +0100 Jean Felder <jean.felder@gmail.com>
+
+ * gst/id3tag/id3tag.c:
+ id3tag: Remove trailing whitespace
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1331>
+
+2021-10-06 15:54:09 +0200 Timo Wischer <timo.wischer@de.bosch.com>
+
+ * ext/avtp/gstavtpsrc.c:
+ avtpsrc: Use correct size for provided buffers
+ Without this patch the following pipeline would send packets containing
+ garbage in the data section.
+ $ gst-launch-1.0 avtpsrc ! avtpsink
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1077>
+
+2020-10-15 14:49:58 +0200 Timo Wischer <timo.wischer@de.bosch.com>
+
+ * ext/avtp/gstavtpcrfsync.c:
+ avtp: crfsync: Warn when CRF package not yet received
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1075>
+
+2021-03-03 10:08:57 +0100 Timo Wischer <timo.wischer@de.bosch.com>
+
+ * tests/check/elements/avtpcrfbase.c:
+ test: avtp: crf: Check for rounding errors
+ on average period calculation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1073>
+
+2020-11-11 16:50:28 +0100 Timo Wischer <timo.wischer@de.bosch.com>
+
+ * ext/avtp/gstavtpcrfbase.c:
+ * ext/avtp/gstavtpcrfbase.h:
+ * tests/check/elements/avtpcrfbase.c:
+ avtp: crf: Use double for average period calculation
+ to also support CRF intervals like every 1,333,333ns 64 events
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1073>
+
+2021-01-12 10:03:32 +0100 Timo Wischer <timo.wischer@de.bosch.com>
+
+ * tests/check/elements/avtpcrfbase.c:
+ tests: avtp: crf: Test for timestamp_interval > 1
+ in case of CRF AVTPDUs with single CRF timestamp.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1076>
+
+2020-09-16 17:12:32 +0200 Timo Wischer <timo.wischer@de.bosch.com>
+
+ * ext/avtp/gstavtpcrfbase.c:
+ * ext/avtp/gstavtpcrfbase.h:
+ avtp: crf: Properly handling one timestamp per PDU
+ The average_period should always represent the time between two
+ events. The specification defines the event time as the time
+ between audio samples, video frame sync, video line sync, etc.
+ In case of one timestamp per PDU the timestamp_interval identifies
+ the amount of events between the timestamp of one PDU and the
+ timestamp of the next PDU.
+ As described in IEEE 1722-2016 chapter
+ "10.4.12 timestamp_interval field" timestamp_interval shall be
+ nonzero.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1076>
+
+2021-11-08 20:18:51 +0100 Thomas Klausner <tk@giga.or.at>
+
+ * sys/shm/meson.build:
+ shm: NetBSD build fix
+ shm_unlink() and friends live in librt on NetBSD. Adapt build system.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1323>
+
+2021-05-21 16:56:33 -0300 Martin Reboredo <yakoyoku@gmail.com>
+
+ * ext/aom/gstav1enc.c:
+ aom: Set fixed_qp_offsets to a deactivated value
+ aom only uses fixed_qp_offsets with the
+ Constant Quality (Q) Rate Control mode,
+ previously this was locking any usage
+ with another Rate Control mode.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1198>
+
+2021-11-05 13:12:14 +0100 Antonio Ospite <antonio.ospite@collabora.com>
+
+ * sys/magicleap/meson.build:
+ magicleap: update lumin_rt libraries names to the latest official version
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1314>
+
+2021-10-05 01:07:57 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/codecs/gsth264decoder.c:
+ codecs: h264dec: Calculate the latency by its bump mode.
+ The current latency calculation just uses the num_reorder_frames,
+ which is not very precise. We should consider the bump mode of the
+ DPB, the faster it bumps, the lower latency we will have.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1046>
+
+2021-11-04 19:06:22 +0000 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * sys/nvcodec/gstcudabasefilter.c:
+ * sys/nvcodec/gstcudabasetransform.c:
+ * sys/nvcodec/gstcudaconvert.c:
+ * sys/nvcodec/gstcudadownload.c:
+ * sys/nvcodec/gstcudascale.c:
+ * sys/nvcodec/gstcudaupload.c:
+ * sys/nvcodec/gstnvdec.c:
+ doc: Update nvdec documentation
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/870
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1309>
+
+2021-11-03 17:09:52 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/videoparsers/gsth264parse.c:
+ * gst/videoparsers/gsth264parse.h:
+ h264parse: Don't insert extra AUD if exists in bitstream already
+ AUD nalu in packetized format is completely valid and therefore we should not
+ assume that we should insert AUD for packetized -> bytestream
+ conversion.
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/862
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1296>
+
+2021-11-03 20:36:09 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tests/check/elements/h264parse.c:
+ tests: h264parse: Add test for AUD insertion
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1296>
+
+2021-11-04 16:36:05 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/wasapi2/gstwasapi2ringbuffer.cpp:
+ wasapi2ringbuffer: Fix client object leak
+ Check whether ringbuffer is holding client object already since
+ open_device() may be called multiple times
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1307>
+
+2021-11-04 12:48:28 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: Clear errors from finding codec preferences before the next iteration
+ The media is just skipped and the error is not propagated to the caller,
+ so keeping it around here would cause assertions a bit later when trying
+ to set a new error over the old one.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1291>
+
+2021-11-04 12:45:34 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: Move addition of attributes to the caps after making sure they're not empty or any
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1291>
+
+2021-11-02 11:21:34 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: Don't require fixed caps when querying caps for a transceiver pad to match it with a media
+ Upstream caps might for example be
+ application/x-rtp,media=audio,encoding-name={OPUS, X-GST-OPUS-DRAFT-SPITTKA-00, multiopus}
+ and while that is not fixed caps it is enough to match it with a media.
+ Only caps structures that have the correct structure name and that have
+ the media and encoding-name field are preserved, but if both are present
+ then these caps are used as "codec preferences".
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1291>
+
+2021-11-03 18:44:03 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ Back to development
+
+=== release 1.19.3 ===
+
+2021-11-03 15:43:36 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * ChangeLog:
+ * NEWS:
+ * RELEASE:
+ * gst-plugins-bad.doap:
+ * meson.build:
+ Release 1.19.3
+
+2021-11-03 15:43:32 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * ChangeLog:
+ Update ChangeLogs for 1.19.3
+
+2021-11-02 09:40:43 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/codecs/gstmpeg2decoder.c:
+ codecs: mpeg2: Drain before a new_sequence get signalled
+ The decoder may need to re-allocate the output buffer, it is easier if all
+ pictured have been outputed.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1013>
+
+2021-04-08 16:24:49 -0300 Daniel Almeida <daniel.almeida@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
+ v4l2codecs: gstv4l2codecsmpeg2dec: implement a render delay
+ The v4l2 backend support delayed output for performance reasons.
+ It is then possible to use render delays to queue multiple requests
+ simultaneously, thus increasing performance.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1013>
+
+2021-04-08 16:07:23 -0300 Daniel Almeida <daniel.almeida@collabora.com>
+
+ * gst-libs/gst/codecs/gstmpeg2decoder.c:
+ * gst-libs/gst/codecs/gstmpeg2decoder.h:
+ codecs: gstmpeg2decoder: add support for render delay
+ Some decoding APIs support delayed output for performance reasons.
+ One example would be to request decoding for multiple frames and
+ then query for the oldest frame in the output queue.
+ This also increases throughput for transcoding and improves seek
+ performance when supported by the underlying backend.
+ Introduce support in the mpeg2 base class, so that backends that
+ support render delays can actually implement it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1013>
+
+2021-04-06 16:40:28 -0300 Daniel Almeida <daniel.almeida@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
+ * sys/v4l2codecs/gstv4l2codecmpeg2dec.h:
+ * sys/v4l2codecs/meson.build:
+ * sys/v4l2codecs/plugin.c:
+ v4l2codecs: Implement a MPEG2 V4L2 decoder element
+ Implement a MPEG2 V4L2 decoder element based on the previous h264
+ implementation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1013>
+
+2021-04-06 16:42:54 -0300 Daniel Almeida <daniel.almeida@collabora.com>
+
+ * sys/v4l2codecs/linux/videodev2.h:
+ v4l2codecs: mpeg2: update to the new uAPI
+ The mpeg2 stateless api has undergone changes as it is being
+ destage. Update the v4l2-controls header to match.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1013>
+
+2021-03-26 15:52:21 -0300 Daniel Almeida <daniel.almeida@collabora.com>
+
+ * sys/va/gstvampeg2dec.c:
+ sys: va: GstVaMpeg2Dec: use slice sc_offset and size
+ Seeing as how GstMpeg2Slice will now record the start code offset
+ as well as its size with the above field taken into account, the
+ manual computation in this class is not needed.
+ Remove it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1013>
+
+2021-03-26 15:31:51 -0300 Daniel Almeida <daniel.almeida@collabora.com>
+
+ * gst-libs/gst/codecs/gstmpeg2decoder.c:
+ * gst-libs/gst/codecs/gstmpeg2picture.h:
+ codecs: GstMpeg2Slice: add field for sc_offset and size
+ Downstream might need the start code offset when decoding.
+ Previously this computation would be scattered in multiple sites. This
+ is error prone, so move it to the base class. Subclasses can access
+ slice->sc_offset directly without computing the address themselves
+ knowing that the size will also take the start code into account.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1013>
+
+2021-10-20 12:11:49 +0100 James Cowgill <james.cowgill@blaize.com>
+
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ * sys/v4l2codecs/gstv4l2codecvp8dec.c:
+ v4l2codecs: Handle allocator creation failure
+ If `VIDIOC_REQBUFS` doesn't return enough buffers the allocator creation
+ function can fail and return `NULL`. Handle this by generating an error
+ and returning instead of segfaulting.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1220>
+
+2021-10-20 12:08:49 +0100 James Cowgill <james.cowgill@blaize.com>
+
+ * sys/v4l2codecs/gstv4l2codecallocator.c:
+ v4l2codecs: Fix segfault when destroying non-detached allocator
+ The GstV4l2CodecAllocator dispose function clears `self->decoder` but
+ the finalize function then tries to use it if the allocator has no been
+ detached yet.
+ Fix by detaching in the dispose function before we clear
+ `self->decoder`.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1220>
+
+2021-10-29 16:08:20 -0400 Julian Bouzas <julian.bouzas@collabora.com>
+
+ * gst/codecalpha/gstalphacombine.c:
+ alphacombine: use the same allocation query data for both decoders
+ This allows downstream elements to set allocation query parameters for both
+ decoders, which should be always the same.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1277>
+
+2021-10-31 13:43:40 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * sys/applemedia/vtdec.c:
+ * sys/applemedia/vtenc.c:
+ applemedia: Add ARGB64_BE, RGBA64_LE support to vtenc/vtdec
+ We can add this now that ARGB64_BE videoconvert support was added in:
+ https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1247
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1214>
+
+2021-10-20 02:19:33 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * sys/applemedia/vtenc.c:
+ * sys/applemedia/vtenc.h:
+ vtenc: Add FieldDetail properties for interlaced input
+ Standard interlace handling:
+ * If we have interlace-mode=interleaved and the field order, we just
+ set it when creating the session
+ * If we have interlace-mode=(interleaved|mixed) and no field order, we
+ set the field order on the first buffer
+ The encoder session does not support changing the FieldDetail after it
+ has started encoding frames, so we cannot support mixed streams
+ correctly.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1214>
+
+2021-10-20 01:49:29 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * sys/applemedia/vtenc.c:
+ * sys/applemedia/vtenc.h:
+ vtenc: Add a property to forcibly ignore alpha values
+ This PropertyKey is not documented in any headers anywhere, so we need
+ to define it ourselves.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1214>
+
+2021-10-19 23:53:39 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * sys/applemedia/vtenc.c:
+ vtenc: Set colorimetry information
+ It looks like VideoToolbox doesn't support all our colorimetries.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1214>
+
+2021-10-17 18:54:10 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * sys/applemedia/coremediabuffer.h:
+ * sys/applemedia/vtdec.c:
+ * sys/applemedia/vtenc.c:
+ * sys/applemedia/vtenc.h:
+ * sys/applemedia/vtutil.c:
+ * sys/applemedia/vtutil.h:
+ applemedia: Add ProRes support to vtenc and vtdec
+ For vtdec, we continue to prefer NV12; else we pick whatever
+ downstream wants. In the special case where we're decoding 10-bit or
+ 12-bit ProRes formats, we will prefer AYUV64.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1214>
+
+2021-10-17 19:19:15 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * sys/applemedia/vtenc.c:
+ vtenc: Improve error reporting in chain function
+ Otherwise it is quite difficult to figure out why the chain function
+ failed. Also assert not reached for case statements that should not be
+ hit.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1214>
+
+2021-10-14 12:14:49 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * sys/applemedia/vtdec.c:
+ vtdec: Remove dead code in switch statement
+ We never advertise these formats, so these cases will never be hit.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1214>
+
+2021-10-30 16:22:39 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ video: Fix order of new video formats
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1282>
+
+2021-10-30 00:58:55 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/mpegtsmux/gstatscmux.c:
+ * gst/mpegtsmux/gstbasetsmux.c:
+ * gst/mpegtsmux/gstmpegtsmux.c:
+ Couple more g_memdup() -> g_memdup2() fixes
+ Fixes deprecation warnings with newer GLib versions.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1279>
+
+2021-10-30 00:52:42 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ext/dtls/gstdtlssrtpenc.c:
+ dtls: don't use deprecated g_binding_get_source() with newer GLib versions
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1279>
+
+2021-10-30 01:41:51 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gsth265decoder.c:
+ codecs: h265decoder: Fix per-slice leak
+ As documented, slice header parsed via gst_h265_parser_parse_slice_hdr()
+ should be cleared, otherwise it would result in memory leak.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1274>
+
+2021-10-26 16:05:24 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvah264dec.c:
+ * sys/va/gstvah265dec.c:
+ * sys/va/gstvampeg2dec.c:
+ * sys/va/gstvavp8dec.c:
+ * sys/va/gstvavp9dec.c:
+ va: Delay decoders downstream negotiation.
+ Delay decoders downstream negotiation just before an output frame
+ needs to be allocated.
+ This is required, are least for H.264 and H.265 decoders, since
+ codec_data might trigger a new sequence before finishing upstream
+ negotiation, and sink pad caps need to set before setting source pad
+ caps, particularly to forward HDR fields. The other decoders are
+ changed too in order to keep the same structure among them.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1257>
+
+2021-10-26 09:41:53 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvabasedec.c:
+ vabasedec: Move warning message to decoder's category.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1257>
+
+2021-10-26 09:28:10 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvaav1dec.c:
+ * sys/va/gstvabasedec.h:
+ * sys/va/gstvah264dec.c:
+ * sys/va/gstvah265dec.c:
+ * sys/va/gstvampeg2dec.c:
+ * sys/va/gstvavp8dec.c:
+ * sys/va/gstvavp9dec.c:
+ va: Move common variable need_negotiation to GstBaseDec.
+ This is a common variable to all decoders, so it's sound to move it to
+ the base helper.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1257>
+
+2021-10-26 09:23:42 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvaav1dec.c:
+ * sys/va/gstvabasedec.c:
+ * sys/va/gstvabasedec.h:
+ * sys/va/gstvah264dec.c:
+ * sys/va/gstvah265dec.c:
+ * sys/va/gstvampeg2dec.c:
+ * sys/va/gstvavp8dec.c:
+ * sys/va/gstvavp9dec.c:
+ va: Move back parent_object to each element.
+ Using GstBaseDec hack to access the parent_object of each element in
+ the element itself is a bit fragile. It would be better to keep its
+ own parent object as the usual global variable. It would make it
+ resistant to code changes.
+ The GstBaseDec macro to access the parent object now it's internal to
+ base decoder.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1257>
+
+2021-10-23 00:44:57 +0200 Piotrek Brzeziński <piotr@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ video-format: Add support for ARGB64 LE/BE and similar variants
+ Co-authored-by: Sebastian Dröge <sebastian@centricular.com>
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1247>
+
+2021-09-26 21:34:30 +0200 Heiko Becker <heirecka@exherbo.org>
+
+ * ext/neon/meson.build:
+ neon: Allow building against neon 0.32.x
+ No API/ABI changes: https://github.com/notroj/neon/blob/0.32.0/NEWS#L3
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1267>
+
+2021-10-25 11:37:45 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ meson: require matching GStreamer dep versions for unstable development releases
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/929
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1244>
+
+2021-10-27 00:20:57 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/webrtctransceiver.c:
+ webrtcbin: fix check_negotiation computing on caps event
+ It seems logical that check_negotiation be true if received_caps
+ is *not* equal to the new caps.
+ Also clean up handling of transceivers' ssrc events, as this
+ patch triggered a leaky code path.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1233>
+
+2021-10-23 01:54:05 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: connect input stream when receiving caps
+ .. if a current direction has already been set
+ When `webrtcbin` has created an offer based on codec_preferences,
+ it might not have received caps on its sinkpads by the time a
+ remote description is set, in which case we want to connect the
+ input stream upon actual reception of the caps instead.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1233>
+
+2021-10-18 15:23:48 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: consider pads with trans->codec_preferences ready
+ .. when determining whether we can emit on-negotiation-needed
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1233>
+
+2021-10-28 17:41:54 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/videoparsers/gstmpeg4videoparse.c:
+ mpeg4videoparse: fix criticals trying to insert configs that don't exist yet
+ With mpeg4videoparse drop=false config-interval=N|-1 we might be
+ trying to insert a config before we have actually received one,
+ in which case we'll try to map a NULL buffer which will generate
+ lots of criticals.
+ Fixes #855
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1265>
+
+2021-10-20 17:46:10 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkh265enc.c:
+ msdk: Insert hdr sei at hevc encoder
+ There are two HDR SEIs defined in spec: mastering display colour volume and
+ content light level. Add insertion of HDR SEIs when they are available
+ during encoding.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1242>
+
+2021-10-21 16:12:06 +0100 Rob Agar <rob@engineeredarts.co.uk>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: Also check data channel transport when collating connection state
+ https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/838
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1224>
+
+2021-10-27 11:54:09 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvavpp.c:
+ vapostproc: Color fixation will choose othercaps' structure.
+ gst_va_fixate_format() will iterate all othercaps' structures to find
+ the one with less information lost at color conversion. If a structure
+ with same color format is found, the iteration stops. It's like a
+ smart truncation. Then, this function also will choose the caps
+ feature.
+ Later this structure is used fixate its size and no further truncation
+ is needed.
+ Don't intersect at fixate, since it kills possible resizing.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1261>
+
+2021-10-27 11:53:28 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvavpp.c:
+ vapostproc: Ignore direction at orientation swapping.
+ It doesn't matter the direction of the negotiation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1261>
+
+2021-10-27 10:31:04 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvavpp.c:
+ vapostproc: Consider video orientation for border calculation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1261>
+
+2021-10-06 16:00:56 +0200 Timo Wischer <timo.wischer@de.bosch.com>
+
+ * ext/avtp/gstavtpsrc.c:
+ avtpsrc: Retry receive with same buffer size
+ Without this patch in case of a retry recv() will be called with a
+ negative size argument.
+ Signed-off-by: Timo Wischer <timo.wischer@de.bosch.com>
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1078>
+
+2021-10-26 16:00:36 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * ext/closedcaption/gstcccombiner.c:
+ cccombiner: fix default value when installing schedule property
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1252>
+
+2021-10-26 15:58:26 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * ext/closedcaption/gstcccombiner.c:
+ cccombiner: fix emission of selected-samples in one case
+ Detected while reading the code, cccombiner must set
+ self->current_video_buffer to NULL *after* emitting selected-samples
+ in order for the application to get a useful return when peeking
+ the next video sample.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1252>
+
+2021-10-26 01:09:58 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * ext/closedcaption/gstcccombiner.c:
+ * tests/check/elements/cccombiner.c:
+ cccombiner: stop attaching caption buffers when caption pad has gone EOS
+ When schedule is true (as is the case by default), we insert padding
+ when no caption data is present in the schedule queue, and previously
+ weren't checking whether the caption pad had gone EOS, leading to
+ infinite scheduling of padding after EOS on the caption pad.
+ Rectify that by adding a "drain" parameter to dequeue_caption()
+ In addition, update the captions_and_eos test to push valid cc_data
+ in: without this cccombiner was attaching padding buffers it had
+ generated itself, and with that patch would now stop attaching
+ said padding to the second buffer. By pushing valid, non-padding
+ cc_data we ensure a caption buffer is indeed attached to the first
+ and second video buffers.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1252>
+
+2021-10-20 13:19:00 +0200 Mats Lindestam <matslm@axis.com>
+
+ * ext/curl/gstcurlsshsink.c:
+ * ext/curl/gstcurlsshsink.h:
+ * tests/check/elements/curlsftpsink.c:
+ curlsftpsink: Add support for sha256 fingerprint
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1193>
+
+2021-10-21 11:09:07 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkvpp.c:
+ msdkvpp: Add 12bit formats
+ Add 12bit formats for different chroma samplings at sink pad and
+ src pad, including P012_LE, Y212_LE and Y412_LE.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1218>
+
+2021-10-25 18:52:24 +0200 Floris <weersproductions@gmail.com>
+
+ * ext/gs/README.md:
+ gs: update README to use fixed versions
+ Use specific versions, instead of relying on 'master'.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1246>
+
+2021-10-25 18:47:46 +0200 Floris <weersproductions@gmail.com>
+
+ * ext/gs/gstgssrc.cpp:
+ gssrc: use default blocksize
+ The blocksize is set to 3 * 1024 * 1024 / 2, which is the default download_size of Google-Cloud-CPP.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/846
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1246>
+
+2021-10-25 16:53:14 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvah265dec.c:
+ vah265dec: Fix end_picture() vmethod.
+ Since commit 88437a9c the signature of h265decoder's end_picture()
+ changed to return GstFlowReturn, but vah265dec was not updated.
+ This commit fixes this regression.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1248>
+
+2021-10-12 17:32:30 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/va/gstvaallocator.c:
+ va: allocator: Fix possible memory leaks
+ At gst_va_dmabuf_allocator_setup_buffer_full, static code analysis tool
+ does not know number of objects in descriptor is always larger than 0 if
+ export_surface_to_dmabuf succeeds. Thus, the tool will assume buf is
+ allocated with mem but not released when desc.num_objects equals to 0
+ and raise a mem leak issue.
+ For gst_va_dambuf_memories_setup, we should also inform the tool that
+ n_planes will be larger than 0 by checking the value at very beginning.
+ Then, the defect similar to above will not be raised during static analysis.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1241>
+
+2021-10-25 01:02:28 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * po/af.po:
+ * po/ast.po:
+ * po/az.po:
+ * po/bg.po:
+ * po/ca.po:
+ * po/cs.po:
+ * po/da.po:
+ * po/de.po:
+ * po/el.po:
+ * po/en_GB.po:
+ * po/eo.po:
+ * po/es.po:
+ * po/eu.po:
+ * po/fi.po:
+ * po/fr.po:
+ * po/fur.po:
+ * po/gl.po:
+ * po/hr.po:
+ * po/hu.po:
+ * po/id.po:
+ * po/it.po:
+ * po/ja.po:
+ * po/ky.po:
+ * po/lt.po:
+ * po/lv.po:
+ * po/mt.po:
+ * po/nb.po:
+ * po/nl.po:
+ * po/or.po:
+ * po/pl.po:
+ * po/pt_BR.po:
+ * po/ro.po:
+ * po/ru.po:
+ * po/sk.po:
+ * po/sl.po:
+ * po/sq.po:
+ * po/sr.po:
+ * po/sv.po:
+ * po/tr.po:
+ * po/uk.po:
+ * po/vi.po:
+ * po/zh_CN.po:
+ * po/zh_TW.po:
+ gst-plugins-bad: update translations
+ Fixes #656
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1240>
+
+2021-10-23 19:26:06 +0200 Andoni Morales Alastruey <amorales@fluendo.com>
+
+ * gst-libs/gst/d3d11/gstd3d11device.cpp:
+ d3d11: add support for new debug layer versions
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1237>
+
+2021-01-20 12:04:48 +0100 Rafał Dzięgiel <rafostar.github@gmail.com>
+
+ * ext/assrender/gstassrender.c:
+ assrender: Add "application/vnd.ms-opentype" mimetype detection
+ The "application/vnd.ms-opentype" mimetype is commonly used in many fonts attached in the matroska videos.
+ Assrender should treat it as compatible without the need of parsing the file extension.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1207>
+
+2021-10-22 18:13:46 +0200 Stéphane Cerveau <scerveau@collabora.com>
+
+ * ext/openjpeg/meson.build:
+ wrap: libopenjp2: use patch version 7
+ Add support for win32 build
+ Disable the binary to avoid the thirdparty
+ dependency to be checked.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1229>
+
+2021-10-21 23:35:41 -0300 Martin Reboredo <yakoyoku@gmail.com>
+
+ * gst-libs/gst/vulkan/gstvkutils.c:
+ * gst-libs/gst/vulkan/gstvkutils.h:
+ gstvulkan: Constify code in create_shader
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1226>
+
+2021-10-21 00:33:06 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson_options.txt:
+ meson: default to gpl=disabled for gst-plugins-bad and -ugly
+ This will only affect individual/tarball module builds, as the
+ options yield to the parent project which was set to gpl=disabled
+ by default already. We kept it as auto in the original commit
+ to accommodate the need to update cerbero as well, which had to
+ be done separately after the initial commit.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1217>
+
+2021-01-20 13:38:03 +0100 Rafał Dzięgiel <rafostar.github@gmail.com>
+
+ * ext/assrender/gstassrender.c:
+ assrender: Do not iterate over mimetypes without filename
+ No point spending time on iterating and comparing strings if we
+ are going to reject the value due to missing filename anyway.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1206>
+
+2021-01-20 11:46:17 +0100 Rafał Dzięgiel <rafostar.github@gmail.com>
+
+ * ext/assrender/gstassrender.c:
+ assrender: Fix mimetype detection
+ Previously gst_structure_has_name was used to get a string to compare with supported mimetypes.
+ This is incorrect as above function returns a user defined structure name which is
+ not the structure mimetype value.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1206>
+
+2021-10-21 19:17:18 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkdebug.c:
+ * gst-libs/gst/vulkan/gstvkdebug.h:
+ * gst-libs/gst/vulkan/gstvkswapper.c:
+ vulkan/swapper: add some debug logging for surface size and present modes
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1219>
+
+2021-10-21 00:28:25 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/interlace/gstinterlace.c:
+ interlace: Replace custom lock with object lock
+ The object lock is sufficient for the task of protecting against
+ object property data races.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1039>
+
+2021-10-21 00:37:47 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/interlace/gstinterlace.c:
+ interlace: Protect all properties with the lock
+ Avoid blatant data races here.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1039>
+
+2021-10-21 00:36:47 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/interlace/gstinterlace.c:
+ interlace: Reset src_fps_d together with src_fps_n
+ These fields belong together.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1039>
+
+2021-10-21 00:35:00 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/interlace/gstinterlace.c:
+ interlace: Clear stored_fields together with stored_frame
+ These fields belong together.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1039>
+
+2021-10-21 00:31:24 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/interlace/gstinterlace.c:
+ interlace: Reset after changing state to READY
+ Trying to reset before the pads have been deactivated races with the
+ streaming thread. There was also a buggy buffer clear leaving a dangling
+ `stored_frame` pointer around. Use `gst_interlace_reset` so this happens
+ properly.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1039>
+
+2021-10-20 14:34:42 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * sys/nvcodec/gstnvenc.c:
+ * sys/nvcodec/gstnvh264enc.c:
+ nvh264enc: add constrained-baseline to the caps profiles
+ In practice, when baseline is requested from the encoder it
+ produces constrained baseline, and it is already reflected
+ in the profile-iop flags.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1213>
+
+2021-10-21 01:47:07 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfplatloader.c:
+ * sys/mediafoundation/meson.build:
+ mediafoundation: Fix for UWP build
+ We don't support D3D11 interop for UWP because some APIs
+ (specifically MFTEnum2) are desktop application only.
+ However, the code for symbol loading is commonly used by both UWP and WIN32.
+ Just link GModule unconditionally which is UWP compatible, and simply don't
+ try to load any library/symbol dynamically when D3D11 interop is unavailable.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1216>
+
+2021-10-20 00:54:26 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * REQUIREMENTS:
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/libmms/gstmms.c:
+ * ext/libmms/gstmms.h:
+ * ext/libmms/meson.build:
+ * ext/meson.build:
+ * meson_options.txt:
+ mms: remove mmssrc plugin
+ Doubtful that anyone still needs that or there are even
+ any streams left out there.
+ MMS was deprecated in 2003 (in favour of RTSP) and support for
+ it was dropped with Microsoft Media Services 2008.
+ https://en.wikipedia.org/wiki/Microsoft_Media_Server
+ https://sdp.ppona.com/news2008.html
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/821
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1211>
+
+2021-10-19 18:18:25 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * sys/msdk/meson.build:
+ * sys/va/meson.build:
+ meson: va, msdk: simplify dep.get_variable() use
+ With recent Meson versions we can just write dep.get_variable('foo')
+ instead of dep.get_variable(pkgconfig: 'driverdir', internal: 'driverdir').
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1183>
+
+2021-10-18 15:47:00 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * tests/check/meson.build:
+ * tests/validate/meson.build:
+ meson: update for meson.build_root() and .build_source() deprecation
+ -> use meson.project_build_root() or .global_build_root() instead.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1183>
+
+2021-10-18 00:40:14 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * docs/meson.build:
+ * ext/onnx/meson.build:
+ * ext/opencv/meson.build:
+ * ext/wayland/meson.build:
+ * meson.build:
+ * sys/msdk/meson.build:
+ * tests/check/meson.build:
+ meson: update for dep.get_pkgconfig_variable() deprecation
+ ... in favour of dep.get_variable('foo', ..) which in some
+ cases allows for further cleanups in future since we can
+ extract variables from pkg-config dependencies as well as
+ internal dependencies using this mechanism.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1183>
+
+2021-10-18 00:03:47 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ meson: clean up conditional paths after version bump
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1183>
+
+2020-11-19 18:03:11 +0100 Rafał Dzięgiel <rafostar.github@gmail.com>
+
+ * ext/assrender/gstassrender.c:
+ assrender: fix smooth scaling by disabling hinting
+ When ass hinting value is set to anything other than NONE,
+ subtitles cannot use smooth scaling, thus all animations will jitter.
+ The libass author warns about possibility of breaking some scripts when it is enabled,
+ so lets do what is recommended and disable it to get the smooth scaling working.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1201>
+
+2021-05-07 11:11:31 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * ext/srt/gstsrtsink.c:
+ srt: Plug leak of headers
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1040>
+
+2020-08-31 17:17:56 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/mpegtsmux/gstbasetsmux.c:
+ mpegtsmux: Avoid crash when best pad gets flushed
+ The 'best' pad might receive a flush event between us picking it and us
+ popping the buffer. In this case, the buffer will be missing.
+ Similar to https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/711
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1042>
+
+2021-10-17 11:39:57 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * tools/meson.build:
+ tools: Define G_LOG_DOMAIN for various tools as well
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1009>
+
+2021-10-01 15:31:18 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst-libs/gst/adaptivedemux/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/d3d11/meson.build:
+ * gst-libs/gst/insertbin/meson.build:
+ * gst-libs/gst/interfaces/meson.build:
+ * gst-libs/gst/isoff/meson.build:
+ * gst-libs/gst/mpegts/meson.build:
+ * gst-libs/gst/opencv/meson.build:
+ * gst-libs/gst/play/meson.build:
+ * gst-libs/gst/player/meson.build:
+ * gst-libs/gst/sctp/meson.build:
+ * gst-libs/gst/transcoder/meson.build:
+ * gst-libs/gst/uridownloader/meson.build:
+ * gst-libs/gst/va/meson.build:
+ * gst-libs/gst/vulkan/meson.build:
+ * gst-libs/gst/wayland/meson.build:
+ * gst-libs/gst/webrtc/meson.build:
+ * gst-libs/gst/winrt/meson.build:
+ gst-plugins-bad: define G_LOG_DOMAIN for all libraries
+ Fixes #634
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1009>
+
+2021-10-06 13:38:35 +0200 Antonio Ospite <antonio.ospite@collabora.com>
+
+ * ext/aes/meson.build:
+ aes: specify the required OpenSSL version
+ The code in the aes elements assumes OpenSSL >= 1.1.0:
+ - implicit library initialization;
+ - version retrieved with OpenSSL_version(OPENSSL_VERSION);
+ and it fails to build with older versions.
+ Specify the required OpenSSL version explicitly in meson.build so that
+ the elements are excluded on older systems (e.g. Ubuntu 16.04) and the
+ rest of GStreamer can still build.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1067>
+
+2021-10-11 13:05:24 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvadeinterlace.c:
+ vadeinterlace: Accept ANY feature.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1024>
+
+2021-10-11 13:04:19 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvadeinterlace.c:
+ vadeinterlace: Fixate interlace-mode and framerate accordingly.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1024>
+
+2021-10-14 07:03:26 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvavpp.c:
+ vapostproc: Accept ANY feature.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1024>
+
+2021-10-13 19:27:41 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvavpp.c:
+ vapostproc: Traverse caps features in gst_va_vpp_caps_remove_fields()
+ The previous code had a potential failure for multiple caps features. Now
+ each caps feature in each structure is reviewed, and if it has a supported
+ feature, the structure is processed.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1024>
+
+2021-10-13 17:08:12 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvavpp.c:
+ vapostproc: Refactor gst_va_vpp_complete_caps_features()
+ gst_va_vpp_complete_caps_features() now receives the @feature_name to
+ add and return if @caps doesn't provide it.
+ So, instead of two nested loops, now the function is a single loop,
+ traversing @caps to find if each structure already contains the requested
+ @features_name.
+ It's important to add missing caps features with @caps, in order to
+ not lost information.
+ The function caller does the external loop by calling per each
+ available caps feature.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1024>
+
+2021-10-11 18:57:48 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvavpp.c:
+ vapostproc: Split caps transform in two phases.
+ In order to make more readable the caps transformation, the operation
+ was split in two phases:
+ 1. Rangify the supported caps structures.
+ 2. Add the missing (and supported) caps features.
+ Step 1 modified its logic, by copying any unrecognized structure.
+ It's a previous step required for allowing ANY caps feature as
+ passthrough.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1024>
+
+2021-10-08 12:38:04 +0300 Vivia Nikolaidou <vivia@ahiru.eu>
+
+ * gst/mpegtsdemux/tsdemux.c:
+ tsdemux: Change many GST_{DEBUG, LOG, etc} into _OBJECT
+ Log files with several demuxers running at once can otherwise get
+ confusing
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1096>
+
+2021-10-08 12:36:58 +0300 Vivia Nikolaidou <vivia@ahiru.eu>
+
+ * gst/mpegtsdemux/tsdemux.c:
+ tsdemux: Issue GST_ELEMENT_WARNING for continuity errors
+ The application might want to make use of these.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1096>
+
+2021-10-14 18:38:26 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ meson: bump meson requirement to >= 0.59
+ For monorepo build and ugly/bad, for advanced feature
+ option API like get_option('xyz').required(..) which
+ we use in combination with the 'gpl' option.
+ For rest of modules for consistency (people will likely
+ use newer features based on the top-level requirement).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1084>
+
+2021-09-19 00:55:34 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ext/dts/meson.build:
+ * ext/faad/meson.build:
+ * ext/iqa/iqa.c:
+ * ext/iqa/meson.build:
+ * ext/mpeg2enc/meson.build:
+ * ext/mplex/meson.build:
+ * ext/resindvd/meson.build:
+ * ext/x265/meson.build:
+ * meson.build:
+ * meson_options.txt:
+ meson: add 'gpl' option and only build plugins with (A)GPL deps if explicitly enabled
+ Require explicit opt-in to build plugins with (A)GPL dependencies.
+ Keep ugly/bad options on 'auto' for now so cerbero doesn't fail.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1084>
+
+2020-10-30 16:02:22 +0200 Vivia Nikolaidou <vivia@ahiru.eu>
+
+ * gst/mpegtsmux/gstbasetsmux.c:
+ basetsmux: Support for caps changes
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/981>
+
+2020-11-12 12:17:14 +0100 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/mpegtsmux/gstbasetsmux.c:
+ basetsmux: Clean up gst_base_ts_mux_create_stream
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/981>
+
+2021-08-31 16:35:06 +0300 Vivia Nikolaidou <vivia@ahiru.eu>
+
+ * gst/mpegtsdemux/mpegtsbase.c:
+ mpegtsbase: Search SCTE-35 DRF_ID_CUEI in multiple registration descriptors
+ There are streams in the wild that have to add a SCTE-35 trigger in
+ another e.g. GA94 stream. Most encoders would replace the GA94
+ descriptor ID with the CUEI one temporarily, but there are some that
+ will add two registration ID descriptors, one with GA94 and one with
+ CUEI.
+ Failing to parse the CUEI registration ID in that case would return
+ FALSE in _stream_is_private_section , therefore setting it as known PES
+ and pushing packets downstream instead of calling handle_psi.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/979>
+
+2021-10-01 14:36:48 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/mpegtsdemux/tsdemux.c:
+ tsdemux: Improve gap detection
+ We should also take into account whether data is currently pending when checking
+ for gap on streams. It could very well be that some streams have very low
+ bitrate (and spread out) data. For those we don't want to push out a gap event.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1179>
+
+2021-09-05 11:57:18 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/mpegtsdemux/mpegtspacketizer.c:
+ * gst/mpegtsdemux/mpegtspacketizer.h:
+ * gst/mpegtsdemux/tsdemux.c:
+ tsdemux: Handle "negative" timestamps
+ This is only enabled in push time mode. Furthermore it's only enabled for now if
+ PCR is to be ignored.
+ The problem is dealing with streams where the initial PTS/DTS observation might
+ be greater than following ones (from other PID for example). Before this patch,
+ this would result in sending buffers without any timestamp which would cause a
+ wide variety of issues.
+ Instead, pad segment and buffer timestamps with an extra
+ value (packetizer->extra_shift, default to 2s), to ensure that we can get valid
+ timestamps on outgoing buffers (even if that means they are before the segment
+ start).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1179>
+
+2021-09-05 11:55:55 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/mpegtsdemux/tsdemux.c:
+ tsdemux: Handle streams with bogus PTS vs DTS
+ PTS and DTS should be within a reasonable distance of each other.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1179>
+
+2021-09-05 11:53:05 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/mpegtsdemux/mpegtspacketizer.c:
+ tsdemux: Handle PTS->TS at wraparound
+ This has been a FIXME for ages.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1179>
+
+2021-10-14 14:07:07 +0100 Rob Agar <rob@engineeredarts.co.uk>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: fix prevention of webrtcbin deletion due to ref held by probe callback
+ https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/810
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1150>
+
+2021-10-16 19:01:27 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11convert.cpp:
+ d3d11: d3d11{convert,scale}: Add add-borders property
+ Functionally identical to that of videoscale element.
+ When disabled, d3d11convert or d3d11scale element will scale
+ image without adding borders, meaning that display aspect ratio
+ will not be preserved.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1170>
+
+2021-10-16 10:58:53 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvafilter.c:
+ * sys/va/gstvafilter.h:
+ * sys/va/gstvavpp.c:
+ vapostproc: Add add-borders property to keep dar
+ Just as videoscale, it enables add-borders property (FALSE by default)
+ in vapostproc to add border, if necessary, to keep the display aspect
+ ratio from the original image.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1169>
+
+2021-10-16 10:51:57 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvavpp.c:
+ vapostproc: Fix early fixation.
+ First copy missing fields and then fixate all remaining fields.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1169>
+
+2021-10-14 19:08:49 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/meson.build:
+ * ext/ofa/gstofa.c:
+ * ext/ofa/gstofa.h:
+ * ext/ofa/meson.build:
+ * meson_options.txt:
+ * tests/check/elements/ofa.c:
+ ofa: remove ofa audio fingerprinting plugin
+ I think the MusicIP database for this has been defunct for years,
+ so I can't imagine this plugin is particularly useful or still
+ used by anyone.
+ See https://musicbrainz.org/doc/Fingerprinting#PUID
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1153>
+
+2021-10-16 22:43:32 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/meson.build:
+ * sys/wasapi2/meson.build:
+ meson: wasapi2,mediafoundation: Work around Windows SDK header issue
+ Some SDK headers are not standard compliant, so MSVC will
+ complain when such headers are in use with "/permissive-" compile
+ option. Use "/Zc:twoPhase-" to work around the issue as documented in
+ https://docs.microsoft.com/en-us/cpp/build/reference/permissive-standards-conformance?view=msvc-160#windows-header-issues
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1174>
+
+2021-10-16 09:29:28 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * ext/fdkaac/meson.build:
+ meson: Mark newly fdkaac/ogg/vorbis as allow fallback
+ This way when the dep is `auto` we will fallback if the system
+ dependency is not available.
+ And use https to get libvorbis
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1171>
+
+2021-10-16 01:15:06 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfplatloader.c:
+ * sys/mediafoundation/gstmfplatloader.h:
+ * sys/mediafoundation/gstmftransform.cpp:
+ * sys/mediafoundation/gstmftransform.h:
+ * sys/mediafoundation/gstmfvideoenc.cpp:
+ * sys/mediafoundation/meson.build:
+ * sys/mediafoundation/plugin.c:
+ mediafoundation: Use GetProcAddress() for OS version dependent symbols
+ We are using some symbols which are not available on Windows 7,
+ specifically D3D11 interop related ones
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1167>
+
+2021-10-06 03:26:25 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvavpp.c:
+ vapostproc: Transfer colorimetry at fixate if possible.
+ Taken from videoconvert element.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1110>
+
+2021-10-12 15:52:48 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/meson.build:
+ meson: Streamline the way we detect when to build documentation
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1093>
+
+2020-06-27 00:39:00 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/meson.build:
+ * gst-libs/gst/adaptivedemux/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/d3d11/meson.build:
+ * gst-libs/gst/insertbin/meson.build:
+ * gst-libs/gst/interfaces/meson.build:
+ * gst-libs/gst/mpegts/meson.build:
+ * gst-libs/gst/opencv/meson.build:
+ * gst-libs/gst/play/meson.build:
+ * gst-libs/gst/player/meson.build:
+ * gst-libs/gst/sctp/meson.build:
+ * gst-libs/gst/transcoder/meson.build:
+ * gst-libs/gst/uridownloader/meson.build:
+ * gst-libs/gst/va/meson.build:
+ * gst-libs/gst/vulkan/meson.build:
+ * gst-libs/gst/wayland/meson.build:
+ * gst-libs/gst/webrtc/meson.build:
+ * meson.build:
+ meson: List libraries and their corresponding gir definition
+ Introduces a `libraries` variable that contains all libraries in a
+ list with the following format:
+ ``` meson
+ libraries = [
+ [pkg_name, {
+ 'lib': library_object
+ 'gir': [ {full gir definition in a dict } ]
+ ],
+ ....
+ ]
+ ```
+ It therefore refactors the way we build the gir so that we can reuse the
+ same information to build them against 'gstreamer-full' in gst-build
+ when linking statically
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1093>
+
+2020-06-27 00:37:39 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/audio/meson.build:
+ * gst-libs/gst/basecamerabinsrc/meson.build:
+ * gst-libs/gst/codecs/meson.build:
+ * gst-libs/gst/insertbin/meson.build:
+ * gst-libs/gst/mpegts/meson.build:
+ * gst-libs/gst/play/meson.build:
+ * gst-libs/gst/player/meson.build:
+ * gst-libs/gst/vulkan/meson.build:
+ * gst-libs/gst/webrtc/meson.build:
+ meson: Mark files as files()
+ Making it more robust and future proof
+ And fix issues that it creates
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1093>
+
+2021-09-13 17:53:12 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/audio/meson.build:
+ bad:audio: Add generated files sources in declare_dependency
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1093>
+
+2021-10-15 23:18:41 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmftransform.cpp:
+ * sys/mediafoundation/gstmfutils.cpp:
+ * sys/mediafoundation/gstmfvideoenc.cpp:
+ mediafoundation: Fix various string constness handling
+ ... with fixing typo (g_strup -> g_strdup)
+ Constness needs to be explicit in C++ world otherwise compiler
+ would complain about that.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1164>
+
+2021-10-15 10:03:46 +0100 Rob Agar <rob@engineeredarts.co.uk>
+
+ * tests/examples/webrtc/webrtcrenego.c:
+ missing transceiver unref in WebRTC renegotiation example
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1160>
+
+2021-10-13 17:17:44 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * tests/examples/va/multiple-vpp.c:
+ tests:va: Fix null ptr dereference in multi-vpp
+ Dereference the pointer err before null check, which raised a null
+ pointer dereference issue by Coverity. Modify it to do the null check
+ of err first, then dereference it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1143>
+
+2021-10-13 15:58:29 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/va/gstvadecoder.c:
+ va: Fix null ptr dereference for vadeocder
+ Making a null check in gst_va_decode_picture_free () indicates pic->buffers or pic->slices
+ can be null, then in _destroy_buffers () the pointers are dereferenced, which is detected
+ as dereference after null check by Coverity. Thus, modify the code to do null check in
+ _detroy_buffers ().
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1143>
+
+2021-04-05 10:29:37 +0300 Vivia Nikolaidou <vivia@ahiru.eu>
+
+ * gst/mpegtsdemux/mpegtsbase.c:
+ * gst/mpegtsdemux/mpegtsbase.h:
+ * gst/mpegtsdemux/tsdemux.c:
+ * gst/mpegtsdemux/tsdemux.h:
+ tsdemux: Handle delayed seek events
+ Store the event in case it cannot be processed immediately and process
+ it after the first segment has been produced.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/980>
+
+2021-04-05 10:28:51 +0300 Vivia Nikolaidou <vivia@ahiru.eu>
+
+ * gst/mpegtsdemux/tsdemux.c:
+ * gst/mpegtsdemux/tsdemux.h:
+ tsdemux: Protect demux->segment_event with a mutex
+ Would otherwise cause weird issues when processing a delayed seek event
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/980>
+
+2021-10-14 14:35:45 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/codecs/gsth264decoder.c:
+ codecs: h264: Fix wrong type of ret variable
+ This ret is not a GstFlowReturn. This broke v4l2 decoder which does not
+ implement new_picture() virtual function.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1154>
+
+2021-10-13 21:45:34 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11desktopdup.h:
+ * sys/d3d11/gstd3d11screencapture.cpp:
+ * sys/d3d11/gstd3d11screencapture.h:
+ * sys/d3d11/gstd3d11screencapturedevice.cpp:
+ * sys/d3d11/gstd3d11screencapturedevice.h:
+ * sys/d3d11/gstd3d11screencapturesrc.cpp:
+ * sys/d3d11/gstd3d11screencapturesrc.h:
+ * sys/d3d11/meson.build:
+ * sys/d3d11/plugin.cpp:
+ * tests/examples/d3d11/d3d11screencapturesrc.cpp:
+ * tests/examples/d3d11/meson.build:
+ d3d11: Rename screen capture element
+ Old name "desktopdup" may confuse users. Now it's renamed to
+ "screencapture"
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1136>
+
+2021-10-05 18:52:25 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/transcoder/gsttranscoder.c:
+ transcoder: Set state back to NULL after run() finishes
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1063>
+
+2021-09-13 18:02:03 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/transcoder/gsttranscoder.h:
+ transcoder: Use full path for includes in 'gsttranscoder.h'
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1063>
+
+2021-10-12 17:50:31 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * gst-libs/gst/va/gstvadisplay_drm.c:
+ va:display: Don't close an fd with negative value
+ Cannot pass negative parameter to close() and thus no need to apply
+ close() when fd < 0.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1131>
+
+2021-10-12 17:48:17 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/va/gstvadecoder.c:
+ va: Fix error handling for decoder
+ Need to check if va decoder is closed successfully.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1131>
+
+2021-10-12 17:44:27 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/va/gstvabasetransform.c:
+ va: Fix error handling for base transform
+ Need to check the returned value of gst_buffer_pool_set_active() when
+ setting the active status of buffer pool.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1131>
+
+2021-10-13 21:26:53 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * ext/avtp/meson.build:
+ meson:avtp: Error out if sock_txtime is not present and avtp is enabled
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1142>
+
+2021-10-10 01:56:32 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecparsers/gsth264parser.c:
+ * gst-libs/gst/codecparsers/gsth265parser.c:
+ codecparsers: {h264,h265}parser: Fix typo around SEI nalu generator
+ Fix to create correct SEI nalu when the size of payloadType and/or
+ payloadType is larger than 255 (0xff)
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1601
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1106>
+
+2021-10-05 20:15:44 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvafilter.c:
+ * sys/va/gstvavpp.c:
+ vapostproc: Negotiate interlaced.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1109>
+
+2021-10-05 20:15:09 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvavpp.c:
+ vapostproc: Copy missing fields at fixate.
+ When caps negotiation implies a caps feature change, some fields might
+ get lost. This patch brings them back from input caps.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1109>
+
+2021-10-05 20:15:09 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvavpp.c:
+ vapostproc: Simplify size fixate.
+ gst_va_vpp_fixate_size() returned the fixated caps, but that is not
+ needed since `othercaps` are modified inline.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1109>
+
+2021-10-05 20:15:09 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvavpp.c:
+ vapostproc: Simplify fixate.
+ The first approach to fixate was simply a copy&paste of both
+ videoconvert and videoscale, trying to keep their logic as isolated
+ as possible. But that brought duplicated and sparse logic.
+ This patch merge both approaches simplifying the fixate operation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1109>
+
+2021-10-05 17:41:57 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvadeinterlace.c:
+ * sys/va/gstvafilter.c:
+ * sys/va/gstvafilter.h:
+ * sys/va/gstvavpp.c:
+ va: filter, deinterlace, vpp: Add gst_va_buffer_get_surface_flags().
+ Add a helper function to get, from GstVideoInfo and GstBuffers flags,
+ the VA interlace surface flags. This is used currently by vainterlace
+ element, but it will be used in vapostproc too if it can process
+ interlaced frames.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1109>
+
+2021-09-22 14:50:40 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ msdkenc: fix vp9enc initialization fail
+ MediaSDK does not support to handle extbuff with id
+ MFX_EXTBUFF_VIDEO_SIGNAL_INFO for mjpegenc and vp9enc. Hence, need to
+ exclude mjpeg and vp9 when passing color properties to MediaSDK during
+ msdkenc initialization.
+ Fix issue: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/764
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1101>
+
+2021-10-10 17:04:13 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tests/examples/d3d11/d3d11desktopdupsrc.cpp:
+ * tests/examples/d3d11/d3d11device.cpp:
+ * tests/examples/d3d11/d3d11device.h:
+ * tests/examples/d3d11/d3d11videosink-kb.c:
+ * tests/examples/d3d11/d3d11videosink-kb.h:
+ * tests/examples/d3d11/d3d11videosink-shared-texture-d3d9ex.cpp:
+ * tests/examples/d3d11/d3d11videosink-shared-texture.cpp:
+ * tests/examples/d3d11/d3d11videosink.c:
+ * tests/examples/d3d11/meson.build:
+ * tests/examples/meson.build:
+ examples: d3d11: Add a desktop capture example
+ ... with d3d11 desktop capture device provider
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1103>
+
+2021-10-05 21:49:38 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11desktopdup.cpp:
+ * sys/d3d11/gstd3d11desktopdup.h:
+ * sys/d3d11/gstd3d11desktopdupdevice.cpp:
+ * sys/d3d11/gstd3d11desktopdupdevice.h:
+ * sys/d3d11/gstd3d11desktopdupsrc.cpp:
+ * sys/d3d11/meson.build:
+ * sys/d3d11/plugin.cpp:
+ d3d11: Add device provider for d3d11desktopdupsrc
+ ... and add support for multi-GPU/multi-monitor
+ By using newly added "monitor-handle" property, user can specify a
+ monitor to be captured via HMONITOR handle.
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1673
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1103>
+
+2021-10-11 15:23:08 +0200 Stéphane Cerveau <scerveau@collabora.com>
+
+ * ext/ttml/gstttmlparse.c:
+ * ext/ttml/gstttmlrender.c:
+ ttml: fix log init
+ The log system should be init before calling a log
+ Fix regression after:
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1112>
+
+2021-10-04 13:30:37 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * tests/check/elements/vapostproc.c:
+ * tests/check/meson.build:
+ tests: va: Add VA buffer copy tests.
+ It should only work for raw buffers, but fails on dmabuf since it
+ should have a drm modifier.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1023>
+
+2021-10-06 15:20:50 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvaallocator.c:
+ va: allocator: dmabuf: Use GstVaSurfaceCopy, if possible.
+ If dmabuf-based buffer to copy contains only one memory, and there are
+ memories available in the allocator's pool, it's possible a fast
+ memory copy using GstVaSurfaceCopy, regardless the drm modifier.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1023>
+
+2021-10-05 15:21:01 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvaallocator.c:
+ va: allocator: Use GstVaSurfaceCopy.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1023>
+
+2021-10-05 13:36:56 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvaallocator.c:
+ * sys/va/gstvasurfacecopy.c:
+ * sys/va/gstvasurfacecopy.h:
+ * sys/va/meson.build:
+ * sys/va/vasurfaceimage.c:
+ * sys/va/vasurfaceimage.h:
+ va: Add GstVaSurfaceCopy class.
+ This new class is a helper for fast/tricky copy of surfaces. First it
+ tries to copy using the function vaCopy in libva 1.12. If it fails, or
+ it's not available, a GstVaFilter is tried to be instantiated with the
+ allocator's parameters, and if succeed, it's used for copying the
+ source surface.
+ This is required for dmabuf surfaces with drm modifier.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1023>
+
+2021-10-05 13:21:00 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvafilter.c:
+ * sys/va/vasurfaceimage.c:
+ * sys/va/vasurfaceimage.h:
+ va: filter: Enable to pass VASurfaceID in GstVaSample.
+ Initially GstVaSample processed its GstBuffer member to get the
+ VASurfaceID. But it might cases where we already have the VASurfaceID
+ to process by the filter.
+ This patch enables the possibility to pass the surfaces rather than
+ the buffers. In order to validate the surfaces a function to check
+ surfaces were added.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1023>
+
+2021-10-07 21:51:55 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvaallocator.c:
+ * sys/va/meson.build:
+ * sys/va/vasurfaceimage.c:
+ * sys/va/vasurfaceimage.h:
+ va: Split VA memory handling in different files.
+ Take out the VA memory wrappers from gstvallocator.c to an external
+ file exposing the functions.
+ This is going to be needed for the copy helper object.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1023>
+
+2021-10-05 06:54:25 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvaallocator.h:
+ va: allocator: Add missing header file.
+ Added stdint.h because uintptr_t is used.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1023>
+
+2021-10-04 21:31:53 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvadisplay_priv.c:
+ * sys/va/gstvadisplay_priv.h:
+ va: display: Add gst_va_display_has_vpp()
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1023>
+
+2021-09-30 14:59:31 +0200 Benjamin Gaignard <benjamin.gaignard@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codecvp8dec.c:
+ * sys/v4l2codecs/linux/v4l2-controls.h:
+ v4l2codecs: Align v4l2-controls header with kernel 5.15-rc3
+ Update v4l2-controls to be aligned with kernel 5.15-rc3.
+ Fix VP8 decoder to use the correct field name.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1081>
+
+2021-10-08 23:07:32 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfh264enc.cpp:
+ * sys/mediafoundation/gstmfh265enc.cpp:
+ * sys/mediafoundation/gstmfvideoenc.cpp:
+ * sys/mediafoundation/gstmfvideoenc.h:
+ * sys/mediafoundation/gstmfvp9enc.cpp:
+ mediafoundation: mfvideoenc: Use DXGI adapter LUID
+ Make use of new DXGI adapter LUID based device context sharing.
+ Note that we were using DXGI adapter LUID to open MFT already.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1098>
+
+2021-10-08 22:37:20 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11av1dec.cpp:
+ * sys/d3d11/gstd3d11decoder.cpp:
+ * sys/d3d11/gstd3d11decoder.h:
+ * sys/d3d11/gstd3d11h264dec.cpp:
+ * sys/d3d11/gstd3d11h265dec.cpp:
+ * sys/d3d11/gstd3d11mpeg2dec.cpp:
+ * sys/d3d11/gstd3d11vp8dec.cpp:
+ * sys/d3d11/gstd3d11vp9dec.cpp:
+ d3d11: d3d11decoder: Use DXGI adapter LUID
+ ... instead of index of DXGI adapter.
+ The order of IDXGIAdapter1 enumerated via IDXGIFactory1::EnumAdapters1
+ can be varying even there's no rebooting in case that GPU preference order
+ is updated by user (for example, it can be done by using NVIDIA Control Panel
+ in case of multi-GPU laptop system) and eGPU is another possible case.
+ So, for an element which requires fixed target GPU requirement,
+ index based device enumeration is unreliable.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1098>
+
+2021-10-08 21:39:44 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11utils.cpp:
+ * gst-libs/gst/d3d11/gstd3d11utils.h:
+ d3d11: d3d11utils: Add support for DXGI Adapter LUID based D3D11 device context sharing
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1098>
+
+2021-10-08 19:41:22 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11device.cpp:
+ * gst-libs/gst/d3d11/gstd3d11device.h:
+ * gst-libs/gst/d3d11/gstd3d11utils.cpp:
+ * gst-libs/gst/d3d11/gstd3d11utils.h:
+ * tests/check/libs/d3d11device.cpp:
+ * tests/check/meson.build:
+ d3d11: d3d11device: Add gst_d3d11_device_new_{for_adapter_luid,wrapped}
+ * gst_d3d11_device_new_for_adapter_luid()
+ Used for creating D3D11 device for a DXGI adapter (i.e., GPU)
+ corresponding to a LUID (Locally Unique Identifier).
+ This method can be useful for interop with other APIs such as
+ Direct3D12, MediaFoundation, CUDA, etc.
+ * gst_d3d11_device_new_wrapped()
+ Allows creating a new GstD3D11Device object by using already
+ configured ID3D11Device. This is conceptually equivalent to
+ gst_gl_context_new_wrapped()
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1098>
+
+2021-10-08 17:16:02 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11device.cpp:
+ * sys/d3d11/gstd3d11window.cpp:
+ d3d11: d3d11device: Remove "allow-tearing" property
+ Plugin can query DXGI_FEATURE_PRESENT_ALLOW_TEARING without d3d11device
+ help
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1098>
+
+2021-10-08 21:14:52 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * tests/check/elements/webrtcbin.c:
+ webrtcbin: Use the same promise reply structure name everywhere
+ This was an inconsistent mix of different names in the past. The name
+ has no meaning at all so let's set all to "application/x-gst-promise".
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1099>
+
+2021-10-08 15:44:37 +0300 Vivia Nikolaidou <vivia@ahiru.eu>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst/debugutils/gstchopmydata.c:
+ chopmydata: Fix FIXMEs in gst_element_class_set_static_metadata
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1097>
+
+2021-10-06 03:19:30 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11desktopdupsrc.cpp:
+ d3d11: d3d11desktopdupsrc: Add support for non-D3D11 downstream element
+ By this commit, application doesn't need to configure d3d11download
+ element for software pipeline which will make things simpler
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1082>
+
+2021-10-06 22:06:44 +0900 Seungha Yang <seungha@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:
+ codecs: Use GST_VIDEO_DECODER_ERROR() only for decoding error case
+ The GST_VIDEO_DECODER_ERROR() should be used only for robust/error-resilient
+ decoding purpose. Any other error codes such as not-negotiated or flushing
+ should be returned without modified for upstream to be able to handle
+ it immediately. (for example, application might want to try other
+ decoder element on not-negotiated)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1070>
+
+2021-10-07 01:54:29 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gsth264decoder.c:
+ codecs: h264decoder: Update for remaining gboolean to GstFlowReturn port
+ Fix for spurious/spammy warning and wrong function return type
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1085>
+
+2021-09-23 17:36:20 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * ext/openjpeg/meson.build:
+ meson: Fix build with -Dopenjpeg=disabled
+ tests/check/meson.build uses the openjpeg_dep variable
+ unconditionally, and the subdir_done() is useless anyway, since the
+ plugin is only built if openjpeg_dep.found() is true. Fixes:
+ ..\tests\check\meson.build:23:0: ERROR: Unknown variable "openjpeg_dep".
+ In particular, this fixes the build on UWP since we disable openjpeg
+ explicitly in Cerbero when building for UWP.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1069>
+
+2021-10-01 14:35:06 +0200 Guillaume Desmottes <guillaume@desmottes.be>
+
+ * ext/gs/README.md:
+ bad: gs: update README
+ - add one missing dep
+ - change install path to match monorepo
+ - fix current dirs
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1008>
+
+2021-09-17 13:02:38 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvadeinterlace.c:
+ * sys/va/gstvavpp.c:
+ * tests/examples/va/main.c:
+ va: Use macro rather than VAMemory feature string.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1061>
+
+2021-09-24 11:53:56 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/mpegtsdemux/mpegtsparse.c:
+ mpegtsparse: Don't assert the packet_size when filling for EOS
+ If the packetizer got reset for any reason (failure to find PCR?) then
+ the packet_size can be zero here even though we already enqueued some
+ packets.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1038>
+
+2021-09-22 00:05:43 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gstmpeg2decoder.c:
+ * gst-libs/gst/codecs/gstmpeg2decoder.h:
+ * sys/d3d11/gstd3d11mpeg2dec.cpp:
+ * sys/va/gstvampeg2dec.c:
+ codecs: mpeg2decoder: Use GstFlowReturn everywhere
+ boolean return value is not sufficient for representing the reason
+ of error in most cases. For instance, any errors around new_sequence()
+ would mean negotiation error, not just *ERROR*.
+ And some subclasses will allocate buffer/memory/surface on new_picture()
+ but it could be failed because of expected error, likely flushing
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1019>
+
+2021-09-21 22:21:51 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gsth264decoder.c:
+ * gst-libs/gst/codecs/gsth264decoder.h:
+ * sys/d3d11/gstd3d11h264dec.cpp:
+ * sys/nvcodec/gstnvh264dec.c:
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ * sys/va/gstvah264dec.c:
+ codecs: h264decoder: Use GstFlowReturn everywhere
+ boolean return value is not sufficient for representing the reason
+ of error in most cases. For instance, any errors around new_sequence()
+ would mean negotiation error, not just *ERROR*.
+ And some subclasses will allocate buffer/memory/surface on new_picture()
+ but it could be failed because of expected error, likely flushing
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1019>
+
+2021-09-21 00:23:13 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gsth265decoder.c:
+ * gst-libs/gst/codecs/gsth265decoder.h:
+ * sys/d3d11/gstd3d11h265dec.cpp:
+ * sys/nvcodec/gstnvh265dec.c:
+ * sys/va/gstvah265dec.c:
+ codecs: h265decoder: Use GstFlowReturn everywhere
+ boolean return value is not sufficient for representing the reason
+ of error in most cases. For instance, any errors around new_sequence()
+ would mean negotiation error, not just *ERROR*.
+ And some subclasses will allocate buffer/memory/surface on new_picture()
+ but it could be failed because of expected error, likely flushing
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1019>
+
+2021-10-02 21:22:23 +0900 Seungha Yang <seungha@centricular.com>
+
+ * ext/closedcaption/bit_slicer.c:
+ * ext/closedcaption/io-sim.c:
+ * ext/closedcaption/misc.h:
+ * ext/closedcaption/sampling_par.c:
+ closedcaption: Fix broken debug function macros with MSVC build
+ warning C4003: not enough arguments for function-like macro invocation 'warning'
+ G_STMT_END macro is extended to the below form with MSVC
+ __pragma(warning(push)) \
+ __pragma(warning(disable:4127)) \
+ while(0) \
+ __pragma(warning(pop))
+ So MSVC preprocessor will extend it further to
+ __pragma(VBI_CAT_LEVEL_LOG(push)) ...
+ Should rename warning() debug macro function therefore.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1018>
+
+2021-10-02 20:12:07 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/mpegtsmux/gstbasetsmux.c:
+ mpegtsmux: basetsmux: Don't try to return value from void function
+ gstbasetsmux.c(1508): warning C4098: 'free_splice': 'void' function returning a value
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1018>
+
+2021-10-03 16:53:54 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvadevice.c:
+ * sys/va/meson.build:
+ va: Make libgudev dependency optional.
+ libgudev is a problematic dependency, particularly in sandboxed
+ environments, such as flatpak.
+ This patch implements a way to get the available VA devices using
+ brute-forced traverse of /dev/drm/renderD* directory. Thus usable in
+ those sandboxed environments.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1027>
+
+2021-10-03 15:45:58 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/va/meson.build:
+ * sys/va/meson.build:
+ va: meson: Move back libgudev dependency to plugin.
+ When move the libgstva, libgudev dependency was moved as part of the
+ library, though it's not use by the library but the plugin. This patch
+ moves back libgudev dependency to the plugin.
+ Also HAVE_LIBDRM is move to the library which is the one who use it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1027>
+
+2021-10-03 19:14:07 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvdecoder.c:
+ * sys/nvcodec/gstnvh264dec.c:
+ nvcodec: nvh264sldec: Add support for interlaced stream
+ Implement missing interlaced stream support
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1026>
+
+2021-10-03 17:41:40 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvh264dec.c:
+ nvcodec: nvh264sldec: Consider additional render delay DPB pictures
+ At least additional 4 pictures are required
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1026>
+
+2021-10-03 17:37:02 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvvp9dec.c:
+ nvcodec: nvvp9sldec: Fix for VP9 profile2 decoding
+ Fix for output video format to be selected correctly
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1026>
+
+2021-10-03 02:14:17 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/msdk/meson.build:
+ msdk: meson: Fix build on Windows
+ subprojects\gst-plugins-bad\sys\msdk\meson.build:160:2: ERROR: Unknown variable "libva_dep".
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1022>
+
+2021-10-03 01:45:57 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11vp9dec.cpp:
+ d3d11: d3d11vp9dec: Fix use_prev_in_find_mv_refs value setting
+ "last_show_frame" should be updated based on
+ GstVp9FrameHeader::show_frame, not show_existing_frame
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1021>
+
+2021-09-18 22:51:53 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gstvp8decoder.c:
+ * gst-libs/gst/codecs/gstvp9decoder.c:
+ codecs: {vp8,vp9}decoder: Drain on new_sequence()
+ Decoder should drain queued frame (if any) and empty DPB before
+ starting new sequence.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/987>
+
+2021-10-01 00:27:42 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvvp8dec.c:
+ * sys/nvcodec/gstnvvp9dec.c:
+ nvcodec: nv{vp8,vp9}sldec: Implement get_preferred_output_delay()
+ Equivalent to that of nvh264sldec. Use render delay in case of non-live
+ pipeline for the better throughput performance.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/987>
+
+2021-10-01 01:00:24 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gstvp8decoder.c:
+ * gst-libs/gst/codecs/gstvp9decoder.c:
+ codecs: {vp8,vp9}decoder: Cleanup drain code
+ Make them consistent with h26x decoder baseclass
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/987>
+
+2021-10-01 02:58:44 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gstvp8decoder.c:
+ codecs: vp8decoder: Fix typo
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/987>
+
+2021-10-02 20:21:41 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gstvp9decoder.c:
+ * gst-libs/gst/codecs/gstvp9decoder.h:
+ codecs: vp9decoder: add support for render delay
+ Some decoding APIs support delayed output for performance reasons.
+ One example would be to request decoding for multiple frames and
+ then query for the oldest frame in the output queue.
+ This also increases throughput for transcoding and improves seek
+ performance when supported by the underlying backend.
+ Introduce support in the vp9 base class, so that backends that
+ support render delays can actually implement it.
+ Co-authored by Seungha Yang <seungha@centricular.com>
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/987>
+
+2021-10-02 19:47:45 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gstvp9decoder.h:
+ codecs: vp9decoder: Fix class struct documentation
+ s/GstVp9Decoder/GstVp9DecoderClass
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/987>
+
+2021-09-30 17:38:33 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/meson.build:
+ va: meson: Update and enhance meson syntax usage.
+ This patch contains two updates:
+ 1. Instead of checking for dependency already checked just to verify a
+ version, we use the dependency version API.
+ 2. Update the deprecated function get_pkgconfig_variable.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/997>
+
+2021-09-30 17:43:09 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/msdk/meson.build:
+ msdk: meson: Don't get dependency variable before it's valid.
+ It's possible to have installed MediaSDK environment
+ package (libmfx-dev in Debian) without libva environment package. This
+ setup will lead to a breakage of meson configuration.
+ The fix is to get the libva's driver directory variable after the
+ dependency is validated as found.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/998>
+
+2021-09-30 13:32:44 +0200 Marc Leeman <m.leeman@televic.com>
+
+ * gst/rist/gstristsink.c:
+ ristsink: set sync to FALSE on RTCP sink
+ See commit 921e9a54: rtpsink: set sync off on rtcp_sink
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/993>
+
+2021-09-30 13:19:40 +0200 Marc Leeman <m.leeman@televic.com>
+
+ * gst/rtp/gstrtpsink.c:
+ rtpsink: set sync off on rtcp_sink
+ When using the following setup (the error can be reproduced using
+ simpler sender pipelines), the receiver resynchronises the clock on RTCP
+ packets. The effect was that a couple seconds were cut out of the
+ playback because an initial RTCP packet was dropped.
+ When sending out all RTCP packets (setting sync=FALSE on the RTCP
+ updsink), the playback is fine.
+ This syncs rtpsink with rtpsrc (where this property was already set).
+ gst-launch-1.0 filesrc location=899-en.mp3 \
+ ! mpegaudioparse \
+ ! mpg123audiodec \
+ ! audioconvert \
+ ! audioresample \
+ ! avenc_g722 \
+ ! rtpg722pay
+ ! rtpsink uri=rtp://239.1.2.3:1234
+ gst-launch-1.0 uridecodebin rtp://239.1.2.3:1234?encoding-name=G722 \
+ ! autoaudiosink
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/993>
+
+2020-09-17 15:06:38 +0200 Marc Leeman <m.leeman@televic.com>
+
+ * gst/rtp/gstrtpsrc.c:
+ * tests/check/elements/rtpsrc.c:
+ rtpmanagerbad: do not set iface on sink
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/994>
+
+2021-08-27 19:19:57 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfdevice.c:
+ * sys/mediafoundation/gstwin32devicewatcher.cpp:
+ * sys/mediafoundation/gstwin32devicewatcher.h:
+ * sys/mediafoundation/meson.build:
+ mfdeviceprovider: Add support for device update
+ Similar to the wasapi2 plugin, GstWinRT library will be used for UWP,
+ and adding new GstWin32DeviceWatcher object implementation for
+ Win32 desktop application.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/947>
+
+2021-08-26 22:38:37 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/wasapi2/gstwasapi2device.c:
+ * sys/wasapi2/gstwasapi2device.h:
+ * sys/wasapi2/meson.build:
+ * sys/wasapi2/plugin.c:
+ wasapi2deviceprovider: Add support for device update
+ ... by using newly implemented GstWinRT library
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/947>
+
+2021-08-26 19:47:51 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/meson.build:
+ * gst-libs/gst/winrt/gstwinrt.h:
+ * gst-libs/gst/winrt/gstwinrtdevicewatcher.cpp:
+ * gst-libs/gst/winrt/gstwinrtdevicewatcher.h:
+ * gst-libs/gst/winrt/meson.build:
+ * gst-libs/gst/winrt/winrt-prelude.h:
+ libs: Introduce GstWinRT library
+ Adding a helper library for various WinRT specific implementations.
+ Currently this library supports only DeviceWatcher abstraction object
+ which can be used for dynamic device add/remove detection.
+ See also
+ https://docs.microsoft.com/en-us/uwp/api/windows.devices.enumeration.devicewatcher?view=winrt-20348
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/947>
+
+2021-09-28 10:11:15 +1000 Brad Hards <bradh@frogmouth.net>
+
+ * README:
+ * RELEASE:
+ doc: update IRC links to OFTC
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/945>
+
+2021-09-18 23:37:20 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11videosink.cpp:
+ * sys/d3d11/gstd3d11window.cpp:
+ d3d11videosink: Add support for crop meta
+ ... when upstream element is d3d11.
+ Note that, if upstream element is not d3d11, crop meta is almost
+ pointless since d3d11videosink will upload video frame to GPU memory
+ in any case.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/933>
+
+2021-09-18 23:37:59 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11videosink.cpp:
+ d3d11videosink: Perform propose_allocation() even when we have no configured window
+ In order to support d3d11 device update, d3d11videosink will configure
+ window on the first buffer. So, there might not be configured
+ window when propose_allocation() is required.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/933>
+
+2021-09-27 15:30:25 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/gs/gstgscommon.cpp:
+ * ext/gs/gstgscommon.h:
+ * ext/gs/gstgssink.cpp:
+ * ext/gs/gstgssrc.cpp:
+ gs: Add support for authenticating via Service Account Credentials
+ This allows authenticating directly with Server Account credentials
+ instead of having it configured on host system separately, and thus
+ allows using arbitrary accounts configured/selected at runtime.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/934>
+
+2021-09-27 14:56:21 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/gs/gstgs.cpp:
+ * ext/gs/gstgscommon.cpp:
+ * ext/gs/gstgscommon.h:
+ * ext/gs/gstgssink.cpp:
+ * ext/gs/gstgssink.h:
+ * ext/gs/gstgssrc.cpp:
+ * ext/gs/gstgssrc.h:
+ gs: Fix indentation and make it consistent
+ Apparently this partially used clang-format's default settings, so let's
+ use that for everything now.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/934>
+
+2021-09-26 01:07:02 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ Back to development
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/925>
+
+2021-09-23 19:30:32 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: Always set SINK/SRC flags
+ webrtcbin can act as a sink/source depending on the SDP later. Without
+ setting this here already, surrounding bins might not notice this and
+ the pipeline configuration might become inconsistent, e.g. with regards
+ to latency.
+ See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/737
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/900>
+
+2021-09-25 00:09:00 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst-libs/gst/mpegts/gst-scte-section.c:
+ * gst-libs/gst/mpegts/gst-scte-section.h:
+ * gst-libs/gst/mpegts/gstmpegtssection.c:
+ * gst/mpegtsdemux/tsdemux.c:
+ mpegts: add missing Since comments after SCTE 35 work
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913>
+
+2021-06-08 23:25:58 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/mpegtsmux/gstbasetsmux.c:
+ basetsmux: use private copy of g_ptr_array_copy
+ This function is only present since glib 2.62
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913>
+
+2021-05-04 14:38:28 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/mpegtsmux/gstbasetsmux.c:
+ basetsmux: fix SCTE pts_adjustment with offsets
+ When there are elements between the demuxer and the muxer that
+ introduce an offset to the running time, or when offsets are
+ set on pads by the application, this shift must be taken into
+ account when calculating the final pts_adjustement.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913>
+
+2021-04-23 01:22:32 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst-libs/gst/mpegts/gst-scte-section.c:
+ * gst-libs/gst/mpegts/gst-scte-section.h:
+ * gst/mpegtsmux/gstbasetsmux.c:
+ basetsmux: rework SCTE section handling to handle passthrough
+ mpegtsmux can receive SCTE sections from two origins: events
+ created by the application, and events forwarded downstream by
+ mpegtsdemux, containing sections that may not have been fully
+ parsed, and additional data to help tsmux translate times to
+ the correct domain, both for requesting keyframes and calculating
+ an accurate pts_adjustment.
+ The complete approach is documented further in a comment above
+ the relevant function.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913>
+
+2021-04-23 01:19:21 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst-libs/gst/mpegts/gstmpegtssection.c:
+ mpegtspacketizer: handle "packetizing" already packetized data
+ .. when the section didn't have a packetizer. This can happen
+ as a result of building a new section from a copy of the original
+ data of another section.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913>
+
+2021-04-23 01:15:08 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/mpegtsdemux/tsdemux.c:
+ * gst/mpegtsdemux/tsdemux.h:
+ tsdemux: switch SCTE 35 sections handling to a passthrough model
+ Instead of modifying the splice times in the incoming sections
+ to running time and expecting eg mpegtsmux to convert those back
+ to its local PES time domain, which might be impossible when
+ those splice times are encrypted or the specification is extended,
+ transmit the needed information to the muxer as separate fields in
+ the event:
+ * A pts offset field can be used by the muxer in order to calculate
+ a final pts_adjustment
+ * A rtime_map can be used by the muxer to determine the correct
+ running times at which it should request keyframes
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913>
+
+2021-04-14 00:27:16 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst-libs/gst/mpegts/gst-scte-section.c:
+ scte-section: add support for packetizing splice_program_flag='0'
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913>
+
+2021-04-13 23:56:06 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst-libs/gst/mpegts/gst-scte-section.c:
+ scte-section: add support for packetizing schedule events
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913>
+
+2021-04-13 23:42:54 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst-libs/gst/mpegts/gst-scte-section.c:
+ scte-section: Add TODO for porting to gst_bit_*
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913>
+
+2021-04-13 23:38:16 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst-libs/gst/mpegts/gst-scte-section.c:
+ * gst-libs/gst/mpegts/gst-scte-section.h:
+ scte-section: add support for parsing splice components
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913>
+
+2021-04-13 20:51:09 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst-libs/gst/mpegts/gst-scte-section.c:
+ * gst-libs/gst/mpegts/gst-scte-section.h:
+ scte-section: add support for SCHEDULE commands
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913>
+
+2021-04-13 20:47:36 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst-libs/gst/mpegts/gst-scte-section.c:
+ scte-section: fix typo
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913>
+
+2021-04-13 20:44:54 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst-libs/gst/mpegts/gst-scte-section.c:
+ * gst-libs/gst/mpegts/gst-scte-section.h:
+ gst-scte-section: implement partial parsing
+ In cases where either the SIT is encrypted, or an unknown
+ command is encountered, we still want to send an event downstream.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913>
+
+2021-04-06 17:57:42 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst-libs/gst/mpegts/gst-scte-section.c:
+ * gst-libs/gst/mpegts/gst-scte-section.h:
+ * tests/examples/mpegts/ts-scte-writer.c:
+ scte35-section: semantic API break
+ Document that the constructors for the splice events expect
+ a running time, as users of the API can not be expected to
+ predict the appropriate local PTS.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913>
+
+2021-04-06 17:37:28 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst-libs/gst/mpegts/gst-scte-section.c:
+ scte-section: add support for packetizing time_signal splices
+ time_signal splices are trivial, they only contain a splice_time()
+ and all the relevant information is carried in descriptors.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913>
+
+2021-04-06 00:58:33 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/mpegtsmux/gstbasetsmux.c:
+ * gst/mpegtsmux/gstbasetsmux.h:
+ basetsmux: extend SCTE 35 support
+ Makes it possible to support passing SCTE 35 cue points from
+ demuxer to muxer, while preserving correct timing.
+ This will also improve ex nihilo cue points injection, as splice
+ times and durations are now interpreted as running time values,
+ and may trigger key unit requests.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913>
+
+2021-04-06 00:36:43 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst/mpegtsdemux/tsdemux.c:
+ * gst/mpegtsdemux/tsdemux.h:
+ tsdemux: Expose send-scte35-events property
+ When enabled, SCTE 35 sections (eg ad placement opportunities)
+ are forwarded as events donwstream.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913>
+
+2021-04-06 00:26:50 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/mpegtsdemux/mpegtsbase.c:
+ * gst/mpegtsdemux/mpegtsbase.h:
+ mpegtsbase: expose vmethod to let subclass handle sections
+ This can be used by tsdemux to handle and forward SCTE 35
+ sections.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913>
+
+2021-04-06 00:23:09 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst-libs/gst/mpegts/gstmpegtssection.c:
+ * gst-libs/gst/mpegts/gstmpegtssection.h:
+ mpegtssection: expose event constructor
+ This allows the demuxer to forward sections of interest downstream,
+ for example SCTE 35 splice information. These can then be reinjected
+ appropriately by a muxer for example.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913>
+
+2021-04-06 00:21:58 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst-libs/gst/mpegts/gst-scte-section.h:
+ scte-section.h: fix type macros
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913>
+
=== release 1.19.2 ===
2021-09-23 01:34:47 +0100 Tim-Philipp Müller <tim@centricular.com>
=== release 0.10.21 ===
+('0', '10', '21')
2011-01-21 21:13:22 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
* ChangeLog:
every file but apart from that no changes compared to the latest
SVN versions happened.
-=== release 0.10.21 ===
-
2008-09-01 16:05:45 +0000 Edward Hervey <bilboed@bilboed.com>
tests/check/elements/audioresample.c: Now that GstBaseTransform is 'fixed' ... remove cruft from tests.
(deinterleave_suite):
Add some more deinterleave unit test bits I had locally.
-=== release 0.10.20 ===
-
2008-05-14 13:57:41 +0000 Tim-Philipp Müller <tim@centricular.net>
gst/audioresample/gstaudioresample.c: Revert previous change which made basetransform handle buffer_alloc and which b...
Use AG_GST_CHECK_PLUGIN and AG_GST_DISABLE_PLUGIN to simplify which
plug-ins are included/excluded. (#498222)
-=== release 0.10.19 ===
-
2008-03-03 06:04:02 +0000 Sebastian Dröge <slomo@circular-chaos.org>
Correct all relevant warnings found by the sparse semantic code analyzer. This include marking several symbols static...
(gst_speex_resample_update_state):
Only post the latency message if we have a resampler state already.
-=== release 0.10.17 ===
-
2007-11-23 10:21:11 +0000 Sebastian Dröge <slomo@circular-chaos.org>
gst/audioresample/gstaudioresample.c: Implement latency query.
work with earlier versions due to GstChildProxy brokeness).
Also up requirements to last released core/base.
-=== release 0.10.15 ===
-
2007-04-27 15:33:46 +0000 Julien Moutte <julien@moutte.net>
ext/theora/theoradec.c: Calculate buffer duration correctly to generate a perfect stream (#433888).
Original commit message from CVS:
move amrwb code
-=== release 0.10.12 ===
-
2007-01-04 12:49:47 +0000 Thomas Vander Stichele <thomas@apestaart.org>
configure.ac: split out GST_CFLAGS into GST_PLUGINS_BASE_CFLAGS and GST_CFLAGS so that GST_BASE_CFLAGS can go inbetwe...