summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.com>2020-06-19 19:22:18 +0100
committerTim-Philipp Müller <tim@centricular.com>2020-06-19 19:22:22 +0100
commit88ace3befbc7f5acd188205facd9ca720c776851 (patch)
tree69527459f7a131711a2b140d797e4a81ebb085ad
parenta8ce8db982998fc004bcdd3bf062f949a2a1e12e (diff)
Release 1.17.11.17.1
-rw-r--r--ChangeLog16956
-rw-r--r--NEWS1302
-rw-r--r--RELEASE15
-rw-r--r--docs/plugins/gst_plugins_cache.json242
-rw-r--r--gst-plugins-bad.doap12
-rw-r--r--meson.build4
6 files changed, 17170 insertions, 1361 deletions
diff --git a/ChangeLog b/ChangeLog
index c0afef693..9b4abb9ab 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16957 @@
+=== release 1.17.1 ===
+
+2020-06-19 19:22:18 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ChangeLog:
+ * NEWS:
+ * RELEASE:
+ * gst-plugins-bad.doap:
+ * meson.build:
+ Release 1.17.1
+
+2020-06-19 17:20:02 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/srt/gstsrt.c:
+ srt: add "empty" subclasses for deprecated srt{client,server}{src,sink}
+ The doc system gets confused when we register the exact same
+ class as multiple elements, so make a subclass for each.
+ Also wrap registration of deprecated elements with #ifndef GST_REMOVE_DEPRECATED.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1354>
+
+2020-06-19 15:31:04 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/x265/gstx265enc.c:
+ x265: ignore tune property when diffing generated docs
+ Unfortunately it means those tune enums don't show up in
+ the docs then, but if that's how it's gotta be..
+ (Problem at hand is that on Tim's machine x265enc gets an
+ tune=animation and on the CI machine this doesn't show up.)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1354>
+
+2020-06-19 13:08:10 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ docs: update plugins cache
+ Add some more plugins, update for new markers.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1354>
+
+2020-06-19 13:05:38 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ext/directfb/dfbvideosink.c:
+ * ext/openni2/gstopenni2src.cpp:
+ Mark more plugin GTypes as plugin API
+ To appease the CI gods.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1354>
+
+2020-06-17 09:31:09 +0200 Antonio Ospite <ao2@ao2.it>
+
+ * tools/gst-project-maker:
+ gst-project-maker: use $0 for the program name in usage and help text
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/184>
+
+2020-01-17 17:49:47 +0100 Antonio Ospite <ao2@ao2.it>
+
+ * tools/gst-project-maker:
+ gst-project-maker: set up a meson project instead of an autotools one
+ Now that autotools has been removed generate a meson project template in
+ gst-project-maker.
+ There are some differences with the autotools project
+ 1. gstreamer-controller-1.0 is not added to the default dependencies.
+ 2. The '-Wall' option is not set explicitly, meson can handle that.
+ 3. The flags in GST_PLUGIN_LDFLAGS have not been ported to meson as
+ they are not necessary anymore.
+ The generated project requires meson 0.53.0 for the 'fs' module. It's up
+ to the user to remove that part in case compatibility with older
+ versions of meson is desired.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/184>
+
+2019-02-01 17:05:23 +0100 Antonio Ospite <ao2@ao2.it>
+
+ * tools/gst-project-maker:
+ gst-project-maker: fix comment referring to plug-in instead of program
+ Fix the comment in $basedir/tools/Makefile.am which wrongly refers to
+ plug-in while the file in tool/ is about the executable program.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/184>
+
+2019-02-01 17:04:19 +0100 Antonio Ospite <ao2@ao2.it>
+
+ * tools/gst-app-maker:
+ gst-app-maker: fix program name and arguments in usage text and help text
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/184>
+
+2020-06-16 00:12:03 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfsourceobject.c:
+ * sys/mediafoundation/gstmfsourceobject.h:
+ * sys/mediafoundation/gstmfsourcereader.cpp:
+ * sys/mediafoundation/gstmfutils.cpp:
+ * sys/mediafoundation/gstmfvideosrc.c:
+ mfvideosrc: Add support for jpeg on Win32 application
+ Enable reading jpeg data from webcam if it's supported.
+ Note that this would be enabled only for Win32.
+ For UWP, we need to research more about how to support jpeg.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1342>
+
+2020-06-16 00:11:03 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfcapturewinrt.cpp:
+ mfvideosrc: Fix wrong casting
+ Don't cast ISoftwareBitmap to IMFMediaBuffer
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1342>
+
+2020-06-14 04:12:42 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/mediacapturewrapper.cpp:
+ mfvideosrc: Add support YUY2 format for UWP
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1342>
+
+2020-06-14 03:13:04 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfcaptureengine.cpp:
+ * sys/mediafoundation/gstmfcaptureengine.h:
+ * sys/mediafoundation/gstmfdevice.c:
+ * sys/mediafoundation/gstmfvideosrc.c:
+ * sys/mediafoundation/meson.build:
+ mediafoundation: Drop IMFCaptureEngine implementation
+ It was introduced for later use of its enhanced feature over IMFSourceReader
+ such as taking photo with video preview, audio/video capturing at
+ the same time, etc. But currently it's not our use case, and it would
+ be maintenance burden.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1342>
+
+2020-06-17 10:57:00 +0900 Hosang Lee <hosang10.lee@lge.com>
+
+ * ext/smoothstreaming/gstmssdemux.c:
+ mssdemux: ignore unrecognized stream
+ Only create pads for steams with caps that can be recognized
+ from the fourcc.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1348>
+
+2020-04-07 21:47:22 +1000 Jan Schmidt <jan@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst/dvbsubenc/gstdvbsubenc-util.c:
+ * gst/dvbsubenc/gstdvbsubenc.c:
+ * gst/dvbsubenc/gstdvbsubenc.h:
+ * gst/dvbsubenc/libimagequant/CHANGELOG:
+ * gst/dvbsubenc/libimagequant/COPYRIGHT:
+ * gst/dvbsubenc/libimagequant/README.md:
+ * gst/dvbsubenc/libimagequant/blur.c:
+ * gst/dvbsubenc/libimagequant/blur.h:
+ * gst/dvbsubenc/libimagequant/libimagequant.c:
+ * gst/dvbsubenc/libimagequant/libimagequant.h:
+ * gst/dvbsubenc/libimagequant/mediancut.c:
+ * gst/dvbsubenc/libimagequant/mediancut.h:
+ * gst/dvbsubenc/libimagequant/mempool.c:
+ * gst/dvbsubenc/libimagequant/mempool.h:
+ * gst/dvbsubenc/libimagequant/nearest.c:
+ * gst/dvbsubenc/libimagequant/nearest.h:
+ * gst/dvbsubenc/libimagequant/pam.c:
+ * gst/dvbsubenc/libimagequant/pam.h:
+ * gst/dvbsubenc/libimagequant/viter.c:
+ * gst/dvbsubenc/libimagequant/viter.h:
+ * gst/dvbsubenc/meson.build:
+ * gst/meson.build:
+ * meson_options.txt:
+ dvbsubenc: Add DVB Subtitle encoder
+ Add an element that converts AYUV video frames to a DVB
+ subpicture stream.
+ It's fairly simple for now. Later it would be good to support
+ input via a stream that contains only GstVideoOverlayComposition
+ meta.
+ The element searches each input video frame for the largest
+ sub-region containing non-transparent pixels and encodes that
+ as a single DVB subpicture region. It can also do palette
+ reduction of the input frames using code taken from
+ libimagequant.
+ There are various FIXME for potential improvements for now, but
+ it works.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1227>
+
+2020-06-16 19:26:13 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11utils.c:
+ d3d11: Don't assume response of context query has valid d3d11 device context
+ Peer elements should return FALSE if d3d11 device context is unavailable
+ but it might happen for some reason (e.g., wrong implementation or so)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1347>
+
+2020-06-15 21:10:09 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11decoder.c:
+ * sys/d3d11/gstd3d11decoder.h:
+ * sys/d3d11/gstd3d11h264dec.c:
+ * sys/d3d11/gstd3d11h265dec.c:
+ * sys/d3d11/gstd3d11vp8dec.c:
+ * sys/d3d11/gstd3d11vp9dec.c:
+ d3d11decoder: Disable zero-copy for blacklisted device
+ Should enable it for verified devices. For now, Xbox is blacklisted
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1339>
+
+2020-06-12 20:34:49 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11decoder.c:
+ d3d11decoder: Adjust alignment constraint for Xbox device
+ XBox doesn't seem to support 128 bytes alignment for 4K HEVC
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1339>
+
+2020-06-12 20:18:53 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11window.cpp:
+ d3d11window: Do not configure video processor for Xbox device
+ Disable video processor for Xbox until it's verified
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1339>
+
+2020-06-12 19:07:07 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11utils.c:
+ * sys/d3d11/gstd3d11utils.h:
+ d3d11utils: Add a helper method for checking Xbox device
+ Required for some cases to work around device specific issue
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1339>
+
+2020-06-12 20:11:29 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11videosink.c:
+ d3d11videosink: Use GPU memory copy if possible
+ Even if fallback buffer is required (e.g., shader resource view is unavailable),
+ use direct GPU memory copy if possible. It must be much faster than
+ system memory copy approach.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1339>
+
+2020-06-12 19:44:01 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11videosink.c:
+ d3d11videosink: Ensure shader resource view of fallback buffer
+ SRV must be configured for color conversion
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1339>
+
+2020-06-12 19:08:34 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11window.cpp:
+ d3d11window: Fix typo "configureed"
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1339>
+
+2019-11-21 13:50:21 +0900 Jun-ichi OKADA <okada@abt.jp>
+
+ * 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: Add dxgiscreencapsrc element.
+ This element uses the Desktop Duplication API to capture the desktop screen at high speed.
+ It supports Windows 8 or later.
+ It has the following features compared to other elements:
+ * Runs faster.
+ * It works in High DPI environment.
+ * Draws an accurate mouse cursor.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/863>
+
+2020-05-14 11:03:49 +0800 Xu Guangxin <guangxin.xu@intel.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ * sys/msdk/gstmsdkdec.h:
+ * sys/msdk/gstmsdkvc1dec.c:
+ msdkdec: hold a reference for the surfaces locked by msdk
+ previous code releases GstBuffer too earlier. so we will see
+ ERROR default gstmsdkvideomemory.c:77:gst_msdk_video_allocator_get_surface: failed to get surface available
+ ERROR msdkbufferpool gstmsdkbufferpool.c:270:gst_msdk_buffer_pool_alloc_buffer:<msdkbufferpool0> failed to create new MSDK memory
+ We need to hold GstBuffer reference for msdk if the surfaced locked by msdk.
+ step to reproduce.
+ 1. ffmpeg -f lavfi -i testsrc=duration=10:size=320x240:rate=30 -pix_fmt yuv420p -c:v libx265 test.265
+ 2. GST_GL_PLATFORM=egl gst-launch-1.0 -v filesrc location=test.265 ! h265parse ! msdkh265dec ! queue ! glimagesink
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1277>
+
+2020-06-12 15:48:14 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/shaders/ayuv_to_rgb.frag:
+ * ext/vulkan/shaders/bin2array.py:
+ * ext/vulkan/shaders/color_convert_generic.glsl:
+ * ext/vulkan/shaders/identity.frag:
+ * ext/vulkan/shaders/identity.vert:
+ * ext/vulkan/shaders/nv12_to_rgb.frag:
+ * ext/vulkan/shaders/rgb_to_ayuv.frag:
+ * ext/vulkan/shaders/rgb_to_nv12.frag:
+ * ext/vulkan/shaders/rgb_to_yuy2.frag:
+ * ext/vulkan/shaders/swizzle.frag:
+ * ext/vulkan/shaders/swizzle.glsl:
+ * ext/vulkan/shaders/swizzle_and_clobber_alpha.frag:
+ * ext/vulkan/shaders/upsample_ayuv.glsl:
+ * ext/vulkan/shaders/upsample_nv12.glsl:
+ * ext/vulkan/shaders/upsample_yuy2.glsl:
+ * ext/vulkan/shaders/view_convert.frag:
+ * ext/vulkan/shaders/view_defines.h:
+ * ext/vulkan/shaders/yuy2_to_rgb.frag:
+ vulkan/shaders: add explicit license headers
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1338>
+
+2020-06-12 15:47:01 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/shaders/bin2array.py:
+ vulkan/shaders: manually indent bin2array
+ Looks much nicer with some semblance of code formatting
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1338>
+
+2020-06-12 04:59:47 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gsth265picture.c:
+ codecs: h265picture: Don't leak pic_list GArray
+ Equivalent to the commit 7b8c071f9c4a675f6b53e373c346d9e1f866f818
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1337>
+
+2020-06-11 19:35:29 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst/meson.build:
+ * gst/yadif/gstyadif.c:
+ * gst/yadif/gstyadif.h:
+ * gst/yadif/meson.build:
+ * gst/yadif/vf_yadif.c:
+ * gst/yadif/yadif.c:
+ * gst/yadif/yadif_template.c:
+ * meson_options.txt:
+ yadif: remove plugin, there's now deinterlace method=yadif
+ Plugin code was still the GPL version, and the
+ functionality has now been moved into the deinterlace
+ element in gst-plugins-good as method=yadif (and LGPL).
+ See https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/444
+ and https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/621
+ Closes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/216
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/463
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1336>
+
+2020-06-11 01:47:14 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/wasapi2/gstwasapi2client.cpp:
+ wasapi2: Fallback to IAudioClient interface if IAudioClient3 API is unavailable
+ When default device is selected, IAudioClient3 API doesn't look like
+ available.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1332>
+
+2020-06-11 13:50:38 +0300 Vivia Nikolaidou <vivia@ahiru.eu>
+
+ * gst/interlace/gstinterlace.c:
+ interlace: Fix crash with empty caps in setcaps
+ If the src_peer_caps are EMPTY (e.g. negotiation failed somewhere), the
+ assertion inside gst_video_info_from_caps would fail and the whole
+ pipeline would crash. Check for gst_caps_is_empty before
+ gst_video_info_from_caps and gracefully fail if it's empty.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1333>
+
+2020-06-09 22:38:28 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/wasapi/gstwasapisink.c:
+ * sys/wasapi/gstwasapisink.h:
+ * sys/wasapi/gstwasapisrc.c:
+ * sys/wasapi/gstwasapisrc.h:
+ wasapi: Fix possible deadlock while downwards state change
+ IAudioClient::Stop() doesn't seem to wake up the event handle,
+ then read() or write() could be blocked forever by WaitForSingleObject.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1329>
+
+2020-06-09 15:31:56 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ docs: Update plugins cache
+
+2020-06-09 10:53:17 +0800 Haihua Hu <jared.hu@nxp.com>
+
+ * ext/wayland/wldisplay.c:
+ waylandsink: add wl_registry.global_remove listener
+ when hotplug display, wayland client will call this listener
+ to notify client do clean up. Temporarily set a dummy function
+ here to avoid app abort
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1327>
+
+2020-06-08 14:56:31 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/srt/gstsrtobject.c:
+ srt: doc: Add missing gst_type_mark_as_plugin_api
+
+2020-06-08 13:03:09 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/lv2/gstlv2utils.c:
+ docs: Mark lv2 runtime generated enums as plugins API types
+
+2020-06-08 12:30:59 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/faac/gstfaac.c:
+ * ext/vulkan/vksink.c:
+ * gst-libs/gst/vulkan/gstvkphysicaldevice.c:
+ docs: Add some more plugin API types
+ And allow creating vulkan device object without specifying an instance
+ so it can be introspected.
+
+2020-06-08 09:52:30 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/vulkan/vkviewconvert.c:
+ docs: Update plugins cache
+
+2020-06-09 10:48:06 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ v4l2slh264dec: Fix reading mode and start code type
+ These two controls are not pointer based, so we don't need to pass any size or
+ pointer and need to copy the values afterward. This fixes H264 decoding
+ regression with Hantro and RKVDEC drivers.
+ Fixes 037730a787c6cdeeee5779c1834315c1ca764505
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1330>
+
+2020-06-08 23:46:43 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmftransform.cpp:
+ mftransform: Fix deadlock when MFT requests processing output twice
+ This sequence of event/data flow might happen
+ 1) Initially we have one pending output event
+ 1-1) Then, process the pending output data
+ 2) No pending input event, then we should wait new pending input event
+ 2-1) Wakeup by new pending event (but it's pending output event)
+ In above case, MFT will not report new pending input event
+ if pending output is not processed.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1325>
+
+2020-06-08 19:22:07 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmftransform.cpp:
+ mftransform: Add some debug log
+ Add some trace level log for debugging
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1325>
+
+2020-05-19 10:27:18 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+ adaptivedemux: Handle live duration queries
+ Handle it the same way live sources would, that it by handling the query and
+ return an unknown duration.
+ Fixes #566
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1279>
+
+2020-05-11 01:53:11 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tests/check/elements/wasapi2.c:
+ * tests/check/meson.build:
+ tests: wasapi2: Add unit test for reusing wasapisrc
+ Test state change between playing and null and playing again
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1264>
+
+2020-05-28 05:09:47 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/wasapi2/gstwasapi2device.c:
+ * sys/wasapi2/gstwasapi2device.h:
+ * sys/wasapi2/meson.build:
+ * sys/wasapi2/plugin.c:
+ wasapi2: Add device provider implementation
+ Similar to device provider implementation of wasapi plugin,
+ this implementation supports only static probing.
+ But we can implement runtime device add/remove/update
+ monitoring using DeviceWatcher interface later.
+ See https://docs.microsoft.com/en-us/uwp/api/windows.devices.enumeration.devicewatcher
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1264>
+
+2020-05-26 05:17:41 +0900 Seungha Yang <seungha@centricular.com>
+
+ * meson_options.txt:
+ * sys/meson.build:
+ * sys/wasapi2/AsyncOperations.h:
+ * sys/wasapi2/gstwasapi2client.cpp:
+ * sys/wasapi2/gstwasapi2client.h:
+ * sys/wasapi2/gstwasapi2sink.c:
+ * sys/wasapi2/gstwasapi2sink.h:
+ * sys/wasapi2/gstwasapi2src.c:
+ * sys/wasapi2/gstwasapi2src.h:
+ * sys/wasapi2/gstwasapi2util.c:
+ * sys/wasapi2/gstwasapi2util.h:
+ * sys/wasapi2/meson.build:
+ * sys/wasapi2/plugin.c:
+ wasapi2: Introduce new WASAPI plugin
+ Add a new wasapi implementation mainly to support UWP application.
+ Basically the core logic of this plugin is almost identical to
+ existing wasapi plugin, but main target is Windows 10 (+ UWP).
+ Since this plugin uses WinRT APIs, this plugin most likely might not
+ work Windows 8 or lower.
+ Compared with existing wasapi plugin, additional features of this plugin are
+ * Fully compatible with both Windows 10 desktop and UWP application
+ * Supports automatic stream routing (auto fallback when device was removed)
+ * Support device level mute/volume control
+ But some features of existing wasapi plugin are not implemented
+ in this plugin yet
+ * Exclusive streaming mode is not supported
+ * Loopback feature is not implemented
+ * Cross-compile is not possible with current mingw toolchain
+ (meaning that MSVC and Windows 10 SDK are required to build this plugin)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1264>
+
+2020-06-06 21:15:34 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfvideoenc.cpp:
+ mfvideoenc: Set PAR to output IMFMediaType
+ We've set it to input IMFMediaType but not for output.
+ So, if PAR is not 1:1, the input IMFMediaType will be accepted
+ by MFT (default is 1:1).
+ The PAR of input/output IMFMediaType must be identical
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1322>
+
+2020-06-06 21:01:24 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmftransform.cpp:
+ mftransform: Don't try to drain if MFT is not running
+ Otherwise MFT will be blocked forever as no event can be generated by
+ IMFMediaEventGenerator.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1322>
+
+2020-06-06 00:40:42 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * ext/aom/gstav1enc.c:
+ * ext/closedcaption/gstceaccoverlay.c:
+ * ext/colormanagement/gstlcms.c:
+ * ext/curl/gstcurlhttpsrc.c:
+ * ext/curl/gstcurlsshsink.c:
+ * ext/dash/gstdashsink.c:
+ * ext/dc1394/gstdc1394src.c:
+ * ext/dtls/plugin.c:
+ * ext/mpeg2enc/gstmpeg2encoptions.cc:
+ * ext/mplex/gstmplexjob.cc:
+ * ext/opencv/gstcameracalibrate.cpp:
+ * ext/opencv/gstcvsmooth.cpp:
+ * ext/opencv/gstdewarp.cpp:
+ * ext/opencv/gstdisparity.cpp:
+ * ext/opencv/gstfaceblur.cpp:
+ * ext/opencv/gstfacedetect.cpp:
+ * ext/opencv/gstretinex.cpp:
+ * ext/opencv/gstsegmentation.cpp:
+ * ext/opencv/gstskindetect.cpp:
+ * ext/openh264/gstopenh264enc.cpp:
+ * ext/openjpeg/gstopenjpegenc.c:
+ * ext/srtp/gstsrtp.c:
+ * ext/voamrwbenc/gstvoamrwbenc.c:
+ * ext/webp/gstwebpenc.c:
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtcdsp/gstwebrtcdsp.cpp:
+ * ext/x265/gstx265enc.c:
+ * gst-libs/gst/audio/gstnonstreamaudiodecoder.c:
+ * gst/adpcmenc/adpcmenc.c:
+ * gst/audiomixmatrix/gstaudiomixmatrix.c:
+ * gst/audiovisualizers/gstspacescope.c:
+ * gst/audiovisualizers/gstwavescope.c:
+ * gst/camerabin2/gstcamerabin2.c:
+ * gst/coloreffects/gstcoloreffects.c:
+ * gst/debugutils/gstchecksumsink.c:
+ * gst/debugutils/gstclockselect.c:
+ * gst/debugutils/gstcompare.c:
+ * gst/debugutils/gstfakevideosink.c:
+ * gst/fieldanalysis/gstfieldanalysis.c:
+ * gst/geometrictransform/gstgeometrictransform.c:
+ * gst/geometrictransform/gstmirror.c:
+ * gst/interlace/gstinterlace.c:
+ * gst/mpegtsmux/gstbasetsmux.c:
+ * gst/mxf/mxfmux.c:
+ * gst/netsim/gstnetsim.c:
+ * gst/rawparse/gstaudioparse.c:
+ * gst/rist/gstristsink.c:
+ * gst/rtmp2/gstrtmp2.c:
+ * gst/timecode/gstavwait.c:
+ * gst/timecode/gsttimecodestamper.c:
+ * gst/yadif/gstyadif.c:
+ * sys/decklink/gstdecklink.cpp:
+ * sys/dvb/gstdvbsrc.c:
+ * sys/uvch264/gstuvch264_src.c:
+ plugins: uddate gst_type_mark_as_plugin_api() calls
+
+2020-06-05 22:39:54 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11overlaycompositor.c:
+ d3d11overlaycompositor: Fix wrong Y position calculation
+ The Y coordinate of vertex and screen/image are opposite
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1319>
+
+2020-06-04 13:33:59 +0200 cketti <ck@cketti.de>
+
+ * ext/curl/gstcurlsmtpsink.c:
+ curlsmtpsink: Use correct email date format
+ See https://www.rfc-editor.org/rfc/rfc5322.html#section-3.3
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1317>
+
+2020-06-02 18:07:10 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/closedcaption/gstccconverter.c:
+ ccconverter: signal cea608 padding as invalid
+ Outputting a valid but null cea608 byte pair may cause some issues with
+ some checksum packets.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1318>
+
+2020-06-02 17:35:00 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/closedcaption/gstccconverter.c:
+ ccconverter: also copy buffer metadata when draining
+ Fixes buffers without PTS/DTS/meta/etc when receiving an EOS with data
+ still stored in the internal scratch buffer.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1318>
+
+2020-06-02 17:33:07 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/closedcaption/gstccconverter.c:
+ ccconverter: Output the limit hit in debug lines
+ Fix two case of the input triplet limit not applying in cea608 -> cdp
+ conversion.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1318>
+
+2020-06-03 18:38:58 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/meson.build:
+ doc: Require hotdoc >= 0.11.0
+
+2020-06-02 15:06:38 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * ext/webrtc/gstwebrtcice.c:
+ doc: Fix spelling of GstWebRTCICE
+
+2020-05-27 16:01:42 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ docs: Update gst_plugins_cache.json
+
+2020-06-02 12:51:35 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/debugutils/gstclockselect.c:
+ clockselect: Don't register GstClockSelectClockId multiple times
+
+2020-05-31 10:18:00 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/aom/gstav1enc.c:
+ * ext/closedcaption/gstceaccoverlay.c:
+ * ext/colormanagement/gstlcms.c:
+ * ext/curl/gstcurlhttpsrc.c:
+ * ext/curl/gstcurlsshsink.c:
+ * ext/dash/gstdashsink.c:
+ * ext/dc1394/gstdc1394src.c:
+ * ext/dtls/plugin.c:
+ * ext/mpeg2enc/gstmpeg2encoptions.cc:
+ * ext/mplex/gstmplexjob.cc:
+ * ext/opencv/gstcameracalibrate.cpp:
+ * ext/opencv/gstcvsmooth.cpp:
+ * ext/opencv/gstdewarp.cpp:
+ * ext/opencv/gstdisparity.cpp:
+ * ext/opencv/gstfaceblur.cpp:
+ * ext/opencv/gstfacedetect.cpp:
+ * ext/opencv/gstretinex.cpp:
+ * ext/opencv/gstsegmentation.cpp:
+ * ext/opencv/gstskindetect.cpp:
+ * ext/openh264/gstopenh264enc.cpp:
+ * ext/openjpeg/gstopenjpegenc.c:
+ * ext/srtp/gstsrtp.c:
+ * ext/voamrwbenc/gstvoamrwbenc.c:
+ * ext/webp/gstwebpenc.c:
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtcdsp/gstwebrtcdsp.cpp:
+ * ext/x265/gstx265enc.c:
+ * gst-libs/gst/audio/gstnonstreamaudiodecoder.c:
+ * gst/adpcmenc/adpcmenc.c:
+ * gst/audiomixmatrix/gstaudiomixmatrix.c:
+ * gst/audiovisualizers/gstspacescope.c:
+ * gst/audiovisualizers/gstwavescope.c:
+ * gst/camerabin2/gstcamerabin2.c:
+ * gst/coloreffects/gstcoloreffects.c:
+ * gst/debugutils/gstchecksumsink.c:
+ * gst/debugutils/gstclockselect.c:
+ * gst/debugutils/gstcompare.c:
+ * gst/debugutils/gstfakevideosink.c:
+ * gst/fieldanalysis/gstfieldanalysis.c:
+ * gst/geometrictransform/gstgeometrictransform.c:
+ * gst/geometrictransform/gstmirror.c:
+ * gst/interlace/gstinterlace.c:
+ * gst/mpegtsmux/gstbasetsmux.c:
+ * gst/mxf/mxfmux.c:
+ * gst/netsim/gstnetsim.c:
+ * gst/rawparse/gstaudioparse.c:
+ * gst/rist/gstristsink.c:
+ * gst/rtmp2/gstrtmp2.c:
+ * gst/timecode/gstavwait.c:
+ * gst/timecode/gsttimecodestamper.c:
+ * gst/yadif/gstyadif.c:
+ * sys/decklink/gstdecklink.cpp:
+ * sys/dvb/gstdvbsrc.c:
+ * sys/uvch264/gstuvch264_src.c:
+ plugins: Use gst_type_mark_as_plugin_api() for all non-element plugin types
+
+2020-06-02 18:29:16 -0300 Peter Workman <peter@onsetcommunication.com>
+
+ * ext/srt/gstsrtobject.c:
+ srtobject: continue polling or report error on failed receive
+ fixes #1277
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1260>
+
+2020-06-03 17:49:41 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3dvideosink/d3dvideosink.c:
+ d3dvideosink: Use secondary rank
+ d3dvideosink will be replaced by d3d11videosink
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1311>
+
+2020-05-30 04:56:58 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/plugin.c:
+ d3d11videosink: Assign primary rank
+ d3d11videosink has an advantage over d3dvideosink, such as
+ * Zero-copy playback with d3d11 decoders
+ * HDR rendering with 10-bit format/swapchain support
+ * UWP support
+ * Any system memory alignment/padding can be supported
+ * User can select target GPU device
+ And old d3dvideosink's functionality (e.g., navigation event, overlaycomposition)
+ can be covered by d3d11videosink
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1311>
+
+2020-06-03 10:32:00 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/webrtc/datachannel.c:
+ * gst-libs/gst/webrtc/datachannel.h:
+ webrtc: Add `Since: 1.18` markers to the new datachannel library API
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1315>
+
+2020-05-15 16:51:46 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * ext/srt/gstsrtobject.c:
+ srt: Make logging regarding callers more useful
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1273>
+
+2020-06-01 14:46:03 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/webrtcdatachannel.c:
+ * ext/webrtc/webrtcdatachannel.h:
+ * gst-libs/gst/webrtc/datachannel.c:
+ * gst-libs/gst/webrtc/datachannel.h:
+ * gst-libs/gst/webrtc/meson.build:
+ * gst-libs/gst/webrtc/webrtc.h:
+ * gst-libs/gst/webrtc/webrtc_fwd.h:
+ webrtc: Add GstWebRTCDataChannel to the library API
+ This makes it more discoverable for bindings and allows bindings to
+ generate static API for the signals and functions.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1168
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1313>
+
+2020-05-29 22:21:10 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkimagememory.c:
+ vulkanimagememory: fix use-after-free releasing a view
+ If the view has the last reference to the image, then
+ gst_clear_mini_object will destroy the image and the lock used in the
+ next line.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1314>
+
+2020-05-29 22:17:24 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkimagememory.c:
+ vkimagememory: actually check the length of a ptr array
+ Not it's value is > 0 which should always be true.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1314>
+
+2020-05-28 11:51:28 -0700 Ederson de Souza <ederson.desouza@intel.com>
+
+ * ext/avtp/meson.build:
+ avtp: Ensure that the avtp plugin is only built on Linux
+ It uses some Linux only features. This also prevents gst-build trying to
+ get libavtp on non-Linux environments.
+
+2020-05-29 11:36:06 -0700 Ederson de Souza <ederson.desouza@intel.com>
+
+ * tests/check/elements/avtpcrfcheck.c:
+ * tests/check/elements/avtpcrfsync.c:
+ * tests/check/elements/avtpcrfutil.c:
+ * tests/check/elements/avtpcvfpay.c:
+ tests/avtp: Plug some (more) leaks
+ Some leaks were introduced in new tests - this patch fix them.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1312>
+
+2020-04-08 14:40:56 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/gstmsdkh265enc.c:
+ msdkh265enc: add support 12-bit 420 encoding
+ P016 is used for 12-bit encoding in MediaSDK, so the Shift flag is set
+ in the mfx parameters
+ Sample pipeline:
+ gst-launch-1.0 videotestsrc ! video/x-raw,format=P012_LE ! msdkh265enc ! \
+ fakesink
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1174>
+
+2020-05-19 14:59:25 +0800 Xu Guangxin <guangxin.xu@intel.com>
+
+ * sys/msdk/gstmsdkvpp.c:
+ * sys/msdk/gstmsdkvpp.h:
+ msdkvpp: fix "failed to create new MSDK memory"
+ all msdk output surfaces come from out_alloc_resp, so the buffer count is not resizable.
+ we need set min_buffers, max_buffers to same size.
+ steps to reproduce
+ 1. ffmpeg -f lavfi -i testsrc=duration=10:size=320x240:rate=30:decimals=3 -pix_fmt yuv420p -c:v libx265 ~/bits/hevc/test.265
+ 2. GST_GL_PLATFORM=egl gst-launch-1.0 -v filesrc location=~/bits/hevc/test.265 ! h265parse ! msdkh265dec ! msdkvpp ! queue ! glimagesink
+ you will see error like this:
+ ERROR default gstmsdkvideomemory.c:77:gst_msdk_video_allocator_get_surface: failed to get surface available
+ ERROR msdkbufferpool gstmsdkbufferpool.c:270:gst_msdk_buffer_pool_alloc_buffer:<msdkbufferpool2> failed to create new MSDK memory
+ ERROR msdkvpp gstmsdkvpp.c:297:create_output_buffer:<msdkvpp0> failed to create output video buffer
+ ERROR msdkdec gstmsdkdec.c:699:gst_msdkdec_finish_task:<msdkh265dec0> Failed to finish frame
+ ERROR msdkdec gstmsdkdec.c:1085:gst_msdkdec_handle_frame:<msdkh265dec0> Failed to finish a task
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1278>
+
+2020-05-19 15:14:34 +0800 Xu Guangxin <guangxin.xu@intel.com>
+
+ * sys/msdk/gstmsdkvpp.c:
+ * sys/msdk/gstmsdkvpp.h:
+ msdkvpp: hold GstBuffer ref count for locked surfaces
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1278>
+
+2020-05-29 22:55:56 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/mediacapturewrapper.cpp:
+ mediafoundation: Use core dispatcher of current view instead of main view
+ Main view might be hidden depending on application's view tree.
+ In that case, ICoreApplication object doesn't return get_MainView() method
+ Note that nothing about this behavior was documented by Microsoft
+ https://docs.microsoft.com/en-us/uwp/api/windows.applicationmodel.core.coreapplication.mainview
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1310>
+
+2020-05-28 22:48:15 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ext/vulkan/meson.build:
+ vulkan: fix use of assert() with older meson versions
+ Follow-up to !1307
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1308>
+
+2020-05-28 19:07:32 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ext/vulkan/meson.build:
+ * gst-libs/gst/vulkan/meson.build:
+ vulkan: don't run tests or build lib if plugin isn't actually built
+ The unit tests only checked for vulkan_dep.found(), which can
+ be true if the libs are there but glslc was not found, in which
+ case the plugin wouldn't be built and the unit tests would fail
+ because of missing vulkan plugins.
+ Doesn't really make much sense to build the vulkan integration lib
+ either if we're not going to build the vulkan plugin, so just disable
+ both for now if glslc is not available.
+ Fixes #1301
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1307>
+
+2020-05-27 14:44:01 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * tests/check/elements/mpegtsdemux.c:
+ mpegtsdemux: tests: Test that tsparse doesn't drop padding
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1300>
+
+2020-05-26 22:40:04 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/mpegtsdemux/mpegtsbase.c:
+ * gst/mpegtsdemux/mpegtsbase.h:
+ * gst/mpegtsdemux/mpegtspacketizer.c:
+ * gst/mpegtsdemux/mpegtsparse.c:
+ mpegtsdemux: Deliver all packets to tsparse
+ 34af8ed66a7c63048ce0bdf59bbe61011d7c6292 changed the code to use the
+ packetizer's packets instead of the incoming buffers, but mpegtsbase
+ didn't actually push all packets to the subclass. As a result, padding
+ (PID 0x1FFF) packets got lost.
+ Add a new boolean to toggle pushing unknown packets to mpegtsbase and
+ have mpegtsparse make use of it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1300>
+
+2020-05-28 20:46:02 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfutils.cpp:
+ mediafoundation: Fix undeclared identifier error on UWP build
+ Some symbols are not available in case of UWP
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1306>
+
+2020-05-28 18:18:58 +1000 Jan Schmidt <jan@centricular.com>
+
+ * tests/check/elements/avtpcrfutil.c:
+ avtp: Initialise strack structures to 0 in tests
+ Avoid valgrind warnings about accessing uninitialised memory
+ in the tests by initialisting structures to 0
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1305>
+
+2020-05-28 17:33:43 +1000 Jan Schmidt <jan@centricular.com>
+
+ * tests/check/elements/avtpcrfbase.c:
+ * tests/check/elements/avtpcrfcheck.c:
+ * tests/check/elements/avtpcrfsync.c:
+ avtp: Fix some leaks in the tests
+ Fix valgrind errors that area showing on the CI now
+ that AVTP elements are built.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1305>
+
+2020-05-25 13:10:20 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/webrtcsdp.c:
+ * ext/webrtc/webrtcsdp.h:
+ webrtc: handle an ice-lite remote offer
+ When the remote peer offers an ice-lite SDP, we need to configure our
+ ICE negotiation to be in controlling mode as the peer will not be.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1304>
+
+2020-05-08 17:30:21 +0200 Stéphane Cerveau <scerveau@collabora.com>
+
+ * gst-libs/gst/codecparsers/gsth265parser.h:
+ codecparsers: fix typo in GstH265RegisteredUserData doc
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1303>
+
+2020-05-27 15:17:12 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * tests/check/meson.build:
+ tests: fix meson test env setup to make sure we use the right gst-plugin-scanner
+ If core is built as a subproject (e.g. as in gst-build), make sure to use
+ the gst-plugin-scanner from the built subproject. Without this, gstreamer
+ might accidentally use the gst-plugin-scanner from the install prefix if
+ that exists, which in turn might drag in gst library versions we didn't
+ mean to drag in. Those gst library versions might then be older than
+ what our current build needs, and might cause our newly-built plugins
+ to get blacklisted in the test registry because they rely on a symbol
+ that the wrongly-pulled in gst lib doesn't have.
+ This should fix running of unit tests in gst-build when invoking
+ meson test or ninja test from outside the devenv for the case where
+ there is an older or different-version gst-plugin-scanner installed
+ in the install prefix.
+ In case no gst-plugin-scanner is installed in the install prefix, this
+ will fix "GStreamer-WARNING: External plugin loader failed. This most
+ likely means that the plugin loader helper binary was not found or
+ could not be run. You might need to set the GST_PLUGIN_SCANNER
+ environment variable if your setup is unusual." warnings when running
+ the unit tests.
+ In the case where we find GStreamer core via pkg-config we use
+ a newly-added pkg-config var "pluginscannerdir" to get the right
+ directory. This has the benefit of working transparently for both
+ installed and uninstalled pkg-config files/setups.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1302>
+
+2020-05-22 05:55:03 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfmp3enc.cpp:
+ * sys/mediafoundation/gstmfmp3enc.h:
+ * sys/mediafoundation/meson.build:
+ * sys/mediafoundation/plugin.c:
+ mediafoundation: Add support MP3 audio encoding
+ Add MediaFoundation MP3 encoder
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1280>
+
+2020-05-18 18:12:38 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfaacenc.cpp:
+ * sys/mediafoundation/gstmfaacenc.h:
+ * sys/mediafoundation/gstmfaudioenc.cpp:
+ * sys/mediafoundation/gstmfaudioenc.h:
+ * sys/mediafoundation/gstmftransform.cpp:
+ * sys/mediafoundation/gstmftransform.h:
+ * sys/mediafoundation/meson.build:
+ * sys/mediafoundation/plugin.c:
+ mediafoundation: Add support for AAC encoding
+ Add MediaFoundation AAC encoder element.
+ Before Windows 10, mono and stereo channels were supported audio channels
+ configuration by AAC encoder MFT. However, on Windows 10,
+ 5.1 channels support was introduced.
+ To expose correct range of support format by this element
+ whatever the OS version is, this element will enumerate
+ all the supported format by the AAC encoder MFT
+ and then will configure sink/src templates while plugin init.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1280>
+
+2020-05-24 00:46:38 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfutils.cpp:
+ * sys/mediafoundation/gstmfutils.h:
+ * sys/mediafoundation/gstmfvideoenc.cpp:
+ mfutils: Move IMediaType release function to common utility
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1280>
+
+2020-05-18 00:41:14 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfutils.cpp:
+ * sys/mediafoundation/gstmfutils.h:
+ * sys/mediafoundation/meson.build:
+ mediafoundation: Add util function to dump IMFAttributes values
+ It would be useful for debugging.
+ Reference: https://docs.microsoft.com/en-us/windows/win32/medfound/media-type-debugging-code
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1280>
+
+2020-05-27 03:50:57 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11window_win32.cpp:
+ d3d11window_win32: Create internal window on parent window's thread
+ If parent and child windows are running on different thread,
+ there is always a chance to cause deadlock as DefWindowProc() call
+ from child window thread might be blocked until the message
+ is handled by parent's window procedure.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1299>
+
+2020-05-27 01:52:59 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11videosink.c:
+ * sys/d3d11/gstd3d11window.cpp:
+ * sys/d3d11/gstd3d11window.h:
+ * sys/d3d11/gstd3d11window_corewindow.cpp:
+ * sys/d3d11/gstd3d11window_swapchainpanel.cpp:
+ * sys/d3d11/gstd3d11window_win32.cpp:
+ d3d11window: Add unprepare method to clear internal resource
+ GObject::dispose method can be called multiple times. As win32 d3d11window
+ has an internal thread and because GObject::dispose method could be called from the
+ thread, it might cause problems such as trying to join self-thread
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1299>
+
+2020-05-25 21:18:16 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfcaptureengine.cpp:
+ * sys/mediafoundation/gstmfsourceobject.c:
+ * sys/mediafoundation/gstmfsourcereader.cpp:
+ mfsourceobject: Remove useless null check for string
+ We can pass null for the value of string type property.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1241>
+
+2020-05-25 20:59:50 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfcaptureengine.cpp:
+ * sys/mediafoundation/gstmfcapturewinrt.cpp:
+ * sys/mediafoundation/gstmfsourcereader.cpp:
+ * sys/mediafoundation/gstmftransform.cpp:
+ * sys/mediafoundation/gstmfutils.cpp:
+ * sys/mediafoundation/mediacapturewrapper.cpp:
+ mediafoundation: Use G_BEGIN_DECLS/G_END_DECLS pair everywhere
+ ... instead of extern "c" {} block.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1241>
+
+2020-05-20 23:23:08 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/AsyncOperations.h:
+ * sys/mediafoundation/gstmfcapturewinrt.cpp:
+ * sys/mediafoundation/gstmfcapturewinrt.h:
+ * sys/mediafoundation/gstmfdevice.c:
+ * sys/mediafoundation/gstmfsourceobject.c:
+ * sys/mediafoundation/gstmfvideosrc.c:
+ * sys/mediafoundation/mediacapturewrapper.cpp:
+ * sys/mediafoundation/mediacapturewrapper.h:
+ * sys/mediafoundation/meson.build:
+ * sys/mediafoundation/plugin.c:
+ mediafoundation: Add support video capture on UWP app
+ New video capture implementation using WinRT Media APIs for UWP app.
+ Due to the strict permission policy of UWP, device enumeration and
+ open should be done via new WinRT APIs and to get permission from users,
+ it will invoke permission dialog on UI.
+ Strictly saying, this implementation is not a part of MediaFoundation
+ but structurally it's very similar to MediaFoundation API.
+ So we can avoid some code duplication by adding this implementation
+ into MediaFoundation plugin.
+ This implementation requires UniversalApiContract version >= 6.0
+ which is part of Windows 10 version 1803 (Redstone 4)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1241>
+
+2020-05-20 23:56:38 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfsourceobject.c:
+ * sys/mediafoundation/gstmfsourceobject.h:
+ mfsourceobject: Move device name, path, and index to public struct
+ ... so that subclass can access each value and update them.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1241>
+
+2020-05-20 22:59:19 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfcaptureengine.cpp:
+ * sys/mediafoundation/gstmfsourceobject.c:
+ * sys/mediafoundation/gstmfsourceobject.h:
+ * sys/mediafoundation/gstmfsourcereader.cpp:
+ mediafoundation: Fix typo in source object impl.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1241>
+
+2020-05-25 15:36:38 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/audiobuffersplit/gstaudiobuffersplit.c:
+ audiobuffersplit: Unset DISCONT flag if not discontinuous
+ And also set/unset the RESYNC flag accordingly.
+ It can happen that the flag is preserved by GstAdapter from the input
+ buffer. For example if a big input buffer is split into many small ones,
+ each of the small ones would have the flag set.
+ All other buffer flags seem safe to keep here if they were set,
+ including the GAP flag.
+ Also ensure that the buffer is actually writable before changing any
+ flags or metadata on it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1298>
+
+2020-05-25 19:22:50 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmftransform.cpp:
+ mftransform: Clear unused output IMediaSample
+ If MFT doesn't produce encoded output, need to free allocated
+ output sample and buffer.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1297>
+
+2020-05-25 01:49:00 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst/mpegtsdemux/tsdemux.c:
+ tsdemux: Handle old streams claiming to be HDMV with Opus
+ GStreamer 1.16 and earlier produced streams with HDMV registration id
+ but with Opus audio streams on the stream ID that AC-4 now uses. Make
+ sure those still play back by special casing the check for AC-4 in HDMV
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1295
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1296>
+
+2020-05-24 06:22:07 +1000 Jan Schmidt <jan@centricular.com>
+
+ * ext/srt/gstsrtobject.c:
+ srt: Don't leak the connection_poll_id on close()
+ Attempting to reach an inactive SRT peer in caller mode
+ was leaking an fd every few seconds in the gst_srt_object_close()/open()
+ loop.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1293>
+
+2020-05-24 19:12:28 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfvideoenc.cpp:
+ mfvideoenc: Fix huge memory leak
+ Subclass must unref passed GstVideoCodecFrame on GstVideoEncoder::handle_frame()
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1294>
+
+2020-05-19 10:47:25 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * ext/soundtouch/gstpitch.cc:
+ pitch: Remove useless restriction on number of channel
+ It handles any number of channels just fine
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1292>
+
+2020-05-23 02:33:24 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gsth264decoder.c:
+ h264decoder: Disallow multiple slice group as we don't support FMO
+ Even though it might be supported by accelerator, baseclass is not
+ ready to support it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1291>
+
+2020-05-23 00:57:23 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvh264dec.c:
+ nvh264sldec: Fix wrong scaling list matrix scan order
+ Quatization matrix of NVDEC should be raster scan order but
+ h264parser stores it in zig-zag scan order. We need to convert
+ the matrix.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1290>
+
+2020-05-21 11:20:39 +0000 Andrey Sazonov <andrey.sazonov@intel.com>
+
+ * gst/asfmux/gstasfmux.c:
+ asfmux: consistent sscanf args usage
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1286>
+
+2020-05-20 07:35:28 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ v4l2codecs: h264: Add missing break
+ There was a missing break for the 4:4:4 case which would break the sizeimage
+ calculation. We don't currently have hardware that supports 4:4:4, so this
+ code wasn't tested. This was detected by Coverity.
+ CID 1463592 1463591
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1283>
+
+2020-05-21 14:28:38 +0000 Andrey Sazonov <andrey.sazonov@intel.com>
+
+ * gst-libs/gst/audio/gstplanaraudioadapter.c:
+ planaraudioadapter: fix possible NULL ptr dereference
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1288>
+
+2020-05-21 11:24:51 +0000 Andrey Sazonov <andrey.sazonov@intel.com>
+
+ * gst/sdp/gstsdpdemux.c:
+ sdpdemux: fix klocwork issues
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1287>
+
+2020-05-19 14:58:35 +1000 Matthew Waters <matthew@centricular.com>
+
+ * sys/androidmedia/gstamcvideodec.c:
+ amc/videodec: only retrieve the stride/slice-height for raw output
+ When outputting to a surface, these values may not exist.
+ As found on a Google Pixel 3.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1284>
+
+2020-05-14 17:13:00 +0200 Stéphane Cerveau <scerveau@collabora.com>
+
+ * ext/openjpeg/meson.build:
+ meson: add libopenjp2 fallback for openjpeg
+ As a wrap is now available in gst-build, the fallback
+ can be used.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1270>
+
+2020-05-13 15:02:41 -0700 Ederson de Souza <ederson.desouza@intel.com>
+
+ * ext/avtp/meson.build:
+ avtp: Add libavtp fallback dependence
+ So that libavtp can be found if added as subproject on gst-build.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1271>
+
+2020-05-01 15:58:09 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfdevice.c:
+ * sys/mediafoundation/gstmfdevice.h:
+ * sys/mediafoundation/meson.build:
+ * sys/mediafoundation/plugin.c:
+ mediafoundation: Add device provider implementation
+ Only static device probing is supported for now
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1236>
+
+2020-05-01 15:12:43 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfsourceobject.c:
+ mfsourceobject: Store selected device path, name and index
+ Update path, name and index with selected device so that checked by
+ get_property() after constructed.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1236>
+
+2020-05-20 10:54:21 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/rtmp2/gstrtmp2src.c:
+ rtmp2src: Answer scheduling query
+ Just like for rtmpsrc, we must inform downstream that we are a
+ sequential (i.e. don't do random access efficiently) and
+ bandwith-limited (i.e. might need buffering downstream) element
+ Fixes buffering issues with playbin3
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1282>
+
+2020-05-06 12:27:56 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ * sys/v4l2codecs/gstv4l2codecvp8dec.c:
+ * sys/v4l2codecs/gstv4l2decoder.c:
+ * sys/v4l2codecs/gstv4l2decoder.h:
+ v4l2slh264dec: Request large enough bitstream buffer
+ The Cedrus driver would otherwise choose 1KB buffer, which is too small.
+ This follows what some drivers do, which is simply to use the size a
+ packed raw image would have. Specifications do not really guaranty any minimum
+ compression ratio.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1268>
+
+2020-05-05 17:55:19 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ * sys/v4l2codecs/gstv4l2codecvp8dec.c:
+ * sys/v4l2codecs/gstv4l2decoder.c:
+ * sys/v4l2codecs/gstv4l2decoder.h:
+ v4l2slh264dec: Add slice based decoder support
+ This adds support for slice based decoder like the Allwinner/Cedrus driver. In
+ order to keep things efficient, we hold the sink buffer until we reach the end
+ of the picture. Note that as we don't know which one is last, we lazy queue the
+ slices. This effectively introduces one slice latency.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1268>
+
+2020-04-30 15:17:05 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ * sys/v4l2codecs/gstv4l2codecvp8dec.c:
+ v4l2codecdec: Fix error handling
+ If none of the format the HW produce is supported, the fiter will be NULL,
+ which would lead to assertion when trying to release it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1268>
+
+2020-04-30 14:18:47 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2decoder.c:
+ * sys/v4l2codecs/gstv4l2format.c:
+ v4l2decoder: Add legacy non-multiplanar support
+ The Cedrus driver uses the lagacy buffer type (non-mplane). This automatically
+ detect and use the right v4l2_buf_type. This also affect code using
+ v4l2_buffer and v4l2_format structures.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1268>
+
+2020-05-05 17:50:22 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/linux/h264-ctrls.h:
+ * sys/v4l2codecs/linux/types-compat.h:
+ * sys/v4l2codecs/linux/v4l2-common.h:
+ * sys/v4l2codecs/linux/v4l2-controls.h:
+ * sys/v4l2codecs/linux/videodev2.h:
+ v4l2codecs: Update kernel headers
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1268>
+
+2020-05-16 21:52:59 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11colorconvert.c:
+ * sys/d3d11/gstd3d11colorconvert.h:
+ d3d11convert: Fix fallback texture setup when resolution is not even number
+ When texture format is semi-planar, resolution should be even number,
+ and add missing P016 format handling
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1275>
+
+2020-05-16 21:45:02 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11colorconvert.c:
+ d3d11convert: Fix fallback texture copy
+ Fix texture copy when input texture has non-zero subresource index
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1275>
+
+2020-05-16 20:45:23 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11colorconvert.c:
+ * sys/d3d11/plugin.c:
+ d3d11: Add support for video rescale and rename element to d3d11convert
+ GstD3D11ColorConverter implementation is able to rescale video as well.
+ By doing colorspace conversion and rescale at once, we can save
+ one cycle of shader pipeline which will can save GPU resource.
+ Since this element can support color space conversion and rescale,
+ it's renamed as d3d11convert
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1275>
+
+2020-05-16 20:12:33 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11colorconvert.c:
+ * sys/d3d11/gstd3d11utils.c:
+ * sys/d3d11/gstd3d11utils.h:
+ d3d11: Move scoring util method for colorspace conversion to colorconvert element
+ It's used only by colorconvert element.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1275>
+
+2020-05-16 11:14:58 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/codecs/gsth264decoder.c:
+ codecs: h264decoder: chain finalize vmethod
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1238>
+
+2020-05-13 17:23:12 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/codecparsers/gsth264parser.c:
+ codecparsers: h264: Only set relevant default weight values
+ This is minor optimization to avoid setting values we don't need. It also
+ makes debugging easier since only relevant values a non-zero now.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1238>
+
+2020-05-13 15:32:44 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/codecparsers/gsth264parser.c:
+ codecparsers: h264: Fix default ref list size
+ The default in PPS was not applied properly. The default does not apply for
+ I-Slice and l1 default only applies for B-Slice. This fixes the slice values
+ for num_ref_idx_l0_active_minus1 and num_ref_idx_l1_active_minus1.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1238>
+
+2020-05-12 12:23:15 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/codecs/gsth264decoder.c:
+ codecs: h264decoder: Use calculated values for max_pic_num/frame_num
+ The parser pre-calculate these already, just use them.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1238>
+
+2020-05-03 17:30:34 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/codecs/gsth264decoder.c:
+ * gst-libs/gst/codecs/gsth264decoder.h:
+ * sys/d3d11/gstd3d11h264dec.c:
+ * sys/nvcodec/gstnvh264dec.c:
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ codecs: h264decoder: ref pic lists as decode_slice parameters
+ Pass reference picture lists to decode_slice() vmethods
+ Change gstv4l2codech264dec and gstnvh264dec accordingly.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1238>
+
+2020-04-27 16:53:45 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/codecs/gsth264decoder.c:
+ * gst-libs/gst/codecs/gsth264decoder.h:
+ codecs: h264decoder: handle reference picture lists
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1238>
+
+2020-05-15 14:56:27 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/codecs/gsth264decoder.c:
+ * gst-libs/gst/codecs/gsth264picture.c:
+ * gst-libs/gst/codecs/gsth264picture.h:
+ codecs: h264decoder: Port from GList to GArray
+ Using glist requires a lot of small allocation at runtime and also
+ it comes with a slow sort algorithm. As we play with that for very
+ frame and slices, use GArray instead. Note that we cache some arrays
+ in the instance as there is no support for stack allocated arrays
+ in GArray.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1238>
+
+2020-05-08 17:56:48 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/codecs/gsth264decoder.c:
+ * gst-libs/gst/codecs/gsth264picture.c:
+ codecs: h264decoder: Make get_long_ref_by_pic_num() transfer none
+ We don't use the extra reference, so let's just avoid the extra
+ ref/unref.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1238>
+
+2020-05-06 12:23:34 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/codecs/gsth264decoder.c:
+ * gst-libs/gst/codecs/gsth264picture.c:
+ codecs: h264decoder: Make get_short_ref_by_pic_num() transfer none
+ We don't use the extra reference, so let's just avoid the extra
+ ref/unref.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1238>
+
+2020-05-19 15:39:50 +0200 Stéphane Cerveau <scerveau@collabora.com>
+
+ * tests/check/meson.build:
+ tests: fix nalutils file name
+ The filename was too long causing issues with ccache
+ Fix https://gitlab.freedesktop.org/gstreamer/gst-build/-/issues/97
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1281>
+
+2020-05-18 14:19:04 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * tests/check/elements/mpegtsdemux.c:
+ * tests/check/meson.build:
+ mpegtsdemux: tests: Add simple tests for tsparse and tsdemux
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1274>
+
+2020-05-15 17:05:59 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/mpegtsdemux/mpegtsbase.c:
+ * gst/mpegtsdemux/mpegtsbase.h:
+ * gst/mpegtsdemux/mpegtsparse.c:
+ mpegtsdemux: Close a buffer leak and simplify input_done
+ tsparse leaked input buffers quite badly:
+ GST_TRACERS=leaks GST_DEBUG=GST_TRACER:9 gst-launch-1.0 audiotestsrc num-buffers=3 ! avenc_aac ! mpegtsmux ! tsparse ! fakesink
+ The input_done vfunc was passed the input buffer, which it had to
+ consume. For this reason, the base class takes a reference on the buffer
+ if and only if input_done is not NULL.
+ Before 34af8ed66a7c63048ce0bdf59bbe61011d7c6292, input_done was used in
+ tsparse to pass on the input buffer on the "src" pad. That commit
+ changed the code to packetize for that pad as well and removed the use
+ of input_done.
+ Afterwards, 0d2e9085236ed94622c327f73489e558cc95d05f set input_done
+ again in order to handle automatic alignment of the output buffers to
+ the input buffers. However, it ignored the provided buffer and did not
+ even unref it, causing a leak.
+ Since no code makes use of the buffer provided with input_done, just
+ remove the argument in order to simplify things a bit.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1274>
+
+2020-05-17 10:27:03 +0200 Mats Lindestam <matslm@axis.com>
+
+ * ext/curl/gstcurlhttpsink.c:
+ gstcurlhttpsink: Set 'Expect: 100-continue'-header
+ In the upgrade of libcurl from 7.64.1 to 7.69.1 the
+ EXPECT_100_THRESHOLD has been increased from 1 Kb to 1 Mb
+ (see https://curl.haxx.se/mail/lib-2020-01/0050.html).
+ This caused the gstcurlhttpsink to not being able to rewind
+ and resend in the case, e.g. response '401 Unauthorized'.
+ Now the 'Expect: 100-continue'-header is explicitly set in
+ the gstcurlhttpsink.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1276>
+
+2020-04-29 16:43:06 -0400 Arun Raghavan <arun@asymptotic.io>
+
+ * sys/opensles/openslessink.c:
+ * sys/opensles/openslessrc.c:
+ opensles: Remove hard-coded buffer-/latency-time values
+ These were originally required in early Android versions, but are no
+ longer needed.
+
+2020-05-14 20:47:06 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfcaptureengine.cpp:
+ * sys/mediafoundation/gstmfsourceobject.c:
+ * sys/mediafoundation/gstmfsourceobject.h:
+ * sys/mediafoundation/gstmfsourcereader.cpp:
+ mediafoundation: Refactor GstMFSourceObject implementation
+ * Move CoInitializeEx/CoUninitialize pair into thread function in order to
+ ensure MTA COM thread
+ * Move common code to baseclass
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1269>
+
+2020-05-14 20:17:33 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfh264enc.cpp:
+ * sys/mediafoundation/gstmfh265enc.cpp:
+ * sys/mediafoundation/gstmftransform.cpp:
+ * sys/mediafoundation/gstmftransform.h:
+ * sys/mediafoundation/plugin.c:
+ mediafoundation: Remove COM thread constraints from GstMFTransform object
+ Move CoInitializeEx/CoUninitialize pair into our dedicated thread so that
+ we can ensure COM thread is MTA. This will remove thread constraints
+ around plugin init.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1269>
+
+2020-05-15 13:52:06 +1000 Matthew Waters <matthew@centricular.com>
+
+ * sys/androidmedia/gstamcvideodec.c:
+ amcvideodec: fix sync meta copying not taking a reference
+ Fixup for
+ 9b9e39be248389370e80b429da5a528418733483: amc: Fix crash when a sync_meta survives its sink
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/603
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1272>
+
+2020-04-13 18:09:55 +0900 J. Kim <jeongseok.kim@sk.com>
+
+ * ext/srt/gstsrtobject.c:
+ srtobject: add streamid property
+ The stream id starts with '#!::' according to SRT Access Control[1],
+ but GstURI requires URI encoded string.This commit introduces additional
+ property to set the id by normal string.
+ [1] https://github.com/Haivision/srt/blob/master/docs/AccessControl.md
+
+2020-05-12 05:00:36 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * ext/modplug/meson.build:
+ * ext/openni2/meson.build:
+ * meson.build:
+ meson: Pass native: false to add_languages()
+ This is needed for cross-compiling without a build machine compiler
+ available. The option was added in 0.54, but we only need this in
+ Cerbero and it doesn't affect older versions so it should be ok.
+ Will only cause a spurious warning.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1266>
+
+2020-05-12 10:55:45 -0400 Alex Hoenig <alexander.hoenig@progeny.net>
+
+ * gst/mpegtsmux/gstbasetsmux.c:
+ mpegtsmux: detect and ignore gap buffers
+ Fixes #1291. Without this, when a stream has gaps and then resumes, the next buffer PTS that is written to the TS is given the PTS of the first gap.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1263>
+
+2020-05-12 16:05:01 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/closedcaption/gstccconverter.c:
+ ccconverter: check fraction multiply for overflow
+ It should not happen and if it does, something went very wrong earlier
+ CID 1463350
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1262>
+
+2020-05-12 16:01:42 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/closedcaption/gstccconverter.c:
+ ccconverter: tighten up a couple of NULL checks
+ CID 1463347
+ CID 1463346
+ CID 1463345
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1262>
+
+2020-05-12 16:00:58 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/closedcaption/gstccconverter.c:
+ ccconverter: fix unintialized read of mapped output info in error case
+ We only need to gst_buffer_unmap() if we have gst_buffer_map()ed. In
+ most cases we can shorten the lenght of time we need to map the output
+ buffer. Fix similar occurences elsewhere.
+ CID 1463349
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1262>
+
+2020-05-12 15:24:32 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/closedcaption/gstccconverter.c:
+ ccconverter: fix uninitialized read in error case
+ CID 1463351
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1262>
+
+2020-05-10 17:38:11 +0800 Ting-Wei Lan <lantw@src.gnome.org>
+
+ * sys/v4l2codecs/gstv4l2codecdevice.c:
+ * sys/v4l2codecs/linux/media.h:
+ * sys/v4l2codecs/linux/types-compat.h:
+ * sys/v4l2codecs/meson.build:
+ v4l2codecs: Fix compilation error on FreeBSD
+ This commit does the following things to fix compilation on FreeBSD:
+ 1. Add required typedefs to linux/types-compat.h.
+ 2. Remove unnecessary include linux/ioctl.h and replace linux/types.h
+ with linux/types-compat.h. Both files do not exist on FreeBSD.
+ 3. Check the header including makedev macro. FreeBSD does not have
+ sys/sysmacros.h, and including it unconditionally causes error.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1259>
+
+2020-05-11 17:14:09 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/closedcaption/gstccconverter.c:
+ ccconverter: implement discont handling
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1116>
+
+2020-05-07 23:59:30 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/closedcaption/gstccconverter.c:
+ * tests/check/elements/ccconverter.c:
+ ccconverter: use a better padding byte sequence for writing cdp
+ 0xf8 can be interpreted as cea608 data at the beginning of a cdp packet
+ as the cc_valid bit is not checked when cc_valid in (0b00 or 0b01).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1116>
+
+2020-03-19 17:42:13 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/closedcaption/gstccconverter.c:
+ * ext/closedcaption/gstccconverter.h:
+ * tests/check/elements/ccconverter.c:
+ ccconverter: split temporary storage into 3
+ Instead of storing the raw cc_data, store the 2 cea608 fields individually
+ as well as the ccp data.
+ Simply copying the input cc_data to the output cc_data violates a number of
+ requirements in the cea708 specification. The most prominent being, that
+ cea608 triples must be placed at the beginning of each cdp.
+ We also need to comply with the framerate-dpendent limits for both the
+ cea608 and the ccp data which may involve splitting or merging some
+ cea608 data but not ccp data or vice versa.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1116>
+
+2020-03-17 17:23:44 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/closedcaption/gstccconverter.c:
+ * tests/check/elements/ccconverter.c:
+ ccconvert: compact input cc_data where possible
+ Skip over padding cc_data triples.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1116>
+
+2020-03-13 10:54:02 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/closedcaption/gstccconverter.c:
+ * ext/closedcaption/gstccconverter.h:
+ * tests/check/elements/ccconverter.c:
+ ccconverter: implement support for CDP framerate conversions
+ - Any format involving CDP is supported.
+ - Time codes (if present) are scaled as well.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1116>
+
+2020-03-12 16:08:54 +1100 Matthew Waters <matthew@centricular.com>
+
+ * tests/check/elements/ccconverter.c:
+ * tests/check/meson.build:
+ tests/ccconverter: test the time codes are successfully passed through
+ Where time codes are not stored in the caption data themselves
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1116>
+
+2020-03-12 15:06:46 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/closedcaption/gstccconverter.c:
+ * ext/closedcaption/gstccconverter.h:
+ ccconverter: introduce define for max cdp packet length
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1116>
+
+2020-03-12 15:01:02 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/closedcaption/gstccconverter.c:
+ ccconverter: don't rely on external state in *_internal()
+ This allows using the _internal() variants for simply converting some
+ caption data without relying on any external state.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1116>
+
+2020-03-12 14:06:49 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/closedcaption/gstccconverter.c:
+ * ext/closedcaption/gstccconverter.h:
+ * tests/check/elements/ccconverter.c:
+ ccconverter: cc_count limits are per framerate
+ Enforce this and add a test for cdp input being too large.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1116>
+
+2020-03-12 12:54:41 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/closedcaption/gstccconverter.c:
+ ccconverter: refactor cdp id, fps, max_cc_count into a table
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1116>
+
+2020-03-12 09:55:40 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/closedcaption/gstccconverter.c:
+ ccconverter: pivot to implementing generate_output
+ Will make a n-n buffer element much easier to implement.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1116>
+
+2020-05-09 19:59:46 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst-libs/gst/vulkan/gstvkerror.c:
+ vulkan: Drop use of VK_RESULT_BEGIN_RANGE
+ This was removed in Vulkan 1.2.140.
+ > Shortly after 2020-04-24, we will be removing the automatically
+ > generated `VK_*_BEGIN_RANGE`, `VK_*_END_RANGE`, and `VK_*_RANGE_SIZE`
+ > tokens from the Vulkan headers. These tokens are currently defined for
+ > some enumerated types, but are explicitly not part of the Vulkan API.
+ > They existed only to support some Vulkan implementation internals,
+ > which no longer require them. We will be accepting comments on this
+ > topic in [#1230], but we strongly suggest any external projects using
+ > these tokens immediately migrate away from them.
+ [#1230]: https://github.com/KhronosGroup/Vulkan-Docs/issues/1230
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1255>
+
+2020-05-08 22:36:01 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/audiobuffersplit/gstaudiobuffersplit.c:
+ * gst/audiobuffersplit/gstaudiobuffersplit.h:
+ audiobuffersplit: Perform discont tracking on running time
+ Otherwise we would have to drain on every segment event. Like this we
+ can handle segment events that don't cause a discontinuity in running
+ time to be handled without draining.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1254>
+
+2020-05-08 21:36:44 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/audiobuffersplit/gstaudiobuffersplit.c:
+ * gst/audiobuffersplit/gstaudiobuffersplit.h:
+ audiobuffersplit: Keep incoming and outgoing segments separate
+ We might have to drain already queued input based on the old segment
+ before forwarding the new segment event. The new segment is only
+ forwarded after a discont as otherwise we might cause unnecessary
+ timestamp jumps as we output buffers timestamped based on sample counts.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1254>
+
+2020-04-30 16:01:13 +0000 Chris Ayoup <ayochris@amazon.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/gstwebrtcice.c:
+ * ext/webrtc/gstwebrtcice.h:
+ webrtc: move filtering properties to webrtcice
+ We want webrtcbin to only expose properties that are defined in JSEP, so
+ these additional properties should be moved out. In order to access
+ them, the webrtcice instance is exposed from webrtcbin.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1223>
+
+2020-04-17 18:00:59 +0000 Chris Ayoup <ayochris@amazon.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/gstwebrtcice.c:
+ * ext/webrtc/gstwebrtcice.h:
+ webrtc: allow setting local IP addresses
+ If a local IP address is specified, ICE gathering can be much faster
+ in environments where there are multiple IP addreses but only some are
+ usable (for example, if you are running docker on the machine).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1223>
+
+2020-04-16 22:37:35 +0000 Chris Ayoup <ayochris@amazon.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/gstwebrtcice.c:
+ webrtc: Allow toggling TCP and UDP candidates
+ Add some properties to allow TCP and UDP candidates to be toggled. This
+ is useful in cases where someone is using this element in an environment
+ where it is known in advance whether a given transport will work or not
+ and will prevent wasting time generating and checking candidate pairs
+ that will not succeed.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1223>
+
+2020-04-02 10:44:31 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkvpp.c:
+ msdkvpp: clear the parameters after closing the session
+ Otherwise the stale values are used for the new process.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1159>
+
+2020-05-10 11:23:02 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/spandsp/gstspanplc.c:
+ spanplc: Don't segfault when retrieving the stats property without a spanplc context
+ For example when trying to get the property value in NULL state.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1258>
+
+2020-05-10 11:16:44 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/onvif/gstrtponviftimestamp.c:
+ onviftimestamp: Add missing `break` in set_property()
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1257>
+
+2020-05-07 14:05:16 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * tests/check/elements/h265parse.c:
+ test: h265parse: Test parsing buffer the ends with half a NAL header
+ This test cover the case where we are parsing, but our current buffers ends
+ with half the NAL header (which is 2 bytes in HEVC). Previously we would
+ throw an error message on the bus.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1251>
+
+2020-05-07 13:59:33 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/codecparsers/gsth265parser.c:
+ h265parse: Ensure parsing ends on start-code + full header
+ The parser is used all over the place assuming that after calling
+ gst_h265_parser_identify_nalu(), the start-code found is can also be
+ identified. In H264 this works, because scan_for_start_code rely on
+ gst_byte_reader_masked_scan_uint32() that ensures that 1 byte passed the 3
+ bytes start code is found. But for HEVC, we need two bytes to identify the
+ following NAL.
+ This patch will return NO_NAL_END, even if a start code is found in the case
+ there was not enough bytes. This solution was chosen to maintain backward
+ compatibility, and reduce complexicity.
+ Fixes #1287
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1251>
+
+2020-05-07 11:09:23 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * tests/check/elements/h264parse.c:
+ * tests/check/elements/h265parse.c:
+ test: h264/h265: Add test for four bytes start code initial skip
+ This test detects if the parser have skipped too much and dropped meaninful
+ NALs.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1251>
+
+2020-05-07 12:02:40 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * tests/check/elements/h264parse.c:
+ * tests/check/elements/h265parse.c:
+ * tests/check/elements/parser.c:
+ * tests/check/elements/parser.h:
+ test: h264/h265: Constify all test buffers
+ This ensure that no test modify other tests data.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1251>
+
+2020-05-07 11:06:45 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/videoparsers/gsth264parse.c:
+ * gst/videoparsers/gsth265parse.c:
+ h264/h265parse: Fix initial skip
+ Account for start codes possibly be 4 bytes. For HEVC, also take into
+ account that we might be missing only one of the two identification
+ bytes.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1251>
+
+2020-05-07 08:29:28 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/videoparsers/gsth265parse.c:
+ h265parse: Ensure correct timestamps
+ If the input has a miss-placed filler zero byte (e.g. a filler without a 4
+ bytes start code on the next NAL), we would endup using the same timestamp
+ twice. Ask the base class to read the timestamp from the buffer were the NAL
+ actually starts.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1251>
+
+2020-05-07 07:43:30 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/codecparsers/gsth264parser.c:
+ h264parser: Removed impossible error case
+ Same as done for H264, this error was trying to catch the case where we had
+ a start code without any bytes afterward. This will never happen since the
+ start code scanner only returns a match if there is one byte after start
+ code (pattern 0x00000100 / mask 0xffffff00). In H264, once byte is sufficient
+ to identify the NALU.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1251>
+
+2020-05-06 22:28:34 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/codecparsers/gsth264parser.c:
+ * gst/videoparsers/gsth264parse.c:
+ * tests/check/elements/h264parse.c:
+ h264parse: Properly handle 4 bytes start code
+ This will stop stripping four bytes start code. This was fixed and broken
+ again as it was causing the a timestamp shift. We now call
+ gst_base_parse_set_ts_at_offset() with the offset of the first NAL to ensure
+ that fixing a moderatly broken input stream won't affect the timestamps. We
+ also fixes the unit test, removing a comment about the stripping behaviour not
+ being correct.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1251>
+
+2020-05-06 22:18:12 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/codecparsers/gsth265parser.c:
+ h265parser: Fix NAL size check for identification
+ Unlike H264, H265 requires 2 bytes after the start code to allow NAL
+ identification. This would otherwise report a broken NAL and skip
+ important data.
+ Fixes #1287
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1251>
+
+2020-05-06 22:13:45 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/codecparsers/gsth265parser.c:
+ h265parser: Removed impossible error case
+ This error was trying to catch the case where we had a start code without any
+ bytes afterward. This will never happen since the start code scanner only returns
+ a match if there is one byte adter start code (pattern 0x00000100 / mask
+ 0xffffff00).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1251>
+
+2020-04-29 16:19:08 +0800 Xu Guangxin <guangxin.xu@intel.com>
+
+ * sys/msdk/gstmsdkbufferpool.c:
+ msdk: bufferpool: set alignment to video meta
+ else gst_video_meta_validate_alignment will report error like
+ "videometa gstvideometa.c:416:gst_video_meta_validate_alignment: Stride of plane 0 defined in meta (384) is different from the one computed from the alignment (320)"
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1224>
+
+2020-05-06 20:04:17 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/timecode/gsttimecodestamper.c:
+ timecodestamper: Unref latency query after usage
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1249>
+
+2020-05-06 11:47:56 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/musepack/gstmusepackdec.c:
+ musepackdec: Don't fail all queries if no sample rate is known yet
+ The sample rate is only needed for the POSITION/DURATION queries and we
+ would otherwise fail important queries like the CAPS query.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/498
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1248>
+
+2020-05-01 07:46:56 +0200 Luka Blaskovic <lblasc@znode.net>
+
+ * ext/opencv/meson.build:
+ opencv: allow compilation against 4.3.x
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1235>
+
+2020-05-06 15:36:19 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/webrtcdatachannel.c:
+ * tests/check/elements/webrtcbin.c:
+ webrtc: fix an off-by-one calculating low-threshold
+ We were not signalling low-threshold when the previous amount was at
+ exactly the low-threshold mark.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1247>
+
+2020-05-06 15:35:26 +1000 Matthew Waters <matthew@centricular.com>
+
+ * tests/check/elements/webrtcbin.c:
+ webrtc: fix a slightly racy test
+ There is no guarantee that the peer data channel has transitioned to
+ open when we do.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1247>
+
+2020-05-06 15:49:05 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtc: remove debugging leftover
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1247>
+
+2020-05-06 00:30:34 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/gstwebrtcbin.h:
+ * ext/webrtc/sctptransport.c:
+ * ext/webrtc/utils.h:
+ * ext/webrtc/webrtcdatachannel.c:
+ webrtc: always reply to a promise
+ Otherwise, we defeat the purpose of a promise.
+ We were not replying when the state was closed.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1240>
+
+2020-05-06 00:25:45 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/gstwebrtcice.c:
+ * ext/webrtc/gstwebrtcice.h:
+ webrtc: name threads based on the element name
+ Makes debugging a busy loop possibly easier
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1240>
+
+2020-05-05 17:15:51 +1000 Matthew Waters <matthew@centricular.com>
+
+ * tests/check/elements/webrtcbin.c:
+ tests/webrtc: fix a data channel leak in a test
+ test_data_channel_create_after_negotiate overrides the data_channel_data
+ without ever freeing it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1240>
+
+2020-05-05 17:14:46 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtc: correctly use the pad template
+ GstHarness uses this for releasing request pads correctly. Fixes
+ numerous leaks in the webrtc unit tests.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1240>
+
+2020-05-05 14:35:10 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtc: Fix a couple of renegotiation races
+ When negotiating the SDP we should only connect the streams that are
+ actually mentioned in the SDP. All other streams are not relevant at
+ this time and would likely be part of a future SDP update. Fixes a
+ couple of the renegotiation webrtc unit tests.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1240>
+
+2020-05-05 14:33:34 +1000 Matthew Waters <matthew@centricular.com>
+
+ * tests/check/elements/webrtcbin.c:
+ tests/webrtc: move bus thread creation earlier
+ Fixes a small deadlock race where the bus watch GSource could execute before
+ the unlock mutex GSource.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1240>
+
+2020-05-04 14:39:45 +1000 Matthew Waters <matthew@centricular.com>
+
+ * tests/check/meson.build:
+ tests: add libnice to the plugin loading whitelist
+ Allows webrtcbin to actually unit test some negotiation scenarios.
+ Without this, only two of the possible 33 tests are being executed.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1240>
+
+2020-05-05 12:01:21 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codecvp8dec.c:
+ v4l2slvp8dec: Flip the meaning of segment_feature_mode
+ In section 9.3.4 a), segment_feature_mode have 0 for absolute and 1 for delta,
+ while in 19.2, it says the opposite. But the reference code, which usually
+ rules over the text state that 1 means absolute:
+ if (hdr->update_data)
+ {
+ hdr->abs = bool_get_bit(bool);
+ And uses it with that meaning to decide weither to override the existing value
+ or just add the detla. This fixes multiple decoding issues.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1245>
+
+2020-05-04 15:33:39 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codecvp8dec.c:
+ v4l2slvp8dec: Copy header version
+ This field was not copied.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1245>
+
+2020-05-04 14:54:23 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codecvp8dec.c:
+ v4l2slvp8dec: Add debugging for reference frames
+ This simply trace the frame number of the references used for decoding.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1245>
+
+2020-05-04 14:52:45 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codecvp8dec.c:
+ v4l2slvp8dec: Ensure width/height is always set
+ Our parser strictly read the bitstream. As it's known from DXVA that always
+ having a valid width/height might be needed, use the cached width/height
+ instead of the value from the parser. This didn't impact Hantro driver.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1245>
+
+2020-05-04 14:52:02 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codecvp8dec.c:
+ v4l2slvp8dec: Fix debug category name
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1245>
+
+2020-05-05 17:40:51 +0200 Edward Hervey <edward@centricular.com>
+
+ * ext/iqa/iqa.c:
+ iqa: Fix all leaks in error path
+ CID #1456049
+ CID #1456080
+ CID #1456083
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1244>
+
+2020-03-29 00:45:47 +0800 He Junyan <junyan.he@hotmail.com>
+
+ * tests/check/libs/h265parser.c:
+ test: h265parser: Add a test case for SCC extension.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1146>
+
+2020-03-28 14:46:13 +0800 He Junyan <junyan.he@hotmail.com>
+
+ * gst-libs/gst/codecparsers/gsth265parser.c:
+ * gst-libs/gst/codecparsers/gsth265parser.h:
+ * tests/check/libs/h265parser.c:
+ libs: parser: h265: Add SCC extension support.
+ Add support for screen content coding extensions profiles.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1146>
+
+2020-05-06 01:25:04 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11vp8dec.c:
+ d3d11vp8dec: Remove useless assign operation
+ It's already been done in the line just above.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1246>
+
+2020-05-05 16:07:40 +0200 Edward Hervey <edward@centricular.com>
+
+ * tests/check/elements/dash_mpd.c:
+ check: Fix dash mpd unit test
+ Unexpected critical/warning: g_object_set_is_valid_property: object class 'GstMPDBaseURLNode' has no property named 'service location'
+ Stack trace:
+ gst_debug_get_stack_trace (gstinfo.c:3021)
+ gst_check_log_critical_func (gstcheck.c:281)
+ g_logv (gmessages.c:1350)
+ g_log (gmessages.c:1415)
+ g_object_set_valist (gobject.c:2327)
+ gst_mpd_client_add_baseurl_node (gstmpdclient.c:3142)
+ dash_mpdparser_check_mpd_client_set_methods (dash_mpd.c:6192)
+ srunner_run_tagged (check_run.c:465)
+ gst_check_run_suite (gstcheck.c:1086)
+ main (dash_mpd.c:6521)
+ __libc_start_main (libc-start.c:308)
+ _start (/home/bilboed/work/devel/gst-build/build/subprojects/gst-plugins-bad/tests/check/elements_dash_mpd:0x40554a)
+
+2020-05-05 20:32:53 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11window.cpp:
+ d3d11window: Fix processor output view resource leak
+ Because this object holds reference to native d3d11 device handle internally,
+ related native d3d11 objects would be leaked as well.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1243>
+
+2020-05-01 14:19:56 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/sctp/sctpassociation.c:
+ sctp: enable usrsctp debug when supported
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1234>
+
+2020-05-03 10:05:32 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * tests/check/elements/curlhttpsrc.c:
+ tests: curlhttpsrc: fix compiler warning on raspbian
+ tests/check/elements/curlhttpsrc.c:142:14: warning: format ‘%lu’
+ expects argument of type ‘long unsigned int’, but argument 8 has
+ type ‘gsize’ {aka ‘unsigned int’}
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1239>
+
+2020-05-03 09:59:45 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * sys/nvcodec/gstnvh264dec.c:
+ nvcodec: fix compiler warning in certain setups
+ Fixes gstnvh264dec.c:648:12: warning: unused variable ‘ret’
+ compiler warning on raspbian where HAVE_NVCODEC_GST_GL is
+ not defined.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1239>
+
+2020-04-03 10:41:44 -0700 Ederson de Souza <ederson.desouza@intel.com>
+
+ * ext/avtp/gstavtpsink.c:
+ avtpsink: Log that AVTPDU transmission failure is due lateness
+ As ENOBUFS is not really clear about what is going on, let's check
+ socket error queue to see if packets are being dropped due being late.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1004>
+
+2020-04-03 10:41:31 -0700 Ederson de Souza <ederson.desouza@intel.com>
+
+ * ext/avtp/gstavtpsink.c:
+ avtpsink: Accept buffers that fall out of segment
+ Proper calculate running time for buffers that are out of current
+ segment and try to honor them.
+ A typical case is for AVTP packets coming from avtpcvfpay element, as
+ those may have DTS that falls out of segment (which is about PTS).
+ By using gst_segment_to_running_time_full(), avtpsink can properly
+ calculate when to transmit those buffers.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1004>
+
+2020-04-03 10:41:04 -0700 Ederson de Souza <ederson.desouza@intel.com>
+
+ * ext/avtp/gstavtpcvfpay.c:
+ avtpcvfpay: Warn about timestamp issues on non-flushing seek
+ Seek events will cause new segments to be sent to avtpcvfpay, and for
+ flushing seeks, a pipeline running time reset. This running time
+ reset, which effectively changes pipeline base time, will cause
+ avtpcvfpay element to generate incorrect DTS for the initial set of
+ buffers sent after FLUSH_STOP.
+ This happens due the fact that base time change happens only when the
+ sink gets the first buffer after the FLUSH_STOP - so avtpcvfpay used
+ the wrong base time to do its calculations.
+ However, if the pipeline is paused before the seek, sink will update
+ base time when pipeline state goes to PLAYING again, before avtpcvfpay
+ gets the first buffers after the flush. Then avtpcvfpay element will be
+ able to normally calculate DTS for the outgoing packets.
+ This patch simply adds a warning message in case a flushing seek is
+ performed on a playing pipeline.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1004>
+
+2020-04-03 10:40:43 -0700 Ederson de Souza <ederson.desouza@intel.com>
+
+ * ext/avtp/gstavtpcvfpay.c:
+ * ext/avtp/gstavtpcvfpay.h:
+ * tests/check/elements/avtpcvfpay.c:
+ avtpcvfpay: Ensure NAL fragments are transmitted following stream specs
+ TSN streams are expected to send packets to the network in a well
+ defined "pace", which is arbitrarily defined for each stream. This pace
+ is defined by the "measurement interval" property of a stream.
+ When the AVTP CVF payloader element - avtpcvfpay - fragments a video
+ frame that is too big to be sent to the network, it currently defines
+ that all fragments should be transmitted at the same time (via DTS
+ property of GstBuffers generated, as sink will use those to time the
+ transmission of the AVTPDU). This doesn't comply with stream definition,
+ which also has a limit on how many packets can be sent on a given
+ measurement interval.
+ This patch solves that by spreading in time the DTS of the GstBuffers
+ containing the AVTPDUs. Two new properties, "measurement-interval" and
+ "max-interval-frames", added to avptcvfpay element so that it knows
+ stream measurement interval and how many AVTPDUs it can send on any of
+ them. More details on the method used to proper spread DTS/PTS according
+ to measurement interval can be found in a code commentary inside this patch.
+ Tests also added for the new property and behaviour.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1004>
+
+2020-02-24 22:38:39 +0800 Georg Ottinger <g.ottinger@gmx.at>
+
+ * gst-libs/gst/codecparsers/gstav1parser.c:
+ * gst-libs/gst/codecparsers/gstav1parser.h:
+ * gst-libs/gst/codecparsers/meson.build:
+ * tests/check/libs/av1parser.c:
+ * tests/check/meson.build:
+ libs: parser: Adds AV1 parser.
+ This is the first version of AV1 parser implementation in GStreamer.
+ A test file is also provied with several test cases. It contains a
+ test sequence taken from the aom testdata set, with one key and one
+ inter-frame. The same test sequence has been reencoded to annexb.
+ testdata is taken from aom testdata (and reencoded for annexb) as well
+ as handcrafted testcases. Once reference testdata is available, the
+ testing could be imporved aswell.
+ Co-author: He Junyan <junyan.he@hotmail.com>
+ Co-author: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/785>
+
+2020-05-01 14:43:55 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/autoconvert/gstautoconvert.h:
+ autoconvert: fix compiler warnings with g_atomic on recent GLib versions
+ The volatile is not needed here and causes compiler warnings
+ with newer GLib versions.
+ gstautoconvert.c: In function ‘gst_auto_convert_dispose’ (and elsewhere):
+ glib/gatomic.h:108:3: warning: initialization discards ‘volatile’ qualifier from pointer target type [-Wdiscarded-qualifiers]
+ gstautoconvert.c:224:24: note: in expansion of macro ‘g_atomic_pointer_get’
+ 224 | GList *factories = g_atomic_pointer_get (&autoconvert->factories);
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1237>
+
+2020-05-01 01:17:08 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: also mark data channel transports as active
+ Fixes negotiation of a bundled sdp with only a data channel.
+ Without marking the transport as active, we would never unblock the
+ transportreceivebin and thus no data would ever reach us.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1231>
+
+2020-05-01 00:47:53 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/webrtcsdp.c:
+ * ext/webrtc/webrtcsdp.h:
+ webrtcbin: fix bundle none case with remote offer bundling
+ If the remote is bundling, but we are not and remote is offering.
+ we cannot put the remote media sections into a bundled transport as that
+ is not how we are going to respond.
+ This specific failure case was that the remote ICE credentials were
+ never set on the ice stream and so ice connectivity would fail.
+ Technically, this whole bunde-policy=none handling should be removed
+ eventually when we implement bundle-policy=balanced. Until such time,
+ we have this workaround.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1231>
+
+2019-09-26 18:12:36 -0700 Vedang Patel <vedang.patel@intel.com>
+
+ * tests/check/elements/avtpcrfutil.c:
+ * tests/check/meson.build:
+ tests: add tests for functions in gstavtpcrfutil.c
+ This adds tests for the helper functions in ext/avtp/gstavtpcrfutils.c
+
+2019-09-26 18:11:42 -0700 Vedang Patel <vedang.patel@intel.com>
+
+ * tests/check/elements/avtpcrfcheck.c:
+ * tests/check/meson.build:
+ tests: Add the tests for CRF Checker element
+ This adds tests to ensure the avtpcrfchecker element validates and drops the
+ packets which do not match the CRF Synchronization criteria.
+
+2019-10-14 13:56:49 -0700 Vedang Patel <vedang.patel@intel.com>
+
+ * tests/check/elements/avtpcrfbase.c:
+ * tests/check/meson.build:
+ tests: Add tests for GstAvtpCrfBase base class.
+ This adds tests which test the functions which do not call any external
+ syscalls and the properties.
+
+2019-10-14 13:56:36 -0700 Vedang Patel <vedang.patel@intel.com>
+
+ * tests/check/elements/avtpcrfsync.c:
+ * tests/check/meson.build:
+ tests: Add tests for CRF Synchronizer element
+ This adds tests to validate whether the avtpcrfsync element applies the
+ adjustment correctly.
+ Also, the infrastructure to include additional source files while compiling
+ is added. This change is exactly the same as the one in gst-plugins-good.
+
+2019-10-14 13:55:57 -0700 Vedang Patel <vedang.patel@intel.com>
+
+ * ext/avtp/gstavtp.c:
+ * ext/avtp/gstavtpcrfcheck.c:
+ * ext/avtp/gstavtpcrfcheck.h:
+ * ext/avtp/meson.build:
+ avtp: Introduce the CRF Check element
+ This commit introduces the AVTP Clock Reference Format (CRF) Checker
+ element. This element re-uses the GstAvtpCrfBase class introduced along
+ with the CRF Synchronizer element.
+ This element will typically be used along with the avtpsrc element to
+ ensure that the AVTP timestamp (and H264 timestamp in case of CVF-H264
+ packets) is "aligned" with the incoming CRF stream. Here, "aligned" means
+ that the timestamp value should be within 25% of the period of the media
+ clock recovered from the CRF stream.
+ The user can also set an option (drop-invalid) in order to drop any packet
+ whose timestamp is not within the thresholds of the incoming CRF stream.
+
+2020-02-05 16:17:39 -0800 Vedang Patel <vedang.patel@intel.com>
+
+ * ext/avtp/gstavtp.c:
+ * ext/avtp/gstavtpcrfbase.c:
+ * ext/avtp/gstavtpcrfbase.h:
+ * ext/avtp/gstavtpcrfsync.c:
+ * ext/avtp/gstavtpcrfsync.h:
+ * ext/avtp/gstavtpcrfutil.c:
+ * ext/avtp/gstavtpcrfutil.h:
+ * ext/avtp/meson.build:
+ avtp: Introduce the CRF Sync Element
+ This commit introduces the AVTP Clock Reference Format (CRF) Synchronizer
+ element. This element implements the AVTP CRF Listener as described in IEEE
+ 1722-2016 Section 10.
+ CRF is useful in synchronizing events within different systems by
+ distributing a common clock. This is useful in a scenario where there are
+ multiple talkers who are sending data to a single listener which is
+ processing that data. E.g. CCTV cameras on a network sending AVTP video
+ streams to a base station to display on the same screen.
+ It is assumed that all the systems are already time-synchronized with each
+ other. So, the AVTP Talker essentially adjusts the AVTP Presentation Time
+ so it's phase-locked with the reference clock provided by the CRF stream.
+ There are 2 different roles of systems which participate in CRF data
+ exchange. A system can either be a CRF Talker, which samples it's own
+ clock and generates a stream of timestamps to transmit over the network, or
+ a CRF Listener, the system which receives the generated timestamps and
+ recovers the media clock from the timestamps. It then adjusts it's own
+ clock to align with recovered media clock. The timestamps generated by the
+ talker may not be continuous and the listener might have to interpolate
+ some timestamps to recover the media clock. The number of timestamps to
+ interpolate is mentioned in the CRF stream AVTPDU (Refer IEEE 1722-2016
+ Section 10.4 for AVTPDU structure). Only CRF Listener has been implemented
+ in this commit.
+ The CRF Sync element will create a separate thread to listen for the CRF
+ stream. This thread will calculate and store the average period of the
+ recovered media clock. The pipeline thread will use this stored period
+ along with the first timestamp of the latest CRF AVTPDU received to
+ calculate adjustment for timestamps in the audio/video streams. In case of
+ CRF AVTPDUs with single timestamp, two consecutive CRF AVTPDUs will be used
+ to figure out the average period of the recovered media clock.
+ In case of H264 streams, both AVTP timestamp and H264 timestamp will be
+ adjusted.
+ In the future commits, another "CRF Checker" element will be introduced
+ which will validate the timestamps on the AVTP Listener side. Which is why
+ a lot of code has been implemented as part of the gstcrfbase class.
+
+2019-12-13 11:28:08 -0800 Ederson de Souza <ederson.desouza@intel.com>
+
+ * gst/debugutils/gstclockselect.c:
+ * gst/debugutils/gstclockselect.h:
+ * tests/check/elements/clockselect.c:
+ clockselect: Add TAI clock support
+ Via new value for property clock-id, "tai", it's possible to use
+ GST_CLOCK_TYPE_TAI as pipeline clock.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1009>
+
+2020-01-27 15:16:12 -0800 Ederson de Souza <ederson.desouza@intel.com>
+
+ * tests/check/elements/clockselect.c:
+ clockselect: Remove non-sense comment
+ Commentary appears to assume `gst_harness_find_element` return value was
+ "transfer none", but it is not the case. So, element must be unrefed
+ before the end.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1009>
+
+2020-01-23 15:57:34 +0000 krivoguzovVlad <u.kryvahuzau@setplex.com>
+
+ * ext/srt/gstsrtobject.c:
+ Update gstsrtobject.c
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/999>
+
+2019-07-30 17:09:55 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst/rist/gstristrtpdeext.c:
+ * tests/check/elements/ristrtpext.c:
+ ristrtpdeext: Expose the largest sequence number received
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1153>
+
+2020-03-18 17:34:47 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst/rist/gstristrtpdeext.c:
+ * tests/check/elements/ristrtpext.c:
+ ristrtpdeext: Update RTP header extension packet to latest spec
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1153>
+
+2020-03-18 17:14:14 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst/rist/gstristrtpext.c:
+ * tests/check/elements/ristrtpext.c:
+ ristrtpext: Update RTP header extension packet to latest spec
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1153>
+
+2019-07-31 12:01:07 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst/rist/gstristsink.c:
+ * gst/rist/gstristsrc.c:
+ rist: Document main profile support
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1153>
+
+2019-07-29 17:53:21 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst/rist/gstristsrc.c:
+ ristsrc: Add ristrtpdeext to the pipeline
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1153>
+
+2019-07-29 13:58:37 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst/rist/gstristsink.c:
+ ristsink: Add ristrtpext to sink
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1153>
+
+2019-07-26 17:57:40 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst/rist/gstristsink.c:
+ ristsink: Receive RIST seqnum ext and feed it to rtxsend
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1153>
+
+2019-07-26 17:43:57 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst/rist/gstristsink.c:
+ ristsink: Pass the session id to the on-app-rtcp callback
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1153>
+
+2019-07-26 17:14:14 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst/rist/gstrist.h:
+ * gst/rist/gstristrtxsend.c:
+ ristrtxsend: Use externally given seqnum extension when available
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1153>
+
+2019-07-26 16:50:21 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst/rist/gstristrtxsend.c:
+ ristrtxsend: Store sent packets with extended seqnum
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1153>
+
+2019-07-26 16:49:51 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst/rist/gstrist.h:
+ * gst/rist/gstristplugin.c:
+ * gst/rist/gstristrtpext.c:
+ rist: Factor our seqnum extension code
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1153>
+
+2019-07-24 17:32:07 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * tests/check/elements/ristrtpext.c:
+ * tests/check/meson.build:
+ rist: Add test for rtp ext code
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1153>
+
+2019-07-23 17:27:06 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst/rist/gstristrtpdeext.c:
+ rist: Drop packets that are more than G_MAXINT16 seqnum late
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1153>
+
+2019-07-23 17:26:16 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst/rist/gstristrtpext.c:
+ rist: Insert RTP seqnum extension header
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1153>
+
+2019-07-12 11:43:26 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst/rist/gstrist.h:
+ * gst/rist/gstristplugin.c:
+ * gst/rist/gstristrtpdeext.c:
+ * gst/rist/gstristrtpext.c:
+ * gst/rist/meson.build:
+ rist: Add element to remove the header extension
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1153>
+
+2019-07-11 18:53:00 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst/rist/gstrist.h:
+ * gst/rist/gstristplugin.c:
+ * gst/rist/gstristrtpext.c:
+ * gst/rist/meson.build:
+ rist: Add element that inserts the RTP header extension
+ Currently can suppress the TS null packets, but can't insert
+ the seqnum extension yet.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1153>
+
+2020-05-01 01:51:10 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gsth264decoder.c:
+ h264decoder: Allow frame gap even if it's not allowed by SPS
+ It's most likely the case where some frames were dropped for some reason
+ (e.g., broken stream, network loss or so). However, decoder might be able to
+ decode following frames even if some frames are visually broken.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1232>
+
+2020-04-29 22:01:32 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: only start gathering on local descriptions
+ If we are in a state where we are answering, we would start gathering
+ when the offer is set which is incorrect for at least two reasons.
+ 1. Sending ICE candidates before sending an answer is a hard error in
+ all of the major browsers and will fail the negotiation.
+ 2. If libnice ever adds the username fragment to the candidate for
+ ice-restart hardening, the ice username and fragment would be
+ incorrect.
+ JSEP also hints that the right call flow is to only start gathering when
+ a local description is set in 4.1.9 setLocalDescription
+ "This API indirectly controls the candidate gathering process."
+ as well as hints throughout other sections.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1226>
+
+2020-04-29 19:42:05 +0900 Seungha Yang <seungha@centricular.com>
+
+ * ext/webrtc/webrtcdatachannel.h:
+ webrtc: Correct symbol visibility to fix build warning on Windows
+ GstWebRTCDataChannel is fully internal of plugin
+ webrtcdatachannel.c(50): warning C4273: 'gst_webrtc_data_channel_get_type': inconsistent dll linkage
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1225>
+
+2020-04-29 15:12:36 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * ext/lv2/gstlv2.c:
+ * ext/lv2/gstlv2.h:
+ * ext/lv2/gstlv2filter.c:
+ * ext/lv2/gstlv2utils.c:
+ lv2: Namespace global variables and explicitly make them private
+ And fix a LV2_PORT_GROUPS__rearLeft/LV2_PORT_GROUPS__rearRight typo
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1125>
+
+2020-03-20 15:49:06 +0100 Debarshi Ray <rishi@gnu.org>
+
+ * ext/lv2/gstlv2.c:
+ * ext/lv2/gstlv2.h:
+ lv2: Make it build with -fno-common
+ GCC 10 defaults to -fno-common. This means that global variables shared
+ across multiple translation units should be declared as 'extern' in
+ header files and defined in exactly one C file. See:
+ https://gcc.gnu.org/gcc-10/porting_to.html
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1125
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1125>
+
+2020-04-30 02:41:07 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11h264dec.c:
+ d3d11h264dec: Rearrange the order of supported profiles in caps
+ constrained-baseline profile is much preferred than baseline.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1229>
+
+2020-04-30 02:25:35 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvh264dec.c:
+ nvh264sldec: Allow constrained-baseline and baseline profiles
+ Like d3d11h264dec, we need to relax the condition for profiles of nvh264sldec
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1228>
+
+2020-04-23 23:25:21 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11h264dec.c:
+ d3d11h264dec: Add constrained-baseline and baseline profile
+ Both profiles are expected to be supported profile by DXVA hardware
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1212>
+
+2020-04-27 20:26:54 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ * sys/v4l2codecs/gstv4l2codecvp8dec.c:
+ * sys/v4l2codecs/gstv4l2decoder.c:
+ * sys/v4l2codecs/gstv4l2decoder.h:
+ * sys/v4l2codecs/meson.build:
+ v4l2codecs: Factor out plugin registration
+ This introduce a common place for generic functions and factor out the plugin
+ registration code. This code is nearly identical between implementation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1216>
+
+2020-04-27 20:18:52 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2decoder.c:
+ v4l2decoder: Relax width/height return value check
+ The driver adjust the width/height to coded size. This was not an issue for
+ H264, as the coded size is in the bitstream, but is an issue with VP8.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1216>
+
+2020-04-24 16:15:25 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codecvp8dec.c:
+ * sys/v4l2codecs/gstv4l2codecvp8dec.h:
+ * sys/v4l2codecs/linux/vp8-ctrls.h:
+ * sys/v4l2codecs/meson.build:
+ * sys/v4l2codecs/plugin.c:
+ v4l2codecs: Add VP8 decoder
+ This is derived from the H264 decoder, some boiler plate will be factored out
+ in the following commits.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1216>
+
+2020-04-28 14:55:00 -0400 Joshua M. Doe <oss@nvl.army.mil>
+
+ * sys/mediafoundation/gstmfutils.cpp:
+ * sys/mediafoundation/gstmfutils.h:
+ mfvideosrc: add GRAY16_LE format support
+ FOURCC "Y16 " is used by FLIR Boson USB Video Class (UVC) camera
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1222>
+
+2020-04-26 22:37:12 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11device.c:
+ d3d11device: Add fallback for device creation
+ D3D11_CREATE_DEVICE_DEBUG flag will be used while creating d3d11 device
+ to activate debug layer. However, if system doesn't support the
+ debug layer for some reason, we should try to create d3d11 device
+ without the flag. Debug layer should be optional for device creation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1217>
+
+2020-04-28 19:58:53 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tests/check/elements/mfvideosrc.c:
+ * tests/check/meson.build:
+ tests: mfvideosrc: Add unit test
+ Simple test for reuse scenario
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/760>
+
+2020-04-21 20:49:38 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfh264enc.cpp:
+ * sys/mediafoundation/gstmfh265enc.cpp:
+ mediafoundation: Disable querying supprted maximum resolution
+ Initializing MFT for checking supported maximum resolution is too
+ slow.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/760>
+
+2020-01-07 17:12:17 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/mediafoundation/gstmfh265enc.cpp:
+ * sys/mediafoundation/gstmfh265enc.h:
+ * sys/mediafoundation/meson.build:
+ * sys/mediafoundation/plugin.c:
+ mediafoundation: Add h265 encoder
+ Add Media Foundation HEVC encoder
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/760>
+
+2020-01-07 17:45:22 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/mediafoundation/gstmfh264enc.cpp:
+ * sys/mediafoundation/gstmfh264enc.h:
+ * sys/mediafoundation/gstmftransform.cpp:
+ * sys/mediafoundation/gstmftransform.h:
+ * sys/mediafoundation/gstmfvideoenc.cpp:
+ * sys/mediafoundation/gstmfvideoenc.h:
+ * sys/mediafoundation/gststrmif.h:
+ * sys/mediafoundation/meson.build:
+ * sys/mediafoundation/plugin.c:
+ mediafoundation: Add h264 encoder
+ Add Media Foundation h264 encoder. If hardware encoders are available
+ on system, they will have higher rank than software encoder.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/760>
+
+2019-10-07 21:49:26 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * meson_options.txt:
+ * sys/mediafoundation/gstmfcaptureengine.cpp:
+ * sys/mediafoundation/gstmfcaptureengine.h:
+ * sys/mediafoundation/gstmfsourceobject.c:
+ * sys/mediafoundation/gstmfsourceobject.h:
+ * sys/mediafoundation/gstmfsourcereader.cpp:
+ * sys/mediafoundation/gstmfsourcereader.h:
+ * sys/mediafoundation/gstmfutils.cpp:
+ * sys/mediafoundation/gstmfutils.h:
+ * sys/mediafoundation/gstmfvideosrc.c:
+ * sys/mediafoundation/gstmfvideosrc.h:
+ * sys/mediafoundation/meson.build:
+ * sys/mediafoundation/plugin.c:
+ * sys/meson.build:
+ mediafoundation: Introduce Microsoft Media Foundation plugin
+ The Microsoft Media Foundation (MF) is the successor of DirectShow.
+ This commit includes two kinds of video capture implementation,
+ one uses IMFSourceReader interface which is available since Windows Vista
+ and the other is based on IMFCaptureEngine interface which is available
+ since Windows 8.
+ Note that this new video source element cannot be used in UWP app
+ for now, since device activation using those APIs are not allowed by MS.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/760>
+
+2020-04-12 23:52:28 +0800 He Junyan <junyan.he@hotmail.com>
+
+ * tests/check/libs/h265parser.c:
+ test: h265parser: Add check for high throughput scc.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1121>
+
+2020-04-12 23:39:07 +0800 He Junyan <junyan.he@hotmail.com>
+
+ * gst-libs/gst/codecparsers/gsth265parser.c:
+ * gst-libs/gst/codecparsers/gsth265parser.h:
+ libs: h265parser: Add High throughput scc extensions profiles' IDC.
+ It is compitable with scc and we use scc's function to identify it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1121>
+
+2020-04-12 22:21:01 +0800 He Junyan <junyan.he@hotmail.com>
+
+ * tests/check/libs/h265parser.c:
+ test: h265parser: Add more check or h265 extensions.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1121>
+
+2020-04-11 16:39:03 +0800 He Junyan <junyan.he@hotmail.com>
+
+ * gst-libs/gst/codecparsers/gsth265parser.c:
+ libs: h265parser: select extension profile by profile idc.
+ the old manner does not consider the profile idc. The profile idc should
+ play an more important role in recognizing the profile than the other
+ information. And there is no need to mix profiles of different extensions
+ together to find the closest profile when the bits stream is not standard,
+ different extensions support different features and should not be mixed.
+ The correct way should be recognize the extension category by profile idc
+ firstly, and then find the closest profile.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1121>
+
+2020-03-19 23:50:39 +0800 He Junyan <junyan.he@hotmail.com>
+
+ * gst-libs/gst/codecparsers/gsth265parser.c:
+ libs: h265parser: rename the FormatRangeExtensionProfile
+ FormatRangeExtensionProfile declares the common bits used for not
+ only format range extensions profiles, but also for several different
+ h265 extension profiles, such as high throughput, screen content
+ coding extensions, etc. And So the old name is not proper.
+ We also rename the get_h265_extension_profile function.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1121>
+
+2020-03-20 16:41:16 +0800 He Junyan <junyan.he@hotmail.com>
+
+ * gst-libs/gst/codecparsers/gsth265parser.c:
+ libs: h265parser: Fix a bug for getting extension profile.
+ We should use the traget ExtensionProfile's IDC to check the
+ profile_compatibility_flag, rather than the profile_idc in the
+ stream. The old profile_compatibility_flag check always return
+ true. This causes that profiles with same constraint flags but
+ different profile_idc can't be recognized correctly. For example,
+ the screen-extended-main-444 profile is always be recognized as
+ the high-throughput-444 profile.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1121>
+
+2020-04-24 20:56:17 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gsth264decoder.c:
+ h264decoder: Perform low-latency outputting only for live pipeline
+ Frequent outputting might drop throughput-wise performance.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1211>
+
+2020-04-23 19:47:09 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gsth264decoder.c:
+ h264decoder: Output decoded pictures as soon as possible
+ In case of IDR, any previously decoded pictures must be drained
+ before the IDR and POC of IDR should be zero. So we can output
+ IDR immediately. Also, when POC of current picture is expected to be
+ the next output POC, decoder can output the picture as well
+ without waiting.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1211>
+
+2020-04-27 17:02:17 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/d3d11/gstd3d11vp8dec.c:
+ d3d11vp8dec: Remove unused parameters
+ Minor cleanup removing unused picture parameters in two internal functions.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1221>
+
+2020-04-28 00:29:52 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst-libs/gst/codecparsers/gsth265parser.h:
+ gsth265parser.h: escape link-like syntax in doc
+
+2020-04-27 11:43:57 +0300 Seppo Yli-Olli <seppo.yli-olli@iki.fi>
+
+ * ext/openh264/gstopenh264plugin.c:
+ openh264: memcmp return value 0 means match Commit e2aa76db79328b7f61536dd19d0373cf920395ad introduced version check guard for OpenH264 binary. There was a boolean error in memcmp so matching OpenH264 was erroneously rejected. Fixes #1278
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1219>
+
+2020-04-26 13:47:27 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/codecs/gsth264picture.c:
+ * gst-libs/gst/codecs/gsth265picture.c:
+ * gst-libs/gst/codecs/gstvp9picture.c:
+ codecs: fix gir generation
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1218>
+
+2020-04-22 14:57:12 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvh264dec.c:
+ * sys/nvcodec/gstnvh264dec.h:
+ * sys/nvcodec/plugin.c:
+ nvcodec: Add suppport for environment based primary h264 decoder implementation
+ Introduce GST_USE_NV_STATELESS_CODEC environment to allow user to select
+ primary nvidia decoder implementation. In case the environment
+ GST_USE_NV_STATELESS_CODEC=h264 was set, old nvidia h264 decoder element
+ will not be registered. Instead, both nvh264dec and nvh264sldec
+ factory name will create gstcodecs based new nvidia h264 decoder element.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1198>
+
+2020-04-16 23:27:31 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvdec.c:
+ * sys/nvcodec/gstnvdec.h:
+ * sys/nvcodec/gstnvdecoder.c:
+ * sys/nvcodec/gstnvdecoder.h:
+ * sys/nvcodec/gstnvh264dec.c:
+ * sys/nvcodec/gstnvh264dec.h:
+ * sys/nvcodec/meson.build:
+ * sys/nvcodec/plugin.c:
+ nvcodec: Add H264 stateless codec implementation
+ Introduce GstH264Decoder based Nvidia H.264 decoder element.
+ Similar the element factory name of to v4l2 stateless codec,
+ this element can be configured with factory name "gstnvh264sldec".
+ Note that "sl" in the name stands for "stateless"
+ For now, existing nvh264dec covers more profile and formats
+ (e.g., interlaced stream) than this implementation.
+ However, this implementation allows us to control lower level
+ parameters such as decoded picture buffer management and therefore
+ we can get a chance to improve performance in terms of latency.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1198>
+
+2020-04-22 16:53:00 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * ext/closedcaption/gstcccombiner.c:
+ * ext/closedcaption/gstcccombiner.h:
+ cccombiner: don't drop buffers on video timestamp discontinuities
+ If we receive video buffers with non-perfect timestamps, the
+ caption buffers' timestamps might fall in the interval between
+ the end of one video buffer and the start of the next one.
+ Make our criteria for dropping that the caption buffer has
+ a timestamp older than the end of the previous video buffer,
+ not older than the start of the new one, unless of course
+ this is the first video buffer.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1207>
+
+2020-04-22 16:51:08 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * ext/closedcaption/gstcccombiner.c:
+ cccombiner: handle gap buffers adequately
+ - Don't try to map them as actual CC data, that was raising
+ a critical
+ - Consume video buffers up to the end of the gap
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1207>
+
+2020-04-24 01:56:57 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ v4l2slh264dec: Support avc and avc3 formats
+ h264decoder baseclass provides parsed sps/pps (from codec data) for
+ subclass. Also, since current implementation is putting start code prefix
+ manually, the format of stream should not be matter for subclass.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1214>
+
+2020-04-23 12:28:41 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+ * ext/spandsp/gstspanplc.c:
+ * ext/spandsp/gstspanplc.h:
+ spanplc: add 'stats' property
+ Allow users to retrieve the number of samples, and their duration,
+ generated using PLC.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1210>
+
+2020-04-21 13:33:54 +0300 Seppo Yli-Olli <seppo.yli-olli@iki.fi>
+
+ * ext/openh264/gstopenh264plugin.c:
+ Have strict version check for OpenH264 to avoid ABI issues This fixes #1274 and no longer trusts soname alone
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1206>
+
+2020-04-23 23:52:24 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11h264dec.c:
+ * sys/d3d11/gstd3d11h265dec.c:
+ * sys/d3d11/gstd3d11vp8dec.c:
+ * sys/d3d11/gstd3d11vp9dec.c:
+ d3d11decoder: Fix wrong return type from output_picture vfunc
+ Return type should be GstFlowReturn, not gboolean
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1213>
+
+2020-04-23 12:00:15 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/codecs/gsth264decoder.c:
+ * gst-libs/gst/codecs/gsth265decoder.c:
+ codecs: set sys frame num before new_picture()
+ Derive classes might need to operate on the current frame at their
+ new_picture() vmethod, so it would be needed to set system_frame_number
+ on picture before calling the vmethod.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1209>
+
+2020-04-22 17:53:39 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/videoparsers/gsth264parse.c:
+ * gst/videoparsers/gsth265parse.c:
+ h264/h265parse: Fix handling of very last frame
+ Baseparse will never call us back on draining, so going into more: label will
+ cause the current frame to be discarded. So if we have a complete NAL, but not
+ a complete AU, make sure to terminate the frame properly.
+ This is a gression introduce by commit e88d8480709581a2e54b7954c47193b729b23c79 and
+ a194a87b2600a21f1b47b8c89b1c930d5f30de42.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1275
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1208>
+
+2020-02-28 18:14:51 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11decoder.c:
+ * sys/d3d11/gstd3d11decoder.h:
+ * sys/d3d11/gstd3d11vp8dec.c:
+ * sys/d3d11/gstd3d11vp8dec.h:
+ * sys/d3d11/meson.build:
+ * sys/d3d11/plugin.c:
+ d3d11decoder: Add VP8 decoder element
+ New d3d11 VP8 decoder implementation
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1079>
+
+2020-04-23 01:02:58 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gsth264picture.c:
+ * gst-libs/gst/codecs/gsth265picture.c:
+ * gst-libs/gst/codecs/gstvp9picture.c:
+ codecs: Fix some documentation
+ Add missing "transfer full" annotation, etc
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1079>
+
+2020-03-29 22:23:23 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gstvp8decoder.c:
+ * gst-libs/gst/codecs/gstvp8decoder.h:
+ * gst-libs/gst/codecs/gstvp8picture.c:
+ * gst-libs/gst/codecs/gstvp8picture.h:
+ * gst-libs/gst/codecs/meson.build:
+ codecs: Add new baseclass for VP8 decoder
+ This implemenation is similar to VP9 but much simpler than it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1079>
+
+2020-03-29 23:31:13 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11decoder.c:
+ * sys/d3d11/gstd3d11decoder.h:
+ * sys/d3d11/gstd3d11h264dec.c:
+ * sys/d3d11/gstd3d11h265dec.c:
+ * sys/d3d11/gstd3d11vp9dec.c:
+ d3d11decoder: Add helper methods for negotiation and decide_allocation
+ The implementation for all codecs is almost the same.
+ No need to duplicate code.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1079>
+
+2020-03-29 22:36:59 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gstvp9decoder.h:
+ vp9decoder: Fix small typo
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1079>
+
+2020-03-29 22:35:06 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gsth264decoder.h:
+ * gst-libs/gst/codecs/gsth265decoder.h:
+ * gst-libs/gst/codecs/gstvp9decoder.h:
+ codecs: Reorganize the order of vfunc
+ ... to the order in which it is actually called
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1079>
+
+2020-04-11 03:11:35 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/kms/gstkmsallocator.c:
+ * sys/kms/gstkmsutils.c:
+ * sys/kms/meson.build:
+ kmssink: Add support for P010 and P016 formats
+ Support high bit-depth YUV formats
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1188>
+
+2020-04-21 15:30:03 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11window.cpp:
+ d3d11window: Fix videoprocessor leak
+ Clear all objects in dispose function
+
+2020-04-21 15:27:56 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11device.c:
+ d3d11device: Drop floating reference count
+ ... and use gst_object_unref instead of g_object_unref for tracer
+ to be happy.
+
+2020-04-20 22:48:43 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gsth264decoder.c:
+ h264decoder: Don't handle gap frame num for the first picture
+ If the first picture is not IDR, it would have non-zero frame_num
+ but it's not gap. We should skip gap frame handling in that case
+
+2020-04-20 16:00:30 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gsth264decoder.c:
+ * gst-libs/gst/codecs/gsth264picture.c:
+ h264decoder: Add some debug messages
+
+2020-04-16 22:15:37 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/v4l2codecs/gstv4l2codecallocator.c:
+ v4l2codecs: allocator: use gst_clear_object
+ So tracer can do its job.
+
+2020-04-19 19:18:14 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * tests/check/elements/mpegtsmux.c:
+ tsmux: Don't assert sinkpad reference counts in test
+ We can't be sure about the reference count if the muxer is currently
+ running, which can happen in the test_reappearing_pad test. An
+ additional reference might temporarily be owned by the srcpad task of
+ tsmux while iterating over the pads.
+
+2020-04-19 18:37:58 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/codecs/gsth264decoder.c:
+ * gst-libs/gst/codecs/gsth264picture.h:
+ codecs: h264picture: typo in GstH264PictureField enum
+
+2020-04-16 16:17:56 +0000 Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+ * gst/transcode/gsttranscodebin.c:
+ transcodebin: fix caps NULL unref
+ gst_pad_get_current_caps() can return a NULL pointer which was raisin a CRITICAL.
+
+2020-04-16 15:35:44 +0200 Stéphane Cerveau <scerveau@collabora.com>
+
+ * sys/kms/gstkmssink.c:
+ kmssink: fix memory leak on failing allowed caps
+ When drm does not find any format, the allowed_caps is
+ empty one and need to be unref by the caller.
+ Fix #1268
+
+2020-04-14 17:10:34 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/kms/gstkmssink.c:
+ kmssink: Save last metadata at the same time as the last buffer
+ The render width/height and the vinfo was only saved upon renegotiation. This
+ fixes the problem by saving this metadata at the same time the buffer is
+ saved. The saved copy of this is needed for expose() and drain() virtual functions.
+ This fixes various assertion that happens on drain query.
+
+2020-03-31 12:42:26 -0400 George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+ * tests/check/elements/h265parse.c:
+ tests: h265parse: Add unit test for conversion and sliced data
+ testing only byte-stream for now
+
+2019-03-28 17:23:30 +0200 George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+ * tests/check/elements/h264parse.c:
+ tests: h264parse: unit tests for sliced data processing
+
+2019-09-20 15:21:17 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * gst/videoparsers/gsth264parse.c:
+ h264parse: Remove unused arguments
+
+2019-06-12 22:19:04 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/videoparsers/gsth264parse.c:
+ h264parse: Don't push NALs before we have HEADERS
+ Otherwise we may endup pushing incomplete caps, which cause a renegotiation.
+ Note that this has the effect that caps are no longer pushed twice in presence
+ of valid framerate in the headers.
+
+2018-10-10 15:27:30 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/videoparsers/gsth265parse.c:
+ h265parse: Don't push NALs before we have HEADERS
+ Otherwise we may endup pushing incomplete caps. Note that this has the side
+ effect that caps are no longer pushed twice in presence of VUI with valid
+ framerate.
+
+2018-10-09 16:42:58 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/videoparsers/gsth265parse.c:
+ h265parse: Differentiate PREFIX SEI from SUFFIX
+ There is some code to fixup broken stream that uses the SEI location,
+ this code is meant to locate SUFFIX SEI only. This should prevent
+ unwanted side effect if SUFFIX SEI is used.
+
+2018-10-03 16:43:14 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/videoparsers/gsth265parse.c:
+ h265parse: Don't add latency when not needed
+ We no longer add latency when doing AU->AU, AU->NAL and NAL->NAL
+ parsing.
+
+2018-10-03 16:35:39 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/videoparsers/gsth265parse.c:
+ * gst/videoparsers/gsth265parse.h:
+ h265parse: Propagate MARKER flag
+
+2018-10-09 16:01:08 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/videoparsers/gsth265parse.c:
+ * gst/videoparsers/gsth265parse.h:
+ h265parse: Don't wait for next NAL if input is aligned
+ Waiting for the next NAL increases the latency. If alignment=nal/au
+ has been negotiated, assumes the the buffer contains a complete
+ NAL and don't expect a second start-code. This way, nal -> nal,
+ au -> au and au -> nal no longer introduce latency.
+ As a side effect, the collect_pad() function was not able to poke at the
+ following NAL. This call is now moved before processing the NAL, so
+ it's looking at the current NAL before it's ingested into the parser
+ state in order to dermin if the end of an AU has been reached. The AUD
+ injection state as been adapted to support this.
+ This change will break pipelines if alignment=nal is used without respecting the
+ alignment. Effectively, the parser will no longer fix the broken aligment
+ which will result in parser error and the termination of the pipeline. Such
+ issue existed in tsdemux element and might exist in any forks of that code.
+ Related to https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1193
+
+2018-10-03 15:53:23 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/videoparsers/gsth265parse.c:
+ h265parse: Set PTS/DTS and DISCONT on crafted NAL
+ When we inject a NAL in the bitstream before another one, make
+ sure to pass both DTS and PTS. Also make sure to transfer the
+ DISCONT flag properly.
+
+2018-09-27 22:10:14 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/videoparsers/gsth264parse.c:
+ h264parse: Don't add latency when not needed
+ We no longer add latency when doing AU->AU, AU->NAL and NAL->NAL
+ parsing.
+
+2018-09-28 16:49:52 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/videoparsers/gsth264parse.c:
+ * gst/videoparsers/gsth264parse.h:
+ h264parse: Propagate MARKER flag
+
+2018-09-25 16:10:13 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/videoparsers/gsth264parse.c:
+ h264parse: Don't wait for next NAL if input is aligned
+ Waiting for the next NAL increases the latency. If alignment=nal/au
+ has been negotiated, assumes that the buffer contains a complete
+ NAL and don't expect a second start-code. This way, nal -> nal,
+ au -> au and au -> nal no longer introduce latency.
+ As a side effect, the collect_pad() function was not able to poke at the
+ following NAL. This call is now moved before processing the NAL, so
+ it's looking at the current NAL before it's ingested into the parser
+ state in order to dermin if the end of an AU has been reached. The AUD
+ injection state as been adapted to support this.
+ This change will break pipelines if alignment=nal is used without respecting the
+ alignment. Effectively, the parser will no longer fix the broken aligment
+ which will result in parser error and the termination of the pipeline. Such
+ issue existed in tsdemux element and might exist in any forks of that code.
+ Related to https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1193
+
+2018-09-25 16:16:42 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/videoparsers/gsth264parse.c:
+ h264parse: Set PTS/DTS and DISCONT on crafted NAL
+ When we inject a NAL in the bitstream before another one, make
+ sure to pass both DTS and PTS. Also make sure to transfer the
+ DISCONT flag properly.
+
+2018-09-25 16:11:03 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/videoparsers/gsth264parse.c:
+ h264parse: Remove no-op assignment
+ upstream was set to *out_ts, setting *out_ts to upstream here will
+ have no effect.
+
+2020-04-13 18:18:45 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/mpegtsmux/gstbasetsmux.c:
+ mpegtsmux: Chain up pad dispose function to the one of the parent class
+ Otherwise we will leak various memory.
+
+2020-04-13 18:04:19 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/mpegtsmux/gstbasetsmux.c:
+ mpegtsmux: Properly release requests pads by chaining up to aggregators function
+
+2020-04-10 19:54:31 +0300 Vivia Nikolaidou <vivia@ahiru.eu>
+
+ * gst/mpegtsmux/gstbasetsmux.c:
+ * gst/mpegtsmux/tsmux/tsmux.c:
+ * gst/mpegtsmux/tsmux/tsmux.h:
+ * gst/mpegtsmux/tsmux/tsmuxstream.c:
+ * gst/mpegtsmux/tsmux/tsmuxstream.h:
+ * tests/check/elements/mpegtsmux.c:
+ tsmux: Ability for streams to disappear and reappear
+ Until now, any streams in tsmux had to be present when the element
+ started its first buffer. Now they can appear at any point during the
+ stream, or even disappear and reappear later using the same PID.
+
+2020-03-18 17:58:52 +0100 Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+ * ext/srt/gstsrtobject.c:
+ * ext/srt/gstsrtobject.h:
+ srt: Accumulate total bytes sent/received over all connections/callers
+ So we don't lose them. Split gst_srt_object_open_internal for internal
+ reconnections that don't reset the accumulated bytes.
+
+2020-03-23 16:38:58 +0100 Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+ * ext/srt/gstsrtobject.c:
+ srt: Fix type of bytes-received-lost
+ The field is a uint64_t.
+
+2020-03-18 18:06:59 +0100 Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+ * ext/srt/gstsrtobject.c:
+ * ext/srt/gstsrtobject.h:
+ * ext/srt/gstsrtsink.c:
+ * ext/srt/gstsrtsrc.c:
+ srt: Remove use of closures for signal emission
+ It seems overly complicated.
+
+2020-03-18 17:55:38 +0100 Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+ * ext/srt/gstsrtobject.c:
+ * ext/srt/gstsrtobject.h:
+ * ext/srt/gstsrtsink.c:
+ * ext/srt/gstsrtsrc.c:
+ srt: Clean up locking
+ Use GST_OBJECT_LOCK (srtobject->element) to protect only the fields
+ involved in property access.
+ Introduce a new mutex srtobject->sock_lock to go with
+ srtobject->sock_cond and protect the list of callers from concurrent
+ access.
+
+2020-03-18 17:54:29 +0100 Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+ * ext/srt/gstsrtobject.c:
+ * ext/srt/gstsrtobject.h:
+ * ext/srt/gstsrtsink.c:
+ * ext/srt/gstsrtsink.h:
+ * ext/srt/gstsrtsrc.c:
+ * ext/srt/gstsrtsrc.h:
+ srt: Remove trailing whitespace
+
+2018-10-10 18:36:57 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/mpegtsdemux/tsdemux.c:
+ mpegtsdemux: Don't pretend doing NAL alignment
+ Per specification in 2.14.2 "For PES packetization, no specific data
+ alignment constraints apply". So we should not advertise NAL
+ alignment.
+ This bug was introduced at the same moment the alignment field was introduced
+ 10 years ago. The plan was that alignment=none (or no alignment field) was to
+ be used for mpegtsdemux, but no one noticed the error. The reason is that at
+ the same moment, everything dealing with H264 started defaulting to AU
+ alignment.
+ https://bugzilla.gnome.org/show_bug.cgi?id=606662#c22
+ This patch will have a side effect that a parser is now needed after the
+ tsdemux element. The following pipeline will not negotiate anymore as the
+ mpegtsmux element requires alignment={nal,au}.
+ ... ! tsdemux ! mpegtsmux ! ...
+ As a side effect, anyone that forked from tsdemux should updated their code to
+ fix this bug.
+
+2020-04-13 20:36:50 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/videoparsers/gsth264parse.c:
+ h264parse: Remove useless comparison
+ sei_pic_struct is unsigned and GST_H264_SEI_PIC_STRUCT_FRAME is zero.
+ CID: 1461467
+
+2020-04-13 20:31:14 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecparsers/gsth265parser.c:
+ h265parser: Fix some coverity issues
+ - Remove useless comparison
+ - Fix invalid memory access
+ CID: 1461477, 1461476, 1461475, 1461474, 1461279
+
+2020-04-03 15:45:02 +0100 Philippe Normand <philn@igalia.com>
+
+ * ext/wpe/WPEThreadedView.cpp:
+ * ext/wpe/WPEThreadedView.h:
+ wpe: Add support for SHM without requiring EGLDisplay
+ The previous version of the SHM export support still required a valid
+ EGLDisplay. The upcoming WPEBackend-FDO 1.8.x aims to remove this requirement,
+ hence allowing wpesrc to be used without GPU.
+
+2020-04-13 15:21:48 +0900 J. Kim <jeongseok.kim@sk.com>
+
+ * ext/srt/gstsrtobject.c:
+ srtobject: fix mutex lock target
+ GstSRTObject is a structure that has an actual GstElement
+ which is extended to srt{src,sink}.
+
+2020-04-10 21:03:04 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/v4l2codecs/gstv4l2codecdevice.c:
+ * sys/v4l2codecs/gstv4l2codecdevice.h:
+ v4l2codecs: fix v4l2codecdevice get type
+ Currently the GType of v4l2codecdevice is hardcoded to zero, but it
+ rather should be delivered by the GType system.
+
+2020-04-10 18:22:21 +0300 Jordan Petridis <jpetridis@gnome.org>
+
+ * sys/msdk/gstmsdkdec.c:
+ gstmsdkdec: fix logical operation that misses parenthesis
+ in C, & is weaker than the ! operator and clang is giving the following
+ error about it.
+ ```
+ ../subprojects/gst-plugins-bad/sys/msdk/gstmsdkdec.c:731:7: error: logical not is only applied to the left hand side of this bitwise operator [-Werror,-Wlogical-not-parentheses]
+ if (!gst_msdk_context_get_job_type (thiz->context) & GST_MSDK_JOB_DECODER) {
+ ^ ~
+ ../subprojects/gst-plugins-bad/sys/msdk/gstmsdkdec.c:731:7: note: add parentheses after the '!' to evaluate the bitwise operator first
+ if (!gst_msdk_context_get_job_type (thiz->context) & GST_MSDK_JOB_DECODER) {
+ ^
+ ( )
+ ../subprojects/gst-plugins-bad/sys/msdk/gstmsdkdec.c:731:7: note: add parentheses around left hand side expression to silence this warning
+ if (!gst_msdk_context_get_job_type (thiz->context) & GST_MSDK_JOB_DECODER) {
+ ^
+ ( )
+ 1 error generated.
+ ```
+
+2020-03-23 14:40:52 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gsth264decoder.c:
+ * gst-libs/gst/codecs/gsth265decoder.c:
+ * gst-libs/gst/codecs/gstvp9decoder.c:
+ codecs: Add minimal state validation
+ ... to prevent requesting decoding before the preparation.
+ For instance, baseclass should not request decoding a picture if there
+ is no parsed valid headers, since subclass is most likely
+ not ready to decoding it.
+
+2020-03-30 15:42:35 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecparsers/gsth265parser.c:
+ * gst-libs/gst/codecparsers/gsth265parser.h:
+ h265parser: Add APIs to allow update VPS/SPS/PPS
+ gst_h265_parser_parse_{vps,sps,pps} APIs were used to parse VPS/SPS/PPS and
+ also in order to update parser's internal state at once. Meanwhile
+ gst_h265_parse_{vps,sps,pps} APIs are to parse VPS/SPS/PPS without state update.
+ This commit introduces new APIs so that only accepted VPS/SPS/PPS by user
+ can be updated to be used by parser.
+
+2020-03-30 15:27:40 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecparsers/gsth264parser.c:
+ * gst-libs/gst/codecparsers/gsth264parser.h:
+ h264parser: Add APIs to allow update SPS/PPS
+ gst_h264_parser_parse_{sps,pps} APIs were used to parse SPS/PPS and
+ also in order to update parser's internal state at once. Meanwhile
+ gst_h264_parse_{sps,pps} APIs are to parse SPS/PPS without state update.
+ This commit introduces new APIs so that only accepted SPS/PPS by user
+ can be updated to be used by parser.
+
+2020-04-09 23:12:25 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/kms/meson.build:
+ meson: kmssink: Allow fallback only on linux
+ Otherwise fallback will waste meson configure time on non-linux
+
+2020-04-08 01:22:07 +0200 Zeid Bekli <zeidb@axis.com>
+
+ * ext/srtp/gstsrtp.c:
+ srtp: Added support for BYE packet
+ SRTCP can't get SSRC from BYE packet, this will make srtpdec element
+ to drop the package. Adding support to get the SSRC from BYE packets.
+
+2020-04-09 16:12:58 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstcuvidloader.c:
+ * sys/nvcodec/gstcuvidloader.h:
+ * sys/nvcodec/gstnvdec.c:
+ * sys/nvcodec/gstnvenc.c:
+ * sys/nvcodec/gstnvenc.h:
+ * sys/nvcodec/plugin.c:
+ nvdec: Don't hardcode DPB size
+ Too many decode surface would waste GPU memory. Also it seems to be
+ introducing additional latency depending on stream. Since nvcodec
+ sdk version 9.0, CUVID parser API has been providing the minimum
+ required number of surface. By using it, we can save GPU memory
+ and reduce possible latency.
+
+2020-04-08 14:21:30 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codecdevice.c:
+ v4l2codecs: Fix FD leak during device enumeration
+ This was revealed by Coverity.
+ CID 1461248
+
+2020-04-07 19:28:27 +0200 Stéphane Cerveau <scerveau@collabora.com>
+
+ * ext/dash/gstmpdclient.c:
+ dash: fix VARARGS coverity error
+ va_end was not called in every code path due to
+ g_return_val_if_fail.
+ API usage errors (VARARGS)
+ va_end was not called for "myargs".
+ CID: 1461294
+
+2020-04-08 12:10:21 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * meson.build:
+ * meson_options.txt:
+ Meson: Change extra-checks to feature option and make it yielding
+
+2020-04-08 14:00:48 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/videoparsers/gsth264parse.c:
+ h264parse: Fix content light level value changes
+ Same as for H265, was found by Coverity.
+
+2020-04-07 17:04:30 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/videoparsers/gsth265parse.c:
+ h265parse: Fix content light level value changes
+ The comparision was not testing anything meaninful. This fixes the comparision
+ so we now update the caps whenever the value differ. This was detected by
+ coverity.
+ CID 1461291
+
+2020-04-08 18:39:06 +0200 Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+ * gst/rtmp2/gstrtmp2sink.c:
+ * gst/rtmp2/gstrtmp2src.c:
+ rtmp2: Avoid a deadlock when getting stats
+ We need to do this without holding the lock as the `g_async_queue_pop`
+ waits on the loop thread to deliver the stats. The loop thread might
+ attempt to take the lock as well, leading to a deadlock.
+ Taking a reference to the connection should be enough to keep this
+ safe.
+
+2020-04-08 15:37:03 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/videoparsers/gsth264parse.c:
+ * gst/videoparsers/gsth264parse.h:
+ h264parse: Add support for inband timecode update
+ Add new property "update-timecode" to allow updating timecode
+ in picture timing SEI depending on timecode meta. Since the picture
+ timing SEI message requires proper VUI setting but we don't support
+ re-writing SPS, this might not work for some streams
+
+2020-04-08 17:07:36 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/videoparsers/gsth264parse.c:
+ h264parse: Don't unconditionally append timecode meta
+ If upstream buffer has its own timecode metatdata, don't append
+ new timecode meta into the buffer.
+
+2020-04-08 16:24:06 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecparsers/gsth264parser.c:
+ * gst-libs/gst/codecparsers/gsth264parser.h:
+ * gst/videoparsers/gsth264parse.c:
+ h264parser: Parse all SEI payload type even if it's not handled by parser
+ ... so that user can handle it from outside of parser API
+
+2020-04-07 20:26:23 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecparsers/gsth264parser.c:
+ * tests/check/libs/h264parser.c:
+ h264parser: Add support for creating picture timing SEI
+ This new method can make it possible to inject timecode meta into
+ h264 bitstream
+
+2020-04-07 22:30:55 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tests/check/libs/h264parser.c:
+ tests: h264parser: Fix picture timing SEI
+ The payloadSize don't need to include rbsp_trailing_bits()
+
+2020-04-07 19:32:29 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecparsers/gsth264parser.c:
+ * gst-libs/gst/codecparsers/gsth264parser.h:
+ h264parser: Make GstH264PicTiming self-containing all the syntax information
+ ... and store all parsed values.
+ We are storing pic_struct_present_flag although it's not part of
+ this SEI message but GstH264PicTiming includes it to clarify
+ following syntax values.
+ In addition to that, by adding CpbDpbDelaysPresentFlag, we don't need to
+ refer to VUI anymore.
+
+2020-04-07 21:17:30 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecparsers/gsth264parser.c:
+ h264parser: Fix some misleading debug messages
+
+2020-04-07 09:17:15 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecparsers/gsth264parser.h:
+ h264parser: Fix mismatched argument of declaration and definition
+
+2020-04-06 10:25:37 +0200 Michael Olbrich <m.olbrich@pengutronix.de>
+
+ * gst/sdp/gstsdpdemux.c:
+ * gst/sdp/gstsdpdemux.h:
+ sdpdemux: don't send EOS for unknown SSRC
+ The rtpbin sends signals for all SSRCs. Don't send an EOS when the SSRC
+ does not match the stream SSRC.
+ This avoids problems when an SSRC from another receiver times out.
+
+2020-04-08 08:47:37 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/libs/codecs/index.md:
+ * docs/libs/codecs/sitemap.txt:
+ * docs/meson.build:
+ * gst-libs/gst/codecs/gsth264decoder.c:
+ * gst-libs/gst/codecs/gsth265decoder.c:
+ * gst-libs/gst/codecs/gstvp9decoder.c:
+ * gst-libs/gst/codecs/meson.build:
+ codecs: Add basic documentation stubs
+
+2020-04-07 17:10:08 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2decoder.c:
+ v4l2decoder: Fix file descriptor leak
+ A copy paste error was leading to file descriptor leak. This was detected by
+ Coverity.
+ CID 1461285
+
+2020-04-06 16:40:38 +0100 Philippe Normand <philn@igalia.com>
+
+ * gst/debugutils/gstfakevideosink.c:
+ * gst/debugutils/gstfakevideosink.h:
+ fakevideosink: Allow allocation meta flags fine-tuning
+ In some scenarios the fakevideosink shouldn't advertize the overlay-composition
+ meta for instance, so that overlay elements perform subtitles blending
+ themselves.
+
+2020-04-06 10:19:23 +0200 Michael Olbrich <m.olbrich@pengutronix.de>
+
+ * gst/mpegtsdemux/mpegtspacketizer.c:
+ mpegtspacketizer: be more tolerant when parsing the adaptation field
+ According to the specification, the adaptation field length must be 183 if
+ there is no payload data and < 183 if the packet contains an adaptation
+ field and payload data.
+ Unfortunately some payloaders always set the flag for payload data, even if
+ the adaptation field length is 183.
+ Don't return with an error in this case. Clear the payload data flag
+ instead and parse the adaptation field as usual. This avoids visual
+ artefacts for such streams.
+
+2020-04-06 15:06:01 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/codecs/gsth264decoder.c:
+ * gst-libs/gst/codecs/gsth264picture.h:
+ codecs: h264: Fix DPB size calculation
+ As per specification in A.3.1 h) and A.3.2 f), the maximum size of the DPB is
+ 16. Fix the maximum in the fine and fix the formula to use MIN instead of MAX
+ so that we no longer always use the maximum for the profile/level.
+
+2020-04-01 12:33:38 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkvp9dec.c:
+ msdkvp9dec: add support for VP9 12bit
+ The output formats are P012_LE for 12bit 420 and Y412_LE for 12bit 444.
+
+2020-04-03 18:50:16 -0400 worldofpeace <worldofpeace@protonmail.ch>
+
+ * ext/neon/meson.build:
+ meson: build with neon 0.31
+ No API/ABI changes https://github.com/notroj/neon/blob/0.31.0/NEWS#L3
+
+2020-04-03 17:07:47 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * ext/vulkan/shaders/meson.build:
+ * meson.build:
+ * sys/d3d11/meson.build:
+ meson: Don't use get_option('buildtype')
+ We should directly check the values of the `debug` and `optimization`
+ options instead.
+ `get_option('buildtype')` will return `'custom'` for most combinations
+ of `-Doptimization` and `-Ddebug`, but those two will always be set
+ correctly if only `-Dbuildtype` is set. So we should look at those
+ options directly.
+ For the two-way mapping between `buildtype` and `optimization`
+ + `debug`, see this table:
+ https://mesonbuild.com/Builtin-options.html#build-type-options
+
+2020-03-23 12:56:46 +0100 Stéphane Cerveau <scerveau@collabora.com>
+
+ * sys/kms/meson.build:
+ kms: add fallback on libdrm project if available.
+
+2020-03-12 13:28:59 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkh265dec.c:
+ msdkh265dec: add support for main-444-12, main-444-12-intra profiles
+ The video format is Y412_LE
+
+2020-03-12 13:21:02 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkallocator_libva.c:
+ msdk: map Y412_LE to VA_FOURCC_Y416
+ In media driver, VA_FOURCC_Y416 is used for packed 12 bits 4:4:4:4 YUV
+ format, the corresponding RT format is VA_RT_FORMAT_YUV442_12
+
+2020-03-12 13:12:33 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkallocator_libva.c:
+ * sys/msdk/msdk_libva.c:
+ msdk: map MFX_FOURCC_Y416 to VA_FOURCC_Y416
+ Y416 is used for packed 12 bits 4:4:4:4 YUV format in media driver, the
+ RT format is VA_RT_FORMAT_YUV444_12
+
+2020-03-12 12:58:40 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdksystemmemory.c:
+ * sys/msdk/gstmsdkvideomemory.c:
+ * sys/msdk/msdk.c:
+ msdk: map Y412_LE to MFX_FOURCC_Y416
+ MFX_FOURCC_Y416 is used for packed 12 bits 4:4:4:4 YUV format in
+ MediaSDK
+
+2020-03-11 14:55:33 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkh265dec.c:
+ msdkh265dec: add support for main-422-12, main-422-12-intra profiles
+ The video format is Y212_LE
+
+2020-03-11 14:35:55 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkallocator_libva.c:
+ msdk: map Y212_LE to VA_FOURCC_Y216
+ In media driver, VA_FOURCC_Y216 is used for packed 12 bits 4:2:2 YUV
+ format, the corresponding RT format is VA_RT_FORMAT_YUV422_12
+
+2020-03-11 14:09:11 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkallocator_libva.c:
+ * sys/msdk/msdk_libva.c:
+ msdk: map MFX_FOURCC_Y216 to VA_FOURCC_Y216
+ In media driver, Y216 is used for packed 12 bits 4:2:2 format YUV
+ format, so the RT format is VA_RT_FORMAT_YUV422_12.
+
+2020-03-11 13:54:42 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdksystemmemory.c:
+ * sys/msdk/msdk.c:
+ msdk: map Y212_LE to MFX_FOURCC_Y216
+ MFX_FOURCC_Y216 is used for packed 12 bits 422 YUV format in MediaSDK
+
+2020-04-03 00:42:23 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/msdk/gstmsdkh265enc.c:
+ msdkh265enc: Fix for wrong parser free function
+
+2020-03-18 12:30:51 +1100 Jan Schmidt <jan@centricular.com>
+
+ * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+ adaptivedemux: Handle instant rate change requests directly
+ Downstream demuxers will first send seek events upstream to us.
+ Do the right thing with instant rate change requests by handling them
+ immediately.
+
+2020-03-17 19:31:22 +1100 Jan Schmidt <jan@centricular.com>
+
+ * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+ adaptivedemux: Don't ignore gst_segment_do_seek() return result
+ gst_segment_do_seek() can fail, so don't ignore the return result
+
+2018-11-30 05:18:42 +1100 Jan Schmidt <jan@centricular.com>
+
+ * gst/mpegtsdemux/mpegtsbase.c:
+ tsdemux: Send instant-rate-change event if requested in the SEEK event
+ Convert instant-rate-change seek events into a downstream
+ instant-rate-change event and skip any further local seek handling.
+
+2020-03-31 20:51:15 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/msdk/gstmsdkh264enc.c:
+ * sys/msdk/gstmsdkh264enc.h:
+ msdkh264enc: Configure parser and SEI array only if it's required
+
+2020-03-31 15:25:47 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/msdk/gstmsdkh265enc.c:
+ * sys/msdk/gstmsdkh265enc.h:
+ msdkh265enc: Add support for CEA708 closed caption insertion
+ Functionally identical to that of msdkh264enc
+
+2020-03-19 18:25:18 +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 helper method to create SEI nal unit
+ Add an API to create raw SEI nal unit. This would be useful in case
+ an user want to create SEI nal data and inject the SEI nal data
+ into bitstream.
+
+2020-04-01 19:43:51 +0200 Miguel Paris <mparisdiaz@gmail.com>
+
+ * ext/srtp/gstsrtpdec.c:
+ srtpdec: reduce log level for replay cases
+ These are normal cases, so DEBUG level is enough.
+
+2017-04-11 12:41:11 +0200 Miguel París Díaz <mparisdiaz@gmail.com>
+
+ * ext/srtp/gstsrtp.h:
+ * ext/srtp/gstsrtpdec.c:
+ srtpdec: do not warning old replay errors
+ Reordered packets producing decrypting errors are very normal,
+ so we should filter which errors are warning and which not.
+
+2018-05-29 15:00:43 +0200 Miguel Paris <mparisdiaz@gmail.com>
+
+ * ext/srtp/gstsrtpdec.c:
+ * ext/srtp/gstsrtpdec.h:
+ srtpdec: fix reseting RTP sequence number on ROC changes
+ Each srtp_stream_t is tied to an specific SSRC, so a
+ roc_changed flag should be kept per each SSRC in order to
+ properly reset RTP sequence number on ROC changes.
+
+2020-03-13 16:50:16 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11format.c:
+ d3d11: Update for video-hdr struct change
+ See the change of -base https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/594
+
+2020-03-13 16:45:12 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvh265enc.c:
+ nvh265enc: Update for video-hdr struct change
+ See the change of -base https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/594
+
+2020-03-13 16:34:01 +0900 Seungha Yang <seungha@centricular.com>
+
+ * ext/x265/gstx265enc.c:
+ x265enc: Update for video-hdr struct change
+ See the change of -base https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/594
+
+2020-03-13 16:17:07 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/videoparsers/gsth264parse.c:
+ * gst/videoparsers/gsth265parse.c:
+ * tests/check/elements/h264parse.c:
+ * tests/check/elements/h265parse.c:
+ h264parse,h265parse: Update for video-hdr struct change
+ See the change of -base https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/594
+
+2018-07-28 14:54:42 +0200 Zeeshan Ali <zeenix@collabora.co.uk>
+
+ * gst/videoparsers/gsth265parse.c:
+ h265parse: Set duration on buffers base on framerate
+
+2018-06-14 16:20:54 +0200 Zeeshan Ali <zeenix@collabora.co.uk>
+
+ * gst/videoparsers/gsth265parse.c:
+ h265parse: Derive src fps from vui_time_scale & vui_num_units_in_tick
+
+2018-06-13 16:33:21 +0200 Zeeshan Ali <zeenix@collabora.co.uk>
+
+ * gst/videoparsers/gsth265parse.c:
+ h265parse: Handle interlaced video
+ For interlaced video:
+ * set the interlace mode in the src caps
+ * double the height from SPS in the caps.
+ * set field latency, instead of frame latency.
+ Fix #778
+
+2020-03-27 13:05:41 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/codecs/gsth264picture.c:
+ codecs: h264dpb: Don't leak pic_list GArray
+ The contents was cleared, but the array was never released.
+
+2020-03-26 15:57:17 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/meson.build:
+ v4l2codecs: Only build this plugin on Linux
+ This is not useful on any other OSs, it will also avoid potential build
+ failure as this code uses Linux specific calls.
+
+2020-03-26 15:38:47 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/plugin.c:
+ v4l2codecs: Add plugin dependency
+ This ensure that the registry cache get updated when a meaningful change is
+ made in /dev for files named media*.
+
+2020-03-20 12:37:41 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ * sys/v4l2codecs/gstv4l2codecpool.c:
+ * sys/v4l2codecs/gstv4l2decoder.c:
+ v4l2codecs: Wait for buffers to come back
+ This code add required mechanism to try and allocate (not implemented yet)
+ otherwise wait for more buffers. This also comes with mechanism to terminate
+ the wait on flush or PAUSED_TO_READY transitions.
+
+2020-03-20 14:14:46 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ * sys/v4l2codecs/gstv4l2decoder.c:
+ * sys/v4l2codecs/gstv4l2decoder.h:
+ v4l2codecs: Implement flushing sequence
+ This simply consit of cycling through STREAMOFF/STREAMON with stateless
+ decoders.
+
+2020-03-20 12:35:03 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codecallocator.c:
+ * sys/v4l2codecs/gstv4l2codecallocator.h:
+ v4l2codecs: allocator: Add method to wait for more buffers
+ This add function to wait for buffers to get back into the pool along with a
+ set_flushing() method to allow unblocking this wait.
+
+2020-03-18 17:03:51 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codecpool.c:
+ v4l2codecs: pool: Create new buffer when pool is empty
+ This simply create an empty GstBuffer when the pool is empty. This way it's up
+ to the allocator to grow or wait if we ran out of memory.
+
+2020-03-18 17:00:37 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ v4l2slh264dec: Improve end_picture() robustness
+ Use a goto to ensure that for all cases we cleanup the current picture state.
+ And move the src buffer allocation higher, so we don't queue a bitstream
+ buffer if we don't have a picture buffer to decode into.
+
+2020-03-18 16:51:11 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/codecs/gsth264decoder.c:
+ codecs: h264: Do not ignore end_picture() return value
+ If decoding failed because end_picture() failed, set the picture to
+ nonexisting, this way output_picture() will be skipped. This avoids confusing
+ special cases in output_picture() implementation.
+
+2020-02-17 18:08:48 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ * sys/v4l2codecs/gstv4l2decoder.c:
+ * sys/v4l2codecs/gstv4l2decoder.h:
+ * sys/v4l2codecs/gstv4l2format.c:
+ v4l2slh264dec: Add output format negotiation
+ This allow negotiating the output format through caps. Some drivers can
+ pipeline the decoder buffer through an image processor. This only support
+ colorspace conversion for now.
+
+2020-03-13 16:51:27 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2format.c:
+ * sys/v4l2codecs/gstv4l2format.h:
+ v4l2format: Convert between V4L2 and GST video format
+ This will be needed in the output format negotiation.
+
+2020-03-13 14:23:39 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2format.c:
+ v4l2codecs: Read driver provided stride
+ This implements driver stride support but only for single allocation buffers.
+ This code is imported from the original v4l2 plugin and adapted to the new
+ helper context.
+
+2020-03-12 16:15:40 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ v4l2h264dec: Copy frames when GstVideoMeta is not supported
+ In some case, when downstream does not support GstVideoMeta, we need to
+ normalize the stride and offset of the buffer so that downstream can render
+ properly with a GstVideoMeta. This code is not called when GstVideoMeta is
+ supported downstream.
+
+2020-03-11 17:45:17 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codecpool.c:
+ * sys/v4l2codecs/gstv4l2codecpool.h:
+ v4l2codec: Add initial GstVideoMeta support
+ In this patch we strictly set the GstVideoMeta width/height to the coded width
+ and height. Further patches will add stride support and frame copying when
+ downstream does not support GstVideoMeta.
+
+2020-03-09 16:44:19 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ v4l2slh264dec: Prevent spurious renegotiation
+ Don't let downstream cause a renegotiation at random point in time. This would
+ lead to spurious renegotiation and the decoder state may not be recoverable.
+
+2020-03-03 21:22:52 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ v4l2slh264dec: Hold on picture buffers
+ These buffers should not be reused for decoding until they are no longer
+ referenced.
+
+2020-02-16 17:48:12 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ * sys/v4l2codecs/gstv4l2decoder.c:
+ * sys/v4l2codecs/gstv4l2decoder.h:
+ v4l2codecs: Fix bytesused value
+ Pass the actual amount of bytes we have copied into the bitstream buffer. Also
+ unmap the memory before queuing.
+
+2020-02-16 14:53:08 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ v4l2codech264dec: Implement finish frame
+ This enables the request to be processed by the HW (STREAMON) and to be pushed
+ downstream for further processing.
+
+2020-02-16 14:51:37 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2decoder.c:
+ * sys/v4l2codecs/gstv4l2decoder.h:
+ v4l2codecdecoder: Add support for dequeuing buffers
+ This includings polling of the request and streamon/streamoff.
+
+2020-02-14 22:13:05 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ v4l2codech264dec: Implement queuing
+ We now pass the controls, associated to a request, queue the bitstream, qeueue
+ a picture buffer to decode into and finally queue the request. This now runs
+ until the buffer pool is exhausted. The next step will be to dequeue.
+
+2020-02-14 22:03:17 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2decoder.c:
+ * sys/v4l2codecs/gstv4l2decoder.h:
+ v4l2decoder: Add helpers to queue buffer and requests
+
+2020-02-14 21:57:34 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codecallocator.c:
+ * sys/v4l2codecs/gstv4l2codecallocator.h:
+ * sys/v4l2codecs/gstv4l2codecpool.c:
+ * sys/v4l2codecs/gstv4l2codecpool.h:
+ v4l2codec: Add getter for buffer index in allocator and pool
+
+2020-02-13 17:46:29 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codecallocator.c:
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ v4l2h264codecdec: Copy bitstream parameter and data
+ In this patch we fill the control structure with the bitstream paramter and
+ copy the bitstream data into V4L2 memory. Slice paramters are only the subset
+ of what Hantro needs, without any support for interlaced content.
+
+2020-02-12 23:50:42 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ v4l2slh264dec: Use the newly introduced allocator / pool
+ We now allocate and free the memory needed for streaming.
+
+2020-02-12 23:45:14 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codecallocator.c:
+ * sys/v4l2codecs/gstv4l2codecallocator.h:
+ * sys/v4l2codecs/gstv4l2codecpool.c:
+ * sys/v4l2codecs/gstv4l2codecpool.h:
+ * sys/v4l2codecs/meson.build:
+ v4l2codec: Add allocator and pool implementation
+ This is a pooling allocator and the buffer pool does nothing other then
+ reusing the GstBuffer structure. Note that the pool is an internal pool, so
+ the start/stop/set_config virtual functions are not implemented.
+
+2020-02-12 23:39:25 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2decoder.c:
+ * sys/v4l2codecs/gstv4l2decoder.h:
+ v4l2codec: decoder: Add allocation helper
+
+2020-02-10 18:05:39 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ * sys/v4l2codecs/gstv4l2decoder.c:
+ * sys/v4l2codecs/gstv4l2decoder.h:
+ v4l2codecs: Implement H264 format negotiation
+
+2020-02-10 18:02:37 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2format.c:
+ * sys/v4l2codecs/gstv4l2format.h:
+ * sys/v4l2codecs/meson.build:
+ v4l2codecs: Add initial formats helpers
+
+2020-02-09 11:31:11 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ * sys/v4l2codecs/gstv4l2codech264dec.h:
+ * sys/v4l2codecs/gstv4l2decoder.c:
+ * sys/v4l2codecs/gstv4l2decoder.h:
+ * sys/v4l2codecs/meson.build:
+ * sys/v4l2codecs/plugin.c:
+ v4l2codecs: Add skeleton of H264 decoder
+ This introduces the skeleton of the H264 decoder. The plugin will list the
+ devices and register a subclass of the GstV4L2CodecH264Dec base class. The
+ subclass will pick the required specific information from the GstV4L2Device
+ stored in the subclass structure.
+
+2020-02-05 21:42:56 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2decoder.c:
+ * sys/v4l2codecs/gstv4l2decoder.h:
+ * sys/v4l2codecs/meson.build:
+ v4l2codec: Add GstV4L2Deocder helper object
+ This is a GstObject which will be used to hold on media and video device file
+ descriptor and provide abstracted ioctl calls with these descriptor. At the
+ moment this helper contains just enough to enumerate the supported format.
+ This part will be used by the plugin to register the CODEC specific elements..
+
+2020-02-05 21:18:57 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/linux/h264-ctrls.h:
+ * sys/v4l2codecs/linux/media.h:
+ * sys/v4l2codecs/linux/types-compat.h:
+ * sys/v4l2codecs/linux/v4l2-common.h:
+ * sys/v4l2codecs/linux/v4l2-controls.h:
+ * sys/v4l2codecs/linux/videodev2.h:
+ v4l2codecs: Copy all needed Linux kernel headers
+ Most of the features we need are very early or not expose yet in the uAPI.
+ Using an internal copy ensure that we everything we need is defined avoiding
+ to add load of checks and conditionnal code.
+
+2020-02-04 15:52:45 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * meson_options.txt:
+ * sys/v4l2codecs/gstv4l2codecdevice.c:
+ * sys/v4l2codecs/gstv4l2codecdevice.h:
+ * sys/v4l2codecs/meson.build:
+ * sys/v4l2codecs/plugin.c:
+ v4l2codecs: Add device enumeration
+ This introduces a GstV4L2CodecDevice structure and helper to retrieve a
+ list of CODEC device drivers. In order to find the device driver we
+ enumerate all media devices with UDEV. We then get the media controller
+ topology and locate a entity with function encoder or decoder and make
+ sure it is linked to two V4L2 IO entity pointing to the same device
+ node.
+
+2020-02-03 10:06:46 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/meson.build:
+ * sys/v4l2codecs/meson.build:
+ * sys/v4l2codecs/plugin.c:
+ v4l2codecs: Introdude a V4L2 CODECs Accelerator plugin
+ This plugin will support new CODECs uAPI in the Linux kernel. These
+ consist of an accelerator interface similar to DXVA, NVDEC, VDPAU and
+ VAAPI.
+
+2020-03-30 20:21:37 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/msdk/gstmsdkh264enc.c:
+ * sys/msdk/gstmsdkh264enc.h:
+ msdkh264enc: Port to h264parser API for frame packing SEI injection
+ Create frame packing SEI memory only once per set_format() and
+ reuse it if possible.
+
+2020-03-24 19:23:46 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/videoparsers/gsth264parse.c:
+ h264parse: Print all the syntax elements of frame packing for debugging
+ Other values might be useful for debugging
+
+2020-03-18 10:11:19 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/gstmsdkenc.h:
+ * sys/msdk/gstmsdkh265enc.c:
+ msdkh265enc: support 8-bit 422 encoding
+ The media driver can support HEVC 8-bit 422 encoding for non-lowpower
+ mode since ICL[1], so VPP is not needed for this case.
+ Sample pipeline:
+ gst-launch-1.0 videotestsrc ! video/x-raw,format=YUY2 ! msdkh265enc ! \
+ filesink location=output.h265
+ [1] https://github.com/intel/media-driver#decodingencoding-features
+
+2020-03-17 15:18:37 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/gstmsdkh265enc.c:
+ msdkh265enc: add support for Y210 in sink pad
+ Sample pipeline:
+ gst-launch-1.0 videotestsrc ! video/x-raw,format=Y210 !
+ msdkh265enc ! filesink location=output.h265
+
+2020-03-20 09:53:28 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/msdk.c:
+ * sys/msdk/msdk.h:
+ msdk: add a helper function to get codename of the platform
+ The features supported in MSDK vary from platform to platform. We may
+ support some features based on the codename of the platform in future.
+
+2020-03-24 16:00:30 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ msdkenc: Try to find corresponding codec frame for encoded output buffer
+ The input and output buffers should be matched as much as possible
+ so that various metadata and its ordering to be preserved.
+
+2020-03-22 20:15:42 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/msdk/gstmsdkh264enc.c:
+ * sys/msdk/gstmsdkh264enc.h:
+ * sys/msdk/meson.build:
+ msdkh264enc: Add support for CEA708 closed caption insertion
+ Currently supported caption format is CEA708_RAW
+
+2020-03-25 17:20:13 +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 a helper method to create and inject raw SEI data
+ Add an API to create raw SEI nal unit. This would be useful in case
+ an user want to create SEI nal data and inject the SEI nal data
+ into bitstream.
+
+2020-03-19 18:25:18 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecparsers/nalutils.c:
+ * gst-libs/gst/codecparsers/nalutils.h:
+ * tests/check/libs/nalutils.c:
+ * tests/check/meson.build:
+ nalutils: Introduce NAL writer helper methods
+ Add helper methods for writing h264 and h265 NAL
+
+2020-03-22 13:59:52 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecparsers/gsth264parser.c:
+ * gst-libs/gst/codecparsers/gsth264parser.h:
+ h264parser: Expose SEI clear function to public
+ gsth265parser does it already. Although corresponding API of h265parser is
+ gst_h265_sei_free, _clear suffix is more consistent naming for h264parser
+ since there are gst_h264_{sps,pps}_clear().
+
+2020-03-29 17:34:48 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11decoder.c:
+ d3d11decoder: Add support for array of texture DPB
+ DXVA supports two kinds of texture structure for DPB, one is
+ "1) texture array" and the other is "2) array of texture".
+ 1) is a type of texture which is single ID3D11Texture2D object having
+ ArraySize greater than one. So the ID3D11Texture2D itself is a set of texture.
+ Each sub texture of this type mush have identical resolution, format and so on,
+ and the number of sub texture in a texture array is fixed.
+ 2) is an array of usual ID3D11Texture2D object. That means each
+ ID3D11Texture2D is independent each other and might have different resolution as well.
+ Moreover, we can modify the number of frames of the array dynamically.
+ This type is more flexible than "1) texture array" in terms of dynamic
+ behavior and also this type of texture can be used for shader resource view
+ but "1) texture array" couldn't be.
+ If "2) array of texture" is supported by driver, DXVA spec is saying that
+ it's preferred format over "1) texture array" in terms of performance.
+
+2019-11-26 15:42:03 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkh265enc.c:
+ * sys/msdk/gstmsdkh265enc.h:
+ msdkh265enc: slice size control
+ Add max-slice-size property to set the maximum slice size
+
+2020-03-27 18:05:55 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11decoder.c:
+ * sys/d3d11/gstd3d11decoder.h:
+ * sys/d3d11/gstd3d11h264dec.c:
+ * sys/d3d11/gstd3d11h265dec.c:
+ * sys/d3d11/gstd3d11vp9dec.c:
+ Revert "d3d11decoder: Check decoder status report"
+ This reverts commit 418e6991c19ab5ae6bcf1890f9b947c748ca834d.
+ Not all drivers seem to be friendly to this API.
+ Revert to avoid incomprehensible crash with Nvidia.
+
+2020-03-26 21:20:20 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11window.cpp:
+ d3d11window: Always reuse swapchain
+ DXGI format can be updated via ResizeBuffers()
+
+2020-03-09 20:29:17 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11format.c:
+ * sys/d3d11/gstd3d11format.h:
+ * sys/d3d11/gstd3d11window.cpp:
+ * sys/d3d11/gstd3d11window.h:
+ d3d11window: Reorganize display colorspace selection
+ The set of supported color space by DXGI is not full combination of
+ our colorimetry. That means we should convert color space to one
+ of supported color space by DXGI. This commit modifies the color space
+ selection step so that d3d11window can find the best matching DXGI color space
+ first and then the selected input/output color space will be referenced
+ by shader and/or d3d11videoprocessor.
+
+2020-03-27 15:40:00 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/rtmp2/gstrtmp2src.c:
+ rtmp2src: Add idle-timeout property
+ Add new property to signalling that there is no incoming data
+ from peer. This can be useful if users want to stop the streaming
+ when the connection is alive but no packet is arriving.
+
+2020-03-27 10:34:25 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/dtls/gstdtlsconnection.c:
+ dtls/connection: fix EOF handling with openssl 1.1.1e
+ openssl 1.1.1e does some stricker EOF handling and will throw an error
+ if the EOF is unexpected (like in the middle of a record). As we are
+ streaming data into openssl here, it is entirely possible that we push
+ data from multiple buffers/packets into openssl separately.
+ From the openssl changelog:
+ Changes between 1.1.1d and 1.1.1e [17 Mar 2020]
+ *) Properly detect EOF while reading in libssl. Previously if we hit an EOF
+ while reading in libssl then we would report an error back to the
+ application (SSL_ERROR_SYSCALL) but errno would be 0. We now add
+ an error to the stack (which means we instead return SSL_ERROR_SSL) and
+ therefore give a hint as to what went wrong.
+ [Matt Caswell]
+ We can relax the EOF signalling to only return TRUE when we have stopped
+ for any reason (EOS, error).
+ Will also remove a spurious EOF error from previous openssl version.
+
+2020-03-25 14:46:15 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtc: mark streams as active on renegotiation as well.
+ Otherwise when bundling, only the changed streams would be considered as
+ to whether the bundled transport needs to be blocked as all streams are
+ inactive.
+ Scenario is one transceiver changes direction to inactive and as that is
+ the only change in transciever direction, the entire bundled transport would
+ be blocked even if there are other active transceivers inside the same bundled
+ transport that are still active.
+ Fix by always checking the activeness of a stream regardless of if the
+ transceiverr has changed direction.
+
+2020-01-13 13:50:26 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+ * gst/interlace/gstinterlace.c:
+ interlace: add alternate support
+ Allow downstream elements to negotiate the alternate interlace mode,
+ splitting each input buffer in two fields, each having their own buffer.
+
+2020-02-28 12:31:46 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+ * gst/interlace/gstinterlace.c:
+ interlace: factor out interlace_mode_from_pattern()
+
+2020-01-23 15:17:45 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+ * gst/interlace/gstinterlace.c:
+ interlace: factor out gst_interlace_push_buffer()
+
+2020-01-23 15:10:36 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+ * gst/interlace/gstinterlace.c:
+ interlace: factor out gst_interlace_decorate_buffer_ts()
+
+2020-01-23 14:31:02 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+ * gst/interlace/gstinterlace.c:
+ interlace: rename copy_field()
+ It is actually copying both fields (to a single frame/buffer).
+
+2020-03-21 20:16:04 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tests/check/libs/h265parser.c:
+ tests: h265parser: Add test for registered user data SEI
+
+2020-03-21 19:41:28 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecparsers/gsth265parser.c:
+ h265parser: Fix registered user data SEI leak
+ ... and add fix for the SEI data in gst_h265_sei_copy()
+
+2020-03-21 18:25:25 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecparsers/gsth265parser.c:
+ * gst-libs/gst/codecparsers/gsth265parser.h:
+ h265parser: Do not allocate too large size of memory for registered user data SEI
+ Don't be confused by the unit of payload size (i.e., bits and bytes)
+ Also this need a documentation with Since mark
+
+2020-03-21 18:39:42 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecparsers/gsth264parser.c:
+ * gst-libs/gst/codecparsers/gsth264parser.h:
+ h264parser: Do not allocate too large size of memory for registered user data SEI
+ Don't be confused by the unit of payload size (i.e., bits and bytes)
+ Also this need a documentation with Since mark
+
+2020-03-23 12:55:13 +0000 Philippe Normand <philn@igalia.com>
+
+ * ext/wpe/WPEThreadedView.h:
+ wpe: Enable SHM support for new stable WPEBackend-FDO release
+ 1.5.0 was the development version.
+
+2020-02-10 18:28:05 +0000 Philippe Normand <philn@igalia.com>
+
+ * ext/wpe/gstwpesrc.cpp:
+ wpe: Mouse scroll events support
+
+2020-02-29 22:19:57 -0600 James Westman <james@flyingpimonster.net>
+
+ * sys/applemedia/avfdeviceprovider.m:
+ applemedia: Add some properties to GstAvfDevice
+ Adds properties to the devices listed in GstDeviceMonitor by the
+ applemedia plugin.
+ These properties are:
+ - device.api (always set to "avf")
+ - avf.unique_id
+ - avf.model_id
+ - avf.manufacturer (except on iOS)
+ - avf.has_flash
+ - avf.has_torch
+ Everything except device.api is taken directly from the AVCaptureDevice object
+ provided by AVFoundation.
+
+2020-03-20 20:27:05 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/mpegtsdemux/tsdemux.c:
+ tsdemux: Set mpegversion for AAC ADTS stream based on parsed ADTS header
+ Both 2 and 4 are supported version of AAC ADTS format stream.
+ So we need to set correct version to help negotiation
+ especially for non-autopluggable pipeline.
+
+2020-03-10 15:42:48 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkh265dec.c:
+ msdkh265dec: add support for main-12, main-12-intra profiles
+ The video format is P012_LE
+
+2020-03-10 16:03:55 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkallocator_libva.c:
+ msdk: map P012_LE to VA_FOURCC_P016
+ In media driver, VA_FOURCC_P016 is used for semi-planar 12 bits YUV
+ format, the corresponding RT format is VA_RT_FORMAT_YUV420_12
+
+2020-03-10 15:41:50 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkallocator_libva.c:
+ * sys/msdk/msdk_libva.c:
+ msdk: map MFX_FOURCC_P016 to VA_FOURCC_P016
+ P016 is used for semi-planar 12 bits format in the media driver, so the
+ RT format is VA_RT_FORMAT_YUV420_12
+
+2020-03-10 15:32:43 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdksystemmemory.c:
+ * sys/msdk/msdk.c:
+ msdk: map P012_LE to MFX_FOURCC_P016
+ MFX_FOURCC_P016 is used for semi planar 12 bits YUV format in MediaSDK
+
+2020-03-20 14:53:40 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkvp9enc.c:
+ msdkvp9enc: add support for 10 bits 444 input
+ The input format is Y410 in sink pad and the corresponding profile in
+ src pad is profile 3
+
+2020-03-20 14:38:12 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkvp9enc.c:
+ msdkvp9enc: add support for 8 bits 444 input
+ The input format is VUYA in sink pad and the corresponding profile in
+ src pad is profile 1
+
+2020-03-22 22:30:15 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/msdk/gstmsdkbufferpool.c:
+ msdkbufferpool: Fix build warning on Windows
+ gstmsdkbufferpool.c(274): warning C4101: 'fd': unreferenced local variable
+
+2020-01-22 11:29:03 +0000 Guillermo Rodríguez <guille.rodriguez@gmail.com>
+
+ * tests/examples/waylandsink/main.c:
+ * tests/examples/waylandsink/wayland-threads.c:
+ examples/wayland: unref GstContext after use
+
+2020-03-19 09:28:28 -0700 U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+ * sys/msdk/gstmsdkvpp.c:
+ msdkvpp: add YV12 format to src pad
+ VPP YV12 output format support added since
+ MFX_VERSION 1032.
+ https://github.com/Intel-Media-SDK/MediaSDK/pull/2027
+
+2020-03-15 19:20:47 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstcudaloader.c:
+ * sys/nvcodec/gstcudaloader.h:
+ * sys/nvcodec/gstnvdec.c:
+ * sys/nvcodec/stub/cuda.h:
+ nvdec: Add fallback for CUDA/OpenGL interop failure
+ It happens when local OpenGL context belongs to non-nvidia GPU.
+
+2020-03-16 17:19:04 +0100 Victor Manuel Jaquez Leal <vjaquez@noite.lan>
+
+ * gst-libs/gst/codecparsers/gstmpeg4parser.h:
+ * gst-libs/gst/codecparsers/gstvp8parser.h:
+ libs: codecparser: add missing unstable api warning
+ mpeg4 and vp8 parsers didn't show that compilation warning as the
+ others parsers.
+
+2020-03-15 12:44:31 +0000 Philippe Normand <philn@igalia.com>
+
+ * ext/webrtcdsp/gstwebrtcechoprobe.cpp:
+ webrtcdsp: Fix documentation markup
+
+2020-03-15 10:46:24 +0000 Philippe Normand <philn@igalia.com>
+
+ * ext/openni2/gstopenni2src.cpp:
+ openni2: Remove spurious gtk-doc markers
+
+2020-03-15 10:45:25 +0000 Philippe Normand <philn@igalia.com>
+
+ * sys/decklink/gstdecklink.cpp:
+ decklink: Remove spurious gtk-doc marker
+
+2020-03-13 17:47:46 +0000 Philippe Normand <philn@igalia.com>
+
+ * docs/meson.build:
+ docs: Scan C++ files too
+
+2020-02-12 11:23:18 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/meson.build:
+ msdk: meson: check whether mfxExtVP9Param is defined
+ User reported MFX_VERSION is 1026 however the build is broken[1], so add
+ the check for mfxExtVP9Param to make sure it can be build without
+ compiler error.
+ In addtion, it fixes a stupid typo (#endif') introduced by me.
+ [1] https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/988#note_408093
+
+2020-03-12 12:13:10 +0100 rubenrua <rgonzalez@fluendo.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst/asfmux/gstasfmux.c:
+ * gst/asfmux/gstasfmux.h:
+ * sys/msdk/gstmsdkcontext.c:
+ asfmux: Fix typo in property description
+ s/milisecs/milliseconds/g
+
+2020-03-11 21:37:27 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst/timecode/gsttimecodestamper.c:
+ timecodestamper: Plug a leak
+
+2020-02-01 11:52:04 +0100 Edward Hervey <edward@centricular.com>
+
+ * gst/mpegtsdemux/mpegtsbase.c:
+ * gst/mpegtsdemux/mpegtsbase.h:
+ mpegts: Add a property to ignore broken PCR streams
+ Some mpeg-ts (HLS, DVB, ...) streams out there have completely broken
+ PCR streams on which we can't reliably recover correct timestamps.
+ For those, provide a property that will ignore the program PCR stream
+ (by faking that it's not present (0x1fff)).
+
+2020-03-11 17:18:56 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/mpegdemux/gstmpegdemux.c:
+ * gst/mpegdemux/gstmpegdemux.h:
+ mpegdemux: Add ignore-scr property to ignore broken SCR
+ Some MPEG-PS streams might not be compliant but the SCR can be ignored
+ if PTS/DTS in PES header is consistently increased.
+
+2020-03-11 17:42:18 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/mpegdemux/gstmpegdemux.c:
+ mpegdemux: Remove whitespace
+
+2020-03-10 11:52:23 +0800 yychao <yychao@realtek.com>
+
+ * ext/smoothstreaming/gstmssmanifest.c:
+ smoothstreaming: fix H264 CodecPrivateData parsing
+ Do not pass SPS nal_unit_type (0x67) into gst_h264_parse_sps()
+ Fixes #648
+
+2020-03-10 17:40:28 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/videoparsers/gsth265parse.c:
+ * gst/videoparsers/gsth265parse.h:
+ h265parse: In-band sps/pps update if only codec_data differs in src caps
+ Apply in-band sps/pps resending implementation to h265parse.
+
+2020-03-10 13:20:17 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/videoparsers/gsth264parse.c:
+ * gst/videoparsers/gsth264parse.h:
+ h264parse: In-band sps/pps update if only codec_data differs in src caps
+ Initially the case "only codec_data is different" was addressed in
+ https://bugzilla.gnome.org/show_bug.cgi?id=705333 in order for
+ unusual bitstreams to be handled. That's the case where sps and pps
+ are placed in bitstream. When sps/pps are signalled only via caps
+ by upstream, however, the updated codec_data is mandatory for decoder
+ and therefore we shouldn't ignore them.
+
+2020-03-10 16:32:59 +0900 Dong Il Park <dongil.park@lge.com>
+
+ * gst/mpegtsdemux/gstmpegdesc.h:
+ * gst/mpegtsdemux/tsdemux.c:
+ tsdemux: Add format_identifier for AC4 codec
+ According to following spec document, add format_identifier for AC4 in tsdemux.
+ ETSI TS 103 190-2 V1.2.1 : Annex D : AC-4 in MPEG-2 transport stream
+
+2020-03-09 17:00:01 +0800 yychao <yychao@gmail.com>
+
+ * gst-libs/gst/mpegts/gst-dvb-descriptor.h:
+ * gst/mpegtsdemux/gstmpegdefs.h:
+ * gst/mpegtsdemux/tsdemux.c:
+ tsdemux: Add support for AC4
+ According to following two specs, add support for AC4 in tsdemux.
+ 1. ETSI TS 103 190-2 V1.2.1 (2018-02) : Annex D (normative): AC-4 in MPEG-2 transport streams
+ 2. ETSI EN 300 468 V1.16.1 (2019-08) : Annex D (normative):Service information implementation of AC-3, EnhancedAC-3, and AC-4 audio in DVB systems
+
+2020-03-09 21:21:19 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/gstwebrtcbin.h:
+ webrtcbin: Use GPtrArrays or store items inline instead of using GArrays of pointers
+
+2020-03-10 05:18:40 +1100 Jan Schmidt <jan@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/gstwebrtcbin.h:
+ webrtcbin: Prevent ICE gathering state reaching complete early
+ The ICE gathering state can transition to complete prematurely if the
+ underlying ICE components complete their gathering while the initial
+ ICE gathering state task is queued and still pending.
+ In that situation, the ice gathering state task will report complete
+ while there are still ICE candidates queued for emission.
+ Prevent that by storing ICE candidates in an array and checking if
+ there are any pending before reporting a completed ICE gathering
+ state.
+
+2020-03-10 04:22:57 +1100 Jan Schmidt <jan@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/gstwebrtcbin.h:
+ webrtc: Protect the pending ICE candidates array
+ ICE candidates can be added to the array directly from the application
+ or from the webrtc main loop. Rename it to make it clear that it's
+ holding remote ICE candidates from the peer, and protect it with a
+ new mutex
+
+2020-03-07 19:41:53 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11decoder.c:
+ * sys/d3d11/gstd3d11decoder.h:
+ * sys/d3d11/gstd3d11h264dec.c:
+ * sys/d3d11/gstd3d11h265dec.c:
+ * sys/d3d11/gstd3d11vp9dec.c:
+ d3d11vp9dec: Add support for internal frame resizing
+ VP9 codec allows resizing reference frame by spec. Handling this case
+ is a bit tricky especially when the resizing happens on non-keyframe,
+ because pre-allocated decoder textures (i.e., dpb) have negotiated
+ resolution and to change resolution meanwhile decoding on non-keyframe,
+ each texture might need to be re-created, copied to new dpb somehow,
+ and re-negotiated with downstream.
+ Due to the complicated requirement of negotiation driven
+ resizing handling, this commit adds shader into d3d11decoder object
+ to resize only corresponding frames. Note that if the resolution change
+ is detected on keyframe, decoder will re-negotiate with downstream.
+
+2020-03-07 19:38:30 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11h264dec.c:
+ * sys/d3d11/gstd3d11h265dec.c:
+ * sys/d3d11/gstd3d11vp9dec.c:
+ d3d11decoder: Set GstVideoAlignment to downstream d3d11 buffer pool
+ To copy decoder output texture to another d3d11 texture, the downstream
+ texture needs to be aligned too.
+
+2020-03-07 16:42:14 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11decoder.c:
+ d3d11decoder: Use aligned resolution for staging texture
+ Not only any textures for decoder output view, any destination texture
+ which would be copied from decoder output texture need to be aligned too.
+ Otherwise driver sometimes crashed/hung (not sure why).
+
+2020-03-07 18:29:20 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11colorconverter.c:
+ * sys/d3d11/gstd3d11colorconverter.h:
+ d3d11colorconverter: Add support cropping
+ Vertex buffer will be updated if input texture resolution is different
+ from GstVideoInfo or when an user requests specific crop area.
+
+2020-03-07 15:10:43 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11bufferpool.c:
+ d3d11bufferpool: Add padding space for semi-planar YUV formats
+ Resolution of NV12, P010, and P016 formats must be multiple of two.
+ Otherwise texture cannot be created. Instead of doing this alignment
+ per API consumer side, do this in buffer pool for simplicity.
+
+2020-03-08 16:10:41 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * gst-libs/gst/codecs/gsth265decoder.c:
+ * gst-libs/gst/codecs/gsth265decoder.h:
+ * sys/d3d11/gstd3d11h265dec.c:
+ h265decoder: Pass max_dpb_size to new_sequence vfunc
+ same as we are doing in h264decoder
+
+2020-03-08 16:03:35 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11h264dec.c:
+ d3d11h264dec: Make use of max_dpb_size passed by baseclass
+ Most likely this modification can save GPU memory.
+
+2020-02-26 20:24:14 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11h265dec.c:
+ d3d11h265dec: Fix scaling list parsing
+ Scaling list can be signalled via sps or pps. Decoder should check
+ both of them.
+
+2020-02-26 17:44:52 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11h265dec.c:
+ d3d11h265dec: Properly signal the ucNumDeltaPocsOfRefRpsIdx
+ ucNumDeltaPocsOfRefRpsIdx should be the NumDeltaPocs[RefRpsIdx].
+
+2020-02-26 17:33:59 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ h265parser: Store NumDeltaPocs of reference for hardware accelerators
+ That's the value of NumDeltaPocs[RefRpsIdx] and we might be able to derive
+ the value from given sps and slice header.
+ Because well known hardware implementations refer to the value, however,
+ storing the value makes things easier.
+ Following is the list of hardware implementations
+ * DXVA2: ucNumDeltaPocsOfRefRpsIdx
+ * NVDEC/VDPAU: NumDeltaPocsOfRefRpsIdx
+
+2020-02-24 20:53:49 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * gst-libs/gst/codecs/gsth265decoder.c:
+ h265decoder: Fix for output and removal picture from DPB
+ See C.5.2.2 Output and removal of pictures from the DPB.
+ If the number of pictures in the DPB is greater than or equal to
+ sps_max_dec_pic_buffering_minus1[HighestTid] + 1, then the picture
+ should be outputted.
+
+2020-03-06 16:40:50 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * gst-libs/gst/codecs/meson.build:
+ meson: codecs: Don't install header
+ This library is not intended to be public. APIs are likely to
+ change over time and should not be disclosed to people yet.
+
+2020-03-05 14:40:28 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * gst-libs/gst/codecs/gsth264decoder.c:
+ h264decoder: Rename some internals
+ No more a part of d3d11 implementation
+
+2020-03-05 14:35:14 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * gst-libs/gst/codecs/gstvp9decoder.c:
+ * gst-libs/gst/codecs/gstvp9decoder.h:
+ vp9decoder: Update document
+ s/GstH264Picture/GstVp9Picture/g and minor update since this baseclass
+ is no more d3d11 specific one.
+
+2020-03-05 14:29:22 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * gst-libs/gst/codecs/gsth264decoder.c:
+ * gst-libs/gst/codecs/gsth264decoder.h:
+ * gst-libs/gst/codecs/gsth265decoder.c:
+ * gst-libs/gst/codecs/gsth265decoder.h:
+ * gst-libs/gst/codecs/gstvp9decoder.c:
+ * gst-libs/gst/codecs/gstvp9decoder.h:
+ codecs: Change output_picture() to mandatory implementation
+ GstVideoCodecFrame is expected to be consumed by subclass
+ per output_picture(). So the implementation cannot be optional.
+
+2020-03-05 17:23:34 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * gst-libs/gst/codecs/gsth265decoder.c:
+ * gst-libs/gst/codecs/gsth265decoder.h:
+ * sys/d3d11/gstd3d11h265dec.c:
+ h265decoder: Port to nal type classification macro
+ ... and remove namespaceless macro methods from baseclass
+
+2020-03-05 15:18:35 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * gst-libs/gst/codecparsers/gsth265parser.c:
+ * gst-libs/gst/codecparsers/gsth265parser.h:
+ * gst/videoparsers/gsth265parse.c:
+ * tests/check/libs/h265parser.c:
+ h265parser: Add helper macro for nal type classification
+ Add some macros to remove code duplication and to make it more readable
+
+2020-03-05 09:17:49 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst/transcode/gsttranscodebin.c:
+ transcodebin: Avoid elements name duplication
+ By just letting GStreamer choose a good name
+
+2020-03-03 15:21:07 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/d3d11/gstd3d11h264dec.c:
+ * sys/d3d11/gstd3d11h265dec.c:
+ * sys/d3d11/gstd3d11vp9dec.c:
+ d3d11: Use gst_video_decoder_get_frame()
+ Now that the system_frame_number is saved on the pictures we can use
+ gst_video_decoder_get_frame() helper instead of getting the full list
+ and looping over it.
+
+2020-02-14 21:50:15 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/codecs/gsth264decoder.c:
+ * gst-libs/gst/codecs/gsth264picture.h:
+ * gst-libs/gst/codecs/gsth265decoder.c:
+ * gst-libs/gst/codecs/gsth265picture.h:
+ * gst-libs/gst/codecs/gstvp9decoder.c:
+ * gst-libs/gst/codecs/gstvp9picture.h:
+ h264picture: Add system_frame_num
+ This allow cross-referencing GstH264Picture and GstVideoCodecFrame.
+
+2020-02-14 21:49:12 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/codecparsers/gsth264parser.h:
+ h264parser: Add some fixmes
+ Some of the syntax element do not use the spec name, which makes them harder
+ to find in the spec.
+
+2020-02-12 23:48:16 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/codecs/gsth264decoder.c:
+ * gst-libs/gst/codecs/gsth264decoder.h:
+ * sys/d3d11/gstd3d11h264dec.c:
+ codecs: Pass the max_dpb_size to new_segment virtual
+ On new_segment, the decoder is expected to negotiate. The decoder may want to
+ pre-allocate the needed buffers. Pass the max_dpb_size as this is needed to
+ determin how many buffers should be allocated.
+
+2020-02-09 11:20:16 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/codecs/gsth264decoder.h:
+ * gst-libs/gst/codecs/gsth264picture.h:
+ * gst-libs/gst/codecs/gsth265decoder.h:
+ * gst-libs/gst/codecs/gsth265picture.h:
+ * gst-libs/gst/codecs/gstvp9decoder.h:
+ * gst-libs/gst/codecs/gstvp9picture.h:
+ codecs: Add missing auto cleanup funcs
+
+2020-01-31 17:54:57 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/codecs/codecs-prelude.h:
+ * gst-libs/gst/codecs/gsth264decoder.c:
+ * gst-libs/gst/codecs/gsth264decoder.h:
+ * gst-libs/gst/codecs/gsth264picture.c:
+ * gst-libs/gst/codecs/gsth264picture.h:
+ * gst-libs/gst/codecs/gsth265decoder.c:
+ * gst-libs/gst/codecs/gsth265decoder.h:
+ * gst-libs/gst/codecs/gsth265picture.c:
+ * gst-libs/gst/codecs/gsth265picture.h:
+ * gst-libs/gst/codecs/gstvp9decoder.c:
+ * gst-libs/gst/codecs/gstvp9decoder.h:
+ * gst-libs/gst/codecs/gstvp9picture.c:
+ * gst-libs/gst/codecs/gstvp9picture.h:
+ * gst-libs/gst/codecs/meson.build:
+ * gst-libs/gst/meson.build:
+ * sys/d3d11/gstd3d11h264dec.c:
+ * sys/d3d11/gstd3d11h265dec.c:
+ * sys/d3d11/gstd3d11vp9dec.c:
+ * sys/d3d11/meson.build:
+ Move CODEC base classes into it's own library
+ This introduce a library which contains a set of base classes which
+ handles the parsing and the state tracking for the purpose of decoding
+ different CODECs. Currently H264, H265 and VP9 are supported. These
+ bases classes are used to decode with low level decoding API like DXVA,
+ NVDEC, VDPAU, VAAPI and V4L2 State Less decoders. The new library is
+ named gstreamer-codecs-1.0 / libgstcodecs.
+
+2020-03-05 04:18:03 +1100 Jan Schmidt <jan@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtc: Don't crash in ICE gathering
+ Fix a crash collating ICE gathering states if there are
+ unassociated transceivers in the list with no TransportStream
+
+2020-03-03 14:56:47 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+ * gst/transcode/gsttranscodebin.c:
+ transcodebin: add converters before filters
+ User doesn't have any guarantee about the actual raw format decodebin will
+ produce so their filters may or may not fit.
+ Fix #1228
+
+2020-03-03 15:21:31 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+ * gst/transcode/gsttranscodebin.c:
+ transcodebin: fix logs when failing to link filter
+ - Display caps of the pad we actually tried to link.
+ - Use the template caps as the filter is likely to not have any caps set
+ yet.
+ - Log pad name as well.
+
+2020-02-21 13:12:39 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst/timecode/gsttimecodestamper.c:
+ * gst/timecode/gsttimecodestamper.h:
+ timecodestamper: Add seeking support
+ The approach is quite simple and doesn't take all use cases into account,
+ it only implements support when we are using the internal timecode we
+ create ourself.
+ Also the way we compute the sought frame count is naive, but it works
+ for simple cases.
+
+2020-03-03 03:39:50 +1100 Jan Schmidt <jan@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/transportstream.h:
+ webrtc: Unblock transportreceivebin for send-only bundled streams
+ If there is any active mline in a bundle, we need to unblock
+ the transportreceivebin for DTLS setup and RTCP reception,
+ otherwise no data can ever start flowing.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1206
+
+2020-02-29 01:47:52 +1100 Jan Schmidt <jan@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/transportreceivebin.c:
+ * ext/webrtc/transportreceivebin.h:
+ webrtc: Remove RECEIVE_STATE_DROP from transportreceivebin
+ As per discussion in the bug, remove the drop state from transportreceivebin.
+ Dropping data is necessary, but for bundled config, needs to happen
+ further downstream after mixed flows have been separated.
+ Also support switching back to BLOCK from PASS state.
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1206
+
+2020-02-27 14:54:13 +0100 Dominique Leuenberger <dimstar@opensuse.org>
+
+ * gst-libs/gst/wayland/meson.build:
+ build: Fix build on systems with wayland-client headers in non-default location
+ Add a missing dependency to wl_client_dep for the wayland build. Some distros
+ have the wayland-client headers not installed in /usr/include (which is perfectly
+ valid, the pkg-config .pc file gives the right feedback).
+
+2020-03-02 15:22:49 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstvp9decoder.c:
+ d3d11vp9dec: Add support for reverse playback
+ This commit moves parsing code for superframe and frame header into
+ handle_frame() method, and removes parse() implementation from vp9decoder
+ baseclass.
+ The combination of
+ - multiple frames are packed in a given input buffer (i.e., superframe)
+ - reverse playback
+ seems to be complicated and also it doesn't work as intended in some case
+
+2020-03-03 10:49:08 +0100 Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+ * gst/rtmp2/gstrtmp2sink.c:
+ * gst/rtmp2/gstrtmp2src.c:
+ rtmp2: Only grab stats on close when connection exists
+ If the connection attempt failed, self->connection is NULL.
+
+2020-02-29 12:49:06 +0000 Matthew Read <matthew@ekioh.com>
+
+ * sys/opensles/openslessink.c:
+ openslessink: Allow openslessink to handle 48kHz streams.
+ The most common audio sample rate in AV streams is 48kHz, and the most
+ common device output sample rate is 48kHz. This allows handing of 48kHz
+ input streams without resampling.
+ Remove comments about avoiding the use of 48kHz.
+
+2020-02-27 14:10:16 +0000 Heinrich Kruger <heinrich.kruger@sohonet.com>
+
+ * sys/decklink/gstdecklink.cpp:
+ * sys/decklink/gstdecklink.h:
+ decklink: Add support for 2K DCI video modes
+ Extend the video modes supported by the decklink plugin to include 2K
+ DCI video modes.
+
+2020-02-27 11:32:17 +0000 Heinrich Kruger <heinrich.kruger@sohonet.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 Decklink SDK to 10.11.4
+ This change is needed to support 2K DCI video modes.
+ Version 10.8 of the Decklink SDK supported DCI video modes for output
+ only. This updated version drops that restriction.
+ The current latest version of the Decklink SDK is 11.5, however
+ the gstreamer decklink plugin is not compatible with API changes
+ introduced in version 11 of the SDK. Therefore I have opted to upgrade
+ to the latest 10.x version instead.
+
+2020-03-03 14:27:32 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/dash/meson.build:
+ dash: add build-dep on pbutils
+ Fixes dependency issues:
+ FAILED: subprojects/gst-plugins-bad/ext/dash/8bd0b95@@gstdash@sha/gstdashsink.c.obj
+ cl @subprojects/gst-plugins-bad/ext/dash/8bd0b95@@gstdash@sha/gstdashsink.c.obj.rsp
+ C:\builds\ystreet\gst-plugins-base\gst-build\subprojects\gst-plugins-base\gst-libs\gst/pbutils/pbutils.h(30): fatal error C1083: Cannot open include file: 'gst/pbutils/pbutils-enumtypes.h': No such file or directory
+
+2020-02-18 14:02:14 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/meson.build:
+ * gst-libs/gst/vulkan/xcb/gstvkwindow_xcb.c:
+ vulkan/window/xcb: implement keyboard support
+
+2020-02-17 15:09:58 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/xcb/gstvkwindow_xcb.c:
+ * gst-libs/gst/vulkan/xcb/xcb_event_source.c:
+ vulkan/window/xcb: implement mouse event support
+
+2020-02-17 15:08:47 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vksink.c:
+ * ext/vulkan/vksink.h:
+ vulkan/sink: implement GstNavigation support
+
+2020-02-17 15:07:10 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkswapper.c:
+ * gst-libs/gst/vulkan/gstvkswapper.h:
+ vulkan/swapper: add get_surface_rectangles
+ Retrieve the input, output and covered rectangles.
+
+2020-02-17 15:05:49 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkdisplay.c:
+ * gst-libs/gst/vulkan/gstvkdisplay.h:
+ vulkan/display: implement thread-safe find_window()
+
+2020-02-17 15:03:34 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkwindow.c:
+ * gst-libs/gst/vulkan/gstvkwindow.h:
+ vulkan/window: add support for mouse/keyboard events
+
+2020-03-02 20:55:29 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11videosink.c:
+ * sys/d3d11/gstd3d11window.cpp:
+ * sys/d3d11/gstd3d11window.h:
+ * sys/d3d11/gstd3d11window_win32.cpp:
+ d3d11videosink: Clarify the meaning of various width and height variables
+ * Remove redundant variables for width/height and par from GstD3D11Window.
+ GstVideoInfo holds all the values.
+ * Don't need to pass par to gst_d3d11_window_prepare().
+ It will be parsed from caps again
+ * Remove duplicated math
+ Fixing regression of the commit 9dada901083fec3276cb2df58785db14b87e8f22
+
+2020-02-28 03:08:23 +0900 Yeongjin Jeong <yeongjin.jeong@navercorp.com>
+
+ * sys/d3d11/gstvp9decoder.c:
+ d3d11vp9dec: Port to GstVP9SuperframeInfo
+ The vp9parser is now exposed new API for parsing superframe info.
+
+2020-03-02 00:43:45 +0900 Yeongjin Jeong <yeongjin.jeong@navercorp.com>
+
+ * tests/check/libs/vp9parser.c:
+ * tests/check/meson.build:
+ tests: vp9parser: Add test parsing superframe
+
+2020-02-28 03:06:47 +0900 Yeongjin Jeong <yeongjin.jeong@navercorp.com>
+
+ * gst-libs/gst/codecparsers/gstvp9parser.c:
+ * gst-libs/gst/codecparsers/gstvp9parser.h:
+ vp9parser: Add new API for parsing superframe info
+ Some elements are using their own implementations for superframe parsing.
+ To reduce redundant code, we need to add API to the parser.
+
+2020-02-27 18:31:19 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+ * gst/transcode/gsttranscodebin.c:
+ transcodebin: mark properties as GST_PARAM_MUTABLE_READY
+ They are all used in the READY to PAUSED transition so should not be
+ changed after.
+
+2020-02-27 17:16:45 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+ * gst/transcode/gsttranscodebin.c:
+ transcodebin: force decoding if a filter is defined
+ Filter operates on raw data so don't allow decodebin to produce
+ encoded data if one is defined.
+ My use case here is keeping the video stream untouched but apply a filter
+ on the audio one, while keeping the same audio format.
+
+2020-02-27 17:03:42 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+ * gst/transcode/gsttranscodebin.c:
+ transcodebin: logs when inserting, or not, a filter
+ It's not easy atm to figure out from the logs if a filter has actually be
+ inserted or not.
+
+2020-02-26 16:13:21 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11decoder.c:
+ d3d11decoder: Do not print warning message if retry count is in expected range
+ gst_d3d11_result() will print warning message when HRESULT != S_OK.
+ However, since the retry is trivial stuff, check hr == E_PENDING first
+ and do not warn it.
+
+2020-02-26 15:55:23 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11decoder.c:
+ * sys/d3d11/gstd3d11decoder.h:
+ * sys/d3d11/gstd3d11h264dec.c:
+ * sys/d3d11/gstd3d11h265dec.c:
+ * sys/d3d11/gstd3d11vp9dec.c:
+ d3d11decoder: Check decoder status report
+ ... and if h/w decoder reports error, increase error count.
+
+2020-02-27 18:16:27 -0500 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst/debugutils/gstfakevideosink.c:
+ fakevideosink: Align max-lateness/processing-deadline to GstVideoSink
+ To emulate correctly the timing video of a real sink, let's set those
+ properties just like a real video sink.
+
+2020-02-14 01:42:34 +1100 Jan Schmidt <jan@centricular.com>
+
+ * ext/webrtc/nicetransport.c:
+ * gst-libs/gst/webrtc/dtlstransport.c:
+ webrtc: Use the dtlssrtenc rtp-sync property
+ Instead of synchronising at the ICE transport, do clock sync for the
+ RTP stream at the DTLS transport via the dtlssrtpenc rtp-sync
+ property. This avoids delaying RTCP while waiting until it is time
+ to output an RTP packet when rtcp-mux is enabled.
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1212
+
+2020-02-14 01:38:14 +1100 Jan Schmidt <jan@centricular.com>
+
+ * ext/dtls/gstdtlssrtpenc.c:
+ * ext/dtls/gstdtlssrtpenc.h:
+ gstdtlsrtpenc: Add rtp-sync property
+ Add an rtp-sync property which synchronises RTP streams
+ to the pipeline clock before passing them to funnel for
+ merging with RTCP.
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1212
+
+2020-02-27 11:39:08 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * ext/dash/gstxmlhelper.c:
+ dash: Don't use sscanf + glib format modifiers
+ We do not have a way to know the format modifiers to use with string
+ functions provided by the system. `G_GUINT64_FORMAT` and other string
+ modifiers only work for glib string formatting functions. We cannot
+ use them for string functions provided by the stdlib. See:
+ https://developer.gnome.org/glib/stable/glib-Basic-Types.html#glib-Basic-Types.description
+ F.ex.
+ ```
+ ../ext/dash/gstxmlhelper.c: In function 'gst_xml_helper_get_prop_unsigned_integer_64':
+ ../ext/dash/gstxmlhelper.c:473:40: error: unknown conversion type character 'l' in format [-Werror=format=]
+ if (sscanf ((gchar *) prop_string, "%" G_GUINT64_FORMAT,
+ ^~~
+ In file included from /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86/include/glib-2.0/glib/gtypes.h:32,
+ from /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86/include/glib-2.0/glib/galloca.h:32,
+ from /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86/include/glib-2.0/glib.h:30,
+ from /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86/include/gstreamer-1.0/gst/gst.h:27,
+ from ../ext/dash/gstxmlhelper.h:26,
+ from ../ext/dash/gstxmlhelper.c:22:
+ /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86/lib/glib-2.0/include/glibconfig.h:69:28: note: format string is defined here
+ #define G_GUINT64_FORMAT "llu"
+ ^
+ ../ext/dash/gstxmlhelper.c:473:40: error: too many arguments for format [-Werror=format-extra-args]
+ if (sscanf ((gchar *) prop_string, "%" G_GUINT64_FORMAT,
+ ^~~
+ ```
+ In the process, we're also following the DASH MPD spec more closely
+ now, which specifies that ranges must follow RFC 2616 section 14.35.1:
+ https://tools.ietf.org/html/rfc2616#page-138
+
+2020-02-26 21:11:40 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/dtls/gstdtlscertificate.c:
+ dtls: Set a random serial number and issuer/subject in the self-signed certificates
+ This is also what Chrome and Firefox are doing, citing privacy concerns.
+ Also putting OpenWebRTC from Sweden as issuer/subject is rather
+ confusing.
+
+2020-02-26 09:08:03 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+ * gst/transcode/gsttranscodebin.c:
+ transcodebin: consider 'any' as no restriction
+ gstreamer-rs set 'any' as default restriction which actually means 'no
+ restriction' so handle it as the absence of restriction.
+
+2020-02-26 13:11:30 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11window.cpp:
+ d3d11window: Set DXGI_PRESENT_ALLOW_TEARING only in fullscreen mode
+ The DXGI_PRESENT_ALLOW_TEARING flag might cause unexpected tearing
+ side effect. Setting it in fullscreen mode only seems to be
+ the correct usage as in the Microsoft's direct3d examples.
+
+2020-02-25 21:03:06 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+ * gst/transcode/gsttranscodebin.c:
+ transcodebin: fix caps leak
+ encodecaps was leaked if the profile has restrictions.
+
+2020-02-25 14:58:23 +0100 Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+ * gst/rtmp2/gstrtmp2locationhandler.c:
+ * gst/rtmp2/gstrtmp2sink.c:
+ * gst/rtmp2/gstrtmp2src.c:
+ * gst/rtmp2/rtmp/rtmpclient.c:
+ rtmp2: Allow setting flash-version
+ In case the application has to deal with fussy servers. User agent
+ sniffing is so last decade.
+ Adds a property to set the Flash version on both the sink and the src.
+ The default stays the same (IIRC, Flash plugin for Linux from 2009).
+
+2020-02-15 04:18:07 +1100 Jan Schmidt <jan@centricular.com>
+
+ * gst-libs/gst/codecparsers/gsth265parser.c:
+ h265parser: Skip unused bits in an SEI.
+ Alternative approach to 18b54f8d347030c73d8afbeaf55df57aa5acbb96
+ that skips all bits in a broken SEI correctly.
+
+2020-02-12 17:37:46 +0100 Stéphane Cerveau <scerveau@collabora.com>
+
+ * gst-libs/gst/codecparsers/gsth265parser.c:
+ Revert "h265parser: Skip unused SEI bits differently"
+ This reverts commit 18b54f8d347030c73d8afbeaf55df57aa5acbb96.
+
+2020-02-11 12:21:29 +0100 Stéphane Cerveau <scerveau@collabora.com>
+
+ * tests/check/libs/h265parser.c:
+ tests: add picture timing SEI parsing
+
+2020-02-07 00:13:49 -0800 Dylan Yip <dylan.yip@xilinx.com>
+
+ * gst-libs/gst/codecparsers/gsth265parser.c:
+ h265parse: Fix offset by one error in pic timing SEI
+ Offset by one error causes a free/malloc error when parsing pic timing
+ SEI messages.
+
+2020-02-21 21:02:47 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11h264dec.c:
+ * sys/d3d11/gstd3d11h265dec.c:
+ * sys/d3d11/gstd3d11vp9dec.c:
+ d3d11decoder: Ensure the written bitstream buffer size is 128 bytes aligned
+ DXVA spec is saying that the size of bitstream buffer provided by hardware decoder
+ should be 128 bytes aligned. And also the host software decoder should
+ align the size of written buffer to 128 bytes. That means if the slice
+ (or frame in case of VP9) size is not aligned with 128 bytes,
+ the rest of non 128 bytes aligned memory should be zero-padded.
+ In addition to aligning implementation, some variables are renamed
+ to be more intuitive by this commit.
+
+2020-02-12 10:24:55 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkallocator_libva.c:
+ msdk: libva: Don't set the hint if MFX_VERSION is lower than 1025
+ MFX_MEMTYPE_VIDEO_MEMORY_ENCODER_TARGET is defined since MFX_VERSION
+ 1025.
+
+2020-01-27 15:13:58 +0100 Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+ * gst/rtmp2/gstrtmp2sink.c:
+ * gst/rtmp2/gstrtmp2src.c:
+ rtmp2: Expose connection stats as property
+ Save the stats before we destroy the connection, so we can still
+ retrieve them afterwards.
+
+2020-02-14 14:53:46 +0100 Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+ * gst/rtmp2/rtmp/rtmpconnection.c:
+ * gst/rtmp2/rtmp/rtmpconnection.h:
+ rtmp2: Add gst_rtmp_connection_get_stats and _get_null_stats
+ The former uses a thread-safe way of getting statistics from the
+ connection without having to protect the fields with a lock.
+ The latter produces a zeroed statistics structure for use when no
+ connection exists.
+
+2020-02-14 12:34:44 +0100 Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+ * gst/rtmp2/rtmp/rtmpconnection.c:
+ rtmp2: Count outgoing bytes and acked bytes
+ For statistics.
+
+2020-01-27 16:30:20 +0100 Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+ * gst/rtmp2/gstrtmp2sink.c:
+ rtmp2sink: Add a property for the outgoing chunk size
+
+2020-02-14 12:34:19 +0100 Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+ * gst/rtmp2/rtmp/rtmpconnection.c:
+ * gst/rtmp2/rtmp/rtmpconnection.h:
+ rtmp2: Add gst_rtmp_connection_set_chunk_size
+
+2020-01-27 16:22:20 +0100 Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+ * gst/rtmp2/rtmp/rtmpconnection.c:
+ rtmp2: Handle outgoing set chunk/window size properly
+ Apply outgoing sizes only after writing the chunk to the peer. This is
+ important particularly for the set chunk size and allows exposing it
+ without threading issues.
+
+2020-01-27 14:05:31 +0100 Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+ * gst/rtmp2/rtmp/rtmpchunkstream.c:
+ * gst/rtmp2/rtmp/rtmpconnection.c:
+ rtmp2: Chunk messages as buffers in loop thread
+ Move output chunking from gst_rtmp_connection_queue_message into
+ gst_rtmp_connection_start_write, which effectively moves it from the
+ streaming thread into the loop thread.
+ This allows us to handle the outgoing chunk-size message (which is
+ generated by changing the future chunk-size property) properly, which
+ could come from any other thread.
+
+2020-02-12 16:55:15 +0100 Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+ * gst/rtmp2/rtmp/rtmpconnection.c:
+ rtmp2: Consistently use GstBuffer for RTMP chunks
+
+2020-02-12 16:47:30 +0100 Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+ * gst/rtmp2/rtmp/rtmpchunkstream.c:
+ * gst/rtmp2/rtmp/rtmpchunkstream.h:
+ rtmp2: Add gst_rtmp_chunk_stream_serialize_all
+ Serializes an RTMP message into a series of chunks, all in one buffer.
+ Similar to what gst_rtmp_connection_queue_message does to serialize
+ into a GByteArray.
+
+2020-02-12 16:43:30 +0100 Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+ * gst/rtmp2/rtmp/rtmputils.c:
+ * gst/rtmp2/rtmp/rtmputils.h:
+ rtmp2: Add gst_rtmp_output_stream_write_all_buffer_async
+ Similar to gst_rtmp_output_stream_write_all_bytes_async, but takes a
+ GstBuffer instead of a GBytes. It can also return the number of bytes
+ written, which might be lower in case of an error.
+
+2020-02-14 12:28:43 +0100 Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+ * gst/rtmp2/rtmp/rtmpchunkstream.c:
+ * gst/rtmp2/rtmp/rtmpchunkstream.h:
+ * gst/rtmp2/rtmp/rtmpclient.c:
+ * gst/rtmp2/rtmp/rtmpconnection.c:
+ * gst/rtmp2/rtmp/rtmpconnection.h:
+ rtmp2: Improve handling incoming set chunk/window size
+ Reject out-of-spec sizes and warn about suspiciously small sizes.
+
+2020-02-14 14:26:27 +0100 Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+ * gst/rtmp2/gstrtmp2sink.c:
+ * gst/rtmp2/gstrtmp2src.c:
+ rtmp2: Lock self->lock before OBJECT_LOCK
+ OBJECT_LOCK is used to protect property access only. self->lock is
+ used to access the RtmpConnection, mostly between the streaming thread
+ and the loop thread.
+ To avoid deadlocks involving these two locks, we obey a lock order:
+ If both self->lock and OBJECT_LOCK are needed, self->lock must be locked
+ first. Clarify this.
+
+2020-02-14 12:20:32 +0100 Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+ * gst/rtmp2/rtmp/rtmpchunkstream.c:
+ * gst/rtmp2/rtmp/rtmpmessage.h:
+ rtmp2: Reject oversized messages
+ We only have 24 bits for the size, so reject anything larger.
+
+2020-02-14 11:49:23 +0100 Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+ * gst/rtmp2/rtmp/rtmpconnection.c:
+ rtmp2: Count in_bytes_acked instead of in_bytes_unacked
+ This is nicer for statistics.
+
+2020-02-12 18:27:56 +0100 Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+ * gst/rtmp2/rtmp/rtmpconnection.c:
+ rtmp2: rtmpconnection: Use more appropriate size types
+ - guint32 for chunk size and window size
+ - guint64 for running counters
+
+2020-02-12 16:55:45 +0100 Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+ * gst/rtmp2/rtmp/rtmpconnection.c:
+ rtmp2: Add a g_return_val_if_fail
+
+2020-02-12 16:49:45 +0100 Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+ * gst/rtmp2/rtmp/rtmpconnection.c:
+ rtmp2: Replace explicit unref with g_main_context_invoke_full
+
+2020-01-27 15:27:28 +0100 Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+ * gst/rtmp2/rtmp/rtmpconnection.c:
+ rtmp2: rtmpconnection: Use GST_*_OBJECT logging
+ GstRtmpConnection isn't a GstObject with a name or path, but we still
+ get the GObject's type and address.
+
+2020-02-21 11:33:35 +0100 Marc Leeman <m.leeman@televic.com>
+
+ * gst/rist/gstristsink.c:
+ rist: fix two minor memory leaks
+
+2020-02-19 17:07:35 +0100 Marc Leeman <m.leeman@televic.com>
+
+ * gst/rtp/gstrtpsink.c:
+ rtpmanagerbad: fix two minor memory leaks
+
+2020-02-19 17:07:23 +0100 Marc Leeman <m.leeman@televic.com>
+
+ * gst/rtp/gstrtpsink.c:
+ rtpmanagerbad: reduce lock in rtpsink
+
+2020-02-19 17:06:18 +0100 Marc Leeman <m.leeman@televic.com>
+
+ * gst/rtp/gstrtpsrc.c:
+ rtpmanagerbad: documentation comment fix
+
+2020-02-21 03:39:14 +1100 Jan Schmidt <jan@centricular.com>
+
+ * ext/webrtc/transportsendbin.c:
+ webrtc: Configure transportsendbin latency internally
+ Add latency configuration logic to transportsendbin to
+ isolate it from the overall pipeline latency. That means that
+ it configures minimum latency internally based on the
+ latency query, and sends a latency event upstream that
+ matches.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1209
+
+2020-02-20 16:19:09 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11decoder.c:
+ d3d11decoder: Add padding space on decoder output view when it's not aligned
+ Most H/W decoders have required alignment and dxva is also the case.
+
+2020-02-15 01:23:32 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11_fwd.h:
+ * sys/d3d11/gstd3d11decoder.c:
+ * sys/d3d11/gstd3d11decoder.h:
+ * sys/d3d11/gstd3d11h264dec.c:
+ * sys/d3d11/gstd3d11h264dec.h:
+ * sys/d3d11/gstd3d11h265dec.c:
+ * sys/d3d11/gstd3d11h265dec.h:
+ * sys/d3d11/gstd3d11vp9dec.c:
+ * sys/d3d11/gstd3d11vp9dec.h:
+ * sys/d3d11/plugin.c:
+ d3d11decoder: Register elements per GPU device with capability check
+ This implementation is similar to what we've done for nvcodec plugin.
+ Since supported resolution, profiles, and formats are device dependent ones,
+ single template caps cannot represent them, so this modification
+ will help autoplugging and fallback.
+ Note that the legacy gpu list and list of resolution to query were
+ taken from chromium's code.
+
+2020-02-17 15:04:28 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11device.c:
+ d3d11device: Fix typo
+ s/vender/vendor
+
+2020-02-14 20:27:28 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11device.c:
+ d3d11device: Adjust debug level for when _new() fails
+ gst_d3d11_device_new might be used to enumerate device.
+
+2020-02-06 16:39:06 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkswapper.c:
+ vkswapper: keep a reference on the input buffer until present is finished
+ Otherwise, there may be a very small period of time where the buffer can
+ be freed while being presented.
+
+2020-02-14 12:52:30 +1100 Jan Schmidt <jan@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtc: Merge ICE candidates to local descriptions
+ When emitting ICE candidates, also merge them to the local and
+ pending description so they show up in the SDP if those are
+ retrieved from the current-local-description and
+ pending-local-description properties.
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/676
+
+2020-02-16 17:11:29 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11videosink.c:
+ d3d11videosink: Ensure upload staging texture to fallback render texture
+ gst_video_frame_copy will copy input frame to stating texture
+ of fallback frame. Then, we need to map fallback texture with GST_MAP_D3D11
+ flag to upload the staging texture to render texture. Otherwise
+ the render texture wouldn't be updated.
+
+2020-02-13 21:19:37 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11decoder.c:
+ d3d11decoder: Fix copying decoder view to staging
+ Source texture (decoder view) might be larger than destination (staging) texture.
+ In that case, D3D11_BOX structure should be passed to CopySubresourceRegion method
+ in order to specify the exact target area.
+
+2020-02-12 17:50:53 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/webrtc/transportreceivebin.c:
+ webrtcbin: Block the source pads before dtlssrtpdec inside transportreceivebin
+ Otherwise dropped sticky events are not actually re-sent on the next
+ opportunity and we can end up with data-flow before stream-start/segment
+ events.
+
+2020-02-06 19:40:20 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/sctp/sctpassociation.c:
+ sctp: Take some socket configurations from Firefox's datachannel code
+ - Do not send ABORTs for unexpected packets are as response to INIT
+ - Enable interleaving of messages of different streams
+ - Configure 1MB send and receive buffer for the socket
+ - Enable SCTP_SEND_FAILED_EVENT and SCTP_PARTIAL_DELIVERY_EVENT events
+ - Set SCTP_REUSE_PORT configuration
+ - Set SCTP_EXPLICIT_EOR and the corresponding send flag. We probably
+ want to split packets to a maximum size later and only set the flag
+ on the last packet. Firefox uses 0x4000 as maximum size here.
+ - Enable SCTP_ENABLE_CHANGE_ASSOC_REQ
+ - Disable PMTUD and set an maximum initial MTU of 1200
+
+2020-02-06 18:43:35 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/sctp/sctpassociation.c:
+ * ext/sctp/sctpassociation.h:
+ sctp: Start connection synchronously when starting the association
+ Calling bind() only sets up some data structures and calling connect()
+ only produces one packet before it returns. That packet is stored in a
+ queue that is asynchronously forwarded by the encoder's source pad loop,
+ so not much is happening there either. Especially no waiting is
+ happening here and no forwarding of data to other elements.
+ This fixes a race condition during connection setup: the connection
+ would immediately fail if we pass a packet from the peer to the socket
+ before bind() and connect() have returned.
+ This can't happen anymore as bind() and connect() have returned already
+ before both elements reach the PAUSED state, and in webrtcbin there is
+ an additional blocking pad probe before the decoder that does not let
+ any data pass through before that anyway.
+
+2020-02-06 16:42:01 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/sctp/sctpassociation.c:
+ * ext/sctp/sctpassociation.h:
+ sctp: Switch back to a non-recursive mutex and don't hold it while calling any usrsctp functions
+ The library is thread-safe by itself and potentially calls back into our
+ code, not only from the same thread but also from other threads. This
+ can easily lead to deadlocks if we try to hold our mutex on both sides.
+
+2020-02-12 22:29:31 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11window_win32.cpp:
+ d3d11window: Fix for broken dirty rect drawing on Windows 7
+ DXGI_SWAP_EFFECT_DISCARD cannot be used with dirty rect drawing feature
+ of IDXGISwapChain1::Present().
+ Note that IDXGISwapChain1 interface is available on Platform Update for Windows 7
+ and DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL is also the case.
+
+2020-02-11 13:12:33 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11window.cpp:
+ d3d11window: Fix for dxva decoder output view rendering
+ Use resolution specified in caps for input_rect instead of
+ passed width and height value. The width and height might be modified
+ ones by d3d11videosink, then frame resolution might be different.
+
+2020-02-05 21:27:23 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ d3d11decoder: Refactor decoding process
+ * Move decoding process to handle_frame
+ * Remove GstVideoDecoder::parse implementation
+ * Clarify flush/drain/finish usage
+ In forward playback case, have_frame() call will be followed by
+ handle_frame() but reverse playback is not the case.
+ To ensure GstVideoCodecFrame, the decoding process should be placed inside
+ of handle_frame(), instead of parse().
+ Since we don't support alignment=nal, the parse() implementation is not worth.
+ In order to fix broken reverse playback, let's remove the parse()
+ implementation and revisit it when adding alignment=nal support.
+
+2020-01-30 20:04:58 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11h264dec.c:
+ * sys/d3d11/gstd3d11h264dec.h:
+ * sys/d3d11/gstd3d11h265dec.c:
+ * sys/d3d11/gstd3d11h265dec.h:
+ * sys/d3d11/gstd3d11vp9dec.c:
+ * sys/d3d11/gstd3d11vp9dec.h:
+ * sys/d3d11/gsth264decoder.c:
+ * sys/d3d11/gsth265decoder.c:
+ * sys/d3d11/gstvp9decoder.c:
+ d3d11decoder: Move handle_frame implementation to baseclass
+ ... and remove unused start, stop method from subclass.
+ Current implementation does not require subclass specific behavior
+ for the handle_frame() method.
+
+2020-02-05 18:20:57 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11videosink.c:
+ d3d11videosink: Remove max size condition from pool
+ Actually our buffer pool size and the number of backbuffer are
+ independent. In case of reverse playback, upstream might request
+ a lot of buffers (up to GOP size).
+
+2020-02-12 00:00:51 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * sys/nvcodec/gstnvdec.c:
+ * sys/nvcodec/gstnvh264enc.c:
+ * sys/nvcodec/gstnvh265enc.c:
+ nvcodec: Mark class data as may-be-leaked to quiet the leaks tracer
+ The class data with the caps in it will be leaked if the element is
+ registered but never instantiated. There is no way around this. Mark
+ the caps as such so that the leaks tracer does not warn about it.
+ This is the same as pad template caps getting leaked, which are also
+ marked as may-be-leaked. These objects are initialized exactly once,
+ and are 'global' data.
+
+2020-02-08 12:05:03 +0000 Philippe Normand <philn@igalia.com>
+
+ * ext/wpe/WPEThreadedView.cpp:
+ * ext/wpe/WPEThreadedView.h:
+ * ext/wpe/gstwpesrc.cpp:
+ * ext/wpe/meson.build:
+ wpe: Add software rendering support support
+ Starting from WPEBackend-FDO 1.6.x, software rendering support is available.
+ This features allows wpesrc to be used on machines without GPU, and/or for
+ testing purpose. To enable it, set the `LIBGL_ALWAYS_SOFTWARE=true` environment
+ variable and make sure `video/x-raw, format=BGRA` caps are negotiated by the
+ wpesrc element.
+
+2020-02-11 12:15:09 +0100 Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+
+ * ext/fluidsynth/gstfluiddec.c:
+ fluiddec: Move logging init into plugin_init
+ This is a nicer place to keep it. We also initialize it before touching
+ the drivers.
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/1026
+
+2020-02-05 11:17:33 +0100 Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+
+ * ext/fluidsynth/gstfluiddec.c:
+ fluiddec: Keep fluidsynth from probing audio drivers
+ It might cause problems and we don't need the drivers anyway. This also
+ avoids a bunch of stderr spam from the drivers.
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/1026
+
+2020-02-05 11:17:32 +0100 Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+
+ * ext/fluidsynth/gstfluiddec.c:
+ fluiddec: Avoid deprecated fluid_synth_set_sample_rate
+ This function is used to change the rate at runtime, which has issues:
+ https://github.com/FluidSynth/fluidsynth/issues/585
+ Use the settings key instead (which already defaults to 44100, but I did
+ test other rates).
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/1026
+
+2020-01-22 16:20:28 +0200 Vivia Nikolaidou <vivia@ahiru.eu>
+
+ * gst/mpegtsdemux/mpegtsparse.c:
+ * gst/mpegtsdemux/mpegtsparse.h:
+ tsparse: Add split-on-rai property
+ If set, buffers sized smaller than the alignment will be sent so that
+ RAI packets are at the start of a new buffer.
+ Fixes: #1190
+
+2020-02-06 14:29:13 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/transportreceivebin.c:
+ * ext/webrtc/transportsendbin.c:
+ webrtc: In all blocking pad probes except for sink pads also handle serialized events
+ Otherwise it can happen that e.g. the stream-start event is tried to be
+ sent as part of pushing the first buffer. Downstream might not be in
+ PAUSED/PLAYING yet, so the event is rejected with GST_FLOW_FLUSHING and
+ because it's an event would not cause the blocking pad probe to trigger
+ first. This would then return GST_FLOW_FLUSHING for the buffer and shut
+ down all of upstream.
+ To solve this we return GST_PAD_PROBE_DROP for all events. In case of
+ sticky events they would be resent again later once we unblocked after
+ blocking on the buffer and everything works fine.
+ Don't handle events specifically in sink pad blocking pad probes as here
+ downstream is not linked yet and we are actually waiting for the
+ following CAPS event before unblocking can happen.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1172
+
+2020-02-06 14:27:42 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/sctptransport.h:
+ webrtcbin: Add a blocking pad probe for the receivebin -> sctpdec connection
+ Without this it might happen that received data from the DTLS transport
+ is already passed to sctpdec before its state was set to PLAYING. This
+ would cause the data to be dropped, GST_FLOW_FLUSHING to be returned and
+ the whole DTLS transport to shut down.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1172
+ among other things.
+
+2020-02-06 14:24:41 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/webrtc/transportreceivebin.c:
+ * ext/webrtc/transportreceivebin.h:
+ webrtcbin/transportreceivebin: Use actual pad blocks instead of an additional GCond for blocking pads
+ Using a GCond can easily lead to deadlocks and only duplicates the
+ waiting code from gstpad.c in the best case.
+ In this case it actually could lead to a deadlock if both RTP and RTCP
+ were waiting. Only one of them would be woken up because g_cond_signal()
+ was used instead of g_cond_broadcast().
+
+2020-02-06 14:22:17 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/webrtc/transportsendbin.c:
+ webrtc/transportsendbin: Clean up pad probe removal
+ We already have a helper function for this so just use it instead of
+ duplicating it.
+
+2020-01-15 16:02:11 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdk.c:
+ * sys/msdk/gstmsdkvp9enc.c:
+ * sys/msdk/gstmsdkvp9enc.h:
+ * sys/msdk/meson.build:
+ msdkvp9enc: output raw vp9 stream instead of IVF stream
+ video/x-vp9 is required in the src pad, however the output includes a
+ IVF header, which makes the pipeline below doesn't work
+ gst-launch-1.0 videotestsrc ! msdkvp9enc ! msdkvp9dec ! fakesink
+ Since mfx 1.26, the VP9 encoder supports bitstream without IVF header,
+ so in this patch, the mfx version is checked and msdkvp9enc is enabled
+ only if mfx 1.26+ is available
+
+2020-01-31 02:01:12 +1100 Jan Schmidt <jan@centricular.com>
+
+ * sys/androidmedia/gstamcvideoenc.c:
+ * sys/androidmedia/gstamcvideoenc.h:
+ * sys/androidmedia/gstjniutils.c:
+ * sys/androidmedia/gstjniutils.h:
+ androidmedia: Support float i-frame-interval
+ Android 25 added support for i-frame-interval to be a floating
+ point value. Store the property as a float and use the newer
+ version when it's available.
+
+2020-01-31 01:33:51 +1100 Jan Schmidt <jan@centricular.com>
+
+ * sys/androidmedia/gstamc-codec.h:
+ * sys/androidmedia/gstamcvideoenc.c:
+ * sys/androidmedia/gstamcvideoenc.h:
+ * sys/androidmedia/jni/gstamc-codec-jni.c:
+ * sys/androidmedia/magicleap/gstamc-codec-ml.c:
+ androidmedia: Allow dynamic bitrate changes on Android >= 19
+ Android 19 added an API for dynamically changing the bitrate in a running
+ codec.
+ Also make it so that even when not update-able at runtime, parameters will at least
+ be stored so that they take effect the next the codec is restarted.
+
+2020-01-31 01:21:34 +1100 Jan Schmidt <jan@centricular.com>
+
+ * sys/androidmedia/gstamc-codec.h:
+ * sys/androidmedia/gstamcvideoenc.c:
+ * sys/androidmedia/jni/gstamc-codec-jni.c:
+ * sys/androidmedia/magicleap/gstamc-codec-ml.c:
+ androidmedia: Handle force-keyunit requests
+ Use API from Android 19 to request a keyframe from the MediaCodec
+ when indicated by the base class.
+
+2020-02-05 21:13:49 +1100 Jan Schmidt <jan@centricular.com>
+
+ * sys/androidmedia/jni/gstamc-codec-jni.c:
+ androidmedia: Permit Codec surface to be NULL
+ The AMC encoder wrapper doesn't support input surfaces yet,
+ and passes NULL when configuring the underlying codec.
+ This was broken in commit 7fcf3e
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1102
+
+2020-01-24 10:58:32 -0800 Ederson de Souza <ederson.desouza@intel.com>
+
+ * ext/avtp/gstavtpaafdepay.c:
+ avtp: Build with clang
+ Minor non-conformity on AVTP code made it not compile with clang.
+
+2020-01-24 15:47:56 -0800 Ederson de Souza <ederson.desouza@intel.com>
+
+ * ext/avtp/gstavtpaafpay.c:
+ * ext/avtp/gstavtpcvfdepay.c:
+ * ext/avtp/gstavtpcvfpay.c:
+ * tests/check/elements/avtpaafdepay.c:
+ * tests/check/elements/avtpaafpay.c:
+ * tests/check/elements/avtpcvfdepay.c:
+ * tests/check/elements/avtpcvfpay.c:
+ avtp: Plug several leaks
+ After finally running tests with valgrind enabled, some leaks were found
+ - both on code and on tests themselves. This patch plugs them all!
+
+2020-02-07 13:24:53 +0000 Ludvig Rappe <ludvig.rappe@axis.com>
+
+ * ext/curl/gstcurlhttpsink.c:
+ gstcurlhttpsink: Update HTTP header for curl 7.66
+ Change how content-length is set for HTTP POST headers, letting curl set
+ the header (given the content-length) instead of manually writing it.
+ This enables curl to know the content-length of the data.
+ In curl 7.66, if curl does not know the content-length (e.g. when
+ manually writing the header) curl will use Transfer-Encoding: chunked,
+ which might not be desired.
+
+2020-01-20 15:22:26 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * sys/nvcodec/gstnvdec.c:
+ nvcodec: Fix crash in decoder on 32-bit Windows
+ Same fix as 1a7ea45ffde40a4bea63562a2cc9892396d9f7eb, but I didn't
+ test the decoder so I missed that the function pointers here weren't
+ using the correct calling convention too.
+
+2020-02-05 16:12:28 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * ext/ladspa/gstladspautils.c:
+ ladspa: only multiply bounded rate properties by sample rate
+ We don't want to accidentally multiply G_MAXFLOAT or -GMAXFLOAT
+ with the sample rate.
+
+2020-02-05 16:03:06 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * ext/ladspa/gstladspautils.c:
+ ladspa: fix unbounded integer properties
+ Use a double instead of a plain float for intermediary
+ property values, so we have enough bits to store INT_MAX
+ and it doesn't get rounded and wrapped to -1 when cast
+ back to a 32-bit integer.
+ Fixes criticals like
+ g_param_spec_int: assertion 'default_value >= minimum && default_value <= maximum' failed
+ when loading LADSPA plugins from the Linux Studio Plugins
+ Project (http://lsp-plug.in) in GStreamer.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1194
+
+2019-10-04 11:39:10 -0700 Andre Guedes <andre.guedes@intel.com>
+
+ * ext/avtp/gstavtp.c:
+ * ext/avtp/gstavtpsink.c:
+ * ext/avtp/gstavtpsink.h:
+ * ext/avtp/meson.build:
+ avtpsink: Implement synchronization mechanism
+ The avtpsink element is expected to transmit AVTPDUs at specific times,
+ according to GstBuffer timestamps. Currently, the transmission time is
+ controlled in software via the rendering synchronization mechanism
+ provided by GstBaseSink class. However, that mechanism may not cope with
+ some AVB use-cases such as Class A streams, where AVTPDUs are expected
+ to be transmitted at every 125 us. Thus, this patch introduces avtpsink
+ own mechanism which leverages the socket transmission scheduling
+ infrastructure introduced in Linux kernel 4.19. When supported by the
+ NIC, the transmission scheduling is offloaded to the hardware, improving
+ transmission time accuracy considerably.
+ To illustrate that, a before-after experiment was carried out. The
+ experimental setup consisted in 2 PCs with Intel i210 card connected
+ back-to-back running an up-to-date Archlinux with kernel 5.3.1. In one
+ host gst-launch-1.0 was used to generate a 2-minute Class A stream while
+ the other host captured the packets. The metric under evaluation is the
+ transmission interval and it is measured by checking the 'time_delta'
+ information from ethernet frames captured at the receiving side.
+ The table below shows the outcome for a 48 kHz, 16-bit sample, stereo
+ audio stream. The unit is nanoseconds.
+ | Mean | Stdev | Min | Max | Range |
+ -------+--------+---------+---------+---------+---------+
+ Before | 125000 │ 2401 │ 110056 │ 288432 │ 178376 |
+ After | 125000 │ 18 │ 124943 │ 125055 │ 112 |
+ Before this patch, the transmission interval mean is equal to the
+ optimal value (Class A stream -> 125 us interval), and it is kept the
+ same after the patch. The dispersion measurements, however, had
+ improved considerably, meaning the system is now consistently
+ transmitting AVTPDUs at the correct time.
+ Finally, the socket transmission scheduling infrastructure requires the
+ system clock to be synchronized with PTP clock so this patches modifies
+ the AVTP plugin documentation to cover how to achieve that.
+
+2019-10-04 11:17:22 -0700 Andre Guedes <andre.guedes@intel.com>
+
+ * ext/avtp/gstavtpsink.c:
+ avtpsink: Prepare code to new synchronization mechanism
+ This patch refactors gst_avtp_sink_start() by moving all socket
+ initialization code to its own function. This change prepares the code
+ to the next patch which will introduce avtpsink's own rendering
+ synchronization mechanism.
+
+2019-10-04 11:11:23 -0700 Andre Guedes <andre.guedes@intel.com>
+
+ * ext/avtp/gstavtpsink.c:
+ avtpsink: Remove SOCK_NONBLOCK from avtpsink
+ Current avtpsink code opens the AF_PACKET socket with SOCK_NONBLOCK
+ option. However, we actually want sendto() to block in case there isn't
+ available space in socket buffer.
+
+2019-10-04 10:56:30 -0700 Andre Guedes <andre.guedes@intel.com>
+
+ * ext/avtp/gstavtpsink.c:
+ * ext/avtp/gstavtpsrc.c:
+ avtp: Refactor if_index code
+ This patch refactors both avtpsink and avtpsrc code so we use the
+ if_nametoindex() helper instead of building a request and issuing an
+ ioctl to get the if_index.
+
+2020-02-05 22:12:15 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11window.cpp:
+ d3d11window: Clear cached buffer per new caps
+ d3d11window holds one buffer to redraw client area per resize event.
+ When the input format is being changed, this buffer should be cleared
+ to avoid mismatch beween newly configured shader/videoprocessor and
+ the format of previously cached buffer.
+
+2020-02-04 11:31:43 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * sys/nvcodec/gstnvdec.c:
+ nvdec: Don't leak template caps when registering elements with old NVIDIA driver
+
+2020-02-03 22:23:21 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11decoder.c:
+ * sys/d3d11/gstd3d11decoder.h:
+ * sys/d3d11/gstd3d11h264dec.c:
+ * sys/d3d11/gstd3d11h265dec.c:
+ * sys/d3d11/gstd3d11vp9dec.c:
+ d3d11decoder: Use consistent resolution between output caps and video meta
+ h264/h265 decoded buffer might have crop area then we need to
+ adjust video meta based on the padding space
+
+2020-02-03 21:55:55 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11bufferpool.c:
+ * sys/d3d11/gstd3d11memory.c:
+ * sys/d3d11/gstd3d11memory.h:
+ d3d11memory: Add a method to specify padding space
+
+2020-02-01 17:38:29 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11h264dec.c:
+ * sys/d3d11/gstd3d11h265dec.c:
+ * sys/d3d11/gstd3d11vp9dec.c:
+ d3d11decoder: Add support for zero-copy playback
+ When downstream support d3d11 memory with forward playback case,
+ expose decoder output view memory objects without copying.
+
+2020-02-04 01:00:00 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11decoder.c:
+ d3d11decoder: Create decoder output view whenever it's required
+ Whatever the reason, buffer in pool might be freed then we need to
+ configure decoder output views again.
+
+2020-02-04 00:55:24 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11decoder.c:
+ d3d11decoder: Need to zero initilized for g_once
+ A vairable to be used for g_once, it should be zero initialized
+
+2020-01-30 18:11:52 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11_fwd.h:
+ * sys/d3d11/gstd3d11bufferpool.c:
+ * sys/d3d11/gstd3d11memory.c:
+ * sys/d3d11/gstd3d11memory.h:
+ d3d11allocator: Work as if buffer pool when running on texture array mode
+ Because the size of texture array cannot be updated dynamically,
+ allocator should block the allocation request. This cannot be
+ done at buffer pool side if this d3d11 memory is shared among
+ multiple buffer objects. Note that setting NO_SHARE flag to
+ d3d11 memory is very inefficient. It would cause most likey
+ copy of the d3d11 texture.
+
+2020-01-31 00:17:13 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11videosink.c:
+ d3d11videosink: Fix fallback buffer copy
+ Since we don't use dynamic texture now, cpu access to the fallback
+ texture should not happen.
+
+2020-01-30 21:12:31 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11window.cpp:
+ * sys/d3d11/gstd3d11window.h:
+ d3d11window: Don't create swapchain again per caps change
+ Creating swapchain is relatively heavy operation. If output dxgi format
+ is not being chagned, we don't need to destroy and create swachain again.
+
+2020-01-10 21:45:43 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11window.cpp:
+ * sys/d3d11/gstd3d11window.h:
+ * sys/d3d11/gstd3d11window_corewindow.cpp:
+ * sys/d3d11/gstd3d11window_swapchainpanel.cpp:
+ * sys/d3d11/gstd3d11window_win32.cpp:
+ d3d11window: Invoke initial resize method from baseclass
+ ... instead of calling from subclass in order for baseclass to handle
+ more things between swapchain creation and resource creation.
+
+2020-01-29 21:10:00 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11videosink.c:
+ * sys/d3d11/gstd3d11videosink.h:
+ * sys/d3d11/gstd3d11window.cpp:
+ * sys/d3d11/gstd3d11window.h:
+ d3d11videosink: Use ID3D11VideoProcessor interface
+ ...for color space conversion if available
+ ID3D11VideoProcessor is equivalent to DXVA-HD video processor
+ which might use specialized blocks for video processing
+ instead of general GPU resource. In addition to that feature,
+ we need to use this API for color space conversion of DXVA2 decoder
+ output memory, because any d3d11 texture arrays that were
+ created with D3D11_BIND_DECODER cannot be used for shader resource.
+ This is prework for d3d11decoder zero-copy rendering and also
+ for conditional HDR tone-map support.
+ Note that some Intel platform is known to support tone-mapping
+ at the driver level using this API on Windows 10.
+
+2020-01-10 23:54:43 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11_fwd.h:
+ * sys/d3d11/gstd3d11videoprocessor.c:
+ * sys/d3d11/gstd3d11videoprocessor.h:
+ * sys/d3d11/meson.build:
+ * sys/d3d11/plugin.c:
+ d3d11: Add video processor object
+ ID3D11VideoProcessor interface provides various image conversion
+ methods. Note that it's analogous to VAAPI VPP.
+
+2020-01-29 17:29:04 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11format.c:
+ * sys/d3d11/gstd3d11format.h:
+ * sys/d3d11/gstd3d11window.cpp:
+ * sys/d3d11/gstd3d11window.h:
+ d3d11format: Add util methods for mapping DXGI color space with ours
+ Move color space mapping and hdr10 metadata conversion methods to
+ d3d11format in order to reuse the code.
+
+2020-02-01 19:18:44 +0100 Stéphane Cerveau <scerveau@collabora.com>
+
+ * ext/fdkaac/gstfdkaacdec.c:
+ fdkaacdec: add support for mpegversion=2
+ Fix for #1199
+
+2020-01-29 18:55:55 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvenc.c:
+ nvenc: Query maximum supported API version
+ We've been using NvEncodeAPICreateInstance method to find the supported API
+ version, but that seems to be insufficient since there is a case
+ where plugin failed in opening encoding session even if NvEncodeAPICreateInstance
+ succeeded. Asking driver about the version would be the most certain way.
+
+2020-01-31 17:25:08 -0800 Thiago Santos <thiago@mode.net>
+
+ * gst/sdp/gstsdpdemux.c:
+ sdpdemux: check if connections are available on media entry before get
+ Otherwise we trigger an assert.
+
+2020-02-01 01:37:08 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * ext/webrtc/transportreceivebin.c:
+ webrtcbin: fix blocking of receive bin
+ The receive bin should block buffers from reaching dtlsdec before
+ the dtls connection has started.
+ While there was code to block its sinkpads until receive_state
+ was different from BLOCK, nothing was ever setting it to BLOCK
+ in the first place. This commit corrects this by setting the
+ initial state to BLOCK, directly in the constructor.
+ In addition, now that blocking is effective, we want to only
+ block buffers and buffer lists, as that's what might trigger
+ errors, we want to still let events and queries go through,
+ not doing so causes immediate deadlocks when linking the
+ bin.
+
+2020-01-31 09:47:59 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/kms/gstkmssink.c:
+ kmssink: Fix crash with force-modesetting=1
+ This is a master regression, we would allocate a bo without having
+ created the allocator yet. As of now, we lazily create the allocator.
+
+2020-01-31 08:33:38 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/sctp/sctpassociation.c:
+ sctpassociation: Add missing return to prevent double unlock
+
+2020-01-30 17:29:40 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/sctp/gstsctpenc.c:
+ * ext/sctp/sctpassociation.c:
+ * ext/sctp/sctpassociation.h:
+ sctpenc: Report errors when sending out data and the association is in error or disconnected state
+
+2020-01-30 17:21:49 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/sctp/gstsctpenc.c:
+ * ext/sctp/sctpassociation.c:
+ sctp: Clean up association state handling and go into error/disconnected state in more circumstances
+
+2020-01-30 16:28:25 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/sctp/sctpassociation.c:
+ sctpassociation: Use GStreamer logging system instead of g_warning() and g_log()
+
+2020-01-30 16:13:19 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/sctp/gstsctpdec.c:
+ * ext/sctp/gstsctpenc.c:
+ sctp: Add more logging to the encoder/decoder elements on data processing
+ And convert g_warning()s into normal log output instead.
+
+2020-01-30 16:11:57 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/sctp/gstsctpenc.c:
+ * ext/sctp/sctpassociation.c:
+ sctpenc: Correctly log/handle errors and handle short writes
+
+2020-01-30 16:09:40 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/sctp/gstsctpdec.c:
+ * ext/sctp/sctpassociation.c:
+ * ext/sctp/sctpassociation.h:
+ sctp: Constify buffers in callbacks and functions
+ And free data with the correct free() function in the receive callback
+ by passing it to gst_buffer_new_wrapped_full() instead of
+ gst_buffer_new_wrapped().
+
+2020-01-30 16:06:09 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/sctp/gstsctpdec.c:
+ * ext/sctp/gstsctpenc.c:
+ * ext/sctp/sctpassociation.c:
+ * ext/sctp/sctpassociation.h:
+ sctp: Make receive/packetout callbacks thread-safe
+
+2020-01-30 16:00:33 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/sctp/gstsctpdec.c:
+ * ext/sctp/gstsctpenc.c:
+ sctp: Add logging and missing cleanup on errors when creating pads
+
+2020-01-30 15:59:12 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/sctp/gstsctpenc.c:
+ sctpenc: Use g_signal_emit() instead of g_signal_emit_by_name()
+ We have all the required information around so make use of it.
+
+2020-01-30 15:58:30 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/sctp/gstsctpenc.c:
+ * ext/sctp/gstsctpenc.h:
+ sctpenc: Propagate downstream flow errors upstream
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1180
+
+2020-01-30 15:56:36 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/sctp/gstsctpdec.c:
+ * ext/sctp/gstsctpdec.h:
+ sctpdec: Use a flow combiner for the source pad flow returns and propagate errors upstream
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1180
+
+2020-01-17 17:44:34 +0200 Vivia Nikolaidou <vivia@ahiru.eu>
+
+ * gst/mpegtsdemux/mpegtsparse.c:
+ mpegtsparse: Moved dispose function into finalize
+ dispose can be called several times and would double-free the flow
+ combiner in that case.
+
+2020-01-22 13:55:58 +0200 Vivia Nikolaidou <vivia@ahiru.eu>
+
+ * gst/mpegtsdemux/mpegtsparse.c:
+ * gst/mpegtsdemux/mpegtsparse.h:
+ mpegtsparse: Added alignment property
+ alignment works like in mpegtsmux, joining several MpegTS packets into
+ one buffer. Default value of 0 joins as many as possible for each
+ incoming buffer, to optimise CPU usage.
+
+2020-01-10 18:00:07 +0200 Vivia Nikolaidou <vivia@ahiru.eu>
+
+ * gst/mpegtsdemux/mpegtsparse.c:
+ mpegtsparse: Set delta unit flag on non-random-access buffers
+ If they don't have the random access flag set, they cannot be decoded
+ independently.
+
+2020-01-10 17:58:34 +0200 Vivia Nikolaidou <vivia@ahiru.eu>
+
+ * gst/mpegtsdemux/mpegtsparse.c:
+ mpegtsparse: Packetize output on default srcpad
+ Align buffer boundaries with mpeg-ts packets, instead of keeping
+ whatever packetization we have from the source (network, file reading).
+
+2020-01-10 17:54:54 +0200 Vivia Nikolaidou <vivia@ahiru.eu>
+
+ * gst/mpegtsdemux/mpegtsparse.c:
+ mpegtsparse: Factor common code into mpegts_packet_to_buffer
+ The same code was used twice for turning an MpegTSPacketizerPacket into
+ a GstBuffer.
+
+2020-01-10 17:52:58 +0200 Vivia Nikolaidou <vivia@ahiru.eu>
+
+ * gst/mpegtsdemux/mpegtspacketizer.h:
+ mpegtspacketizer: Fix typo in flag name
+
+2020-01-29 14:10:06 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ msdkdec: Fix GstMsdkContext leak
+
+2020-01-29 14:02:09 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/gstmsdkvpp.c:
+ msdk: Clear reference counted object in dispose() method
+ Follow GObject's memory management model
+
+2020-01-28 13:06:59 +0100 Guillermo Rodríguez <guille.rodriguez@gmail.com>
+
+ * ext/wayland/wlwindow.c:
+ waylandsink: Clear window when pipeline is stopped
+ When a pipeline is stopped (actually when the waylandsink element
+ state changes from PAUSED to READY) the video surface is cleared, but
+ the opaque black surface behind is not. Fix this by actually clearing
+ both surfaces.
+
+2020-01-09 22:23:17 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkcontext.c:
+ msdk: use cached response for DMABuf when the frame size is same
+ User is seeing corrupted display when running `videotestsrc !
+ video/x-raw,format=NV12,width=xxx,height=xxx ! msdkh265enc ! msdkh265dec
+ ! glimagesink` with changed frame size, e.g. from 1920x1080 to 1920x240
+ The root cause is a same dmabuf fd is used for frames with
+ different size, which causes some unexpected result. This patch requires
+ cached response is used for frames with same size only for DMABuf, so a
+ dmabuf fd can't be used for frames with different size any more.
+
+2020-01-25 18:39:52 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11window.cpp:
+ * sys/d3d11/gstd3d11window_win32.cpp:
+ d3d11window_win32: Let DXGI choose client area
+ Don't specify the resolution of backbuffer. Then dxgi will let us know the
+ actual client area. When upstream resolution is chagned, updating the size
+ of backbuffer without the consideration for client size would cause mismatch
+ between them.
+
+2020-01-23 11:01:33 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/nvcodec/gstnvdec.c:
+ nvdec: Do not map GStreamer discont to CUVid discont
+ Setting the CUVID_PKT_DISCONTINUITY implies clearing any past information
+ about the stream in the decoder. The GStreamer discont flag is used for
+ discontinuity caused by a seek, for first buffer and if a buffer was
+ dropped. In the first two cases, the parsers and demuxers should ensure we
+ start from a synchronization point, so it's unlikely that delta will be
+ matched against the wrong state.
+ For packet lost, the discontinuity flag will prevent the decoder from doing
+ any concealment, with a result that ca be much worst visually, or freeze the
+ playback until an IDR is met. It's better to let the decoder handle that for
+ us.
+ Removing this flag, also workaround a but in NVidia parser that makes it
+ ignore our ENDOFFRAME flag and increase the latency by one frame.
+
+2020-01-22 10:26:02 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/nvcodec/gstnvdec.c:
+ * sys/nvcodec/gstnvdec.h:
+ nvdec: Tell the parser we have complete pictures
+ This sets the CUVID_PKT_ENDOFPICTURE flag in order to inform the decoder that
+ we have a complete picture. This should remove one frame latency otherwise
+ introduce by NVidia parser.
+
+2020-01-23 18:08:53 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/closedcaption/gstccconverter.c:
+ * tests/check/elements/ccconverter.c:
+ ccconverter: Fill remainder of the cc_data in CDP packets with empty packets
+ Instead of filling it completely with zeroes. Filling with zeroes is
+ considered invalid by various CC implementations.
+
+2020-01-21 21:25:28 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11window_corewindow.cpp:
+ d3d11window_corewindow: Always call methods of CoreWindow interface from UI thread
+ Like swapchain panel implementation, most methods of CoreWindow
+ should be called from UI thread.
+
+2020-01-21 16:50:22 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/mpegdemux/gstmpegdemux.c:
+ mpegdemux: Update the last_ts correctly if we have no DTS
+ If we have no DTS but a PTS then this means both are the same, and we
+ should update the last_ts with the PTS. Only if both are unknown then we
+ don't know the current position and should not update it at all.
+ Previously we would always update the last_ts to GST_CLOCK_TIME_NONE if
+ the DTS is unknown, which caused the position to jump around and to
+ cause spurious gap events to be sent.
+
+2020-01-21 15:14:08 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/gstmsdkvpp.c:
+ msdk: Fix compiler warning
+ This patch fixed compiler warning below:
+ [1/4] Compiling C object 'sys/msdk/dc44ea0@@gstmsdk@sha/gstmsdkvpp.c.o'.
+ ../../gst-plugins-bad/sys/msdk/gstmsdkvpp.c: In function
+ ‘gst_msdkvpp_context_prepare’:
+ ../../gst-plugins-bad/sys/msdk/gstmsdkvpp.c:214:7: warning: suggest
+ parentheses around operand of ‘!’ or change ‘&’ to ‘&&’ or ‘!’ to ‘~’
+ [-Wparentheses]
+
+2020-01-21 12:14:49 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: connect rtp funnel after updating ptmaps
+ We need the streams' pt maps updated before requesting pads
+ on rtpbin, because this is what will trigger the requesting
+ of FEC encoders, and our handler for this request looks for
+ the payload types in the relevant stream's pt map.
+ Fixes #1187
+
+2020-01-20 16:35:50 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/mpegdemux/gstmpegdemux.c:
+ mpegpsdemux: Send gap events for late streams whenever updating the SCR
+ Instead of doing it on each packet and doing it based on the distance to
+ the previous SCR instead of based on the DTS.
+ Previously we would send gap events for audio all the time if the SCR
+ distance was 400ms because the threshold for audio is 300ms and by only
+ ever updating the position when the SCR updates we would always be 100ms
+ above the threshold and send needless gap events.
+ This fixes audio glitches on various files caused by gap events.
+
+2020-01-16 13:00:33 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvbaseenc.c:
+ nvenc: Do not access to broken encode session
+ If an encode session failed in initializing, the encode
+ session would be broken and the next nvenc API will cause crash.
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1179
+
+2020-01-17 11:07:47 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * sys/msdk/gstmsdkcontextutil.c:
+ * sys/msdk/gstmsdkdec.c:
+ * sys/msdk/gstmsdkdec.h:
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/gstmsdkenc.h:
+ * sys/msdk/gstmsdkvpp.c:
+ * sys/msdk/gstmsdkvpp.h:
+ msdk: Fix increasing memory usage in dynamic pipelines
+ Our context is non-persistent, and we propagate it throughout the
+ pipeline. This means that if we try to reuse any gstmsdk element by
+ removing it from the pipeline and then re-adding it, we'll clone the
+ mfxSession and create a new gstmsdk context as a child of the old one
+ inside `gst_msdk_context_new_with_parent()`.
+ Normally this only allocates a few KB inside the driver, but on
+ Windows it seems to allocate tens of MBs which leads to linearly
+ increasing memory usage for each PLAYING->NULL->PLAYING state cycle
+ for the process. The contexts will only be freed when the pipeline
+ itself goes to `NULL`, which would defeat the purpose of dynamic
+ pipelines.
+ Essentially, we need to optimize the case in which the element is
+ removed from the pipeline and re-added and the same context is re-set
+ on it. To detect that case, we set the context on `old_context`, and
+ compare it to the new one when preparing the context. If they're the
+ same, we don't need to do anything.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/946
+
+2020-01-17 10:43:11 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * sys/msdk/gstmsdkcontextutil.c:
+ * sys/msdk/gstmsdkcontextutil.h:
+ * sys/msdk/gstmsdkdec.c:
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/gstmsdkvpp.c:
+ msdk: Reorganize context preparation code
+ Split it out into a separate function with early exits to make the
+ flow clearer, and document what the function is doing clearly.
+ No functional changes.
+
+2020-01-17 10:13:49 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/gstmsdkvpp.c:
+ msdk: Fix warning about unused variable on Windows
+
+2020-01-17 13:45:35 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/gstmsdkvpp.c:
+ msdk: Use gst_clear_object()
+ `gst_object_replace()` is not supposed to be used for unreffing and
+ NULLing objects.
+
+2020-01-20 16:27:30 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * sys/nvcodec/gstnvenc.c:
+ nvcodec: Print debug info when initializing nvenc
+ We weren't printing the return value.
+
+2020-01-20 15:22:26 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * sys/nvcodec/gstcudaloader.c:
+ * sys/nvcodec/gstcudaloader.h:
+ * sys/nvcodec/gstcuvidloader.c:
+ * sys/nvcodec/gstcuvidloader.h:
+ * sys/nvcodec/stub/cuda.h:
+ nvcodec: Fix crash on 32-bit Windows
+ We weren't using the correct calling convention when calling CUDA and
+ CUVID APIs. `CUDAAPI` is `__stdcall` on Windows. This was working fine
+ on x64 because `__stdcall` is ignored and there's no special calling
+ convention. However, on x86, we need to use `__stdcall`.
+
+2020-01-20 15:10:51 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * sys/nvcodec/gstcudaloader.h:
+ * sys/nvcodec/stub/cuda.h:
+ nvcodec: cuda.h only needs glib.h, not gst.h
+ Just a nitpick. Also, force the compiler to use our stub header
+ instead of searching for it in the include paths.
+
+2020-01-17 11:19:53 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: Start datachannel SCTP elements only after the DTLS connection is established
+ Otherwise we would start sending data to the DTLS connection before, and
+ the DTLS elements consider this an error.
+ Also RFC 8261 mentions:
+ o A DTLS connection MUST be established before an SCTP association can
+ be set up.
+
+2020-01-12 17:04:22 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: Add handling of unspecified peer-connection-state situation
+ For us it can happen that the DTLS transports are still in the process
+ of connecting while the ICE transport is already completed. This
+ situation is not specified in the spec but conceptually that means it is
+ still in the process of connecting.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/758
+
+2020-01-12 16:32:20 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: Return the old state if we ended up being in an unspecified situation
+ Previously we would've returned NEW, which is usually more wrong.
+
+2020-01-09 19:21:08 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: Fix transitions for the peer connection state
+ They're now mapping exactly to what
+ https://www.w3.org/TR/webrtc/#rtcpeerconnectionstate-enum
+ actually specifies.
+ Related to https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/758
+
+2020-01-09 18:55:56 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: Fix transitions for the connection state
+ They're now mapping exactly to what
+ https://www.w3.org/TR/webrtc/#dom-rtciceconnectionstate
+ actually specifies.
+ Related to https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/758
+
+2020-01-12 16:25:01 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/webrtc/dtlstransport.c:
+ webrtc/dtlstransport: Proxy DTLS connection state from the DTLS elements to the transport
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/758
+
+2020-01-12 16:18:09 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/dtls/gstdtlsconnection.c:
+ * ext/dtls/gstdtlsconnection.h:
+ * ext/dtls/gstdtlsdec.c:
+ * ext/dtls/gstdtlsenc.c:
+ * ext/dtls/gstdtlssrtpdec.c:
+ * ext/dtls/gstdtlssrtpenc.c:
+ dtls: Keep track of the connection state and signal it through all the layers
+ This allows the application to keep track of the underlying DTLS
+ connection state and act accordingly.
+
+2020-01-12 13:56:00 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/dtls/gstdtlsconnection.c:
+ * ext/dtls/gstdtlsconnection.h:
+ * ext/dtls/gstdtlsdec.c:
+ * ext/dtls/gstdtlsenc.c:
+ dtls: Handle errors/close_notify at all steps and propagate through the layers properly
+ Previously we simply logged errors but never reported them to elements
+ or even to the user. Fatal errors are now properly reported.
+ Additionally proper connection closing is implemented based on EOS:
+ - dtlsenc: EOS will cause close_notify to be sent to the peer and only
+ if the peer also sent back close_notify we will forward the
+ EOS event.
+ - dtlsdec: EOS will be forwarded normally, this only means that the
+ unterlying transport was closed. On receiving a DTLS packet
+ containing close_notify, return EOS and send EOS downstream.
+
+2020-01-12 12:48:55 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/dtls/gstdtlsconnection.c:
+ * ext/dtls/gstdtlsconnection.h:
+ * ext/dtls/gstdtlsenc.c:
+ * ext/dtls/gstdtlsenc.h:
+ dtls: Propagate write errors backwards through dtlsenc/dtlsconnection
+
+2020-01-12 11:24:15 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/dtls/gstdtlsconnection.c:
+ * ext/dtls/gstdtlsconnection.h:
+ * ext/dtls/gstdtlsenc.c:
+ dtls: Use a plain function pointer instead of a GClosure for the send callback
+ There's not point in using GClosure and going through all the
+ GValue/libffi infrastructure for each DTLS packet.
+
+2020-01-09 12:32:24 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: Don't consider transceivers without mid as inactive during ICE gathering state updates
+ We don't have any mid before parsing the SDP, which happens after we
+ handled the SDP answer and that usually happens long after ICE candidate
+ gathering is finished.
+ Without this all transceivers are considered inactive and as such ICE
+ gathering is for active transceiver was considered complete from the
+ very beginning.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1126
+
+2020-01-09 12:27:31 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: Don't consider RTP receivers stopped
+ We don't support stopping RTP receivers currently so let's not consider
+ them all stopped all the time. This fixes some of the ICE/DTLS state
+ change handling and specifically fixes the ICE gathering state.
+ Previously the ICE gathering state was immediately going from NEW to
+ COMPLETE because it considered all transceivers stopped and as such all
+ activate transceivers were finished gathering ICE candidates.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1126
+
+2020-01-09 12:26:41 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: Improve logging related to ICE/DTLS state changes
+
+2019-12-31 02:41:40 +1100 Jan Schmidt <jan@centricular.com>
+
+ * gst/yadif/meson.build:
+ yadif: Re-renable MMX asm on x86_64 with meson
+ The meson build doesn't automatically set HAVE_CPU_* defines
+ like autotools did, so the yadif plugin was being built without
+ the MMX assembler support
+
+2020-01-19 14:50:12 +1100 Jan Schmidt <jan@centricular.com>
+
+ * gst/yadif/vf_yadif.c:
+ * gst/yadif/yadif.c:
+ yadif: Only build inline Asm with gcc/clang
+
+2019-11-06 04:45:09 -0800 Josep Torra <jtorra@oblong.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ msdkdec: align frame list using decoded timestamp
+ Before this change decoder used the oldest frame in the list to pair it
+ with the decoded surface. This only works when there's a perfect stream
+ like HEADERS,SYNCPOINT,DELTA...
+ When playing RTSP streams we can get imperfect streams like HEADERS,
+ DELTA,SYNCPOINT,DELTA... In this case decoder drops the frames
+ between HEADERS and SYNCPOINT which leads into using wrong PTS on
+ the output frames.
+ With this change we inject the input PTS into the bitstream and use it
+ to align the internal frame list with the actually decoded position.
+ Fixes playback with:
+ ```
+ gst-launch-1.0 rtspsrc location=... latency=0 drop-on-latency=1 ! ...
+ ```
+
+2019-11-28 21:30:18 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvenc.c:
+ nvenc: Query supported minimum resolution
+ Hard-coded 16x16 resolution is likely to differ from the device's support
+ in most cases. If we can use NV_ENC_CAPS_WIDTH_MIN and NV_ENC_CAPS_HEIGHT_MIN,
+ update pad template with returned value.
+
+2019-11-28 20:47:34 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/cuviddec.h:
+ * sys/nvcodec/nvEncodeAPI.h:
+ * sys/nvcodec/nvcuvid.h:
+ nvcodec: Bump SDK header to version 9.1
+ Update header to query minimum resolution of encoder and to control
+ the number of reference frame if it's supported
+
+2019-12-18 18:01:30 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/mxf/meson.build:
+ * gst/mxf/mxf.c:
+ * gst/mxf/mxfprores.c:
+ * gst/mxf/mxfprores.h:
+ mxfdemux: add support for Apple ProRes
+
+2019-11-27 12:23:58 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * tests/examples/meson.build:
+ * tests/examples/msdk/meson.build:
+ * tests/examples/msdk/test-roi.c:
+ examples: add test-roi for gst-msdk
+ Copied and pasted from gstreamer-vaapi and did a few changes for gst-msdk.
+
+2019-11-27 15:16:17 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ msdkdec: support transform_meta virtual method
+ Allow the base class to copy GstVideoRegionOfInterestMeta data to the
+ output buffer when calling gst_video_decoder_finish_frame
+
+2019-11-27 16:00:59 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/gstmsdkenc.h:
+ * sys/msdk/gstmsdkh264enc.c:
+ * sys/msdk/gstmsdkh264enc.h:
+ * sys/msdk/gstmsdkh265enc.c:
+ * sys/msdk/gstmsdkh265enc.h:
+ msdkenc: set ROI region for msdk{h264, h265}enc
+ A reconfig is needed when ROI is changed, otherwise the ROI parameters won't
+ take effect
+
+2019-12-03 10:48:21 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/gstmsdkenc.h:
+ msdkenc: add set_extra_params virtual method
+ set_extra_params is added to allow sub class to add extra mfx parameters
+ for changed input frame or meta data
+
+2019-11-28 14:54:30 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/gstmsdkenc.h:
+ msdkenc: add need_reconfig virtual method
+ need_reconfig is added to allow sub class requires a reconfig when
+ the input frame or the MetaData (e.g. GstVideoRegionOfInterestMeta)
+ attached to the input frame is changed.
+
+2020-01-13 17:20:14 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gsth265decoder.c:
+ d3d11h265dec: Fix wrong NoRaslOutputFlag setting
+ ... and handle EOS and EOB nals.
+ Only the first CRA picture should be associated with NoRaslOutputFlag
+ as the comment in code.
+
+2020-01-12 08:07:23 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * pkgconfig/gstreamer-plugins-bad-uninstalled.pc.in:
+ pkgconfig: Remove unused substitution in uninstalled.pc.in
+ `@videolibdir@` isn't used anymore.
+
+2020-01-12 07:49:47 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * tests/check/meson.build:
+ * tests/examples/ipcpipeline/ipcpipeline1.c:
+ * tests/examples/mpegts/meson.build:
+ * tests/examples/opencv/meson.build:
+ * tests/examples/waylandsink/meson.build:
+ * tests/examples/webrtc/meson.build:
+ tests: Fix minor bugs in usage of config.h
+
+2020-01-12 07:41:34 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * sys/ipcpipeline/gstipcpipelinecomm.c:
+ * sys/ipcpipeline/gstipcpipelinesrc.c:
+ ipcpipeline: Minimal fixes that allow building with MSVC
+
+2020-01-11 14:47:13 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * sys/ipcpipeline/meson.build:
+ * tests/examples/ipcpipeline/meson.build:
+ ipcpipeline: Rework compiler checks
+ `pipe()` isn't used since 15927b6511bc8304ae144a45c9fbfca88e5dd641,
+ and `socketpair()` from `#include <sys/socket.h>` is used only in the
+ examples. In practice, you can use probably also use anything that
+ allows you to create fd pairs, such as named pipes or anonymous pipes.
+ We use the cross-platform GstPollFD API in the plugin.
+
+2020-01-13 17:10:39 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/timecode/gsttimecodestamper.c:
+ * gst/timecode/gsttimecodestamper.h:
+ timecodestamper: Add property to set the extra latency to introduce for waiting for LTC timecodes
+ Default to 150ms instead of 8 frames, which seems to work in the
+ majority of cases.
+
+2020-01-13 12:54:35 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/timecode/gsttimecodestamper.c:
+ timecodestamper: Add some more debug output
+
+2020-01-11 18:24:02 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11bufferpool.c:
+ * sys/d3d11/gstd3d11colorconvert.c:
+ * sys/d3d11/gstd3d11colorconverter.c:
+ * sys/d3d11/gstd3d11decoder.c:
+ * sys/d3d11/gstd3d11device.c:
+ * sys/d3d11/gstd3d11device.h:
+ * sys/d3d11/gstd3d11format.c:
+ * sys/d3d11/gstd3d11format.h:
+ * sys/d3d11/gstd3d11h264dec.c:
+ * sys/d3d11/gstd3d11h265dec.c:
+ * sys/d3d11/gstd3d11memory.c:
+ * sys/d3d11/gstd3d11memory.h:
+ * sys/d3d11/gstd3d11videosink.c:
+ * sys/d3d11/gstd3d11vp9dec.c:
+ * sys/d3d11/gstd3d11window.cpp:
+ d3d11memory: Always use native DXGI format if device support it
+ Use consistent memory layout between dxva and other shader use case.
+ For example, use DXGI_FORMAT_NV12 texture format instead of
+ two textures with DXGI_FORMAT_R8_UNORM and DXGI_FORMAT_R8G8_UNORM.
+
+2020-01-10 20:44:19 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11bufferpool.c:
+ * sys/d3d11/gstd3d11colorconvert.c:
+ * sys/d3d11/gstd3d11decoder.c:
+ * sys/d3d11/gstd3d11download.c:
+ * sys/d3d11/gstd3d11h264dec.c:
+ * sys/d3d11/gstd3d11h265dec.c:
+ * sys/d3d11/gstd3d11memory.c:
+ * sys/d3d11/gstd3d11memory.h:
+ * sys/d3d11/gstd3d11upload.c:
+ * sys/d3d11/gstd3d11utils.c:
+ * sys/d3d11/gstd3d11utils.h:
+ * sys/d3d11/gstd3d11videosink.c:
+ * sys/d3d11/gstd3d11vp9dec.c:
+ Revert "d3d11: Add support for D3D11_USAGE_DYNAMIC"
+ This reverts commit ddd13fc7c061a9873b181d0de32aaf9546e7d0af
+ Dynamic usage can reduce the number of copy per frame but make
+ things complicated and the benefit seems to not significant.
+ Also since we don't provide _map() method for the dynamic usage,
+ application cannot read buffers which make "last-sample" property
+ unusable in case of d3d11videosink.
+
+2020-01-13 02:30:07 +1100 Jan Schmidt <jan@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ WebRTC: Support non-trickle ICE candidates in the SDP
+ Add any ICE candidates from the SDP before adding pending
+ trickle ICE candidates to support non-trickle peers
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/678
+
+2020-01-11 00:01:55 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11h264dec.c:
+ * sys/d3d11/gstd3d11h264dec.h:
+ * sys/d3d11/gstd3d11h265dec.c:
+ * sys/d3d11/gstd3d11h265dec.h:
+ * sys/d3d11/gstd3d11vp9dec.c:
+ * sys/d3d11/gstd3d11vp9dec.h:
+ * sys/d3d11/plugin.c:
+ d3d11: Don't register decoders if unavailable
+ DXVA requires a hardware interface but may not be available,
+ such as in the case of VMs or when the GPU vendor does not provide a decoder interface.
+
+2020-01-10 23:57:15 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11decoder.c:
+ d3d11decoder: Don't return not initialized object from _new() method
+ ... and change some debug levels since initialization failure might not be fatal.
+
+2019-08-22 16:04:37 +0900 Shinya Saito <ssaito@igel.co.jp>
+
+ * ext/wayland/wlwindow.c:
+ waylandsink: Fix xdg_shell fullscreen mode
+ xdg_shell fullscreen mode doesn't work for committing
+ xdg_surface without configure acknowledgement.
+ In addition, we can't set different surface setting from
+ acknowledged config in this mode.
+
+2019-11-11 12:40:07 -0800 Josep Torra <jtorra@oblong.com>
+
+ * gst/videoparsers/gsth264parse.c:
+ * tests/check/elements/h264parse.c:
+ h264parse: do not push wrong PTS with some raw files
+ Some raw h264 encoded files trigger the assignment of wrong PTS to buffers
+ when some SEI data is provided. This change prevents it to happen.
+ Also ensure this behavior is being tested.
+
+2020-01-10 13:08:38 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/timecode/gsttimecodestamper.c:
+ timecodestamper: Skip over invalid LTC timecodes immediately
+
+2020-01-10 11:40:54 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/timecode/gsttimecodestamper.c:
+ timecodestamper: Clean up old LTC timecodes on LTC discontinuity
+ We might have some old timecodes that are in the future now and have to
+ drop those to make sure that our queue is correctly ordered and we don't
+ have multiple timecodes for the same running time.
+
+2020-01-10 11:33:28 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/timecode/gsttimecodestamper.c:
+ timecodestamper: Fix waiting for the first video frame in case of live video input
+
+2020-01-09 17:41:55 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/timecode/gsttimecodestamper.c:
+ * gst/timecode/gsttimecodestamper.h:
+ timecodestamper: Fix up handling/queueing of LTC timecodes
+ Directly read them out of the decoder as soon as we passed audio and
+ then store them in a queue that we handle internally together with their
+ timestamps. This cleans up memory management and gives us proper control
+ over the queue instead of guessing how the queue inside the LTC decoder
+ actually works and when it overflows.
+
+2020-01-09 15:27:28 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/timecode/gsttimecodestamper.c:
+ timecodestamper: Only allow requesting LTC audio pad in NULL/READY states
+ And don't introduce any latency at all if not LTC audio pad was
+ requested.
+
+2020-01-09 15:23:20 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/timecode/gsttimecodestamper.c:
+ timecodestamper: In live mode wait correctly for the latency to pass
+ And also introduce 6 instead of 2 frames of latency compared to the LTC
+ audio input as that seems to be an upper bound for how much the LTC
+ library is lagging behind.
+
+2020-01-09 15:16:02 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/timecode/gsttimecodestamper.c:
+ timecodestamper: Use the internal LTC timecode tracker instead of the last one we retrieved
+ Otherwise we don't interpolate between LTC timecodes but only ever put
+ an LTC timecode on buffers once we actually received one.
+
+2020-01-09 14:23:08 -0500 Nicolas Dufresne <nicolas@nicolas-tpx395.localdomain>
+
+ * sys/decklink/gstdecklink.cpp:
+ * sys/decklink/linux/DeckLinkAPIDispatch.cpp:
+ decklink: Silence no driver / no SO messages
+ This g_once() is called everywhere, even in provider. This cause
+ spurious error when device monitor is used. Just silence or remove
+ the spurious logs.
+
+2020-01-10 16:03:48 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * ext/hls/meson.build:
+ hls: Check nettle version to ensure AES128 support
+ AES128 support was added since nettle version 3.0
+ ../subprojects/gst-plugins-bad/ext/hls/gsthlsdemux.h:110:10: error: field ‘ctx’ has incomplete type
+ struct CBC_CTX (struct aes128_ctx, AES_BLOCK_SIZE) aes_ctx;
+
+2020-01-06 12:59:36 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ Revert "msdkdec: make sure to use video memory on Linux"
+ Commit a1584b6 caused big performance drop if the downstream element
+ is not a msdk element because it is very slow to read data from video
+ memory directly.
+ This reverts commit a1584b6f99caaf61812ac6a9654ec0e6da8240da.
+
+2020-01-09 21:00:47 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * tests/check/elements/d3d11colorconvert.c:
+ tests: d3d11colorconvert: Add test cases for visual validation
+ By default new test cases are disabled since it might be timed out
+ or test environment might not have render device.
+
+2020-01-09 19:39:59 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11colorconverter.c:
+ * sys/d3d11/gstd3d11format.c:
+ * sys/d3d11/gstd3d11format.h:
+ d3d11colorconverter: Handle P016_LE format
+ P016 format is no different than P010. Not much things to add code.
+
+2020-01-09 19:32:38 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11colorconverter.c:
+ d3d11colorconverter: Add support for YUV to YUV conversion
+
+2020-01-08 23:09:51 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11colorconverter.c:
+ d3d11colorconverter: Add support for RGB to YUV conversion
+ ... and remove code for RGBx since it's not supported format
+ by our d3d11 implementation for now.
+
+2020-01-09 11:14:47 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11format.h:
+ d3d11format: Remove invalid format from supported format list
+
+2020-01-08 07:42:21 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * sys/decklink/gstdecklinkvideosink.cpp:
+ decklinkvideosink: Always configure 10 bit YUV for VANC frames
+ If 8 bit are required by the device/mode then it will be converted internally
+ by the SDK, but the SDK won't automatically convert from 8 to 10 bit. As
+ such, always use 10 bit VANC.
+ Some devices require configuring also a 10 bit video format when using
+ 10 bit VANC is required but those would fail regardless and the
+ application would have to configure the correct video format.
+ With newer versions of the SDK this information can be retrieved via the
+ BMDDeckLinkVANCRequires10BitYUVVideoFrames flag but we don't use a new
+ enough SDK version yet to extract this information.
+
+2020-01-07 20:17:12 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/webrtc/webrtcdatachannel.c:
+ webrtc: Unmap all non-binary buffers received via the datachannel
+ Previously they were only unmapped in case of binary data, causing all
+ of them to be leaked.
+
+2020-01-07 10:05:33 +0100 Stéphane Cerveau <scerveau@collabora.com>
+
+ * ext/zbar/gstzbar.c:
+ zbar: remove useless conditional on passthrough
+ seen that passthrough is never set for this element, no need
+ to allow to remove the 'transform' call
+
+2019-09-27 23:02:38 +0200 Stéphane Cerveau <scerveau@collabora.com>
+
+ * ext/meson.build:
+ * ext/zxing/gstzxing.cpp:
+ * ext/zxing/gstzxing.h:
+ * ext/zxing/gstzxingplugin.c:
+ * ext/zxing/meson.build:
+ * meson_options.txt:
+ * tests/check/elements/zxing.c:
+ * tests/check/meson.build:
+ zxing: initial plugin revision
+ Status:
+ - scan QR code with low resolution
+ - Scan barcode with high resolution
+
+2020-01-03 18:14:48 +0100 Stéphane Cerveau <scerveau@collabora.com>
+
+ * tests/check/elements/h264parse.c:
+ * tests/check/elements/h265parse.c:
+ tests: add h26xparse HDR SEI test
+ Detect caps according to MDCV + CLLI SEI message
+
+2019-12-18 10:05:05 +0100 Stéphane Cerveau <scerveau@collabora.com>
+
+ * tests/check/elements/h265parse.c:
+ * tests/check/meson.build:
+ test: add h265parse test
+
+2019-12-17 12:08:34 +0100 Stéphane Cerveau <scerveau@collabora.com>
+
+ * gst/videoparsers/gsth264parse.c:
+ * gst/videoparsers/gsth265parse.c:
+ h26xparse: Handle state change on IDR first slice
+ As the H265/H264 bitstream can support multiple slices,
+ mastering_display_info_state and content_light_level_state
+ should be changed only on first slice segment.
+ Fix #1152
+
+2019-12-05 16:48:05 +0100 Stéphane Cerveau <scerveau@collabora.com>
+
+ * gst/videoparsers/gsth265parse.c:
+ h265parse: use same algo for MDCV and CLL SEI management
+
+2019-11-28 12:59:46 +0100 Stéphane Cerveau <scerveau@collabora.com>
+
+ * gst-libs/gst/codecparsers/gsth264parser.c:
+ * gst-libs/gst/codecparsers/gsth264parser.h:
+ * gst/videoparsers/gsth264parse.c:
+ * gst/videoparsers/gsth264parse.h:
+ h264parser: add MDCV and CLL SEI message parsing
+ Allow to parse SEI message for:
+ - mastering display colour volume
+ - Light level infomation
+ Set to caps if necessary.
+ Fix #958
+
+2020-01-07 01:40:57 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * ext/dash/gstplugin.c:
+ dash: Remove spurious condition check and remove unused debug category
+ Note that uppercase debug category names are used for
+ core modules and should be redefined in lowercase for plugins if necessary.
+
+2020-01-06 16:30:36 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst/debugutils/gstfakevideosink.c:
+ fakevideosink: Use our pad template to create pad
+
+2019-12-30 18:58:59 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11_fwd.h:
+ * sys/d3d11/gstd3d11device.c:
+ * sys/d3d11/gstd3d11device.h:
+ * sys/d3d11/gstd3d11utils.c:
+ * sys/d3d11/gstd3d11videosink.c:
+ * sys/d3d11/gstd3d11window.c:
+ * sys/d3d11/gstd3d11window.cpp:
+ * sys/d3d11/gstd3d11window.h:
+ * sys/d3d11/gstd3d11window_corewindow.cpp:
+ * sys/d3d11/gstd3d11window_corewindow.h:
+ * sys/d3d11/gstd3d11window_swapchainpanel.cpp:
+ * sys/d3d11/gstd3d11window_swapchainpanel.h:
+ * sys/d3d11/gstd3d11window_win32.cpp:
+ * sys/d3d11/gstd3d11window_win32.h:
+ * sys/d3d11/meson.build:
+ * sys/d3d11/plugin.c:
+ d3d11: Add support for Universal Windows Platform
+ Initial UWP support via new window (CoreWindow and SwapChainPanel) implementation.
+
+2019-12-31 13:36:59 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11decoder.h:
+ * sys/d3d11/gstd3d11h264dec.c:
+ * sys/d3d11/gstd3d11h264dec.h:
+ * sys/d3d11/gstd3d11h265dec.c:
+ * sys/d3d11/gstd3d11h265dec.h:
+ * sys/d3d11/gstd3d11vp9dec.c:
+ d3d11decoder: Fix build on non-desktop target
+ Although the target platform of D3D11 decoding API are both desktop and UWP app,
+ DXVA header is blocked by "WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)"
+ which is meaning that that's only for desktop app.
+ To workaround this inconsistent annoyingness, we need to define WINAPI_PARTITION_DESKTOP
+ regardless of target WinAPI partition.
+
+2019-12-25 13:21:11 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkvp9enc.c:
+ msdkvp9enc: fix 10bit encoding
+ The codec profile should be consistent with the frame fourcc code, this
+ fixes pipeline below:
+ gst-launch-1.0 videotestsrc ! \
+ video/x-raw,width=320,height=240,format=P010_10LE ! msdkvp9enc ! \
+ fakesink
+
+2019-12-25 10:51:36 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkvp9enc.c:
+ msdkvp9enc: fix width and height
+ The frame width and height is rounded up to 128 and 32 since commit
+ 8daac1c, so the width, height for initialization should be rounded up to
+ 128 and 32 too because the MSDK VP9 encoder will do some check on width
+ and height.
+ Sample pipeline:
+ gst-launch-1.0 videotestsrc ! \
+ video/x-raw,width=320,height=240,format=NV12 ! msdkvp9enc ! fakesink
+
+2020-01-03 15:27:30 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkcontext.c:
+ msdk: make sure the found response meets the request
+ Otherwise the re-used msdk response doesn't have enough frames so it is
+ possible the pipeline will be broken
+
+2019-12-26 13:31:50 -0800 Julien Isorce <jisorce@oblong.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ msdkenc: renegotiate when video info changes
+ Renegotiation was implemented for bitrate change. We can re-use
+ the same sequence when video info changes except that this can be
+ executed right away when receiving the new input format. I.e. no
+ need to wait for the next call to handle_frame.
+
+2020-01-05 16:20:18 +0000 Philippe Normand <philn@igalia.com>
+
+ * sys/decklink/gstdecklink.cpp:
+ decklink: Fix crash when probing without driver
+ If there is no decklink hardware/driver, the devices list is empty (NULL), so
+ this needs to be checked before iterating over the list.
+
+2019-05-16 19:42:37 +0200 Stéphane Cerveau <scerveau@collabora.com>
+
+ * ext/dash/gstdashsink.c:
+ * ext/dash/gstdashsink.h:
+ * ext/dash/gstmpdclient.c:
+ * ext/dash/gstmpdclient.h:
+ * ext/dash/gstmpdhelper.c:
+ * ext/dash/gstmpdhelper.h:
+ * ext/dash/gstplugin.c:
+ * ext/dash/meson.build:
+ * tests/check/elements/dash_mpd.c:
+ dashsink: Add new sink to produce DASH content
+ Add static or dynamic mpd with:
+ - baseURL
+ - period
+ - adaptation_set
+ - representaton
+ - SegmentList
+ - SegmentURL
+ - SegmentTemplate
+ Support multiple audio and video streams.
+ Pass conformance test with DashIF.org
+
+2019-12-09 15:10:00 +0100 Stéphane Cerveau <scerveau@collabora.com>
+
+ * ext/dash/gstxmlhelper.c:
+ gstxmlhelper: fix xmlOutputBufferFlush ignored ret
+ fix CID #1456553
+
+2019-09-02 14:52:53 +0200 Stéphane Cerveau <scerveau@collabora.com>
+
+ * ext/dash/gstmpdadaptationsetnode.c:
+ * ext/dash/gstmpdbaseurlnode.c:
+ * ext/dash/gstmpdmultsegmentbasenode.c:
+ * ext/dash/gstmpdperiodnode.c:
+ * ext/dash/gstmpdrepresentationbasenode.c:
+ * ext/dash/gstmpdrepresentationnode.c:
+ * ext/dash/gstmpdrootnode.c:
+ * ext/dash/gstmpdrootnode.h:
+ * ext/dash/gstmpdsegmenttemplatenode.c:
+ * ext/dash/gstmpdsegmenturlnode.c:
+ * ext/dash/gstmpdutctimingnode.c:
+ dash: add set/get property for nodes
+ Add a way to set/get properties for given nodes:
+ - root
+ - baseurl
+ - representation
+
+2019-12-04 17:25:24 +0100 Stéphane Cerveau <scerveau@collabora.com>
+
+ * ext/dash/gstdashdemux.c:
+ * ext/dash/gstmpdadaptationsetnode.c:
+ * ext/dash/gstmpdadaptationsetnode.h:
+ * ext/dash/gstmpdbaseurlnode.c:
+ * ext/dash/gstmpdbaseurlnode.h:
+ * ext/dash/gstmpdclient.c:
+ * ext/dash/gstmpdclient.h:
+ * ext/dash/gstmpdcontentcomponentnode.c:
+ * ext/dash/gstmpdcontentcomponentnode.h:
+ * ext/dash/gstmpddescriptortypenode.c:
+ * ext/dash/gstmpddescriptortypenode.h:
+ * ext/dash/gstmpdhelper.c:
+ * ext/dash/gstmpdhelper.h:
+ * ext/dash/gstmpdlocationnode.c:
+ * ext/dash/gstmpdlocationnode.h:
+ * ext/dash/gstmpdmetricsnode.c:
+ * ext/dash/gstmpdmetricsnode.h:
+ * ext/dash/gstmpdmetricsrangenode.c:
+ * ext/dash/gstmpdmetricsrangenode.h:
+ * ext/dash/gstmpdmultsegmentbasenode.c:
+ * ext/dash/gstmpdmultsegmentbasenode.h:
+ * ext/dash/gstmpdnode.c:
+ * ext/dash/gstmpdnode.h:
+ * ext/dash/gstmpdparser.c:
+ * ext/dash/gstmpdparser.h:
+ * ext/dash/gstmpdperiodnode.c:
+ * ext/dash/gstmpdperiodnode.h:
+ * ext/dash/gstmpdprograminformationnode.c:
+ * ext/dash/gstmpdprograminformationnode.h:
+ * ext/dash/gstmpdreportingnode.c:
+ * ext/dash/gstmpdreportingnode.h:
+ * ext/dash/gstmpdrepresentationbasenode.c:
+ * ext/dash/gstmpdrepresentationbasenode.h:
+ * ext/dash/gstmpdrepresentationnode.c:
+ * ext/dash/gstmpdrepresentationnode.h:
+ * ext/dash/gstmpdrootnode.c:
+ * ext/dash/gstmpdrootnode.h:
+ * ext/dash/gstmpdsegmentbasenode.c:
+ * ext/dash/gstmpdsegmentbasenode.h:
+ * ext/dash/gstmpdsegmentlistnode.c:
+ * ext/dash/gstmpdsegmentlistnode.h:
+ * ext/dash/gstmpdsegmenttemplatenode.c:
+ * ext/dash/gstmpdsegmenttemplatenode.h:
+ * ext/dash/gstmpdsegmenttimelinenode.c:
+ * ext/dash/gstmpdsegmenttimelinenode.h:
+ * ext/dash/gstmpdsegmenturlnode.c:
+ * ext/dash/gstmpdsegmenturlnode.h:
+ * ext/dash/gstmpdsnode.c:
+ * ext/dash/gstmpdsnode.h:
+ * ext/dash/gstmpdsubrepresentationnode.c:
+ * ext/dash/gstmpdsubrepresentationnode.h:
+ * ext/dash/gstmpdsubsetnode.c:
+ * ext/dash/gstmpdsubsetnode.h:
+ * ext/dash/gstmpdurltypenode.c:
+ * ext/dash/gstmpdurltypenode.h:
+ * ext/dash/gstmpdutctimingnode.c:
+ * ext/dash/gstmpdutctimingnode.h:
+ * ext/dash/gstxmlhelper.c:
+ * ext/dash/gstxmlhelper.h:
+ * ext/dash/meson.build:
+ * tests/check/elements/dash_mpd.c:
+ dash: Generate an XML content from object.
+ Add mpd node base class to provide
+ xml generation facilities for child
+ objects.
+
+2019-12-26 11:24:37 -0800 Julien Isorce <jisorce@oblong.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ msdkdec: trigger renegotiation if video info changes
+ Useful when framerate changes. Previously it was only checking
+ for resolution change but renego should happen if any video
+ info changes.
+
+2019-12-23 15:17:07 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * ext/vulkan/vksink.c:
+ vulkansink: Fix null pointer exception
+ context query might happen before creating swapper.
+
+2019-12-17 16:10:53 -0800 Julien Isorce <jisorce@oblong.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ msdkdec: make sure to use video memory on Linux
+ The block that sets use_video_memory flag is after the
+ the condition `if gst_msdk_context_prepare` but it
+ always returns false when there is no other msdk elements.
+ So the decoder ends up with use_video_memory as FALSE.
+ Note that msdkvpp always set use_video_memory as TRUE.
+ When use_video_memory is FALSE then the msdkdec allocates
+ the output frames with posix_memalign (see gstmsdksystemmemory.c).
+ The result is then copied back to the GstVideoPool's buffers
+ (or to the downstream pool's buffers if any).
+ When use_video_memory is TRUE then the msdkdec uses vaCreateSurfaces
+ to create vaapi surfaces for the hw decoder to decode into
+ (see gstmsdkvideomemory.c). The result is then copied to either
+ the internal GstVideoPool and to the downstream pool if any.
+ (vaDeriveImage/vaMapBuffer is used in order to read the surfaces)
+
+2020-01-02 12:22:07 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ msdkdec: Correct return value of GstVideoDecoder::flush()
+ Use boolean instead of GstFlowReturn as declared.
+ Note that since base class does not check return value of GstVideoDecoder::flush(),
+ this would not cause any change of behavior.
+
+2019-12-23 14:09:25 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ msdkdec: free unlocked msdk surface before output buffer allocation
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/924
+ is trying to use video memory for decoding on Linux, which reveals a
+ hidden bug in msdkdec.
+ For video memory, it is possible that a locked mfx surface is not used
+ indeed and it will be un-locked later in MSDK, so we have to check the
+ associated MSDK surface to find out and free un-used surfaces, otherwise
+ it is easy to exhaust all pre-allocated mfx surfaces and get errors below:
+ 0:00:00.777324879 27290 0x564b65a510a0 ERROR default
+ gstmsdkvideomemory.c:77:gst_msdk_video_allocator_get_surface: failed to
+ get surface available
+ 0:00:00.777429079 27290 0x564b65a510a0 ERROR msdkbufferpool
+ gstmsdkbufferpool.c:260:gst_msdk_buffer_pool_alloc_buffer:<msdkbufferpool0>
+ failed to create new MSDK memory
+ Note the sample code in MSDK does similar thing in
+ CBuffering::SyncFrameSurfaces()
+
+2019-12-12 19:02:25 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/hls/gsthlssink2.c:
+ * ext/hls/gsthlssink2.h:
+ * ext/hls/meson.build:
+ hlssink2: Add signals for allowing custom playlist/fragment handling
+ Instead of always going through the file system API we allow the
+ application to modify the behaviour. For the playlist itself and
+ fragments, the application can provide a GOutputStream. In addition the
+ sink notifies the application whenever a fragment can be deleted.
+
+2019-12-31 12:41:25 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * tests/examples/webrtc/webrtcbidirectional.c:
+ webrtc: Actually make use of promise created one line before
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1042
+
+2019-12-30 19:50:29 +0100 Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+ * gst/mpegtsdemux/tsdemux.c:
+ mpegtsdemux: resurrect actual and efficient seeking of all kinds
+ ... by seeking to target offset determined by new seek segment,
+ rather than that of the previous segment. The latter would typically
+ seek back to start for a non-accurate seek, and lead to a lot
+ of skipping in case of an accurate seek.
+
+2019-12-26 14:28:03 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11_fwd.h:
+ * sys/d3d11/gstd3d11decoder.c:
+ * sys/d3d11/gstd3d11decoder.h:
+ * sys/d3d11/gstd3d11h265dec.c:
+ * sys/d3d11/gstd3d11h265dec.h:
+ * sys/d3d11/gsth265decoder.c:
+ * sys/d3d11/gsth265decoder.h:
+ * sys/d3d11/gsth265picture.c:
+ * sys/d3d11/gsth265picture.h:
+ * sys/d3d11/meson.build:
+ * sys/d3d11/plugin.c:
+ d3d11: Add h265 decoder element
+ Some DPB management implementation is taken from gstreamer-vaapi
+
+2019-12-20 23:05:52 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11_fwd.h:
+ * sys/d3d11/gstd3d11decoder.c:
+ * sys/d3d11/gstd3d11decoder.h:
+ * sys/d3d11/gstd3d11vp9dec.c:
+ * sys/d3d11/gstd3d11vp9dec.h:
+ * sys/d3d11/gstvp9decoder.c:
+ * sys/d3d11/gstvp9decoder.h:
+ * sys/d3d11/gstvp9picture.c:
+ * sys/d3d11/gstvp9picture.h:
+ * sys/d3d11/meson.build:
+ * sys/d3d11/plugin.c:
+ d3d11: Add vp9 decoder element
+ Based on gstreamer-vaapi and Chromium implemetation.
+
+2019-12-26 14:24:46 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11_fwd.h:
+ * sys/d3d11/gstd3d11decoder.c:
+ * sys/d3d11/gstd3d11decoder.h:
+ * sys/d3d11/gstd3d11h264dec.c:
+ * sys/d3d11/gstd3d11h264dec.h:
+ * sys/d3d11/gsth264decoder.c:
+ * sys/d3d11/gsth264decoder.h:
+ * sys/d3d11/gsth264picture.c:
+ * sys/d3d11/gsth264picture.h:
+ * sys/d3d11/meson.build:
+ * sys/d3d11/plugin.c:
+ d3d11: Add h264 decoder element
+ New decoder implementation based on dxva2 on d3d11 APIs. The DPB
+ management implementation is taken from Chromium.
+
+2019-12-20 22:50:55 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11bufferpool.c:
+ * sys/d3d11/gstd3d11memory.c:
+ * sys/d3d11/gstd3d11memory.h:
+ d3d11: Add support for Array typed texture memory
+ A ID3D11Texture2D memory can consist of multiple planes with array.
+ For array typed memory, GstD3D11Allocator will allocate new GstD3D11Memory
+ with increased reference count to the ID3D11Texture2D but different array index.
+
+2019-12-18 15:37:03 +0100 Stéphane Cerveau <scerveau@collabora.com>
+
+ * ext/neon/gstneonhttpsrc.c:
+ * gst/librfb/gstrfbsrc.c:
+ * sys/directsound/gstdirectsoundsrc.c:
+ * sys/dshowsrcwrapper/gstdshowaudiosrc.cpp:
+ bad: use of g_value_dup_string
+ Use helper method to get string from GValue.
+
+2019-12-30 12:52:20 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/dtls/gstdtlsenc.c:
+ dtlsenc: Don't warn on GST_FLOW_FLUSHING or GST_FLOW_EOS
+ Only warn if pushing a buffer returns an actual error to not pollute
+ logs with confusing warnings.
+
+2019-12-27 16:56:32 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/timecode/gsttimecodestamper.c:
+ * gst/timecode/gsttimecodestamper.h:
+ timecodestamper: Refactor LTC audio waiting and properly handle live inputs
+ If one of the inputs is live, add a latency of 2 frames to the video
+ stream and wait on the clock for that much time to pass to allow for the
+ LTC audio to be ahead.
+ In case of live LTC, don't do any waiting but only ensure that we don't
+ overflow the LTC queue.
+ Also in non-live LTC audio mode, flush too old items from the LTC queue
+ if the video is actually ahead instead of potentially waiting forever.
+ This could've happened if there was a bigger gap in the video stream.
+
+2019-12-26 20:10:55 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * tests/check/elements/d3d11colorconvert.c:
+ * tests/check/meson.build:
+ tests: Add simple d3d11colorconvert unit test
+
+2019-12-26 19:55:40 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11colorconvert.c:
+ * sys/d3d11/gstd3d11download.c:
+ * sys/d3d11/gstd3d11upload.c:
+ * sys/d3d11/gstd3d11utils.c:
+ * sys/d3d11/gstd3d11utils.h:
+ * sys/d3d11/gstd3d11videosink.c:
+ d3d11: Aggregate d3d11 memory usage query for dynamic-usage type decision
+ Even if one of downstream d3d11 elements can support dynamic-usage memory,
+ another one might not support it. Also, to support dynamic-usage,
+ both upstream and downstream d3d11device must be the same object.
+
+2019-12-26 17:00:52 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11colorconvert.c:
+ * sys/d3d11/gstd3d11colorconvert.h:
+ d3d11colorconvert: Remove device type dependent behavior
+ If d3d11colorconvert element is configured, do color space conversion
+ regardless of the device type whether it's S/W emulation or real H/W.
+ Since d3d11colorconvert is no more a child of d3d11videosinkbin,
+ we don't need this behavior. Note that previous code was added to
+ avoid color space conversion from d3d11videosink if no hardware
+ device is available (S/W emulation of d3d11 is too slow).
+
+2019-12-26 16:43:35 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11colorconverter.c:
+ d3d11colorconverter: Fix unmatched lock/unlock pair
+
+2019-12-26 16:03:31 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11upload.c:
+ d3d11upload: Don't hard overwrite caps features to support d3d11 memory passthrough
+ d3d11upload should be able to support upstream d3d11 memory, not only system memory.
+ Fix for following pipeline
+ d3d11upload ! "video/x-raw(memory:D3D11Memory)" ! d3d11videosink
+
+2019-12-26 22:43:35 +0100 Nicola Murino <nicola.murino@gmail.com>
+
+ * ext/opencv/meson.build:
+ opencv: allow compilation against 4.2.x
+
+2019-12-24 14:00:15 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11window.c:
+ * sys/d3d11/gstd3d11window.h:
+ d3d11window: Make use of partial presentation with IDXGISwapChain1::Present1
+ Since we might draw on partial area of backbuffer in case of force-aspect-ratio,
+ presenting only updated area is more efficient way.
+ See also https://docs.microsoft.com/ko-kr/windows/win32/direct3ddxgi/dxgi-1-2-presentation-improvements
+
+2019-12-24 15:54:57 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11colorconvert.c:
+ * sys/d3d11/gstd3d11colorconverter.c:
+ * sys/d3d11/gstd3d11colorconverter.h:
+ * sys/d3d11/gstd3d11download.c:
+ * sys/d3d11/gstd3d11overlaycompositor.c:
+ * sys/d3d11/gstd3d11overlaycompositor.h:
+ * sys/d3d11/gstd3d11shader.c:
+ * sys/d3d11/gstd3d11shader.h:
+ * sys/d3d11/gstd3d11upload.c:
+ * sys/d3d11/gstd3d11videosink.c:
+ * sys/d3d11/gstd3d11videosinkbin.c:
+ * sys/d3d11/gstd3d11window.c:
+ * sys/d3d11/gstd3d11window.h:
+ * sys/d3d11/meson.build:
+ * sys/d3d11/plugin.c:
+ d3d11videosink: Add support for overlay composition
+ Add d3d11overlaycompositor object to draw overlay image
+ on render target using Blend method.
+
+2019-12-20 18:56:08 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11colorconvert.c:
+ * sys/d3d11/gstd3d11colorconverter.c:
+ * sys/d3d11/gstd3d11device.c:
+ * sys/d3d11/gstd3d11device.h:
+ * sys/d3d11/gstd3d11memory.c:
+ * sys/d3d11/gstd3d11shader.c:
+ * sys/d3d11/gstd3d11upload.c:
+ * sys/d3d11/gstd3d11utils.c:
+ * sys/d3d11/gstd3d11utils.h:
+ * sys/d3d11/gstd3d11videosink.c:
+ * sys/d3d11/gstd3d11window.c:
+ * sys/d3d11/meson.build:
+ * sys/d3d11/plugin.c:
+ d3d11: Enable dxgi debug layer and always try to pop d3d11/dxgi debug message if possible
+ Note that dxgi and d3d11 sdk debug will be enabled on debug build
+
+2019-11-28 18:54:31 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstcudaloader.c:
+ * sys/nvcodec/gstnvbaseenc.c:
+ * sys/nvcodec/gstnvdec.c:
+ * sys/nvcodec/gstnvdec.h:
+ * sys/nvcodec/gstnvenc.c:
+ * sys/nvcodec/gstnvenc.h:
+ * sys/nvcodec/plugin.c:
+ nvcodec: Refactor plugin initialization
+ Create CUDA context per device, instead of per codec and encoder/decoder.
+ Allocating CUDA context is heavy operation so we should reuse it
+ as much as possible.
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1130
+
+2019-12-20 12:37:51 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * gst-libs/gst/vulkan/win32/gstvkwindow_win32.c:
+ vulkan/window/win32: Don't post any WinProc message to parent window
+ Posting any message to parent seems to be pointless. That might break
+ parent window.
+ Regardless of the posting, parent window can catch mouse event
+ and also any keyboard events will be handled by parent window by default.
+
+2019-11-11 09:47:00 -0500 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * ext/openjpeg/gstopenjpegenc.c:
+ * ext/openjpeg/gstopenjpegenc.h:
+ openjpegenc: add support for sub-frame encoding
+ Following the standard for low latency JPEG 2000 encoding
+ https://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-H.222.0-200701-S!Amd1!PDF-E&type=items
+ we divide the image into stripes of a specified height, and encode
+ each stripe as a self-contained JPEG 2000 image. This MR is based on
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/merge_requests/429
+
+2019-03-23 21:01:51 +0900 Yeongjin Jeong <yeongjin.jeong@navercorp.com>
+
+ * ext/meson.build:
+ * ext/svthevcenc/gstsvthevcenc.c:
+ * ext/svthevcenc/gstsvthevcenc.h:
+ * ext/svthevcenc/meson.build:
+ * meson_options.txt:
+ * tests/check/elements/svthevcenc.c:
+ * tests/check/meson.build:
+ svthevcenc: Add new SVT-HEVC encoder element
+ The SVT-HEVC (Scalable Video Technology[0] for HEVC) Encoder is an
+ open source video coding technology[1] that is highly optimized for
+ Intel Xeon Scalable processors and Intel Xeon D processors.
+ [0] https://01.org/svt
+ [1] https://github.com/OpenVisualCloud/SVT-HEVC
+
+2019-09-30 16:29:50 +0900 Yeongjin Jeong <yeongjin.jeong@navercorp.com>
+
+ * gst-libs/gst/codecparsers/gsth265parser.c:
+ * gst-libs/gst/codecparsers/gsth265parser.h:
+ * gst/videoparsers/gsth265parse.c:
+ h265parser: Add simple GstH265Profile/string public utilites
+ It makes more simplifies the conversion between GstH265Profile and string.
+
+2019-12-20 00:01:26 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11videosink.c:
+ d3d11videosink: Use dynamic texture for fallback buffer
+ Upload CPU memory to texture directly by using dynamic usage texture.
+ This will reduce at least one step of staging copy per frame.
+
+2019-12-19 23:58:17 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11colorconvert.c:
+ d3d11colorconvert: Set TRANSFER_NEED_DOWNLOAD flag to output memory for later cpu access
+ Otherwise CPU cannot access texture via gst_memory_map()
+
+2019-12-19 22:07:42 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11colorconvert.c:
+ d3d11colorconvert: Use shader resource and render target bind flags together
+ The output of d3d11colorconvert would be used for rendering (i.e., shader resource)
+
+2019-12-19 21:47:57 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11window.c:
+ * sys/d3d11/gstd3d11window.h:
+ d3d11window: Change aspect-ratio mode from window thread
+ Call DXGI API from window thread as much as possible
+
+2019-12-17 20:49:52 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * tests/examples/d3d11videosink/d3d11videosink-kb.c:
+ * tests/examples/d3d11videosink/d3d11videosink-kb.h:
+ * tests/examples/d3d11videosink/d3d11videosink.c:
+ * tests/examples/d3d11videosink/meson.build:
+ * tests/examples/meson.build:
+ examples: Add example for d3d11videosink
+ This is fork of win32-videooverlay in -base but more d3d11videosink specific one.
+
+2019-12-15 19:29:10 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11videosink.c:
+ * sys/d3d11/gstd3d11videosink.h:
+ * sys/d3d11/gstd3d11videosinkbin.c:
+ * sys/d3d11/gstd3d11window.c:
+ * sys/d3d11/gstd3d11window.h:
+ d3d11videosink: Add support for full screen mode
+ borderless top-most style full screen mode support.
+ Basically fullscreen toggle mode is disabled by default. To enable it
+ use "fullscreen-toggle-mode" property to allow fullscreen mode change
+ by user input and/or property.
+
+2019-12-20 00:17:33 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11colorconvert.c:
+ * sys/d3d11/gstd3d11colorconverter.c:
+ * sys/d3d11/gstd3d11device.c:
+ * sys/d3d11/gstd3d11device.h:
+ * sys/d3d11/gstd3d11download.c:
+ * sys/d3d11/gstd3d11format.c:
+ * sys/d3d11/gstd3d11memory.c:
+ * sys/d3d11/gstd3d11shader.c:
+ * sys/d3d11/gstd3d11shader.h:
+ * sys/d3d11/gstd3d11upload.c:
+ * sys/d3d11/gstd3d11window.c:
+ * sys/d3d11/gstd3d11window.h:
+ d3d11: Use GRecMutex to protect immediate context and dxgi API call
+ In some cases, rendering and dxgi (e.g., swapchain) APIs should be
+ called from window message pump thread, but current design (dedicated d3d11 thread)
+ make it impossible. To solve it, change concurrency model to locking based one
+ from single-thread model.
+
+2019-12-18 20:55:01 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11window.c:
+ d3d11window: Prefer to use flip-sequential over discard
+ flip-sequential is more efficient than discard
+
+2019-12-18 20:36:32 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11window.c:
+ * sys/d3d11/gstd3d11window.h:
+ d3d11window: Don't hold backbuffer interface
+ We don't need to hold it
+
+2019-12-18 14:23:03 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11device.c:
+ * sys/d3d11/gstd3d11device.h:
+ * sys/d3d11/gstd3d11window.c:
+ d3d11window: Use CreateSwapChainForHwnd if available
+ That's recommended way from MS and CreateSwapChainForHwnd supports
+ more options than CreateSwapChain
+
+2019-12-18 13:21:31 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11_fwd.h:
+ * sys/d3d11/gstd3d11device.c:
+ * sys/d3d11/gstd3d11window.c:
+ * sys/d3d11/meson.build:
+ d3d11: Use configuration file for dxgi header version check
+
+2019-12-17 13:47:24 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11device.c:
+ * sys/d3d11/gstd3d11window.c:
+ * sys/d3d11/gstd3d11window.h:
+ d3d11window: Use allow-tearing mode if device supports it
+ As the recommendation from MS.
+
+2019-12-15 18:30:22 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11window.c:
+ d3d11window: Disable fullscreen mode change by alt + enter
+ Disable full screen mode change until proper handling is implemented
+
+2019-12-15 16:23:00 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11videosink.c:
+ * sys/d3d11/gstd3d11videosink.h:
+ * sys/d3d11/gstd3d11window.c:
+ * sys/d3d11/gstd3d11window.h:
+ d3d11videosink: Remove resizing window hack and unify resizing flow
+ In earlier implementation of d3d11videosink where no shader was implemented,
+ the aspect ratio and render size were adjusted by manipulating the backbuffer size
+ with unintuitive formula. Since now we do color conversion and resize using
+ shader, we can remove the hack.
+
+2019-12-15 15:50:19 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11colorconvert.c:
+ * sys/d3d11/gstd3d11memory.c:
+ * sys/d3d11/gstd3d11memory.h:
+ * sys/d3d11/gstd3d11videosink.c:
+ d3d11: Pass GstD3D11Memory object to ensure_{shader_resource,render_target}_view methods
+ The method name indicates it should be d3d11memory, so passing
+ GstD3D11Memory seems to make more sense than GstMemory.
+
+2019-12-15 15:44:20 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11videosink.c:
+ d3d11videosink: Don't specify crop meta to allocation query
+ d3d11videosink could not handle it for now
+
+2019-12-19 15:19:29 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/autoconvert/gstautoconvert.c:
+ autoconvert: Fix lock-less exchange or free condition
+ Before this change, we would free the list we just have saved.
+ Fixes #1158
+
+2019-11-12 12:27:51 +0100 Francisco Javier Velázquez-García (francisv) <fvelazquez@make.tv>
+
+ * ext/srt/gstsrtobject.c:
+ * ext/srt/gstsrtobject.h:
+ gstsrtsink: Add `wait-for-connection` property to `srtsink`
+ Add `wait-for-connection` property to `srtsink` element. This
+ property allows the element to process packets even when no clients
+ are connected.
+
+2019-12-07 09:56:28 -0600 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * sys/d3dvideosink/d3dvideosink.c:
+ d3dvideosink: hold class lock for entire duration of class destruction
+ This avoids a race condition currently when temporarily releasing the
+ lock and then re-acquiring.
+
+2019-12-07 09:54:49 -0600 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * sys/d3dvideosink/d3dhelpers.c:
+ * sys/d3dvideosink/d3dhelpers.h:
+ d3dvideosink: improve concurrency on hidden window create/destroy
+
+2019-12-07 14:51:28 -0600 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * sys/d3dvideosink/d3dhelpers.c:
+ * sys/d3dvideosink/d3dvideosink.h:
+ d3dvideosink: use thread pool to handle events from hidden window event queue
+ window event queue now does not lock on the class lock, so we can now shut
+ it down without releasing the class lock, thus avoiding a potential race when
+ stopping the sink.
+
+2019-12-07 09:53:20 -0600 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * sys/d3dvideosink/d3dhelpers.c:
+ d3dvideosink: improve concurrency on internal window create/destroy
+ Remove timeout and rely on condition variable instead to indicate thread
+ start.
+
+2019-12-07 09:34:55 -0600 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * sys/d3dvideosink/d3dhelpers.c:
+ d3dvideosink: only warn about HWND already set if new HWND is not NULL
+
+2019-12-07 00:25:05 -0600 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * sys/d3dvideosink/d3dhelpers.c:
+ d3dvideosink: add more null checks
+
+2019-12-07 00:01:47 -0600 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * sys/d3dvideosink/d3dhelpers.c:
+ d3dvideosink: check ref count and device before resetting display
+
+2019-12-07 09:41:32 -0600 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * sys/d3dvideosink/d3dhelpers.c:
+ * sys/d3dvideosink/d3dhelpers.h:
+ d3dvideosink: use class lock when checking d3d formats, and cache format list
+
+2019-12-06 23:50:50 -0600 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * sys/d3dvideosink/d3dhelpers.c:
+ * sys/d3dvideosink/d3dvideosink.c:
+ d3dvideosink: destroy device just before final d3d release call
+ and free overlays after swap chain is released
+
+2019-12-06 23:26:34 -0600 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * sys/d3dvideosink/d3dhelpers.c:
+ d3dvideosink: add two forward declarations
+
+2019-12-06 23:24:57 -0600 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * sys/d3dvideosink/d3dhelpers.c:
+ d3dvideosink: use class lock when setting pool config
+
+2019-12-06 23:23:45 -0600 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * sys/d3dvideosink/d3dhelpers.c:
+ d3dvideosink: use class lock when allocating pool buffer
+
+2019-12-06 23:19:11 -0600 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * sys/d3dvideosink/gstd3d9overlay.c:
+ d3dvideosink: use class lock when creating overlay textures
+
+2019-12-06 23:16:05 -0600 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * sys/d3dvideosink/gstd3d9overlay.c:
+ d3dvideosinnk: check d3d device exists before creating overlay vertex buffer
+
+2019-12-06 23:14:06 -0600 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * sys/d3dvideosink/d3dhelpers.c:
+ d3dvideosink: pass hidden window hwnd to GST_DEBUG, rather than NULL
+
+2019-12-06 23:11:11 -0600 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * sys/d3dvideosink/d3dhelpers.c:
+ d3dvideosink: fix typo
+
+2019-12-18 03:03:40 +0000 Stéphane Cerveau <scerveau@collabora.com>
+
+ * gst/videoparsers/gsth264parse.c:
+ * tests/check/elements/h264parse.c:
+ h264parse: Align GST_H264_PROFILE_HIGH_422 to H264 standards
+ According to H264 ITU standards from 06/19, GST_H264_PROFILE_HIGH_422
+ (profile_idc = 122) with constraint_set1_flag = 0 and
+ constraint_set3_flag = 0 can be mapped to high-4:2:2 or high-4:4:4.
+ GST_H264_PROFILE_HIGH_422 with constraint_set1_flag = 0 and
+ constraint_set3_flag = 1 can be mapped to high-4:2:2, high-4:4:4,
+ high-4:2:2-intra or high-4:4:4-intra.
+
+2019-12-17 16:44:10 -0500 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst/videoparsers/gstvideoparseutils.c:
+ * gst/videoparsers/gstvideoparseutils.h:
+ Revert "videoparseutils: support two new EIA 608 closed caption formats"
+ This reverts commit f5c1c90122840396f3a34f787bd66a672be21c3b.
+
+2019-12-17 16:43:54 -0500 Olivier Crête <olivier.crete@collabora.com>
+
+ * ext/closedcaption/gstccextractor.c:
+ Revert "ccextractor: support new CEA 608 formats"
+ This reverts commit 80dd7b2d3d871f1cf456bda249bc90e4eeeb53b1.
+
+2019-05-02 13:20:29 -0400 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * ext/closedcaption/gstccextractor.c:
+ ccextractor: support new CEA 608 formats
+
+2019-10-24 22:06:59 -0400 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * gst/videoparsers/gstvideoparseutils.c:
+ * gst/videoparsers/gstvideoparseutils.h:
+ videoparseutils: support two new EIA 608 closed caption formats
+
+2019-11-09 19:37:10 +0900 Wonchul Lee <chul0812@gmail.com>
+
+ * ext/wayland/gstwaylandsink.c:
+ * ext/wayland/wlvideoformat.c:
+ wlvideoformat: clean up video formats
+ It cleans up videoFormat by combining the wl_shm_formats and
+ drm_formats into a single table that represents the same format.
+ In addition, it adds NV61 format to the waylandsink.
+
+2019-12-16 16:59:07 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11window.c:
+ * sys/d3d11/gstd3d11window.h:
+ d3d11window: Always draw to internal window
+ ... and use SetParent() WIN32 API when external window is used.
+ Depending on DXGI swap effect, the external window might not be
+ reusable by another backend. To preserve the external window's property
+ and setting, drawing to internal window seems to be safer way.
+
+2019-12-14 21:41:01 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11window.c:
+ d3d11window: Always set error reason to GError object
+
+2019-12-13 15:33:06 -0800 Julien Isorce <jisorce@oblong.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ msdkdec: call finalize on the parent class
+ Otherwise GstVideoDecoder is not finalized and
+ resources are leaked.
+ Somehow GST_TRACERS="leaks" GST_DEBUG="GST_TRACER:7" did not catch it.
+ Valgrind output:
+ ==31645== 22,480 (1,400 direct, 21,080 indirect) bytes in 5 blocks are definitely lost in loss record 5,042 of 5,049
+ ==31645== at 0x4C2FB0F: malloc
+ ==31645== by 0x51D9E88: g_malloc
+ ==31645== by 0x51FA7B5: g_slice_alloc
+ ==31645== by 0x51FAC68: g_slice_alloc0
+ ==31645== by 0x58D9984: g_type_create_instance
+ ==31645== by 0x58BA344: g_object_new_with_properties
+ ==31645== by 0x58BADA0: g_object_new
+ ==31645== by 0x8ECA966: gst_video_decoder_init
+ ==31645== by 0x58D99E7: g_type_create_instance
+ ==31645== by 0x58BA344: g_object_new_with_properties
+
+2019-12-11 14:17:37 +0700 Roman Shpuntov <roman.shpuntov@gmail.com>
+
+ * sys/applemedia/avfvideosrc.m:
+ avfvideosrc: element requests camera permissions even with capture-screen property is true
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1137
+ macOS has different dialogs for camera capture and screen capture.
+ No need to request screen capture permissions, the system detect
+ screen capture automatically and create request dialog.
+
+2019-12-11 21:51:03 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11window.c:
+ d3d11window: Initialize surface rect with given external window handle
+ Unlike internal window, resize event might not happen with external window.
+
+2019-12-11 20:21:42 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11device.c:
+ d3d11device: Report alive d3d11 objects at the end
+ It would be useful for debugging d3d11 object leak.
+
+2019-12-11 20:19:45 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11colorconverter.c:
+ * sys/d3d11/gstd3d11shader.c:
+ d3d11: Fix ID3D11SamplerState leak
+
+2019-12-11 10:47:20 +0100 Stéphane Cerveau <scerveau@collabora.com>
+
+ * ext/curl/gstcurlbasesink.c:
+ * ext/curl/gstcurlhttpsrc.c:
+ * ext/fdkaac/gstfdkaacenc.c:
+ * ext/kate/gstkatetiger.c:
+ * ext/neon/gstneonhttpsrc.c:
+ * ext/opencv/gsthanddetect.cpp:
+ * ext/openni2/gstopenni2src.cpp:
+ * ext/resindvd/gstpesfilter.c:
+ * ext/soundtouch/gstbpmdetect.cc:
+ * ext/teletextdec/gstteletextdec.c:
+ * gst-libs/gst/player/gstplayer.c:
+ * gst-libs/gst/transcoder/gsttranscoder.c:
+ * gst-libs/gst/uridownloader/gsturidownloader.c:
+ * gst-libs/gst/vulkan/cocoa/gstvkwindow_cocoa.m:
+ * gst/accurip/gstaccurip.c:
+ * gst/autoconvert/gstautovideoconvert.c:
+ * gst/mpegdemux/gstpesfilter.c:
+ * gst/vmnc/vmncdec.c:
+ * sys/msdk/gstmsdkdec.c:
+ * sys/uvch264/gstuvch264_mjpgdemux.c:
+ * tests/check/elements/curlhttpsrc.c:
+ * tests/check/elements/dash_demux.c:
+ * tests/check/elements/hls_demux.c:
+ * tests/check/elements/mssdemux.c:
+ * tests/check/elements/webrtcbin.c:
+ * tests/examples/playout.c:
+ remove various useless linefeed in logs
+
+2019-11-07 15:54:47 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkh265dec.c:
+ * sys/msdk/gstmsdkh265enc.c:
+ * sys/msdk/gstmsdkvp8dec.c:
+ * sys/msdk/gstmsdkvp9dec.c:
+ * sys/msdk/gstmsdkvp9enc.c:
+ * sys/msdk/msdk.c:
+ * sys/msdk/msdk.h:
+ msdk: ignore MFX_ERR_UNDEFINED_BEHAVIOR when loading a plugin
+ An issue can be seen when using msdkh265enc with bitrate change in
+ playing state. The root cause is the corresponding plugin is loaded
+ again.
+ Returning MFX_ERR_UNDEFINED_BEHAVIOR from MSDK just means the plugin has
+ been loaded, so we may ignore this error when doing configuation again
+ in the sub class, otherwise the pipeline will be interrupted
+
+2019-12-09 21:01:32 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11videosink.c:
+ d3d11videosink: Fix broken fallback rendering
+ Make fallback rendering work
+
+2019-12-09 19:54:30 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11videosink.c:
+ d3d11videosink: Add debug message for fallback reason
+
+2019-12-09 00:14:53 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11videosink.c:
+ * sys/d3d11/gstd3d11videosink.h:
+ * sys/d3d11/gstd3d11window.c:
+ * sys/d3d11/gstd3d11window.h:
+ d3d11window: Do not check shader resource view if not doing conversion
+ If d3d11window does not convert format internally, shader resource view
+ is not required. Note that shader resource view is used for
+ color conversion using shader but when conversion is not required,
+ we just copy input input texture to backbuffer.
+
+2019-12-05 21:19:13 -0800 Julien Isorce <jisorce@oblong.com>
+
+ * sys/msdk/gstmsdkvpp.c:
+ msdkvpp: check mfx surface nullity for the input buffer
+ In theory it should not happen but it happened to me
+ in some cases where it failed to allocate some video
+ buffers so this was a consequence of a corner case.
+ Better to be safe than sorry.
+
+2019-12-08 16:39:16 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11window.c:
+ d3d11window: Clear old swapchain per prepare
+ _prepare() might be called multiple times for given window, so clear
+ old swapchain if any.
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1138
+
+2019-12-09 15:35:03 -0500 Olivier Crête <olivier.crete@collabora.com>
+
+ * ext/srtp/gstsrtpdec.c:
+ srtp: Remove %z as it doesn't work on Windows
+
+2019-12-09 17:54:02 +0100 Alicia Boya García <aboya@igalia.com>
+
+ * gst/debugutils/gsttestsrcbin.c:
+ gsttestsrcbin: Avoid not-linked errors when switching tracks
+ The previous implementation had a very high reproducibility race where
+ if after a track switch, the ex-active track pad completed a buffer
+ chain (now returning not-linked) the flow combiner had all their pads in
+ non-linked state, propagating it as an error and stopping the pipeline.
+ By resetting the flow combiner in response to RECONFIGURE events that
+ race is made impossible.
+
+2019-12-06 08:50:05 -0800 Julien Isorce <jisorce@oblong.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ msdkdec: fix assertion 'frame->ref_count > 0' failed
+ Can happen if the oldest frame is the current frame
+ and if gst_video_decoder_finish_frame failed in which
+ case the current is unref and then drop instead of
+ just drop.
+ This patch also removes some assumptions, it was strange
+ to call unref and finish_frame in gst_msdkdec_finish_task.
+ In principle when owning a frame, the code should either
+ unref, or drop or finish.
+
+2019-12-08 17:25:26 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11window.c:
+ d3d11window: Always set dxgi colorspace if possible
+ Not only for the 10 bits RGB case with HDR metadata, set proper color space
+ to swapchain in order to make color representaion correct
+
+2019-09-03 13:56:22 +1000 Matthew Waters <matthew@centricular.com>
+
+ * meson.build:
+ * sys/applemedia/corevideobuffer.c:
+ * sys/applemedia/iosurfacevulkanmemory.c:
+ * sys/applemedia/iosurfacevulkanmemory.h:
+ * sys/applemedia/meson.build:
+ * sys/applemedia/metal-helpers.h:
+ * sys/applemedia/videotexturecache-vulkan.h:
+ * sys/applemedia/videotexturecache-vulkan.mm:
+ * sys/applemedia/vtdec.c:
+ * sys/applemedia/vtdec.h:
+ vtdec: add support for outputing vulkan images
+
+2019-09-03 13:42:43 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkimagememory.c:
+ * gst-libs/gst/vulkan/gstvkimagememory.h:
+ vulkan/image: expose initialization function for subclasses
+
+2019-09-03 00:30:31 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/meson.build:
+ vulkan/macos: link directly to MoltenVK
+ It's currently the only sane way we can use MoltenVK functions to
+ integrate with Metal API.
+ It also removes the need to specify the VK_ICD_FILENAMES environment
+ variable pointing to MoltenVK_icd.json.
+
+2019-09-02 15:00:27 +1000 Matthew Waters <matthew@centricular.com>
+
+ * sys/applemedia/corevideobuffer.c:
+ * sys/applemedia/iosurfaceglmemory.c:
+ * sys/applemedia/iosurfaceglmemory.h:
+ * sys/applemedia/iosurfacememory.h:
+ * sys/applemedia/meson.build:
+ * sys/applemedia/videotexturecache-gl.m:
+ applemedia: rename IOSurfaceMemory -> IOSurfaceGLMemory
+
+2019-08-28 18:59:35 +1000 Matthew Waters <matthew@centricular.com>
+
+ * sys/applemedia/avfvideosrc.m:
+ * sys/applemedia/corevideobuffer.c:
+ * sys/applemedia/meson.build:
+ * sys/applemedia/videotexturecache-gl.h:
+ * sys/applemedia/videotexturecache-gl.m:
+ * sys/applemedia/videotexturecache.h:
+ * sys/applemedia/videotexturecache.m:
+ * sys/applemedia/vtdec.c:
+ videotexturecache: implement GL specifics as a subclass
+
+2019-08-26 16:51:03 +1000 Matthew Waters <matthew@centricular.com>
+
+ * sys/applemedia/avfvideosrc.m:
+ * sys/applemedia/videotexturecache.h:
+ * sys/applemedia/videotexturecache.m:
+ * sys/applemedia/vtdec.c:
+ applemedia/videocache: make a GObject subclass
+
+2019-08-28 20:09:39 +1000 Matthew Waters <matthew@centricular.com>
+
+ * sys/applemedia/avfvideosrc.m:
+ avfvideosrc: don't leak texture caches
+ If decide_allocation is called multiple times, then we would continually
+ overwrite the previous cache without freeing
+
+2019-12-05 22:06:41 -0600 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * sys/d3d11/gstd3d11colorconvert.c:
+ * sys/d3d11/gstd3d11colorconverter.c:
+ * sys/d3d11/gstd3d11device.c:
+ * sys/d3d11/gstd3d11memory.c:
+ * sys/d3d11/gstd3d11shader.c:
+ * sys/d3d11/gstd3d11upload.c:
+ * sys/d3d11/gstd3d11utils.h:
+ * sys/d3d11/gstd3d11window.c:
+ d3d11: translate windows error codes to human readable strings
+ This will help with debugging.
+
+2019-09-16 13:15:59 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * sys/magicleap/mlaudiosink.c:
+ mlaudiosink: Fix crash when stopping pipeline
+ This is a bug in LuminOS 0.97.0.
+
+2019-04-09 15:22:19 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * sys/magicleap/meson.build:
+ * sys/magicleap/mlaudiosink.c:
+ * sys/magicleap/mlaudiosink.h:
+ * sys/magicleap/mlaudiowrapper.cpp:
+ * sys/magicleap/mlaudiowrapper.h:
+ * sys/magicleap/plugin.c:
+ * sys/meson.build:
+ Add mlaudiosink element
+
+2019-09-05 16:48:19 +0200 Stéphane Cerveau <scerveau@collabora.com>
+
+ * ext/openh264/gstopenh264enc.cpp:
+ openh264enc: keep the headers
+ be able to resend the headers on demand after a key-unit request
+
+2019-12-05 21:22:18 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * sys/decklink/gstdecklink.cpp:
+ decklink: Return new references to the devices from get_devices()
+ Otherwise the caller will free the devices we store internally.
+
+2019-05-24 16:24:00 +0200 Stéphane Cerveau <scerveau@collabora.com>
+
+ * ext/dash/gstdashdemux.c:
+ * ext/dash/gstdashdemux.h:
+ * ext/dash/gstmpdadaptationsetnode.c:
+ * ext/dash/gstmpdadaptationsetnode.h:
+ * ext/dash/gstmpdbaseurlnode.c:
+ * ext/dash/gstmpdbaseurlnode.h:
+ * ext/dash/gstmpdclient.c:
+ * ext/dash/gstmpdclient.h:
+ * ext/dash/gstmpdcontentcomponentnode.c:
+ * ext/dash/gstmpdcontentcomponentnode.h:
+ * ext/dash/gstmpdhelper.c:
+ * ext/dash/gstmpdhelper.h:
+ * ext/dash/gstmpdmetricsnode.c:
+ * ext/dash/gstmpdmetricsnode.h:
+ * ext/dash/gstmpdmetricsrangenode.c:
+ * ext/dash/gstmpdmetricsrangenode.h:
+ * ext/dash/gstmpdparser.c:
+ * ext/dash/gstmpdparser.h:
+ * ext/dash/gstmpdperiodnode.c:
+ * ext/dash/gstmpdperiodnode.h:
+ * ext/dash/gstmpdprograminformationnode.c:
+ * ext/dash/gstmpdprograminformationnode.h:
+ * ext/dash/gstmpdrepresentationnode.c:
+ * ext/dash/gstmpdrepresentationnode.h:
+ * ext/dash/gstmpdrootnode.c:
+ * ext/dash/gstmpdrootnode.h:
+ * ext/dash/gstmpdsegmentlistnode.c:
+ * ext/dash/gstmpdsegmentlistnode.h:
+ * ext/dash/gstmpdsegmenttemplatenode.c:
+ * ext/dash/gstmpdsegmenttemplatenode.h:
+ * ext/dash/gstmpdsegmenttimelinenode.c:
+ * ext/dash/gstmpdsegmenttimelinenode.h:
+ * ext/dash/gstmpdsegmenturlnode.c:
+ * ext/dash/gstmpdsegmenturlnode.h:
+ * ext/dash/gstmpdsnode.c:
+ * ext/dash/gstmpdsnode.h:
+ * ext/dash/gstmpdsubrepresentationnode.c:
+ * ext/dash/gstmpdsubrepresentationnode.h:
+ * ext/dash/gstmpdsubsetnode.c:
+ * ext/dash/gstmpdsubsetnode.h:
+ * ext/dash/gstmpdutctimingnode.c:
+ * ext/dash/gstmpdutctimingnode.h:
+ * ext/dash/meson.build:
+ * tests/check/elements/dash_mpd.c:
+ dash: move parser nodes/types to separated files
+ Rename GstMpdClient to GstMPDClient and use GObject model.
+ Move nodes to file from gstmpdparser.c:
+ - GstMPDRootNode
+ - GstMPDBaseURLNode
+ - GstMPDUTCTimingNode
+ - GstMPDMetricsNode
+ - GstMPDMetricsRangeNode
+ - GstMPDSNode
+ - GstMPDSegmentTimelineNode
+ - GstSegmentTemplateNode
+ - GstMPDSegmentURLNode
+ - GstMPDSegmentListNode
+ - GstMPDPeriodNode
+ - GstMPDRepresentationNode
+ - GstMPDsubRepresentationNode
+ - GstMPDAdaptationSetNode
+ - GstMPDContentComponentNode
+ - GstMPDSubsetNode
+ - GstMPDProgramInformationNode
+ Move types to gstmpdhelper from gstmpdparser.c:
+ - GstURLType
+ - GstDescriptorType
+ - GstSegmentBaseType
+ - GstMPDMultSegmentBaseType
+ - GstMPDRepresentationBaseType
+ Cleanup naming when possible.
+
+2019-05-20 18:48:23 +0200 Stéphane Cerveau <scerveau@collabora.com>
+
+ * ext/dash/gstdashdemux.c:
+ * ext/dash/gstdashdemux.h:
+ * ext/dash/gstmpdclient.c:
+ * ext/dash/gstmpdclient.h:
+ * ext/dash/gstmpdhelper.c:
+ * ext/dash/gstmpdhelper.h:
+ * ext/dash/gstmpdparser.c:
+ * ext/dash/gstmpdparser.h:
+ * ext/dash/gstxmlhelper.c:
+ * ext/dash/gstxmlhelper.h:
+ * ext/dash/meson.build:
+ * tests/check/elements/dash_mpd.c:
+ dash: split mpdparser, mpdclient and xmlhelper
+ provide a separate namespace for mpd helper
+ for xml parsing and the real mpd parsing.
+
+2019-12-04 15:33:42 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3dvideosink/d3dhelpers.c:
+ d3dvideosink: Fix warning for unhandled enum in switch
+ d3dhelpers.c:135:3: warning: enumeration value 'D3DFMT_D32_LOCKABLE' not handled in switch [-Wswitch]
+
+2019-12-04 19:29:38 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkviewconvert.c:
+ vulkanviewconvert: clear the cached uniforms on caps change
+ Caps changes can change the output/input layout which needs to be
+ reflected in the input uniforms to the shader.
+
+2019-12-05 00:53:40 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11device.c:
+ * sys/d3d11/gstd3d11format.c:
+ * sys/d3d11/gstd3d11utils.c:
+ * sys/d3d11/plugin.c:
+ d3d11: Initialize debug categories of non-GstElement implementation in plugin init
+ That's the way to expose debug category to --gst-debug-help
+
+2019-12-04 23:23:09 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11window.c:
+ d3d11window: Invoke resize task with high priority
+ On resize event, swapchain should be configured with higher priority
+ than the other tasks since it's directly related to visual artifacts.
+
+2019-12-04 23:20:39 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11device.c:
+ * sys/d3d11/gstd3d11device.h:
+ d3d11device: Add gst_d3d11_device_thread_add_full method
+ I would be used to invoke GPU task with specified priority.
+
+2019-12-04 14:15:19 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11videosinkbin.c:
+ * sys/d3d11/gstd3d11videosinkbin.h:
+ d3d11videosinkbin: Drop d3d11 color convert element
+ d3d11videosink can convert color space now, so the conversion element
+ seems to be redundant.
+
+2019-12-03 22:54:26 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11colorconverter.c:
+ * sys/d3d11/gstd3d11colorconverter.h:
+ * sys/d3d11/gstd3d11videosink.c:
+ * sys/d3d11/gstd3d11videosink.h:
+ * sys/d3d11/gstd3d11window.c:
+ * sys/d3d11/gstd3d11window.h:
+ d3d11videosink: Add color conversion support
+ Draw to back buffer texture directly. It would reduce the number of
+ copy at least once when color conversion is required.
+
+2019-12-03 22:29:27 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11colorconvert.c:
+ d3d11converter: Skip setup converter if input and output formats are equal
+
+2019-12-03 20:35:06 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11_fwd.h:
+ * sys/d3d11/gstd3d11colorconvert.c:
+ * sys/d3d11/gstd3d11colorconvert.h:
+ * sys/d3d11/gstd3d11colorconverter.c:
+ * sys/d3d11/gstd3d11colorconverter.h:
+ * sys/d3d11/gstd3d11utils.c:
+ * sys/d3d11/gstd3d11utils.h:
+ * sys/d3d11/meson.build:
+ * sys/d3d11/plugin.c:
+ d3d11colorconvert: Split color space converter to reuse code
+
+2019-12-02 20:24:05 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11colorconvert.c:
+ * sys/d3d11/gstd3d11colorconvert.h:
+ * sys/d3d11/gstd3d11shader.c:
+ * sys/d3d11/gstd3d11shader.h:
+ * sys/d3d11/meson.build:
+ * sys/d3d11/plugin.c:
+ d3d11: Split shader to reuse code
+
+2019-12-02 23:27:42 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11videosink.c:
+ * sys/d3d11/gstd3d11videosink.h:
+ * sys/d3d11/gstd3d11window.c:
+ * sys/d3d11/gstd3d11window.h:
+ d3d11videosink: Draw window with cached texture on resize
+ This would render nicer than presenting scene with broken aspect ratio,
+ especially in case of low framerate.
+
+2019-11-30 20:26:26 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11bufferpool.c:
+ * sys/d3d11/gstd3d11colorconvert.c:
+ * sys/d3d11/gstd3d11memory.c:
+ * sys/d3d11/gstd3d11memory.h:
+ * sys/d3d11/gstd3d11upload.c:
+ * sys/d3d11/gstd3d11utils.c:
+ * sys/d3d11/gstd3d11utils.h:
+ * sys/d3d11/gstd3d11videosink.c:
+ d3d11: Add support for D3D11_USAGE_DYNAMIC
+ D3D11 dynamic texture is a special memory type, which is mainly used for
+ frequent CPU write access to the texture. For now, this texture type
+ does not support gst_memory_{map,unmap}
+
+2019-12-02 14:23:10 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11device.c:
+ d3d11device: Add debug message for CreateTexture2D failure
+
+2019-12-02 14:03:04 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11device.c:
+ d3d11device: Fix misreading debug message
+
+2019-12-01 16:13:38 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11colorconvert.c:
+ * sys/d3d11/gstd3d11colorconvert.h:
+ d3d11colorconvert: Disable color conversion with software rasterizer
+ It's much slower than our CPU based color-converter in most case.
+
+2019-07-18 23:12:13 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11videosink.c:
+ d3d11videosink: Handle context query
+ Propagate d3d11device via context query.
+
+2019-10-06 21:59:54 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11colorconvert.c:
+ d3d11colorconvert: Avoid copy in/out texture if possible
+ When input and/or output d3d11memory has its own view, use them for
+ rendering to avoid texture copy
+
+2019-10-06 21:35:48 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11memory.c:
+ * sys/d3d11/gstd3d11memory.h:
+ d3d11memory: Allocate texture with required views
+ Store required resource views with d3d11 texture when it requested.
+
+2019-11-06 19:39:09 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11videosinkbin.c:
+ * sys/d3d11/gstd3d11videosinkbin.h:
+ * sys/d3d11/meson.build:
+ * sys/d3d11/plugin.c:
+ d3d11: Add d3d11videosinkbin element
+ New wrapper element to support d3d11 memory upload, color conversion, and
+ rendering at once.
+
+2019-08-18 21:01:55 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11_fwd.h:
+ * sys/d3d11/gstd3d11colorconvert.c:
+ * sys/d3d11/gstd3d11colorconvert.h:
+ * sys/d3d11/meson.build:
+ * sys/d3d11/plugin.c:
+ d3d11: Add color space conversion element using shader
+ Add d3d11colorconvert element for color space conversion.
+ Currently {RGB, YUV} to RGB conversion is supported.
+
+2019-10-06 20:59:51 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11memory.c:
+ d3d11memory: Register mininal compare function for GstD3D11AllocationParams
+ The d3d11 allocation param is stored in GstStructure so it should
+ provide compare function for later use such as gst_structure_is_equal()
+
+2019-10-03 21:24:07 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11window.c:
+ d3d11window: Set render target whenever drawing
+ Device context's render target might be updated for offscreen rendering
+
+2019-08-24 17:43:43 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11format.c:
+ * sys/d3d11/gstd3d11videosink.c:
+ d3d11videosink: Specify d3d11 memory caps feature on sinkpad template
+
+2019-11-06 19:38:31 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11_fwd.h:
+ * sys/d3d11/gstd3d11basefilter.c:
+ * sys/d3d11/gstd3d11basefilter.h:
+ * sys/d3d11/gstd3d11download.c:
+ * sys/d3d11/gstd3d11download.h:
+ * sys/d3d11/gstd3d11upload.c:
+ * sys/d3d11/gstd3d11upload.h:
+ * sys/d3d11/meson.build:
+ * sys/d3d11/plugin.c:
+ d3d11: Introduce d3d11 upload/download element
+ That's equivalent to glupload and gldownload elements but for d3d11
+
+2019-11-06 19:37:33 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11_fwd.h:
+ * sys/d3d11/gstd3d11bufferpool.c:
+ * sys/d3d11/gstd3d11bufferpool.h:
+ * sys/d3d11/gstd3d11format.c:
+ * sys/d3d11/gstd3d11format.h:
+ * sys/d3d11/gstd3d11memory.c:
+ * sys/d3d11/gstd3d11memory.h:
+ * sys/d3d11/gstd3d11utils.c:
+ * sys/d3d11/gstd3d11utils.h:
+ * sys/d3d11/gstd3d11videosink.c:
+ * sys/d3d11/meson.build:
+ d3d11: Refactor d3d11 memory and dxgi format usage
+ * Create staging texture only when the CPU access is requested.
+ Note that we should avoid the CPU access to d3d11 memory as mush as possible.
+ Incoming d3d11upload and d3d11download will take this GPU memory upload/download.
+ * Upload/Download texture memory from/to staging only if it needed, similar to
+ GstGL PBO implementation.
+ * Define more dxgi formats for future usage (e.g., color conversion, dxva2 decoder).
+ Because I420_* formats are not supported formats by dxgi, each plane should
+ be handled likewise GstGL separately, but NV12/P10 formats might be supported ones.
+ So we decide the number of d3d11memory per GstBuffer for video memory depending on
+ OS version and dxgi format. For instance, if NV12 is supported by OS,
+ only one d3d11memory with DXGI_FORMAT_NV12 texture can be allocated by this commit.
+ One use case of such texture is DXVA. In case DXVA decoder, it might need to produce decoded data
+ to one DXGI_FORMAT_NV12 instead of seperate Y and UV planes.
+ Such behavior will be controlled via configuration of GstD3D11BufferPool and
+ default configuration is separate resources per plane.
+
+2019-08-24 17:14:09 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11memory.c:
+ * sys/d3d11/gstd3d11memory.h:
+ d3d11: Add method for querying d3d11 memory type
+ ... and fix misreading "private" annotation.
+
+2019-09-25 20:34:10 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11device.c:
+ * sys/d3d11/gstd3d11device.h:
+ d3d11device: Store selected d3d feature level
+ Depending on selected feature level, d3d11 API usage can be different.
+ Instead of querying the selected feature level by user whenever required,
+ store it once by d3d11device.
+
+2019-08-23 21:41:39 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11device.c:
+ * sys/d3d11/gstd3d11device.h:
+ * sys/d3d11/gstd3d11utils.c:
+ * sys/d3d11/gstd3d11utils.h:
+ * sys/d3d11/gstd3d11videosink.c:
+ d3d11: Don't share d3d11 device context unconditionally without checking adapter
+ Do not accept any GstD3D11Device context which has different adapter
+ index from the required one. For example, if a d3d11 element is expecting
+ d3d11 device with adapter 1 (i.e., the second GPU), any d3d11 device
+ context having different adapter could not be shared with
+ the d3d11 element.
+
+2019-09-24 20:32:47 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11device.c:
+ * sys/d3d11/gstd3d11device.h:
+ d3d11device: Don't allow auto adapter selection
+ Change to d3d11device to be created with explicit target adapter index,
+ and expose some readonly device properties
+
+2019-08-18 20:56:06 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11device.c:
+ * sys/d3d11/gstd3d11device.h:
+ * sys/d3d11/gstd3d11memory.c:
+ * sys/d3d11/gstd3d11utils.c:
+ * sys/d3d11/gstd3d11videosink.c:
+ * sys/d3d11/gstd3d11window.c:
+ d3d11: Rename native handle getter and context utils functions
+ Make them consistent with cuda context utils functions.
+ Put in-only parameter before all in-out parameters, and add _handle()
+ suffix to native handle getter functions.
+
+2019-12-02 11:13:11 -0600 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * sys/d3dvideosink/d3dhelpers.c:
+ d3dvideosink: use parent buffer pool to release buffers
+ In certain cases, the sink's buffer pool will not call the parent's
+ release_buffer method, so the pool does not clean up properly
+ after the buffer is released.
+
+2019-11-29 13:45:42 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/meson.build:
+ * ext/vulkan/vkcolorconvert.c:
+ * ext/vulkan/vkcolorconvert.h:
+ * ext/vulkan/vkelementutils.c:
+ * ext/vulkan/vkelementutils.h:
+ * ext/vulkan/vkimageidentity.c:
+ * ext/vulkan/vkimageidentity.h:
+ * ext/vulkan/vkshader.c:
+ * ext/vulkan/vkshader.h:
+ * ext/vulkan/vkviewconvert.c:
+ * ext/vulkan/vkviewconvert.h:
+ * gst-libs/gst/vulkan/gstvkfullscreenquad.c:
+ * gst-libs/gst/vulkan/gstvkfullscreenquad.h:
+ * gst-libs/gst/vulkan/gstvkutils.c:
+ * gst-libs/gst/vulkan/gstvkutils.h:
+ * gst-libs/gst/vulkan/meson.build:
+ * gst-libs/gst/vulkan/vulkan.h:
+ * gst-libs/gst/vulkan/vulkan_fwd.h:
+ * tests/check/libs/vkimage.c:
+ vulkan: move fullscreenquad object to library
+ It's useful and extensible enough to be used by us and other elements
+
+2019-11-29 11:05:50 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkimagememory.c:
+ * gst-libs/gst/vulkan/gstvkphysicaldevice.c:
+ * gst-libs/gst/vulkan/gstvktrash.c:
+ vulkan: fix up some gir annotations
+
+2019-12-03 15:45:26 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/interlace/gstinterlace.c:
+ interlace: Store unsigned integers in unsigned integer types
+ And add some assertions to guard against overflows and out of bounds
+ reads.
+
+2019-12-03 15:35:57 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/interlace/gstinterlace.c:
+ interlace: Increment phase_index before checking if we're at the end of the phase
+ Incrementing it afterwards will always have to phase_index >= 1 and we
+ will never be at the beginning (0) of the phase again, and thus never
+ reset timestamp tracking accordingly.
+ This was broken in bea13ef43b719aad96e28766cd4d23652a891a20 in 2010, and
+ causes interlace to run into integer overflows after 2^31 frames or
+ about 5 hours at 29.97fps. Due to usage of wrong types for the integers
+ this then causes negative numbers to be used in calculations and all
+ calculations spectacularly fail, leading to all following buffers to
+ have the timestamp of the first buffer minus one nanosecond.
+
+2019-11-27 15:38:50 +0100 Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+ * gst/rtmp2/gstrtmp2sink.c:
+ rtmp2sink: Only apply @setDataFrame to onMetaData messages
+ Only the metadata needs to be made "sticky". Custom data messages should
+ be passed on unmodified.
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/878
+
+2019-11-27 15:38:39 +0100 Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+ * gst/rtmp2/rtmp/rtmpmessage.c:
+ * gst/rtmp2/rtmp/rtmpmessage.h:
+ rtmp2: Add gst_rtmp_message_is_metadata
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/878
+
+2019-11-27 15:38:20 +0100 Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+ * gst/rtmp2/rtmp/rtmpconnection.c:
+ * gst/rtmp2/rtmp/rtmpconnection.h:
+ rtmp2: Add gst_rtmp_connection_set_data_frame
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/878
+
+2019-11-27 15:37:45 +0100 Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+ * gst/rtmp2/rtmp/amf.c:
+ * gst/rtmp2/rtmp/amf.h:
+ rtmp2: Add single-value AMF0 parsing and serializing
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/878
+
+2019-11-27 15:36:07 +0100 Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+ * gst/rtmp2/rtmp/amf.c:
+ * gst/rtmp2/rtmp/rtmpconnection.c:
+ rtmp2: Minor changes
+ - Remove an unneeded initialization to zero from AmfParser
+ - Add missing initialization to gst_amf_serialize_command_valist
+ - Add a g_return_if_fail to gst_rtmp_connection_request_window_size
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/878
+
+2019-12-03 14:19:05 +1100 Matthew Waters <matthew@centricular.com>
+
+ * meson.build:
+ build: use -fvisibility=hidden for objc code
+
+2019-12-03 14:18:49 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/cocoa/gstvkcocoa_utils.h:
+ * gst-libs/gst/vulkan/ios/gstvkios_utils.h:
+ vulkan: priviatise _invoke_on_main()
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1132
+
+2019-11-21 16:59:29 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * sys/decklink/gstdecklink.cpp:
+ * sys/decklink/gstdecklink.h:
+ * sys/decklink/gstdecklinkdeviceprovider.cpp:
+ * sys/decklink/gstdecklinkdeviceprovider.h:
+ * sys/decklink/meson.build:
+ decklink: Add simple device provider for Decklink devices
+
+2019-12-01 17:04:05 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * ext/openexr/meson.build:
+ openexr: Fix check for when to pass -std=c++98
+ commit 6adfb120ab0e1bb0b3439ad725a362cfe4fbe733 added this flag to fix
+ builds with `-Werror`, and afterwards it was changed to use a version
+ check when newer versions of openexr moved over to C++11.
+ However, some distros have backported patches to older openexr
+ versions which make it require C++11, which makes the version check
+ incorrect and causes an error because we passed `-Werror -std=c++98`.
+ Instead, directly check when usage of the header requires `-std=c++98`
+ with `-Werror` and override the `cpp_std` setting on the target.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1117
+
+2019-11-30 14:08:06 +0100 o0Ignition0o <jeremy.lempereur@gmail.com>
+
+ * sys/applemedia/avfvideosrc.m:
+ avfvideosrc: Explicitly request device video permissions for macOS 10.14+
+ Since macOS Mojave (10.14), video permissions have to be explicitly
+ granted by a user in order to open a video device such as a camera.
+ This commit adds a check for the current permission status, and tries
+ to request for permission if applicable.
+
+2019-11-27 00:25:16 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkcolorconvert.c:
+ * ext/vulkan/vkdownload.c:
+ * ext/vulkan/vkfullscreenquad.c:
+ * ext/vulkan/vkupload.c:
+ * ext/vulkan/vkviewconvert.c:
+ * gst-libs/gst/vulkan/gstvkdescriptorcache-private.h:
+ * gst-libs/gst/vulkan/gstvkdescriptorcache.c:
+ * gst-libs/gst/vulkan/gstvkdescriptorcache.h:
+ * gst-libs/gst/vulkan/gstvkdescriptorpool.h:
+ * gst-libs/gst/vulkan/gstvkdescriptorset.c:
+ * gst-libs/gst/vulkan/gstvkdevice.c:
+ * gst-libs/gst/vulkan/gstvkdevice.h:
+ * gst-libs/gst/vulkan/gstvkfence.c:
+ * gst-libs/gst/vulkan/gstvkfence.h:
+ * gst-libs/gst/vulkan/gstvkhandlepool.c:
+ * gst-libs/gst/vulkan/gstvkhandlepool.h:
+ * gst-libs/gst/vulkan/gstvkswapper.c:
+ * gst-libs/gst/vulkan/gstvktrash.c:
+ * gst-libs/gst/vulkan/gstvktrash.h:
+ * gst-libs/gst/vulkan/meson.build:
+ * gst-libs/gst/vulkan/vulkan.h:
+ * gst-libs/gst/vulkan/vulkan_fwd.h:
+ * meson.build:
+ * meson_options.txt:
+ vulkan: implement caching and reuse of a couple of vulkan resources
+ Includes a new GstVulkanHandlePool base class for pooling different
+ resources togther. The descriptor cache object is ported to
+ GstVulkanHandlePool with the exact same functionality.
+ A new GstVulkanFenceCache is also implemented for caching fences
+ which is used internally by GstVulkanDevice for creating or reusing
+ fences.
+ The existing GstVulkanTrashFenceList object now caches trash objects.
+
+2019-11-26 18:29:14 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvktrash.c:
+ * gst-libs/gst/vulkan/gstvktrash.h:
+ vulkan/trash: remove free functions covered by GstVulkanHandle
+
+2019-11-26 18:27:04 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkcolorconvert.c:
+ vulkancolorconvert: disable YUY2 conversion
+ It doesn't work and never seemed to
+
+2019-11-26 18:11:25 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/meson.build:
+ * ext/vulkan/shaders/ayuv_to_rgb.frag:
+ * ext/vulkan/shaders/identity.frag:
+ * ext/vulkan/shaders/nv12_to_rgb.frag:
+ * ext/vulkan/shaders/rgb_to_ayuv.frag:
+ * ext/vulkan/shaders/rgb_to_nv12.frag:
+ * ext/vulkan/shaders/rgb_to_yuy2.frag:
+ * ext/vulkan/shaders/swizzle.frag:
+ * ext/vulkan/shaders/swizzle_and_clobber_alpha.frag:
+ * ext/vulkan/shaders/uyvy_to_rgb.frag:
+ * ext/vulkan/shaders/view_convert.frag:
+ * ext/vulkan/shaders/yuy2_to_rgb.frag:
+ * ext/vulkan/vkcolorconvert.c:
+ * ext/vulkan/vkcolorconvert.h:
+ * ext/vulkan/vkfullscreenquad.c:
+ * ext/vulkan/vkfullscreenquad.h:
+ * ext/vulkan/vkfullscreenrender.c:
+ * ext/vulkan/vkfullscreenrender.h:
+ * ext/vulkan/vkimageidentity.c:
+ * ext/vulkan/vkimageidentity.h:
+ * ext/vulkan/vkshader.c:
+ * ext/vulkan/vkshader.h:
+ * ext/vulkan/vkviewconvert.c:
+ * ext/vulkan/vkviewconvert.h:
+ * gst-libs/gst/vulkan/gstvkvideofilter.c:
+ * gst-libs/gst/vulkan/gstvkvideofilter.h:
+ * gst-libs/gst/vulkan/meson.build:
+ * gst-libs/gst/vulkan/vulkan.h:
+ vulkan: split vkfullscreenrender into two
+ Part 1 is a base class (vkvideofilter) that handles instance, device,
+ queue retrieval and holding that has been moved to the library
+ Part 2 is a fullscreenrenderquad that is still in the plugin that
+ performs all of the previous vulkan-specific functionality.
+
+2019-11-26 16:26:41 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkupload.c:
+ vulkan/upload: allocate from the correct pool
+ Only relevant when upstream does not use our provided pool.
+
+2019-11-26 16:25:43 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkhandle.c:
+ * gst-libs/gst/vulkan/gstvkhandle.h:
+ vulkan/handle: add some handle types
+
+2019-11-18 20:29:10 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkimagememory.c:
+ * gst-libs/gst/vulkan/gstvkimagememory.h:
+ * gst-libs/gst/vulkan/gstvkimageview.c:
+ * tests/check/libs/vkimage.c:
+ * tests/check/meson.build:
+ vulkan/image: don't rely on weak-ref notifies for views
+ Weak refs don't quite work here correctly as there is always a race with
+ taking the lock between find_view() and remove_view(). If find_view()
+ returns a view that is going to removed by remove_view() then we have an
+ interesting situation.
+ In theory, the number and type of views for an image are relatively
+ constant and should not change one they've been set up which means that
+ it is actually practical to perform pool-like reference counting here
+ where the image holds a pool of different views that it can give out
+ as necessary.
+
+2019-11-18 15:20:18 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkupload.c:
+ * gst-libs/gst/vulkan/gstvkswapper.c:
+ vulkan: add a couple of missing fence unrefs
+
+2019-10-04 16:05:05 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkcolorconvert.c:
+ vulkan/colorconvert: zero out sampler create struct
+
+2019-11-26 11:39:32 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * sys/wasapi/gstwasapisrc.c:
+ wasapisrc: Correctly handle BUFFERFLAGS_SILENT
+ We need to ignore the data we get from WASAPI in this case and write
+ out silence (zeroes).
+ Initially reported at https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/808
+
+2019-11-25 21:25:43 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * sys/wasapi/gstwasapisrc.c:
+ wasapisrc: Try harder to avoid debug output in the hot loop
+ The whole `src_read()` function is a hot loop since the ringbuffer
+ thread is waiting on us, and printing to the console from inside it
+ can easily cause us to miss our deadline.
+ F.ex., if you had GST_DEBUG=3 and we accidentally missed a device
+ period, we'd trigger the "reported glitch" warning, which would cause
+ us to miss another device period, and so on. Let's reduce the log
+ level so that GST_DEBUG=3 is more usable, and only print buffer flag
+ info when it's actually relevant.
+
+2019-11-25 21:19:59 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * sys/wasapi/gstwasapisrc.c:
+ * sys/wasapi/gstwasapisrc.h:
+ wasapisrc: Fix capturing from some buggy audio drivers
+ Some audio drivers return varying amounts of data per ::GetBuffer
+ call, instead of following the device period that they've told us
+ about in `src_prepare()`.
+ Previously, we would just drop those extra buffers hoping that the
+ extra buffers were temporary (f.ex., a startup 'burst' of audio data).
+ However, it seems that some audio drivers, particularly on older
+ Windows versions (such as Windows 10 1703 and older) consistently
+ return varying amounts of data.
+ Use GstAdapter to smooth that out, and hope that the audio driver is
+ locally varying but globally periodic.
+ Initially reported in https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/808
+
+2019-11-25 21:16:05 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * sys/wasapi/gstwasapisrc.c:
+ wasapisrc: Clarify that nBlockAlign is actually bpf
+ bpf = bytes per frame.
+
+2019-11-25 21:00:14 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * sys/wasapi/gstwasapiutil.c:
+ wasapisrc: Fix glitching and clock skew issues
+ We were miscalculating the device period, i.e. the number of frames
+ we'll get from WASAPI in each IAudioClient::GetBuffer call, due to
+ a calculation mistake (truncate instead of round).
+ For example, on my machine when the aux input is set to 44.1KHz, the
+ reported device period is 101587, which comes out to 447.998 frames
+ per ::GetBuffer call. In reality we will, of course, get 448 frames
+ per call, but we were truncating, so we expected 447 and were
+ discarding one frame every time. This led to glitching, and skew over
+ time.
+ Interestingly, I can only see this with 44.1Khz. 48Khz/96Khz are fine,
+ because the device period is a more 'even' number.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/806
+
+2019-11-27 15:41:26 +0100 Edward Hervey <bilboed@bilboed.com>
+
+ * gst/mpegtsmux/gstatscmux.c:
+ atscmux: Add missing break in switch
+ CID: 1455515
+
+2019-11-27 12:24:46 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/msdk/msdk.c:
+ msdk: Fix mixed declarations warning
+ msdk.c:194:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
+
+2019-11-26 13:05:38 -0500 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * gst/videoparsers/gsth264parse.c:
+ h264parse: buffer mismatch in map/unmap
+
+2019-11-19 15:35:20 -0800 Julien Isorce <jisorce@oblong.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ msdkdec: log an error if leaking surfaces in finalize
+ The for loop in gst_msdkdec_handle_frame is error prone
+ about how it manages surfaces. Because sometimes it sets
+ the surface variable to NULL and sometimes it needs to free
+ it right away. So better to print an error if surfaces are
+ leaked to help with any change around the loop.
+
+2019-11-25 19:08:48 +0800 Jeffy Chen <jeffy.chen@rock-chips.com>
+
+ * ext/wayland/wlwindow.c:
+ waylandsink: Commit the parent after creating subsurface
+ We should commit the parent to activate new subsurface, this is
+ documented in the protocol.
+ Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
+
+2018-07-20 21:33:24 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * ext/ttml/gstttmlparse.c:
+ * ext/ttml/ttmlparse.c:
+ * ext/ttml/ttmlparse.h:
+ ttmlparse: Collect buffers until detecting complete xml document
+ Given buffer could be fragmented and we might need to
+ collect buffers until end tag is detected. And/or, a buffer
+ can consist of multiple ttml documents.
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/494
+
+2019-11-20 13:19:02 -0600 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * sys/msdk/msdk.c:
+ msdk: query hardware when checking MFX availability
+ msdk plugin is not used for sofware encode/decode as there are better
+ solutions available. Also, with MFX_IMPL_AUTO_ANY, if software decode
+ is not supported, the plugin will still load, but will then fail when trying to
+ run the (autoplugged) pipeline. With MFX_IMPL_HARDWARE_ANY,
+ the plugin fails and a better software decoder is auto-plugged.
+
+2019-11-20 13:09:34 -0600 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * sys/msdk/msdk.c:
+ msdk: query platform when opening session
+
+2019-11-14 19:00:51 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvbaseenc.c:
+ * sys/nvcodec/gstnvbaseenc.h:
+ nvenc: Fix crash when nvenc was reused then freed without encoding
+ GstNvBaseEnc::n_bufs was set from the previous encoding session
+ but it wasn't cleared after stop. That might result to invalid memory
+ access at the next start (no encoded data) and then stop sequence.
+ Instead of defining a variable for array length, use GArray::len
+ directly to avoid such confusion.
+
+2019-11-14 18:57:14 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvbaseenc.c:
+ nvenc: Remove unused code path
+ refilling queue would not happen
+
+2019-11-21 16:38:35 +0100 Edward Hervey <edward@centricular.com>
+
+ * ext/webrtc/webrtcdatachannel.c:
+ webrtcdatachannels: Don't leak strings
+ They would leak in error cases
+ CID: 1455480
+
+2019-11-21 16:24:38 +0100 Edward Hervey <edward@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: Fix memory leak
+ The structure is not used after this block
+ CID: 1455481
+
+2019-11-19 19:29:26 -0800 Thiago Santos <thiagossantos@gmail.com>
+
+ * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+ adaptivedemux: fix 'utc now' gdatetime creation
+ It broke after removal of usage of GTimeVal that was deprecated,
+ it requires seconds in this unix-based creation instead of microseconds.
+ The downside here is that it will create an extra object just to be
+ discarded in order to add the microsecond part to it.
+ It would end up segfaulting as it would return a NULL value
+
+2019-11-18 16:15:21 +0100 Jakub Adam <jakub.adam@collabora.com>
+
+ * ext/srt/gstsrtobject.c:
+ srtobject: allow passing SRT Stream ID in stream URI
+ Based on Stream ID, the application can accept or reject the connection,
+ select the desired data stream, or set an appropriate passphrase for the
+ connection. Example usage:
+ srt://127.0.0.1:1234?streamid=mystream
+
+2019-11-20 11:34:15 +0100 Linus Svensson <linussn@axis.com>
+
+ * ext/curl/meson.build:
+ curl: Require libcurl 7.55.0
+ CURLINFO_CONTENT_LENGTH_DOWNLOAD_T is available from libcurl version
+ 7.55.0.
+
+2019-11-18 14:26:31 -0800 Julien Isorce <jisorce@oblong.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ msdkdec: fix surface leak in msdkdec_handle_frame
+ Can be reproduced with:
+ videotestsrc ! x264enc key-int-max=$N ! \
+ h264parse ! msdkh264dec ! fakesink sync=1
+ It happens with any gop size but the smaller is the distance N
+ between key frames, the quicker it is leaking.
+ Fixes #1023
+
+2019-11-18 15:54:42 -0500 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * ext/dash/meson.build:
+ dash: Fix typo in meson.build
+
+2019-11-01 15:58:47 -0700 Ederson de Souza <ederson.desouza@intel.com>
+
+ * ext/avtp/gstavtpcvfdepay.c:
+ * tests/check/elements/avtpcvfdepay.c:
+ avtpcvfdepay: Don't hide gst_pad_push return
+ avtpcvfdepay was effectively hiding any return from gst_pad_push, so no
+ errors or GST_FLOW_EOS would be propagated upstream.
+ Tests also added.
+
+2019-11-01 15:39:25 -0700 Ederson de Souza <ederson.desouza@intel.com>
+
+ * ext/avtp/gstavtpcvfpay.c:
+ * tests/check/elements/avtpcvfpay.c:
+ avtpcvfpay: Do not hide or modify gst_pad_push errors
+ Current code would change any non-ok return from gst_pad_push to
+ GST_FLOW_ERROR, thus hiding meaningful returns such as GST_FLOW_EOS.
+ Tests also added.
+
+2019-10-30 15:24:40 -0700 Ederson de Souza <ederson.desouza@intel.com>
+
+ * ext/avtp/gstavtpcvfdepay.c:
+ avtpcvfdepay: Tone down some log messages
+ Most of avtpcvfdepay messages are currently logged as warnings, which can
+ make some scenarios - such as receiving two AVTP streams on the same
+ pipeline - too verbose.
+ This patch tones those message down to INFO or DEBUG level - more in
+ sync with avtpaafdepay logging.
+
+2019-11-18 15:42:35 +0100 Marc Leeman <m.leeman@televic.com>
+
+ * gst/rtp/gstrtpsink.c:
+ * gst/rtp/gstrtpsink.h:
+ * gst/rtp/gstrtpsrc.c:
+ * gst/rtp/gstrtpsrc.h:
+ rtpmanagerbad: allow setting multicast-iface
+ Allowing the UDP elements to bind on an interface is needed in more
+ complex networks where there are mutiple networks interfaces without
+ default gateway
+
+2019-11-19 12:18:39 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/timecode/gsttimecodestamper.c:
+ timecodestamper: Create LTC sink pad with the correct name according to the template
+ Should be "ltc_sink" and not just "ltc"
+
+2019-10-11 16:19:26 +0300 Vivia Nikolaidou <vivia@ahiru.eu>
+
+ * gst/videoparsers/gsth264parse.c:
+ * gst/videoparsers/gsth265parse.c:
+ * gst/videoparsers/gstmpeg4videoparse.c:
+ * gst/videoparsers/gstmpegvideoparse.c:
+ * gst/videoparsers/gstvc1parse.c:
+ videoparsers: Disable gst_base_parse_set_infer_ts
+ From the documentation of gst_base_parse_set_infer_ts, it should be
+ disabled for non-audio data. Currently just disabling for all video
+ parsers that have reordered data: h264, h265, mpeg, mpeg4, vc1. Was
+ already disabled in h263.
+
+2019-11-18 23:38:49 +0100 Andrew Branson <andrew.branson@jolla.com>
+
+ * sys/androidmedia/gst-android-hardware-camera.c:
+ * sys/androidmedia/gst-android-hardware-camera.h:
+ androidmedia: Add new effects and scene modes to Camera parameters
+
+2019-10-10 18:18:26 +0200 Andrew Branson <andrew.branson@jollamobile.com>
+
+ * gst-libs/gst/interfaces/photography.c:
+ * gst-libs/gst/interfaces/photography.h:
+ * tests/check/elements/camerabin.c:
+ photography: Add additional settings relevant to Android
+ Exposure mode property, extra colour tone values (aqua, emboss, sketch, neon), extra scene modes (backlight, flowers, AR, HDR).
+ Missing vmethods for exposure mode, analog gain, lens focus, colour temperature, min & max exposure time
+ Contribs by Mohammed Sameer <msameer@foolab.org>, Adam Pigg <adam@piggz.co.uk>
+
+2019-09-05 03:16:28 +0200 Kyrylo Polezhaiev <kirushyk@gmail.com>
+
+ * gst/mpegtsmux/tsmux/tsmux.c:
+ tsmux: Fix copying of buffer region
+
+2019-11-15 13:12:48 -0600 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * sys/d3dvideosink/gstd3d9overlay.c:
+ d3dvideosink: use sink dimensions when calculating overlay scaling
+
+2019-11-14 22:06:09 -0500 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * sys/d3dvideosink/d3dvideosink.c:
+ d3dvideosink: use explicit system memory feature in overlay composition caps
+
+2019-11-05 13:46:59 +0100 Jochen Henneberg <jh@henneberg-systemdesign.com>
+
+ * sys/msdk/meson.build:
+ msdk: Fixes for meson include directory setup
+ In case of pkg-config we need to create the include directories object
+ from the path using include_directories(). For INTELMEDIASDKROOT or
+ MFX_HOME we need to add the alternate include path ./include/mfx as
+ Intel MediaSDK now puts the headers there.
+
+2019-09-23 10:30:40 +0200 Marc Leeman <marc.leeman@gmail.com>
+
+ * gst/rtp/gstrtpsink.c:
+ * gst/rtp/gstrtpsrc.c:
+ rtpmanagerbad: name the element children
+ As discussed with RIST, it is best to name the children of the elements
+ since these are now created at the element initialisation.
+
+2019-05-24 17:33:33 +0100 Alex Ashley <alex.ashley@youview.com>
+
+ * ext/curl/gstcurlhttpsrc.c:
+ * ext/curl/gstcurlhttpsrc.h:
+ * tests/check/elements/curlhttpsrc.c:
+ curlhttpsrc: add support for range GET
+ To allow curlhttpsrc to support DASH streams that use the on-demand
+ profile, it needs to support HTTP Range GETs. In GStreamer, the RANGE
+ is specified by issuing a GST_FORMAT_BYTES seek to set the start and
+ end of the range. curlhttpsrc needs to implement seek and set the
+ appropriate curl options to make it add the Range header to the
+ request.
+
+2019-10-11 17:25:04 +0300 Vivia Nikolaidou <vivia@ahiru.eu>
+
+ * gst/mpegtsdemux/tsdemux.c:
+ tsdemux: Always issue a DTS even when it's equal to PTS
+ Currently tsdemux timestamps only the PTS, and only issues the DTS if
+ it's different. In that case, parsers tend to estimate the next DTS
+ based on the previous DTS and the duration, which can accumulate
+ rounding errors.
+
+2019-11-14 10:00:35 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkdownload.c:
+ * ext/vulkan/vkfullscreenrender.c:
+ * ext/vulkan/vkupload.c:
+ * gst-libs/gst/vulkan/gstvkqueue.c:
+ * gst-libs/gst/vulkan/gstvkqueue.h:
+ * gst-libs/gst/vulkan/gstvkswapper.c:
+ * gst-libs/gst/vulkan/vulkan_fwd.h:
+ vulkan/queue: be sure to take a lock around command submission
+ This ensures that only one thread is submitting commands at a time as
+ required by the Vulkan specification.
+
+2019-11-14 09:56:49 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkfullscreenrender.c:
+ vulkan/render: fix indent command comment typo
+
+2019-11-13 20:17:48 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11window.c:
+ d3d11window: Fix subclass procedure recursion
+ subclass window precedure should be cleared if it's no more used.
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1115
+
+2019-11-13 12:14:02 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkfullscreenrender.c:
+ * ext/vulkan/vkimageidentity.c:
+ vulkan: NULL check destruction of vulkan resources
+ If the element fails to start up, any number of vulkan resources could
+ have not been created.
+
+2019-11-13 12:07:45 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkcolorconvert.c:
+ * ext/vulkan/vkdownload.c:
+ * ext/vulkan/vkfullscreenrender.c:
+ * ext/vulkan/vkimageidentity.c:
+ * ext/vulkan/vkupload.c:
+ * ext/vulkan/vkviewconvert.c:
+ * gst-libs/gst/vulkan/gstvkswapper.c:
+ * gst-libs/gst/vulkan/gstvktrash.c:
+ vulkan: make new trash objects ref the fence
+ Avoids gst_vulkan_fence_ref at each call site of the trash object
+ creation
+
+2019-11-13 12:05:52 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/wayland/gstvkwindow_wayland.c:
+ vulkan/wayland: advertise the current surface size
+ Avoids vkswapper from creating a 0x0 output VkSurface and failing
+
+2019-11-12 22:06:45 +1100 Jan Schmidt <jan@centricular.com>
+
+ * gst/switchbin/gstswitchbin.c:
+ switchbin: Free path objects on finalize
+ Clean up path objects nicely when shutting down,
+ first by dropping pointers to elements during dispose,
+ and then by making sure to drop the ref to the path object
+ when finalizing the switch bin.
+ Fixes valgrind checks in the unit test.
+
+2018-07-03 00:30:12 +1000 Jan Schmidt <jan@centricular.com>
+
+ * tests/check/elements/switchbin.c:
+ * tests/check/meson.build:
+ switchbin: Add a basic unit-test
+ Test the basic function of a switchbin - that it correctly
+ selects between 2 processing paths based on caps
+
+2018-07-03 00:25:51 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst/switchbin/gstswitchbin.c:
+ * gst/switchbin/gstswitchbin.h:
+ switchbin: Add current-path property
+ Returns the index of the currently selected processing
+ path, or MAX-UINT if none
+
+2019-11-05 01:40:10 +1100 Jan Schmidt <jan@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst/switchbin/gstswitchbin.c:
+ switchbin: Add docs
+ Add documentation clauses and enrol switchbin to generate
+ plugin docs
+
+2019-11-05 01:40:04 +1100 Jan Schmidt <jan@centricular.com>
+
+ * gst/meson.build:
+ * gst/switchbin/gstswitchbin.c:
+ * gst/switchbin/gstswitchbin.h:
+ * gst/switchbin/meson.build:
+ * gst/switchbin/plugin.c:
+ * meson_options.txt:
+ switchbin: Initial checkin
+ Add code from Stream Unlimited implementing a bin
+ which switches between different internal decoding/processing
+ chains based on input caps
+
+2019-11-12 19:54:46 -0600 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * sys/d3d11/gstd3d11window.c:
+ d3d11videosink: only destroy loop if external_win_id is false
+ Loop was created with this condition, so it should also be
+ destroyed under the same condition
+
+2019-09-06 19:13:46 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst-libs/gst/opencv/meson.build:
+ * meson.build:
+ meson: Fix plugin symbol export for C++ sources/plugins
+ The symbol visibility=hidden flag was only being applied to C
+ compilation, so plugins implemented in C++ would leak extra symbols
+ than the 2 _get_desc() and _register().
+ That also showed that the gst-libs opencv C++ lib was not marking
+ symbols for export correctly because the BUILDING_GST_OPENCV define
+ wasn't in the C++ args, so fix that too.
+
+2019-11-12 12:04:48 +0100 Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+ * gst/rtmp2/rtmp/rtmpmessage.c:
+ rtmp2: Fix NULL check in gst_rtmp_meta_transform
+ Coverity rightly complains that checking a pointer for NULL after
+ dereferencing it is pointless.
+ Remove the check, and to be safe, assert that gst_buffer_add_meta
+ returns non-NULL.
+ CID 1455485
+
+2019-11-12 11:46:21 +0100 Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+ * gst/rtmp2/rtmp/rtmpchunkstream.c:
+ * gst/rtmp2/rtmp/rtmpconnection.c:
+ rtmp2: Check for missing GstRtmpMeta
+ The message buffers are created using `gst_rtmp_message_new` and thus
+ always contain a GstRtmpMeta. Add checks to appease Coverity's static
+ analysis.
+ CID 1455596
+ CID 1455384
+
+2019-11-12 12:31:48 +0200 Vivia Nikolaidou <vivia@ahiru.eu>
+
+ * gst/rtmp2/gstrtmp2sink.c:
+ rtmp2sink: Add a check that meta isn't NULL before accessing
+ It really can't be NULL, this is just to convince coverity
+ CID 1455553
+
+2019-11-08 18:00:46 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/kms/gstkmssink.c:
+ kmssink: Do not drain if imported buffer are from KMS
+ This adds a check to avoid draining when the imported buffers are in
+ fact own by kmssink. This happens since we export our kms buffer as
+ DMABuf. They are not really imported back as we pre-fill the cache,
+ but uses the same format as if they were external. This fixes
+ performance issues seen with videocrop2-test (found in -good).
+
+2019-11-08 17:57:58 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/kms/gstkmssink.c:
+ * sys/kms/gstkmssink.h:
+ kmssink: Avoid drain on caps changes
+ Draining systematically on caps changes was a hack. Instead, properly
+ save the render information used to render last_render, and use that
+ information to drain. This fixes performance issues met with video crop
+ meta and per frame caps changes.
+
+2019-11-08 17:48:40 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/kms/gstkmssink.c:
+ kmssink: Ensure we have an allocator before importing
+ This fixes cases where the kms allocator API was called with a null
+ pointer.
+
+2019-07-12 20:39:45 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/videoparsers/gstvc1parse.c:
+ vc1parse: Avoid division by zero assertion
+ A framerate of 0/1 is valid, but we cannot calculate the frame duration
+ in this context. Simply protect against this case.
+ Related to #660
+
+2018-02-17 19:38:22 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/videoparsers/gstvc1parse.c:
+ vc1parser: Relax ASF Binding Byte validation
+ According to the spec, the least significant bit is reserved and should
+ always we set to 1. Though, some wrong file has been found. Considering
+ how low important this reserved bit is, relax the validation.
+ Related to #660
+
+2019-11-11 09:36:48 +0800 Fuwei Tang <fuweix.tang@intel.com>
+
+ * gst-libs/gst/codecparsers/gstvc1parser.c:
+ vc1parser : fix a miswrite
+
+2019-11-11 10:50:58 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkhandle.h:
+ * gst-libs/gst/vulkan/gstvkswapper.c:
+ * gst-libs/gst/vulkan/gstvktrash.c:
+ vkhandle: expose a printf format specifier for a vulkan handle
+
+2019-11-11 10:33:23 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkdescriptorpool.c:
+ vkdescriptor: set the GError on the 'too many allocations' case
+
+2019-10-17 23:25:14 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkswapper.c:
+ vkswapper: add inherit support
+ Used on android
+
+2019-10-17 22:27:44 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkswapper.c:
+ vkswapper: output specific values when swapchain flags fail
+
+2019-10-16 17:17:51 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/android/gstvkdisplay_android.c:
+ * gst-libs/gst/vulkan/android/gstvkdisplay_android.h:
+ * gst-libs/gst/vulkan/android/gstvkwindow_android.c:
+ * gst-libs/gst/vulkan/android/gstvkwindow_android.h:
+ * gst-libs/gst/vulkan/gstvkconfig.h.meson:
+ * gst-libs/gst/vulkan/gstvkdisplay.c:
+ * gst-libs/gst/vulkan/gstvkdisplay.h:
+ * gst-libs/gst/vulkan/gstvkwindow.c:
+ * gst-libs/gst/vulkan/meson.build:
+ vulkan: add android WSI integration
+
+2019-11-10 18:31:49 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst-libs/gst/vulkan/ios/gstvkwindow_ios.m:
+ vulkan: Fix build on ios
+ These little bits were missed during the refactor in
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/821
+
+2019-10-24 15:27:42 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * sys/androidmedia/gstamc.c:
+ * sys/androidmedia/meson.build:
+ amc: Change plugin name if it's built for Magic Leap
+
+2018-11-19 13:40:35 -0500 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * meson_options.txt:
+ * sys/androidmedia/gstamc.c:
+ * sys/androidmedia/magicleap/gstamc-codec-ml.c:
+ * sys/androidmedia/magicleap/gstamc-codeclist-ml.c:
+ * sys/androidmedia/magicleap/gstamc-format-ml.c:
+ * sys/androidmedia/magicleap/gstamc-internal-ml.h:
+ * sys/androidmedia/magicleap/gstamc-surfacetexture-ml.c:
+ * sys/androidmedia/magicleap/gstamc-surfacetexture-ml.h:
+ * sys/androidmedia/meson.build:
+ amc: Add MLSDK implementation
+
+2019-11-08 23:42:08 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * gst-libs/gst/vulkan/win32/gstvkwindow_win32.c:
+ vulkan: Fix build on Windows
+ gstvkwindow_win32.c(166): error C2065: 'msg_source': undeclared identifier
+
+2019-11-06 15:07:44 +0100 Edward Hervey <edward@centricular.com>
+
+ * ext/hls/gsthlsdemux.c:
+ * ext/hls/gsthlsdemux.h:
+ hlsdemux: Don't use deprecated SSL methods
+ And instead use the fixed-size variants (which aren't deprecated)
+
+2019-11-06 14:36:11 +0100 Edward Hervey <edward@centricular.com>
+
+ * ext/opencv/gstmotioncells.cpp:
+ * ext/opencv/gstmotioncells.h:
+ * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+ * gst-libs/gst/uridownloader/gsturidownloader.c:
+ * gst/asfmux/gstasfobjects.c:
+ * gst/mxf/mxftypes.c:
+ bad: Avoid using deprecated API
+ GTimeval is deprecated
+
+2019-11-07 18:45:55 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdk.c:
+ * sys/msdk/gstmsdkvp8enc.c:
+ * sys/msdk/gstmsdkvp8enc.h:
+ * sys/msdk/meson.build:
+ msdk: remove msdkvp8enc
+ MediaSDK doesn't support vp8 encode which is not going to be
+ implemented [1], so remove msdkvp8enc from this plugin
+ [1]: https://github.com/Intel-Media-SDK/MediaSDK/issues/947
+
+2019-11-07 02:41:10 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/cocoa/gstvkwindow_cocoa.h:
+ * gst-libs/gst/vulkan/cocoa/gstvkwindow_cocoa.m:
+ * gst-libs/gst/vulkan/gstvkbufferpool.c:
+ * gst-libs/gst/vulkan/gstvkbufferpool.h:
+ * gst-libs/gst/vulkan/gstvkcommandpool.c:
+ * gst-libs/gst/vulkan/gstvkdescriptorcache.c:
+ * gst-libs/gst/vulkan/gstvkdescriptorpool.c:
+ * gst-libs/gst/vulkan/gstvkdisplay.c:
+ * gst-libs/gst/vulkan/gstvkdisplay.h:
+ * gst-libs/gst/vulkan/gstvkimagebufferpool.c:
+ * gst-libs/gst/vulkan/gstvkimagebufferpool.h:
+ * gst-libs/gst/vulkan/gstvkinstance.c:
+ * gst-libs/gst/vulkan/gstvkinstance.h:
+ * gst-libs/gst/vulkan/gstvkphysicaldevice.c:
+ * gst-libs/gst/vulkan/gstvkphysicaldevice.h:
+ * gst-libs/gst/vulkan/gstvkswapper.c:
+ * gst-libs/gst/vulkan/gstvkswapper.h:
+ * gst-libs/gst/vulkan/gstvkwindow.c:
+ * gst-libs/gst/vulkan/gstvkwindow.h:
+ * gst-libs/gst/vulkan/ios/gstvkwindow_ios.h:
+ * gst-libs/gst/vulkan/ios/gstvkwindow_ios.m:
+ * gst-libs/gst/vulkan/win32/gstvkwindow_win32.c:
+ * gst-libs/gst/vulkan/win32/gstvkwindow_win32.h:
+ * gst-libs/gst/vulkan/xcb/gstvkwindow_xcb.c:
+ * gst-libs/gst/vulkan/xcb/gstvkwindow_xcb.h:
+ vulkan: remove the private struct from the public struct
+ Remove any references to CamelTypePrivate from the public CamelType
+ struct. They can be accessed as needed using
+ camel_type_get_instance_private().
+
+2019-11-06 22:19:42 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkcolorconvert.c:
+ * ext/vulkan/vkcolorconvert.h:
+ * ext/vulkan/vkfullscreenrender.c:
+ * ext/vulkan/vkfullscreenrender.h:
+ * ext/vulkan/vkimageidentity.c:
+ * ext/vulkan/vkimageidentity.h:
+ * ext/vulkan/vkviewconvert.c:
+ * ext/vulkan/vkviewconvert.h:
+ * gst-libs/gst/vulkan/gstvkdescriptorcache-private.h:
+ * gst-libs/gst/vulkan/gstvkdescriptorcache.c:
+ * gst-libs/gst/vulkan/gstvkdescriptorcache.h:
+ * gst-libs/gst/vulkan/gstvkdescriptorpool.c:
+ * gst-libs/gst/vulkan/gstvkdescriptorpool.h:
+ * gst-libs/gst/vulkan/gstvkdescriptorset.c:
+ * gst-libs/gst/vulkan/gstvkdescriptorset.h:
+ * gst-libs/gst/vulkan/meson.build:
+ * gst-libs/gst/vulkan/vulkan.h:
+ * gst-libs/gst/vulkan/vulkan_fwd.h:
+ vulkan: implement proper descriptor set handling
+ The major functionality gain this provides is proper reference counting
+ for a descriptor set. Overall this allows us to create descriptor sets
+ when they are needed (or reused from a cache) without violating any of
+ vulkan's object synchronisation requirements.
+ As there are a fixed number of sets available in a pool, the number of
+ descriptors in elements is currently hardcoded to 32. This can be extended
+ in a future change to create pools on the fly if that limit is ever overrun.
+
+2019-11-06 09:34:36 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkcolorconvert.c:
+ * ext/vulkan/vkfullscreenrender.c:
+ * ext/vulkan/vkimageidentity.c:
+ * ext/vulkan/vkviewconvert.c:
+ * gst-libs/gst/vulkan/gstvkfence.c:
+ * gst-libs/gst/vulkan/gstvkfence.h:
+ vulkan/fence: add always-signalled fence type
+ Allows a cleaner control flow when there is no fence available for use
+ with the trash list. An always signalled fence type will always return
+ TRUE for gst_vulkan_fence_is_signalled.
+
+2019-11-06 09:29:51 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkhandle.c:
+ * gst-libs/gst/vulkan/gstvkhandle.h:
+ * gst-libs/gst/vulkan/meson.build:
+ * gst-libs/gst/vulkan/vulkan.h:
+ * gst-libs/gst/vulkan/vulkan_fwd.h:
+ vulkan: add handle type for arbitrary vulkan handles
+ Serve two purposes:
+ 1. refcounting of vulkan handles with associated destruction. When
+ combined with the trash list, the user can ensure destruction at
+ the correct time according to the vulkan rules.
+ 2. avoids polluting our API with 32-bit vs 64-bit integer/pointers
+ differences as exposed through the vulkan API. on 32-bit, vulkan
+ non-dispatchable handles are 64-bit integers and on 64-bit, they
+ are pointers.
+
+2019-11-06 22:09:02 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkviewconvert.c:
+ vulkanviewconvert: fix typo of output image view name
+
+2019-10-16 17:47:33 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvktrash.c:
+ vulkan: fix non-dispatchable handles on 32-bit platforms
+ non-dispatchable handles are 64-bit integers on 32-bit platforms
+
+2019-10-16 17:42:33 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkcolorconvert.c:
+ * ext/vulkan/vkfullscreenrender.c:
+ * ext/vulkan/vkimageidentity.c:
+ * ext/vulkan/vkshader.c:
+ * ext/vulkan/vkviewconvert.c:
+ * gst-libs/gst/vulkan/gstvkswapper.c:
+ * gst-libs/gst/vulkan/gstvktrash.c:
+ vulkan: use VK_NULL_HANDLE in more places
+ Fixes compiler warnings on 32-bit platforms assigning a void * to a
+ 64-bit integer value.
+
+2019-10-16 17:27:16 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkinstance.c:
+ vulkan: use the provided VKAPI_ATTR for the debug callback
+ Ensures that we get the calling convention correct for the platform we
+ are using.
+
+2019-11-03 21:50:39 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkdebug.h:
+ * gst-libs/gst/vulkan/gstvkswapper.c:
+ vulkan: dump surface information
+
+2019-10-30 19:33:25 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkinstance.c:
+ vulkan: print criticals/warnings for vulkan errors/warnings
+ Simplifies finding the erronous cases in using the Vulkan API
+ incorrectly.
+
+2019-10-30 00:57:55 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkcolorconvert.c:
+ * ext/vulkan/vkimageidentity.c:
+ * ext/vulkan/vkupload.c:
+ * ext/vulkan/vkviewconvert.c:
+ * gst-libs/gst/vulkan/gstvkimagebufferpool.c:
+ * gst-libs/gst/vulkan/gstvkimagememory.c:
+ * gst-libs/gst/vulkan/gstvkimagememory.h:
+ * gst-libs/gst/vulkan/gstvkswapper.c:
+ vulkan/image: use the full video info for returning vulkan formats
+ We may need some colorspace information for returning sRGB vs no sRGB.
+
+2019-11-06 14:22:07 +0100 Edward Hervey <edward@centricular.com>
+
+ * gst/mpegtsdemux/tsdemux.c:
+ tsdemux: Handle continuity mismatch in more cases
+ Packets of a given PID are meant to have sequential continuity counters
+ (modulo 16). If there are not sequential, this is the sign of a broken
+ stream, which we then consider as a discontinuity.
+ But if that new packet is a frame start (PUSI is true), then we can resume
+ from that packet without any damage.
+
+2019-11-01 14:22:46 +0900 Yeongjin Jeong <yeongjin.jeong@navercorp.com>
+
+ * ext/vulkan/meson.build:
+ vulkan: Fix build error when gstvulkan is not installed
+ The following build error occurs:
+ vkdeviceprovider.h:30:10: fatal error: gst/vulkan/vulkan.h: No such file or directory
+ #include <gst/vulkan/vulkan.h>
+ ^~~~~~~~~~~~~~~~~~~~~
+
+2019-10-23 10:11:46 -0700 Ederson de Souza <ederson.desouza@intel.com>
+
+ * gst/debugutils/debugutilsbad.c:
+ * gst/debugutils/gstclockselect.c:
+ * gst/debugutils/gstclockselect.h:
+ * gst/debugutils/meson.build:
+ * tests/check/elements/clockselect.c:
+ * tests/check/meson.build:
+ debugutils: clockselect, a pipeline that enables clock selection
+ Sometimes, one wants to force a clock on some pipelines - for instance,
+ when testing TSN related pipelines, one usually uses GstPtpClock or
+ CLOCK_REALTIME (assuming system realtime clock is in sync with network
+ one). Until now, one needs to write an application for that - not
+ difficult, but quite boring if one just wants to test something. This
+ patch presents a new element to help that: clockselect.
+ clockselect is a pipeline with two properties to select a clock. One
+ property, "clock-id", enables one to choose between "monotonic",
+ "realtime", "ptp" or "default" clock - where default keeps pipeline
+ behaviour of choosing a clock based on its elements. The other property,
+ "ptp-domain" gives one the choice of which PTP domain should be used.
+ Some very simple tests also added for this new element.
+
+2019-08-27 07:59:27 +0200 Niels De Graef <nielsdegraef@gmail.com>
+
+ * ext/dtls/gstdtlsconnection.c:
+ * ext/dtls/gstdtlsdec.c:
+ * ext/dtls/gstdtlsenc.c:
+ * ext/dtls/gstdtlssrtpenc.c:
+ * ext/resindvd/rsninputselector.c:
+ * ext/sctp/gstsctpdec.c:
+ * ext/sctp/gstsctpenc.c:
+ * ext/sctp/sctpassociation.c:
+ * ext/srt/gstsrtsink.c:
+ * ext/srt/gstsrtsrc.c:
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/gstwebrtcice.c:
+ * ext/webrtc/sctptransport.c:
+ * ext/webrtc/webrtcdatachannel.c:
+ * ext/wpe/gstwpesrc.cpp:
+ * gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.c:
+ * gst-libs/gst/vulkan/gstvkinstance.c:
+ * gst-libs/gst/webrtc/icetransport.c:
+ * gst/camerabin2/gstcamerabin2.c:
+ * sys/d3d11/gstd3d11window.c:
+ * sys/dvb/dvbbasebin.c:
+ * sys/dvb/gstdvbsrc.c:
+ * sys/ipcpipeline/gstipcpipelinesink.c:
+ * sys/ipcpipeline/gstipcpipelinesrc.c:
+ * sys/shm/gstshmsink.c:
+ Don't pass default GLib marshallers for signals
+ By passing NULL to `g_signal_new` instead of a marshaller, GLib will
+ actually internally optimize the signal (if the marshaller is available
+ in GLib itself) by also setting the valist marshaller. This makes the
+ signal emission a bit more performant than the regular marshalling,
+ which still needs to box into `GValue` and call libffi in case of a
+ generic marshaller.
+ Note that for custom marshallers, one would use
+ `g_signal_set_va_marshaller()` with the valist marshaller instead.
+
+2019-10-28 13:42:15 +0900 Justin Kim <jeongseok.kim@sk.com>
+
+ * ext/srt/gstsrtobject.c:
+ srt: split incoming buffer up into srt chunk
+
+2019-11-02 16:29:02 +0100 Ignacio Casal Quinteiro <qignacio@amazon.com>
+
+ * sys/wasapi/gstwasapisrc.c:
+ wasapi: minor cleanup
+
+2019-08-27 15:14:31 +0200 Michael Olbrich <m.olbrich@pengutronix.de>
+
+ * gst/sdp/gstsdpsrc.c:
+ sdp: don't leak the ghost pad
+ The peer is already gone when pad_removed_cb() called, so the ghost cannot
+ be removed. Use g_object_set_data() instead to remember the ghost pad.
+ Copied from similar code in GstRTPBin.
+
+2019-10-22 14:10:30 -0400 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * sys/d3dvideosink/d3dhelpers.c:
+ * sys/d3dvideosink/d3dhelpers.h:
+ * sys/d3dvideosink/d3dvideosink.c:
+ * sys/d3dvideosink/gstd3d9overlay.c:
+ * sys/d3dvideosink/gstd3d9overlay.h:
+ * sys/d3dvideosink/meson.build:
+ d3dvideosink: support OverlayComposition for GPU overlay compositing
+
+2019-11-04 20:42:19 -0500 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * gst/mpegtsmux/gstbasetsmux.c:
+ basetsmux: allow null J2K profile
+ Since we are not requiring that profile equals GST_JPEG2000_PARSE_PROFILE_BC_SINGLE,
+ (as the standard requires) we can allow profile to be null. We relax this condition because
+ OpenJPEG can't create broadcast profiles.
+
+2019-11-03 05:56:12 -0500 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * gst/videoparsers/gstjpeg2000parse.c:
+ jpeg2000parse: fail caps negotiation if caps are NOT fixed
+
+2019-08-08 15:27:11 -0400 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * gst/videoparsers/gstjpeg2000parse.c:
+ jpeg2000parse: use pre_push_frame to reset parser
+
+2019-08-08 15:26:22 -0400 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * gst/videoparsers/gstjpeg2000parse.c:
+ jpeg2000parse: parse_event: call base class at end
+ derived class should do it's work first before calling base
+
+2019-08-05 21:53:54 -0400 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * gst/videoparsers/gstjpeg2000parse.c:
+ jpeg2000parse: do hard reset if gst_base_parse_finish_frame fails
+
+2019-08-05 17:15:57 -0400 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * gst/videoparsers/gstjpeg2000parse.c:
+ jpeg2000parse: initialize some variables to make valgrind happy
+
+2019-08-09 09:29:22 -0400 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * tests/check/elements/jpeg2000parse.c:
+ * tests/check/meson.build:
+ jpeg2000parse: add unit test
+
+2019-08-09 09:28:53 -0400 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * gst/videoparsers/gstjpeg2000parse.c:
+ jpeg2000parse: use GST_INT in caps for profile
+ Negotiation failed with GST_UINT
+
+2019-08-05 15:38:08 -0400 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * gst/videoparsers/gstjpeg2000parse.c:
+ * gst/videoparsers/gstjpeg2000parse.h:
+ jpeg2000parse: make explicit that codec_format is for src caps
+
+2019-08-05 15:24:49 -0400 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * gst/videoparsers/gstjpeg2000parse.c:
+ jpeg2000parse: refactor
+ 1. only recalculate src codec format if sink caps change
+ 2. use correct value for "jp2c" magic in J2C box ID
+ 3. only parse J2K magic once, and store result
+ 4. more sanity checks comparing caps to parsed codec
+
+2019-08-05 15:34:08 -0400 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * gst/videoparsers/gstjpeg2000parse.c:
+ jpeg2000parse: set parsed to TRUE in src caps
+
+2019-08-05 15:33:33 -0400 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * gst/videoparsers/gstjpeg2000parse.c:
+ jpeg2000parse: only cache caps parameters when caps have in fact changed
+
+2019-08-05 15:23:24 -0400 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * gst/videoparsers/gstjpeg2000parse.c:
+ jpeg2000parse: fix typos in media format
+
+2019-08-05 15:19:12 -0400 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * gst/videoparsers/gstjpeg2000parse.c:
+ * gst/videoparsers/gstjpeg2000parse.h:
+ jpeg2000parse: add reset method
+ Also add three new struct members, currently unused.
+
+2019-09-02 15:08:44 -0400 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * NEWS:
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/aom/gstav1enc.c:
+ * ext/assrender/gstassrender.c:
+ * ext/closedcaption/gstcea708decoder.c:
+ * ext/closedcaption/gstceaccoverlay.c:
+ * ext/closedcaption/raw_decoder.c:
+ * ext/closedcaption/sliced.h:
+ * ext/colormanagement/gstlcms.c:
+ * ext/curl/gstcurlhttpsrc.h:
+ * ext/dash/gstdashdemux.c:
+ * ext/dash/gstmpdparser.c:
+ * ext/directfb/dfbvideosink.c:
+ * ext/dtls/gstdtlsconnection.h:
+ * ext/hls/gsthlsdemux.c:
+ * ext/kate/gstkatedec.c:
+ * ext/kate/gstkateenc.c:
+ * ext/ladspa/gstladspa.c:
+ * ext/libmms/gstmms.c:
+ * ext/lv2/gstlv2filter.c:
+ * ext/lv2/gstlv2utils.c:
+ * ext/mpeg2enc/gstmpeg2enc.cc:
+ * ext/mpeg2enc/gstmpeg2encoptions.cc:
+ * ext/neon/gstneonhttpsrc.c:
+ * ext/opencv/MotionCells.cpp:
+ * ext/opencv/gstcvdilate.cpp:
+ * ext/opencv/gstcvdilateerode.cpp:
+ * ext/opencv/gstcverode.cpp:
+ * ext/opencv/gstcvsmooth.cpp:
+ * ext/opencv/gstdewarp.cpp:
+ * ext/opencv/gstdisparity.cpp:
+ * ext/opencv/gstedgedetect.cpp:
+ * ext/opencv/gstfaceblur.cpp:
+ * ext/opencv/gstfacedetect.cpp:
+ * ext/opencv/gstgrabcut.cpp:
+ * ext/opencv/gstretinex.cpp:
+ * ext/opencv/gstsegmentation.cpp:
+ * ext/opencv/gstskindetect.cpp:
+ * ext/opencv/gsttextoverlay.cpp:
+ * ext/resindvd/gstmpegdemux.c:
+ * ext/resindvd/resindvdsrc.c:
+ * ext/resindvd/rsninputselector.c:
+ * ext/rtmp/gstrtmpsrc.c:
+ * ext/soundtouch/gstpitch.cc:
+ * ext/spandsp/gstdtmfdetect.c:
+ * ext/spandsp/gsttonegeneratesrc.c:
+ * ext/srt/gstsrtobject.c:
+ * ext/srtp/gstsrtpdec.c:
+ * ext/srtp/gstsrtpenc.c:
+ * ext/ttml/subtitle.h:
+ * ext/ttml/ttmlparse.c:
+ * ext/vulkan/vkdownload.c:
+ * ext/vulkan/vkfullscreenrender.c:
+ * ext/vulkan/vkshader.c:
+ * ext/vulkan/vkupload.c:
+ * ext/vulkan/vkviewconvert.c:
+ * ext/wayland/gstwaylandsink.c:
+ * ext/wayland/wlbuffer.c:
+ * ext/webp/gstwebpdec.c:
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/transportreceivebin.c:
+ * ext/webrtc/webrtcsdp.c:
+ * ext/webrtcdsp/gstwebrtcdsp.cpp:
+ * ext/webrtcdsp/gstwebrtcechoprobe.cpp:
+ * ext/webrtcdsp/gstwebrtcechoprobe.h:
+ * ext/wildmidi/gstwildmididec.c:
+ * ext/wpe/gstwpesrc.cpp:
+ * ext/x265/gstx265enc.c:
+ * ext/zbar/gstzbar.c:
+ * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+ * gst-libs/gst/audio/gstnonstreamaudiodecoder.c:
+ * gst-libs/gst/codecparsers/gsth264parser.c:
+ * gst-libs/gst/codecparsers/gsth265parser.c:
+ * gst-libs/gst/codecparsers/gsth265parser.h:
+ * gst-libs/gst/codecparsers/gstmpeg4parser.c:
+ * gst-libs/gst/codecparsers/gstmpeg4parser.h:
+ * gst-libs/gst/codecparsers/gstvc1parser.h:
+ * gst-libs/gst/codecparsers/gstvp9parser.c:
+ * gst-libs/gst/codecparsers/gstvp9parser.h:
+ * gst-libs/gst/interfaces/photography.c:
+ * gst-libs/gst/mpegts/gst-dvb-descriptor.c:
+ * gst-libs/gst/mpegts/gst-dvb-descriptor.h:
+ * gst-libs/gst/mpegts/gstmpegtsdescriptor.c:
+ * gst-libs/gst/player/gstplayer-media-info.h:
+ * gst-libs/gst/player/gstplayer.c:
+ * gst-libs/gst/uridownloader/gstfragment.c:
+ * gst-libs/gst/uridownloader/gsturidownloader.c:
+ * gst-libs/gst/vulkan/gstvkinstance.c:
+ * gst-libs/gst/vulkan/gstvkswapper.c:
+ * gst-libs/gst/vulkan/gstvkwindow.c:
+ * gst-libs/gst/vulkan/win32/gstvkwindow_win32.c:
+ * gst-libs/gst/wayland/wayland.c:
+ * gst/asfmux/gstasfmux.c:
+ * gst/asfmux/gstasfobjects.c:
+ * gst/audiovisualizers/gstsynaescope.c:
+ * gst/autoconvert/gstautoconvert.c:
+ * gst/autoconvert/gstautovideoconvert.c:
+ * gst/autoconvert/plugin.c:
+ * gst/bayer/gstbayer2rgb.c:
+ * gst/camerabin2/camerabin2-src.txt:
+ * gst/camerabin2/camerabingeneral.c:
+ * gst/camerabin2/gstcamerabin2.c:
+ * gst/camerabin2/gstviewfinderbin.c:
+ * gst/camerabin2/gstwrappercamerabinsrc.c:
+ * gst/debugutils/fpsdisplaysink.c:
+ * gst/debugutils/gstdebugspy.c:
+ * gst/dvbsuboverlay/dvb-sub.c:
+ * gst/dvbsuboverlay/dvb-sub.h:
+ * gst/dvdspu/Notes.txt:
+ * gst/dvdspu/gstspu-vobsub-render.c:
+ * gst/festival/gstfestival.c:
+ * gst/frei0r/frei0r.h:
+ * gst/frei0r/gstfrei0r.c:
+ * gst/gaudieffects/gstburn.c:
+ * gst/gaudieffects/gstchromium.c:
+ * gst/gaudieffects/gstdilate.c:
+ * gst/gaudieffects/gstdodge.c:
+ * gst/gaudieffects/gstexclusion.c:
+ * gst/gaudieffects/gstgaussblur.c:
+ * gst/gaudieffects/gstsolarize.c:
+ * gst/geometrictransform/gstbulge.c:
+ * gst/geometrictransform/gststretch.c:
+ * gst/geometrictransform/gsttunnel.c:
+ * gst/id3tag/id3tag.c:
+ * gst/ivfparse/gstivfparse.c:
+ * gst/jpegformat/gstjpegparse.c:
+ * gst/librfb/rfbdecoder.c:
+ * gst/mpegdemux/gstmpegdemux.c:
+ * gst/mpegpsmux/psmux.c:
+ * gst/mpegpsmux/psmuxstream.c:
+ * gst/mpegpsmux/psmuxstream.h:
+ * gst/mpegtsdemux/TODO:
+ * gst/mpegtsdemux/mpegtsbase.c:
+ * gst/mpegtsdemux/mpegtsbase.h:
+ * gst/mpegtsdemux/mpegtspacketizer.c:
+ * gst/mpegtsdemux/tsdemux.c:
+ * gst/mpegtsmux/gstmpegtsmux.c:
+ * gst/mpegtsmux/tsmux/tsmux.c:
+ * gst/mpegtsmux/tsmux/tsmuxstream.c:
+ * gst/mxf/mxfdms1.c:
+ * gst/netsim/gstnetsim.c:
+ * gst/pcapparse/gstirtspparse.c:
+ * gst/pnm/gstpnmdec.c:
+ * gst/removesilence/gstremovesilence.c:
+ * gst/rist/gstristrtxsend.c:
+ * gst/rist/gstristsink.c:
+ * gst/rist/gstroundrobin.c:
+ * gst/rtp/gstrtpsrc.c:
+ * gst/videoparsers/gsth264parse.c:
+ * gst/videoparsers/gsth265parse.c:
+ * gst/videoparsers/gstmpeg4videoparse.c:
+ * gst/videoparsers/gstmpegvideoparse.c:
+ * gst/videoparsers/h263parse.c:
+ * gst/vmnc/vmncdec.c:
+ * hooks/pre-commit.hook:
+ * sys/androidmedia/gstahcsrc.c:
+ * sys/androidmedia/gstamcvideodec.c:
+ * sys/androidmedia/gstamcvideoenc.c:
+ * sys/androidmedia/gstjniutils.c:
+ * sys/applemedia/avfvideosrc.m:
+ * sys/applemedia/vtenc.c:
+ * sys/d3d11/gstd3d11device.c:
+ * sys/d3d11/meson.build:
+ * sys/d3dvideosink/d3dhelpers.c:
+ * sys/d3dvideosink/d3dvideosink.c:
+ * sys/decklink/gstdecklink.cpp:
+ * sys/decklink/gstdecklinkvideosink.cpp:
+ * sys/decklink/gstdecklinkvideosrc.cpp:
+ * sys/directsound/gstdirectsoundsrc.c:
+ * sys/dshowdecwrapper/gstdshowaudiodec.cpp:
+ * sys/dshowdecwrapper/gstdshowvideodec.cpp:
+ * sys/dshowdecwrapper/gstdshowvideodec.h:
+ * sys/dshowsrcwrapper/gstdshow.cpp:
+ * sys/dshowsrcwrapper/gstdshowaudiosrc.cpp:
+ * sys/dshowsrcwrapper/gstdshowvideosrc.cpp:
+ * sys/dshowvideosink/dshowvideosink.cpp:
+ * sys/dvb/camtransport.c:
+ * sys/dvb/dvbbasebin.c:
+ * sys/dvb/gstdvbsrc.c:
+ * sys/ipcpipeline/gstipcpipelinesink.c:
+ * sys/ipcpipeline/gstipcslavepipeline.c:
+ * sys/kms/gstkmssink.c:
+ * sys/msdk/gstmsdkallocator_libva.c:
+ * sys/msdk/gstmsdkbufferpool.c:
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/gstmsdkh264enc.c:
+ * sys/msdk/gstmsdksystemmemory.c:
+ * sys/msdk/gstmsdkvc1dec.c:
+ * sys/msdk/gstmsdkvideomemory.c:
+ * sys/msdk/gstmsdkvpp.c:
+ * sys/msdk/gstmsdkvpputil.c:
+ * sys/msdk/msdk.c:
+ * sys/nvcodec/gstcudautils.c:
+ * sys/nvcodec/gstnvbaseenc.c:
+ * sys/uvch264/gstuvch264_src.c:
+ * sys/uvch264/gstuvch264deviceprovider.c:
+ * sys/wasapi/gstwasapisink.c:
+ * sys/winks/gstksvideodevice.c:
+ * sys/winks/ksvideohelpers.c:
+ * sys/winscreencap/gstdx9screencapsrc.c:
+ * sys/winscreencap/gstgdiscreencapsrc.c:
+ * tests/check/elements/adaptive_demux_engine.h:
+ * tests/check/elements/avtpcvfpay.c:
+ * tests/check/elements/dash_mpd.c:
+ * tests/check/elements/hlsdemux_m3u8.c:
+ * tests/check/elements/jifmux.c:
+ * tests/check/elements/nvdec.c:
+ * tests/check/libs/insertbin.c:
+ * tests/check/libs/player.c:
+ * tests/check/pipelines/ipcpipeline.c:
+ * tests/examples/ipcpipeline/ipc-play.c:
+ * tests/examples/playout.c:
+ * tools/gst-transcoder.c:
+ * tools/utils.c:
+ documentation: fixed a heap o' typos
+
+2019-11-05 13:52:55 +0000 Vivia Nikolaidou <vivia@ahiru.eu>
+
+ * gst/meson.build:
+ * gst/rtmp2/TODO:
+ * gst/rtmp2/gstrtmp2.c:
+ * gst/rtmp2/gstrtmp2locationhandler.c:
+ * gst/rtmp2/gstrtmp2locationhandler.h:
+ * gst/rtmp2/gstrtmp2sink.c:
+ * gst/rtmp2/gstrtmp2sink.h:
+ * gst/rtmp2/gstrtmp2src.c:
+ * gst/rtmp2/gstrtmp2src.h:
+ * gst/rtmp2/meson.build:
+ * gst/rtmp2/rtmp/amf.c:
+ * gst/rtmp2/rtmp/amf.h:
+ * gst/rtmp2/rtmp/rtmpchunkstream.c:
+ * gst/rtmp2/rtmp/rtmpchunkstream.h:
+ * gst/rtmp2/rtmp/rtmpclient.c:
+ * gst/rtmp2/rtmp/rtmpclient.h:
+ * gst/rtmp2/rtmp/rtmpconnection.c:
+ * gst/rtmp2/rtmp/rtmpconnection.h:
+ * gst/rtmp2/rtmp/rtmphandshake.c:
+ * gst/rtmp2/rtmp/rtmphandshake.h:
+ * gst/rtmp2/rtmp/rtmpmessage.c:
+ * gst/rtmp2/rtmp/rtmpmessage.h:
+ * gst/rtmp2/rtmp/rtmputils.c:
+ * gst/rtmp2/rtmp/rtmputils.h:
+ * meson_options.txt:
+ Add files from gst-rtmp
+ For master, without autotools.
+
+2019-10-06 22:46:52 +0900 Wonchul Lee <chul0812@gmail.com>
+
+ * ext/aom/gstav1enc.c:
+ * ext/aom/gstav1enc.h:
+ av1enc: Add tile-{columns,rows} properties
+ It provides to set tile-columns and tile-rows configurations. The av1
+ codec allows an input image frame be partitioned into separate vertical
+ or horizontal tile which can be encoded or decoded independently. It
+ helps to encode/decode parallel.
+
+2019-10-06 17:20:12 +0900 Wonchul Lee <chul0812@gmail.com>
+
+ * ext/aom/gstav1enc.c:
+ av1enc: Enable row-mt by default
+ Enabling row-mt property can help to increase cpu utilization and reduce
+ encoding speed, so set it to on by default.
+
+2019-07-23 18:24:11 +0900 Yeongjin Jeong <yeongjin.jeong@navercorp.com>
+
+ * ext/curl/gstcurlhttpsrc.c:
+ curlhttpsrc: Hook up libcurl logging message to gstreamer
+ CURLOPT_DEBUGFUNCTION option replaces the standard debug function
+ used when CURLOPT_VERBOSE is in effect. This callback receives various debug information.
+
+2019-09-20 14:52:15 +0200 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst/rist/gstristsrc.c:
+ ristsrc: Apply BINDTODEVICE to socket created by udpsrc too
+
+2019-11-03 09:54:40 +0100 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/closedcaption/gstccconverter.c:
+ * tests/check/elements/ccconverter.c:
+ ccconverter: Instead of erroring out on too big input drop additional data
+
+2019-10-30 14:56:41 +0700 Roman Shpuntov <roman.shpuntov@gmail.com>
+
+ * sys/applemedia/vtdec.c:
+ vtdec: fix leak of CMFormatDescription
+ There was consideration for replacing the CMFormatDescription used
+ on format changes in `set_format()` however on shutdown, we were
+ leaking the CMFormatDescription at the end of processing.
+ 'https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1106'
+
+2019-10-12 04:04:59 +0900 Yeongjin Jeong <yeongjin.jeong@navercorp.com>
+
+ * gst/videoparsers/gsth265parse.c:
+ h265parse: Fix wrong NALU minimum length check
+ Fixes a problem where an EOS/EOB NALU placed at the end of
+ an AU is detected as an other AU and create a buffer that
+ does not have valid pts.
+
+2019-10-12 03:49:33 +0900 Yeongjin Jeong <yeongjin.jeong@navercorp.com>
+
+ * gst/videoparsers/gsth264parse.c:
+ h264parse: Fix wrong NALU minimum length check
+ Fixes a problem where an EOS/EOB NALU placed at the end of
+ an AU is detected as an other AU and create a buffer that
+ does not have valid pts.
+
+2019-11-02 16:51:09 +0100 Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+ * ext/openexr/meson.build:
+ openexr: Fix compilation with OpenEXR 2.4
+ It uses modern C++; adding -std=c++98 breaks the build.
+
+2019-10-31 15:14:21 +0700 Roman Shpuntov <roman.shpuntov@gmail.com>
+
+ * sys/applemedia/vtdec.c:
+ vtdec: memory leaks bugfix
+ release 'videoDecoderSpecification' variable in 'gst_vtdec_create_session' function.
+ release 'extensions' variable in 'create_format_description_from_codec_data' function.
+
+2019-10-11 14:48:11 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/gstmsdkmjpegenc.c:
+ msdkmjpegenc: convert UYVY to YUY2 instead of NV12
+ Before this fix, the chroma subsampling of the output is 4:2:0. It is
+ 4:2:2 with this fix, which is better for UYVY input
+
+2019-10-11 13:05:33 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/gstmsdkmjpegenc.c:
+ msdkmjpegenc: don't need conversion for BGRA and YUY2
+ jpeg encoder in MSDK can accept BGRA and YUY2 input.
+
+2019-10-11 12:50:02 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/gstmsdkenc.h:
+ msdkenc: add need_conversion method
+ In future, a sub class of GstMsdkEncClass may decide a native format by
+ using this method, e.g. JPEG encoder may accept YUY2 input, however the
+ current implemation needs a conversion from YUY2 to NV12 before encoding.
+ In addtion, a sub class may choose a format for encoding if the input
+ format is not supported by MSDK, e.g. the current implemation does
+ UYVY->NV12 if the input format is UYVY. We may do UYVY->YUY2 for JPEG
+ encoder in future
+
+2019-10-09 13:41:09 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkallocator_libva.c:
+ * sys/msdk/msdk_libva.c:
+ msdk: support for MFX_FOURCC_BGR4 frame allocation
+ MFX_FOURCC_BGR4 is mapped to VA_FOURCC_ABGR and JPEG encoder needs a
+ MFX_FOURCC_BGR4 frame for internal usage when the input format is
+ MFX_FOURCC_RGB4
+ This is a preparation for supporting native formats of JPEG encoder
+
+2019-09-26 17:45:31 +0200 Edward Hervey <edward@centricular.com>
+
+ mpegtsmux: Add SCTE-35 support
+ This adds two properties:
+ * scte-35-pid: If not 0, enables the SCTE-35 support for the current
+ program. This will write the proper PMT and send SCTE-35 NULL
+ commands (i.e. heartbeats) at a regular interval
+ * scte-35-null-interval: This specifies the interval at which the
+ NULL commands should be sent
+ Sending SCTE-35 commands is done by creating the appropriate SCTE-35
+ GstMpegtsSection and then sending them on the muxer. See the
+ associated example
+
+2019-09-26 17:28:27 +0200 Edward Hervey <edward@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-libs/gst/mpegts/gstmpegtssection.h:
+ * gst-libs/gst/mpegts/meson.build:
+ * gst/mpegtsdemux/mpegtsbase.c:
+ * tests/check/libs/mpegts.c:
+ * tests/examples/mpegts/ts-parser.c:
+ mpegts: Add support for SCTE-35 sections
+ Not all commands are supported, but the most common ones are.
+ Both parsing and packetizing is supported
+
+2019-09-26 17:43:57 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/mpegtsmux/tsmux/tsmux.c:
+ tsmux: Disable bluray-isms from PMT
+ We were unconditionally adding top-level descriptors in the PMT which
+ were only related to bluray support for PS3 (from 10 years ago).
+ These should be re-added conditionally
+
+2019-09-26 17:13:30 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/mpegtsdemux/mpegtspacketizer.c:
+ mpegtspacketizer: Fix off-by-one error
+ This went un-noticed for 6 years :( The issue is that for short
+ sections (without subtables and CRC), we would always fail when
+ checking whether we had enough data or not and then default to the
+ long section checking.
+ Use the long section checking would then cause interesting side-effects
+ for short sections (such as believing they were already seen and therefore
+ would be dropped/ignored).
+
+2019-10-28 13:28:28 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ * sys/msdk/gstmsdkdec.h:
+ * sys/msdk/gstmsdkvc1dec.c:
+ msdkdec: use decoder base class packetized flag
+ Instead of using a proxy of `is_packetized` flag this patch
+ replaces it with the accessor to that flag in decoder base class,
+ avoiding probable mismatches.
+
+2019-09-27 10:50:18 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ * sys/msdk/gstmsdkvc1dec.c:
+ msdkdec: add parse callback for non-packetized input
+ commit 55c0d720 added the capability to handle non-packetized bitstream,
+ and there is a loop to handle multiple frames in a non-packetized buffer
+ in gst_msdkdec_handle_frame. However it is possible that a
+ non-packetized buffer still contains valid data but there is no long any
+ pending unfinished frame. Currently gst_video_decoder_decode_frame is
+ invoked to send a new frame with new input data, the situaltion is
+ repeated till an EOS is received. An application has to exit when
+ receiving an EOS, however there is still valid data in a
+ non-packetezied input buffer, hence some frames are dropped.
+ This fix adds a parse callback for non-packeteized input, a new frame
+ will be sent to the subclass as soon as the input buffer has valid data
+ This fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/665
+
+2019-10-28 11:25:15 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/closedcaption/gstccextractor.c:
+ ccextractor: Remove unused set/get_property() functions
+
+2019-10-28 11:22:06 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/closedcaption/gstccextractor.c:
+ ccextractor: Always forward all sticky events to the caption pad
+ And only update the caps and stream-start event accordingly. This
+ ensures that we'll always forward sticky events that arrive after the
+ caption pad was created, and especially updates to existing sticky
+ events like the segment event.
+ Also create a proper stream id based on the upstream stream id for the
+ stream-start event, and make sure that all the sticky events we know are
+ already on the caption pad at the time it is added to the element.
+
+2019-10-28 02:27:04 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkimageidentity.c:
+ vulkanimage: move fence creation earlier
+ Fixes a critical:
+ GStreamer-CRITICAL **: 02:26:34.698: gst_mini_object_ref: assertion 'mini_object != NULL' failed
+
+2019-10-28 02:18:18 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkcolorconvert.c:
+ * ext/vulkan/vkimageidentity.c:
+ * ext/vulkan/vkviewconvert.c:
+ vulkan: change to clamp to edge rather than clamp to border
+ clamp-to-border will return the border color which is typically black,
+ white or transparent. When linear filtering the edge pixels will
+ typeically be combined with the border color which is not typically what
+ we want. Especially when color converting, this removes a green box
+ around the edge when converting YUV->RGB.
+
+2019-10-24 15:26:33 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkh265enc.c:
+ * sys/msdk/gstmsdkh265enc.h:
+ msdkh265enc: Add support for tiled encoding
+ Add num-tile-rows and num-tile-cols properties to set the number of rows
+ and columns
+
+2019-10-24 16:42:23 -0700 Julien Isorce <jisorce@oblong.com>
+
+ * ext/srtp/gstsrtpenc.c:
+ srtpenc: also insert ssrc(s) from rtp buffers
+ This fixes a regression from commit "srtp: Support libsrtp2"
+ e9aa11720071f8a1d22b336395e66dd8cbca0c00 where an internal
+ set of ssrc(s) was added because the libsrtp v2 keeps its
+ internal streams as private. But the change prevented that
+ ssrc(s) that not in the caps from being added to the stats.
+ This patch ensures that all ssrc(s) are inserted to this set
+ instead of only inserting those from the caps.
+
+2019-10-18 12:26:26 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkh265enc.c:
+ * sys/msdk/gstmsdkvp9enc.c:
+ msdk: support P010_10LE in DMABuf mode for VP9/HEVC encoding
+
+2019-10-24 19:10:30 +0800 Cheng-Chang Wu <ccwu660601@mapacode.tw>
+
+ * sys/androidmedia/jni/gstamcsurfacetexture-jni.c:
+ androidmedia: Make sure that the first member of GstAmcSurfaceTextureJNI is correct
+ It's a subclass of GstAmcSurfaceTexture so should have that as first
+ struct member or otherwise it won't work.
+ Fixes #1105
+
+2019-10-24 19:14:58 +0800 Cheng-Chang Wu <ccwu660601@mapacode.tw>
+
+ * sys/androidmedia/jni/gstamc-codec-jni.c:
+ androidmedia: Call JNI method with the actual Java object instead of our wrapper struct
+ Fixes #1105
+
+2019-10-24 15:40:25 +0200 Jan Alexander Steffens (heftig) <jsteffens@make.tv>
+
+ * ext/opencv/meson.build:
+ opencv: Don't error when unable to detect OpenCV data dir
+ Instead, mark OpenCV as not found. We error out later if OpenCV was
+ explicitly enabled.
+
+2019-10-11 23:54:55 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkvpp.c:
+ msdkvpp: add support Y410 and Y210 formats
+ And clean up some macros
+
+2019-10-16 11:59:32 -0700 U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+ * sys/msdk/gstmsdkvpp.c:
+ * sys/msdk/gstmsdkvpp.h:
+ * sys/msdk/gstmsdkvpputil.c:
+ msdkvpp: allow cropping via properties
+ Add crop-left, crop-right, crop-top and crop-bottom
+ properties to msdkvpp and apply to input surface at
+ vpp transform run-time.
+ Implements #1097
+
+2019-10-22 18:33:18 +0100 Philippe Normand <philn@igalia.com>
+
+ * ext/wpe/WPEThreadedView.cpp:
+ wpe: Get rid of un-necessary frameComplete dispatchs
+ frameComplete() should be called only if there's a new commited frame.
+
+2019-10-19 12:48:55 +0100 Philippe Normand <philn@igalia.com>
+
+ * ext/wpe/WPEThreadedView.cpp:
+ wpe: Run frameComplete outside of images mutex scope
+ If the mutex is locked while running frameComplete there is a potential deadlock
+ bound to happen when we get a new exported images from the backend.
+ Fixes #1101
+
+2019-10-23 16:47:43 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/timecode/gsttimecodestamper.c:
+ * gst/timecode/gsttimecodestamper.h:
+ timecodestamper: Add properties to time out cached upstream/LTC timecodes after a while
+ By default we never time them out and simply continue couting up with
+ each frame forever.
+
+2019-10-23 15:03:09 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/timecode/gsttimecodestamper.c:
+ * gst/timecode/gsttimecodestamper.h:
+ timecodestamper: Add new auto-resync boolean property
+ This allows selecting whether we continue updating our last known
+ upstream timecode whenever a new one arrives or instead only keep the
+ last known one and from there on count up.
+
+2019-10-23 14:31:16 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/timecode/gsttimecodestamper.c:
+ * gst/timecode/gsttimecodestamper.h:
+ timecodestamper: Add last-known-or-zero mode
+ This uses the last known upstream timecode (counted up per frame), or
+ otherwise zero if none was known.
+ The normal last-known timestamp uses the internal timecode as fallback
+ if no upstream timecode was ever known.
+
+2019-10-23 14:29:06 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/timecode/gsttimecodestamper.c:
+ timecodestamper: Don't initialize upstream timecode with zero if none was seen
+ Instead keep it unset and use the internal timecode wherever needed as
+ fallback.
+
+2019-10-23 14:28:24 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/timecode/gsttimecodestamper.c:
+ timecodestamper: Update set-tc property documentation with latest version of reality
+
+2019-10-22 09:30:34 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/pnm/gstpnmdec.c:
+ pnmdec: Return early on ::finish() if we have no actual data to parse
+ Otherwise we'd be working with a NULL buffer and cause various critical
+ warnings along the way.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1104
+
+2019-09-24 08:55:07 +0300 Jordan Petridis <jpetridis@gnome.org>
+
+ * ext/lv2/gstlv2utils.c:
+ lv2: fix build without the debug system
+ ```
+ FAILED: subprojects/gst-plugins-bad/ext/lv2/b8a2ebe@@gstlv2@sha/gstlv2utils.c.o
+ ../subprojects/gst-plugins-bad/ext/lv2/gstlv2utils.c: In function 'lv2_log_printf':
+ ../subprojects/gst-plugins-bad/ext/lv2/gstlv2utils.c:50:3: error: attempt to use poisoned "gst_debug_log_valist"
+ 50 | gst_debug_log_valist (lv2_debug, GST_LEVEL_INFO, "", "", 0, NULL, fmt, ap);
+ | ^
+ ../subprojects/gst-plugins-bad/ext/lv2/gstlv2utils.c:50:25: error: 'lv2_debug' undeclared (first use in this function); did you mean 'g_debug'?
+ 50 | gst_debug_log_valist (lv2_debug, GST_LEVEL_INFO, "", "", 0, NULL, fmt, ap);
+ | ^~~~~~~~~
+ | g_debug
+ ```
+
+2019-08-29 21:20:37 +0700 Ratchanan Srirattanamet <peathot@hotmail.com>
+
+ * gst-libs/gst/basecamerabinsrc/gstcamerabinpreview.c:
+ camerabin2: preview: remove redundant property setting on appsink
+ Commit 8a56a7de6d5f2cf70dbe6efbd7c8ed74600c8565 (camerabin2: preview:
+ Appsink doesn't need to sync) add a line that set the "sync" property on
+ the appsink. However, the author seems to forget that there's another
+ property setting on appsink a few lines below.
+ It's very likely that the added line is required because the original
+ line doesn't take effect (maybe because it's too late). But for whatever
+ reason, the original line is now redundant. So, I remove it in this
+ commit.
+
+2019-10-19 13:52:54 +0100 Alistair Buxton <a.j.buxton@gmail.com>
+
+ * gst-libs/gst/transcoder/meson.build:
+ meson: use gir_init_section in GstTranscoder
+ GstTranscoder adds extra_args for gir which call gst_init() during
+ introspection. These extra arguments are the same as the standard
+ ones defined in the top level meson.build as "git_init_section",
+ However, the top level definition also ensures an empty plugin
+ repository is used.
+ Because GstTranscoder does not use the standard args, plugins get
+ loaded when it is introspected. Since some of the plugins fail
+ without specific hardware, this causes #1100.
+ This patch makes it use gir_init_section.
+ Fixes #1100.
+
+2019-10-18 00:39:12 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ meson: build gir even when cross-compiling if introspection was enabled explicitly
+ This can be made to work in certain circumstances when
+ cross-compiling, so default to not building g-i stuff
+ when cross-compiling, but allow it if introspection was
+ enabled explicitly via -Dintrospection=enabled.
+ See gstreamer/gstreamer#454 and gstreamer/gstreamer#381.
+
+2019-09-24 16:57:54 -0700 Philippe Normand <philn@igalia.com>
+
+ * ext/wpe/WPEThreadedView.cpp:
+ * ext/wpe/WPEThreadedView.h:
+ * ext/wpe/gstwpesrc.cpp:
+ wpesrc: Implement load-bytes action signal
+
+2019-08-07 17:07:21 +0100 Philippe Normand <philn@igalia.com>
+
+ * ext/wpe/WPEThreadedView.cpp:
+ * ext/wpe/WPEThreadedView.h:
+ * ext/wpe/gstwpesrc.cpp:
+ * ext/wpe/gstwpesrc.h:
+ wpe: Rewrite wpesrc as a glbasesrc subclass
+ And since it no longer allocates memories itself, this fixes issues with
+ fakevideosink. A lot of code previously copied from gltestsrc is no longer
+ needed thanks to the glbasesrc super-class.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1046
+
+2019-10-09 14:55:55 +0200 Javier Celaya <javier.celaya@flexvdi.com>
+
+ * sys/androidmedia/jni/gstamc-codeclist-jni.c:
+ Fix get_supported_types function name
+
+2019-10-09 14:55:29 +0200 Javier Celaya <javier.celaya@flexvdi.com>
+
+ * sys/androidmedia/jni/gstamc-codeclist-jni.c:
+ Fix releasing local refs
+
+2019-10-09 14:55:05 +0200 Javier Celaya <javier.celaya@flexvdi.com>
+
+ * sys/androidmedia/jni/gstamc-codeclist-jni.c:
+ Fix names of MediaCodecInfo inner classes
+
+2019-10-09 14:54:24 +0200 Javier Celaya <javier.celaya@flexvdi.com>
+
+ * sys/androidmedia/jni/gstamc-codeclist-jni.c:
+ Fix getting MediaCodecList static methods
+
+2019-10-11 09:51:24 -0700 Julien Isorce <jisorce@oblong.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ msdkenc: close encoder upon bitrate change
+ Upon bitrate change, make sure to close the encoder otherwise
+ the encoder is not re-initialized and the target bitrate is
+ never reached, and the encoder was flushed at each frame
+ from this moment.
+ Regression introduced in f2b35abcab which replaced the call
+ that was closing the encoder by an early return to avoid
+ re-initialization.
+
+2019-09-17 20:32:18 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/wasapi/gstwasapiutil.c:
+ wasapi: Fix build warnings
+ gstwasapiutil.c(173) : warning C4715: 'gst_wasapi_device_role_to_erole': not all control paths return a value
+ gstwasapiutil.c(188) : warning C4715: 'gst_wasapi_erole_to_device_role': not all control paths return a value
+
+2019-09-17 20:29:03 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/wasapi/gstwasapidevice.c:
+ * sys/wasapi/gstwasapiutil.c:
+ * sys/wasapi/gstwasapiutil.h:
+ wasapi: Don't cast GstDeviceProvider to GstElement
+ The GstDeviceProvider isn't subclass of GstElement.
+ (gst-device-monitor-1.0:49356): GLib-GObject-WARNING **: 20:21:18.651:
+ invalid cast from 'GstWasapiDeviceProvider' to 'GstElement'
+
+2019-10-13 14:22:50 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * .gitignore:
+ * .gitmodules:
+ * Makefile.am:
+ * README:
+ * autogen.sh:
+ * common:
+ * configure.ac:
+ * docs/.gitignore:
+ * ext/Makefile.am:
+ * ext/aom/Makefile.am:
+ * ext/assrender/Makefile.am:
+ * ext/avtp/Makefile.am:
+ * ext/bs2b/Makefile.am:
+ * ext/bz2/Makefile.am:
+ * ext/chromaprint/Makefile.am:
+ * ext/closedcaption/Makefile.am:
+ * ext/colormanagement/Makefile.am:
+ * ext/curl/Makefile.am:
+ * ext/dash/Makefile.am:
+ * ext/dc1394/Makefile.am:
+ * ext/directfb/.gitignore:
+ * ext/directfb/Makefile.am:
+ * ext/dtls/Makefile.am:
+ * ext/dts/Makefile.am:
+ * ext/faac/Makefile.am:
+ * ext/faad/Makefile.am:
+ * ext/fdkaac/Makefile.am:
+ * ext/flite/Makefile.am:
+ * ext/fluidsynth/Makefile.am:
+ * ext/gme/Makefile.am:
+ * ext/gsm/Makefile.am:
+ * ext/hls/Makefile.am:
+ * ext/iqa/Makefile.am:
+ * ext/kate/Makefile.am:
+ * ext/ladspa/Makefile.am:
+ * ext/libde265/Makefile.am:
+ * ext/libmms/Makefile.am:
+ * ext/lv2/Makefile.am:
+ * ext/modplug/Makefile.am:
+ * ext/mpeg2enc/Makefile.am:
+ * ext/mplex/.gitignore:
+ * ext/mplex/Makefile.am:
+ * ext/musepack/Makefile.am:
+ * ext/neon/Makefile.am:
+ * ext/ofa/Makefile.am:
+ * ext/openal/Makefile.am:
+ * ext/opencv/Makefile.am:
+ * ext/openexr/Makefile.am:
+ * ext/openh264/Makefile.am:
+ * ext/openjpeg/Makefile.am:
+ * ext/openmpt/Makefile.am:
+ * ext/openni2/Makefile.am:
+ * ext/opus/Makefile.am:
+ * ext/resindvd/Makefile.am:
+ * ext/rsvg/Makefile.am:
+ * ext/rtmp/Makefile.am:
+ * ext/sbc/Makefile.am:
+ * ext/sctp/Makefile.am:
+ * ext/smoothstreaming/Makefile.am:
+ * ext/sndfile/Makefile.am:
+ * ext/soundtouch/Makefile.am:
+ * ext/spandsp/Makefile.am:
+ * ext/srt/Makefile.am:
+ * ext/srtp/.gitignore:
+ * ext/srtp/Makefile.am:
+ * ext/teletextdec/Makefile.am:
+ * ext/ttml/Makefile.am:
+ * ext/voaacenc/Makefile.am:
+ * ext/voamrwbenc/Makefile.am:
+ * ext/wayland/.gitignore:
+ * ext/wayland/Makefile.am:
+ * ext/webp/Makefile.am:
+ * ext/webrtc/Makefile.am:
+ * ext/webrtcdsp/Makefile.am:
+ * ext/wildmidi/Makefile.am:
+ * ext/wpe/Makefile.am:
+ * ext/x265/Makefile.am:
+ * ext/zbar/Makefile.am:
+ * gst-libs/Makefile.am:
+ * gst-libs/gst/Makefile.am:
+ * gst-libs/gst/adaptivedemux/Makefile.am:
+ * gst-libs/gst/audio/Makefile.am:
+ * gst-libs/gst/basecamerabinsrc/Makefile.am:
+ * gst-libs/gst/codecparsers/Makefile.am:
+ * gst-libs/gst/insertbin/Makefile.am:
+ * gst-libs/gst/interfaces/.gitignore:
+ * gst-libs/gst/interfaces/Makefile.am:
+ * gst-libs/gst/isoff/Makefile.am:
+ * gst-libs/gst/mpegts/.gitignore:
+ * gst-libs/gst/mpegts/Makefile.am:
+ * gst-libs/gst/opencv/Makefile.am:
+ * gst-libs/gst/player/Makefile.am:
+ * gst-libs/gst/sctp/Makefile.am:
+ * gst-libs/gst/uridownloader/Makefile.am:
+ * gst-libs/gst/vulkan/.gitignore:
+ * gst-libs/gst/wayland/Makefile.am:
+ * gst-libs/gst/webrtc/Makefile.am:
+ * gst/Makefile.am:
+ * gst/accurip/Makefile.am:
+ * gst/adpcmdec/Makefile.am:
+ * gst/adpcmenc/Makefile.am:
+ * gst/aiff/Makefile.am:
+ * gst/asfmux/Makefile.am:
+ * gst/audiobuffersplit/Makefile.am:
+ * gst/audiofxbad/Makefile.am:
+ * gst/audiolatency/Makefile.am:
+ * gst/audiomixmatrix/Makefile.am:
+ * gst/audiovisualizers/Makefile.am:
+ * gst/autoconvert/Makefile.am:
+ * gst/bayer/Makefile.am:
+ * gst/camerabin2/Makefile.am:
+ * gst/coloreffects/Makefile.am:
+ * gst/debugutils/Makefile.am:
+ * gst/dvbsuboverlay/Makefile.am:
+ * gst/dvdspu/.gitignore:
+ * gst/dvdspu/Makefile.am:
+ * gst/faceoverlay/Makefile.am:
+ * gst/festival/Makefile.am:
+ * gst/fieldanalysis/Makefile.am:
+ * gst/freeverb/Makefile.am:
+ * gst/frei0r/Makefile.am:
+ * gst/gaudieffects/Makefile.am:
+ * gst/gdp/Makefile.am:
+ * gst/geometrictransform/Makefile.am:
+ * gst/id3tag/Makefile.am:
+ * gst/inter/.gitignore:
+ * gst/inter/Makefile.am:
+ * gst/interlace/Makefile.am:
+ * gst/ivfparse/Makefile.am:
+ * gst/ivtc/Makefile.am:
+ * gst/jp2kdecimator/Makefile.am:
+ * gst/jpegformat/Makefile.am:
+ * gst/librfb/Makefile.am:
+ * gst/midi/Makefile.am:
+ * gst/mpegdemux/Makefile.am:
+ * gst/mpegpsmux/Makefile.am:
+ * gst/mpegtsdemux/Makefile.am:
+ * gst/mpegtsmux/Makefile.am:
+ * gst/mpegtsmux/tsmux/Makefile.am:
+ * gst/mxf/Makefile.am:
+ * gst/netsim/Makefile.am:
+ * gst/onvif/Makefile.am:
+ * gst/pcapparse/Makefile.am:
+ * gst/pnm/Makefile.am:
+ * gst/proxy/Makefile.am:
+ * gst/rawparse/Makefile.am:
+ * gst/removesilence/Makefile.am:
+ * gst/rist/Makefile.am:
+ * gst/rtp/Makefile.am:
+ * gst/sdp/Makefile.am:
+ * gst/segmentclip/Makefile.am:
+ * gst/siren/Makefile.am:
+ * gst/smooth/.gitignore:
+ * gst/smooth/Makefile.am:
+ * gst/speed/.gitignore:
+ * gst/speed/Makefile.am:
+ * gst/subenc/Makefile.am:
+ * gst/timecode/Makefile.am:
+ * gst/videofilters/Makefile.am:
+ * gst/videoframe_audiolevel/Makefile.am:
+ * gst/videoparsers/Makefile.am:
+ * gst/videosignal/Makefile.am:
+ * gst/vmnc/Makefile.am:
+ * gst/y4m/Makefile.am:
+ * gst/yadif/Makefile.am:
+ * m4/.gitignore:
+ * m4/Makefile.am:
+ * m4/README:
+ * m4/a52.m4:
+ * m4/aalib.m4:
+ * m4/as-ffmpeg.m4:
+ * m4/as-liblame.m4:
+ * m4/as-slurp-ffmpeg.m4:
+ * m4/check-libheader.m4:
+ * m4/freetype2.m4:
+ * m4/gconf-2.m4:
+ * m4/gst-fionread.m4:
+ * m4/gst-sdl.m4:
+ * m4/gst-sid.m4:
+ * m4/libgcrypt.m4:
+ * m4/libmikmod.m4:
+ * m4/lrint.m4:
+ * m4/lrintf.m4:
+ * pkgconfig/Makefile.am:
+ * po/.gitignore:
+ * po/Makevars:
+ * po/POTFILES:
+ * sys/Makefile.am:
+ * sys/androidmedia/Makefile.am:
+ * sys/applemedia/Makefile.am:
+ * sys/bluez/Makefile.am:
+ * sys/d3dvideosink/Makefile.am:
+ * sys/decklink/Makefile.am:
+ * sys/directsound/Makefile.am:
+ * sys/dshowdecwrapper/Makefile.am:
+ * sys/dshowsrcwrapper/Makefile.am:
+ * sys/dshowvideosink/Makefile.am:
+ * sys/dvb/Makefile.am:
+ * sys/fbdev/Makefile.am:
+ * sys/ipcpipeline/Makefile.am:
+ * sys/kms/Makefile.am:
+ * sys/msdk/Makefile.am:
+ * sys/nvcodec/Makefile.am:
+ * sys/opensles/Makefile.am:
+ * sys/shm/Makefile.am:
+ * sys/tinyalsa/Makefile.am:
+ * sys/uvch264/Makefile.am:
+ * sys/wasapi/Makefile.am:
+ * sys/winks/Makefile.am:
+ * sys/winscreencap/Makefile.am:
+ * tests/Makefile.am:
+ * tests/check/.gitignore:
+ * tests/check/Makefile.am:
+ * tests/check/elements/.gitignore:
+ * tests/check/generic/.gitignore:
+ * tests/check/libs/.gitignore:
+ * tests/check/pipelines/.gitignore:
+ * tests/examples/Makefile.am:
+ * tests/examples/audiomixmatrix/Makefile.am:
+ * tests/examples/avsamplesink/.gitignore:
+ * tests/examples/avsamplesink/Makefile.am:
+ * tests/examples/camerabin2/.gitignore:
+ * tests/examples/camerabin2/Makefile.am:
+ * tests/examples/codecparsers/Makefile.am:
+ * tests/examples/directfb/.gitignore:
+ * tests/examples/directfb/Makefile.am:
+ * tests/examples/ipcpipeline/Makefile.am:
+ * tests/examples/mpegts/Makefile.am:
+ * tests/examples/mxf/.gitignore:
+ * tests/examples/mxf/Makefile.am:
+ * tests/examples/opencv/Makefile.am:
+ * tests/examples/uvch264/Makefile.am:
+ * tests/examples/waylandsink/Makefile.am:
+ * tests/examples/webrtc/Makefile.am:
+ * tests/files/Makefile.am:
+ * tests/icles/.gitignore:
+ * tests/icles/Makefile.am:
+ * tools/Makefile.am:
+ Remove autotools build system
+
+2019-10-14 02:22:18 -0500 Matthew Waters <matthew@centricular.com>
+
+ * sys/decklink/gstdecklinkvideosink.cpp:
+ * sys/decklink/gstdecklinkvideosink.h:
+ decklink: fix timestamp tracking when pausing
+ play->pause->sleep()->play would result in late frames being scheduled
+
+2019-09-04 16:48:29 +0200 Philipp Zabel <p.zabel@pengutronix.de>
+
+ * gst-libs/gst/codecparsers/gsth264parser.c:
+ * gst-libs/gst/codecparsers/gsth264parser.h:
+ codecparsers: h264: record pic_order_cnt elements size
+ Some hardware decoders, for example Hantro G1, have to be told the
+ size of the pic_order_cnt related syntax elements pic_order_cnt_lsb,
+ delta_pic_order_cnt_bottom, delta_pic_order_cnt[0], and
+ delta_pic_order_cnt[1] in bits.
+
+2019-09-04 15:57:30 +0200 Philipp Zabel <p.zabel@pengutronix.de>
+
+ * gst-libs/gst/codecparsers/gsth264parser.c:
+ * gst-libs/gst/codecparsers/gsth264parser.h:
+ codecparsers: h264: record dec_ref_pic_marking() size
+ Some hardware decoders, for example Hantro G1, have to be told the size
+ of the dec_ref_pic_marking() syntax element in bits. Record the size so
+ it can be passed on to the hardware.
+
+2019-09-20 20:14:57 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * gst-libs/gst/codecparsers/gsth265parser.c:
+ * gst-libs/gst/codecparsers/gsth265parser.h:
+ h265parser: Calculate short term RPS size in slice header
+ The calculated size of short_term_ref_pic_set is not a part of
+ HEVC syntax but the value is used by some stateless decoders
+ (e.g., vaapi, dxva, vdpau and nvdec) for the purpose of skipping
+ parsing the syntax by the accelerator.
+
+2019-10-07 10:36:37 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * gst-libs/gst/codecparsers/gsth265parser.h:
+ h265parser: Add H265 slice segment header documentation
+ Adding brief description for each value.
+
+2019-09-11 17:59:37 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * gst-libs/gst/codecparsers/gsth264parser.c:
+ * gst-libs/gst/codecparsers/gsth264parser.h:
+ h264parser: Expose parsed GstH264PPS::pic_scaling_matrix_present_flag
+
+2019-08-27 20:34:48 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * gst-libs/gst/codecparsers/gsth264parser.c:
+ * gst-libs/gst/codecparsers/gsth264parser.h:
+ h264parser: Expose all parsed flags of slice header
+ Add num_ref_idx_active_override_flag and sp_for_switch_flag to
+ member of GstH264SliceHdr. No reason to hiding them and
+ some decoder implementations (e.g., DXVA) rely on externally parsed header
+ data which can be provided by h264parser.
+
+2019-10-09 14:00:01 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkallocator_libva.c:
+ * sys/msdk/gstmsdksystemmemory.c:
+ * sys/msdk/gstmsdkvideomemory.c:
+ msdk: return the right pointer
+ The first channel in memory for MFX_FOURCC_RGB4 (VA_FOURCC_ARGB or
+ GST_VIDEO_FORMAT_BGRA) is B, not A. In MSDK, channle B is used to access
+ data for RGB4 surface. In addition, the returned pointers for
+ MFX_FOURCC_AYUV and MFX_FOURCC_Y410 in gst_msdk_video_memory_map_full
+ were wrong too before this fix.
+
+2019-10-07 08:39:06 -0700 Josep Torra <jtorra@oblong.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ msdkenc: handle bitrate changes in playing state
+ When the bitrate is changed in playing state the encoder issues a reconfig
+ that drains and recreates the underlaying hw encoder instance.
+ With this set of changes we ensure that all this work is only made when
+ the bitrate did actually change. It also tries to reuse the vpp buffer
+ pool and fixes the pool leak spotted when testing this feature.
+
+2019-09-17 01:52:54 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * ext/mdns/gstmicrodns.c:
+ * ext/mdns/gstmicrodnsdevice.c:
+ * ext/mdns/gstmicrodnsdevice.h:
+ * ext/mdns/meson.build:
+ * ext/meson.build:
+ * meson_options.txt:
+ ext: add libmicrodns-based mdns device provider
+ The provider for now only detects and handles rtsp devices, but
+ more protocols should be easy to add.
+
+2019-10-08 09:40:06 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkh265enc.c:
+ msdkh265enc: add the missing profile string
+
+2019-10-07 14:21:58 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * ext/hls/gsthlssink2.c:
+ hlssink2: Respect requested max-files property for decision on removing old fragments from disk
+ hlssink2 defined "max-files" property to decide the maximum number
+ of fragments which should be stored in disk. But we've not used
+ the property. Instead, the size has been maintained by "playlist-length".
+ Since "max-files" and "playlist-length" have different meaning,
+ the decision should be done by "max-files" property.
+ For example, an user might want expose only 3 fragments via playlist
+ but might want to keep more files than 3 in disk.
+
+2019-10-07 00:05:08 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/assrender/gstassrender.c:
+ ass: avoid infinite unref loop with bad data
+ A classic case of not updating the next item to iterate after deleting
+ it from the singly linked list.
+ Only ever hit with a text buffer with GST_CLOCK_TIME_NONE for either the
+ timestamp or duration.
+
+2019-09-17 19:56:23 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11window.c:
+ d3d11window: Protect registration/creation of WIN32 window
+ Querying existing window class info and creation of window object
+ should be protected since they are not thread safe.
+
+2019-10-04 21:15:15 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11videosink.c:
+ * sys/d3d11/gstd3d11window.c:
+ * sys/d3d11/gstd3d11window.h:
+ d3d11videosink: Don't try to post error message by d3d11window self
+ The d3d11window isn't GstElement. To post error message, proxy it
+ to d3d11videosink instead.
+
+2019-10-04 01:32:34 +0200 Alexandru Băluț <alexandru.balut@gmail.com>
+
+ * pkgconfig/meson.build:
+ pkgconfig: Fix gstreamer-bad-transcoder-1.0.pc generation
+
+2019-10-01 11:00:02 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/gstmsdkh265enc.c:
+ msdkenc: guard MFX_FOURCC_Y410 with MFX version 1027
+
+2019-10-01 15:36:29 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * ext/hls/gsthlssink.c:
+ * ext/hls/gsthlssink.h:
+ * ext/hls/gsthlssink2.c:
+ * ext/hls/gsthlssink2.h:
+ * ext/hls/gstm3u8playlist.h:
+ hlssink,hlssink2: Ensure writing ENDLIST tag at the end
+ hlssink* elements could be finalized without EOS event, and in that case
+ the final playlist might not include the EXT-X-ENDLIST tag.
+ Since missing ENDLIST tag means it's live stream, but we did't intend it,
+ hlssink* elements should put the tag at the end.
+
+2019-09-26 09:52:14 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ msdkdec: set lockable flag
+ When postpone_free_surface is TRUE, the output buffer is not writable,
+ however the base decoder needs a writable buffer as output buffer,
+ otherwise it will make a copy of the output buffer. As the underlying
+ memory is always lockable, so we may set the LOCKABLE flag for this buffer
+ to avoid buffer copy in the base class.
+ The refcount of the output buffer is 1 when postpone_free_surface is
+ FALSE, so needn't set the LOCKABLE flag for this case.
+
+2019-09-30 10:13:56 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/gstmsdkh265enc.c:
+ msdkh265enc: add support for Y410 in sink pad
+ Sample pipeline:
+ gst-launch-1.0 videotestsrc ! video/x-raw,format=Y410 !
+ msdkh265enc low-power=1 ! filesink location=output.h265
+
+2019-09-30 09:48:26 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/gstmsdkh265enc.c:
+ msdkh265enc: add support for VUYA in sink pad
+ sample pipelie:
+ gst-launch-1.0 videotestsrc ! video/x-raw,format=VUYA !
+ msdkh265enc low-power=1 ! filesink location=output.h265
+
+2019-09-30 08:57:42 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/gstmsdkh265enc.c:
+ msdkenc: clean up code by using switch
+ It is convenient for us to add support for new formats in future, there
+ is no change in functionality.
+
+2019-09-30 09:09:23 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/gstmsdkvc1dec.c:
+ msdk: remove some dead code
+
+2019-08-06 21:08:12 +0100 olivier.crete@collabora.com <Olivier Crête>
+
+ * ext/wayland/wlvideoformat.c:
+ wayland: Add more DRM formats
+ Add DRM format equivalents that we were missing compared
+ to our caps.
+
+2019-08-06 19:09:54 +0100 olivier.crete@collabora.com <Olivier Crête>
+
+ * ext/wayland/wlvideoformat.c:
+ * ext/wayland/wlwindow.c:
+ wayland: Drop big-endian version of the DRM formats
+ They were a big in some big-endian implementations
+
+2019-08-23 13:41:54 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11videosink.c:
+ * sys/d3d11/gstd3d11window.c:
+ d3d11videosink: Use pixel aspect ratio to setup window draw area
+ ... instead of calculated display ratio from given PAR and DAR.
+ d3d11window calculates output display ratio
+ to decide padding area per window resize event. In the formula,
+ actual PAR is required to handle both 1:1 PAR and non-1:1 PAR.
+
+2019-09-24 20:29:21 +0200 Fabian Greffrath <fabian@greffrath.com>
+
+ * ext/fluidsynth/gstfluiddec.c:
+ fluidsynth: add sf3 to soundfont search path
+ In Debian, soundfonts in SF3 format (i.e. the same as SF2 format but
+ with Ogg/Vorbis-compressed samples) are installed into
+ /usr/share/sounds/sf3. Soundfonts in SF3 format are supported since
+ FluidSynth 1.1.7 (released in Feb 2018).
+
+2019-09-25 21:36:58 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * gst-libs/gst/vulkan/gstvkdisplay.c:
+ * gst-libs/gst/vulkan/meson.build:
+ vulkan: Fix build on Windows
+ * Fix meson build script for Windows. Since the Vulkan dependency
+ object was declared by us in case of Windows, the dependency object
+ shouldn't be used for finding header
+ * Fix build error by including Windows specific header
+ gstvkdisplay.c(563): error C2065: 'VK_KHR_WIN32_SURFACE_EXTENSION_NAME': undeclared identifier
+
+2019-09-24 17:24:38 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/meson.build:
+ * ext/vulkan/vkcolorconvert.c:
+ * ext/vulkan/vkcolorconvert.h:
+ * ext/vulkan/vkelementutils.c:
+ * ext/vulkan/vkelementutils.h:
+ * ext/vulkan/vkimageidentity.c:
+ * ext/vulkan/vkviewconvert.c:
+ * gst-libs/gst/vulkan/gstvkimagememory.c:
+ * gst-libs/gst/vulkan/gstvkimagememory.h:
+ * gst-libs/gst/vulkan/gstvkimageview.c:
+ * gst-libs/gst/vulkan/gstvkimageview.h:
+ * gst-libs/gst/vulkan/meson.build:
+ * gst-libs/gst/vulkan/vulkan.h:
+ * gst-libs/gst/vulkan/vulkan_fwd.h:
+ vulkan: remove VkImageView from the memory
+ There can be multiple views per image for different subresource ranges
+ or planes in multi-planer images.
+
+2019-09-24 13:53:22 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkcolorconvert.c:
+ * ext/vulkan/vkfullscreenrender.c:
+ * ext/vulkan/vkviewconvert.c:
+ * gst-libs/gst/vulkan/gstvkbuffermemory.c:
+ * gst-libs/gst/vulkan/gstvkbuffermemory.h:
+ * gst-libs/gst/vulkan/gstvkbufferpool.c:
+ * tests/check/libs/vkmemory.c:
+ vkbuffer: remove buffer view from the memory
+ It's only really useful for texture buffers which we currently do not
+ use.
+
+2019-09-24 13:52:17 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkconfig.h.meson:
+ build/vulkan: fix copy-paste error in gstvkconfig.h
+
+2019-09-18 23:49:08 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/cocoa/gstvkdisplay_cocoa.h:
+ * gst-libs/gst/vulkan/cocoa/gstvkwindow_cocoa.h:
+ * gst-libs/gst/vulkan/gstvkapi.h:
+ * gst-libs/gst/vulkan/gstvkcommandpool-private.h:
+ * gst-libs/gst/vulkan/ios/gstvkdisplay_ios.h:
+ * gst-libs/gst/vulkan/ios/gstvkwindow_ios.h:
+ * gst-libs/gst/vulkan/meson.build:
+ * gst-libs/gst/vulkan/wayland/gstvkdisplay_wayland.h:
+ * gst-libs/gst/vulkan/wayland/gstvkwindow_wayland.h:
+ * gst-libs/gst/vulkan/win32/gstvkwindow_win32.h:
+ * gst-libs/gst/vulkan/xcb/gstvkdisplay_xcb.h:
+ * gst-libs/gst/vulkan/xcb/gstvkwindow_xcb.h:
+ vulkan: remove the winsys-specific headers from gst/vulkan/vulkan.h
+ Allows not having wayland, xcb, Cocoa, UIKit, windows.h included in the
+ public GstVulkan API.
+
+2019-09-24 11:25:00 +0300 Vivia Nikolaidou <vivia@ahiru.eu>
+
+ * gst/debugutils/gsterrorignore.c:
+ errorignore: Added convert-error signal
+ The convert-error signal is emitted whenever we get a GstFlowReturn
+ other than GST_FLOW_OK. The handler can then decide what to convert that
+ into - for instance, return the same GstFlowReturn to not convert it.
+ The default handler will act according to the ignore-error,
+ ignore-notlinked, ignore-notnegotiated and convert-to properties. If a
+ handler is connected, these properties are ignored.
+
+2019-09-24 10:29:44 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst/rist/gstristsink.c:
+ * gst/rtp/gstrtpsink.c:
+ build: fix werror build with newer gcc
+ In file included from ../../../../dist/linux_x86_64/include/gstreamer-1.0/gst/gstbin.h:27,
+ from ../../../../dist/linux_x86_64/include/gstreamer-1.0/gst/gst.h:35,
+ from ../gst/rtp/gstrtpsink.h:23,
+ from ../gst/rtp/gstrtpsink.c:49:
+ In function ‘gst_rtp_sink_start’,
+ inlined from ‘gst_rtp_sink_change_state’ at ../gst/rtp/gstrtpsink.c:509:11:
+ ../../../../dist/linux_x86_64/include/gstreamer-1.0/gst/gstelement.h:422:18: error: ‘%s’ directive argument is null [-Werror=format-overflow=]
+ 422 | gchar *__txt = _gst_element_error_printf text; \
+ ../gst/rtp/gstrtpsink.c:476:3: note: in expansion of macro ‘GST_ELEMENT_ERROR’
+ 476 | GST_ELEMENT_ERROR (self, RESOURCE, NOT_FOUND,
+ | ^~~~~~~~~~~~~~~~~
+ ../gst/rtp/gstrtpsink.c: In function ‘gst_rtp_sink_change_state’:
+ ../gst/rtp/gstrtpsink.c:477:37: note: format string is defined here
+ 477 | ("Could not resolve hostname '%s'", remote_addr),
+ | ^~
+ In file included from ../../../../dist/linux_x86_64/include/gstreamer-1.0/gst/gstbin.h:27,
+ from ../../../../dist/linux_x86_64/include/gstreamer-1.0/gst/gst.h:35,
+ from ../../../../dist/linux_x86_64/include/gstreamer-1.0/gst/rtp/gstrtpdefs.h:27,
+ from ../../../../dist/linux_x86_64/include/gstreamer-1.0/gst/rtp/rtp.h:25,
+ from ../gst/rist/gstristsink.c:72:
+ In function ‘gst_rist_sink_setup_rtcp_socket’,
+ inlined from ‘gst_rist_sink_start’ at ../gst/rist/gstristsink.c:658:10,
+ inlined from ‘gst_rist_sink_change_state’ at ../gst/rist/gstristsink.c:801:13:
+ ../../../../dist/linux_x86_64/include/gstreamer-1.0/gst/gstelement.h:422:18: error: ‘%s’ directive argument is null [-Werror=format-overflow=]
+ 422 | gchar *__txt = _gst_element_error_printf text; \
+ ../gst/rist/gstristsink.c:595:3: note: in expansion of macro ‘GST_ELEMENT_ERROR’
+ 595 | GST_ELEMENT_ERROR (sink, RESOURCE, NOT_FOUND,
+ | ^~~~~~~~~~~~~~~~~
+ ../gst/rist/gstristsink.c: In function ‘gst_rist_sink_change_state’:
+ ../gst/rist/gstristsink.c:596:37: note: format string is defined here
+ 596 | ("Could not resolve hostname '%s'", remote_addr),
+ | ^~
+
+2019-09-09 13:40:53 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkallocator_libva.c:
+ * sys/msdk/gstmsdkcontext.h:
+ * sys/msdk/gstmsdkvideomemory.c:
+ * sys/msdk/gstmsdkvideomemory.h:
+ msdk: fix for mfx frame alloc response
+ Both MSDK and this plugin use mfxFrameAllocResponse for video and DMABuf
+ memory, it is possible that some GST buffers are still in use when calling
+ gst_msdk_frame_free, so add a reference count in the wrapper of
+ mfxFrameAllocResponse (GstMsdkAllocResponse) to make sure the underlying
+ mfx resources are still available if the corresponding buffer pool is in
+ use.
+ In addtion, currently all allocators for input or output share the same
+ mfxFrameAllocResponse pointer in an element, so it is possible that
+ the content of mfxFrameAllocResponse is updated for a new caps then all
+ GST buffers allocated from an old allocator will use this new content of
+ mfxFrameAllocResponse, which will result in unexpected behavior. In this
+ fix, we save the the content of mfxFrameAllocResponse in the corresponding
+ tructure to avoid such issue
+ Sample pipeline:
+ gst-launch-1.0 filesrc location=vp9_multi_resolutions.ivf ! ivfparse ! msdkvp9dec !
+ msdkvpp ! video/x-raw\(memory:DMABuf\),format=NV12 ! glimagesink
+
+2019-09-11 10:49:10 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkallocator_libva.c:
+ * sys/msdk/gstmsdkcontext.c:
+ * sys/msdk/gstmsdkcontext.h:
+ msdk: don't cache mfxFrameAllocResponse pointer
+ Otherwise it is possible that different wrappers share the same
+ mfxFrameAllocResponse pointer, so instead of caching the pointer, we may
+ cache the content of mfxFrameAllocResponse
+
+2019-07-02 15:21:24 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ * sys/msdk/gstmsdkdec.h:
+ * sys/msdk/gstmsdkvc1dec.c:
+ msdkdec: postpone surface free for VC1
+ For a skipped frame in VC1, MSDK returns the mfx surface of the reference
+ frame, so we have to make sure the corresponding surface for the
+ reference frame is not freed. In this fix, we postpone surface free because
+ we don't know whether a surface is referenced
+ Before this fix, the error is like as below:
+ New clock: GstSystemClock
+ 0:00:00.181793130 23098 0x55f8a9d622d0 ERROR msdkdec
+ gstmsdkdec.c:622:gst_msdkdec_finish_task:<msdkvc1dec0> Couldn't find the
+ cached MSDK surface
+ Sample pipeline:
+ gst-launch-1.0 filesrc location=input_has_skipped_frame.wmv ! asfdemux !
+ vc1parse ! msdkvc1dec ! glimagesink
+
+2019-09-17 14:42:51 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ msdkdec: release the surface if this surface is not in use
+ If the surface is not in use, we may release it even if GST_FLOW_OK is going
+ to be returned, which may avoid the issue of failing to get surface
+ available
+ This fixes the regression caused by commit c05acf4
+
+2019-08-01 13:48:54 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/msdk.c:
+ msdk: adjust the stride align
+ GstAllocationParams::align is set to 31 in msdkdec/msdken/msdkvpp, hence
+ the stride align should be greater than or equal to 31, otherwise it
+ will result in issue
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/861
+ (msdk: "GStreamer-CRITICAL: gst_buffer_resize_range failed" SPAM),
+ In addition, the stride should match the pitch alignment in the media driver,
+ otherwise it will result in some issues when a buffer is shared between
+ different elements, e.g. the NV12 issue mentioned in commit 3f2314a, which
+ can be reproduced by `gst-launch-1.0 vidoetestsrc ! msdkvpp !
+ video/x-raw\(memory:DMABuf\),format=NV12 ! glimagesink`
+ Fixed https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/861
+
+2019-09-20 15:35:09 +0000 Marc Leeman <marc.leeman@gmail.com>
+
+ * gst/rtp/gstrtpsink.c:
+ * gst/rtp/gstrtpsrc.c:
+ * gst/rtp/gstrtpsrc.h:
+ * tests/check/elements/rtpsink.c:
+ * tests/check/elements/rtpsrc.c:
+ rtpmanagerbad: allow creation of elements at initialisation
+
+2019-09-17 22:24:04 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkcolorconvert.c:
+ * ext/vulkan/vkdownload.c:
+ * ext/vulkan/vkimageidentity.c:
+ * ext/vulkan/vkupload.c:
+ * ext/vulkan/vkviewconvert.c:
+ * gst-libs/gst/vulkan/gstvkcommandbuffer.c:
+ * gst-libs/gst/vulkan/gstvkcommandbuffer.h:
+ * gst-libs/gst/vulkan/gstvkcommandpool-private.h:
+ * gst-libs/gst/vulkan/gstvkcommandpool.c:
+ * gst-libs/gst/vulkan/gstvkcommandpool.h:
+ * gst-libs/gst/vulkan/gstvkqueue.c:
+ * gst-libs/gst/vulkan/gstvkswapper.c:
+ * gst-libs/gst/vulkan/gstvktrash.c:
+ * gst-libs/gst/vulkan/gstvktrash.h:
+ * gst-libs/gst/vulkan/meson.build:
+ * gst-libs/gst/vulkan/vulkan.h:
+ * gst-libs/gst/vulkan/vulkan_fwd.h:
+ * tests/check/libs/vkcommandpool.c:
+ * tests/check/meson.build:
+ vulkan: implement command buffer reuse
+ Using a similar design for reference counting as
+ GstBuffer/GstBufferPool.
+
+2019-09-18 16:27:35 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/rist/gstristsrc.c:
+ ristsrc: Fix comment about odd/even ports
+ It is the RTP port that is even, and the RTCP port being +1 (hence odd).
+
+2019-09-18 18:43:41 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11device.c:
+ d3d11: Use g_cond_broadcast() to wake up waiting threads
+ gst_d3d11_device_thread_add() can be called concurrently from different
+ threads so the cond signal should reach to all waiting threads.
+
+2019-09-16 15:29:26 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/gstvulkan.c:
+ * ext/vulkan/meson.build:
+ * ext/vulkan/vkdeviceprovider.c:
+ * ext/vulkan/vkdeviceprovider.h:
+ * gst-libs/gst/vulkan/gstvkphysicaldevice.c:
+ * tests/check/elements/vkdeviceprovider.c:
+ * tests/check/meson.build:
+ vulkan: add device provider implementation
+
+2019-09-16 13:00:34 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vksink.c:
+ vulkansink: attempt a context query for a device
+
+2019-09-16 12:59:08 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkdownload.c:
+ * ext/vulkan/vkfullscreenrender.c:
+ * ext/vulkan/vkupload.c:
+ * gst-libs/gst/vulkan/gstvkdebug.c:
+ * gst-libs/gst/vulkan/gstvkdebug.h:
+ * gst-libs/gst/vulkan/gstvkdevice.c:
+ * gst-libs/gst/vulkan/gstvkdevice.h:
+ * gst-libs/gst/vulkan/gstvkinstance.c:
+ * gst-libs/gst/vulkan/gstvkmemory.c:
+ * gst-libs/gst/vulkan/gstvkphysicaldevice.c:
+ * gst-libs/gst/vulkan/gstvkphysicaldevice.h:
+ * gst-libs/gst/vulkan/gstvkswapper.c:
+ * gst-libs/gst/vulkan/meson.build:
+ * gst-libs/gst/vulkan/vulkan.h:
+ * gst-libs/gst/vulkan/vulkan_fwd.h:
+ * tests/check/libs/vkdevice.c:
+ * tests/check/libs/vkmemory.c:
+ vulkan: split physical device from logical device
+
+2019-09-16 11:24:13 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkdebug-private.h:
+ * gst-libs/gst/vulkan/gstvkdebug.c:
+ * gst-libs/gst/vulkan/gstvkdebug.h:
+ * gst-libs/gst/vulkan/gstvkdevice.c:
+ vulkan: expose various flags to string methods
+
+2019-09-16 11:21:55 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkdownload.c:
+ * ext/vulkan/vkfullscreenrender.c:
+ * ext/vulkan/vksink.c:
+ * ext/vulkan/vkupload.c:
+ * gst-libs/gst/vulkan/gstvkdevice.c:
+ * gst-libs/gst/vulkan/gstvkdevice.h:
+ * gst-libs/gst/vulkan/gstvkdisplay.c:
+ * gst-libs/gst/vulkan/gstvkdisplay.h:
+ * gst-libs/gst/vulkan/gstvkinstance.c:
+ * gst-libs/gst/vulkan/gstvkinstance.h:
+ * gst-libs/gst/vulkan/gstvkqueue.c:
+ * gst-libs/gst/vulkan/gstvkqueue.h:
+ * gst-libs/gst/vulkan/gstvkutils.c:
+ * gst-libs/gst/vulkan/gstvkutils.h:
+ vulkan: only pass the device/instance/display in to *_handle_*() functions
+ We don't need to change the pointer value in these functions.
+
+2019-09-16 10:52:53 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ msdkenc: remove unneeded label
+
+2019-09-09 15:28:32 +0200 VaL Doroshchuk <valentyn.doroshchuk@qt.io>
+
+ * gst/camerabin2/gstviewfinderbin.c:
+ GstViewfinderBin: Fix typo in videoscale's name element
+ If user's video sink has been changed, it is unable to fetch
+ videoscale element by name and link to the video sink.
+
+2019-08-26 16:48:13 +1000 Matthew Waters <matthew@centricular.com>
+
+ * sys/applemedia/videotexturecache.h:
+ applemedia/videocache: remove unimplemented/used upload function
+
+2019-09-11 23:09:35 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/ios/gstvkwindow_ios.m:
+ vulkan/window/ios: fix race on window startup
+ 1. The iOS create_surface implementation needs to call out to the main
+ thread to create the window (UIKit requirement)
+ 2. get_surface() can be called and will attempt to create the VkSurface
+ from an invalid view/layer.
+ Also pass the layer for MoltenVK so we don't get pesky 'UIView function
+ not called on main thread' warnings.
+
+2019-09-12 00:10:37 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkdisplay.c:
+ vulkan: create the macos/ios-specific displays
+
+2019-09-12 15:29:05 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/meson.build:
+ vulkan: install public gstvkdebug.h header
+
+2019-09-11 15:06:58 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ msdkdec: set pointer to NULL to avoid freeing an used surface
+ The surface should be cached in the surface list when GST_FLOW_OK is
+ going to be returned
+ This fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1051
+
+2019-08-21 12:45:37 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/gstmsdkvpp.c:
+ msdk: free mfx frames to avoid memory leaks in encoder and vpp
+
+2019-09-10 14:44:19 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ msdkdec: unref the caps to avoid memory leaks
+
+2019-08-29 09:31:22 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkvpp.c:
+ msdkvpp: free msdk surfaces to avoid memory leak
+
+2019-08-21 12:27:57 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkvpp.c:
+ msdkvpp: unref buffer pools
+ Unref the pools first in caps re-negotiation to avoid memory leak
+
+2019-08-29 15:28:36 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdksystemmemory.c:
+ * sys/msdk/gstmsdkvideomemory.c:
+ msdk: fix memory leaks in msdk allocators
+
+2019-09-05 09:05:10 +0800 Fuwei Tang <fuweix.tang@intel.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ msdkenc: work-around to avoid zero fps in MediaSDK structure
+
+2019-09-09 13:42:56 +0800 Fuwei Tang <fuweix.tang@intel.com>
+
+ * sys/msdk/gstmsdkh265enc.c:
+ msdkenc: add an extra surface for hevc encoding
+ For some hevc 10bit 4K encoding cases, the encoding process may be
+ slow, and MediaSDK surface can't be released in time before one other
+ available surface is needed. So add an extra surface for hevc encoding
+ to avoid this issue.
+
+2019-08-12 19:42:12 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcstats.c:
+ webrtc/stats: redo considering internal sources
+ Internal sources seem to be rtp streams we are sending whereas
+ non-internal sources are the rtp streams we are receiving. Redo the
+ statistics with that in mind.
+
+2019-09-12 09:33:44 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkdebug.c:
+ vulkan: fix build with older API headers
+ The protected memory flags were only added later as was the
+ multi-instance flag.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1081
+
+2019-09-06 12:52:37 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * tests/examples/meson.build:
+ * tests/examples/nvcodec/meson.build:
+ * tests/examples/nvcodec/nvcodec-kb.c:
+ * tests/examples/nvcodec/nvcodec.c:
+ * tests/examples/nvcodec/nvcodec.h:
+ examples: nvcodec: Add example for runtime configuration change with nvcodec
+ Add new example for testing dynamic change of configuration suce as
+ resolution and properties.
+
+2019-08-30 21:35:44 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvbaseenc.c:
+ nvenc: Early terminate handle_frame if the last flow was not GST_FLOW_OK
+ If the last flow was not GST_FLOW_OK, the encoding thread is not running
+ and there is nothing to pop from GAsyncQueue (this causes deadlock).
+ To prevent deadlock, just return the handle_frame without further encoding
+ process if the last flow was not GST_FLOW_OK. Note that the last flow
+ will be cleared per FLUSH_STOP and STREAM_START event.
+
+2019-08-20 22:07:30 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvbaseenc.c:
+ * sys/nvcodec/gstnvenc.c:
+ * sys/nvcodec/gstnvh264enc.c:
+ * sys/nvcodec/gstnvh265enc.c:
+ nvenc: Add support VUYA format
+ The addition is very simple. Map NV_ENC_BUFFER_FORMAT_AYUV format
+ to GST_VIDEO_FORMAT_VUYA and add a condition for the VUYA format.
+
+2019-08-28 23:46:44 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvdec.c:
+ * sys/nvcodec/gstnvdec.h:
+ nvdec: Add support for mpeg4 video decoding with codec_data
+ Decoder should handle codec_data of mpeg4 video which includes essential
+ config data.
+
+2019-09-11 14:56:00 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvbaseenc.c:
+ nvenc: Reduce the number of pre-allocated device memory
+ The hard-coded upper bound 32 (or 48 depending on resolution) might waste
+ GPU memory and high resolution encoding causes OUT-OF-MEMORY allocation error
+ quite easily. This commit calculates the number of required pre-allocated
+ device memory based on encoding options and it can reduce the amount of device memory
+ used by nvenc.
+
+2019-09-11 19:24:50 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkdebug-private.h:
+ * gst-libs/gst/vulkan/gstvkdebug.c:
+ * gst-libs/gst/vulkan/gstvkdebug.h:
+ * gst-libs/gst/vulkan/gstvkdevice.c:
+ * gst-libs/gst/vulkan/gstvkmemory.c:
+ * gst-libs/gst/vulkan/meson.build:
+ * gst-libs/gst/vulkan/vulkan.h:
+ vulkan: dump most of the device information
+ Dump anything that can be queried using the physical device like features,
+ limits, queue properties, memory properties.
+
+2019-09-11 15:16:45 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvdec.c:
+ nvdec: Update plugin description and fix typo
+ Use consistent description with nvenc, and fix typo s/devide/device/g
+
+2019-08-18 17:31:53 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvbaseenc.c:
+ * sys/nvcodec/gstnvbaseenc.h:
+ nvenc: Adjust DTS when bframe is enabled
+ NVDEC driver always uses input timestamp without adjustment
+ even if bframe encoding was enabled.
+ So DTS can be larger than PTS when bframe was enabled.
+ To ensure PTS >= DTS, we should adjust the timestamp manually
+ based on the PTS difference between the first
+ encoded frame and the second one. That's also the maximum PTS/DTS
+ difference.
+
+2019-09-03 19:46:09 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvbaseenc.c:
+ * sys/nvcodec/gstnvbaseenc.h:
+ nvenc: Add qp-{min,max,const}-{i,p,b} properties
+ This new properties allows more detailed target QP value setting
+
+2019-09-03 21:22:08 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvbaseenc.c:
+ * sys/nvcodec/gstnvbaseenc.h:
+ * sys/nvcodec/gstnvenc.c:
+ * sys/nvcodec/gstnvh264enc.c:
+ * sys/nvcodec/gstnvh265enc.c:
+ nvenc: Add properties to support bframe encoding if device supports it
+ Note that bframe encoding capability varies with GPU architecture
+
+2019-09-02 14:13:26 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvbaseenc.c:
+ * sys/nvcodec/gstnvbaseenc.h:
+ nvenc: Refactoring internal buffer pool structure
+ To support rc-lookahead and bframe encoding, nvenc needs one more
+ staging queue, because NvEncEncodePicture can return NV_ENC_ERR_NEED_MORE_INPUT
+ but which was not considered so far.
+ As documented by NVENC programming guide, pending buffers should wait
+ other inputs until NvEncEncodePicture returns success.
+ New encoding flow is
+ - Submit raw picture buffer to encoder with NvEncEncodePicture
+ - The submitted input/output buffer pair will be queued to pending_queue
+ - If NvEncEncodePicture returned success, then move all pair in pending_queue
+ to final stage
+ - Otherwise, wait more input raw pictures.
+ Another change is dropping NV_ENC_LOCK_INPUT_BUFFER usage.
+ So now nvenc always uses CUDA memory input buffer. As a result,
+ both opengl and system memory handling are unified.
+
+2019-07-28 15:41:07 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvbaseenc.c:
+ nvenc: Remove pointless iteration and cleanup some code
+ * The number of iteration is always one so the iteration is useless
+ and that makes code complicated.
+ * Also defining named structure can code mroe readable.
+ * g_free is null safe
+
+2019-09-03 21:33:15 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ nvenc: Add more rate-control options
+ New rate-control modes are introduced (if device can support)
+ * cbr-ld-hr: CBR low-delay high quality
+ * cbr-hq: CBR high quality
+ * vbr-hq: VBR high quality
+ Also, various configurable rate-control related properties are added.
+
+2019-09-03 21:28:44 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvbaseenc.c:
+ * sys/nvcodec/gstnvbaseenc.h:
+ * sys/nvcodec/gstnvenc.c:
+ * sys/nvcodec/gstnvh264enc.c:
+ * sys/nvcodec/gstnvh264enc.h:
+ * sys/nvcodec/gstnvh265enc.c:
+ * sys/nvcodec/gstnvh265enc.h:
+ nvenc: Add support for weighted prediction option
+ Note that this property will be exposed only if the device
+ supports the weighted prediction.
+
+2019-07-26 16:46:30 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvbaseenc.c:
+ * sys/nvcodec/gstnvbaseenc.h:
+ * sys/nvcodec/gstnvh264enc.c:
+ * sys/nvcodec/gstnvh264enc.h:
+ * sys/nvcodec/gstnvh265enc.c:
+ * sys/nvcodec/gstnvh265enc.h:
+ nvenc: Add property for AUD insertion
+ Make AUD insertion configurable option
+
+2019-09-03 18:46:30 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvbaseenc.c:
+ * sys/nvcodec/gstnvbaseenc.h:
+ * sys/nvcodec/gstnvenc.c:
+ * sys/nvcodec/gstnvh264enc.c:
+ * sys/nvcodec/gstnvh264enc.h:
+ * sys/nvcodec/gstnvh265enc.c:
+ * sys/nvcodec/gstnvh265enc.h:
+ nvenc: Refactor class hierarchy to handle device capability dependent options
+ Introducing new dynamic class between GstNvBaseEncClass and
+ each subclass to be able to access device specific properties and
+ capabilities from each subclass implementation side.
+
+2019-09-11 02:12:55 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * sys/msdk/meson.build:
+ msdk: actually use the include dir we compute
+
+2019-09-10 23:13:17 +0000 Marc Leeman <marc.leeman@gmail.com>
+
+ * sys/nvcodec/gstnvdec.c:
+ nvcodec: minor spell corrects in log messages
+
+2019-08-26 14:54:13 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/gstmsdkh265dec.c:
+ * sys/msdk/gstmsdkh265enc.c:
+ * sys/msdk/gstmsdkmjpegdec.c:
+ * sys/msdk/gstmsdkvp9dec.c:
+ * sys/msdk/gstmsdkvp9enc.c:
+ * sys/msdk/msdk.h:
+ msdk: Remove all DMABuf caps features on Windows
+ Add new macro for sink/src pad template to ensure no DMABuf caps
+ features are exposed on Windows. Some DMABuf caps features
+ were not handled by the commit 9ec62418c31cab4072bf173f279234e36eeec596
+
+2019-09-04 13:30:37 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ msdkdec: Do not use video memory on Windows
+ Like msdkenc, do not use video memory by default on Windows.
+
+2019-09-04 13:18:38 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/msdk/gstmsdksystemmemory.c:
+ * sys/msdk/gstmsdkvideomemory.c:
+ msdk: Allow video and system memory share among buffers
+ gst_buffer_make_writable() requires exclusive reference to the
+ GstMemory so the _make_writable() for the msdk buffer will result
+ to fallback system memory copy, because the msdk memory were initialized
+ with GST_MEMORY_FLAG_NO_SHARE flag.
+ Note that, disable sharing GstMemory brings high overhead but actually
+ the msdk memory objects can be shared over multiple buffers.
+ If the memory is not shareable, newly added GstAllocator::mem_copy will
+ create copied msdk memory.
+
+2019-08-08 11:27:19 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkh265dec.c:
+ msdkh265dec: remove the requirement on profile
+ Sometimes a HEVC/H265 stream doesn't have a valid profile but MSDK can
+ handle this stream. Like vaapih265dec, msdkh265dec may advertise the sink
+ caps without profile
+
+2019-09-08 21:25:44 +0200 Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+ * ext/wayland/gstwaylandsink.c:
+ wayland: gracefully handle unknown formats
+
+2019-09-06 22:21:50 +0900 Wonchul Lee <chul0812@gmail.com>
+
+ * ext/aom/gstav1enc.c:
+ av1enc: change cpu-used range upto 5
+ The speed 6, 7 and 8 has been removed because it's not yet tuned
+ correctly.
+ https://aomedia.googlesource.com/aom/+/7ffbf92030baf6886c2486574cca16d60499bbb8
+
+2019-09-04 12:54:17 +0300 Askar Safin <safinaskar@mail.ru>
+
+ * gst-libs/gst/player/gstplayer.c:
+ gst-player: fix bug with changing playback direction
+ Fix gst_event_new_seek call in gst-libs/gst/player/gstplayer.c
+ If rate >= 0.0, then previous code doesn't set end of segment. So, the end of segment
+ will be in place where previous seek put it. This is not neccesary end of media file
+ (in case of reverse playback). So if we play video backward for some time and then
+ switched to forward playing, we will get EOS somewhere in the middle of media file.
+ This commit always sets end of segment, thus fixing this bug
+
+2019-05-24 16:48:45 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ msdkdec: output the decoded frame immediately if decoded order is required
+ DecodedOrder was deprecated in msdk-2017 version, but some customers
+ still use this for low-latency streaming of non-b-frame encoded streams,
+ which needs to output the frame at once
+
+2019-09-02 09:22:10 +0800 Jeffy Chen <jeffy.chen@rock-chips.com>
+
+ * ext/wayland/wlwindow.c:
+ Revert "waylandsink: Don't create throwaway empty regions"
+ This reverts commit 68fa80e83118a7a2be037eb235e5d211912dee0e.
+ Some wayland servers, especially weston, only expect empty input
+ region as a request to disable input.
+ Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
+
+2019-08-21 06:35:30 -0500 Matthew Waters <matthew@centricular.com>
+
+ * sys/decklink/gstdecklinkaudiosink.cpp:
+ decklinkaudiosink: Drop late buffers
+ Asking decklink to render audio data seems to be based entirely on
+ the sample counts which completely disregards the timestamps
+ we pass to decklink. As a result, we need to explicitly check
+ for late buffers and drop them ourselves.
+
+2019-08-31 18:19:41 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * tests/check/elements/nvenc.c:
+ tests: nvenc: Test runtime resolution change
+
+2019-08-31 17:34:13 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvbaseenc.c:
+ * sys/nvcodec/gstnvbaseenc.h:
+ nvenc: Add support runtime resolution change freely
+ Do not restrict allowed maximum resolution depending on the
+ initial resolution. If new resolution is larger than previous one,
+ just re-init encode session.
+
+2019-08-27 17:04:50 +0800 Wangfei <fei.w.wang@intel.com>
+
+ * tests/check/libs/h265parser.c:
+ tests: h265parser: Add test parsing range extension in PPS
+
+2019-08-19 10:08:46 +0800 Wangfei <fei.w.wang@intel.com>
+
+ * gst-libs/gst/codecparsers/gsth265parser.c:
+ h265parse lib: fix missing condition when parse PPS
+ Follow h265 spec(04/2015), log2_max_transform_skip_block_size_minus2
+ should get with condition when transform_skip_enabled_flag is 1.
+
+2019-08-28 17:26:00 -0700 Sam Gigliotti <samgig@amazon.com>
+
+ * ext/webrtc/gstwebrtcstats.c:
+ webrtcbin: Fixed memory leak in gstwebrtcstats
+ The function _get_stats_from_ice_transport returns a string which must be
+ freed by the caller. However, _get_stats_from_dtls_transport was ignoring
+ the return value from this function, resulting in a leak.
+ Ran this with valgrind. Before this fix there was a leak of 40 bytes each
+ time this was called. After there was no leak.
+
+2019-08-30 14:15:43 +1000 Matthew Waters <matthew@centricular.com>
+
+ * sys/decklink/gstdecklink.cpp:
+ decklink: fix macos werror build
+ ../sys/decklink/gstdecklink.cpp:1703:7: error: format specifies type 'long' but the argument has type 'int64_t' (aka 'long long') [-Werror,-Wformat]
+ persistent_id);
+ ^~~~~~~~~~~~~~
+ /Library/Frameworks/GStreamer.framework/Versions/1.0/include/gstreamer-1.0/gst/gstinfo.h:1070:87: note: expanded from macro 'GST_DEBUG'
+ #define GST_DEBUG(...) GST_CAT_LEVEL_LOG (GST_CAT_DEFAULT, GST_LEVEL_DEBUG, NULL, __VA_ARGS__)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
+ /Library/Frameworks/GStreamer.framework/Versions/1.0/include/gstreamer-1.0/gst/gstinfo.h:646:31: note: expanded from macro 'GST_CAT_LEVEL_LOG'
+ (GObject *) (object), __VA_ARGS__); \
+ ^~~~~~~~~~~
+
+2019-08-29 17:19:27 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvdec.c:
+ nvdec: Check flow return of the only current handle_frame() to fix seeking issue
+ Due to uncleared last flow, decoding after seek was never possible
+ (last_ret == GST_FLOW_FLUSHING).
+ nvdec dose not need to keep track of the previous flow return,
+ and actually the interest is data/even flow of the current handle_frame().
+
+2019-08-29 20:20:14 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvdec.c:
+ nvdec: Fallback to system memory if OpenGL context could not support PBO memory
+ If the environment could not support OpenGL PBO memory, nvdec will do negotiation
+ with system memory as fallback.
+
+2019-08-09 20:19:38 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvdec.c:
+ nvdec: Add support dynamic output format change
+ Implementing ::negotiate() method to support runtime output format
+ change. If downstream was reconfigured, baseclass will invoke
+ ::negotiate() method, and nvdec should update output memory
+ type depending on downstream caps.
+
+2019-08-09 18:47:14 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvdec.c:
+ * sys/nvcodec/gstnvdec.h:
+ nvdec: Re-negotiate whenever output format is changed
+ Input stream might be silently changed without ::set_format() call.
+ Since nvdec has internal parser, nvdec element can figure out the format change
+ by itself.
+
+2019-08-09 15:27:54 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * tests/check/elements/nvdec.c:
+ * tests/check/meson.build:
+ tests: nvdec: Add test runtime downstream reconfigure
+ Add test case for output format change
+
+2019-08-08 10:59:04 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvdec.c:
+ nvdec: Add support 4:4:4 and 4:2:0 12bit decoding
+ Depending on GPU architecture, HEVC decoder can support
+ 4:4:4 format up to 12 bitdepth. This commit covers VP9 4:2:0 12 bits
+ decoding also.
+
+2019-08-08 14:16:07 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvbaseenc.c:
+ * sys/nvcodec/gstnvenc.c:
+ * sys/nvcodec/gstnvenc.h:
+ * sys/nvcodec/gstnvh264enc.c:
+ * sys/nvcodec/gstnvh265enc.c:
+ nvenc: Add support for old drivers which could not understand SDK version 9.0
+ Add helper functions to support old drivers
+ with our previous SDK version 8.1
+
+2019-08-08 14:00:08 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvbaseenc.c:
+ * sys/nvcodec/gstnvenc.c:
+ * sys/nvcodec/gstnvenc.h:
+ nvenc: Use consistent snake case convention
+
+2019-08-07 23:03:15 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/cuviddec.h:
+ * sys/nvcodec/nvEncodeAPI.h:
+ * sys/nvcodec/nvcuvid.h:
+ nvcodec: Bump SDK header to version 9.0
+ The latest Turing architecture (e.g., RTX serise) can support
+ decoding HEVC 4:4:4 format up to 12bits.
+
+2019-08-02 01:37:22 +0900 Yeongjin Jeong <yeongjin.jeong@navercorp.com>
+
+ * gst-libs/gst/vulkan/xcb/gstvkdisplay_xcb.c:
+ * gst-libs/gst/vulkan/xcb/gstvkwindow_xcb.c:
+ vulkan: Fix some confusing typos
+ Seems to have been copy pasted from around gl element
+
+2019-08-09 20:13:59 +0900 Yeongjin Jeong <yeongjin.jeong@navercorp.com>
+
+ * ext/vulkan/vkdownload.c:
+ * ext/vulkan/vksink.c:
+ * ext/vulkan/vkupload.c:
+ vulkan: Don't dereference null pointer when printing error
+ When printing error message because the function failed, the GError variable
+ may not be used and it can be NULL.
+
+2019-08-09 18:43:06 +0900 Yeongjin Jeong <yeongjin.jeong@navercorp.com>
+
+ * gst-libs/gst/vulkan/xcb/gstvkwindow_xcb.c:
+ vulkan/xcb: Don't try to create xcb window with non-xcb display
+ Non-xcb display does not have a xcb_connection and trying
+ to create xcb window with wild pointer can cause segfault.
+
+2019-08-18 14:09:16 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvbaseenc.c:
+ nvenc: Port to GstCudaGraphicsResource
+ Register openGL resource only once per memory. Also if upstream
+ provides the registered information, reuse the information
+ instead of doing it again. This can improve performance dramatically
+ depending on system since the resource registration might cause
+ high overhead.
+
+2019-08-18 13:27:38 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvdec.c:
+ nvdec: Port to GstCudaGraphicsResource
+ Make it possible to share registered graphics resource among nvidia encoders
+ and decoders.
+
+2019-08-17 17:45:44 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstcudaloader.c:
+ * sys/nvcodec/gstcudaloader.h:
+ * sys/nvcodec/gstcudautils.c:
+ * sys/nvcodec/gstcudautils.h:
+ * sys/nvcodec/stub/cuda.h:
+ cudautils: Add GstCudaGraphicsResource structure for better openGL interoperability
+ Introduce GstCudaGraphicsResource structure to represent registered
+ CUDA graphics resources and to enable sharing the information among
+ nvdec and nvenc. This structure can reduce the number of resource
+ registration which cause high overhead.
+
+2019-08-17 14:46:00 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvdec.c:
+ nvdec: Port to openGL PBO memory
+ For openGL interoperability, nvdec uses cuGraphicsGLRegisterImage API
+ which is to register openGL texture image.
+ Meanwhile nvenc uses cuGraphicsGLRegisterBuffer API to registure openGL buffer object.
+ That means two kinds of graphics resources are registered per memory
+ when nvdec/nvenc are configured at the same time.
+ The graphics resource registration brings possibly high overhead
+ so the registration should be performed only once per resource
+ from optimization point of view.
+
+2019-08-17 14:03:57 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvdec.c:
+ nvdec: Filter openGL API version to use
+ To ensure PBO buffer, openGL API >= 3 is required.
+
+2019-08-21 16:46:36 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkcontext.c:
+ * sys/msdk/gstmsdkdec.c:
+ * sys/msdk/gstmsdkenc.c:
+ msdk: avoid reading data from freed memory
+ Both g_list_delete_link and g_list_remove remove an element and free it,
+ so l->next is invalid (catched by valgrind) after calling g_list_delete_link
+ or g_list_remove
+
+2019-08-22 10:46:12 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ doc: Update plugin cache
+
+2015-12-03 12:32:05 +0100 Saunier Thibault <saunierthibault@gmail.com>
+
+ * data/meson.build:
+ * data/targets/device/dvd.gep:
+ * data/targets/file-extension/avi.gep:
+ * data/targets/file-extension/flv.gep:
+ * data/targets/file-extension/mkv.gep:
+ * data/targets/file-extension/mp3.gep:
+ * data/targets/file-extension/mp4.gep:
+ * data/targets/file-extension/oga.gep:
+ * data/targets/file-extension/ogv.gep:
+ * data/targets/file-extension/webm.gep:
+ * data/targets/online-service/youtube.gep:
+ * docs/libs/gst-plugins-bad-libs-sections.txt:
+ * docs/libs/transcoder/index.md:
+ * docs/libs/transcoder/sitemap.txt:
+ * docs/meson.build:
+ * gst-libs/gst/meson.build:
+ * gst-libs/gst/transcoder/gsttranscoder.c:
+ * gst-libs/gst/transcoder/gsttranscoder.h:
+ * gst-libs/gst/transcoder/meson.build:
+ * gst-libs/gst/transcoder/transcoder-prelude.h:
+ * gst/meson.build:
+ * gst/transcode/gst-cpu-throttling-clock.c:
+ * gst/transcode/gst-cpu-throttling-clock.h:
+ * gst/transcode/gsttranscodebin.c:
+ * gst/transcode/gsttranscoding.h:
+ * gst/transcode/gsturitranscodebin.c:
+ * gst/transcode/meson.build:
+ * meson.build:
+ * meson_options.txt:
+ * pkgconfig/gstreamer-bad-transcoder-uninstalled.pc.in:
+ * pkgconfig/gstreamer-bad-transcoder.pc.in:
+ * pkgconfig/meson.build:
+ * tools/gst-transcoder.c:
+ * tools/meson.build:
+ * tools/utils.c:
+ * tools/utils.h:
+ Import GstTranscoder
+
+2019-08-23 17:07:43 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkswapper.c:
+ vulkan/swapper: add a couple of missing g_clear_error()'s
+
+2019-08-23 17:04:42 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/meson.build:
+ vulkan/build: conditionally depend on Vulkan-1.0.gir
+ Vulkan-1.0.gir is new in gobject-introspection >= 1.61.1
+
+2019-08-23 17:03:20 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkdisplay.c:
+ vulkandisplay: silence an unused but set error with no enable winsys implementations
+
+2019-08-23 14:20:59 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkswapper.c:
+ vulkan/swapper: check queue present return later
+ During resizes, the VkQueuePresent can return OUT_OF_DATE and if a buffer
+ is displayed returning OUT_OF_DATE it would error out and stop the pipeline.
+ We already have a explicit check for OUT_OF_DATE and the same general
+ error check in the statements following so just use that code.
+
+2019-08-23 14:19:22 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkswapper.c:
+ * gst-libs/gst/vulkan/gstvkwindow.c:
+ vulkan/swapper: destroy the surface in finalize
+ Fixes a leak of the VkSurface object.
+
+2019-08-23 14:17:02 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkswapper.c:
+ vulkan/swapper: set some values to NULL in error conditions
+ So that they are not double free()-ed.
+
+2019-08-23 14:14:39 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkcolorconvert.c:
+ vulkancolorconvert: explicitly initalize swizzle arrays
+ Fixes uninitialized access of the indexed values larger than
+ the number of planes in the video format.
+
+2019-08-23 14:13:16 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkerror.c:
+ vulkan/error: add the error value in hex and decimal
+ Provides more information for what may be an 'Unknown' error.
+
+2019-08-23 14:11:16 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkswapper.c:
+ vulkanswapper: disconnect window signals before any internal resources
+ Otherwise, it's racy whether the necessary resources are available in
+ the signal callbacks on destruction.
+
+2019-08-19 12:30:30 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkvpp.c:
+ msdkvpp: don't return GST_FLOW_ERROR for MFX_WRN_INCOMPATIBLE_VIDEO_PARAM
+ Returning MFX_WRN_INCOMPATIBLE_VIDEO_PARAM means MSDK detects some
+ incompatible parameters but it is resolved, and we may not regard
+ MFX_WRN_INCOMPATIBLE_VIDEO_PARAM as a fatal error. In this fix,
+ GST_FLOW_OK is returned but with a warning message so that a pipeline
+ may run to the end.
+
+2019-08-28 16:11:12 +1000 Matthew Waters <matthew@centricular.com>
+
+ * sys/androidmedia/gstahcsrc.c:
+ ahcsrc: #define GST_USE_UNSTABLE_API for phtography inteface
+ Fixes werror build:
+ In file included from ../sys/androidmedia/gstahcsrc.c:70:
+ ../gst-libs/gst/interfaces/photography.h:27:2: error: "The GstPhotography interface is unstable API and may change in future." [-Werror,-W#warnings]
+ #warning "The GstPhotography interface is unstable API and may change in future."
+ ^
+ ../gst-libs/gst/interfaces/photography.h:28:2: error: "You can define GST_USE_UNSTABLE_API to avoid this warning." [-Werror,-W#warnings]
+ #warning "You can define GST_USE_UNSTABLE_API to avoid this warning."
+ ^
+
+2019-08-27 12:05:10 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/mpeg2enc/meson.build:
+ mpeg2enc: fix werror build with clang
+ /usr/include/mjpegtools/mpeg2enc/ontheflyratectlpass1.hh:1:9: error: '_ONTHEFLYRATECTLPASS1_HH' is used as a header guard here, followed by #define of a different macro [-Werror,-Wheader-guard]
+ #ifndef _ONTHEFLYRATECTLPASS1_HH
+ ^~~~~~~~~~~~~~~~~~~~~~~~
+ /usr/include/mjpegtools/mpeg2enc/ontheflyratectlpass1.hh:2:9: note: '_ONTHELFYRATECTLPASS1_HH' is defined here; did you mean '_ONTHEFLYRATECTLPASS1_HH'?
+ #define _ONTHELFYRATECTLPASS1_HH
+ ^~~~~~~~~~~~~~~~~~~~~~~~
+ _ONTHEFLYRATECTLPASS1_HH
+ In file included from ../subprojects/gst-plugins-bad/ext/mpeg2enc/gstmpeg2encoder.cc:31:
+ /usr/include/mjpegtools/mpeg2enc/ontheflyratectlpass2.hh:1:9: error: '_ONTHEFLYRATECTLPASS2_HH' is used as a header guard here, followed by #define of a different macro [-Werror,-Wheader-guard]
+ #ifndef _ONTHEFLYRATECTLPASS2_HH
+ ^~~~~~~~~~~~~~~~~~~~~~~~
+ /usr/include/mjpegtools/mpeg2enc/ontheflyratectlpass2.hh:2:9: note: '_ONTHELFYRATECTLPASS2_HH' is defined here; did you mean '_ONTHEFLYRATECTLPASS2_HH'?
+ #define _ONTHELFYRATECTLPASS2_HH
+ ^~~~~~~~~~~~~~~~~~~~~~~~
+ _ONTHEFLYRATECTLPASS2_HH
+ /usr/include/mjpegtools/mpeg2enc/encoderparams.hh:82:1: error: struct 'RateCtl' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Werror,-Wmismatched-tags]
+ struct RateCtl;
+ ^
+ /usr/include/mjpegtools/mpeg2enc/ratectl.hh:50:7: note: previous use is here
+ class RateCtl
+ ^
+ /usr/include/mjpegtools/mpeg2enc/encoderparams.hh:82:1: note: did you mean class here?
+ struct RateCtl;
+ ^~~~~~
+ class
+
+2019-08-26 22:19:13 +1000 Matthew Waters <matthew@centricular.com>
+
+ * sys/uvch264/gstuvch264deviceprovider.c:
+ * sys/uvch264/gstuvch264deviceprovider.h:
+ uvch264: fix werror build with clang
+ ../subprojects/gst-plugins-bad/sys/uvch264/gstuvch264deviceprovider.c:48:1: warning: unused function 'GST__UVC_H264_DEVICE' [-Wunused-function]
+ G_DECLARE_FINAL_TYPE (GstUvcH264Device, gst_uvc_h264_device, GST_,
+ ^
+ /usr/include/glib-2.0/gobject/gtype.h:1405:33: note: expanded from macro 'G_DECLARE_FINAL_TYPE'
+ static inline ModuleObjName * MODULE##_##OBJ_NAME (gpointer ptr) { \
+ ^
+ <scratch space>:75:1: note: expanded from here
+ GST__UVC_H264_DEVICE
+ ^
+ ../subprojects/gst-plugins-bad/sys/uvch264/gstuvch264deviceprovider.c:48:1: warning: unused function 'GST__IS_UVC_H264_DEVICE' [-Wunused-function]
+ /usr/include/glib-2.0/gobject/gtype.h:1407:26: note: expanded from macro 'G_DECLARE_FINAL_TYPE'
+ static inline gboolean MODULE##_IS_##OBJ_NAME (gpointer ptr) { \
+ ^
+ <scratch space>:78:1: note: expanded from here
+ GST__IS_UVC_H264_DEVICE
+ ^
+ ../subprojects/gst-plugins-bad/sys/uvch264/gstuvch264deviceprovider.c:139:1: warning: unused function 'GST_UVC_H264_DEVICE_PROVIDER' [-Wunused-function]
+ G_DECLARE_FINAL_TYPE (GstUvcH264DeviceProvider, gst_uvc_h264_device_provider, GST, UVC_H264_DEVICE_PROVIDER, GstDeviceProvider)
+ ^
+ /usr/include/glib-2.0/gobject/gtype.h:1405:33: note: expanded from macro 'G_DECLARE_FINAL_TYPE'
+ static inline ModuleObjName * MODULE##_##OBJ_NAME (gpointer ptr) { \
+ ^
+ <scratch space>:137:1: note: expanded from here
+ GST_UVC_H264_DEVICE_PROVIDER
+ ^
+ ../subprojects/gst-plugins-bad/sys/uvch264/gstuvch264deviceprovider.c:139:1: warning: unused function 'GST_IS_UVC_H264_DEVICE_PROVIDER' [-Wunused-function]
+ /usr/include/glib-2.0/gobject/gtype.h:1407:26: note: expanded from macro 'G_DECLARE_FINAL_TYPE'
+ static inline gboolean MODULE##_IS_##OBJ_NAME (gpointer ptr) { \
+ ^
+ <scratch space>:140:1: note: expanded from here
+ GST_IS_UVC_H264_DEVICE_PROVIDER
+ ^
+
+2019-08-26 22:17:57 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/aom/gstav1enc.c:
+ av1enc: fix werror build with clang
+ ../subprojects/gst-plugins-bad/ext/aom/gstav1enc.c:415:34: warning: implicit conversion from enumeration type 'GstAV1EncEndUsageMode' to different enumeration type 'enum aom_rc_mode' [-Wenum-conversion]
+ av1enc->aom_cfg.rc_end_usage = DEFAULT_END_USAGE;
+ ~ ^~~~~~~~~~~~~~~~~
+ ../subprojects/gst-plugins-bad/ext/aom/gstav1enc.c:162:41: note: expanded from macro 'DEFAULT_END_USAGE'
+ #define DEFAULT_END_USAGE GST_AV1_ENC_END_USAGE_VBR
+ ^~~~~~~~~~~~~~~~~~~~~~~~~
+
+2019-08-23 18:40:49 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * ext/srt/gstsrtobject.c:
+ srt: Set latency property on SRT socket
+
+2019-08-23 17:54:49 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * ext/srt/gstsrtobject.c:
+ srt: Add sender side statistics
+
+2019-08-23 16:21:47 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * ext/srt/gstsrtobject.c:
+ * ext/srt/gstsrtobject.h:
+ srtobject: Remove pointless GMainLoop
+ Just use srt's blocking epoll function and fix locking while we're at it.
+
+2019-08-13 22:54:42 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * sys/wasapi/gstwasapidevice.c:
+ * sys/wasapi/gstwasapisink.c:
+ * sys/wasapi/gstwasapisrc.c:
+ wasapi: Move to CoInitializeEx for COM initialization
+ CoInitialize is not allowed when targeting UWP and causes a Windows
+ Application Certification Kit (WACK) error.
+
+2019-08-23 17:55:00 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst/mpegtsdemux/tsdemux.c:
+ * gst/mpegtsdemux/tsdemux.h:
+ tsdemux: Make latency configurable
+ Allows for "low latency" mpeg-ts mode which is not standard, but somewhat common.
+ For this to work the sender has to put timestamps at a higher frequency than the spec requires.
+
+2019-08-26 14:36:35 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+ * gst/videoparsers/gsth265parse.c:
+ h265parse: fix colorimetry in src caps if sink caps has no structure
+ We do want to include the colorimetry in the src caps if the sink caps
+ doesn't have any structure associated.
+
+2019-08-26 14:36:35 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+ * gst/videoparsers/gsth264parse.c:
+ h264parse: fix colorimetry in src caps if sink caps has no structure
+ We do want to include the colorimetry in the src caps if the sink caps
+ doesn't have any structure associated.
+
+2019-08-26 14:53:39 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * sys/androidmedia/gstamc.c:
+ amc: Do not skip decoders that have no profile levels
+
+2019-05-08 11:06:40 -0400 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * gst-libs/gst/codecparsers/gsth265parser.c:
+ * gst-libs/gst/codecparsers/gsth265parser.h:
+ * gst/videoparsers/gsth265parse.c:
+ * gst/videoparsers/gsth265parse.h:
+ h265parse: add support for SEI registered user data
+
+2019-05-08 11:05:40 -0400 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * gst/videoparsers/gsth264parse.c:
+ * gst/videoparsers/gsth264parse.h:
+ h264parse: use gstvideoparseutils to handle user data
+
+2019-05-08 11:04:49 -0400 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * gst/videoparsers/gstmpegvideoparse.c:
+ * gst/videoparsers/gstmpegvideoparse.h:
+ mpegvideoparse: use gstvideoparseutils to handle user data
+
+2019-05-08 11:02:35 -0400 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * gst/videoparsers/Makefile.am:
+ * gst/videoparsers/gstvideoparseutils.c:
+ * gst/videoparsers/gstvideoparseutils.h:
+ * gst/videoparsers/meson.build:
+ videoparseutils: add new parser class
+
+2019-08-23 09:51:20 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkvpp.c:
+ * sys/msdk/gstmsdkvpp.h:
+ * sys/msdk/msdk-enums.c:
+ * sys/msdk/msdk.c:
+ * sys/msdk/msdk.h:
+ msdkvpp: support video-direction property
+ video-direction property is common property in gstreamer. In addition,
+ both mirroring & rotation properties are marked as deprecated,
+ video-direction will override mirroring & rotation properties when they
+ are set explicitly
+ Fix https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1058
+
+2019-08-21 16:44:39 +0800 Yan Wang <yan.wang@linux.intel.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ msdkdec: Fix buffer allocation based on frame.
+ gst_msdkdec_finish_task() may release all frames in
+ GstVideoDecoder object. In this case, allocate_output_buffer()
+ cannot get the oldest frame to allocate buffer.
+ So gst_msdkdec_handle_frame() should return GST_FLOW_OK for
+ letting gst_video_decoder_decode_frame() to send a new frame
+ for decoding.
+ Fixes #664.
+ Fixes #665.
+
+2019-08-08 11:54:45 +0900 Shinya Saito <ssaito@igel.co.jp>
+
+ * ext/wayland/gstwaylandsink.c:
+ waylandsink: Fix return type of prototype of show_frame()
+
+2019-08-24 12:18:20 +0900 Yeongjin Jeong <yeongjin.jeong@navercorp.com>
+
+ * sys/msdk/gstmsdkallocator_libva.c:
+ msdk: Don't use VA_RT_FORMAT_YUV420_10 if it's undefined
+ ../sys/msdk/gstmsdkallocator_libva.c:99:16: error: ‘VA_RT_FORMAT_YUV420_10’
+ The minimum required version seems to VA_API_VERSION >= 1.2.0
+
+2019-08-23 19:56:35 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * ext/chromaprint/gstchromaprint.c:
+ * ext/directfb/dfbvideosink.c:
+ * ext/fluidsynth/gstfluiddec.c:
+ * ext/kate/gstkatedec.c:
+ * ext/kate/gstkateenc.c:
+ * ext/kate/gstkatetiger.c:
+ * ext/ladspa/gstladspa.c:
+ * ext/lv2/gstlv2.c:
+ * ext/modplug/gstmodplug.cc:
+ * ext/mpeg2enc/gstmpeg2enc.cc:
+ * ext/mplex/gstmplex.cc:
+ * ext/openmpt/gstopenmptdec.c:
+ * ext/srt/gstsrtsink.c:
+ * ext/srt/gstsrtsrc.c:
+ * ext/voaacenc/gstvoaacenc.c:
+ * ext/voamrwbenc/gstvoamrwbenc.c:
+ * ext/wayland/gstwaylandsink.c:
+ * ext/webrtc/webrtcdatachannel.c:
+ * ext/wildmidi/gstwildmididec.c:
+ * gst-libs/gst/webrtc/dtlstransport.c:
+ * gst-libs/gst/webrtc/icetransport.c:
+ * gst-libs/gst/webrtc/rtcsessiondescription.c:
+ * gst-libs/gst/webrtc/rtcsessiondescription.h:
+ * gst-libs/gst/webrtc/rtpreceiver.c:
+ * gst-libs/gst/webrtc/rtpsender.c:
+ * gst-libs/gst/webrtc/rtptransceiver.c:
+ * gst-libs/gst/webrtc/webrtc_fwd.h:
+ * gst/accurip/gstaccurip.c:
+ * gst/festival/gstfestival.c:
+ * gst/pcapparse/gstpcapparse.c:
+ docstrings: port ulinks to markdown links
+
+2019-08-20 12:44:44 +0200 gla <gla@witbe.net>
+
+ * sys/dshowsrcwrapper/gstdshow.cpp:
+ dshowsrcwrapper: fix regression on device selection
+ Do not take device_name if a device has been specified. Do not take device_index into account if a device or a device name has been specified.
+
+2019-08-23 17:08:20 +1000 Matthew Waters <matthew@centricular.com>
+
+ * docs/meson.build:
+ meson: Don't generate doc cache when no plugins are enabled
+ Fixes gst-build with -Dauto-features=disabled -Dbad=enabled
+
+2019-08-21 10:46:43 -0700 U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+ * sys/msdk/gstmsdkvpputil.c:
+ msdk: vpp: rotate output frame
+ When vpp rotation is 90 or 270, the output frame
+ should be rotated, too.
+ Example:
+ gst-launch-1.0 -vf videotestsrc \
+ ! video/x-raw,width=720,height=480 \
+ ! msdkvpp rotation=90 ! vaapisink
+
+2019-08-22 17:23:39 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkdisplay.c:
+ vulkandisplay: Also free the GSource
+ NULL checking the main_context does not help as we've just destroyed the
+ GMainContext and set that field to NULL, not to mention it's unnecessary.
+ Fixes a leak of display's GSource.
+
+2019-08-22 17:02:07 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkdisplay.c:
+ vulkandisplay: free the list of windows on destruction
+ They may not have had an explicit removal from the subclass.
+
+2019-08-22 14:57:02 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkfullscreenrender.c:
+ vulkan/fullscreenrender: free the attachment descriptions
+ Fixes a memory leak of the attachment descriptions we receive from the
+ subclass.
+
+2019-08-22 14:55:40 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkdisplay.c:
+ vulkandisplay: fix use-after-free with removal of window
+ g_list_delete_link() free()'s the list node so any access after that is
+ a use-after-free.
+
+2019-08-22 14:54:30 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/xcb/xcb_event_source.c:
+ vulkan/xcb: display->windows is a list of allocated GWeakRef
+ Don't access them as plain GstVulkanWindow objects.
+
+2019-08-22 11:48:11 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkviewconvert.c:
+ vulkanviewconvert: perform a renegotiation on multiview mode/flag property changes
+ Otherwise changing the output* properties have no effect until someone else
+ performs a renegotiation.
+
+2019-08-22 11:47:29 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/shaders/view_convert.frag:
+ shaders/view-convert: remove some debugging colours
+ Fixes left and right output modes.
+
+2019-06-28 15:04:29 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst/mpegtsdemux/tsdemux.c:
+ tsdemux: Limit the maximum PES payload size
+ PES packets with size 0 are unbounded, and
+ could therefore overflow the 32-bit size
+ accumulator.
+ Add a 32MB limit, which is larger than
+ any PES packet should ever get. If one does,
+ then output a 32MB chunk and continue.
+
+2019-08-21 23:47:45 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * ext/hls/gsthlsdemux.c:
+ hlsdemux: Post error message if hlsdemux could not start decryption
+ _decrypt_start() failure will lead to decryption failure eventually
+ but catching it earlier if possible. The decrpytion start failure means
+ that the hls plugin was built without crypto library or crypto library
+ does not want to accept given key and IV.
+
+2019-04-09 20:07:05 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * configure.ac:
+ * ext/hls/gsthlsdemux.c:
+ * ext/hls/gsthlsdemux.h:
+ * ext/hls/meson.build:
+ hls: Make crypto dependency optional when hls-crypto is auto
+ crypto libraries are not required for hlssink and hlssink2.
+ Also, hlsdemux with nonencrypted stream can work without crpyto.
+ Make an error only when users set "hls-crpyto" with non-auto option explicitly,
+ but no crpyto library was found.
+
+2019-08-17 13:58:33 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvdec.c:
+ nvdec: Always response QUERY_CONTEXT even if openGL is unavailable on the system
+ nvdec can response for the CUDA context type query regardless of openGL
+ availability.
+
+2019-08-14 11:24:19 +0100 Thomas Coldrick <othko97@gmail.com>
+
+ * ext/wayland/meson.build:
+ ext/wayland: Define libdrm_dep in meson.build
+
+2019-08-16 11:07:44 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * sys/androidmedia/jni/gstamcsurfacetexture-jni.c:
+ amc: Print error when failing to register listener
+
+2019-08-16 11:01:05 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * sys/androidmedia/jni/gstamcsurface.c:
+ amc: Do not use g_log() for criticals
+
+2019-05-15 10:16:33 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * sys/androidmedia/gstamcvideodec.c:
+ amc: crop values are not mandatory in format
+ Android documentation has example code how to compute width and height
+ when crop values are present.
+ https://developer.android.com/reference/android/media/MediaCodec#accessing-raw-video-bytebuffers-on-older-devices
+
+2019-04-26 11:03:26 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * sys/androidmedia/gstamcsurfacetexture.c:
+ * sys/androidmedia/gstamcsurfacetexture.h:
+ * sys/androidmedia/jni/gstamcsurfacetexture-jni.c:
+ amc: Remove unused gst_amc_surface_texture_set_default_buffer_size()
+
+2019-04-25 14:50:43 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * sys/androidmedia/gstamcsurfacetexture.c:
+ * sys/androidmedia/gstamcsurfacetexture.h:
+ * sys/androidmedia/jni/gstamcsurfacetexture-jni.c:
+ amc: Fix matrix constness in _get_transform_matrix()
+
+2019-03-26 11:24:58 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * sys/androidmedia/gstamc-codec.h:
+ * sys/androidmedia/gstamcaudiodec.c:
+ * sys/androidmedia/gstamcvideodec.c:
+ * sys/androidmedia/gstamcvideoenc.c:
+ * sys/androidmedia/jni/gstamc-codec-jni.c:
+ amc: Select between encoder/decoder at GstAmcCodec construct time
+ Magical 0/1 values where passed to gst_amc_codec_configure() flags
+ argument. It's more natural to have a boolean is gst_amc_codec_new().
+
+2018-11-13 13:16:34 -0500 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * sys/androidmedia/gstamc-format.h:
+ * sys/androidmedia/gstamcaudiodec.c:
+ * sys/androidmedia/jni/gstamc-format-jni.c:
+ amc: Remove gst_amc_format_contains_key()
+ It is not needed, we can just try to get the key and ignore error.
+ NdkMediaFormat doesn't have that method.
+
+2018-11-12 14:02:37 -0500 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * sys/androidmedia/gst-android-hardware-camera.c:
+ * sys/androidmedia/gst-android-hardware-camera.h:
+ * sys/androidmedia/gstahcsrc.c:
+ * sys/androidmedia/gstahcsrc.h:
+ * sys/androidmedia/gstamc-codec.h:
+ * sys/androidmedia/gstamc.c:
+ * sys/androidmedia/gstamcsurfacetexture.c:
+ * sys/androidmedia/gstamcsurfacetexture.h:
+ * sys/androidmedia/gstamcvideodec.c:
+ * sys/androidmedia/gstamcvideodec.h:
+ * sys/androidmedia/gstjniutils.h:
+ * sys/androidmedia/jni/gstamc-codec-jni.c:
+ * sys/androidmedia/jni/gstamcsurface.c:
+ * sys/androidmedia/jni/gstamcsurface.h:
+ * sys/androidmedia/jni/gstamcsurfacetexture-jni.c:
+ * sys/androidmedia/jni/gstamcsurfacetexture-jni.h:
+ * sys/androidmedia/meson.build:
+ amc: Turn GstAmcSurfaceTexture into a base class with JNI implementation
+
+2018-11-11 08:51:04 -0500 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * sys/androidmedia/gstamc-codeclist.h:
+ * sys/androidmedia/gstamc.c:
+ * sys/androidmedia/gstamc.h:
+ * sys/androidmedia/jni/gstamc-codeclist-jni.c:
+ * sys/androidmedia/meson.build:
+ amc: Create JNI wrapper for MediaCodecList
+ There is no NdkMediaCodecList API yet, but it is still better to isolate
+ JNI code. This will facilitate porting to a native API if Google ever
+ release one.
+
+2018-11-10 16:51:02 -0500 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * sys/androidmedia/gstamc-codec.h:
+ * sys/androidmedia/gstamc-format.h:
+ * sys/androidmedia/gstamc.c:
+ * sys/androidmedia/gstamc.h:
+ * sys/androidmedia/gstjniutils.c:
+ * sys/androidmedia/gstjniutils.h:
+ * sys/androidmedia/jni/gstamc-codec-jni.c:
+ * sys/androidmedia/jni/gstamc-format-jni.c:
+ * sys/androidmedia/jni/gstamc-internal-jni.h:
+ * sys/androidmedia/meson.build:
+ amc: Move MediaCodec JNI wrapper into its own module
+ This will facilitate adding another implementation based on
+ NdkMediaCodec instead of JNI.
+
+2019-08-20 14:21:17 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * ext/sctp/sctpassociation.c:
+ sctp: Fix crash on free() when using the MSVC binaries
+ On Windows, if libusrsctp and gstreamer are built with different
+ C runtimes (CRT), we cannot free memory allocated inside libusrsctp
+ with the `free()` function from gstreamer's CRT.
+ `usrsctp_freedumpbuffer()` simply calls `free()`, but because of the
+ way DLLs work on Windows, it will always call the free function from
+ the correct CRT.
+
+2019-08-14 22:08:34 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst/videoparsers/gsth264parse.c:
+ h264parse: don't critical on VUI parameters > 2^31
+ A guint32 greater than 2^31 would be interpreted as negative by
+ gst_util_uint64_scale_int() and critical. Use the 64-bit integer version
+ of the function instead.
+
+2019-08-13 10:07:38 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvdec.c:
+ nvdec: Fix possible null object unref
+ gst_query_get_n_allocation_pools > 0 does not guarantee that
+ the N th internal array has GstBufferPool object. So users should
+ check the returned GstBufferPool object from
+ gst_query_parse_nth_allocation_pool.
+
+2019-08-19 13:22:20 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvbaseenc.c:
+ * sys/nvcodec/gstnvdec.c:
+ nvcodec: Use default flag for CUDA stream creation
+ Since nvdec/nvenc engine is running on default stream,
+ non-default CUDA stream should be synchronized with default
+ stream eventually.
+
+2019-08-15 10:58:01 +0800 Wangfei <fei.w.wang@intel.com>
+
+ * gst-libs/gst/codecparsers/nalutils.c:
+ * gst-libs/gst/codecparsers/nalutils.h:
+ h26[45]parser: Fix emulation prevention byte detection
+ Add a separate epb_cache variable to the codecparser NalReader to
+ detect Emulation Prevention Bytes separately from the main bit cache.
+ This fixes problems where the existing logic can mistakenly detect
+ multiple EPB with a sequence like: 0x00 0x00 0x03 0x00 0x03. In that
+ case, the 5th byte should not be regarded as an EPB.
+
+2019-08-18 22:51:18 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvbaseenc.c:
+ * sys/nvcodec/gstnvbaseenc.h:
+ nvenc: Use non default CUDA stream and async operation
+ Use CUDA async operation if possible with non default CUDA stream
+
+2019-08-18 22:07:38 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstcudaloader.c:
+ * sys/nvcodec/gstcudaloader.h:
+ * sys/nvcodec/gstnvdec.c:
+ * sys/nvcodec/gstnvdec.h:
+ * sys/nvcodec/stub/cuda.h:
+ nvdec: Don't use default CUDA stream
+ Async CUDA operation with default stream (NULL CUstream) is not much
+ beneficial than blocking operation since all CUDA operations which belong
+ to the CUDA context will be synchronized with the default stream's operation.
+ Note that CUDA stream will share all resources of the corresponding CUDA context
+ but which can help parallel operation similar to the relation between thread and process
+
+2019-08-18 22:14:37 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvdec.c:
+ nvdec: Push/Pop CUDA context around library API call
+
+2019-08-18 15:45:37 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvdec.c:
+ nvdec: Fix timestamp mismatch on draining frames
+ The internal decoding state must be GST_NVDEC_STATE_PARSE before
+ calling CuvidParseVideoData(). Otherwise, nvdec will be confused
+ on decode callback as if the frame is decoding only frame and
+ the input timestamp of corresponding frame will be ignored.
+ Eventually one decoded frame will have non-increased PTS.
+
+2019-08-08 16:54:32 -0400 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * gst/mpegtsdemux/tsdemux.c:
+ tsdemux: do not error if buffer size is invalid due to DISCONT
+ Don't signal a pipeline error when processing incomplete
+ j2pk PES packets that are too small. That can happen normally
+ during a DISCONT and shouldn't shut down the whole pipeline
+
+2019-08-16 15:22:26 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * ext/iqa/iqa.c:
+ iqa: fix leak of map_meta.data
+
+2019-08-16 19:32:39 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvdec.c:
+ nvdec: Do not access nvdec object from destroy function of qdata
+ The destroy callback can be called just before the fìnalization of
+ GstMiniObject. So the nvdec object might be destroyed already.
+ Instead, store the GstCudaContext with increased ref to safely
+ unregister the CUDA resource.
+
+2019-08-15 17:49:12 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3dvideosink/d3dhelpers.c:
+ d3dvideosink: Fix crash on WinProc handler
+ ... caused by null pointer dereference. The d3dvideosink object might
+ not available yet on the handler.
+
+2019-08-15 16:31:01 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/meson.build:
+ meson: d3d11: Remove unnecessary dependency
+ d3d11 never use any API of gstreamer-allocators-1.0
+
+2019-08-15 16:20:26 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/d3d11/gstd3d11videosink.c:
+ * sys/d3d11/gstd3d11videosink.h:
+ * sys/d3d11/gstd3d11window.c:
+ * sys/d3d11/gstd3d11window.h:
+ d3d11videosink: Take into account pixel aspect ratio
+ Fix unexpected cropping with non 1:1 pixel aspect-ratio.
+ The actual buffer width/height should be passed to gst_d3d11_window_render(),
+ instead of the calculated resolution. The width/height
+ values are parameters for copying d3d11 video memory.
+ Also, aspect-ratio should be considered on resize callback
+ to decide render rectangle size.
+
+2019-08-14 10:13:52 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/closedcaption/gstcccombiner.c:
+ * ext/closedcaption/gstcccombiner.h:
+ cccombiner: Make use of new GstAggregator::negotiate()
+ Simplifies the caps handling code considerably here and removes some
+ spurious negotiation.
+
+2019-08-14 11:21:30 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * sys/androidmedia/gstamcvideodec.c:
+ amc: Fix crash when a sync_meta survives its sink
+ _amc_gl_free() could be called after the GstAmcVideoDec has been
+ finalized, in the case downstream still has a ref to a buffer.
+
+2019-08-09 02:41:51 -0400 Doug Nazar <nazard@nazar.ca>
+
+ * ext/soundtouch/gstpitch.cc:
+ pitch: Fix race between putSamples() and setting soundtouch parameters
+ The various soundtouch set*() functions may cause buffer (re)allocations
+ which interferes with inputting the audio data.
+
+2019-08-09 14:49:24 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkswapper.c:
+ * gst-libs/gst/vulkan/gstvkwindow.c:
+ * gst-libs/gst/vulkan/gstvkwindow.h:
+ * gst-libs/gst/vulkan/ios/gstvkios_utils.h:
+ * gst-libs/gst/vulkan/ios/gstvkwindow_ios.m:
+ vulkan/ios: keep track of surface changes
+
+2019-08-06 12:38:41 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/ios/gstvkwindow_ios.m:
+ vulkan/ios: initialize the frame to the parent's
+
+2019-08-13 23:24:41 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/mpegtsmux/gstatscmux.c:
+ atscmux: fix AC-3 stream id
+ According to ATSC A/52, Annex A, section 4.2:
+ The value of stream_id in the PES header shall be 0xBD
+ (indicating private_stream_1)
+
+2019-08-13 17:50:33 +0300 OleksandrKvl <oleksandrdvl@gmail.com>
+
+ * gst/pcapparse/gstpcapparse.c:
+ * gst/pcapparse/gstpcapparse.h:
+ pcapparse: fix DISCONT flag setting
+ DISCONT flag should be set only for first packet.
+ Fixes #1047.
+
+2019-08-13 12:10:54 +0200 David Gunzinger <david.gunzinger@smoca.ch>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtc: fix type of max-retransmits, make it work
+
+2019-08-12 20:26:51 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/mxf/mxfvc3.c:
+ mxfdemux: Also allow picture essence element type 0x05 for VC-3
+ It's found like this in various files out there even if it does not
+ conform to SMPTE 2019-4.
+
+2019-08-06 17:42:15 +0200 Ignacio Casal Quinteiro <qignacio@amazon.com>
+
+ * sys/wasapi/gstwasapiutil.c:
+ * sys/wasapi/gstwasapiutil.h:
+ wasapi: fix symbol redefinition build error
+
+2019-07-31 11:49:55 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst/rist/gstristsink.c:
+ * gst/rist/gstristsrc.c:
+ rist: Fix documentation
+
+2019-07-30 12:54:04 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst/rist/gstristsink.c:
+ * gst/rist/gstristsrc.c:
+ rist: Document stats-internal unit
+
+2019-07-26 16:17:59 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst/rist/gstristsink.c:
+ ristsink: Only accept RTCP APP packets with subtype==0
+
+2019-07-09 16:50:43 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst/rist/gstristsink.c:
+ * gst/rist/gstristsrc.c:
+ rist: Fix typo in the documentation
+
+2019-07-09 16:50:14 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst/rist/gstristsink.c:
+ * gst/rist/gstristsrc.c:
+ rist: Use the right parameters the signal
+
+2019-08-09 12:52:31 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * ext/x265/gstx265enc.c:
+ * ext/x265/gstx265enc.h:
+ x265enc: Enhance profile setting with fixing infinite loop condition
+ Don't fixate profile caps which will choose the first profile from list.
+ Instead, store all profiles allowed by peer and try them until x265 can
+ accept one of them.
+
+2019-08-09 12:03:34 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * ext/x265/gstx265enc.c:
+ x265enc: Fix deadlock on profile setting failure
+ Don't miss unlock before returning
+
+2019-08-09 11:39:43 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvbaseenc.c:
+ nvenc: Add support YV12 format
+ YV12 format is supported by Nvidia NVENC without manual conversion.
+ So nvenc is exposing YV12 format at sinkpad template but there is some
+ missing point around uploading the memory to GPU.
+
+2019-08-08 18:47:05 +0000 Marc Leeman <marc.leeman@gmail.com>
+
+ * gst/rtp/gstrtpsrc.c:
+ rtp: do not overrule RtpInfo when non dynamic type
+ When looking up the Rtp information, do not overwrite information
+ already found with encoding-name by static information.
+
+2019-08-08 20:06:41 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvh265enc.c:
+ * sys/nvcodec/gstnvh265enc.h:
+ nvh265enc: Enable HDR related SEI nal insertion
+ If upstream provides the HDR related information, create SEI message
+ nals and pass them to NVENC.
+
+2019-08-08 20:01:41 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * gst/videoparsers/gsth265parse.c:
+ h265parse: Fix mastering display info parsing
+ Fix mismatched Red Y coordinate value.
+
+2019-08-08 04:54:38 +0800 Fuwei Tang <fuweix.tang@intel.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ msdkdec: fix decoding issue for interlaced streams
+ Currently h264parser produces a field or a frame for
+ alignment=au for interlaced streams, but the flag
+ MFX_BITSTREAM_COMPLETE_FRAME needs a complete frame
+ or complementary field pair of data, this results in
+ broken images being output.
+ Some patches have been sent out to fix h264parser,
+ but they are pending on some unfinished work. In
+ order to make gstreamer-msdk decoding work properly
+ for interlaced streams before h264parser is fixed,
+ this flag will be removed temporarily and will be
+ added back once h264parser if fixed.
+ Related to:
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/399
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/228
+
+2019-08-06 21:54:49 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvbaseenc.c:
+ * sys/nvcodec/gstnvenc.c:
+ * sys/nvcodec/gstnvh265enc.c:
+ nvh265enc: Add support YUV 444 10bits encoding
+ Note that h264 encoder does not support the YUV 444 10bits format
+
+2019-08-06 21:55:36 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvenc.c:
+ nvenc: Remove unnecessary constraint from YUV420 10bits capability decision
+ YUV444 capability shouldn't be applied to YUV420 10 bits format
+
+2019-08-07 12:58:40 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * sys/decklink/gstdecklinkvideosrc.cpp:
+ * sys/decklink/gstdecklinkvideosrc.h:
+ decklinkvideosrc: Retrieve mode of the ancillary data from the frame
+ Instead of using the information we stored ourselves for the video frame
+ itself. Which was also the wrong one: it was the mode from the property,
+ not the autodetected one.
+ This fixes vanc extraction with mode=auto
+
+2019-08-07 12:58:03 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * sys/decklink/gstdecklinkvideosrc.cpp:
+ decklinkvideosrc: Also set the INTERLACED buffer flag on non-TFF buffers
+
+2019-07-22 12:52:53 -0400 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ * sys/msdk/gstmsdkdec.h:
+ msdkdec: no need to cache output state info
+
+2019-08-07 11:49:43 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvbaseenc.c:
+ nvenc: Fix broken RGB format support
+ Add missing format check introduced by the commit 7de4dbdeb27561c00be94f8666b39dc661c59f7b
+
+2019-01-29 21:57:44 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/mpegtsdemux/tsdemux.c:
+ tsdemux: always take the seek segment stop into account
+ Even if an accurate seek was not requested, we should still
+ respect the seek stop.
+
+2018-09-20 01:05:52 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst/mpegtsdemux/tsdemux.c:
+ tsdemux: Use gst_segment_do_seek()
+ Remove some custom and incomplete seek calculation
+ logic in favour of gst_segment_do_seek(), and
+ short-circuit any actual seeking or recalculation
+ if the position didn't change and just send an updated
+ segment directly.
+ This removes the custom seeking logic in favour of
+ using standard core seek handling.
+
+2018-09-20 01:07:34 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst/mpegtsdemux/tsdemux.c:
+ mpegtsdemux: Keep the position increasing.
+ Don't keep the segment position jumping back and forth
+ based on stream DTS/PTS, only increase the position
+ if the new value is larger than the old.
+
+2018-08-31 22:43:46 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst/mpegtsdemux/mpegtsbase.c:
+ * gst/mpegtsdemux/mpegtsbase.h:
+ * gst/mpegtsdemux/mpegtsparse.c:
+ * gst/mpegtsdemux/tsdemux.c:
+ * gst/mpegtsdemux/tsdemux.h:
+ mpegts: Re-work segment tracking
+ Add an output segment into the base class for sub-classes
+ to use for their output segment, in a place where the base
+ class can see it.
+
+2019-08-06 13:50:28 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvbaseenc.c:
+ * sys/nvcodec/gstnvdec.c:
+ nvcodec: Wrap CUDA API return check with gst_cuda_result
+ The gst_cuda_result macro function is more helpful for debugging
+ than previous cuda_OK because gst_cuda_result prints the function
+ and line number. If the CUDA API return was not CUDA_SUCCESS,
+ gst_cuda_result will print WARNING level debug message with
+ error name, error text strings.
+
+2019-08-06 13:44:20 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvdec.c:
+ * sys/nvcodec/gstnvdec.h:
+ nvdec: Port to GstCUDAContext
+ ... and drop CUvideoctxlock usage. The CUvideoctxlock basically
+ has the identical role of cuda context push/pop but nvdec specific
+ way. Since we can share the CUDA context among encoders and decoders,
+ use CUDA context directly for accessing GPU API.
+
+2019-07-25 19:33:54 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvbaseenc.c:
+ * sys/nvcodec/gstnvbaseenc.h:
+ * sys/nvcodec/gstnvenc.c:
+ * sys/nvcodec/gstnvenc.h:
+ nvenc: Port to GstCudaContext
+ ... and add support CUDA context sharing similar to glcontext sharing.
+ Multiple CUDA context per GPU is not the best practice. The context
+ sharing method is very similar to that of glcontext. The difference
+ is that there can be multiple context object on a pipeline since
+ the CUDA context is created per GPU id. For example, a pipeline
+ has nvh264dec (uses GPU #0) and nvh264device0dec (uses GPU #1),
+ then two CUDA context will propagated to all pipeline.
+
+2018-11-23 22:01:41 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/Makefile.am:
+ * sys/nvcodec/gstcudacontext.c:
+ * sys/nvcodec/gstcudacontext.h:
+ * sys/nvcodec/gstcudautils.c:
+ * sys/nvcodec/gstcudautils.h:
+ * sys/nvcodec/meson.build:
+ nvcodec: Introduce NVIDA CUDA helpers
+ New object and helper functions can remove duplicated code
+ from nvenc/nvdec. Also this is prework for CUDA device context sharing
+ among nvdec(s)/nvenc(s).
+
+2019-07-26 03:27:22 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/onvif/gstrtponvifparse.c:
+ * gst/onvif/gstrtponviftimestamp.c:
+ * gst/onvif/gstrtponviftimestamp.h:
+ rtponviftimestamp: add opt-out "drop-out-of-segment" property
+ The default behaviour of rtponviftimestamp is to drop buffers
+ outside the segment. This creates obvious problems for reverse
+ playback.
+ The ONVIF specification unfortunately doesn't describe how to handle
+ that specific use case, but we can expose a property to let the
+ user disable the dropping behaviour, and forward these buffers with
+ a G_MAXUINT64 ONVIF timestamp.
+ Also modify rtponvifparse to handle such timestamps appropriately.
+
+2019-07-26 03:26:25 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/onvif/gstrtponvifparse.c:
+ rtponvifparse: parse E flag and send EOS when needed
+
+2019-06-21 20:47:37 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * ext/x265/gstx265enc.c:
+ * ext/x265/gstx265enc.h:
+ x265enc: Add support more 8/10/12 bits 4:2:0, 4:2:2 and 4:4:4 profiles
+ ... with multi-library interface support. Depending on bit depth support of
+ the linked library, run-time api switch can be made via multi-library interface.
+ See more detail about libx265 multi-library interface
+ https://x265.readthedocs.io/en/default/api.html#multi-library-interface
+
+2019-08-06 21:44:35 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * sys/decklink/gstdecklinkaudiosrc.cpp:
+ * sys/decklink/gstdecklinkvideosrc.cpp:
+ decklinkaudiosrc/decklinkvideosrc: Do nothing in BaseSrc::negotiate() and always set caps in ::create()
+ We don't support negotiation with downstream but simply set caps based
+ on the buffers we receive. This prevents renegotiation to other formats,
+ and negotiation to NTSC in mode=auto in the beginning until the first
+ buffer is received.
+ As side-effect of this, also remove various other caps handling code
+ that was working around the behaviour of the default
+ BaseSrc::negotiate().
+
+2019-08-06 18:55:28 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/debugutils/gsterrorignore.c:
+ errorignore: Try pushing again after a caps event too
+ It might have reconfigured everything correctly so that pushing buffers
+ works again afterwards, e.g. if the previous caps event was just
+ rejected.
+
+2019-08-06 18:51:54 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/timecode/gsttimecodestamper.c:
+ timecodestamper: Require a non-0/1 framerate on the pad templates
+ We reject caps with other framerates as it's impossible to generate
+ timecodes unless we actually know a constant framerate. Reflect this
+ also in the pad template caps.
+
+2019-08-06 16:38:08 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/timecode/gstavwait.c:
+ avwait: Improve debug output a bit
+
+2019-07-29 13:52:04 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvbaseenc.c:
+ nvenc: Return profile compatible input formats from GstVideoEncoder::getcaps
+ Do not accept any input formats which could not be supported
+ by downstream requested codec profiles.
+
+2019-07-27 00:52:59 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvbaseenc.c:
+ nvenc: Fix caps negotiation failure on unspecified interlace-mode
+ During GstVideoInfo conversion from GstCaps, interlace-mode is
+ inferred to progressive so unspecified interlace-mode should not cause any
+ negotiation issue. Simly set GST_PAD_FLAG_ACCEPT_INTERSECT flag
+ on sinkpad to fix issue.
+
+2019-07-27 00:57:02 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvbaseenc.h:
+ * sys/nvcodec/gstnvh264enc.c:
+ * sys/nvcodec/gstnvh264enc.h:
+ * sys/nvcodec/gstnvh265enc.c:
+ * sys/nvcodec/gstnvh265enc.h:
+ nvenc: Remove unused member variables
+ Supported interlace-mode and codec profiles are checked
+ during plugin init and those values are never used.
+
+2019-07-27 00:41:17 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * tests/check/elements/nvenc.c:
+ tests: nvenc: Add test caps negotiation with interlace-mode field
+
+2019-08-05 19:45:05 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/webrtc/webrtctransceiver.c:
+ * gst-libs/gst/webrtc/rtptransceiver.c:
+ * gst-libs/gst/webrtc/rtptransceiver.h:
+ * tests/check/elements/webrtcbin.c:
+ * tests/examples/webrtc/webrtcrenego.c:
+ rtptransceiver: Remove direction setter and vfunc and replace it by a property
+ It was changed from a function to a property in the latest WebRTC spec.
+
+2019-07-25 22:55:09 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ * sys/msdk/msdk.c:
+ * sys/msdk/msdk.h:
+ msdkdec: Update frame info from video parameters
+ A 10bit stream may have different depth values for Luma and Chroma, and
+ MSDK requires the frame info must match the corresponding video
+ parameters
+
+2019-08-02 16:31:59 +0900 Yeongjin Jeong <yeongjin.jeong@navercorp.com>
+
+ * gst-libs/gst/vulkan/gstvkbuffermemory.c:
+ * gst-libs/gst/vulkan/gstvkmemory.c:
+ vulkan: Fix GstMemory leaks
+ Allocated GstMemory should be freed with g_free()
+
+2019-08-03 11:31:21 +0800 Fuwei Tang <fuweix.tang@intel.com>
+
+ * gst/videoparsers/gsth264parse.c:
+ h264parse: fix issue that caps "interlace-mode" can't be updated correctly
+ Upstream overrides the info "interlace-mode", otherwise update it with
+ SPS info.
+
+2019-07-30 23:49:09 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvdec.c:
+ nvdec: Respect upstream provided timestamp
+ Decoder sometimes reports nonincreasing timestamp.
+ Use input frame's timestamp like other decoder elements.
+
+2019-07-30 13:15:32 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvbaseenc.c:
+ * sys/nvcodec/gstnvenc.c:
+ nvenc: Add support RGB 8/10bits formats
+ BGRA/RGBA/RGB10A2/BGR10A2 formats can be supported by nvenc.
+ Depending on device, supported format can be different.
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1038
+
+2019-07-31 00:02:59 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvdec.c:
+ nvdec: Use upstream framerate if possible
+ Encoded bitstream might not have valid framerate. If upstream
+ provided non-variable-framerate (i.e., fps_n > 0 and fps_d > 0)
+ use upstream framerate instead of parsed one.
+
+2019-07-30 23:54:48 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvbaseenc.c:
+ nvenc: Fix crash with unspecified framerate
+ Nvidia driver seems to calculating floating point framerate
+ without validation. This causes crash both on linux and Windows.
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1012
+
+2019-08-03 05:28:33 -0400 Doug Nazar <nazard@nazar.ca>
+
+ * gst/mpegdemux/gstmpegdemux.c:
+ mpegdemux: Parse mpeg audio layer version and add to caps.
+
+2019-08-03 05:21:29 -0400 Doug Nazar <nazard@nazar.ca>
+
+ * gst/mpegdemux/gstmpegdemux.c:
+ mpegdemux: Finish setting up stream before adding pad.
+
+2019-07-26 07:45:46 -0600 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ * sys/msdk/gstmsdkdec.h:
+ msdkdec: no need to cache allocation_caps
+
+2019-08-05 11:31:48 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/meson.build:
+ vulkan: add a couple of headers to the install list
+
+2019-07-31 18:03:19 +0000 Marc Leeman <marc.leeman@gmail.com>
+
+ * gst/videoparsers/gstmpeg4videoparse.c:
+ * gst/videoparsers/gstmpeg4videoparse.h:
+ mpeg4videoparse: allow sending config at IDR
+ Based on h264parse, also allow to send the config at every IDR.
+
+2019-07-31 12:12:18 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * configure.ac:
+ * sys/nvcodec/Makefile.am:
+ configure: Update for nvcodec dependency change
+ nvcodec is compilable without external dependency
+
+2019-07-31 12:11:05 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvdec.c:
+ nvdec: Fix build warning error
+ gstnvdec.c:1222:3: error: implicit declaration of function ‘memset’ [-Werror=implicit-function-declaration]
+ memset (&type_info, 0, sizeof (type_info));
+ ^~~~~~
+
+2019-07-30 21:18:59 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/mpegtsmux/gstbasetsmux.c:
+ * gst/mpegtsmux/gstbasetsmux.h:
+ * gst/mpegtsmux/tsmux/tsmux.c:
+ * gst/mpegtsmux/tsmux/tsmux.h:
+ * gst/mpegtsmux/tsmux/tsmuxcommon.h:
+ basetsmux: expose pcr-interval property
+ Instead of using a static hardcoded PCR interval, allow the user
+ to configure it.
+ Also revert back the default to a 40 ms interval, that was changed
+ in recent patches for no good reason.
+
+2019-07-31 18:02:02 +0900 Yeongjin Jeong <yeongjin.jeong@navercorp.com>
+
+ * tests/check/elements/x265enc.c:
+ tests: x265enc: Add tiny resolution encoding check
+ Add the tiny picture encoding test case allowed in x265
+
+2019-07-01 18:14:55 +0900 Yeongjin Jeong <yeongjin.jeong@navercorp.com>
+
+ * ext/x265/gstx265enc.c:
+ * tests/check/elements/x265enc.c:
+ x265enc: Specify max CU size depending on input resolution
+ x265 does not allow user to configure a picture size smaller than
+ at least one CU size, and maxCUSize must be 16, 32, or 64.
+ Therefore, the CU size must be set according to the input resolution,
+ and the input resolution can not be less than 16.
+
+2019-07-23 13:06:55 -0700 Ederson de Souza <ederson.desouza@intel.com>
+
+ * ext/avtp/gstavtpcvfpay.c:
+ avtp: CVF - fix error message
+ The error is about *not* being able to map a buffer.
+
+2019-07-08 14:19:07 -0700 Ederson de Souza <ederson.desouza@intel.com>
+
+ * ext/avtp/gstavtpcvfpay.c:
+ * tests/check/elements/avtpcvfpay.c:
+ avtp: CVF - Do not infinite loop trying to fragment zero sized NAL unit
+ Zero sized NAL-units should not happen, but if they do, do not infinite
+ loop. Added also a unit test for this case.
+
+2019-07-31 00:38:44 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst-libs/gst/codecparsers/gsth265parser.c:
+ h265parser: Skip unused SEI bits differently
+ 3-byte emulation bytes can confuse the current code that skips
+ bits at the end of an SEI. Use a simpler method that's also
+ quicker because it skips all remaining bits in one go instead
+ of 1 bit at a time.
+
+2019-07-20 22:38:46 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * gst-libs/gst/codecparsers/gsth265parser.h:
+ * gst/videoparsers/gsth265parse.c:
+ h265parse: Add support for compatible profiles of extensions
+ From decoder's capability point of view as defined by the h265 specification,
+ accept peer profile caps.
+
+2019-07-30 19:07:42 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvenc.c:
+ nvenc: Fix build error with x86 msvc
+ __stdcall is accepted or ignored by the compiler on x64 but x86
+ is not the case. So the function definition should be consistent
+ with declaration.
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1039
+
+2019-07-30 17:49:25 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvbaseenc.c:
+ nvenc: Fix deadlock when pad_push return was not GST_FLOW_OK
+ Encoding thread is terminated without any notification so
+ upstream streaming thread is locked because there is nothing
+ to pop from GAsyncQueue. If downstream returns error,
+ we need put SHUTDOWN_COOKIE to GAsyncQueue for chain function
+ can wakeup.
+
+2019-07-30 11:06:43 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/stub/cuda.h:
+ nvcodec: Fix broken ABI in cuda stub header to fix nvenc with opengl
+ Fix the broken ABI introduced by the commit 367e742e5dd53400d212ce07d0ac0745f3535ac3
+ From CUDA Toolkit 3.2, size_t has been used in CUDA_MEMCPY2D structure
+ instead of unsigned int.
+
+2019-06-12 15:00:38 +0200 Jakub Adam <jakub.adam@collabora.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/webrtcsdp.c:
+ webrtcbin: Support data channel SDP offers from Chrome
+ When negotiating a data channel, Chrome as recent as 75 still uses SDP
+ based on version 05 of the SCTP SDP draft, for example:
+ m=application 9 DTLS/SCTP 5000
+ a=sctpmap:5000 webrtc-datachannel 1024
+ Implement support for parsing SCTP port out of SDP message with sctpmap
+ attribute. Fixes data channel negotiation with Chrome browser.
+
+2019-07-28 19:08:24 -0400 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * ext/openjpeg/gstopenjpegdec.c:
+ * ext/openjpeg/gstopenjpegdec.h:
+ openjpegdec: enable multi-threaded decode
+
+2019-07-28 19:07:04 -0400 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * ext/openjpeg/gstopenjpegdec.c:
+ openjpegdec: check return value when setting up decoder
+
+2019-07-02 12:27:40 +0100 Charlie Turner <cturner@igalia.com>
+
+ * ext/hls/gsthlsdemux.c:
+ * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+ * gst-libs/gst/adaptivedemux/gstadaptivedemux.h:
+ adaptivedemux: remove some deadlocks using webkitwebsrc.
+ WebKit's websrc depends on the main-thread for download completion
+ rendezvous. This exposed a number of deadlocks in adaptivedemux due to
+ it holding the MANIFEST_LOCK during network requests, and also needing
+ to hold it to change_state and resolve queries, which frequently occur
+ during these download windows.
+ Make demux->running MT-safe so that it can be accessed without using the
+ MANIFEST_LOCK. In case a source is downloading and requires a MT-thread
+ notification for completion of the fragment download, a state change
+ during this download window will deadlock unless we cancel the downloads
+ and ensure they are not restarted before we finish the state-change.
+ Also make demux->priv->have_manifest MT-safe. A duration query happening
+ in the window described above can deadlock for the same reason. Other
+ src queries (like SEEKING) that happen in this window also could
+ deadlock, but I haven't hit this scenario.
+ Increase granularity of API_LOCK'ing in change_state as well. We need to
+ cancel downloads before trying to take this lock, since sink events
+ (EOS) will hold it before starting a fragment download.
+
+2019-07-29 14:56:16 +0700 Ilya Smelykh <ilya@videoexpertsgroup.com>
+
+ * ext/webrtc/gstwebrtcice.c:
+ webrtcbin: fix GInetAddress leak
+
+2019-07-28 14:19:36 -0400 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * configure.ac:
+ * ext/openjpeg/gstopenjpeg.h:
+ * ext/openjpeg/gstopenjpegdec.c:
+ * ext/openjpeg/gstopenjpegenc.c:
+ * ext/openjpeg/meson.build:
+ openjpeg: remove support for OpenJPEG 1.5
+ Also require OpenJPEG version >= 2.2
+
+2019-07-23 22:26:19 +0900 Wonchul Lee <chul0812@gmail.com>
+
+ * ext/aom/gstav1enc.c:
+ av1enc: enable row-mt property conditionally
+ The row based multi threading control was introduced after 1.0.0 version
+ of libaom released. It adds a guard to check the relevant control
+ definition declared. It fixes #1025
+
+2019-07-24 12:44:21 -0600 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * sys/msdk/meson.build:
+ msdk: enable 32 bit build on windows
+
+2019-07-26 06:35:53 +0000 Sebastian Dröge <slomo@coaxion.net>
+
+ * ext/dtls/gstdtlsdec.c:
+ Revert "dtls: fix generated cert dtls agent leak"
+ This reverts commit e5585b1bde162bc038fd1265438edbcd94ccb5ed
+
+2019-07-19 22:46:01 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/Makefile.am:
+ * sys/nvcodec/gstcudaloader.c:
+ * sys/nvcodec/gstcudaloader.h:
+ * sys/nvcodec/gstnvdec.c:
+ * sys/nvcodec/gstnvdec.h:
+ * sys/nvcodec/meson.build:
+ * sys/nvcodec/plugin.c:
+ * sys/nvcodec/stub/cuda.h:
+ nvdec: Make OpenGL dependency optional
+ By adding system memory support for nvdec, both en/decoder
+ in the nvcodec plugin are able to be usable regardless of
+ OpenGL dependency. Besides, the direct use of system memory
+ might have less overhead than OpenGL memory depending on use cases.
+ (e.g., transcoding using S/W encoder)
+
+2019-07-25 18:27:30 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/timecode/gsttimecodestamper.c:
+ timecodestamper: Validate LTC timestamps before trying to use them
+ There's no point in working with invalid LTC timestamps as all future
+ calculations will be wrong based on this, and invalid LTC timestamps can
+ sometimes be read via the audio input.
+
+2019-07-25 20:03:02 +0700 Ilya Smelykh <ilya@videoexpertsgroup.com>
+
+ * ext/dtls/gstdtlsdec.c:
+ dtls: fix generated cert dtls agent leak
+ The generated certificate dtls agent was refed two times on the first call.
+
+2019-07-25 10:00:14 +0000 Ilya Smelykh <ilya.smelykh@gmail.com>
+
+ * ext/dtls/gstdtlsconnection.c:
+ dtls: fix dtls connection object leak
+
+2019-07-22 19:10:15 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * sys/decklink/gstdecklink.cpp:
+ decklink: Make sure to return a value from all code paths
+ False warning from MSVC, or it does not understand that
+ g_assert_not_reached() does not return.
+ ...\gst-plugins-bad-1.0-1.17.0.1\sys\decklink\gstdecklink.cpp(1647) : warning C4715: 'gst_decklink_configure_duplex_mode': not all control paths return a value
+
+2019-07-22 17:57:01 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * sys/decklink/gstdecklink.cpp:
+ decklinksrc: Reset timestamp observations on format change
+ We will usually get timestamps starting from 0 again and due to the
+ format change the clock of the input might also be different.
+
+2019-07-25 16:45:21 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvdec.c:
+ * sys/nvcodec/gstnvdec.h:
+ * sys/nvcodec/gstnvenc.c:
+ * sys/nvcodec/gstnvenc.h:
+ * sys/nvcodec/plugin.c:
+ nvcodec: Clean up pointless return values around plugin init
+ Any plugin which returned FALSE from plugin_init will be blacklisted
+ so the plugin will be unusable even if an user install required runtime
+ dependency next time. So that's the reason why nvcodec returns TRUE always.
+ This commit is to remove possible misreading code.
+
+2019-07-24 13:06:16 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstcudaloader.c:
+ * sys/nvcodec/gstcuvidloader.c:
+ * sys/nvcodec/gstnvenc.c:
+ nvcodec: Change log level for g_module_open failure
+ Since we build nvcodec plugin without external CUDA dependency,
+ CUDA and en/decoder library loading failure can be natural behavior.
+ Emit error only when the module was opend but required symbols are missing.
+
+2019-07-24 10:00:56 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvdec.c:
+ * sys/nvcodec/gstnvdec.h:
+ nvdec: Add support for 10bits 4:2:0 decoding
+ This commit includes h265 main-10 profile support if the device can
+ decode it.
+ Note that since h264 10bits decoding is not supported by nvidia GPU for now,
+ the additional code path for h264 high-10 profile is a preparation for
+ the future Nvidia's enhancement.
+
+2019-07-24 18:06:41 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvdec.c:
+ nvdec: Specify supported profiles of h264/h265 codec
+ See more details about supported formats at
+ nvidia codec sdk document "NVDEC_VideoDecoder_API_ProgGuide.pdf"
+ Table 1. Hardware Video Decoder Capabilities.
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/926
+
+2019-07-24 20:38:58 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvdec.c:
+ nvdec: Skip draining before creating internal parser
+ GstVideoDecoder::drain/flush can be called at very initial state
+ with stream-start and flush-stop event, respectively.
+ Draning with NULL CUvideoparser seems to unsafe and that eventually
+ failed to handle it.
+
+2019-07-24 14:37:40 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * ext/dash/meson.build:
+ dash: Fallback to libxml2 subproject
+
+2019-07-23 13:47:44 -0400 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ msdkdec: improve spelling and grammar of comments
+
+2019-07-23 13:16:36 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkbufferpool.c:
+ * sys/msdk/gstmsdkdec.c:
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/gstmsdkvpp.c:
+ * sys/msdk/msdk.c:
+ * sys/msdk/msdk.h:
+ msdkdec: make sure mfx frame width/height meets MSDK's requirement
+ It is possible that the output region size (e.g. 192x144) is different
+ from the coded picture size (e.g. 192x256). We may adjust the alignment
+ parameters so that the padding is respected in GstVideoInfo and use
+ GstVideoInfo to calculate mfx frame width and height
+ This fixes the error below when decoding a stream which has different
+ output region size and coded picture size
+ 0:00:00.057726900 28634 0x55df6c3220a0 ERROR msdkdec
+ gstmsdkdec.c:1065:gst_msdkdec_handle_frame:<msdkh265dec0>
+ DecodeFrameAsync failed (failed to allocate memory)
+ Sample pipeline:
+ gst-launch-1.0 filesrc location=output.h265 ! h265parse ! msdkh265dec !
+ glimagesink
+
+2019-07-23 13:28:17 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ msdkdec: remove unneeded code
+ Before calling gst_msdkdec_create_buffer_pool, the alignment parameters
+ have been adjusted.
+
+2019-07-23 09:40:24 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/meson.build:
+ * sys/nvcodec/stub/cuda.h:
+ * tests/check/meson.build:
+ nvcodec: Drop system installed cuda.h dependency
+ ... and add our stub cuda header.
+ Newly introduced stub cuda.h file is defining minimal types in order to
+ build nvcodec plugin without system installed CUDA toolkit dependency.
+ This will make cross-compile possible.
+
+2019-07-23 10:24:10 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvbaseenc.c:
+ * sys/nvcodec/gstnvdec.c:
+ nvcodec: Keep requested rank for default device
+ Fix for default encoder and decoder element factory to make them have
+ higher rank than the others.
+
+2019-07-09 13:31:27 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvbaseenc.c:
+ * sys/nvcodec/gstnvbaseenc.h:
+ * sys/nvcodec/gstnvenc.c:
+ * sys/nvcodec/gstnvenc.h:
+ * sys/nvcodec/gstnvh264enc.c:
+ * sys/nvcodec/gstnvh265enc.c:
+ nvenc: Register elements per GPU device with capability check
+ * By this commit, if there are more than one device,
+ nvenc element factory will be created per
+ device like nvh264device{device-id}enc and nvh265device{device-id}enc
+ in addition to nvh264enc and nvh265enc, so that the element factory
+ can expose the exact capability of the device for the codec.
+ * Each element factory will have fixed cuda-device-id
+ which is determined during plugin initialization
+ depending on the capability of corresponding device.
+ (e.g., when only the second device can encode h265 among two GPU,
+ then nvh265enc will choose "1" (zero-based numbering)
+ as it's target cuda-device-id. As we have element factory
+ per GPU device, "cuda-device-id" property is changed to read-only.
+ * nvh265enc gains ability to encoding
+ 4:4:4 8bits, 4:2:0 10 bits formats and up to 8K resolution
+ depending on device capability.
+ Additionally, I420 GLMemory input is supported by nvenc.
+
+2019-07-21 21:23:30 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvdec.c:
+ * sys/nvcodec/gstnvdec.h:
+ nvdec: Create CUDA context with registered device id
+ Only the default device has been used by NVDEC so far.
+ This commit make it possible to use registered device id.
+ To simplify device id selection, GstNvDecCudaContext usage is removed.
+
+2019-07-11 21:53:46 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstcuvidloader.c:
+ * sys/nvcodec/gstcuvidloader.h:
+ * sys/nvcodec/gstnvdec.c:
+ * sys/nvcodec/gstnvdec.h:
+ * sys/nvcodec/plugin.c:
+ nvdec: Register elements per device/codec with capability check
+ By this commit, each codec has its own element factory so the
+ nvdec element factory is removed. Also, if there are more than one device,
+ additional nvdec element factory will be created per
+ device like nvh264device{device-id}dec, so that the element factory
+ can expose the exact capability of the device for the codec.
+
+2019-07-18 18:27:55 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/gstmsdkvpp.c:
+ msdk: Do not expose DMA buffer caps feature on Windows
+ On Windows, DMA buffer is not supported. PadTemplate with actually
+ supported feature seems to more make sense.
+
+2019-07-22 23:01:43 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvbaseenc.c:
+ * sys/nvcodec/gstnvdec.h:
+ * sys/nvcodec/meson.build:
+ nvcodec: Drop cudaGL.h dependency
+ nvcodec does not use any type/define/enum in cudaGL.h.
+
+2019-07-22 12:23:51 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/aom/gstav1enc.c:
+ av1enc: Also set AV1E_SET_ROW_MT from the property value when initializing the encoder
+ Previously it was only set if the property was changed after the encoder
+ was initialized.
+
+2018-12-02 22:49:19 +0900 Wonchul Lee <chul0812@gmail.com>
+
+ * ext/aom/gstav1enc.c:
+ * ext/aom/gstav1enc.h:
+ av1enc: Add threads and row-mt properties
+ Add threads related property that setting a number of threads to encode
+ av1 codec and row-mt configuration.
+
+2018-12-02 21:45:50 +0900 Wonchul Lee <chul0812@gmail.com>
+
+ * ext/aom/gstav1enc.c:
+ av1enc: Release lock when failing to initialize
+ Add to missing unlock when failing to initialize encoder.
+
+2019-07-22 11:23:22 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/aom/gstav1enc.c:
+ * ext/aom/gstav1enc.h:
+ Revert "av1enc: Release lock when failing to initialize"
+ This reverts commit 7de6b5d48161cb4982efe7fd04c8be408ca85424.
+ It was accidentally squashed together from the MR instead of keeping the
+ individual commits.
+
+2019-07-22 08:00:00 +0000 Fabrice Bellet <fabrice@bellet.info>
+
+ * gst/siren/huffman.c:
+ siren: fix a global buffer overflow spotted by asan
+ This patch just enforces boudaries for the access to the
+ standard_deviation array (64 floats). Such case can be
+ seen with a corrupted stream, where there's no hope to
+ obtain a valid decoded frame anyway.
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1002
+
+2019-07-22 06:59:48 +0000 Wonchul Lee <chul0812@gmail.com>
+
+ * ext/aom/gstav1enc.c:
+ * ext/aom/gstav1enc.h:
+ av1enc: Release lock when failing to initialize
+ Add to missing unlock when failing to initialize encoder.
+
+2019-07-19 01:07:38 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvdec.c:
+ * sys/nvcodec/gstnvdec.h:
+ nvdec: Fix video stuttering issue with VP9
+ Address nvidia driver specific behavior to avoid unexpected frame mismatch
+ between GStreamer and NVDEC.
+
+2019-07-19 00:52:59 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvdec.c:
+ * sys/nvcodec/gstnvdec.h:
+ nvdec: Drop async queue and handle data on callback of CUvideoparser
+ Callbacks of CUvideoparser is called on the streaming thread.
+ So the use of async queue has no benefit.
+ Make control flow straightforward instead of long while/switch loop.
+
+2019-07-12 20:24:10 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/onvif/gstrtponviftimestamp.c:
+ rtponviftimestamp: fix setting of the discontinuity flag
+ The D bit is meant to be set whenever there is a discontinuity
+ in transmission, and directly maps to the DISCONT flag.
+ The E bit is not meant to be set on every buffer preceding a
+ discontinuity, but only on the last buffer of a contiguous section
+ of recording. This has to be signaled through the unfortunately-named
+ "discont" field of the custom NtpOffset event.
+
+2019-07-12 20:23:24 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/onvif/gstrtponvifparse.c:
+ rtponvifparse: set ONVIF timestamps as buffer PTS
+
+2019-07-10 23:40:36 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/videoparsers/gsth264parse.c:
+ * gst/videoparsers/gsth264parse.h:
+ * gst/videoparsers/gsth265parse.c:
+ * gst/videoparsers/gsth265parse.h:
+ h26{4,5}parse: add support for forward predicted trick mode
+ Also stop assigning TRUE to fields with |=
+
+2019-07-17 22:42:10 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * ext/x265/gstx265enc.c:
+ x265enc: Specify colorimetry related VUI parameters
+ Set the colorimetry config for the information to be embedded in encodec bitstream.
+
+2019-07-15 23:40:21 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvdec.c:
+ nvdec: Port to color_{primaries,transfer,matrix}_to_iso
+ ... and update the color information only when upstream was not provided
+ the information.
+
+2019-07-17 09:35:35 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvh264enc.c:
+ * sys/nvcodec/gstnvh265enc.c:
+ nvenc: Specify colorimetry related VUI parameters
+ Set the colorimetry config for the information to be embedded in encodec bitstream.
+
+2019-07-16 23:30:07 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * ext/webrtc/webrtcdatachannel.c:
+ * ext/webrtc/webrtcdatachannel.h:
+ webrtcdatachannel: inherit directly from GObject
+ There's no reason for it to inherit from GstObject apart from
+ locking, which is easily replaced, and inheriting from
+ GInitiallyUnowned made introspection awkward and needlessly
+ complicated.
+
+2019-07-17 00:13:24 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * gst/videoparsers/gsth264parse.c:
+ h264parse: Update caps per pixel aspect ratio change
+ Output caps should be updated per pixel aspect ratio change.
+
+2019-07-16 22:58:26 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * gst/videoparsers/gsth265parse.c:
+ * gst/videoparsers/gsth265parse.h:
+ h265parse: Expose parsed colorimetry when VUI provided it
+ ... and also if upstream did not specify the colorimetry.
+
+2019-07-16 09:40:01 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * gst/videoparsers/gsth264parse.c:
+ * gst/videoparsers/gsth264parse.h:
+ h264parse: Expose parsed colorimetry when VUI provided it
+ ... and also if upstream did not specify the colorimetry.
+
+2019-07-17 01:05:32 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/kms/gstkmssink.c:
+ kmssink: Fix implicit declaration build error
+ ffs() and strcmp() require string.h
+ gstkmssink.c:255:28: error: implicit declaration of function ‘ffs’ [-Werror=implicit-function-declaration]
+ crtc_id = res->crtcs[ffs (crtcs_for_connector) - 1];
+ ^~~
+ gstkmssink.c:590:10: error: implicit declaration of function ‘strcmp’ [-Werror=implicit-function-declaration]
+ if (!strcmp (property->name, prop_name)) {
+ ^~~~~~
+
+2019-07-15 16:05:05 +0200 Martin Liska <mliska@suse.cz>
+
+ * configure.ac:
+ Fix -Werror=return-type error in configure.
+
+2019-07-15 15:48:08 -0400 Martin Theriault <mtheriault@espial.com>
+
+ * gst/aiff/aiffparse.c:
+ aiff: Fix infinite loop in header parsing.
+
+2019-07-15 12:06:25 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * sys/decklink/gstdecklinkvideosrc.cpp:
+ * sys/decklink/gstdecklinkvideosrc.h:
+ decklinkvideosrc: Don't report that we have signal until we know for sure
+ Previously we would've reported that there is signal unless we know for
+ sure that we don't have signal. For example signal would've been
+ reported before the device is even opened.
+ Now keep track whether the signal state is unknown or not and report no
+ signal if we don't know yet. As before, only send an INFO message about
+ signal recovery if we actually had a signal loss before.
+
+2019-07-12 12:53:09 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/timecode/gstavwait.c:
+ avwait: In running-time mode, select start/end running time based on the actual video timestamps
+ Otherwise we would start/end at exactly the given times, which might be
+ up to 1 frame earlier/later than the video.
+
+2019-07-12 12:29:09 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/timecode/gstavwait.c:
+ avwait: Add some more debug output
+
+2019-07-12 12:28:59 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/timecode/gstavwait.c:
+ avwait: Fix clipping of audio buffers at the start of recording
+
+2019-07-10 00:34:18 +0800 Ting-Wei Lan <lantw@src.gnome.org>
+
+ * docs/meson.build:
+ build: Fix error messages for missing hotdoc extensions
+
+2019-07-09 12:43:53 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/closedcaption/gstcccombiner.c:
+ cccombiner: Proxy POSITION/DURATION/URI/CAPS/ALLOCATION queries between video sinkpad and source pad
+ We pass-through the video as is, only putting a GstMeta on it from the
+ caption sinkpad.
+ This fixes negotation problems caused by not passing through caps
+ queries in both directions.
+ Also handle CAPS/ACCEPT_CAPS queries directly for the caption pad
+ instead of proxying.
+
+2018-12-20 12:37:43 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvcodec/gstnvdec.c:
+ nvdec: Fix possible frame drop on EOS
+ On eos, baseclass videoencoder call finish() vfunc instead of drain()
+
+2019-07-08 16:43:10 -0400 Ray Tiley <ray.tiley@trms.com>
+
+ * sys/decklink/gstdecklinkvideosrc.cpp:
+ decklinkvideosrc: remove g_print
+ Causes a lot of output :)
+
+2019-07-08 23:58:29 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * ext/vulkan/vkcolorconvert.c:
+ * ext/vulkan/vkviewconvert.c:
+ vulkan: Fix incompatible type build warning
+ Make declare/define a function consistent.
+ Note that GstBaseTransform::set_caps should return gboolean
+ Compiling C object subprojects/gst-plugins-bad/ext/vulkan/f3f9d6b@@gstvulkan@sha/vkviewconvert.c.obj.
+ ../subprojects/gst-plugins-bad/ext/vulkan/vkviewconvert.c(644):
+ warning C4133: '=': incompatible types - from 'GstFlowReturn (__cdecl *)(GstBaseTransform *,GstCaps *,GstCaps *)'
+ to 'gboolean (__cdecl *)(GstBaseTransform *,GstCaps *,GstCaps *)'
+
+2019-07-08 15:51:43 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * ext/srt/gstsrtobject.c:
+ srt: Remove msg-size property
+ Remove the now unused property
+
+2019-07-08 15:50:59 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * ext/srt/gstsrtobject.c:
+ srtsrc: Receive one frame per gstbuffer
+ Don't aggregate the received data, just receive it one packet at a
+ time. So it keeps the packetization boundaries
+
+2019-07-06 16:15:40 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * ext/srt/gstsrtobject.c:
+ srt: Fix listener crash if no URI is specified
+
+2019-07-06 15:53:26 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * ext/srt/gstsrtobject.c:
+ srt: Use macro instead of duplicating a default value
+
+2019-07-06 15:45:20 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * ext/srt/gstsrtobject.c:
+ srt: Fix confusing typo in FIXME comment
+ SRT does not support IPv6, but the comment said IPv4 which was the
+ opposite of the following code.
+
+2019-07-01 13:43:28 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * configure.ac:
+ * gst/timecode/gsttimecodestamper.c:
+ * gst/timecode/gsttimecodestamper.h:
+ * gst/timecode/meson.build:
+ timecodestamper: Add support for linear timecode (LTC) from an audio stream
+ Based on a patch by
+ Georg Lippitsch <glippitsch@toolsonair.com>
+ Vivia Nikolaidou <vivia@toolsonair.com>
+ Using libltc from https://github.com/x42/libltc
+
+2019-07-01 13:42:16 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/timecode/gsttimecodestamper.c:
+ * gst/timecode/gsttimecodestamper.h:
+ * gst/timecode/meson.build:
+ timecodestamper: Rewrite element API and code flow
+ We now have a single property to select the timecode source that should
+ be applied, and for each timecode source the timecode is updated at
+ every frame. Then based on a set mode, the timecode is added to the
+ frame if none exists already or all existing timecodes are removed and
+ the timecode is added.
+ In addition the real-time clock is considered a proper timecode source
+ now instead of only allowing to initialize once in the beginning with
+ it, and also instead of just taking the current time we now take the
+ current time at the clock time of the video frame.
+
+2019-06-07 13:27:21 +0200 Marc Leeman <marc.leeman@gmail.com>
+
+ * sys/nvcodec/meson.build:
+ nvcodec: do a generic cuda tests before going into version specifics
+
+2019-05-17 22:27:50 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * configure.ac:
+ * meson_options.txt:
+ * sys/Makefile.am:
+ * sys/meson.build:
+ * sys/nvcodec/Makefile.am:
+ * sys/nvcodec/cuviddec.h:
+ * sys/nvcodec/gstcudaloader.c:
+ * sys/nvcodec/gstcudaloader.h:
+ * sys/nvcodec/gstcuvidloader.c:
+ * sys/nvcodec/gstcuvidloader.h:
+ * sys/nvcodec/gstnvbaseenc.c:
+ * sys/nvcodec/gstnvbaseenc.h:
+ * sys/nvcodec/gstnvdec.c:
+ * sys/nvcodec/gstnvdec.h:
+ * sys/nvcodec/gstnvenc.c:
+ * sys/nvcodec/gstnvenc.h:
+ * sys/nvcodec/gstnvh264enc.c:
+ * sys/nvcodec/gstnvh264enc.h:
+ * sys/nvcodec/gstnvh265enc.c:
+ * sys/nvcodec/gstnvh265enc.h:
+ * sys/nvcodec/meson.build:
+ * sys/nvcodec/nvEncodeAPI.h:
+ * sys/nvcodec/nvcuvid.h:
+ * sys/nvcodec/plugin.c:
+ * sys/nvdec/Makefile.am:
+ * sys/nvdec/meson.build:
+ * sys/nvenc/Makefile.am:
+ * sys/nvenc/README:
+ * sys/nvenc/TODO:
+ * sys/nvenc/meson.build:
+ * tests/check/Makefile.am:
+ * tests/check/meson.build:
+ nvdec,nvenc: Port to dynamic library loading
+ ... and put them into new nvcodec plugin.
+ * nvcodec plugin
+ Now each nvenc and nvdec element is moved to be a part of nvcodec plugin
+ for better interoperability.
+ Additionally, cuda runtime API header dependencies
+ (i.e., cuda_runtime_api.h and cuda_gl_interop.h) are removed.
+ Note that cuda runtime APIs have prefix "cuda". Since 1.16 release with
+ Windows support, only "cuda.h" and "cudaGL.h" dependent symbols have
+ been used except for some defined types. However, those types could be
+ replaced with other types which were defined by "cuda.h".
+ * dynamic library loading
+ CUDA library will be opened with g_module_open() instead of build-time linking.
+ On Windows, nvcuda.dll is installed to system path by CUDA Toolkit
+ installer, and on *nix, user should ensure that libcuda.so.1 can be
+ loadable (i.e., via LD_LIBRARY_PATH or default dlopen path)
+ Therefore, NVIDIA_VIDEO_CODEC_SDK_PATH env build time dependency for Windows
+ is removed.
+
+2019-01-30 20:07:29 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ d3d11videosink: Add new Direct3D11 video render plugin
+ Direct3D11 was shipped as part of Windows7 and it's obviously
+ primary graphics API on Windows.
+ This plugin includes HDR10 rendering if following requirements are satisfied
+ * IDXGISwapChain4::SetHDRMetaData is available (decleared in dxgi1_5.h)
+ * Display can support DXGI_COLOR_SPACE_RGB_FULL_G2084_NONE_P2020 color space
+ * Upstream provides 10 bitdepth format with smpte-st 2084 static metadata
+
+2019-07-06 00:58:47 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/utils.c:
+ webrtcbin: Don't assert if an SDP media can't be converted to caps
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1008
+
+2019-04-25 16:32:34 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/Makefile.am:
+ * sys/msdk/gstmsdk.c:
+ * sys/msdk/gstmsdkvp9enc.c:
+ * sys/msdk/gstmsdkvp9enc.h:
+ * sys/msdk/meson.build:
+ msdk: add msdkvp9enc element
+
+2019-04-28 16:10:13 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkallocator_libva.c:
+ msdk: workaround for MFX_FOURCC_VP9_SEGMAP surface
+ MFX_FOURCC_VP9_SEGMAP surface in MSDK is an internal surface however
+ MSDK still call the external allocator for this surface, so this plugin
+ has to return UNSUPPORTED and force MSDK allocates surface using the
+ internal allocator.
+ See https://github.com/Intel-Media-SDK/MediaSDK/issues/762 for details
+
+2019-05-08 16:05:07 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/gstmsdkenc.h:
+ msdkenc: allow encode element requires extra frames
+ The call of MFXVideoENCODE_EncodeFrameAsync may not generate output and
+ the function returns MFX_ERR_MORE_DATA with NULL sync point, the input
+ frame is cached in this case, so it is possible that all allocated
+ frames go into the surfaces_used list after calling
+ MFXVideoENCODE_EncodeFrameAsync a few times, then the encoder will fail
+ to get an available surface before releasing used frames
+ This patch adds a new field of num_extra_frames to GstMsdkEnc and allows
+ encode element requires extra frames, the default value is 0.
+ This patch is the preparation for msdkvp9enc element.
+
+2019-07-05 16:20:29 +1000 Matthew Waters <matthew@centricular.com>
+
+ * tests/check/libs/vkmemory.c:
+ tests/vulkan: fix copyright name
+
+2019-07-05 16:20:05 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkwindow.c:
+ * tests/check/libs/vkwindow.c:
+ * tests/check/meson.build:
+ vulkan/window: add property for the parent display
+
+2019-07-05 16:13:13 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkdevice.c:
+ * tests/check/libs/vkdevice.c:
+ * tests/check/meson.build:
+ vulkan/device: add property for the parent instance
+
+2019-07-04 17:22:07 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/gstvulkan.c:
+ * ext/vulkan/meson.build:
+ * ext/vulkan/shaders/meson.build:
+ * ext/vulkan/shaders/view_convert.frag:
+ * ext/vulkan/shaders/view_defines.h:
+ * ext/vulkan/vkviewconvert.c:
+ * ext/vulkan/vkviewconvert.h:
+ vulkan: add view converter element
+
+2019-07-04 17:19:31 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkcolorconvert.c:
+ vulkan: fix output framebuffer creation size
+ We don't scale when color converting so there is no impact.
+
+2019-07-05 01:26:26 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/mpegtsmux/gstbasetsmux.c:
+ * gst/mpegtsmux/tsmux/tsmux.c:
+ tsmux: output smoothly increasing PTS when in CBR mode
+ Thanks to that, when its output is plugged into eg a udp sink, the
+ outgoing data can be output in a smoother way, reducing burstiness
+
+2019-07-05 00:17:10 +1000 Jan Schmidt <jan@centricular.com>
+
+ * tests/check/libs/h264parser.c:
+ tests: Add h264parser SEI checks
+ Add some tests around SEI parsing.
+
+2019-06-28 14:59:18 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst-libs/gst/codecparsers/gsth264parser.c:
+ h264parser lib: Add more profile_idc to the recognised set
+ Update the list of profile_idc recognised during SPS parsing
+ based on H.264 201704
+
+2019-06-28 14:50:00 +1000 Jan Schmidt <jan@centricular.com>
+
+ * ext/smoothstreaming/gstmssmanifest.c:
+ * gst-libs/gst/codecparsers/gsth264parser.c:
+ * gst-libs/gst/codecparsers/gsth264parser.h:
+ * gst/videoparsers/gsth264parse.c:
+ h264parse lib: Remove the SPS parse_vui_params flag
+ The SPS parsing functions take a parse_vui_param flag
+ to skip VUI parsing, but there's no indication in the output
+ SPS struct that the VUI was skipped.
+ The only caller that ever passed FALSE seems to be the
+ important gst_h264_parser_parse_nal() function, meaning - so the
+ cached SPS were always silently invalid. That needs changing
+ anyway, meaning noone ever passes FALSE.
+ I don't see any use for saving a few microseconds in
+ order to silently produce garbage, and since this is still
+ unstable API, let's remove the parse_vui_param.
+
+2019-06-28 14:46:36 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst-libs/gst/codecparsers/gsth264parser.c:
+ h264parser lib: Warn on invalid pic_timing SEI
+ The spec calls for pic_timing SEI to be absent unless
+ there's either a CpbDpbDelaysPresentFlag or
+ pic_struct_present_flag in the SPS VUI data. If
+ both those flags are missing, warn.
+
+2019-06-28 14:42:19 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst-libs/gst/codecparsers/gsth264parser.c:
+ h264parser lib: Always consume all SEI bits
+ If parsing an SEI errors out, it might not consume
+ all bits, leaving extra unparsed data in the reader
+ that the outer loop then tries to parse as a new
+ appended SEI.
+ Skip all the bits if any are left over to avoid
+ 'finding' extra garbage SEI in the parsing.
+
+2019-06-28 02:42:00 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst-libs/gst/codecparsers/gsth264parser.c:
+ h264parser: Return BROKEN_LINK for missing SPS
+ When parsing SEI that require an SPS, return
+ GST_H264_PARSER_BROKEN_LINK instead of a generic
+ parsing error to let callers distinguish
+ bitstream errors from (expected) missing packets
+ when resuming decode.
+
+2019-06-28 01:26:19 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst-libs/gst/codecparsers/gsth264parser.h:
+ h264parser: Improve documentation
+ Improve some docs around the NALU structure contents
+
+2019-06-28 00:27:12 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst-libs/gst/codecparsers/gstmpegvideoparser.h:
+ gstmpegvideoparser: Documentation fixes
+ Fix some spelling mistakes and improve documentation in
+ the MPEG video parser
+
+2019-07-04 19:43:42 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * gst/mpegtsmux/tsmux/tsmuxstream.c:
+ tsmuxstream: Do not try return from void function
+ ../subprojects/gst-plugins-bad/gst/mpegtsmux/tsmux/tsmuxstream.c(1082): warning C4098:
+ 'tsmux_stream_get_es_descrs': 'void' function returning a value
+
+2019-07-04 19:42:48 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * gst/mpegtsmux/gstbasetsmux.c:
+ * gst/mpegtsmux/gstbasetsmux.h:
+ * gst/mpegtsmux/gstbasetsmuxaac.c:
+ * gst/mpegtsmux/gstbasetsmuxaac.h:
+ * gst/mpegtsmux/gstbasetsmuxjpeg2000.c:
+ * gst/mpegtsmux/gstbasetsmuxjpeg2000.h:
+ * gst/mpegtsmux/gstbasetsmuxopus.c:
+ * gst/mpegtsmux/gstbasetsmuxopus.h:
+ * gst/mpegtsmux/gstbasetsmuxttxt.c:
+ * gst/mpegtsmux/gstbasetsmuxttxt.h:
+ * gst/mpegtsmux/gstmpegtsmux.c:
+ * gst/mpegtsmux/gstmpegtsmux.h:
+ * gst/mpegtsmux/tsmux/tsmux.c:
+ * gst/mpegtsmux/tsmux/tsmux.h:
+ * gst/mpegtsmux/tsmux/tsmuxcommon.h:
+ * gst/mpegtsmux/tsmux/tsmuxstream.c:
+ * gst/mpegtsmux/tsmux/tsmuxstream.h:
+ mpegtsmux: Remove white space
+
+2019-07-04 14:16:17 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/meson.build:
+ * ext/vulkan/vksink.c:
+ * ext/vulkan/vksink.h:
+ * gst-libs/gst/vulkan/gstvkswapper.c:
+ * gst-libs/gst/vulkan/gstvkswapper.h:
+ * gst-libs/gst/vulkan/meson.build:
+ * gst-libs/gst/vulkan/vulkan.h:
+ vulkan: move swapper object to the gstvulkan library
+ Allows other sinks and/or user code to display to a VkSurface
+
+2019-07-04 14:03:51 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/meson.build:
+ * ext/vulkan/vkcolorconvert.c:
+ * ext/vulkan/vkdownload.c:
+ * ext/vulkan/vkfullscreenrender.c:
+ * ext/vulkan/vkfullscreenrender.h:
+ * ext/vulkan/vkimageidentity.c:
+ * ext/vulkan/vkswapper.c:
+ * ext/vulkan/vkupload.c:
+ * gst-libs/gst/vulkan/gstvktrash.c:
+ * gst-libs/gst/vulkan/gstvktrash.h:
+ * gst-libs/gst/vulkan/meson.build:
+ * gst-libs/gst/vulkan/vulkan.h:
+ * gst-libs/gst/vulkan/vulkan_fwd.h:
+ vulkan: move trash list to library
+
+2019-07-03 13:48:49 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/gstwebrtcbin.h:
+ * ext/webrtc/utils.c:
+ * ext/webrtc/utils.h:
+ webrtcbin: use the latest self-generated SDP as the basis for renegotiations
+ Fixes multiple errors when a webrtcbin renegotiation can switch between the
+ offerer and the answerer.
+
+2019-05-17 16:00:24 -0700 Ederson de Souza <ederson.desouza@intel.com>
+
+ * ext/avtp/gstavtp.c:
+ avtp: Update documentation
+
+2019-03-26 14:25:56 -0700 Ederson de Souza <ederson.desouza@intel.com>
+
+ * tests/check/Makefile.am:
+ * tests/check/elements/avtpcvfdepay.c:
+ * tests/check/meson.build:
+ tests: Add AVTP CVF depayloader tests
+ In these tests, some specially crafted buffers are sent to the
+ depayloader, simulating some scenarios and checking what comes out from
+ it.
+
+2019-03-25 17:23:49 -0700 Ederson de Souza <ederson.desouza@intel.com>
+
+ * tests/check/Makefile.am:
+ * tests/check/elements/avtpcvfpay.c:
+ * tests/check/meson.build:
+ tests: Add AVTP CVF payloader tests
+ In these tests, some specially crafted buffers are sent to the
+ payloader, simulating some scenarios and checking what comes out from
+ it.
+
+2019-05-02 10:52:42 -0700 Andre Guedes <andre.guedes@intel.com>
+
+ * tests/check/Makefile.am:
+ * tests/check/elements/avtpsrc.c:
+ * tests/check/meson.build:
+ tests: Add AVTP source tests
+ This patch adds test cases for the AVTP source element. For now, only
+ properties get() and set() are covered.
+
+2019-04-25 14:16:46 -0700 Andre Guedes <andre.guedes@intel.com>
+
+ * tests/check/Makefile.am:
+ * tests/check/elements/avtpsink.c:
+ * tests/check/meson.build:
+ tests: Add AVTP sink tests
+ This patch adds test cases for the AVTP sink element. For now, only
+ properties get() and set() are covered.
+
+2019-04-09 14:10:36 -0700 Andre Guedes <andre.guedes@intel.com>
+
+ * tests/check/Makefile.am:
+ * tests/check/elements/avtpaafdepay.c:
+ * tests/check/meson.build:
+ tests: Add AAF depayloader tests
+ This patch adds test cases for the AAF depayloader element covering the
+ basic functionalities.
+
+2019-03-22 15:54:23 -0700 Andre Guedes <andre.guedes@intel.com>
+
+ * tests/check/Makefile.am:
+ * tests/check/elements/avtpaafpay.c:
+ * tests/check/meson.build:
+ tests: Add AAF payloader tests
+ This patch adds the infrastructure to test AVTP plugin elements. It also
+ adds a test case to check avtpaafpay element basic functionality. The
+ test consists in setting the element sink caps and properties, and
+ verifying if the output buffer is set as expected.
+
+2019-04-16 17:32:46 -0700 Ederson de Souza <ederson.desouza@intel.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/avtp/meson.build:
+ docs: Add AVTP elements documentation
+
+2019-03-20 16:40:13 -0700 Ederson de Souza <ederson.desouza@intel.com>
+
+ * ext/avtp/gstavtpcvfdepay.c:
+ * ext/avtp/gstavtpcvfdepay.h:
+ avtp: Add fragmented packets handling to CVF depayloader
+ This patch adds to the CVF depayloader the capability to regroup H.264
+ fragmented FU-A packets.
+ After all packets are regrouped, they are added to the "stash" of H.264
+ NAL units that will be sent as soon as an AVTP packet with M bit set is
+ found (usually, the last fragment).
+ Unrecognized fragments (such as first fragment seen, but with no Start
+ bit set) are discarded - and any NAL units on the "stash" are sent
+ downstream, as if a SEQNUM discontinuty happened.
+
+2019-03-12 15:46:16 -0700 Ederson de Souza <ederson.desouza@intel.com>
+
+ * ext/avtp/Makefile.am:
+ * ext/avtp/gstavtp.c:
+ * ext/avtp/gstavtpcvfdepay.c:
+ * ext/avtp/gstavtpcvfdepay.h:
+ * ext/avtp/meson.build:
+ avtp: Introduce AVTP CVF depayloader element
+ This patch introduces the AVTP Compressed Video Format (CVF) depayloader
+ specified in IEEE 1722-2016 section 8. Currently, this depayloader only
+ supports H.264 encapsulation described in section 8.5.
+ Is also worth noting that only single NAL units are handled: aggregated
+ and fragmented payloads are not handled.
+ As stated in AVTP CVF payloader patch, AVTP timestamp is used to define
+ outgoing buffer DTS, while the H264_TIMESTAMP defines outgoing buffer
+ PTS.
+ When an AVTP packet is received, the extracted H.264 NAL unit is added to
+ a "stash" (the out_buffer) of H.264 NAL units. This "stash" is pushed
+ downstream as single buffer (with NAL units aggregated according to format
+ used on GStreamer, based on ISO/IEC 14496-15) as soon as we get the AVTP
+ packet with M bit set.
+ This patch groups NAL units using a fixed NAL size lenght, sent downstream
+ on the `codec_data` capability.
+ The "stash" of NAL units can be prematurely sent downstream if a
+ discontinuity (a missing SEQNUM) happens.
+ This patch reuses the infra provided by gstavtpbasedepayload.c.
+
+2019-03-05 18:09:13 -0800 Ederson de Souza <ederson.desouza@intel.com>
+
+ * ext/avtp/gstavtpcvfpay.c:
+ avtp: Add fragmentation feature to CVF payloader
+ Based on `mtu` property, the CVF payloader is now capable of properly
+ fragmenting H.264 NAL units that are bigger than MTU in several AVTP
+ packets.
+ AVTP spec defines two methods for fragmenting H.264 packets, but this
+ patch only generates non-interleaved FU-A fragments.
+ Usually, only the last NAL unit from a group of NAL units in a single
+ buffer will be big enough to be fragmented. Nevertheless, only the last
+ AVTP packet sent for a group of NAL units will have the M bit set (this
+ means that the AVTP packet for the last fragment will only have the M
+ bit set if there's no more NAL units in the group).
+
+2019-02-28 15:49:02 -0800 Ederson de Souza <ederson.desouza@intel.com>
+
+ * ext/avtp/Makefile.am:
+ * ext/avtp/gstavtp.c:
+ * ext/avtp/gstavtpcvfpay.c:
+ * ext/avtp/gstavtpcvfpay.h:
+ * ext/avtp/meson.build:
+ avtp: Introduce AVTP CVF payloader element
+ This patch introduces the AVTP Compressed Video Format (CVF) payloader
+ specified in IEEE 1722-2016 section 8. Currently, this payload only
+ supports H.264 encapsulation described in section 8.5.
+ Is also worth noting that only single NAL units are encapsulated: no
+ aggregation or fragmentation is performed by the payloader.
+ An interesting characteristic of CVF H.264 spec is that it defines an
+ H264_TIMESTAMP, in addition to the AVTP timestamp. The later is
+ translated to the GST_BUFFER_DTS while the former is translated to the
+ GST_BUFFER_PTS. From AVTP CVF H.264 spec, it is clear that the AVTP
+ timestamp is related to the decoding order, while the H264_TIMESTAMP is
+ an ancillary information to the H.264 decoder.
+ Upon receiving a buffer containing a group of NAL units, the avtpcvfpay
+ element will extract each NAL unit and payload them into individual AVTP
+ packets. The last AVTP packet generated for a group of NAL units will
+ have the M bit set, so the depayloader is able to properly regroup them.
+ The exact format of the buffer of NAL units is described on the
+ 'codec_data' capability, which is parsed by the avtpcvfpay, in the same
+ way done in rtph264pay.
+ This patch reuses the infra provided by gstavtpbasepayload.c.
+
+2019-01-23 15:17:48 -0800 Andre Guedes <andre.guedes@intel.com>
+
+ * ext/avtp/Makefile.am:
+ * ext/avtp/gstavtp.c:
+ * ext/avtp/gstavtpsrc.c:
+ * ext/avtp/gstavtpsrc.h:
+ * ext/avtp/meson.build:
+ avtp: Introduce AVTP source element
+ This patch introduces the avtpsrc element which implements a typical
+ network source. The avtpsrc element receives AVTPDUs encapsulated into
+ Ethernet frames and push them downstream in the GStreamer pipeline.
+ Implementation if pretty straightforward since the burden is implemented
+ by GstPushSrc class.
+ Likewise the avtpsink element, applications that utilize this element
+ must have CAP_NET_RAW capability since it is required by Linux to open
+ sockets from AF_PACKET domain.
+
+2019-01-23 10:56:10 -0800 Andre Guedes <andre.guedes@intel.com>
+
+ * ext/avtp/Makefile.am:
+ * ext/avtp/gstavtp.c:
+ * ext/avtp/gstavtpsink.c:
+ * ext/avtp/gstavtpsink.h:
+ * ext/avtp/meson.build:
+ avtp: Introduce AVTP sink element
+ This patch introduces the avtpsink elements which implements a typical
+ network sink. Implementation is pretty straightforward since the burden
+ is implemented by GstBaseSink class.
+ The avtpsink element defines three new properties: 1) network interface
+ from where AVTPDU should be transmitted, 2) destination MAC address
+ (usually a multicast address), and 3) socket priority (SO_PRIORITY).
+ Socket setup and teardown are done in start/stop virtual methods while
+ AVTPDU transmission is carried out by render(). AVTPDUs are encapsulated
+ into Ethernet frames and transmitted to the network via AF_PACKET socket
+ domain. Linux requires CAP_NET_RAW capability in order to open an
+ AF_PACKET socket so the application that utilize this element must have
+ it. For further info about AF_PACKET socket domain see packet(7).
+ Finally, AVTPDUs are expected to be transmitted at specific times -
+ according to the GstBuffer presentation timestamp - so the 'sync'
+ property from GstBaseSink is set to TRUE by default.
+
+2019-01-23 16:20:27 -0800 Andre Guedes <andre.guedes@intel.com>
+
+ * ext/avtp/Makefile.am:
+ * ext/avtp/gstavtp.c:
+ * ext/avtp/gstavtpaafdepay.c:
+ * ext/avtp/gstavtpaafdepay.h:
+ * ext/avtp/gstavtpbasedepayload.c:
+ * ext/avtp/gstavtpbasedepayload.h:
+ * ext/avtp/meson.build:
+ avtp: Introduce AAF depayloader element
+ This patch introduces the AAF depayloader element, the counterpart from
+ the AAF payloader. As expected, this element inputs AVTPDUs and outputs
+ audio raw data and supports AAF PCM encapsulation only.
+ The AAF depayloader srcpad produces a fixed format that is encoded
+ within the AVTPDU. Once the first AVTPDU is received by the element, the
+ audio features e.g. sample format, rate, number of channels, are decoded
+ and the srcpad caps are set accordingly. Also, at this point, the
+ element pushes a SEGMENT event downstream defining the segment according
+ to the AVTP presentation time.
+ All AVTP depayloaders will share some common code. For that reason, this
+ patch introduces the GstAvtpBaseDepayload abstract class that implements
+ common depayloader functionalities. AAF-specific functionalities are
+ implemented in the derived class GstAvtpAafDepay.
+
+2019-01-16 17:16:59 -0800 Andre Guedes <andre.guedes@intel.com>
+
+ * ext/avtp/Makefile.am:
+ * ext/avtp/gstavtp.c:
+ * ext/avtp/gstavtpaafpay.c:
+ * ext/avtp/gstavtpaafpay.h:
+ * ext/avtp/gstavtpbasepayload.c:
+ * ext/avtp/gstavtpbasepayload.h:
+ * ext/avtp/meson.build:
+ avtp: Introduce AAF payloader element
+ This patch introduces the AVTP Audio Format (AAF) payloader element from
+ the AVTP plugin. The element inputs audio raw data and outputs AVTP
+ packets (aka AVTPDUs), implementing a typical protocol payloader element
+ from GStreamer.
+ AAF is one of the available formats to transport audio data in an AVTP
+ system. AAF is specified in IEEE 1722-2016 section 7 and provides two
+ encapsulation mode: PCM and AES3. This patch implements PCM
+ encapsulation mode only.
+ The AAF payloader working mechanism consists of building the AAF header,
+ prepending it to the GstBuffer received on the sink pad, and pushing the
+ buffer downstream. Payloader parameters such as stream ID, maximum
+ transit time, time uncertainty, and timestamping mode are passed via
+ element properties. AAF doesn't support all possible sample format and
+ sampling rate values so the sink pad caps template from the payloader is
+ a subset of audio/x-raw. Additionally, this patch implements only
+ "normal" timestamping mode from AAF. "Sparse" mode should be implemented
+ in future.
+ Upcoming patches will introduce other AVTP payloader elements that will
+ have some common code. For that reason, this patch introduces the
+ GstAvtpBasePayload abstract class that implements common payloader
+ functionalities, and the GstAvtpAafPay class that extends the
+ GstAvtpBasePayload class, implementing AAF-specific functionalities.
+ The AAF payloader element is most likely to be used with the AVTP sink
+ element (to be introduced by a later patch) but it could also be used
+ with UDP sink element to implement AVTP over UDP as described in IEEE
+ 1722-2016 Annex J.
+ This element was inspired by RTP payloader elements.
+
+2019-01-14 10:18:42 -0800 Andre Guedes <andre.guedes@intel.com>
+
+ * configure.ac:
+ * ext/Makefile.am:
+ * ext/avtp/Makefile.am:
+ * ext/avtp/gstavtp.c:
+ * ext/avtp/meson.build:
+ * ext/meson.build:
+ * meson_options.txt:
+ avtp: AVTP plugin bootstrap code
+ This patch introduces the bootstrap code from the AVTP plugin (plugin
+ definition and init) as well as the build system files. Upcoming patches
+ will introduce payloaders, source and sink elements provided by the AVTP
+ plugin. These elements can be utilized by a GStreamer pipeline to
+ implement TSN audio/video applications.
+ Regarding the plugin build system files, both autotools and meson files
+ are introduced. The AVTP plugin is landed in ext/ since it has an
+ external dependency on libavtp, an opensource AVTP packetization
+ library. For further information about libavtp check [1].
+ [1] https://github.com/AVnu/libavtp
+
+2019-07-04 01:12:06 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst/videoparsers/gsth265parse.c:
+ h265parse: Don't segfault when SPS hasn't been seen yet.
+ Fix a recently introduced segfault. Don't de-reference a NULL
+ SPS pointer when attempting to update source caps before SPS
+ has been seen in the stream.
+
+2019-07-02 14:30:35 +0300 OleksandrKvl <oleksandrdvl@gmail.com>
+
+ * gst/pcapparse/gstirtspparse.c:
+ * gst/pcapparse/gstirtspparse.h:
+ irtspparse: handle multiple and incomplete frames
+ Interleaved frames can be fragmented between
+ incoming frames. Thus, we can have multiple
+ frames within the single input frame, as well as
+ incomplete frame. Now it preserves parsing
+ state and handle both situations.
+ Fixes #991
+
+2019-06-24 13:33:54 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/gstmsdkvpp.c:
+ msdk: don't share context between msdkvpp and msdkenc
+ msdkenc supports CSC implicitly, so it is possible that two VPP
+ processes are required when a pipeline contains msdkvpp and msdkenc.
+ Before this fix, msdkvpp and msdkenc may share the same context, hence
+ the same mfx session, which results in MFX_ERR_UNDEFINED_BEHAVIOR
+ in MSDK because a mfx session has at most one VPP process only
+ This fixes the broken pipelines below:
+ gst-launch-1.0 videotestsrc ! video/x-raw,format=I420 ! msdkh264enc ! \
+ msdkh264dec ! msdkvpp ! video/x-raw,format=YUY2 ! fakesink
+ gst-launch-1.0 videotestsrc ! msdkvpp ! video/x-raw,format=YUY2 ! \
+ msdkh264enc ! fakesink
+
+2019-06-21 18:18:44 -0700 U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+ * sys/msdk/gstmsdkmjpegdec.c:
+ msdkmjpegdec: support 422 output
+ MSDK supports JPEG YUY2 (422 chroma) output color
+ format. The color format of input bitstream is
+ described by JPEGChromaFormat and JPEGColorFormat
+ fields in the mfxInfoMFX structure which is filled
+ in by the MFXVideoDECODE_DecodeHeader function.
+ To obtain lossless decoded output from 422 encoded
+ JPEGs, we must set the output color format in the
+ FourCC and ChromaFormat fields in the mfxFrameInfo
+ structure to the appropriate values at post_configure
+ so that they are propagated through to the srcpad
+ caps accordingly.
+
+2019-06-21 18:12:48 -0700 U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ * sys/msdk/gstmsdkdec.h:
+ msdkdec: add post_configure virtual method
+ A post_configure virtual method is added to allow
+ codec subclasses to adjust the initialized parameters
+ after MFXVideoDECODE_DecodeHeader is called from the
+ gstmsdkdec::gst_msdkdec_handle_frame function.
+ This is useful if codecs want to adjust the output
+ parameters based on the codec-specific decoding
+ options that are present in the mfxInfoMFX structure
+ after MFXVideoDECODE_DecodeHeader initializes them.
+
+2019-06-03 16:25:57 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkvp9dec.c:
+ msdkvp9dec: add support for VP9 444
+ The output formats are VUYA for 8bit 444 and Y410 for 10bit 444.
+
+2019-05-31 16:34:54 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkh265dec.c:
+ msdkh265dec: add support for main-444-10/main-444-10-intra profile
+ The output format is Y410
+
+2019-05-31 16:22:08 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdksystemmemory.c:
+ * sys/msdk/gstmsdkvideomemory.c:
+ msdk: return a right pointer for Y410 when mapping a frame
+
+2019-06-03 14:05:07 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/msdk.c:
+ msdk: set right BitDepth and Shift for Y410 mfx frame
+ BitDepth is 10 and Shitf must be set to 0 when creating Y410 mfx
+ frame in MSDK
+
+2019-05-31 15:37:51 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkallocator_libva.c:
+ * sys/msdk/gstmsdksystemmemory.c:
+ msdk: set parameters in mfxFrameData for a MFX_FOURCC_Y410 frame
+
+2019-05-31 15:26:50 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkallocator_libva.c:
+ * sys/msdk/msdk_libva.c:
+ msdk: map MFX_FOURCC_Y410 to VA_FOURCC_Y410
+
+2019-05-31 15:21:05 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkallocator_libva.c:
+ msdk: map GST_VIDEO_FORMAT_Y410 to VA_FOURCC_Y410
+
+2019-05-31 15:13:47 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/msdk.c:
+ msdk: map GST_VIDEO_FORMAT_Y410 to MFX_FOURCC_Y410
+
+2019-05-31 12:48:15 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkh265dec.c:
+ msdkh265dec: add support for main-444 profile
+ The output format is VUYA
+
+2019-05-30 11:13:26 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkh265dec.c:
+ msdkh265dec: add support for main-422-10/main-422-10-intra 10bit
+ The ouput format is Y210
+
+2019-05-30 12:20:54 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/msdk.c:
+ msdk: set right BitDepth and Shift for Y210 mfx frame
+ BitDepth is 10 and Shitf must be set to 1 when creating Y210 mfx
+ frame in MSDK
+
+2019-05-30 11:10:58 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkallocator_libva.c:
+ * sys/msdk/gstmsdksystemmemory.c:
+ msdk: set parameters in mfxFrameData for a MFX_FOURCC_Y210 frame
+
+2019-05-30 11:02:08 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkallocator_libva.c:
+ * sys/msdk/msdk_libva.c:
+ msdk: map MFX_FOURCC_Y210 to VA_FOURCC_Y210
+
+2019-05-30 09:56:43 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkallocator_libva.c:
+ msdk: map GST_VIDEO_FORMAT_Y210 to VA_FOURCC_Y210
+
+2019-05-30 09:49:22 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/msdk.c:
+ msdk: map GST_VIDEO_FORMAT_Y210 to MFX_FOURCC_Y210
+
+2019-05-28 16:50:59 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdkh265dec.c:
+ msdkh265dec: add support for main-422-10/main-422-10-intra 8bit
+ The output format is YUY2
+
+2019-06-28 15:46:22 +1000 Jan Schmidt <jan@centricular.com>
+
+ * sys/uvch264/Makefile.am:
+ uvch264: Fix autotools build.
+ Add gstuvch264deviceprovider.c to the Makefile.am missed
+ in MR 387
+
+2019-06-26 19:53:51 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * gst/rtp/gstrtpsink.c:
+ * gst/rtp/gstrtpsrc.c:
+ rtp: Fix incompatible type build warning
+ Use GstURIType instead of guint
+ ../subprojects/gst-plugins-bad/gst/rtp/gstrtpsink.c(575):
+ warning C4133: '=': incompatible types ...
+ ../subprojects/gst-plugins-bad/gst/rtp/gstrtpsrc.c(725):
+ warning C4133: '=': incompatible types ...
+
+2019-06-25 20:37:57 +0200 Juan Navarro <juan.navarro@gmx.es>
+
+ * ext/dtls/gstdtlsagent.c:
+ dtlsagent: Clear the certificate upon finalize
+ Cleaning this up was likely just forgotten
+
+2019-06-25 20:37:38 +0200 Juan Navarro <juan.navarro@gmx.es>
+
+ * ext/dtls/gstdtlsdec.c:
+ dtlsdec: Avoid duplicate ref when passing certificate property
+ The agent itself will take a ref on the property setter, so we'll be
+ left with two references to the certificate object, when actually there
+ should be only one
+
+2019-05-20 23:19:19 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/bluez/meson.build:
+ meson: bluez: Early terminate configure on Windows
+ This plugin is for linux bluetooth stack. So the early termination can save
+ configure time on Windows (i.e., we can avoid glib subproject fallback)
+
+2019-06-12 11:12:37 +0100 Philippe Normand <philn@igalia.com>
+
+ * ext/wpe/WPEThreadedView.cpp:
+ * ext/wpe/WPEThreadedView.h:
+ wpe: Port for WPEWebKit 2.25.x
+ When WPEBackend-fdo >= 1.3.0 is detected, the threaded view now relies on the
+ wpe_fdo_egl_exported_image API instead of the EGLImageKHR-based API which is
+ going to be deprecated in 2.26. The GLib sources created by the view now use the
+ default priority as well, the custom priority is no longer required.
+
+2019-06-24 18:39:35 +0300 OleksandrKvl <oleksandrdvl@gmail.com>
+
+ * gst/pcapparse/gstpcapparse.c:
+ pcapparse: Fix handling of TCP payload length
+ The length of the TCP payload is the IP plus TCP header length
+ subtracted from the IP datagram length specified in the IP header.
+ Prior to this, the size was calculated incorrectly, considering
+ all data after TCP header as a payload till the end of a packet.
+ Fixes #995
+
+2019-06-24 13:50:19 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/timecode/gstavwait.c:
+ avwait: Make sure to never unref an input buffer we already unreffed before
+
+2019-06-20 19:59:16 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/timecode/gstavwait.c:
+ * gst/timecode/gstavwait.h:
+ avwait: Add support for setting an end running time
+ It was possible to set a start running time and start/end timecode
+ before, but not an end running time.
+
+2019-06-20 17:50:43 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/timecode/gstavwait.c:
+ avwait: Correctly stop recording and signal recording stop on EOS
+ If recording is set to FALSE after the last audio or video buffer and
+ before the EOS event then recording stop is never signalled.
+ Similarly, we should signal recording stop once both audio and video are
+ EOS, regardless of the recording property, as there's nothing to be
+ recorded anymore.
+
+2019-06-24 16:22:47 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vksink.c:
+ * ext/vulkan/vkswapper.c:
+ * ext/vulkan/vkswapper.h:
+ vkswapper: support rescaling to the output size
+
+2019-06-24 15:32:25 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vksink.c:
+ * ext/vulkan/vkswapper.c:
+ vksink: Don't take vulkan buffer's as input
+
+2019-06-24 15:30:56 +1000 Matthew Waters <matthew@centricular.com>
+
+ * tests/check/elements/vkcolorconvert.c:
+ tests/vkcolorconvert: remove extra instance/device creation
+ It's unnecessary.
+
+2019-06-20 08:59:22 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * sys/decklink/gstdecklink.cpp:
+ decklink: Correctly ensure >=16 byte alignment for the buffers we allocate
+ We'll ensure at least 64 byte alignment for AVX2 but 16 byte alignment
+ is what is required by the decklink SDK.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/986
+
+2019-06-23 17:03:32 +0100 Philippe Normand <philn@igalia.com>
+
+ * ext/webrtc/webrtcdatachannel.c:
+ webrtc: Fix data-channel send-string doc
+
+2019-06-20 10:04:06 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * sys/decklink/gstdecklinkvideosrc.cpp:
+ decklinkvideosrc: Notify about signal loss even when dropping no-signal frames
+ Otherwise the application has no way of knowing that signal loss
+ happened other than noticing a gap between actual frames.
+
+2019-06-20 14:36:02 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/shaders/ayuv_to_rgb.frag:
+ * ext/vulkan/shaders/downsample_ayuv.glsl:
+ vulkan: remove unused downsample AYUV shader
+
+2019-06-19 19:43:14 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * ext/webrtc/transportreceivebin.c:
+ * ext/webrtc/transportreceivebin.h:
+ webrtcbin: fix DTLS when receivebin is set to DROP
+ Regression introduced by b4bdcf15b7237eb5c5943c4f746701a477333000
+ This commit prevents the handshake from reaching dtlsdec when
+ the receive state of the receive bin is set to DROP (for example
+ when transceivers are sendonly).
+ This preserves the intent of the commit, by blocking the bin
+ at its sinks until the receive state is no longer BLOCK, but
+ makes sure the handshake still goes through, by only dropping
+ data at the src pads, as was the case before.
+
+2019-06-20 01:39:53 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/shaders/meson.build:
+ * ext/vulkan/shaders/nv12_to_rgb.frag:
+ * ext/vulkan/shaders/rgb_to_nv12.frag:
+ * ext/vulkan/shaders/upsample_nv12.glsl:
+ * ext/vulkan/vkcolorconvert.c:
+ * ext/vulkan/vkfullscreenrender.c:
+ vkcolorconvert: add support for RGB<->NV12
+
+2019-06-20 01:36:55 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkupload.c:
+ * gst-libs/gst/vulkan/gstvkbuffermemory.c:
+ * gst-libs/gst/vulkan/gstvkbufferpool.c:
+ * tests/check/elements/vkcolorconvert.c:
+ vkbuffermemory: report requested size of the memory
+ Rather than using Vulkan's much larger aligned sizes. Fixes multi-planer
+ video with the GstVideoFrame API.
+
+2019-06-19 19:09:21 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/shaders/ayuv_to_rgb.frag:
+ * ext/vulkan/shaders/color_convert_generic.glsl:
+ * ext/vulkan/shaders/downsample_ayuv.glsl:
+ * ext/vulkan/shaders/meson.build:
+ * ext/vulkan/shaders/rgb_to_ayuv.frag:
+ * ext/vulkan/shaders/rgb_to_yuy2.frag:
+ * ext/vulkan/shaders/swizzle.glsl:
+ * ext/vulkan/shaders/upsample_ayuv.glsl:
+ * ext/vulkan/shaders/upsample_yuy2.glsl:
+ * ext/vulkan/shaders/uyvy_to_rgb.frag:
+ * ext/vulkan/shaders/yuy2_to_rgb.frag:
+ * ext/vulkan/vkcolorconvert.c:
+ * ext/vulkan/vkcolorconvert.h:
+ vulkancolorconvert: support RGB <-> AYUV/YUY2/UYVY
+
+2019-06-19 15:28:42 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vktrash.c:
+ * ext/vulkan/vktrash.h:
+ vktrash: add mini_object_unref destroy function
+
+2019-06-19 15:27:11 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkfullscreenrender.c:
+ * ext/vulkan/vkimageidentity.c:
+ vkfullscreenrender: create descriptor sets later
+ The desciptor sets may be dependant on the caps
+
+2019-06-19 15:25:18 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/shaders/meson.build:
+ vulkan/shaders: change glslc compilation args based on configurations
+ Add depfile support so that modifying an #included glsl snippet
+ rebuilds all the dependant shaders.
+
+2019-06-13 18:05:40 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/gstvulkan.c:
+ * ext/vulkan/meson.build:
+ * ext/vulkan/shaders/meson.build:
+ * ext/vulkan/shaders/swizzle.frag:
+ * ext/vulkan/shaders/swizzle.glsl:
+ * ext/vulkan/shaders/swizzle_and_clobber_alpha.frag:
+ * ext/vulkan/vkcolorconvert.c:
+ * ext/vulkan/vkcolorconvert.h:
+ * tests/check/elements/vkcolorconvert.c:
+ * tests/check/meson.build:
+ vulkan: add a color conversion element
+ Currently converts between all 4-component RGBA/RGBx formats.
+
+2019-06-13 17:57:51 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkformat.c:
+ * gst-libs/gst/vulkan/gstvkformat.h:
+ * gst-libs/gst/vulkan/meson.build:
+ * gst-libs/gst/vulkan/vulkan.h:
+ vulkan: add some information on vulkan formats
+
+2019-06-13 17:44:22 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkupload.c:
+ vkupload: Also implement copying non vulkan memory into vulkan buffers
+ The only way we can upload things is through our memory so any
+ non-vulkan memory that appears must be copied into our memory.
+
+2019-06-13 17:05:44 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/gstvulkan.c:
+ * ext/vulkan/meson.build:
+ * ext/vulkan/vkdownload.c:
+ * ext/vulkan/vkdownload.h:
+ vulkan: add download element
+ Currently only downloads images into a host-visible buffer and
+ synchronises immediately.
+
+2019-06-11 02:05:32 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/meson.build:
+ * ext/vulkan/shaders/identity.frag:
+ * ext/vulkan/shaders/identity.vert:
+ * ext/vulkan/vkfullscreenrender.c:
+ * ext/vulkan/vkfullscreenrender.h:
+ * ext/vulkan/vkimageidentity.c:
+ * ext/vulkan/vkimageidentity.h:
+ vulkan/identity: Split out most rendering code to a base class
+ A simple base class that renders a 2d fullscreen quad parallel to the
+ screen surface inside the view frustum.
+
+2019-06-12 18:25:00 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkupload.c:
+ vkupload: fix a structure sType
+
+2019-06-11 18:37:59 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkdevice.c:
+ * gst-libs/gst/vulkan/gstvkdisplay.c:
+ * gst-libs/gst/vulkan/gstvkinstance.c:
+ * gst-libs/gst/vulkan/gstvkqueue.c:
+ vulkan: ensure initialization of a couple of debug categories
+ Needed when some of the context querying functions can be called before
+ an instance has been created.
+
+2019-05-21 17:19:00 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vksink.c:
+ * ext/vulkan/vkswapper.c:
+ * ext/vulkan/vkswapper.h:
+ vksink: Retrieve vulkan queue earlier
+ Allows using the swapper's queue over upstream's queue. The swapper
+ will check for the necessary presentation support that upstream may not
+ consider.
+
+2019-06-19 14:13:02 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/videoparsers/gstmpegvideoparse.c:
+ mpegvideoparse: Pass through interlace-mode field from upstream if available
+ We generally always prefer the information from upstream for other
+ metadata (pixel-aspect-ration, etc.) and should also do so here.
+ Other parsers (h264parse) already do the same.
+
+2019-06-19 13:31:39 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/zbar/gstzbar.c:
+ zbar: Include running-time, stream-time and duration in the messages
+ The timestamp/PTS alone is meaningless without the segment and usually
+ applications care about the running-time or stream-time.
+ This also keeps the messages in sync with the spectrum and level
+ elements.
+
+2017-11-04 20:40:18 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * tests/check/elements/hlsdemux_m3u8.c:
+ tests: hls: Add a test case for EXT-X-MAP tag
+ https://bugzilla.gnome.org/show_bug.cgi?id=776928
+
+2019-05-12 19:21:23 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * ext/hls/meson.build:
+ * tests/check/elements/hlsdemux_m3u8.c:
+ * tests/check/meson.build:
+ tests: Enable hls m3u8 unit test with meson build
+
+2017-11-04 20:39:39 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * ext/hls/gsthlsdemux.c:
+ hlsdemux: Set fragment header uri if exists
+ To allow downloading fragment hearder, set its uri if there is
+ available "Media Initialization" parsed from EXT-X-MAP tag
+ https://bugzilla.gnome.org/show_bug.cgi?id=776928
+
+2017-11-04 20:15:33 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * ext/hls/m3u8.c:
+ * ext/hls/m3u8.h:
+ hls: m3u8: Parsing EXT-X-MAP tag to store initialization data
+ EXT-X-MAP tag informs media initialization data,
+ such as moov box in ISOBMFF case and PAT/PMT for MPEG TS stream.
+ https://bugzilla.gnome.org/show_bug.cgi?id=776928
+
+2017-01-30 14:13:06 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * ext/hls/gsthlsdemux.c:
+ hlsdemux: Do not clear/advance fragment by finished header downloading
+ Header data must be forwarded to downstream, but if demux does not finish
+ to finding type (e.g., ts, mp4 and etc), this header data can be cleared
+ by _stream_clear_pending_data(). Moreover, although demux finish downloading
+ header data, still it has fragment date to be downloaded, fragment sequence
+ shouldn't be advanced yet at that moment.
+ https://bugzilla.gnome.org/show_bug.cgi?id=776928
+
+2019-02-19 21:46:43 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * tests/check/libs/insertbin.c:
+ tests: insertbin: Don't use duplicated variable name
+ ../subprojects/gst-plugins-bad/tests/check/libs/insertbin.c(46): warning C4273:
+ 'mutex': ...
+ The "mutex" was declared in gstcheck.h already
+
+2019-06-17 14:58:50 +1000 Matthew Waters <matthew@centricular.com>
+
+ * sys/applemedia/meson.build:
+ applemedia: add the '-fobjc-arc' for darwin/ios
+ We use ARC so we need to signal that to the compiler.
+
+2019-06-03 12:18:13 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * sys/uvch264/gstuvch264.c:
+ * sys/uvch264/gstuvch264deviceprovider.c:
+ * sys/uvch264/meson.build:
+ uvch264: Implement device provider
+
+2019-06-03 12:17:22 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * sys/uvch264/gstuvch264_src.c:
+ * sys/uvch264/gstuvch264_src.h:
+ * sys/uvch264/uvc_h264.c:
+ * sys/uvch264/uvc_h264.h:
+ uvch264: Factor out checking if v4l2device is uvc compatible
+
+2019-04-08 19:24:00 +0200 Nicola Murino <nicola.murino@gmail.com>
+
+ * gst/videoparsers/gsth265parse.c:
+ h265parse: update parser state and header flag when using fallback sps
+ When sps parsing fails we use a fallback sps from the caps, since we
+ have got an sps we need to update parser state and header as in the case the
+ sps was successfully parsed
+
+2018-11-26 17:23:21 +0100 Nicola Murino <nicola.murino@gmail.com>
+
+ * gst/videoparsers/gsth264parse.c:
+ h264parse: update parser state and header flag when using fallback sps
+ When sps parsing fails we use a fallback sps from the caps, since we
+ have got an sps we need to update parser state and header as in the case the
+ sps was successfully parsed
+ Closes #503
+
+2019-05-31 10:12:54 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst/videoparsers/gsth264parse.c:
+ h264parse: Post a WARNING when data is broken
+
+2019-06-12 15:47:52 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * gst/videoparsers/gsth265parse.c:
+ h265parse: Add more string representations of extension profiles
+
+2019-06-12 15:32:17 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * gst-libs/gst/codecparsers/gsth265parser.c:
+ * gst-libs/gst/codecparsers/gsth265parser.h:
+ h265parser: Add more profiles to known type
+ "High Throughput", "Multiview", "Scalable", "3D", "Screen Content Coding",
+ and "Scalable format range extensions" profiles can be supported
+ via h265parser APIs now.
+
+2019-04-18 18:12:34 +0900 Dong Il Park <dongil.park@lge.com>
+
+ * gst/videoparsers/gsth265parse.c:
+ h265parse: Update framerate when we found vps_timing_info
+ The timing_info was described at vps or vui parameter.
+ So we can update the framerate field of GstCaps when we could
+ parse vps_timing_info parameters.
+
+2019-04-18 16:54:51 +0900 Dong Il Park <dongil.park@lge.com>
+
+ * gst-libs/gst/codecparsers/gsth265parser.c:
+ h265parser: Use vps_timing_info when not present in vui
+ The same timing_info will be present at vps or vui.
+ When the timeing_info is present in the VPS, vui_timing_info
+ , when present, shall be equal to vps_timing_info, and when
+ not present, is inferred to be equal to vps_timing_info.
+
+2019-06-08 22:57:21 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * gst-libs/gst/vulkan/gstvkapi.h:
+ * gst-libs/gst/vulkan/gstvkconfig.h.meson:
+ * gst-libs/gst/vulkan/gstvkdisplay.c:
+ * gst-libs/gst/vulkan/gstvkdisplay.h:
+ * gst-libs/gst/vulkan/gstvkwindow.c:
+ * gst-libs/gst/vulkan/meson.build:
+ * gst-libs/gst/vulkan/win32/gstvkwindow_win32.c:
+ * gst-libs/gst/vulkan/win32/gstvkwindow_win32.h:
+ vulkan: Add support WIN32 for Windows
+ It's almost a fork of glwindow_win32 implementation.
+ To build on Windows, Vulkan SDK (at https://vulkan.lunarg.com/sdk/home)
+ and VK_SDK_PATH environment are required. Note that VK_SDK_PATH environment
+ setting is a part of the SDK installation.
+
+2019-06-12 10:12:14 +0200 Arun Raghavan <arun@arunraghavan.net>
+
+ * sys/bluez/gstavdtputil.c:
+ avdtpsrc: Honour initial transport volume setting before connection
+ We make the binding go from the avdtpsrc to the transport, so that any
+ initial setting before a connection made is used.
+
+2019-06-11 12:10:13 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * sys/uvch264/gstuvch264_src.c:
+ uvch264src: Make sure we set our segment
+ We were not setting self->segment and we are using it
+ when notifying downstream that we handled a REQUEST_KEY_UNIT
+ event, leading to all sort of criticals.
+
+2019-06-11 14:28:22 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * gst/videoparsers/gsth265parse.c:
+ h265parse: Don't miss constraint indicator flags in codec data
+ Set more unhandled flags to general_constraint_indicator_flags field.
+ The field is required for building "Codecs" parameter as defined
+ ISO/IEC 14496-15 Annex E. The resulting "Codecs" string might be used
+ in various places (e.g., HLS/DASH manifest, browser, player, etc)
+
+2019-06-07 14:12:25 +0000 Marc Leeman <marc.leeman@gmail.com>
+
+ * gst/rtp/meson.build:
+ rtpmanagerbad: fix the plugin registration
+ After compilation, the compiled library needs to be added to the list
+ of plugin libraries.
+ .
+ Also, fix for static builds
+
+2019-06-06 18:22:43 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * configure.ac:
+ * docs/plugins/gst_plugins_cache.json:
+ * meson_options.txt:
+ * sys/Makefile.am:
+ * sys/meson.build:
+ * sys/vdpau/Makefile.am:
+ * sys/vdpau/gstvdpau.c:
+ * sys/vdpau/gstvdpdecoder.c:
+ * sys/vdpau/gstvdpdecoder.h:
+ * sys/vdpau/gstvdpdevice.c:
+ * sys/vdpau/gstvdpdevice.h:
+ * sys/vdpau/gstvdpoutputbuffer.c:
+ * sys/vdpau/gstvdpoutputbuffer.h:
+ * sys/vdpau/gstvdpoutputbufferpool.c:
+ * sys/vdpau/gstvdpoutputbufferpool.h:
+ * sys/vdpau/gstvdpsink.c:
+ * sys/vdpau/gstvdpsink.h:
+ * sys/vdpau/gstvdputils.c:
+ * sys/vdpau/gstvdputils.h:
+ * sys/vdpau/gstvdpvideobufferpool.c:
+ * sys/vdpau/gstvdpvideobufferpool.h:
+ * sys/vdpau/gstvdpvideomemory.c:
+ * sys/vdpau/gstvdpvideomemory.h:
+ * sys/vdpau/gstvdpvideopostprocess.c:
+ * sys/vdpau/gstvdpvideopostprocess.h:
+ * sys/vdpau/h264/gsth264dpb.c:
+ * sys/vdpau/h264/gsth264dpb.h:
+ * sys/vdpau/h264/gstvdph264dec.c:
+ * sys/vdpau/h264/gstvdph264dec.h:
+ * sys/vdpau/meson.build:
+ * sys/vdpau/mpeg/gstvdpmpegdec.c:
+ * sys/vdpau/mpeg/gstvdpmpegdec.h:
+ * sys/vdpau/mpeg4/gstmpeg4frame.c:
+ * sys/vdpau/mpeg4/gstmpeg4frame.h:
+ * sys/vdpau/mpeg4/gstvdpmpeg4dec.c:
+ * sys/vdpau/mpeg4/gstvdpmpeg4dec.h:
+ * sys/vdpau/mpeg4/mpeg4util.c:
+ * sys/vdpau/mpeg4/mpeg4util.h:
+ * tests/check/Makefile.am:
+ Remove VDPAU plugin
+ It's been replaced by NVENC/NVDEC and even NVIDIA doesn't
+ support VDPAU any longer and hasn't for quite some time.
+ The plugin has been unmaintained and unsupported for a very
+ long time, and given the track record over the last 10 years
+ it seems highly unlikely anyone is going to make it work well,
+ not to mention adding plumbing for proper zero-copy or
+ gst-gl integration.
+ Closes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/828
+
+2019-06-06 18:36:00 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * Makefile.am:
+ autotools: fix distcheck
+
+2019-06-05 17:10:19 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * Makefile.am:
+ autotools: remove gst/rtp/ from cruft dir list
+
+2019-06-05 16:58:32 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/rtp/Makefile.am:
+ rtp: fix autotools build some more
+
+2019-06-05 12:47:16 +0100 Philippe Normand <philn@igalia.com>
+
+ * ext/wpe/WPEThreadedView.cpp:
+ * ext/wpe/WPEThreadedView.h:
+ * ext/wpe/gstwpesrc.cpp:
+ wpe: Fix build with -Werror enabled
+ Including gl.h from WPEThreadedView.h leads to GST_LEVEL_DEFAULT detected as
+ redefined. The proposed fix is to include config.h from the CPP implementation
+ file and disable gl.h inclusion in the header, by using forward declarations.
+
+2019-06-05 11:46:49 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/timecode/gstavwait.c:
+ avwait: Allow start and end timecode to be set back to NULL
+ And check everywhere if they're NULL before accessing them.
+
+2019-06-05 08:12:10 +0200 Niels De Graef <niels.degraef@barco.com>
+
+ * gst-libs/gst/audio/gstplanaraudioadapter.h:
+ * gst-libs/gst/insertbin/gstinsertbin.h:
+ * gst-libs/gst/webrtc/dtlstransport.h:
+ * gst-libs/gst/webrtc/icetransport.h:
+ * gst-libs/gst/webrtc/rtcsessiondescription.h:
+ * gst-libs/gst/webrtc/rtpreceiver.h:
+ * gst-libs/gst/webrtc/rtpsender.h:
+ * gst-libs/gst/webrtc/rtptransceiver.h:
+ Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally
+ Since we started depending on GLib 2.44, we can be sure this macro is
+ defined (it will be a no-op on compilers that don't support it).
+
+2019-05-21 14:04:07 +1000 Matthew Waters <matthew@centricular.com>
+
+ * tests/check/libs/vkmemory.c:
+ tests/vulkan: allow instance creation failures
+ Usually means that there is no vulkan implementation available.
+ We skip tests in that case
+
+2019-05-20 13:54:56 +1000 Matthew Waters <matthew@centricular.com>
+
+ * tests/check/libs/vkmemory.c:
+ * tests/check/meson.build:
+ test/vulkan: add simple memory test
+
+2019-05-20 13:48:27 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkupload.c:
+ vkupload: remove debugging error log
+
+2019-05-20 13:46:56 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkimageidentity.c:
+ * ext/vulkan/vkswapper.c:
+ * ext/vulkan/vkupload.c:
+ * gst-libs/gst/vulkan/gstvkbarrier.h:
+ * gst-libs/gst/vulkan/gstvkbuffermemory.c:
+ * gst-libs/gst/vulkan/gstvkbuffermemory.h:
+ * gst-libs/gst/vulkan/gstvkimagememory.c:
+ * gst-libs/gst/vulkan/gstvkimagememory.h:
+ * gst-libs/gst/vulkan/meson.build:
+ * gst-libs/gst/vulkan/vulkan.h:
+ * gst-libs/gst/vulkan/vulkan_fwd.h:
+ vulkan: implement the correct memory barriers necessary
+ Vulkan validation layers are finally silent!
+
+2019-05-16 22:39:51 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkswapper.c:
+ * ext/vulkan/vkupload.c:
+ vulkan: remove uneeded buffer inheritence information
+ buffer inheritence informationi is only required for secondary command
+ buffers which we are not creating
+
+2019-05-16 19:48:24 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/gstvulkan.c:
+ * ext/vulkan/meson.build:
+ * ext/vulkan/shaders/bin2array.py:
+ * ext/vulkan/shaders/identity.frag:
+ * ext/vulkan/shaders/identity.vert:
+ * ext/vulkan/shaders/meson.build:
+ * ext/vulkan/vkimageidentity.c:
+ * ext/vulkan/vkimageidentity.h:
+ * ext/vulkan/vkshader.c:
+ * ext/vulkan/vkshader.h:
+ vulkan: add a new image copying element
+ Copies using the graphics pipeline, an input image and renders to an
+ output image.
+
+2019-05-16 19:39:20 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkmemory.c:
+ vkmemory: fix allocation of sizes less than the alignment
+ Avoids allocating a 0-sized device memory which is invalid vulkan usage
+
+2019-05-16 19:38:35 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkbufferpool.c:
+ * gst-libs/gst/vulkan/gstvkimagebufferpool.c:
+ vk*pool: expand usage hints to cover use in a renderpass
+
+2019-05-16 19:36:18 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkimagememory.c:
+ vkformat: fix format conversion for matching vulkan formats
+ Other formats still need a swizzle or conversion.
+
+2019-05-16 19:35:11 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkbuffermemory.c:
+ vkbuffermemory: bufferview's are only for texture-like memory
+
+2019-05-16 19:34:41 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkupload.c:
+ vkupload: add raw->vulkanimage uploader
+
+2019-05-16 19:33:06 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vktrash.c:
+ * ext/vulkan/vktrash.h:
+ vktrash: add more destruction of vulkan types
+
+2019-05-09 21:50:47 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkswapper.c:
+ * ext/vulkan/vkupload.c:
+ * gst-libs/gst/vulkan/gstvkbuffermemory.c:
+ * gst-libs/gst/vulkan/gstvkimagememory.c:
+ * gst-libs/gst/vulkan/gstvkinstance.c:
+ * gst-libs/gst/vulkan/gstvkmacros.h:
+ * gst-libs/gst/vulkan/vulkan.h:
+ vulkan: use c99 designated initializers where possible
+ Makes the code much easier to read and allows removing our terrible
+ macros for structure initialization.
+
+2019-05-08 21:26:17 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vksink.c:
+ * ext/vulkan/vkswapper.c:
+ * ext/vulkan/vkupload.c:
+ vkswapper: support displaying memory:VulkanImage
+
+2019-05-08 14:50:29 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/meson.build:
+ * ext/vulkan/vkupload.c:
+ * ext/vulkan/vkupload.h:
+ * gst-libs/gst/vulkan/gstvkbufferpool.c:
+ * gst-libs/gst/vulkan/gstvkimagebufferpool.c:
+ * gst-libs/gst/vulkan/gstvkimagebufferpool.h:
+ * gst-libs/gst/vulkan/meson.build:
+ * gst-libs/gst/vulkan/vulkan.h:
+ * gst-libs/gst/vulkan/vulkan_fwd.h:
+ vkupload: implement buffer to image uploader
+
+2019-05-08 14:48:43 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkqueue.c:
+ vkqueue: unly unref the context query if it succeeds
+
+2019-05-08 14:47:43 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vksink.c:
+ vulkansink: Respond to queue queries
+
+2019-04-11 16:52:54 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkbuffermemory.c:
+ * gst-libs/gst/vulkan/gstvkbuffermemory.h:
+ * gst-libs/gst/vulkan/gstvkbufferpool.c:
+ * gst-libs/gst/vulkan/gstvkcommandpool.c:
+ * gst-libs/gst/vulkan/gstvkcommandpool.h:
+ * gst-libs/gst/vulkan/gstvkdevice.c:
+ * gst-libs/gst/vulkan/gstvkdevice.h:
+ * gst-libs/gst/vulkan/gstvkdisplay.c:
+ * gst-libs/gst/vulkan/gstvkdisplay.h:
+ * gst-libs/gst/vulkan/gstvkerror.c:
+ * gst-libs/gst/vulkan/gstvkfence.c:
+ * gst-libs/gst/vulkan/gstvkfence.h:
+ * gst-libs/gst/vulkan/gstvkimagememory.c:
+ * gst-libs/gst/vulkan/gstvkimagememory.h:
+ * gst-libs/gst/vulkan/gstvkinstance.c:
+ * gst-libs/gst/vulkan/gstvkmemory.c:
+ * gst-libs/gst/vulkan/gstvkmemory.h:
+ * gst-libs/gst/vulkan/gstvkqueue.c:
+ * gst-libs/gst/vulkan/gstvkqueue.h:
+ * gst-libs/gst/vulkan/gstvkutils.c:
+ * gst-libs/gst/vulkan/gstvkutils.h:
+ * gst-libs/gst/vulkan/gstvkwindow.c:
+ * gst-libs/gst/vulkan/gstvkwindow.h:
+ * gst-libs/gst/vulkan/meson.build:
+ * gst-libs/gst/vulkan/vulkan_fwd.h:
+ vulkan: large docs update
+
+2019-04-10 14:27:26 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkswapper.c:
+ * ext/vulkan/vkswapper.h:
+ * ext/vulkan/vktrash.c:
+ * ext/vulkan/vktrash.h:
+ * gst-libs/gst/vulkan/gstvkcommandpool.c:
+ * gst-libs/gst/vulkan/gstvkcommandpool.h:
+ * gst-libs/gst/vulkan/gstvkdevice.c:
+ * gst-libs/gst/vulkan/gstvkdevice.h:
+ * gst-libs/gst/vulkan/gstvkqueue.c:
+ * gst-libs/gst/vulkan/gstvkqueue.h:
+ * gst-libs/gst/vulkan/meson.build:
+ * gst-libs/gst/vulkan/vulkan.h:
+ * gst-libs/gst/vulkan/vulkan_fwd.h:
+ vulkan: add a command pool object for tracking
+
+2019-04-10 11:56:59 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkswapper.c:
+ vkswapper: don't output duplicate formats
+
+2019-04-08 21:35:22 +1000 Matthew Waters <matthew@centricular.com>
+
+ * configure.ac:
+ * ext/Makefile.am:
+ * ext/vulkan/.gitignore:
+ * ext/vulkan/Makefile.am:
+ * ext/vulkan/meson.build:
+ * ext/vulkan/vksink.c:
+ * ext/vulkan/vksink.h:
+ * ext/vulkan/vkswapper.c:
+ * ext/vulkan/vkswapper.h:
+ * ext/vulkan/vktrash.c:
+ * ext/vulkan/vktrash.h:
+ * ext/vulkan/vkupload.h:
+ * ext/vulkan/vkutils.h:
+ * ext/vulkan/wayland/Makefile.am:
+ * ext/vulkan/xcb/Makefile.am:
+ * gst-libs/gst/meson.build:
+ * gst-libs/gst/vulkan/.gitignore:
+ * gst-libs/gst/vulkan/cocoa/gstvkcocoa_utils.h:
+ * gst-libs/gst/vulkan/cocoa/gstvkdisplay_cocoa.h:
+ * gst-libs/gst/vulkan/cocoa/gstvkdisplay_cocoa.m:
+ * gst-libs/gst/vulkan/cocoa/gstvkwindow_cocoa.h:
+ * gst-libs/gst/vulkan/cocoa/gstvkwindow_cocoa.m:
+ * gst-libs/gst/vulkan/gstvkapi.h:
+ * gst-libs/gst/vulkan/gstvkbuffermemory.c:
+ * gst-libs/gst/vulkan/gstvkbuffermemory.h:
+ * gst-libs/gst/vulkan/gstvkbufferpool.c:
+ * gst-libs/gst/vulkan/gstvkbufferpool.h:
+ * gst-libs/gst/vulkan/gstvkconfig.h.meson:
+ * gst-libs/gst/vulkan/gstvkdevice.c:
+ * gst-libs/gst/vulkan/gstvkdevice.h:
+ * gst-libs/gst/vulkan/gstvkdisplay.c:
+ * gst-libs/gst/vulkan/gstvkdisplay.h:
+ * gst-libs/gst/vulkan/gstvkerror.c:
+ * gst-libs/gst/vulkan/gstvkerror.h:
+ * gst-libs/gst/vulkan/gstvkfence.c:
+ * gst-libs/gst/vulkan/gstvkfence.h:
+ * gst-libs/gst/vulkan/gstvkimagememory.c:
+ * gst-libs/gst/vulkan/gstvkimagememory.h:
+ * gst-libs/gst/vulkan/gstvkinstance.c:
+ * gst-libs/gst/vulkan/gstvkinstance.h:
+ * gst-libs/gst/vulkan/gstvkmacros.h:
+ * gst-libs/gst/vulkan/gstvkmemory.c:
+ * gst-libs/gst/vulkan/gstvkmemory.h:
+ * gst-libs/gst/vulkan/gstvkqueue.c:
+ * gst-libs/gst/vulkan/gstvkqueue.h:
+ * gst-libs/gst/vulkan/gstvkutils.c:
+ * gst-libs/gst/vulkan/gstvkutils.h:
+ * gst-libs/gst/vulkan/gstvkwindow.c:
+ * gst-libs/gst/vulkan/gstvkwindow.h:
+ * gst-libs/gst/vulkan/ios/gstvkdisplay_ios.h:
+ * gst-libs/gst/vulkan/ios/gstvkdisplay_ios.m:
+ * gst-libs/gst/vulkan/ios/gstvkios_utils.h:
+ * gst-libs/gst/vulkan/ios/gstvkwindow_ios.h:
+ * gst-libs/gst/vulkan/ios/gstvkwindow_ios.m:
+ * gst-libs/gst/vulkan/meson.build:
+ * gst-libs/gst/vulkan/vulkan-prelude.h:
+ * gst-libs/gst/vulkan/vulkan.h:
+ * gst-libs/gst/vulkan/vulkan_fwd.h:
+ * gst-libs/gst/vulkan/wayland/gstvkdisplay_wayland.c:
+ * gst-libs/gst/vulkan/wayland/gstvkdisplay_wayland.h:
+ * gst-libs/gst/vulkan/wayland/gstvkwindow_wayland.c:
+ * gst-libs/gst/vulkan/wayland/gstvkwindow_wayland.h:
+ * gst-libs/gst/vulkan/wayland/wayland_event_source.c:
+ * gst-libs/gst/vulkan/wayland/wayland_event_source.h:
+ * gst-libs/gst/vulkan/xcb/gstvkdisplay_xcb.c:
+ * gst-libs/gst/vulkan/xcb/gstvkdisplay_xcb.h:
+ * gst-libs/gst/vulkan/xcb/gstvkwindow_xcb.c:
+ * gst-libs/gst/vulkan/xcb/gstvkwindow_xcb.h:
+ * gst-libs/gst/vulkan/xcb/xcb_event_source.c:
+ * gst-libs/gst/vulkan/xcb/xcb_event_source.h:
+ * pkgconfig/gstreamer-vulkan-uninstalled.pc.in:
+ * pkgconfig/gstreamer-vulkan.pc.in:
+ * pkgconfig/meson.build:
+ vulkan: make a gstvulkan library out of the existing API
+
+2019-04-08 18:43:50 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkbufferpool.c:
+ vkbufferpool: Fix multiplaner allocations
+ Use the plane width/height and the sizes required by vulkan
+ Fixes allocation of:
+ videotestsrc ! video/x-raw,format=I420 ! vulkanupload ! fakesink
+
+2019-04-08 18:42:12 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkbuffermemory.c:
+ * ext/vulkan/vkerror.h:
+ * ext/vulkan/vkimagememory.c:
+ vk*memory: explicitly error out for driver NPOT alignment
+
+2019-04-04 19:30:28 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkimagememory.c:
+ vulkan/image: initialize the requirements struct before using it
+
+2019-04-04 19:27:55 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkupload.c:
+ * ext/vulkan/vkupload.h:
+ * ext/vulkan/vkutils.c:
+ vulkan: don't require every element to have a display
+ Only sink elements really care about a valid display
+
+2019-04-04 18:38:13 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/gstvulkan.c:
+ * ext/vulkan/vkdisplay.c:
+ * ext/vulkan/vkdisplay.h:
+ * ext/vulkan/vkwindow.c:
+ vulkan: remove unused X11 window system references
+ We use XCB instead
+
+2019-04-04 17:33:34 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkdevice.c:
+ * ext/vulkan/vkinstance.c:
+ * ext/vulkan/vkutils.c:
+ * ext/vulkan/vkutils_private.h:
+ vulkan: remove unused layer enablement
+ This is possible now via the vulkan loader
+
+2019-05-20 16:34:55 +0500 Ali Yousuf <aly.yousuf7@gmail.com>
+
+ * ext/webrtc/gstwebrtcice.c:
+ webrtc: Fix log when adding stun server
+
+2019-06-04 15:35:24 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtc: fix the location of signalling-state change notification
+ 1. The spec indicates that the notification should occur near the end of
+ 'setting the description' processing
+ 2. The current location with the drop of the lock could cause the 'check
+ if negotiation is needed' logic to execute and become confused about
+ the state of the webrtcbin's current local descriptions.
+ In the bad case, the following assertions could be hit:
+ g_assert (trans->mline < gst_sdp_message_medias_len (webrtc->current_local_description->sdp));
+ g_assert (trans->mline < gst_sdp_message_medias_len (webrtc->current_remote_description->sdp));
+ Moving the signalling state change later in the set description task
+ means that checking for a renegotiation will early abort as the
+ signalling state is not STABLE before the session description and
+ transceivers have been updated.
+
+2019-06-03 20:29:18 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/rtp/Makefile.am:
+ make: rtp: Remove spurious header file
+ This header file no longer exist.
+
+2019-06-03 20:08:23 +0000 Marc Leeman <marc.leeman@gmail.com>
+
+ * configure.ac:
+ * gst/meson.build:
+ * gst/rtp/Makefile.am:
+ * gst/rtp/gstrtp-utils.c:
+ * gst/rtp/gstrtp-utils.h:
+ * gst/rtp/gstrtpsink.c:
+ * gst/rtp/gstrtpsink.h:
+ * gst/rtp/gstrtpsrc.c:
+ * gst/rtp/gstrtpsrc.h:
+ * gst/rtp/meson.build:
+ * gst/rtp/plugin.c:
+ * meson_options.txt:
+ * tests/check/Makefile.am:
+ * tests/check/elements/.gitignore:
+ * tests/check/elements/rtpsink.c:
+ * tests/check/elements/rtpsrc.c:
+ * tests/check/meson.build:
+ rtpmanagerbad: add RTP streaming elements
+ This is a re-implementation of the RTP elements that are submitted in
+ 2013 to handle RTP streams. The elements handle a correct connection
+ for the bi-directional use of the RTCP sockets.
+ https://bugzilla.gnome.org/show_bug.cgi?id=703111
+ The rtpsink and rtpsrc elements add an URI interface so that streams
+ can be decoded with decodebin using the rtp:// interface.
+ The code can be used as follows
+ ```
+ gst-launch-1.0 videotestsrc ! x264enc ! rtph264pay config-interval=3 ! rtpsink uri=rtp://239.1.1.1:1234
+ gst-launch-1.0 videotestsrc ! x264enc ! rtph264pay config-interval=1 ! rtpsink uri=rtp://239.1.2.3:5000
+ gst-launch-1.0 rtpsrc uri=rtp://239.1.2.3:5000?encoding-name=H264 ! rtph264depay ! avdec_h264 ! videoconvert ! xvimagesink
+ gst-launch-1.0 videotestsrc ! avenc_mpeg4 ! rtpmp4vpay config-interval=1 ! rtpsink uri=rtp://239.1.2.3:5000
+ gst-launch-1.0 rtpsrc uri=rtp://239.1.2.3:5000?encoding-name=MP4V-ES ! rtpmp4vdepay ! avdec_mpeg4 ! videoconvert ! xvimagesink
+ ```
+ rtpmanagerbad: add pkg-config
+ rtpmanagerbad: Rtp should be uppercase
+ rtpmanagerbad: add G_OS_WIN32 for shielding unix headers
+ rtpmanagerbad: remove Since from documentation
+ rtpmanagerbad: rename lib name from nrtp to rtpmanagerbad
+ rtpmanagerbad: sync meson.build with other modules
+ rtpmanagerbad: add Makefile.am
+ rtpmanagerbad: use GstElement to count pads
+ rtpmanagerbad: use gst_bin_set_suppressed_flags
+ rtpmanagerbad: check element creation
+ rtpmanagerbad: post message when trying to access missing rtpbin
+ rtpmanagerbad: return FALSE with g_return tests
+ rtpmanagerbad: use gsocket multicast check
+ rtpmanagerbad: use gst_caps_new_empty_simple iso gst_caps_from_string
+ rtpmanagerbad: sync with gstrtppayloads.h
+ rtpmanagerbad: correct media type X-GST
+ rtpmanagerbad: test if a compatible pad was found
+ rtpmanagerbad: remove evil copy of GstRTPPayloadInfo
+ rtpmanagerbad: add gio_dep to meson
+ rtpmanagerbad: revert to old glib boilerplate
+ GStreamer 1.16 does not yet support the newer GLib templates, so revert.
+ rtpmanagerbad: return GST_STATE_CHANGE_NO_PREROLL for live sources
+ for live sources, NO_PREROLL should be returned for PLAYING->PAUSED and
+ READY->PAUSED transitions.
+ rtpmanagerbad: use GstElement pad counting
+ rtpmanagerbad: just use template name to request pad
+ rtpmanagerbad: remove commented code
+ rtpmanagerbad: use funnel to send multiple streams on one socket
+ rtpmanagerbad: avoid beaches
+ beaches should only be used during the summer, so rewrite the code to
+ return explicitly and avoid beaches during the winter.
+ rtpmanagerbad: add copyright to test code
+ rtpmanagerbad: g_free is NULL safe
+ rtpmanagerbad: do not trace rtpbin
+ rtpmanagerbad: return NULL explitly
+ rtpmanagerbad: warn when data port is not even
+ According to RFC 3550, RTP data should be sent on even ports, while RTCP
+ is sent on the following odd port.
+ rtpmanagerbad: document port allocation in rtpsink/src
+ rtpmanagerbad: improve uri description
+ rtpmanagerbad: add comment re-use socket
+ rtpmanagerbad: rename gst_object_set_properties_from_uri_query
+ rtpmanagerbad: loan prop/val setter from rist
+ rtpmanagerbad: rtpsrc: fix unitialised pointer
+ rtpmanagerbad: fix silly typo
+ rtpmanagerbad: test for empty key/value
+ rtpmanagerbad: rtpsrc: deprecate ssrc collision to INFO
+ rtpmanagerbad: sync debug with rist
+ rtpmanagerbad: small strings allocated on stack
+ rtpmanagerbad: correct rename
+ rtpmanagerbad: add locking on prop setters/getters
+ Locking is added because the URI allows to access the properties too.
+ rtpmanagerbad: allow for RTCP through NAT
+ rtpmanagerbad: move gio to header file
+ rtpmanagerbad: free small strings too
+ rtpmanagerbad: ttl_mc for ttl on dynudpsink
+ rtpmanagerbad: add comments on the URI registered
+ rtpmanagerbad: correct macro after file rename
+ rtpmanagerbad: code style
+ rtpmanagerbad: handle wrong URIs in setter
+ rtpmanagerbad: nit URI notation correction
+ In an URI, the first key/value pair should not have an ampersand, the
+ parser did not die though.
+
+2019-05-31 23:06:33 +0200 Niels De Graef <niels.degraef@barco.com>
+
+ * configure.ac:
+ * meson.build:
+ meson: Bump minimal GLib version to 2.44
+ This means we can use some newer features and get rid of some
+ boilerplate code using the G_DECLARE_* macros.
+ As discussed on IRC, 2.44 is old enough by now to start depending on it.
+
+2018-12-11 14:43:21 +0000 Alex Ashley <bugzilla@ashley-family.net>
+
+ * tests/check/elements/dash_mpd.c:
+ tests/dash_mpd: take account of Period start in expected timestamps
+ The start of each segment is relative to the Period start, minus
+ the presentation time offset.
+ As specified in section 5.3.9.6 of the MPEG DASH specification:
+ The value of the @t attribute minus the value of the
+ @presentationTimeOffset specifies the MPD start time of
+ the first Segment in the series.
+ Several tests use a Period@start value of 10 seconds, which either
+ needs to be taken into account when calculating expected timestamps
+ or have that attribute removed.
+ This commit uses a mix of updating the timestamps and removing the
+ start attribute, so that both the case of its presence and absence
+ is tested.
+
+2018-10-16 16:57:30 +0100 Alex Ashley <bugzilla@ashley-family.net>
+
+ * ext/dash/gstmpdparser.c:
+ * tests/check/elements/dash_mpd.c:
+ dashdemux: include both Period start and presentationTimeOffset in segment start
+ The start of each segment is relative to the Period start, minus
+ the presentation time offset.
+ As specified in section 5.3.9.6 of the MPEG DASH specification:
+ The value of the @t attribute minus the value of the
+ @presentationTimeOffset specifies the MPD start time of
+ the first Segment in the series.
+ dashdemux was not taking account of presentationTimeOffset and in
+ some methods was not taking into account the Period start time.
+ This commit modifies the segment->start value to always be
+ relative to the MPD start time (zero for VOD,
+ availabilityStartTime for live streams). This makes all uses of
+ the segment list consistent.
+ Fixes #841
+
+2019-06-01 01:42:51 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * docs/libs/audio/index.md:
+ * docs/libs/audio/sitemap.txt:
+ * docs/meson.build:
+ * gst-libs/gst/audio/gstnonstreamaudiodecoder.c:
+ docs: document gstreamer-bad-audio
+ And unprefix subproject paths, making a special case for
+ webrtc, to not conflict with the webrtc plugin
+
+2019-06-01 01:42:06 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst-libs/gst/audio/meson.build:
+ libs: build a gir file for gstreamer-bad-audio
+
+2018-10-02 11:25:14 +0300 Vivia Nikolaidou <vivia@ahiru.eu>
+
+ * gst/timecode/gstavwait.c:
+ avwait: Don't print warnings for every buffer passed
+
+2019-05-31 14:09:40 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdksystemmemory.c:
+ msdk: return a right pointer for VUYA format
+ The first channel in memory is V for VUYA format, note
+ GST_VIDEO_FORMAT_VUYA is mapped to MFX_FOURCC_AYUV in this plugin
+
+2019-05-29 17:05:34 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ docs: update plugin doc cache and add more plugins
+
+2019-05-29 11:28:00 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ext/bs2b/meson.build:
+ * ext/closedcaption/meson.build:
+ * ext/colormanagement/meson.build:
+ * ext/dc1394/meson.build:
+ * ext/gme/meson.build:
+ * ext/ladspa/meson.build:
+ * ext/lv2/meson.build:
+ * ext/modplug/meson.build:
+ * ext/musepack/meson.build:
+ * ext/neon/meson.build:
+ * ext/ofa/meson.build:
+ * ext/openal/meson.build:
+ * ext/openexr/meson.build:
+ * ext/openmpt/meson.build:
+ * ext/openni2/meson.build:
+ * ext/sctp/meson.build:
+ * ext/sndfile/meson.build:
+ * ext/srt/meson.build:
+ * ext/teletextdec/meson.build:
+ * ext/voamrwbenc/meson.build:
+ * ext/wildmidi/meson.build:
+ * ext/wpe/meson.build:
+ * gst/audiolatency/meson.build:
+ * sys/androidmedia/meson.build:
+ * sys/applemedia/meson.build:
+ * sys/opensles/meson.build:
+ * sys/tinyalsa/meson.build:
+ * sys/vdpau/meson.build:
+ meson: add more plugins to plugins list
+ Makes sure their path gets added to the uninstalled environment
+ and makes sure they get included in the docs.
+
+2019-05-22 21:44:44 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/mpegtsmux/gstbasetsmux.c:
+ basetsmux: don't reset pad on flush_stop
+ This was mistakenly added when porting to aggregator, this
+ restores the old behaviour, by only resetting them when the
+ muxer itself is reset
+
+2019-05-22 21:44:22 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst-libs/gst/mpegts/gstmpegtssection.c:
+ mpegtssection: events don't necessarily have a structure
+
+2019-05-22 21:44:02 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/mpegtsmux/gstbasetsmux.c:
+ basetsmux: fix send_event by chaining up
+
+2019-05-29 18:27:09 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * docs/meson.build:
+ * gst/mpegtsmux/gstmpegtsmux.c:
+ mpegtsmux: add SECTION comment
+ We include an example for injecting sections in the transport
+ stream in the documentation
+
+2019-05-29 17:03:59 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * tests/examples/mpegts/meson.build:
+ * tests/examples/mpegts/ts-section-writer.c:
+ tests: add example for injecting MPEG-TS sections
+
+2019-05-29 17:01:40 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/mpegtsmux/gstbasetsmux.c:
+ * gst/mpegtsmux/tsmux/tsmux.c:
+ basetsmux: preserve user-specified sections across resets
+ As sections can be provided by the user through send_event
+ when the element state is NULL, their lifetime is expected
+ to match that of the muxer, and they must be preserved when
+ the state changes
+
+2019-05-23 01:44:19 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/mpegtsmux/gstatscmux.c:
+ atscmux: send empty RRT / MGT / STT tables
+ These are mandated by A/65, their absence gets flagged by
+ stream analyzers. Users can of course provide filled up
+ versions through the send_event API.
+
+2019-05-23 00:03:18 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/mpegtsmux/tsmux/tsmux.c:
+ * gst/mpegtsmux/tsmux/tsmux.h:
+ * gst/mpegtsmux/tsmux/tsmuxcommon.h:
+ tsmux: maintain packet counters in a global array
+ We can have multiple TsMuxPacketInfo objects for the same PID
+ with user-provided sections, for example ATSC requires multiple
+ tables with the same PID.
+
+2019-05-21 02:53:20 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst-libs/gst/mpegts/gst-atsc-section.c:
+ * gst-libs/gst/mpegts/gst-atsc-section.h:
+ * gst-libs/gst/mpegts/gstmpegtssection.c:
+ * gst-libs/gst/mpegts/gstmpegtssection.h:
+ mpegts: extend support for ATSC tables
+ Adds constructors for the following sections:
+ STT: System Time Table
+ MGT: Master Guide Table
+ RRT: Rating Region Table
+ Also adds parsing code for RRT
+
+2019-05-25 00:02:05 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtc: only set sctp ports if they are different
+ SCTPassociation will complain if we do that while running and resetting
+ is not something we support at the moment
+
+2019-03-08 00:39:59 +1100 Matthew Waters <matthew@centricular.com>
+
+ * tests/check/elements/webrtcbin.c:
+ tests/webrtc: wait until the SDP has been set before continuing
+ If we renegotiate, then it is currently possible for an added stream to
+ be added to webrtcbin before the SDP is complete. This causes an
+ internal inconsistency as there is a 'pending sink transceiver' without
+ a corresponding media section in the sdp. It also does not have an
+ associated transport stream and will fail in _connect_input_stream().
+
+2019-03-08 00:37:39 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/webrtcdatachannel.h:
+ * tests/check/elements/webrtcbin.c:
+ tests/webrtc: fix racy test with a prenegotiated data channel
+ If both data channels become ready simultaneously, then the two integer
+ read-add-update cycles can execute concurrently and only ever increment
+ once instead of the required twice. Use an atomic add instead.
+
+2019-03-08 00:32:53 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/webrtcdatachannel.c:
+ webrtc/dc: move some code from webrtcbin into the datachannel
+
+2019-03-04 21:44:33 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtc: hold onto any unknown ICE candidates until the next SDP set
+ It is very possible for badly behaving signalling or peers to send
+ us ICE candidates before we receive an SDP. While we had consideration
+ for that on the first set SDP, subsequent SDP's could result in
+ misconfigured ICE transports. Expand the previous code to also take
+ into account reconfigurations.
+
+2018-11-28 17:23:31 +1100 Matthew Waters <matthew@centricular.com>
+
+ * .gitignore:
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/gstwebrtcbin.h:
+ * ext/webrtc/transportstream.c:
+ * ext/webrtc/transportstream.h:
+ * ext/webrtc/utils.c:
+ * ext/webrtc/utils.h:
+ * ext/webrtc/webrtcsdp.c:
+ * ext/webrtc/webrtcsdp.h:
+ * ext/webrtc/webrtctransceiver.c:
+ * ext/webrtc/webrtctransceiver.h:
+ * gst-libs/gst/webrtc/rtptransceiver.c:
+ * tests/check/elements/webrtcbin.c:
+ * tests/examples/webrtc/Makefile.am:
+ * tests/examples/webrtc/meson.build:
+ * tests/examples/webrtc/webrtcrenego.c:
+ webrtc: Initial support for stream addition/removal
+ Limitations:
+ - No transport changes at all (ICE, DTLS)
+ - Codec changes are untested and probably don't work
+ - Stream removal doesn't remove transports (i.e. non-bundled transports
+ will stay around until webrtcbin is shutdown)
+ - Unified Plan SDP only. No Plan-B support.
+
+2018-12-05 18:36:27 +1100 Matthew Waters <matthew@centricular.com>
+
+ * tests/check/elements/webrtcbin.c:
+ tests/webrtc: a couple of debug/error string fixes
+
+2018-12-04 22:49:05 +1100 Matthew Waters <matthew@centricular.com>
+
+ * tests/check/elements/webrtcbin.c:
+ tests/webrtc: rewrite bundle checks for separate validate_sdp passes
+ Improves reusability
+
+2018-12-04 20:38:19 +1100 Matthew Waters <matthew@centricular.com>
+
+ * tests/check/elements/webrtcbin.c:
+ tests/webrtc: add helper for getting the offer/answer element
+
+2018-12-04 20:32:56 +1100 Matthew Waters <matthew@centricular.com>
+
+ * tests/check/elements/webrtcbin.c:
+ tests/webrtc: only check audio/video for direction attributes
+
+2018-12-06 23:28:18 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: expose the transceiver as a pad property
+
+2018-12-06 23:25:54 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/webrtctransceiver.c:
+ * gst-libs/gst/webrtc/rtptransceiver.c:
+ * gst-libs/gst/webrtc/rtptransceiver.h:
+ webrtc/transceiver: add a set_direction function
+ Matches the setDirection() from the W3C spec and allows changing the
+ transceiver direction at the next negotiation cycle.
+
+2018-12-05 19:17:45 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtc: track and log more rtpbin state
+ like bye's timeouts, validation, activation, etc
+
+2018-12-06 16:59:52 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/webrtcsdp.c:
+ webrtc: add support for intersecting inactive transceiver directions
+
+2018-12-04 20:30:49 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtc: mark remote/local-description as readonly
+
+2018-11-27 19:27:27 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtc: don't reuse stopped transceivers at all
+
+2018-11-27 19:25:51 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtc: also check for a null mid to signify an unassociated transceiver
+ We always give our transceivers an mline on creation so that check is
+ not useful by itself
+
+2018-11-27 19:24:40 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtc: only check sink pads for a 'sink pads have caps' check
+
+2018-11-26 22:10:57 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * tests/check/elements/webrtcbin.c:
+ webrtc: fix answer creation with multiple streams and similar caps
+
+2018-11-26 20:41:29 +1100 Matthew Waters <matthew@centricular.com>
+
+ * tests/check/elements/webrtcbin.c:
+ tests/webrtc: factor out sdp validation into a single function
+
+2018-11-26 19:54:18 +1100 Matthew Waters <matthew@centricular.com>
+
+ * tests/check/elements/webrtcbin.c:
+ tests/webrtc: validate number of sdp media using validate_sdp
+
+2018-11-26 19:48:31 +1100 Matthew Waters <matthew@centricular.com>
+
+ * tests/check/elements/webrtcbin.c:
+ tests/webrtc: allow multiple validation functions
+
+2018-11-26 19:19:04 +1100 Matthew Waters <matthew@centricular.com>
+
+ * tests/check/elements/webrtcbin.c:
+ tests/webrtc: test that duplicate negotiations succeed
+
+2019-05-28 16:58:20 +0100 Philippe Normand <philn@igalia.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: Expose current and pending local/remote description properties
+ They are already handled in the property getter and setter functions but were
+ not formally declared in the GObject class.
+
+2019-05-29 22:58:08 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * ext/aom/gstav1dec.c:
+ * ext/aom/gstav1enc.c:
+ * ext/closedcaption/sliced.h:
+ * ext/colormanagement/gstlcms.c:
+ * ext/curl/gstcurlhttpsrc.c:
+ * ext/modplug/gstmodplug.cc:
+ * ext/mpeg2enc/gstmpeg2enc.cc:
+ * ext/mplex/gstmplex.cc:
+ * ext/opencv/gstcameracalibrate.cpp:
+ * ext/opencv/gstcameraundistort.cpp:
+ * ext/opencv/gstcvdilate.cpp:
+ * ext/opencv/gstcvequalizehist.cpp:
+ * ext/opencv/gstcverode.cpp:
+ * ext/opencv/gstcvlaplace.cpp:
+ * ext/opencv/gstcvsmooth.cpp:
+ * ext/opencv/gstcvsobel.cpp:
+ * ext/opencv/gstdewarp.cpp:
+ * ext/opencv/gstdisparity.cpp:
+ * ext/opencv/gstedgedetect.cpp:
+ * ext/opencv/gstfaceblur.cpp:
+ * ext/opencv/gstfacedetect.cpp:
+ * ext/opencv/gstgrabcut.cpp:
+ * ext/opencv/gsthanddetect.cpp:
+ * ext/opencv/gstmotioncells.cpp:
+ * ext/opencv/gstretinex.cpp:
+ * ext/opencv/gstsegmentation.cpp:
+ * ext/opencv/gstskindetect.cpp:
+ * ext/opencv/gsttemplatematch.cpp:
+ * ext/opencv/gsttextoverlay.cpp:
+ * ext/openmpt/gstopenmptdec.c:
+ * ext/openni2/gstopenni2.cpp:
+ * ext/openni2/gstopenni2src.cpp:
+ * ext/srt/gstsrtsink.c:
+ * ext/srt/gstsrtsrc.c:
+ * ext/wildmidi/gstwildmididec.c:
+ * gst-libs/gst/audio/gstnonstreamaudiodecoder.c:
+ * gst-libs/gst/audio/gstnonstreamaudiodecoder.h:
+ * gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.c:
+ * gst-libs/gst/interfaces/photography.c:
+ * gst-libs/gst/interfaces/photography.h:
+ * gst/faceoverlay/gstfaceoverlay.c:
+ * gst/festival/gstfestival.c:
+ * sys/applemedia/avfassetsrc.m:
+ * sys/applemedia/iosassetsrc.m:
+ * sys/vdpau/mpeg/gstvdpmpegdec.c:
+ * sys/vdpau/mpeg4/gstvdpmpeg4dec.c:
+ doc: remove xml from comments
+
+2019-05-29 18:33:02 +0000 Adam Duskett <aduskett@gmail.com>
+
+ * ext/hls/meson.build:
+ ext/hls/meson.build: fix dependency logic
+ Currently, if one was to set -Dhls-crypto to either libgcrypt or openssl
+ instead of auto, the following lines would fail because hls_crypto_dep is not
+ yet set:
+ if not hls_crypto_dep.found() and ['auto', 'libgcrypt'].contains(hls_crypto)
+ if not hls_crypto_dep.found() and ['auto', 'openssl'].contains(hls_crypto)
+ Instead, change "if not hls_crypto_dep.found()" to "if not have_hls_crypto"
+ which fixes the error.
+
+2019-05-29 12:48:06 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ docs: remove stale plugins from docs plugin cache
+ gtk plugin has moved to -good, schroedinger has been removed.
+
+2019-05-23 20:24:40 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * ext/wayland/wlwindow.c:
+ waylandsink: Workaround gnome-shell bug
+ Use a timeout to limit that amount of time we wait after the compositor
+ for the initial configure event. Compositor are support to emit a
+ configure event before any wl_buffer can be attached. The problem is
+ that Weston strongly enforce this, while gnome-shell simply does not
+ emit such an event.
+
+2019-05-26 12:13:48 +0200 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/kms/gstkmsallocator.c:
+ * sys/kms/gstkmssink.c:
+ kmssink: Fixup all errno tracing
+ All DRM ioctl uses errno to report the error and simply returns -1
+ when some error occured. This patch fixes all usage of the return
+ value instead of errno to trace the error type and moves to g_strerror
+ instead of string.h strerror in order to be consistent with the rest
+ of GStreamer.
+
+2019-05-25 19:48:25 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ doc: update plugin cache
+
+2019-05-25 17:35:26 +0200 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ docs: Updated plugins cache file
+ This was done so that the duplicated rist element would go way.
+
+2019-05-25 16:57:57 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/autoconvert/gstautoconvert.c:
+ * gst/camerabin2/gstcamerabin2.c:
+ * gst/videosignal/gstsimplevideomark.c:
+ doc: fix element section documentations
+ Element sections were not rendered anymore after the hotdoc
+ port, fixing this revealed a few incorrect links.
+
+2014-11-15 22:58:49 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst-libs/gst/codecparsers/gsth264parser.c:
+ * gst-libs/gst/codecparsers/gsth265parser.c:
+ * gst-libs/gst/codecparsers/gstmpegvideoparser.c:
+ * gst-libs/gst/codecparsers/gstvp8parser.c:
+ codecparsers: fix debug category initialisation
+ Make thread-safe.
+
+2019-05-20 16:15:08 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/timecode/gstavwait.c:
+ avwait: Protect properties and some other code with the mutex
+ These variables are all accessed from multiple threads.
+ Also fix some minor leaks in error code paths.
+
+2019-05-20 15:45:50 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/timecode/gstavwait.c:
+ avwait: Insert some empty lines to give the code some space to breath
+
+2019-05-20 15:30:28 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/timecode/gstavwait.c:
+ avwait: Allow setting start timecode after end timecode and the other way around
+ This might be necessary temporarily for changing the previous settings.
+ Make it an actual error if the settings are like this while processing a
+ buffer.
+
+2018-10-18 13:35:04 +0800 Haihua Hu <jared.hu@nxp.com>
+
+ * ext/wayland/wlbuffer.c:
+ wayland/wlbuffer: just return if used_by_compositor is true when attach
+ When buffer is used by compositor, we don't need attach it and hold one
+ more reference. Just check used_by_compositor, just return if it is true.
+ Assert error log is not need, this is normal behavior.
+
+2019-05-21 16:17:40 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/proxy/gstproxysink.c:
+ * gst/proxy/gstproxysrc.c:
+ proxy: Forward queries/events sent directly to the element correctly
+
+2019-05-21 16:03:21 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/proxy/gstproxysink.c:
+ * gst/proxy/gstproxysrc.c:
+ proxy: Set SOURCE flag on the source and SINK flag on the sink
+ So that they are properly recognized as such.
+
+2019-05-22 12:25:38 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * gst/ivfparse/gstivfparse.c:
+ ivfparse: Check the data size against IVF_FRAME_HEADER_SIZE
+ It is parsing frame data and so should check the data size against the
+ frame header size instead of the file header size. If don't, it is
+ possible to drop the last frame because IVF_FILE_HEADER_SIZE is greater
+ than IVF_FRAME_HEADER_SIZE
+
+2019-05-14 17:04:41 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ doc: Add rist plugin to hotdoc
+
+2019-05-07 15:58:04 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/rist/Makefile.am:
+ * gst/rist/gstristplugin.c:
+ * gst/rist/gstristsink.c:
+ * gst/rist/gstroundrobin.c:
+ * gst/rist/gstroundrobin.h:
+ * gst/rist/meson.build:
+ rist: Add combined bonding-method support
+ This patchs add support for configuring the bonding method used. There is
+ two method specified
+ - redundant: All the RTP packets are replicated
+ - combined: RTP packet are evenly distributed over each links
+ Additionally, an application can set the "dispatcher" property in order
+ to implement custom dispatching method. Whenever the "dispatcher"
+ property is set, "bonding-method" property will be ignored.
+
+2019-05-07 11:32:00 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/rist/gstristsrc.c:
+ ristsrc: Implement per session stats
+ As we can now have multiple sessions, stats need to be implemented per
+ session. This follow RTPSession model with sources. The stats are now:
+ dropped: 0
+ received: 0
+ recovered: 0
+ permanently-lost: 0
+ duplicates: 0
+ retransmission-requests-sent: 0
+ rtx-roundtrip-time: 0
+ session-stats:
+ session-id=0
+ rtp-from=""
+ rtcp-from=""
+ dropped=0
+ received=0
+ session-id=1
+ rtp-from=""
+ rtcp-from=""
+ dropped=0
+ received=0
+ . . .
+ session-stats is a GValueArray as there is no better alternatives.
+
+2019-05-03 22:28:56 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/rist/gstristsrc.c:
+ ristsrc: Cleanup unused include
+
+2019-05-03 17:44:14 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/rist/gstristsink.c:
+ ristsink: Implement per session stats
+ As we can now have multiple sessions, stats need to be implemented per
+ session. This follow RTPSession model with sources. The stats are now:
+ sent-original-packets: 0
+ sent-retransmitted-packets: 0
+ session-stats:
+ session-id=0
+ sent-original-packets=0
+ sent-retransmitted-packets=0
+ round-trip-time=0
+ session-id=1
+ sent-original-packets=0
+ sent-retransmitted-packets=0
+ round-trip-time=0
+ . . .
+ session-stats is a GValueArray as there is no better alternatives.
+
+2019-05-03 16:52:02 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/rist/gstristsrc.c:
+ ristsrc: rtxbin may be null in finalize
+
+2019-02-28 17:21:25 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/rist/gstristsrc.c:
+ ristsrc: Add bonding support
+ This add support for receiving and aggregating the same stream
+ over multiple addresses.
+
+2019-02-15 17:13:02 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/rist/gstristsink.c:
+ ristsink: Implement bonding support
+
+2019-05-21 18:49:02 +0000 Marc Leeman <marc.leeman@gmail.com>
+
+ * gst/rist/gstristsink.c:
+ * gst/rist/gstristsrc.c:
+ rist: spell and grammar corrects in top comments
+
+2019-05-20 10:26:14 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst/rist/gstristsink.c:
+ * gst/rist/gstristsrc.c:
+ docs: Update cache and mark some rist prop as 'show-default'
+
+2019-05-20 10:16:02 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst/proxy/meson.build:
+ doc: Add proxysink/proxysrc
+
+2019-05-21 12:15:55 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/webrtc/webrtc_fwd.h:
+ webrtc: Add various Since markers to new types after 1.14.0
+
+2019-05-20 19:33:27 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * gst/mpegtsmux/gstmpegtsmux.c:
+ mpegtsmux: Fix build warning error
+ gstmpegtsmux.c:291:3: error: implicit declaration of function ‘memmove’ [-Werror=implicit-function-declaration]
+ memmove (map.data + 4, map.data, map.size - 4);
+ ^
+ gstmpegtsmux.c:291:3: error: incompatible implicit declaration of built-in function ‘memmove’ [-Werror]
+ gstmpegtsmux.c:291:3: note: include ‘<string.h>’ or provide a declaration of ‘memmove’
+
+2019-05-17 01:21:53 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/mpegtsmux/gstbasetsmux.c:
+ basetsmux: improve bitrate property documentation
+
+2019-05-15 01:35:04 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/mpegtsmux/tsmux/tsmux.c:
+ * gst/mpegtsmux/tsmux/tsmux.h:
+ tsmux: refactor logic for when to (re)transmit tables
+ In order to output them at regular intervals in the bitstream
+ when a bitrate is specified.
+
+2019-05-15 01:34:51 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/mpegtsmux/gstbasetsmux.c:
+ basetsmux: fix PCR stream selection
+
+2019-05-10 01:33:17 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst/mpegtsmux/Makefile.am:
+ Fix compile after aggregator rewrite and base class refactor
+
+2019-05-08 16:56:29 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/mpegtsmux/tsmux/tsmux.c:
+ tsmux: fix continuity counter for packets with no payload
+
+2019-05-01 01:09:19 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/mpegtsmux/gstatscmux.c:
+ * gst/mpegtsmux/gstbasetsmux.c:
+ * gst/mpegtsmux/gstbasetsmux.h:
+ * gst/mpegtsmux/gstbasetsmuxaac.c:
+ * gst/mpegtsmux/gstbasetsmuxaac.h:
+ * gst/mpegtsmux/gstbasetsmuxjpeg2000.c:
+ * gst/mpegtsmux/gstbasetsmuxjpeg2000.h:
+ * gst/mpegtsmux/gstbasetsmuxopus.c:
+ * gst/mpegtsmux/gstbasetsmuxopus.h:
+ * gst/mpegtsmux/gstbasetsmuxttxt.c:
+ * gst/mpegtsmux/gstbasetsmuxttxt.h:
+ * gst/mpegtsmux/gstmpegtsmux.c:
+ * gst/mpegtsmux/tsmux/tsmux.c:
+ * tests/check/elements/mpegtsmux.c:
+ mpegtsmux: aggregator port
+
+2019-04-30 01:42:59 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/mpegtsmux/gstatscmux.c:
+ * gst/mpegtsmux/gstatscmux.h:
+ * gst/mpegtsmux/gstbasetsmux.c:
+ * gst/mpegtsmux/gstbasetsmux.h:
+ * gst/mpegtsmux/gstbasetsmuxaac.c:
+ * gst/mpegtsmux/gstbasetsmuxaac.h:
+ * gst/mpegtsmux/gstbasetsmuxjpeg2000.c:
+ * gst/mpegtsmux/gstbasetsmuxjpeg2000.h:
+ * gst/mpegtsmux/gstbasetsmuxopus.c:
+ * gst/mpegtsmux/gstbasetsmuxopus.h:
+ * gst/mpegtsmux/gstbasetsmuxttxt.c:
+ * gst/mpegtsmux/gstbasetsmuxttxt.h:
+ * gst/mpegtsmux/gstmpegtsmux.c:
+ * gst/mpegtsmux/gstmpegtsmux.h:
+ * gst/mpegtsmux/gstmpegtsmuxplugin.c:
+ * gst/mpegtsmux/meson.build:
+ * gst/mpegtsmux/tsmux/tsmux.c:
+ * gst/mpegtsmux/tsmux/tsmuxcommon.h:
+ * gst/mpegtsmux/tsmux/tsmuxstream.c:
+ mpegtsmux: spring cleanup, no functional change
+
+2019-04-30 00:50:06 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/mpegtsmux/basetsmux.c:
+ * gst/mpegtsmux/basetsmux.h:
+ * gst/mpegtsmux/mpegtsmux.c:
+ * gst/mpegtsmux/mpegtsmux.h:
+ basetsmux: extract m2ts-mode to mpegtsmux
+
+2019-04-26 20:26:55 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/mpegtsmux/atscmux.c:
+ * gst/mpegtsmux/atscmux.h:
+ * gst/mpegtsmux/basetsmux.c:
+ * gst/mpegtsmux/basetsmux.h:
+ * gst/mpegtsmux/basetsmux_aac.c:
+ * gst/mpegtsmux/basetsmux_aac.h:
+ * gst/mpegtsmux/basetsmux_jpeg2000.c:
+ * gst/mpegtsmux/basetsmux_jpeg2000.h:
+ * gst/mpegtsmux/basetsmux_opus.c:
+ * gst/mpegtsmux/basetsmux_opus.h:
+ * gst/mpegtsmux/basetsmux_ttxt.c:
+ * gst/mpegtsmux/basetsmux_ttxt.h:
+ * gst/mpegtsmux/meson.build:
+ * gst/mpegtsmux/mpegtsmux.c:
+ * gst/mpegtsmux/mpegtsmux.h:
+ * gst/mpegtsmux/tsmux/tsmux.c:
+ * gst/mpegtsmux/tsmux/tsmuxcommon.h:
+ * gst/mpegtsmux/tsmux/tsmuxstream.c:
+ mpegtsmux: extract an actual base class
+
+2019-04-26 00:01:31 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/mpegtsmux/atscmux.c:
+ * gst/mpegtsmux/mpegtsmux.c:
+ * gst/mpegtsmux/mpegtsmux.h:
+ * gst/mpegtsmux/tsmux/tsmux.c:
+ * gst/mpegtsmux/tsmux/tsmux.h:
+ * gst/mpegtsmux/tsmux/tsmuxstream.c:
+ * gst/mpegtsmux/tsmux/tsmuxstream.h:
+ mpegtsmux: expose the vmethods necessary for ATSC E-AC-3 handling
+
+2019-04-25 20:23:03 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/mpegtsmux/atscmux.c:
+ * gst/mpegtsmux/mpegtsmux.c:
+ * gst/mpegtsmux/mpegtsmux.h:
+ * gst/mpegtsmux/tsmux/tsmux.c:
+ * gst/mpegtsmux/tsmux/tsmux.h:
+ mpegtsmux: provide API for subclasses to override stream creation
+
+2019-04-25 18:26:27 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/mpegtsmux/atscmux.c:
+ * gst/mpegtsmux/atscmux.h:
+ * gst/mpegtsmux/meson.build:
+ * gst/mpegtsmux/mpegtsmux.c:
+ * gst/mpegtsmux/mpegtsmuxplugin.c:
+ mpegtsmux: add an ATSC subclass
+
+2019-04-22 22:50:07 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/mpegtsmux/tsmux/tsmux.c:
+ tsmux: Calculate PCR from number of bytes written in CBR mode
+
+2019-04-22 22:11:29 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/mpegtsmux/mpegtsmux.c:
+ * gst/mpegtsmux/mpegtsmux.h:
+ * gst/mpegtsmux/tsmux/tsmux.c:
+ * gst/mpegtsmux/tsmux/tsmux.h:
+ * gst/mpegtsmux/tsmux/tsmuxcommon.h:
+ * gst/mpegtsmux/tsmux/tsmuxstream.c:
+ * gst/mpegtsmux/tsmux/tsmuxstream.h:
+ mpegtsmux: Expose bitrate property
+ This allows outputting a Transport Stream with a constant bitrate,
+ by inserting null packets.
+
+2019-04-22 22:10:42 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/mpegtsmux/tsmux/tsmux.c:
+ * gst/mpegtsmux/tsmux/tsmuxstream.c:
+ * gst/mpegtsmux/tsmux/tsmuxstream.h:
+ tsmux: actually respect the PCR frequency we target
+
+2019-04-22 18:23:39 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/mpegtsmux/tsmux/tsmux.c:
+ * gst/mpegtsmux/tsmux/tsmuxstream.c:
+ * gst/mpegtsmux/tsmux/tsmuxstream.h:
+ tsmux: Use DTS over PTS
+
+2019-05-18 12:09:18 +0100 Philippe Normand <philn@igalia.com>
+
+ * ext/aom/meson.build:
+ meson: Keep track of the aom plugin
+ Otherwise it doesn't appear in the GstPluginsPath.json and thus is not listed in
+ gst-build's uninstalled shell's $GST_PLUGIN_PATH.
+
+2019-05-16 13:08:19 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ docs: Update plugins cache for nvdec/nvenc
+
+2019-05-15 11:25:37 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvdec/meson.build:
+ * sys/nvenc/meson.build:
+ meson: Add nvenc and nvdec to plugin list when available
+
+2019-05-17 17:15:13 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst/rist/gstristsink.c:
+ * gst/rist/gstristsrc.c:
+ rist: Fix typo
+
+2019-05-17 15:28:54 +0200 Niels De Graef <niels.degraef@barco.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtc: Fix some signals' GIR annotations
+ This will lead to wrong bindings otherwise (and creates more correct
+ expectations for developers).
+
+2019-05-16 15:35:58 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ docs: Add infos about windows specific plugins
+
+2019-05-16 09:18:53 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/meson.build:
+ * docs/plugins/gst_plugins_cache.json:
+ docs: Stop building the doc cache by default
+ And update the cache
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-docs/issues/36
+
+2019-05-15 16:18:01 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst/rist/meson.build:
+ docs: Add gstrist to the documentation
+
+2019-04-26 08:40:28 +0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * sys/msdk/gstmsdk.c:
+ msdk: fix the typo for gst_msdkvp9dec_debug
+
+2019-05-14 19:19:46 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * autogen.sh:
+ * configure.ac:
+ configure: fix autotools build after gtk-doc removal
+ Were using a gtk-doc specific file to check if we can
+ find the srcdir, so configure would fail.
+
+2019-05-14 10:45:21 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst/frei0r/gstfrei0r.c:
+ docs: Make sure frei0r plugins properties default are stable
+ frei0r returns 'random' values as default and it makes the cache
+ often change for no good reason
+
+2019-05-14 10:28:17 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ docs: Remove stereo and openglmixer from the cache
+ Thus were moved, respectively, to -good and -base
+
+2019-05-14 07:36:15 +0000 Jose Antonio Santos Cadenas <santoscadenas@gmail.com>
+
+ * ext/dtls/gstdtlsagent.c:
+ dtlsagent: Do not overwrite openssl locking callbacks
+
+2019-05-13 22:56:47 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ docs: Update plugins documentation cache
+
+2018-10-22 11:30:45 +0200 Thibault Saunier <tsaunier@igalia.com>
+
+ * .gitignore:
+ * Makefile.am:
+ * configure.ac:
+ * docs/Makefile.am:
+ * docs/gst_api_version.in:
+ * docs/index.md:
+ * docs/libs/.gitignore:
+ * docs/libs/Makefile.am:
+ * docs/libs/adaptivedemux/index.md:
+ * docs/libs/adaptivedemux/sitemap.txt:
+ * docs/libs/base/index.md:
+ * docs/libs/base/sitemap.txt:
+ * docs/libs/codecparsers/index.md:
+ * docs/libs/codecparsers/sitemap.txt:
+ * docs/libs/compiling.sgml:
+ * docs/libs/gst-plugins-bad-libs-docs.sgml:
+ * docs/libs/gst-plugins-bad-libs.types:
+ * docs/libs/insertbin/index.md:
+ * docs/libs/insertbin/sitemap.txt:
+ * docs/libs/mpegts/index.md:
+ * docs/libs/mpegts/sitemap.txt:
+ * docs/libs/player/index.md:
+ * docs/libs/player/sitemap.txt:
+ * docs/libs/tools/index.md:
+ * docs/libs/tools/sitemap.txt:
+ * docs/libs/video/index.md:
+ * docs/libs/video/sitemap.txt:
+ * docs/libs/webrtc/index.md:
+ * docs/libs/webrtc/sitemap.txt:
+ * docs/meson.build:
+ * docs/plugins/.gitignore:
+ * docs/plugins/Makefile.am:
+ * docs/plugins/camerabin.dot:
+ * docs/plugins/camerabin.png:
+ * docs/plugins/gst-plugins-bad-plugins-docs.sgml:
+ * docs/plugins/gst-plugins-bad-plugins-overrides.txt:
+ * docs/plugins/gst-plugins-bad-plugins-sections.txt:
+ * docs/plugins/gst-plugins-bad-plugins.args:
+ * docs/plugins/gst-plugins-bad-plugins.hierarchy:
+ * docs/plugins/gst-plugins-bad-plugins.interfaces:
+ * docs/plugins/gst-plugins-bad-plugins.prerequisites:
+ * docs/plugins/gst-plugins-bad-plugins.signals:
+ * docs/plugins/gst-plugins-bad-plugins.types:
+ * docs/plugins/gst_plugins_cache.json:
+ * docs/plugins/index.md:
+ * docs/plugins/inspect/plugin-accurip.xml:
+ * docs/plugins/inspect/plugin-adpcmdec.xml:
+ * docs/plugins/inspect/plugin-adpcmenc.xml:
+ * docs/plugins/inspect/plugin-aiff.xml:
+ * docs/plugins/inspect/plugin-asfmux.xml:
+ * docs/plugins/inspect/plugin-assrender.xml:
+ * docs/plugins/inspect/plugin-audiobuffersplit.xml:
+ * docs/plugins/inspect/plugin-audiofxbad.xml:
+ * docs/plugins/inspect/plugin-audiolatency.xml:
+ * docs/plugins/inspect/plugin-audiomixmatrix.xml:
+ * docs/plugins/inspect/plugin-audiovisualizers.xml:
+ * docs/plugins/inspect/plugin-autoconvert.xml:
+ * docs/plugins/inspect/plugin-bayer.xml:
+ * docs/plugins/inspect/plugin-bluez.xml:
+ * docs/plugins/inspect/plugin-bs2b.xml:
+ * docs/plugins/inspect/plugin-bz2.xml:
+ * docs/plugins/inspect/plugin-camerabin.xml:
+ * docs/plugins/inspect/plugin-chromaprint.xml:
+ * docs/plugins/inspect/plugin-closedcaption.xml:
+ * docs/plugins/inspect/plugin-coloreffects.xml:
+ * docs/plugins/inspect/plugin-colormanagement.xml:
+ * docs/plugins/inspect/plugin-curl.xml:
+ * docs/plugins/inspect/plugin-dashdemux.xml:
+ * docs/plugins/inspect/plugin-dc1394.xml:
+ * docs/plugins/inspect/plugin-de265.xml:
+ * docs/plugins/inspect/plugin-debugutilsbad.xml:
+ * docs/plugins/inspect/plugin-decklink.xml:
+ * docs/plugins/inspect/plugin-dfbvideosink.xml:
+ * docs/plugins/inspect/plugin-dtls.xml:
+ * docs/plugins/inspect/plugin-dtsdec.xml:
+ * docs/plugins/inspect/plugin-dvb.xml:
+ * docs/plugins/inspect/plugin-dvbsuboverlay.xml:
+ * docs/plugins/inspect/plugin-dvdspu.xml:
+ * docs/plugins/inspect/plugin-faac.xml:
+ * docs/plugins/inspect/plugin-faad.xml:
+ * docs/plugins/inspect/plugin-faceoverlay.xml:
+ * docs/plugins/inspect/plugin-fbdevsink.xml:
+ * docs/plugins/inspect/plugin-fdkaac.xml:
+ * docs/plugins/inspect/plugin-festival.xml:
+ * docs/plugins/inspect/plugin-fieldanalysis.xml:
+ * docs/plugins/inspect/plugin-flite.xml:
+ * docs/plugins/inspect/plugin-fluidsynthmidi.xml:
+ * docs/plugins/inspect/plugin-freeverb.xml:
+ * docs/plugins/inspect/plugin-frei0r.xml:
+ * docs/plugins/inspect/plugin-gaudieffects.xml:
+ * docs/plugins/inspect/plugin-gdp.xml:
+ * docs/plugins/inspect/plugin-geometrictransform.xml:
+ * docs/plugins/inspect/plugin-gme.xml:
+ * docs/plugins/inspect/plugin-gmedec.xml:
+ * docs/plugins/inspect/plugin-gsm.xml:
+ * docs/plugins/inspect/plugin-hls.xml:
+ * docs/plugins/inspect/plugin-id3tag.xml:
+ * docs/plugins/inspect/plugin-inter.xml:
+ * docs/plugins/inspect/plugin-interlace.xml:
+ * docs/plugins/inspect/plugin-ipcpipeline.xml:
+ * docs/plugins/inspect/plugin-ivfparse.xml:
+ * docs/plugins/inspect/plugin-ivtc.xml:
+ * docs/plugins/inspect/plugin-jp2kdecimator.xml:
+ * docs/plugins/inspect/plugin-jpegformat.xml:
+ * docs/plugins/inspect/plugin-kate.xml:
+ * docs/plugins/inspect/plugin-kms.xml:
+ * docs/plugins/inspect/plugin-ladspa.xml:
+ * docs/plugins/inspect/plugin-legacyrawparse.xml:
+ * docs/plugins/inspect/plugin-midi.xml:
+ * docs/plugins/inspect/plugin-mms.xml:
+ * docs/plugins/inspect/plugin-modplug.xml:
+ * docs/plugins/inspect/plugin-mpeg2enc.xml:
+ * docs/plugins/inspect/plugin-mpegpsdemux.xml:
+ * docs/plugins/inspect/plugin-mpegpsmux.xml:
+ * docs/plugins/inspect/plugin-mpegtsdemux.xml:
+ * docs/plugins/inspect/plugin-mpegtsmux.xml:
+ * docs/plugins/inspect/plugin-mplex.xml:
+ * docs/plugins/inspect/plugin-musepack.xml:
+ * docs/plugins/inspect/plugin-mxf.xml:
+ * docs/plugins/inspect/plugin-neon.xml:
+ * docs/plugins/inspect/plugin-neonhttpsrc.xml:
+ * docs/plugins/inspect/plugin-netsim.xml:
+ * docs/plugins/inspect/plugin-ofa.xml:
+ * docs/plugins/inspect/plugin-openal.xml:
+ * docs/plugins/inspect/plugin-opencv.xml:
+ * docs/plugins/inspect/plugin-openexr.xml:
+ * docs/plugins/inspect/plugin-openh264.xml:
+ * docs/plugins/inspect/plugin-openjpeg.xml:
+ * docs/plugins/inspect/plugin-openmpt.xml:
+ * docs/plugins/inspect/plugin-openni2.xml:
+ * docs/plugins/inspect/plugin-opusparse.xml:
+ * docs/plugins/inspect/plugin-pcapparse.xml:
+ * docs/plugins/inspect/plugin-pnm.xml:
+ * docs/plugins/inspect/plugin-proxy.xml:
+ * docs/plugins/inspect/plugin-removesilence.xml:
+ * docs/plugins/inspect/plugin-resindvd.xml:
+ * docs/plugins/inspect/plugin-rfbsrc.xml:
+ * docs/plugins/inspect/plugin-rsvg.xml:
+ * docs/plugins/inspect/plugin-rtmp.xml:
+ * docs/plugins/inspect/plugin-rtponvif.xml:
+ * docs/plugins/inspect/plugin-sbc.xml:
+ * docs/plugins/inspect/plugin-sdpelem.xml:
+ * docs/plugins/inspect/plugin-segmentclip.xml:
+ * docs/plugins/inspect/plugin-shm.xml:
+ * docs/plugins/inspect/plugin-siren.xml:
+ * docs/plugins/inspect/plugin-smooth.xml:
+ * docs/plugins/inspect/plugin-smoothstreaming.xml:
+ * docs/plugins/inspect/plugin-sndfile.xml:
+ * docs/plugins/inspect/plugin-soundtouch.xml:
+ * docs/plugins/inspect/plugin-spandsp.xml:
+ * docs/plugins/inspect/plugin-speed.xml:
+ * docs/plugins/inspect/plugin-srt.xml:
+ * docs/plugins/inspect/plugin-srtp.xml:
+ * docs/plugins/inspect/plugin-subenc.xml:
+ * docs/plugins/inspect/plugin-teletext.xml:
+ * docs/plugins/inspect/plugin-timecode.xml:
+ * docs/plugins/inspect/plugin-ttmlsubs.xml:
+ * docs/plugins/inspect/plugin-uvch264.xml:
+ * docs/plugins/inspect/plugin-vdpau.xml:
+ * docs/plugins/inspect/plugin-videofiltersbad.xml:
+ * docs/plugins/inspect/plugin-videoframe_audiolevel.xml:
+ * docs/plugins/inspect/plugin-videoparsersbad.xml:
+ * docs/plugins/inspect/plugin-videosignal.xml:
+ * docs/plugins/inspect/plugin-vmnc.xml:
+ * docs/plugins/inspect/plugin-voaacenc.xml:
+ * docs/plugins/inspect/plugin-voamrwbenc.xml:
+ * docs/plugins/inspect/plugin-vulkan.xml:
+ * docs/plugins/inspect/plugin-wasapi.xml:
+ * docs/plugins/inspect/plugin-waylandsink.xml:
+ * docs/plugins/inspect/plugin-webp.xml:
+ * docs/plugins/inspect/plugin-webrtc.xml:
+ * docs/plugins/inspect/plugin-webrtcdsp.xml:
+ * docs/plugins/inspect/plugin-wildmidi.xml:
+ * docs/plugins/inspect/plugin-x265.xml:
+ * docs/plugins/inspect/plugin-y4mdec.xml:
+ * docs/plugins/inspect/plugin-yadif.xml:
+ * docs/plugins/inspect/plugin-zbar.xml:
+ * docs/plugins/sitemap.txt:
+ * docs/sitemap.txt:
+ * docs/version.entities.in:
+ * ext/assrender/meson.build:
+ * ext/bz2/meson.build:
+ * ext/chromaprint/meson.build:
+ * ext/curl/meson.build:
+ * ext/dash/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/gsm/meson.build:
+ * ext/hls/meson.build:
+ * ext/iqa/meson.build:
+ * ext/kate/meson.build:
+ * ext/libde265/meson.build:
+ * ext/libmms/meson.build:
+ * ext/mpeg2enc/meson.build:
+ * ext/mplex/meson.build:
+ * ext/opencv/meson.build:
+ * ext/openh264/meson.build:
+ * ext/openjpeg/meson.build:
+ * ext/opus/meson.build:
+ * ext/resindvd/meson.build:
+ * ext/rsvg/meson.build:
+ * ext/rtmp/meson.build:
+ * ext/sbc/meson.build:
+ * ext/smoothstreaming/meson.build:
+ * ext/soundtouch/meson.build:
+ * ext/spandsp/meson.build:
+ * ext/srtp/meson.build:
+ * ext/ttml/meson.build:
+ * ext/voaacenc/meson.build:
+ * ext/vulkan/meson.build:
+ * ext/wayland/meson.build:
+ * ext/webp/meson.build:
+ * ext/webrtc/meson.build:
+ * ext/webrtcdsp/meson.build:
+ * ext/x265/meson.build:
+ * ext/zbar/meson.build:
+ * gst-libs/gst/adaptivedemux/meson.build:
+ * gst-libs/gst/codecparsers/meson.build:
+ * gst-libs/gst/mpegts/gstmpegtsdescriptor.c:
+ * gst-libs/gst/mpegts/gstmpegtssection.c:
+ * gst-libs/gst/player/gstplayer.c:
+ * 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/audiomixmatrix/meson.build:
+ * gst/audiovisualizers/meson.build:
+ * gst/autoconvert/meson.build:
+ * gst/bayer/meson.build:
+ * gst/camerabin2/meson.build:
+ * gst/coloreffects/meson.build:
+ * gst/debugutils/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/rawparse/meson.build:
+ * gst/removesilence/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/timecode/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:
+ * gst/yadif/meson.build:
+ * meson.build:
+ * meson_options.txt:
+ * sys/bluez/meson.build:
+ * sys/d3dvideosink/meson.build:
+ * sys/decklink/meson.build:
+ * sys/directsound/meson.build:
+ * sys/dvb/meson.build:
+ * sys/fbdev/meson.build:
+ * sys/ipcpipeline/meson.build:
+ * sys/kms/meson.build:
+ * sys/msdk/meson.build:
+ * sys/shm/meson.build:
+ * sys/uvch264/meson.build:
+ * sys/wasapi/meson.build:
+ * sys/winks/meson.build:
+ * sys/winscreencap/meson.build:
+ docs: Build documentation with hotdoc
+
+2018-11-12 18:24:20 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * ext/curl/gstcurlhttpsrc.c:
+ * ext/dtls/gstdtlsdec.c:
+ * ext/dtls/gstdtlssrtpdec.c:
+ Mark some properties as DOC_SHOW_DEFAULT
+
+2018-08-10 20:32:30 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * ext/closedcaption/io-sim.c:
+ * ext/curl/gstcurlbasesink.c:
+ * ext/curl/gstcurlfilesink.c:
+ * ext/curl/gstcurlftpsink.c:
+ * ext/curl/gstcurlhttpsink.c:
+ * ext/curl/gstcurlsftpsink.c:
+ * ext/curl/gstcurlsmtpsink.c:
+ * ext/curl/gstcurlsshsink.c:
+ * ext/curl/gstcurltlssink.c:
+ * ext/smoothstreaming/gstmssmanifest.c:
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/gstwebrtcice.c:
+ * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+ * gst-libs/gst/codecparsers/gsth264parser.h:
+ * gst-libs/gst/codecparsers/gsth265parser.c:
+ * gst-libs/gst/codecparsers/nalutils.c:
+ * gst-libs/gst/mpegts/gst-dvb-descriptor.c:
+ * gst-libs/gst/mpegts/gst-dvb-descriptor.h:
+ * gst-libs/gst/player/gstplayer-g-main-context-signal-dispatcher.c:
+ * gst-libs/gst/player/gstplayer-media-info.c:
+ * gst-libs/gst/player/gstplayer.c:
+ * gst-libs/gst/webrtc/dtlstransport.h:
+ * gst-libs/gst/webrtc/icetransport.h:
+ * gst-libs/gst/webrtc/rtpreceiver.h:
+ * gst-libs/gst/webrtc/rtpsender.h:
+ * gst-libs/gst/webrtc/rtptransceiver.h:
+ * gst-libs/gst/webrtc/webrtc_fwd.h:
+ * gst/geometrictransform/geometricmath.c:
+ * sys/shm/shmpipe.c:
+ Minor documentation fixes
+
+2018-10-22 11:30:09 +0200 Thibault Saunier <tsaunier@igalia.com>
+
+ * ext/directfb/dfbvideosink.c:
+ directfb: Fixup plugin name to match plugin filename
+ Has required by the new PLUGIN_DEFINE macro
+
+2019-05-01 19:40:03 +0200 Niklas Hambüchen <mail@nh2.me>
+
+ * ext/gsm/meson.build:
+ meson: Fix missing GSM_HEADER_IN_SUBDIR logic
+ Until now, this hadn't been translated from autoconf yet.
+
+2019-05-01 19:16:58 +0200 Niklas Hambüchen <mail@nh2.me>
+
+ * ext/gsm/meson.build:
+ meson: Fix typo in gsm header file name
+ This was wrong since commit c360ceea4deb5d56c94126e31b9614734e8c1a7e.
+ Also fix incorrect indentation (tab instead of spaces).
+ Found using hermetic builds with Nix:
+ https://github.com/NixOS/nixpkgs/pull/54398#discussion_r280125735
+
+2019-05-01 19:22:17 +0200 Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+ * ext/srt/gstsrtobject.c:
+ * ext/srt/gstsrtobject.h:
+ * ext/srt/gstsrtsink.c:
+ * ext/srt/gstsrtsrc.c:
+ srt: set cancellation in locked section
+ ... to avoid race with wait which uses it with 'flushing' flag state semantics.
+
+2019-05-01 19:01:03 +0200 Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+ * ext/srt/gstsrtobject.c:
+ * ext/srt/gstsrtobject.h:
+ srt: avoid srtsrc segfault upon downward state change
+ ... when it has not yet been connected to.
+ Also, a condition variable is not a semaphore, so a lock/wait/unlock
+ sequence is inherently racy without any state checking. So switch to
+ a different lock and check the intended state.
+
+2019-05-01 18:58:30 +0200 Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+ * ext/srt/gstsrtobject.c:
+ srt: initialize list access within locked region
+
+2019-05-09 14:08:31 +0200 Niels De Graef <niels.degraef@barco.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtc: Fix signals documentation
+ Some GIR annotations were incorrect or even missing. The former isn't
+ good for bindings, while the latter is especially annoying for signal
+ handlers, as that means your arguments will get the wrong names in the
+ rendered documentation.
+
+2019-05-09 15:11:17 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvenc/gstnvbaseenc.c:
+ nvenc: Respect display aspect ratio and set to encoding parameter
+ It should be written in VUI parameter for proper rendering
+
+2019-05-08 15:46:26 +0200 Niels De Graef <niels.degraef@barco.com>
+
+ * gst-libs/gst/webrtc/dtlstransport.h:
+ * gst-libs/gst/webrtc/icetransport.h:
+ * gst-libs/gst/webrtc/rtcsessiondescription.h:
+ * gst-libs/gst/webrtc/rtpreceiver.h:
+ * gst-libs/gst/webrtc/rtpsender.h:
+ * gst-libs/gst/webrtc/rtptransceiver.h:
+ webrtc: Add g_autoptr() support for public types
+
+2019-05-08 13:35:25 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * ext/openh264/gstopenh264enc.cpp:
+ openh264enc: Fix compilation with openh264 v2.0
+ As OpenH264 increased its version to 2.0 the guard for structure
+ member is not valid.
+ This patch will fix the compilation with gst-build and openh264.
+
+2019-05-08 19:26:03 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/meson.build:
+ * sys/nvenc/meson.build:
+ meson: Allow CUDA_PATH fallback on linux
+ That's what we've supported via autotools build
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/966
+
+2019-05-04 20:56:38 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * sys/nvenc/gstnvbaseenc.c:
+ * sys/nvenc/gstnvh264enc.c:
+ nvh264enc: Fix broken Y444 format encoding with system memory Y444 support
+ separateColourPlaneFlag is mapped to separate_colour_plane_flag which
+ means Y, U and V planes are separately processed as monochrome sampled pictures.
+ So encoder shouldn't set that flag for normal 4:4:4 encoding.
+ Also for 4:4:4 encoding, NV_ENC_H264_PROFILE_HIGH_444_GUID profile must be
+ explicitly set.
+
+2019-05-05 22:11:16 +0200 Christoph Reiter <reiter.christoph@gmail.com>
+
+ * gst-libs/gst/opencv/meson.build:
+ meson: fix build with opencv=enabled and opencv4. Fixes #964
+ Having the opencv feature enabled would lead to the opencv3 dependency
+ being required which failed with only opencv4 being available.
+ Instead don't require anything and error out at the end if the feature was enabled
+ but no dependency was found.
+
+2019-05-05 19:27:15 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * ext/colormanagement/meson.build:
+ * ext/meson.build:
+ * meson_options.txt:
+ meson: Add support for the colormanagement plugin
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/965
+
+2019-05-05 12:34:23 +0200 Christoph Reiter <reiter.christoph@gmail.com>
+
+ * gst-libs/gst/sctp/Makefile.am:
+ autotools: gstsctp: set LDFLAGS
+ This fixes the mingw build which failed because of "-no-undefined" missing.
+
+2019-05-04 00:15:32 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * sys/decklink/gstdecklinkvideosink.cpp:
+ * sys/decklink/gstdecklinkvideosink.h:
+ * sys/decklink/gstdecklinkvideosrc.cpp:
+ * sys/decklink/gstdecklinkvideosrc.h:
+ decklink: Add support for parsing/outputting AFD/Bar
+
+2019-04-22 15:42:12 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * sys/decklink/gstdecklink.cpp:
+ * sys/decklink/gstdecklink.h:
+ * sys/decklink/gstdecklinkvideosrc.cpp:
+ decklink: Allow VANC to be used for all modes
+
+2019-04-16 13:15:40 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * sys/decklink/gstdecklink.cpp:
+ * sys/decklink/gstdecklink.h:
+ decklink: Add support for widescreen NTSC/PAL
+ Same as non-widescreen but with a different pixel-aspect-ratio.
+
+2019-05-01 21:24:49 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * gst/videoparsers/gsth265parse.c:
+ * gst/videoparsers/gsth265parse.h:
+ h265parse: Parse mastering display info and content light level from SEI
+ ... and set to caps if necessary.
+ Note 1) the mastering display info and content light level SEI meessages
+ are persistent in the corresponding codec video sequence (i.e., GOP).
+ So any bitstream containing those SEI messages
+ (and also all pictures are intended to be HDR rendered) should be ensured that
+ each first slice of codec video sequence follows those SEI messages.
+ Note 2) The codec video sequence is a group an [IRAP + NoRaslOutputFlag == 1]
+ and following AUs which are not [IRAP + NoRaslOutputFlag == 1]
+ The NoRaslOutputFlag is equal to 1 for each IDR AU, BLA AU and some CRA AU.
+ For a CRA AU to have NoRaslOutputFlag equal to 1, following condition should required.
+ * When the CRA AU is the first AU in the bitstream in decoding order
+ * or the CRA AU is the first AU that follows an end of sequence NAL in decoding order
+ * or the HandleCraAsBlaFlag equal to 1.
+ Due to the limited context in parse element, in this commint, CRA AU will not considered as
+ having the NoRaslOutputFlag equal to 1. Therefore, in the worst case,
+ mastering-display-info and content-light-level could be cleared one GOP after
+ when stream was chagned from HDR to SDR.
+
+2019-04-26 20:11:12 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * gst-libs/gst/codecparsers/gsth265parser.c:
+ * gst-libs/gst/codecparsers/gsth265parser.h:
+ h265parser: Add parsing mastering display colour volume SEI message
+ ... and content light level SEI message. Those SEI messages are required
+ for HDR rendering.
+
+2019-05-03 19:10:22 +0700 Roman Shpuntov <roman.shpuntov@gmail.com>
+
+ * sys/androidmedia/gstamc.c:
+ androidmedia: added path /system/vendor/etc to dependency
+
+2019-05-02 14:29:03 +0200 Niels De Graef <niels.degraef@barco.com>
+
+ * sys/nvdec/Makefile.am:
+ * sys/nvenc/Makefile.am:
+ nvenc/nvdec: Add NVIDIA SDK headers to noinst_HEADERS
+ The tarballs that were being spun for 1.16 don't contain these headers
+ due to this small oversight, so let's add them.
+
+2019-04-05 17:01:08 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * docs/plugins/Makefile.am:
+ * docs/plugins/gst-plugins-bad-plugins-docs.sgml:
+ * docs/plugins/gst-plugins-bad-plugins-sections.txt:
+ * docs/plugins/gst-plugins-bad-plugins.args:
+ * docs/plugins/gst-plugins-bad-plugins.hierarchy:
+ * docs/plugins/gst-plugins-bad-plugins.interfaces:
+ * docs/plugins/inspect/plugin-rist.xml:
+ rist: Enable plugin doc creation
+
+2019-01-21 11:44:10 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * configure.ac:
+ * gst/meson.build:
+ * gst/rist/Makefile.am:
+ * gst/rist/gstrist.h:
+ * gst/rist/gstristplugin.c:
+ * gst/rist/gstristrtxreceive.c:
+ * gst/rist/gstristrtxsend.c:
+ * gst/rist/gstristsink.c:
+ * gst/rist/gstristsrc.c:
+ * gst/rist/meson.build:
+ * meson_options.txt:
+ rist: Add a plugin implenting RIST TR-06-1 Simple Profile
+ RIST TR-06-1 is a specification for video streaming made by the VSF
+ group. It is using a subset of RTP specification to which some
+ modification has been made to improve RTX behaviour and avoid any need
+ for signaling. The plugin implement ristrtxsend / ristrtxreceive element
+ which are the RIST specific equivalent of rtprtxsend/rtprtxreceive and
+ ristsink / ristsrc which implement rist transmitter and receiver. The
+ RIST protocol is meant to be used in unidirectional way. Typically, MPEG
+ TS over RTP is used.
+ Currently we support unicast and multicast streaming according to the
+ specification. This patch does not include any bonding support yet. The
+ ristsrc element introduce rist:// URI handling in parallel to it's
+ property configuration interface.
+
+2019-05-01 15:31:34 -0400 Aaron Boxer <aaron.boxer@collabora.com>
+
+ * ext/closedcaption/gstccextractor.c:
+ ccextractor: copy input buffer flags to output buffer
+ GST_VIDEO_BUFFER_FLAG_INTERLACED and GST_VIDEO_BUFFER_FLAG_TFF
+ flags are needed when processing SCTE 20 closed captions for an interlaced
+ stream, when we need to convert back to analog, in which case we need to match
+ the caption to the top or bottom field
+
+2019-05-01 19:29:16 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * gst/videoparsers/gsth264parse.c:
+ h264parse: Fix typo when setting multiview mode and flags
+
+2019-05-02 13:20:30 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * ext/x265/gstx265enc.c:
+ x265enc: Do not drop SEI nals from header
+ SEI message shouldn't be dropped since it contains various informal (or essential)
+ information.
+
+2019-05-02 12:21:38 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * ext/x265/gstx265enc.c:
+ x265enc: Add support mastering display info and content light level encoding
+ ... if (x265 version >= 1.9) requirement is satisfied.
+ The SEI messages were supported since x265 version 1.8
+ but there was API change from version 1.9
+ (contentLightLevelInfo was renamed to maxCLL and maxFALL)
+
+2019-04-30 21:25:12 -0300 Marcos Kintschner <marcos.ktn@gmail.com>
+
+ * sys/wasapi/gstwasapisrc.c:
+ * sys/wasapi/gstwasapisrc.h:
+ Fixed segtotal value being always 2 due to an unused variable
+ The 'MAX' expression used to set segtotal always returned 2 because the unused and unitialized variable buffer_frame_count was always 0
+
+2019-04-26 09:52:43 +0800 Wangfei <fei.w.wang@intel.com>
+
+ * gst-libs/gst/codecparsers/gsth265parser.c:
+ * gst-libs/gst/codecparsers/gsth265parser.h:
+ h265parser: parse range extension message in SPS/PPS.
+ Range extension message may exist in some extension-profile clips.
+
+2019-04-26 16:25:17 +0200 Fabio D'Urso <fabio.durso@m2dtech.com>
+
+ * ext/sctp/sctpassociation.c:
+ sctp: increase DEFAULT_NUMBER_OF_SCTP_STREAMS to 1024
+ This change makes it possible to create more than just 5 webrtc
+ data channels. The maximum number of data channels is exactly
+ DEFAULT_NUMBER_OF_SCTP_STREAMS / 2, therefore the limit is now
+ 512.
+
+2019-04-23 15:09:17 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/codecparsers/gsth264parser.h:
+ * gst-libs/gst/codecparsers/gsth265parser.h:
+ * gst-libs/gst/interfaces/photography.h:
+ libs: Fix various Since markers
+
+2019-04-23 14:33:05 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/player/gstplayer-video-overlay-video-renderer.c:
+ * gst-libs/gst/player/gstplayer.c:
+ player: Fix various Since markers in the docs
+
+2019-04-23 09:06:13 +0200 Nicola Murino <nicola.murino@gmail.com>
+
+ * configure.ac:
+ * ext/opencv/meson.build:
+ opencv: allow compilation against 4.1.x
+
+2019-04-21 17:17:14 +0200 Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+ * ext/srt/gstsrtsink.c:
+ * ext/srt/gstsrtsrc.c:
+ srt: post error when failing to start
+ ... as appropriate for a subsequent state change failure
+
+2019-04-21 16:47:30 +0200 Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+ * ext/srt/gstsrtobject.c:
+ srt: downgrade regular message to log level
+
+2019-04-19 10:33:49 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * README:
+ * RELEASE:
+ * configure.ac:
+ * docs/plugins/inspect/plugin-accurip.xml:
+ * docs/plugins/inspect/plugin-adpcmdec.xml:
+ * docs/plugins/inspect/plugin-adpcmenc.xml:
+ * docs/plugins/inspect/plugin-aiff.xml:
+ * docs/plugins/inspect/plugin-asfmux.xml:
+ * docs/plugins/inspect/plugin-assrender.xml:
+ * docs/plugins/inspect/plugin-audiobuffersplit.xml:
+ * docs/plugins/inspect/plugin-audiofxbad.xml:
+ * docs/plugins/inspect/plugin-audiolatency.xml:
+ * docs/plugins/inspect/plugin-audiomixmatrix.xml:
+ * docs/plugins/inspect/plugin-audiovisualizers.xml:
+ * docs/plugins/inspect/plugin-autoconvert.xml:
+ * docs/plugins/inspect/plugin-bayer.xml:
+ * docs/plugins/inspect/plugin-bluez.xml:
+ * docs/plugins/inspect/plugin-bs2b.xml:
+ * docs/plugins/inspect/plugin-bz2.xml:
+ * docs/plugins/inspect/plugin-camerabin.xml:
+ * docs/plugins/inspect/plugin-chromaprint.xml:
+ * docs/plugins/inspect/plugin-closedcaption.xml:
+ * docs/plugins/inspect/plugin-coloreffects.xml:
+ * docs/plugins/inspect/plugin-colormanagement.xml:
+ * docs/plugins/inspect/plugin-curl.xml:
+ * docs/plugins/inspect/plugin-dashdemux.xml:
+ * docs/plugins/inspect/plugin-dc1394.xml:
+ * docs/plugins/inspect/plugin-de265.xml:
+ * docs/plugins/inspect/plugin-debugutilsbad.xml:
+ * docs/plugins/inspect/plugin-decklink.xml:
+ * docs/plugins/inspect/plugin-dfbvideosink.xml:
+ * docs/plugins/inspect/plugin-dtls.xml:
+ * docs/plugins/inspect/plugin-dtsdec.xml:
+ * docs/plugins/inspect/plugin-dvb.xml:
+ * docs/plugins/inspect/plugin-dvbsuboverlay.xml:
+ * docs/plugins/inspect/plugin-dvdspu.xml:
+ * docs/plugins/inspect/plugin-faac.xml:
+ * docs/plugins/inspect/plugin-faad.xml:
+ * docs/plugins/inspect/plugin-faceoverlay.xml:
+ * docs/plugins/inspect/plugin-fbdevsink.xml:
+ * docs/plugins/inspect/plugin-fdkaac.xml:
+ * docs/plugins/inspect/plugin-festival.xml:
+ * docs/plugins/inspect/plugin-fieldanalysis.xml:
+ * docs/plugins/inspect/plugin-flite.xml:
+ * docs/plugins/inspect/plugin-fluidsynthmidi.xml:
+ * docs/plugins/inspect/plugin-freeverb.xml:
+ * docs/plugins/inspect/plugin-frei0r.xml:
+ * docs/plugins/inspect/plugin-gaudieffects.xml:
+ * docs/plugins/inspect/plugin-gdp.xml:
+ * docs/plugins/inspect/plugin-geometrictransform.xml:
+ * docs/plugins/inspect/plugin-gme.xml:
+ * docs/plugins/inspect/plugin-gsm.xml:
+ * docs/plugins/inspect/plugin-hls.xml:
+ * docs/plugins/inspect/plugin-id3tag.xml:
+ * docs/plugins/inspect/plugin-inter.xml:
+ * docs/plugins/inspect/plugin-interlace.xml:
+ * docs/plugins/inspect/plugin-ipcpipeline.xml:
+ * docs/plugins/inspect/plugin-ivfparse.xml:
+ * docs/plugins/inspect/plugin-ivtc.xml:
+ * docs/plugins/inspect/plugin-jp2kdecimator.xml:
+ * docs/plugins/inspect/plugin-jpegformat.xml:
+ * docs/plugins/inspect/plugin-kate.xml:
+ * docs/plugins/inspect/plugin-kms.xml:
+ * docs/plugins/inspect/plugin-ladspa.xml:
+ * docs/plugins/inspect/plugin-legacyrawparse.xml:
+ * docs/plugins/inspect/plugin-midi.xml:
+ * docs/plugins/inspect/plugin-mms.xml:
+ * docs/plugins/inspect/plugin-modplug.xml:
+ * docs/plugins/inspect/plugin-mpegpsdemux.xml:
+ * docs/plugins/inspect/plugin-mpegpsmux.xml:
+ * docs/plugins/inspect/plugin-mpegtsdemux.xml:
+ * docs/plugins/inspect/plugin-mpegtsmux.xml:
+ * docs/plugins/inspect/plugin-musepack.xml:
+ * docs/plugins/inspect/plugin-mxf.xml:
+ * docs/plugins/inspect/plugin-neonhttpsrc.xml:
+ * docs/plugins/inspect/plugin-netsim.xml:
+ * docs/plugins/inspect/plugin-ofa.xml:
+ * docs/plugins/inspect/plugin-openal.xml:
+ * docs/plugins/inspect/plugin-opencv.xml:
+ * docs/plugins/inspect/plugin-openexr.xml:
+ * docs/plugins/inspect/plugin-openh264.xml:
+ * docs/plugins/inspect/plugin-openjpeg.xml:
+ * docs/plugins/inspect/plugin-openmpt.xml:
+ * docs/plugins/inspect/plugin-openni2.xml:
+ * docs/plugins/inspect/plugin-opusparse.xml:
+ * docs/plugins/inspect/plugin-pcapparse.xml:
+ * docs/plugins/inspect/plugin-pnm.xml:
+ * docs/plugins/inspect/plugin-proxy.xml:
+ * docs/plugins/inspect/plugin-removesilence.xml:
+ * docs/plugins/inspect/plugin-resindvd.xml:
+ * docs/plugins/inspect/plugin-rfbsrc.xml:
+ * docs/plugins/inspect/plugin-rsvg.xml:
+ * docs/plugins/inspect/plugin-rtmp.xml:
+ * docs/plugins/inspect/plugin-rtponvif.xml:
+ * docs/plugins/inspect/plugin-sbc.xml:
+ * docs/plugins/inspect/plugin-sctp.xml:
+ * docs/plugins/inspect/plugin-sdpelem.xml:
+ * docs/plugins/inspect/plugin-segmentclip.xml:
+ * docs/plugins/inspect/plugin-shm.xml:
+ * docs/plugins/inspect/plugin-siren.xml:
+ * docs/plugins/inspect/plugin-smooth.xml:
+ * docs/plugins/inspect/plugin-smoothstreaming.xml:
+ * docs/plugins/inspect/plugin-sndfile.xml:
+ * docs/plugins/inspect/plugin-soundtouch.xml:
+ * docs/plugins/inspect/plugin-spandsp.xml:
+ * docs/plugins/inspect/plugin-speed.xml:
+ * docs/plugins/inspect/plugin-srt.xml:
+ * docs/plugins/inspect/plugin-srtp.xml:
+ * docs/plugins/inspect/plugin-subenc.xml:
+ * docs/plugins/inspect/plugin-teletext.xml:
+ * docs/plugins/inspect/plugin-timecode.xml:
+ * docs/plugins/inspect/plugin-ttmlsubs.xml:
+ * docs/plugins/inspect/plugin-uvch264.xml:
+ * docs/plugins/inspect/plugin-vdpau.xml:
+ * docs/plugins/inspect/plugin-videofiltersbad.xml:
+ * docs/plugins/inspect/plugin-videoframe_audiolevel.xml:
+ * docs/plugins/inspect/plugin-videoparsersbad.xml:
+ * docs/plugins/inspect/plugin-videosignal.xml:
+ * docs/plugins/inspect/plugin-vmnc.xml:
+ * docs/plugins/inspect/plugin-voaacenc.xml:
+ * docs/plugins/inspect/plugin-voamrwbenc.xml:
+ * docs/plugins/inspect/plugin-vulkan.xml:
+ * docs/plugins/inspect/plugin-wasapi.xml:
+ * docs/plugins/inspect/plugin-waylandsink.xml:
+ * docs/plugins/inspect/plugin-webp.xml:
+ * docs/plugins/inspect/plugin-webrtc.xml:
+ * docs/plugins/inspect/plugin-wildmidi.xml:
+ * docs/plugins/inspect/plugin-x265.xml:
+ * docs/plugins/inspect/plugin-y4mdec.xml:
+ * docs/plugins/inspect/plugin-yadif.xml:
+ * docs/plugins/inspect/plugin-zbar.xml:
+ * meson.build:
+ Back to development
+
=== release 1.16.0 ===
2019-04-19 00:28:55 +0100 Tim-Philipp Müller <tim@centricular.com>
@@ -145988,7 +162942,7 @@
h264
Fixes #606657
-2010-01-11 22:41:57 +0300 <lrn1986@gmail.com>
+2010-01-11 22:41:57 +0300 ������ ��������� <lrn1986@gmail.com>
* ext/soundtouch/gstbpmdetect.cc:
* ext/soundtouch/gstpitch.cc:
diff --git a/NEWS b/NEWS
index 817de1372..a4e7232a1 100644
--- a/NEWS
+++ b/NEWS
@@ -1,14 +1,30 @@
-GSTREAMER 1.16 RELEASE NOTES
+GSTREAMER 1.18 RELEASE NOTES
-GStreamer 1.16.0 was originally released on 19 April 2019.
+THESE RELEASE NOTES ARE A PLACEHOLDER, PLEASE BEAR WITH US WHILE WE
+FINISH WRITING UP THE REAL THING.
-See https://gstreamer.freedesktop.org/releases/1.16/ for the latest
+GStreamer 1.18.0 has not yet been released. It is scheduled for release
+in summer 2020 now.
+
+1.17.x is the unstable development series that is currently being
+developed in the git master branch and which will eventually result in
+1.18, and 1.17.1 is the current development release in that series.
+
+The schedule for the 1.18 development cycle is yet to be confirmed, but
+it is expected that feature freeze will be in June/July 2020, followed
+by several 1.17 pre-releases and then a new 1.18 stable release in
+July/August 2020.
+
+1.18 will be backwards-compatible to the stable 1.16, 1.14, 1.12, 1.10,
+1.8, 1.6, 1.4, 1.2 and 1.0 release series.
+
+See https://gstreamer.freedesktop.org/releases/1.18/ for the latest
version of this document.
-_Last updated: Friday 19 April 2019, 00:00 UTC (log)_
+_Last updated: Thursday 18 June 2020, 16:00 UTC (log)_
Introduction
@@ -23,1146 +39,133 @@ fixes and other improvements.
Highlights
-- GStreamer WebRTC stack gained support for data channels for
- peer-to-peer communication based on SCTP, BUNDLE support, as well as
- support for multiple TURN servers.
-
-- AV1 video codec support for Matroska and QuickTime/MP4 containers
- and more configuration options and supported input formats for the
- AOMedia AV1 encoder
-
-- Support for Closed Captions and other Ancillary Data in video
-
-- Support for planar (non-interleaved) raw audio
-
-- GstVideoAggregator, compositor and OpenGL mixer elements are now in
- -base
-
-- New alternate fields interlace mode where each buffer carries a
- single field
-
-- WebM and Matroska ContentEncryption support in the Matroska demuxer
-
-- new WebKit WPE-based web browser source element
-
-- Video4Linux: HEVC encoding and decoding, JPEG encoding, and improved
- dmabuf import/export
-
-- Hardware-accelerated Nvidia video decoder gained support for VP8/VP9
- decoding, whilst the encoder gained support for H.265/HEVC encoding.
-
-- Many improvements to the Intel Media SDK based hardware-accelerated
- video decoder and encoder plugin (msdk): dmabuf import/export for
- zero-copy integration with other components; VP9 decoding; 10-bit
- HEVC encoding; video post-processing (vpp) support including
- deinterlacing; and the video decoder now handles dynamic resolution
- changes.
-
-- The ASS/SSA subtitle overlay renderer can now handle multiple
- subtitles that overlap in time and will show them on screen
- simultaneously
-
-- The Meson build is now feature-complete (*) and it is now the
- recommended build system on all platforms. The Autotools build is
- scheduled to be removed in the next cycle.
-
-- The GStreamer Rust bindings and Rust plugins module are now
- officially part of upstream GStreamer.
-
-- The GStreamer Editing Services gained a gesdemux element that allows
- directly playing back serialized edit list with playbin or
- (uri)decodebin
-
-- Many performance improvements
+- FIXME
Major new features and changes
Noteworthy new API
-- GstAggregator has a new "min-upstream-latency" property that forces
- a minimum aggregate latency for the input branches of an aggregator.
- This is useful for dynamic pipelines where branches with a higher
- latency might be added later after the pipeline is already up and
- running and where a change in the latency would be disruptive. This
- only applies to the case where at least one of the input branches is
- live though, it won’t force the aggregator into live mode in the
- absence of any live inputs.
-
-- GstBaseSink gained a "processing-deadline" property and
- setter/getter API to configure a processing deadline for live
- pipelines. The processing deadline is the acceptable amount of time
- to process the media in a live pipeline before it reaches the sink.
- This is on top of the systemic latency that is normally reported by
- the latency query. This defaults to 20ms and should make pipelines
- such as v4l2src ! xvimagesink not claim that all frames are late in
- the QoS events. Ideally, this should replace the "max-lateness"
- property for most applications.
-
-- RTCP Extended Reports (XR) parsing according to RFC 3611:
- Loss/Duplicate RLE, Packet Receipt Times, Receiver Reference Time,
- Delay since the last Receiver (DLRR), Statistics Summary, and VoIP
- Metrics reports. This only provides the ability to parse such
- packets, generation of XR packets is not supported yet and XR
- packets are not automatically parsed by rtpbin / rtpsession but must
- be actively handled by the application.
-
-- a new mode for interlaced video was added where each buffer carries
- a single field of interlaced video, with buffer flags indicating
- whether the field is the top field or bottom field. Top and bottom
- fields are expected to alternate in this mode. Caps for this
- interlace mode must also carry a format:Interlaced caps feature to
- ensure backwards compatibility.
-
-- The video library has gained support for three new raw pixel
- formats:
-
- - Y410: packed 4:4:4 YUV, 10 bits per channel
- - Y210: packed 4:2:2 YUV, 10 bits per channel
- - NV12_10LE40: fully-packed 10-bit variant of NV12_10LE32,
- i.e. without the padding bits
-
-- GstRTPSourceMeta is a new meta that can be used to transport
- information about the origin of depayloaded or decoded RTP buffers,
- e.g. when mixing audio from multiple sources into a single stream. A
- new "source-info" property on the RTP depayloader base class
- determines whether depayloaders should put this meta on outgoing
- buffers. Similarly, the same property on RTP payloaders determines
- whether they should use the information from this meta to construct
- the CSRCs list on outgoing RTP buffers.
-
-- gst_sdp_message_from_text() is a convenience constructor to parse
- SDPs from a string which is particularly useful for language
- bindings.
-
-Support for Planar (Non-Interleaved) Raw Audio
-
-Raw audio samples are usually passed around in interleaved form in
-GStreamer, which means that if there are multiple audio channels the
-samples for each channel are interleaved in memory, e.g.
-|LEFT|RIGHT|LEFT|RIGHT|LEFT|RIGHT| for stereo audio. A non-interleaved
-or planar arrangement in memory would look like
-|LEFT|LEFT|LEFT|RIGHT|RIGHT|RIGHT| instead, possibly with
-|LEFT|LEFT|LEFT| and |RIGHT|RIGHT|RIGHT| residing in separate memory
-chunks or separated by some padding.
-
-GStreamer has always had signalling for non-interleaved audio since
-version 1.0, but it was never actually properly implemented in any
-elements. audioconvert would advertise support for it, but wasn’t
-actually able to handle it correctly.
-
-With this release we now have full support for non-interleaved audio as
-well, which means more efficient integration with external APIs that
-handle audio this way, but also more efficient processing of certain
-operations like interleaving multiple 1-channel streams into a
-multi-channel stream which can be done without memory copies now.
-
-New API to support this has been added to the GStreamer Audio support
-library: There is now a new GstAudioMeta which describes how data is
-laid out inside the buffer, and buffers with non-interleaved audio must
-always carry this meta. To access the non-interleaved audio samples you
-must map such buffers with gst_audio_buffer_map() which works much like
-gst_buffer_map() or gst_video_frame_map() in that it will populate a
-little GstAudioBuffer helper structure passed to it with the number of
-samples, the number of planes and pointers to the start of each plane in
-memory. This function can also be used to map interleaved audio buffers
-in which case there will be only one plane of interleaved samples.
-
-Of course support for this has also been implemented in the various
-audio helper and conversion APIs, base classes, and in elements such as
-audioconvert, audioresample, audiotestsrc, audiorate.
-
-Support for Closed Captions and Other Ancillary Data in Video
-
-The video support library has gained support for detecting and
-extracting Ancillary Data from videos as per the SMPTE S291M
-specification, including:
-
-- a VBI (Vertical Blanking Interval) parser that can detect and
- extract Ancillary Data from Vertical Blanking Interval lines of
- component signals. This is currently supported for videos in v210
- and UYVY format.
-
-- a new GstMeta for closed captions: GstVideoCaptionMeta. This
- supports the two types of closed captions, CEA-608 and CEA-708,
- along with the four different ways they can be transported (other
- systems are a superset of those).
-
-- a VBI (Vertical Blanking Interval) encoder for writing ancillary
- data to the Vertical Blanking Interval lines of component signals.
-
-The new closedcaption plugin in gst-plugins-bad then makes use of all
-this new infrastructure and provides the following elements:
-
-- cccombiner: a closed caption combiner that takes a closed captions
- stream and another stream and adds the closed captions as
- GstVideoCaptionMeta to the buffers of the other stream.
-
-- ccextractor: a closed caption extractor which will take
- GstVideoCaptionMeta from input buffers and output them as a separate
- closed captions stream.
-
-- ccconverter: a closed caption converter that can convert between
- different formats
-
-- line21encoder, line21decoder: inject/extract line21 closed captions
- to/from SD video streams
-
-- cc708overlay: decodes CEA 608/708 captions and overlays them on
- video
-
-Additionally, the following elements have also gained Closed Caption
-support:
-
-- qtdemux and qtmux support CEA 608/708 Closed Caption tracks
-
-- mpegvideoparse, h264parse extracts Closed Captions from MPEG-2/H.264
- video streams
-
-- avviddec, avvidenc, x264enc got support for extracting/injecting
- Closed Captions
-
-- decklinkvideosink can output closed captions and decklinkvideosrc
- can extract closed captions
-
-- playbin and playbin3 learned how to autoplug CEA 608/708 CC overlay
- elements
-
-- the externally maintained ajavideosrc element for AJA capture cards
- has support for extracting closed captions
-
-The rsclosedcaption plugin in the Rust plugins collection includes a
-MacCaption (MCC) file parser and encoder.
+- FIXME
New Elements
-- overlaycomposition: New element that allows applications to draw
- GstVideoOverlayCompositions on a stream. The element will emit the
- "draw" signal for each video buffer, and the application then
- generates an overlay for that frame (or not). This is much more
- performant than e.g. cairooverlay for many use cases, e.g. because
- pixel format conversions can be avoided or the blitting of the
- overlay can be delegated to downstream elements (such as
- gloverlaycompositor). It’s particularly useful for cases where only
- a small section of the video frame should be drawn on.
-
-- gloverlaycompositor: New OpenGL-based compositor element that
- flattens any overlays from GstVideoOverlayCompositionMetas into the
- video stream. This element is also always part of glimagesink.
-
-- glalpha: New element that adds an alpha channel to a video stream.
- The values of the alpha channel can either be set to a constant or
- can be dynamically calculated via chroma keying. It is similar to
- the existing alpha element but based on OpenGL. Calculations are
- done in floating point so results may not be identical to the output
- of the existing alpha element.
-
-- rtpfunnel funnels together RTP streams into a single session. Use
- cases include multiplexing and bundle. webrtcbin uses it to
- implement BUNDLE support.
-
-- testsrcbin is a source element that provides an audio and/or video
- stream and also announces them using the recently-introduced
- GstStream API. This is useful for testing elements such as playbin3
- or uridecodebin3 etc.
-
-- New closed caption elements: cccombiner, ccextractor, ccconverter,
- line21encoder, line21decoder and cc708overlay (see above)
-
-- wpesrc: new source element acting as a Web Browser based on WebKit
- WPE
-
-- Two new OpenCV-based elements: cameracalibrate and cameraundistort
- that can communicate to figure out distortion correction parameters
- for a camera and correct for the distortion.
-
-- New sctp plugin based on usrsctp with sctpenc and sctpdec elements.
- These elements are used inside webrtcbin for implementing data
- channels.
+- FIXME
New element features and additions
-- playbin3, playbin and playsink have gained a new "text-offset"
- property to adjust the positioning of the selected subtitle stream
- vis-a-vis the audio and video streams. This uses subtitleoverlay’s
- new "subtitle-ts-offset" property. GstPlayer has gained matching API
- for this, namely gst_player_get_text_video_offset().
-
-- playbin3 buffering improvements: in network playback scenarios there
- may be multiple inputs to decodebin3, and buffering will be done
- before decodebin3 using queue2 or downloadbuffer elements inside
- urisourcebin. Since this is before any parsers or demuxers there may
- not be any bitrate information available for the various streams, so
- it was difficult to configure the buffering there smartly within
- global constraints. This was improved now: The queue2 elements
- inside urisourcebin will now use the new bitrate query to figure out
- a bitrate estimate for the stream if no bitrate was provided by
- upstream, and urisourcebin will use the bitrates of the individual
- queues to distribute the globally-set "buffer-size" budget in bytes
- to the various queues. urisourcebin also gained "low-watermark" and
- "high-watermark" properties which will be proxied to the internal
- queues, as well as a read-only "statistics" property which allows
- querying of the minimum/maximum/average byte and time levels of the
- queues inside the urisourcebin in question.
-
-- splitmuxsink has gained a couple of new features:
-
- - new "async-finalize" mode: This mode is useful for muxers or
- outputs that can take a long time to finalize a file. Instead of
- blocking the whole upstream pipeline while the muxer is doing
- its stuff, we can unlink it and spawn a new muxer + sink
- combination to continue running normally. This requires us to
- receive the muxer and sink (if needed) as factories via the new
- "muxer-factory" and "sink-factory" properties, optionally
- accompanied by their respective properties structures (set via
- the new "muxer-properties" and "sink-properties" properties).
- There are also new "muxer-added" and "sink-added" signals in
- case custom code has to be called for them to configure them.
-
- - "split-at-running-time" action signal: When called by the user,
- this action signal ends the current file (and starts a new one)
- as soon as the given running time is reached. If called multiple
- times, running times are queued up and processed in the order
- they were given.
-
- - "split-after" action signal to finish outputting the current GOP
- to the current file and then start a new file as soon as the GOP
- is finished and a new GOP is opened (unlike the existing
- "split-now" which immediately finishes the current file and
- writes the current GOP into the next newly-started file).
-
- - "reset-muxer" property: when unset, the muxer is reset using
- flush events instead of setting its state to NULL and back. This
- means the muxer can keep state across resets, e.g. mpegtsmux
- will keep the continuity counter continuous across segments as
- required by hlssink2.
-
-- qtdemux gained PIFF track encryption box support in addition to the
- already-existing PIFF sample encryption support, and also allows
- applications to select which encryption system to use via a
- "drm-preferred-decryption-system-id" context in case there are
- multiple options.
-
-- qtmux: the "start-gap-threshold" property determines now whether an
- edit list will be created to account for small gaps or offsets at
- the beginning of a stream in case the start timestamps of tracks
- don’t line up perfectly. Previously the threshold was hard-coded to
- 1% of the (video) frame duration, now it is 0 by default (so edit
- list will be created even for small differences), but fully
- configurable.
-
-- rtpjitterbuffer has improved end-of-stream handling
-
-- rtpmp4vpay will be preferred over rtpmp4gpay for MPEG-4 video in
- autoplugging scenarios now
-
-- rtspsrc now allows applications to send RTSP SET_PARAMETER and
- GET_PARAMETER requests using action signals.
-
-- rtspsrc has a small (100ms) configurable teardown delay by default
- to try and make sure an RTSP TEARDOWN request gets sent out when the
- source element shuts down. This will block the downward PAUSED to
- READY state change for a short time, but can be disabled where it’s
- a problem. Some servers only allow a limited number of concurrent
- clients, so if no proper TEARDOWN is sent new clients may have
- problems connecting to the server for a while.
-
-- souphttpsrc behaves better with low bitrate streams now. Before it
- would increase the read block size too quickly which could lead to
- it not reading any data from the socket for a very long time with
- low bitrate streams that are output live downstream. This could lead
- to servers kicking off the client.
-
-- filesink: do internal buffering to avoid performance regression with
- small writes since we bypass libc buffering by using writev()
- instead of fwrite()
-
-- identity: add "eos-after" property and fix "error-after" property
- when the element is reused
-
-- input-selector: lets context queries pass through, so that
- e.g. upstream OpenGL elements can use contexts and displays
- advertised by downstream elements
-
-- queue2: avoid ping-pong between 0% and 100% buffering messages if
- upstream is pushing buffers larger than one of its limits, plus
- performance optimisations
-
-- opusdec: new "phase-inversion" property to control phase inversion.
- When enabled, this will slightly increase stereo quality, but
- produces a stream that when downmixed to mono will suffer audio
- distortions.
-
-- The x265enc HEVC encoder also exposes a "key-int-max" property to
- configure the maximum allowed GOP size now.
-
-- decklinkvideosink has seen stability improvements for long-running
- pipelines (potential crash due to overflow of leaked clock refcount)
- and clock-slaving improvements when performing flushing seeks
- (causing stalls in the output timeline), pausing and/or buffering.
-
-- srtpdec, srtpenc: add support for MKIs which allow multiple keys to
- be used with a single SRTP stream
-
-- srtpdec, srtpenc: add support for AES-GCM and also add support for
- it in gst-rtsp-server and rtspsrc.
-
-- The srt Secure Reliable Transport plugin has integrated server and
- client elements srt{client,server}{src,sink} into one (srtsrc and
- srtsink), since SRT connection mode can be changed by uri
- parameters.
-
-- h264parse and h265parse will handle SEI recovery point messages and
- mark recovery points as keyframes as well (in addition to IDR
- frames)
-
-- webrtcbin: "add-turn-server" action signal to pass multiple ICE
- relays (TURN servers).
-
-- The removesilence element has received various new features and
- properties, such as a "threshold" property, detecting silence only
- after minimum silence time/buffers, a "silent" property to control
- bus message notifications as well as a "squash" property.
-
-- AOMedia AV1 decoder gained support for 10/12bit decoding whilst the
- AV1 encoder supports more image formats and subsamplings now and
- acquired support for rate control and profile related configuration.
-
-- The Fraunhofer fdkaac plugin can now be built against the 2.0.0
- version API and has improved multichannel support
-
-- kmssink now supports unpadded 24-bit RGB and can configure mode
- setting from video info, which enables display of multi-planar
- formats such as I420 or NV12 with modesetting. It has also gained a
- number of new properties: The "restore-crtc" property does what it
- says on the tin and is enabled by default. "plane-properties" and
- "connector-properties" can be used to pass custom properties to the
- DRM.
-
-- waylandsink has a "fullscreen" property now and supports the
- XDG-Shell protocol.
-
-- decklinkvideosink, decklinkvideosrc support selecting between
- half/full duplex
-
-- The vulkan plugin gained support for macOS and iOS via MoltenVK in
- addition to the existing support for X11 and Wayland
-
-- imagefreeze has a new num-buffers property to limit the number of
- buffers that are produced and to send an EOS event afterwards
-
-- webrtcbin has a new, introspectable get-transceiver signal in
- addition to the old get-transceivers signal that couldn’t be used
- from bindings
-
-- Support for per-element latency information was added to the latency
- tracer
+- FIXME
Plugin and library moves
-- The stereo element was moved from -bad into the existing audiofx
- plugin in -good. If you get duplicate type registration warnings
- when upgrading, check that you don’t have a stale stereoplugin lying
- about somewhere.
-
-GstVideoAggregator, compositor, and OpenGL mixer elements moved from -bad to -base
-
-GstVideoAggregator is a new base class for raw video mixers and muxers
-and is based on GstAggregator. It provides defined-latency mixing of raw
-video inputs and ensures that the pipeline won’t stall even if one of
-the input streams stops producing data.
-
-As part of the move to stabilise the API there were some last-minute API
-changes and clean-ups, but those should mostly affect internal elements.
-Most notably, the "ignore-eos" pad property was renamed to
-"repeat-after-eos" and the conversion code was moved to a
-GstVideoAggregatorConvertPad subclass to avoid code duplication, make
-things less awkward for subclasses like the OpenGL-based video mixer,
-and make the API more consistent with the audio aggregator API.
-
-It is used by the compositor element, which is a replacement for
-‘videomixer’ which did not handle live inputs very well. compositor
-should behave much better in that respect and generally behave as one
-would expected in most scenarios.
-
-The compositor element has gained support for per-pad blending mode
-operators (SOURCE, OVER, ADD) which determines what operator to use for
-blending this pad over the previous ones. This can be used to implement
-crossfading and the available operators can be extended in the future as
-needed.
-
-A number of OpenGL-based video mixer elements (glvideomixer, glmixerbin,
-glvideomixerelement, glstereomix, glmosaic) which are built on top of
-GstVideoAggregator have also been moved from -bad to -base now. These
-elements have been merged into the existing OpenGL plugin, so if you get
-duplicate type registration warnings when upgrading, check that you
-don’t have a stale openglmixers plugin lying about somewhere.
+- FIXME
Plugin removals
The following plugins have been removed from gst-plugins-bad:
-- The experimental daala plugin has been removed, since it’s not so
- useful now that all effort is focused on AV1 instead, and it had to
- be enabled explicitly with --enable-experimental anyway.
-
-- The spc plugin has been removed. It has been replaced by the gme
- plugin.
-
-- The acmmp3dec and acmenc plugins for Windows have been removed. ACM
- is an ancient legacy API and there was no point in keeping the
- plugins around for a licensed MP3 decoder now that the MP3 patents
- have expired and we have a decoder in -good. We also didn’t ship
- these in our cerbero-built Windows packages, so it’s unlikely that
- they’ll be missed.
+- FIXME
Miscellaneous API additions
-- GstBitwriter: new generic bit writer API to complement the existing
- bit reader
-
-- gst_buffer_new_wrapped_bytes() creates a wrap buffer from a GBytes
-
-- gst_caps_set_features_simple() sets a caps feature on all the
- structures of a GstCaps
-
-- New GST_QUERY_BITRATE query: This allows determining from downstream
- what the expected bitrate of a stream may be which is useful in
- queue2 for setting time based limits when upstream does not provide
- timing information. tsdemux, qtdemux and matroskademux have basic
- support for this query on their sink pads.
-
-- elements: there is a new “Hardware” class specifier. Elements
- interacting with hardware devices should specify this classifier in
- their element factory class metadata. This is useful to advertise as
- one might need to put such elements into READY state to test if the
- hardware is present in the system for example.
-
-- protection: Add a new definition for unspecified system protection,
- GST_PROTECTION_UNSPECIFIED_SYSTEM_ID
-
-- take functions for various mini objects that didn’t have them yet:
- gst_query_take(), gst_message_take(), gst_tag_list_take(),
- gst_buffer_list_take(). Unlike the various _replace() functions
- _take() does not increase the reference count but takes ownership of
- the mini object passed.
-
-- clear functions for various mini object types and GstObject which
- unrefs the object or mini object (if non-NULL) and sets the variable
- pointed to to NULL: gst_clear_structure(), gst_clear_tag_list(),
- gst_clear_query(), gst_clear_message(), gst_clear_event(),
- gst_clear_caps(), gst_clear_buffer_list(), gst_clear_buffer(),
- gst_clear_mini_object(), gst_clear_object()
-
-- miniobject: new API gst_mini_object_add_parent() and
- gst_mini_object_remove_parent() to set parent pointers on mini
- objects to ensure correct writability: Every container of
- miniobjects now needs to store itself as parent in the child object,
- and remove itself again later. A mini object is then only writable
- if there is at most one parent, that parent is writable itself, and
- the reference count of the mini object is 1. GstBuffer (for
- memories), GstBufferList (for buffers), GstSample (for caps, buffer,
- bufferlist), and GstVideoOverlayComposition were updated
- accordingly. Without this it was possible to have e.g. a buffer list
- with a refcount of 2 used in two places at once that both modify the
- same buffer with refcount 1 at the same time wrongly thinking it is
- writable even though it’s really not.
-
-- poll: add API to watch for POLLPRI and stop treating POLLPRI as a
- read. This is useful to wait for video4linux events which are
- signalled via POLLPRI.
-
-- sample: new API to update the contents of a GstSample and make it
- writable: gst_sample_set_buffer(), gst_sample_set_caps(),
- gst_sample_set_segment(), gst_sample_set_info(), plus
- gst_sample_is_writable() and gst_sample_make_writable(). This makes
- it possible to reuse a sample object and avoid unnecessary memory
- allocations, for example in appsink.
-
-- ClockIDs now keep a weak reference to underlying clock to avoid
- crashes in basesink in corner cases where a clock goes away while
- the ClockID is still in use, plus some new API
- (gst_clock_id_get_clock(), gst_clock_id_uses_clock()) to check the
- clock a ClockID is linked to.
-
-- The GstCheck unit test library gained a
- fail_unless_equals_clocktime() convenience macro as well as some new
- GstHarness API for for proposing meta APIs from the allocation
- query: gst_harness_add_propose_allocation_meta(). ASSERT_CRITICAL()
- checks in unit tests are now skipped if GStreamer was compiled with
- GST_DISABLE_GLIB_CHECKS.
-
-- gst_audio_buffer_truncate() convenience function to truncate a raw
- audio buffer
-
-- GstDiscoverer has support for caching the results of discovery in
- the default cache directory. This can be enabled with the use-cache
- property and is disabled by default.
-
-- GstMeta that are attached to GstBuffers are now always stored in the
- order in which they were added.
-
-- Additional support for signalling ONVIF specific features were
- added: the SEEK event can store a trickmode-interval now and support
- for the Rate-Control and Frames RTSP headers was added to the RTSP
- library.
+- FIXME
Miscellaneous performance and memory optimisations
As always there have been many performance and memory usage improvements
-across all components and modules. Some of them (such as dmabuf
-import/export) have already been mentioned elsewhere so won’t be
-repeated here.
+across all components and modules. Some of them have already been
+mentioned elsewhere so won’t be repeated here.
The following list is only a small snapshot of some of the more
interesting optimisations that haven’t been mentioned in other contexts
yet:
-- The GstVideoEncoder and GstVideoDecoder base classes now release the
- STREAM_LOCK when pushing out buffers, which means (multi-threaded)
- encoders and decoders can now receive and continue to process input
- buffers whilst waiting for downstream elements in the pipeline to
- process the buffer that was pushed out. This increases throughput
- and reduces processing latency, also and especially for
- hardware-accelerated encoder/decoder elements.
-
-- GstQueueArray has seen a few API additions
- (gst_queue_array_peek_nth(), gst_queue_array_set_clear_func(),
- gst_queue_array_clear()) so that it can be used in other places like
- GstAdapter instead of a GList, which reduces allocations and
- improves performance.
-
-- appsink now reuses the sample object in pull_sample() if possible
-
-- rtpsession only starts the RTCP thread when it’s actually needed now
-
-- udpsrc uses a buffer pool now and the GstUdpSrc object structure was
- optimised for better cache performance
+- FIXME
GstPlayer
-- API was added to fine-tune the synchronisation offset between
- subtitles and video
+- FIXME
Miscellaneous changes
-- As a result of moving to newer FFmpeg APIs, encoder and decoder
- elements exposed by the GStreamer FFmpeg wrapper plugin (gst-libav)
- may have seen possibly incompatible changes to property names and/or
- types, and not all properties exposed might be functional. We are
- still reviewing the new properties and aim to minimise breaking
- changes at least for the most commonly-used properties, so please
- report any issues you run into!
+- FIXME
OpenGL integration
-- The OpenGL mixer elements have been moved from -bad to
- gst-plugins-base (see above)
-
-- The Mesa GBM backend now supports headless mode
-
-- gloverlaycompositor: New OpenGL-based compositor element that
- flattens any overlays from GstVideoOverlayCompositionMetas into the
- video stream.
-
-- glalpha: New element that adds an alpha channel to a video stream.
- The values of the alpha channel can either be set to a constant or
- can be dynamically calculated via chroma keying. It is similar to
- the existing alpha element but based on OpenGL. Calculations are
- done in floating point so results may not be identical to the output
- of the existing alpha element.
-
-- glupload: Implement direct dmabuf uploader, the idea being that some
- GPUs (like the Vivante series) can actually perform the YUV->RGB
- conversion internally, so no custom conversion shaders are needed.
- To make use of this feature, we need an additional uploader that can
- import DMABUF FDs and also directly pass the pixel format, relying
- on the GPU to do the conversion.
-
-- The OpenGL library no longer restores the OpenGL viewport. This is a
- performance optimization to not require performing multiple
- expensive glGet*() function calls per frame. This affects any
- application or plugin use of the following functions and objects:
- - glcolorconvert library object (not the element)
- - glviewconvert library object (not the element)
- - gst_gl_framebuffer_draw_to_texture()
- - custom GstGLWindow implementations
+- FIXME
Tracing framework and debugging improvements
-- There is now a GDB PRETTY PRINTER FOR VARIOUS GSTREAMER TYPES: For
- GstObject pointers the type and name is added, e.g.
- 0x5555557e4110 [GstDecodeBin|decodebin0]. For GstMiniObject pointers
- the object type is added, e.g. 0x7fffe001fc50 [GstBuffer]. For
- GstClockTime and GstClockTimeDiff the time is also printed in human
- readable form, e.g. 150116219955 [+0:02:30.116219955].
-
-- GDB EXTENSION WITH TWO CUSTOM GDB COMMANDS gst-dot AND gst-print:
-
- - gst-dot creates dot files that a very close to what
- GST_DEBUG_BIN_TO_DOT_FILE() produces, but object properties and
- buffer contents such as codec-data in caps are not available.
-
- - gst-print produces high-level information about a GStreamer
- object. This is currently limited to pads for GstElements and
- events for the pads. The output may look like this:
-
-- gst_structure_to_string() now serialises the actual value of
- pointers when serialising GstStructures instead of claiming they’re
- NULL. This makes debug logging in various places less confusing,
- because it’s clear now that structure fields actually hold valid
- objects. Such object pointer values will never be deserialised
- however.
+- FIXME
Tools
-- gst-inspect-1.0 has coloured output now and will automatically use a
- pager if the output does not fit on a page. This only works in a
- UNIX environment and if the output is not piped, and on Windows 10
- build 16257 or newer. If you don’t like the colours you can disable
- them by setting the GST_INSPECT_NO_COLORS=1 environment variable or
- passing the --no-color command line option.
+- FIXME
GStreamer RTSP server
-- Improved backlog handling when using TCP interleaved for data
- transport. Before there was a fixed maximum size for backlog
- messages, which was prone to deadlocks and made it difficult to
- control memory usage with the watch backlog. The RTSP server now
- limits queued TCP data messages to one per stream, moving queuing of
- the data into the pipeline and leaving the RTSP connection
- responsive to RTSP messages in both directions, preventing all those
- problems.
-
-- Initial ULP Forward Error Correction support in rtspclientsink and
- for RECORD mode in the server.
-
-- API to explicitly enable retransmission requests (RTX)
-
-- Lots of multicast-related fixes
-
-- rtsp-auth: Add support for parsing .htdigest files
+- FIXME
GStreamer VAAPI
-- Support Wayland’s display for context sharing, so the application
- can pass its own wl_display in order to be used for the VAAPI
- display creation.
-
-- A lot of work to support new Intel hardware using media-driver as VA
- backend.
-
-- For non-x86 devices, VAAPI display can instantiate, through DRM,
- with no PCI bus. This enables the usage of libva-v4l2-request
- driver.
-
-- Added support for XDG-shell protocol as wl_shell replacement which
- is currently deprecated. This change add as dependency
- wayland-protocol.
-
-- GstVaapiFilter, GstVaapiWindow, and GstVaapiDecoder classes now
- inherit from GstObject, gaining all the GStreamer’s instrumentation
- support.
-
-- The metadata now specifies the plugin as Hardware class.
-
-- H264 decoder is more stable with problematic streams.
-
-- In H265 decoder added support for profiles main-422-10 (P010_10LE),
- main-444 (AYUV) and main-444-10 (Y410)
-
-- JPEG decoder handles dynamic resolution changes.
-
-- More specification adherence in H264 and H265 encoders.
+- FIXME
GStreamer OMX
-- Add support of NV16 format to video encoders input.
-
-- Video decoders now handle the ALLOCATION query to tell upstream
- about the number of buffers they require. Video encoders will also
- use this query to adjust their number of allocated buffers
- preventing starvation when using dynamic buffer mode.
-
-- The OMX_PERFORMANCE debug category has been renamed to OMX_API_TRACE
- and can now be used to track a widder variety of interactions
- between OMX and GStreamer.
-
-- Video encoders will now detect frame rate only changes and will
- inform OMX about it rather than doing a full format reset.
-
-- Various Zynq UltraScale+ specific improvements:
- - Video encoders are now able to import dmabuf from upstream.
- - Support for HEVC range extension profiles and more AVC profiles.
- - We can now request video encoders to generate an IDR using the
- force key unit event.
+- FIXME
GStreamer Editing Services and NLE
-- Added a gesdemux element, it is an auto pluggable element that
- allows decoding edit list like files supported by GES
-
-- Added gessrc which wraps a GESTimeline as a standard source element
- (implementing the ges protocol handler)
-
-- Added basic support for videorate::rate property potentially
- allowing changing playback speed
-
-- Layer priority is now fully automatic and they should be moved with
- the new ges_timeline_move_layer method, ges_layer_set_priority is
- now deprecated.
-
-- Added a ges_timeline_element_get_layer_priority so we can simply get
- all information about GESTimelineElement position in the timeline
-
-- GESVideoSource now auto orientates the images if it is defined in a
- meta (overridable).
-
-- Added some PyGObject overrides to make the API more pythonic
-
-- The threading model has been made more explicit with safe guard to
- make sure not thread safe APIs are not used from the wrong threads.
- It is also now possible to properly handle in what thread the API
- should be used.
-
-- Optimized GESClip and GESTrackElement creation
-
-- Added a way to compile out the old, unused and deprecated
- GESPitiviFormatter
-
-- Re implemented the timeline editing API making it faster and making
- the code much more maintainable
-
-- Simplified usage of nlecomposition outside GES by removing quirks in
- it API usage and removing the need to treat it specially from an
- application perspective.
-
-- ges-launch-1.0:
-
- - Added support to add titles to the timeline
- - Enhance the help auto generating it from the code
-
-- Deprecate ges_timeline_load_from_uri as loading the timeline should
- be done through a project now
-
-- MANY leaks have been plugged and the unit testsuite is now “leak
- free”
+- FIXME
GStreamer validate
-- Added an action type to verify the checksum of the sink last-sample
-
-- Added an include keyword to validate scenarios
-
-- Added the notion of variable in scenarios, with the set-vars keyword
-
-- Started adding support for “performance” like tests by allowing to
- define the number of dropped buffers or the minimum buffer frequency
- on a specific pad
-
-- Added a validateflow plugin which allows defining the data flow to
- be seen on a particular pad and verifying that following runs match
- the expectations
-
-- Added support for appsrc based test definition so we can instrument
- the data pushed into the pipeline from scenarios
-
-- Added a mockdecryptor allowing adding tests with on encrypted files,
- the element will potentially be instrumented with a validate
- scenario
-
-- gst-validate-launcher:
-
- - Cleaned up output
-
- - Changed the default for “muting” tests as user doesn’t expect
- hundreds of windows to show up when running the testsuite
-
- - Fixed the outputted xunit files to be compatible with GitLab
-
- - Added support to run tests on media files in push mode (using
- pushfile://)
-
- - Added support for running inside gst-build
-
- - Added support for running ssim tests on rendered files
-
- - Added a way to simply define tests on pipelines through a simple
- .json file
-
- - Added a python app to easily run python testsuite reusing all
- the launcher features
-
- - Added flatpak knowledge so we can print backtrace even when
- running from within flatpak
-
- - Added a way to automatically generated “known issues”
- suppressions lines
-
- - Added a way to rerun tests to check if they are flaky and added
- a way to tolerate tests known to be flaky
-
- - Add a way to output html log files
+- FIXME
GStreamer Python Bindings
-- add binding for gst_pad_set_caps()
-
-- pygobject dependency requirement was bumped to >= 3.8
-
-- new audiotestsrc, audioplot, and mixer plugin examples, and a
- dynamic pipeline example
+- FIXME
GStreamer C# Bindings
-- bindings for the GstWebRTC library
+- FIXME
GStreamer Rust Bindings
-The GStreamer Rust bindings are now officially part of the GStreamer
-project and are also maintained in the GStreamer GitLab.
-
-The releases will generally not be synchronized with the releases of
-other GStreamer parts due to dependencies on other projects.
-
-Also unlike the other GStreamer libraries, the bindings will not commit
-to full API stability but instead will follow the approach that is
-generally taken by Rust projects, e.g.:
-
-1) 0.12.X will be completely API compatible with all other 0.12.Y
- versions.
-2) 0.12.X+1 will contain bugfixes and compatible new feature additions.
-3) 0.13.0 will _not_ be backwards compatible with 0.12.X but projects
- will be able to stay at 0.12.X without any problems as long as they
- don’t need newer features.
-
-The current stable release is 0.12.2 and the next release series will be
-0.13, probably around March 2019.
-
-At this point the bindings cover most of GStreamer core (except for most
-notably GstAllocator and GstMemory), and most parts of the app, audio,
-base, check, editing-services, gl, net. pbutils, player, rtsp,
-rtsp-server, sdp, video and webrtc libraries.
-
-Also included is support for creating subclasses of the following types
-and writing GStreamer plugins:
-
-- gst::Element
-- gst::Bin and gst::Pipeline
-- gst::URIHandler and gst::ChildProxy
-- gst::Pad, gst::GhostPad
-- gst_base::Aggregator and gst_base::AggregatorPad
-- gst_base::BaseSrc and gst_base::BaseSink
-- gst_base::BaseTransform
-
-Changes to 0.12.X since 0.12.0
-
-Fixed
-
-- PTP clock constructor actually creates a PTP instead of NTP clock
-
-Added
-
-- Bindings for GStreamer Editing Services
-- Bindings for GStreamer Check testing library
-- Bindings for the encoding profile API (encodebin)
-
-- VideoFrame, VideoInfo, AudioInfo, StructureRef implements Send and
- Sync now
-- VideoFrame has a function to get the raw FFI pointer
-- From impls from the Error/Success enums to the combined enums like
- FlowReturn
-- Bin-to-dot file functions were added to the Bin trait
-- gst_base::Adapter implements SendUnique now
-- More complete bindings for the gst_video::VideoOverlay interface,
- especially
- gst_video::is_video_overlay_prepare_window_handle_message()
-
-Changed
-
-- All references were updated from GitHub to freedesktop.org GitLab
-- Fix various links in the README.md
-- Link to the correct location for the documentation
-- Remove GitLab badge as that only works with gitlab.com currently
-
-Changes in git master for 0.13
-
-Fixed
-
-- gst::tag::Album is the album tag now instead of artist sortname
-
-Added
-
-- Subclassing infrastructure was moved directly into the bindings,
- making the gst-plugin crate deprecated. This involves many API
- changes but generally cleans up code and makes it more flexible.
- Take a look at the gst-plugins-rs crate for various examples.
-
-- Bindings for CapsFeatures and Meta
-- Bindings for
- ParentBufferMeta,VideoMetaandVideoOverlayCompositionMeta`
-- Bindings for VideoOverlayComposition and VideoOverlayRectangle
-- Bindings for VideoTimeCode
-
-- UniqueFlowCombiner and UniqueAdapter wrappers that make use of the
- Rust compile-time mutability checks and expose more API in a safe
- way, and as a side-effect implement Sync and Send now
-
-- More complete bindings for Allocation Query
-- pbutils functions for codec descriptions
-- TagList::iter() for iterating over all tags while getting a single
- value per tag. The old ::iter_tag_list() function was renamed to
- ::iter_generic() and still provides access to each value for a tag
-- Bus::iter() and Bus::iter_timed() iterators around the corresponding
- ::pop\*() functions
-
-- serde serialization of Value can also handle Buffer now
-
-- Extensive comments to all examples with explanations
-- Transmuxing example showing how to use typefind, multiqueue and
- dynamic pads
-- basic-tutorial-12 was ported and added
-
-Changed
-
-- Rust 1.31 is the minimum supported Rust version now
-- Update to latest gir code generator and glib bindings
-
-- Functions returning e.g. gst::FlowReturn or other “combined” enums
- were changed to return split enums like
- Result<gst::FlowSuccess, gst::FlowError> to allow usage of the
- standard Rust error handling.
-
-- MiniObject subclasses are now newtype wrappers around the underlying
- GstRc<FooRef> wrapper. This does not change the API in any breaking
- way for the current usages, but allows MiniObjects to also be
- implemented in other crates and makes sure rustdoc places the
- documentation in the right places.
-
-- BinExt extension trait was renamed to GstBinExt to prevent conflicts
- with gtk::Bin if both are imported
-
-- Buffer::from_slice() can’t possible return None
-
-- Various clippy warnings
+- FIXME
GStreamer Rust Plugins
-Like the GStreamer Rust bindings, the Rust plugins are now officially
-part of the GStreamer project and are also maintained in the GStreamer
-GitLab.
-
-In the 0.3.x versions this contained infrastructure for writing
-GStreamer plugins in Rust, and a set of plugins.
-
-In git master that infrastructure was moved to the GLib and GStreamer
-bindings directly, together with many other improvements that were made
-possible by this, so the gst-plugins-rs repository only contains
-GStreamer elements now.
-
-Elements included are:
-
-- Tutorials plugin: identity, rgb2gray and sinesrc with extensive
- comments
-
-- rsaudioecho, a port of the audiofx element
-
-- rsfilesrc, rsfilesink
-
-- rsflvdemux, a FLV demuxer. Not feature-equivalent with flvdemux yet
-
-- threadshare plugin: ts-appsrc, ts-proxysrc/sink, ts-queue, ts-udpsrc
- and ts-tcpclientsrc elements that use a fixed number of threads and
- share them between instances. For more background about these
- elements see Sebastian’s talk “When adding more threads adds more
- problems - Thread-sharing between elements in GStreamer” at the
- GStreamer Conference 2017.
+- FIXME
-- rshttpsrc, a HTTP source around the hyper/reqwest Rust libraries.
- Not feature-equivalent with souphttpsrc yet.
-- togglerecord, an element that allows to start/stop recording at any
- time and keeps all audio/video streams in sync.
-
-- mccparse and mccenc, parsers and encoders for the MCC closed caption
- file format.
-
-Changes to 0.3.X since 0.3.0
-
-- All references were updated from GitHub to freedesktop.org GitLab
-- Fix various links in the README.md
-- Link to the correct location for the documentation
-
-Changes in git master for 0.4
-
-- togglerecord: Switch to parking_lot crate for mutexes/condition
- variables for lower overhead
-- Merge threadshare plugin here
-- New closedcaption plugin with mccparse and mccenc elements
-- New identity element for the tutorials plugin
-
-- Register plugins statically in tests instead of relying on the
- plugin loader to find the shared library in a specific place
-
-- Update to the latest API changes in the GLib and GStreamer bindings
-- Update to the latest versions of all crates
+Build and Dependencies
+- The Autotools build system has finally been removed in favour of the
+ Meson build system. Developers who currently use gst-uninstalled
+ should move to gst-build.
-Build and Dependencies
+- API and plugin documentation are no longer built with gtk_doc. The
+ gtk_doc documentation has been removed in favour of a new unified
+ documentation module built with hotdoc. The intention is to
+ distribute the generated documentation in form of tarballs alongside
+ releases.
-- The MESON BUILD SYSTEM BUILD IS NOW FEATURE-COMPLETE (*) and it is
- now the recommended build system on all platforms and also used by
- Cerbero to build GStreamer on all platforms. The Autotools build is
- scheduled to be removed in the next cycle. Developers who currently
- use gst-uninstalled should move to gst-build. The build option
- naming has been cleaned up and made consistent and there are now
- feature options to enable/disable plugins and various other features
- on a case-by-case basis. (*) with the exception of plugin docs which
- will be handled differently in future
-
-- Symbol export in libraries is now controlled via explicit exports
- using symbol visibility or export defines where supported, to ensure
- consistency across all platforms. This also allows libraries to have
- exports that vary based on detected platform features and configure
- options as is the case with the GStreamer OpenGL integration library
- for example. A few symbols that had been exported by accident in
- earlier versions may no longer be exported. These symbols will not
- have had declarations in any public header files then though and
- would not have been usable.
-
-- The GStreamer FFmpeg wrapper plugin (gst-libav) now depends on
- FFmpeg 4.x and uses the new FFmpeg 4.x API and stopped relying on
- ancient API that was removed with the FFmpeg 4.x release. This means
- that it is no longer possible to build this module against an older
- system-provided FFmpeg 3.x version. Use the internal FFmpeg 4.x copy
- instead if you build using autotools, or use gst-libav 1.14.x
- instead which targets the FFmpeg 3.x API and _should_ work fine in
- combination with a newer GStreamer. It’s difficult for us to support
- both old and new FFmpeg APIs at the same time, apologies for any
- inconvenience caused.
-
-- Hardware-accelerated Nvidia video encoder/decoder plugins nvdec and
- nvenc can be built against CUDA Toolkit versions 9 and 10.0 now. The
- dynlink interface has been dropped since it’s deprecated in 10.0.
-
-- The (optional) OpenCV requirement has been bumped to >= 3.0.0 and
- the plugin can also be built against OpenCV 4.x now.
-
-- New sctp plugin based on usrsctp (for WebRTC data channels)
+- FIXME
Cerbero
@@ -1172,221 +175,66 @@ Windows, Android, iOS and macOS.
Cerbero has seen a number of improvements:
-- Cerbero has been ported to Python 3 and requires Python 3.5 or newer
- now
-
-- Source tarballs are now protected by checksums in the recipes to
- guard against download errors and malicious takeover of projects or
- websites. In addition, downloads are only allowed via secure
- transports now and plain HTTP, FTP and git:// transports are not
- allowed anymore.
-
-- There is now a new fetch-bootstrap command which downloads sources
- required for bootstrapping, with an optional --build-tools-only
- argument to match the bootstrap --build-tools-only command.
-
-- The bootstrap, build, package and bundle-source commands gained a
- new --offline switch that ensures that only sources from the cache
- are used and never downloaded via the network. This is useful in
- combination with the fetch and fetch-bootstrap commands that acquire
- sources ahead of time before any build steps are executed. This
- allows more control over the sources used and when sources are
- updated, and is particularly useful for build environments that
- don’t have network access.
-
-- bootstrap --assume-yes will automatically say ‘yes’ to any
- interactive prompts during the bootstrap stage, such as those from
- apt-get or yum.
-
-- bootstrap --system-only will only bootstrap the system without build
- tools.
-
-- Manifest support: The build manifest can be used in continuous
- integration (CI) systems to fixate the Git revision of certain
- projects so that all builds of a pipeline are on the same reference.
- This is used in GStreamer’s gitlab CI for example. It can also be
- used in order to re-produce a specific build. To set a manifest, you
- can set manifest = 'my_manifest.xml' in your configuration file, or
- use the --manifest command line option. The command line option will
- take precedence over anything specific in the configuration file.
-
-- The new build-deps command can be used to build only the
- dependencies of a recipe, without the recipe itself.
-
-- new --list-variants command to list available variants
-
-- variants can now be set on the command line via the -v option as a
- comma-separated list. This overrides any variants set in any
- configuration files.
-
-- new qt5, intelmsdk and nvidia variants for enabling Qt5 and hardware
- codec support. See the Enabling Optional Features with Variants
- section in the Cerbero documentation for more details how to enable
- and use these variants.
-
-- A new -t / --timestamp command line switch makes commands print
- timestamps
+- FIXME
Platform-specific changes and improvements
Android
-- toolchain: update compiler to clang and NDKr18. NDK r18 removed the
- armv5 target and only has Android platforms that target at least
- armv7 so the armv5 target is not useful anymore.
-
-- The way that GIO modules are named has changed due to upstream GLib
- natively adding support for loading static GIO modules. This means
- that any GStreamer application using gnutls for SSL/TLS on the
- Android or iOS platforms (or any other setup using static libraries)
- will fail to link looking for the g_io_module_gnutls_load_static()
- function. The new function name is now
- g_io_gnutls_load(gpointer data). data can be NULL for a static
- library. Look at this commit for the necessary change in the
- examples.
-
-- various build issues on Android have been fixed.
+- FIXME
macOS and iOS
-- various build issues on iOS have been fixed.
-
-- the minimum required iOS version is now 9.0. The difference in
- adoption between 8.0 and 9.0 is 0.1% and the bump to 9.0 fixes some
- build issues.
-
-- The way that GIO modules are named has changed due to upstream GLib
- natively adding support for loading static GIO modules. This means
- that any GStreamer application using gnutls for SSL/TLS on the
- Android or iOS platforms (or any other setup using static libraries)
- will fail to link looking for the g_io_module_gnutls_load_static()
- function. The new function name is now
- g_io_gnutls_load(gpointer data). data can be NULL for a static
- library. Look at this commit for the necessary change in the
- examples.
+- FIXME
Windows
-- The webrtcdsp element is shipped again as part of the Windows binary
- packages, the build system issue has been resolved.
-
-- ‘Inconsistent DLL linkage’ warnings when building with MSVC have
- been fixed
-
-- Hardware-accelerated Nvidia video encoder/decoder plugins nvdec and
- nvenc build on Windows now, also with MSVC and using Meson.
-
-- The ksvideosrc camera capture plugin supports 16-bit grayscale video
- now
+- toolchain upgrade
-- The wasapisrc audio capture element implements loopback recording
- from another output device or sink
-
-- wasapisink recover from low buffer levels in shared mode and some
- exclusive mode fixes
-
-- dshowsrc now implements the GstDeviceMonitor interface
+- FIXME
Contributors
-Aaron Boxer, Aleix Conchillo Flaqué, Alessandro Decina, Alexandru Băluț,
-Alex Ashley, Alexey Chernov, Alicia Boya García, Amit Pandya, Andoni
-Morales Alastruey, Andreas Frisch, Andre McCurdy, Andy Green, Anthony
-Violo, Antoine Jacoutot, Antonio Ospite, Arun Raghavan, Aurelien Jarno,
-Aurélien Zanelli, ayaka, Bananahemic, Bastian Köcher, Branko Subasic,
-Brendan Shanks, Carlos Rafael Giani, Charlie Turner, Christoph Reiter,
-Corentin Noël, Daeseok Youn, Damian Vicino, Dan Kegel, Daniel Drake,
-Daniel Klamt, Danilo Spinella, Dardo D Kleiner, David Ing, David
-Svensson Fors, Devarsh Thakkar, Dimitrios Katsaros, Edward Hervey,
-Emilio Pozuelo Monfort, Enrique Ocaña González, Erlend Eriksen, Ezequiel
-Garcia, Fabien Dessenne, Fabrizio Gennari, Florent Thiéry, Francisco
-Velazquez, Freyr666, Garima Gaur, Gary Bisson, George Kiagiadakis, Georg
-Lippitsch, Georg Ottinger, Geunsik Lim, Göran Jönsson, Guillaume
-Desmottes, H1Gdev, Haihao Xiang, Haihua Hu, Harshad Khedkar, Havard
-Graff, He Junyan, Hoonhee Lee, Hosang Lee, Hyunjun Ko, Ilya Smelykh,
-Ingo Randolf, Iñigo Huguet, Jakub Adam, James Stevenson, Jan Alexander
-Steffens, Jan Schmidt, Jerome Laheurte, Jimmy Ohn, Joakim Johansson,
-Jochen Henneberg, Johan Bjäreholt, John-Mark Bell, John Bassett, John
-Nikolaides, Jonathan Karlsson, Jonny Lamb, Jordan Petridis, Josep Torra,
-Joshua M. Doe, Jos van Egmond, Juan Navarro, Julian Bouzas, Jun Xie,
-Junyan He, Justin Kim, Kai Kang, Kim Tae Soo, Kirill Marinushkin, Kyrylo
-Polezhaiev, Lars Petter Endresen, Linus Svensson, Louis-Francis
-Ratté-Boulianne, Lucas Stach, Luis de Bethencourt, Luz Paz, Lyon Wang,
-Maciej Wolny, Marc-André Lureau, Marc Leeman, Marco Trevisan (Treviño),
-Marcos Kintschner, Marian Mihailescu, Marinus Schraal, Mark Nauwelaerts,
-Marouen Ghodhbane, Martin Kelly, Matej Knopp, Mathieu Duponchelle,
-Matteo Valdina, Matthew Waters, Matthias Fend, memeka, Michael Drake,
-Michael Gruner, Michael Olbrich, Michael Tretter, Miguel Paris, Mike
-Wey, Mikhail Fludkov, Naveen Cherukuri, Nicola Murino, Nicolas Dufresne,
-Niels De Graef, Nirbheek Chauhan, Norbert Wesp, Ognyan Tonchev, Olivier
-Crête, Omar Akkila, Pat DeSantis, Patricia Muscalu, Patrick Radizi,
-Patrik Nilsson, Paul Kocialkowski, Per Forlin, Peter Körner, Peter
-Seiderer, Petr Kulhavy, Philippe Normand, Philippe Renon, Philipp Zabel,
-Pierre Labastie, Piotr Drąg, Roland Jon, Roman Sivriver, Roman Shpuntov,
-Rosen Penev, Russel Winder, Sam Gigliotti, Santiago Carot-Nemesio,
-Sean-Der, Sebastian Dröge, Seungha Yang, Shi Yan, Sjoerd Simons, Snir
-Sheriber, Song Bing, Soon, Thean Siew, Sreerenj Balachandran, Stefan
-Ringel, Stephane Cerveau, Stian Selnes, Suhas Nayak, Takeshi Sato,
-Thiago Santos, Thibault Saunier, Thomas Bluemel, Tianhao Liu,
-Tim-Philipp Müller, Tobias Ronge, Tomasz Andrzejak, Tomislav Tustonić,
-U. Artie Eoff, Ulf Olsson, Varunkumar Allagadapa, Víctor Guzmán, Víctor
-Manuel Jáquez Leal, Vincenzo Bono, Vineeth T M, Vivia Nikolaidou, Wang
-Fei, wangzq, Whoopie, Wim Taymans, Wind Yuan, Wonchul Lee, Xabier
-Rodriguez Calvar, Xavier Claessens, Haihao Xiang, Yacine Bandou,
-Yeongjin Jeong, Yuji Kuwabara, Zeeshan Ali,
+- FIXME
… and many others who have contributed bug reports, translations, sent
suggestions or helped testing.
-Stable 1.16 branch
+Stable 1.18 branch
-After the 1.16.0 release there will be several 1.16.x bug-fix releases
+After the 1.18.0 release there will be several 1.18.x bug-fix releases
which will contain bug fixes which have been deemed suitable for a
stable branch, but no new features or intrusive changes will be added to
-a bug-fix release usually. The 1.16.x bug-fix releases will be made from
-the git 1.16 branch, which is a stable branch.
+a bug-fix release usually. The 1.18.x bug-fix releases will be made from
+the git 1.18 branch, which will be a stable branch.
-1.16.0
+1.18.0
-1.16.0 was released on 19 April 2019.
+1.18.0 has not been released yet.
Known Issues
-- possibly breaking/incompatible changes to properties of wrapped
- FFmpeg decoders and encoders (see above).
-
-- The way that GIO modules are named has changed due to upstream GLib
- natively adding support for loading static GIO modules. This means
- that any GStreamer application using gnutls for SSL/TLS on the
- Android or iOS platforms (or any other setup using static libraries)
- will fail to link looking for the g_io_module_gnutls_load_static()
- function. The new function name is now
- g_io_gnutls_load(gpointer data). See Android/iOS sections above for
- further details.
+- FIXME
-Schedule for 1.18
+Schedule for 1.20
-Our next major feature release will be 1.18, and 1.17 will be the
-unstable development version leading up to the stable 1.18 release. The
-development of 1.17/1.18 will happen in the git master branch.
+Our next major feature release will be 1.20, and 1.19 will be the
+unstable development version leading up to the stable 1.20 release. The
+development of 1.19/1.20 will happen in the git master branch.
-The plan for the 1.18 development cycle is yet to be confirmed, but it
-is possible that the next cycle will be a short one in which case
-feature freeze would be perhaps around August 2019 with a new 1.18
-stable release in September.
+The plan for the 1.20 development cycle is yet to be confirmed.
-1.18 will be backwards-compatible to the stable 1.16, 1.14, 1.12, 1.10,
-1.8, 1.6, 1.4, 1.2 and 1.0 release series.
+1.20 will be backwards-compatible to the stable 1.18, 1.16, 1.14, 1.12,
+1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series.
------------------------------------------------------------------------
_These release notes have been prepared by Tim-Philipp Müller with_
-_contributions from Sebastian Dröge, Guillaume Desmottes, Matthew
-Waters, _ _Thibault Saunier, and Víctor Manuel Jáquez Leal._
+_contributions from … (FIXME)_
_License: CC BY-SA 4.0_
diff --git a/RELEASE b/RELEASE
index d43afe784..2ddc70dc0 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1,18 +1,15 @@
-This is GStreamer gst-plugins-bad 1.17.0.1.
+This is GStreamer gst-plugins-bad 1.17.1.
-The GStreamer team is thrilled to announce a new major feature release in the
-stable 1.0 API series of your favourite cross-platform multimedia framework!
+GStreamer 1.17 is the development branch leading up to the next major
+stable version which will be 1.18.
-As always, this release is again packed with new features, bug fixes and
-other improvements.
-
-The 1.16 release series adds new features on top of the 1.14 series and is
+The 1.17 development series adds new features on top of the 1.16 series and is
part of the API and ABI-stable 1.x release series of the GStreamer multimedia
framework.
Full release notes will one day be found at:
- https://gstreamer.freedesktop.org/releases/1.16/
+ https://gstreamer.freedesktop.org/releases/1.18/
Binaries for Android, iOS, Mac OS X and Windows will usually be provided
shortly after the release.
@@ -60,7 +57,7 @@ You can find source releases of gstreamer in the download
directory: https://gstreamer.freedesktop.org/src/gstreamer/
The git repository and details how to clone it can be found at
-https://cgit.freedesktop.org/gstreamer/gstreamer/
+https://gitlab.freedesktop.org/gstreamer/
==== Homepage ====
diff --git a/docs/plugins/gst_plugins_cache.json b/docs/plugins/gst_plugins_cache.json
index a50f6a45c..a25935b1e 100644
--- a/docs/plugins/gst_plugins_cache.json
+++ b/docs/plugins/gst_plugins_cache.json
@@ -72,7 +72,7 @@
"filename": "gstaccurip",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -153,7 +153,7 @@
"filename": "gstadpcmdec",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -284,7 +284,7 @@
]
}
},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -348,7 +348,7 @@
"filename": "gstaiff",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -1242,7 +1242,7 @@
"filename": "gstasfmux",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -1323,7 +1323,7 @@
"filename": "gstassrender",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -1661,7 +1661,7 @@
"filename": "gstaudiolatency",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -1795,7 +1795,7 @@
]
}
},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -2102,7 +2102,7 @@
]
}
},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -2237,7 +2237,7 @@
"filename": "gstautoconvert",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -2331,7 +2331,7 @@
"filename": "gstbayer",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -2761,7 +2761,7 @@
"filename": "gstbluez",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -2846,7 +2846,7 @@
"filename": "gstbs2b",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -2970,7 +2970,7 @@
"filename": "gstbz2",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -3707,7 +3707,7 @@
]
}
},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -3787,7 +3787,7 @@
"filename": "gstchromaprint",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -4182,7 +4182,7 @@
]
}
},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -4382,7 +4382,7 @@
]
}
},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -4554,7 +4554,7 @@
]
}
},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -6826,7 +6826,7 @@
]
}
},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -7450,7 +7450,7 @@
]
}
},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -7517,7 +7517,7 @@
"filename": "gstde265",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -8999,7 +8999,7 @@
]
}
},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -10790,7 +10790,7 @@
]
}
},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -11451,7 +11451,7 @@
]
}
},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -11544,7 +11544,7 @@
"filename": "gstdtsdec",
"license": "GPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -13443,7 +13443,7 @@
]
}
},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -13511,7 +13511,7 @@
"filename": "gstdvbsubenc",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -13594,7 +13594,7 @@
"filename": "gstdvbsuboverlay",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -13637,7 +13637,7 @@
"filename": "gstdvdspu",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -13843,7 +13843,7 @@
]
}
},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -13924,7 +13924,7 @@
"filename": "gstfaad",
"license": "GPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -14060,7 +14060,7 @@
"filename": "gstfaceoverlay",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -14290,7 +14290,7 @@
"filename": "gstfbdevsink",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -14467,7 +14467,7 @@
"filename": "gstfdkaac",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -14505,7 +14505,7 @@
"filename": "gstfestival",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -14749,7 +14749,7 @@
]
}
},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -14851,7 +14851,7 @@
"filename": "gstflite",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -14955,7 +14955,7 @@
"filename": "gstfluidsynthmidi",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -15067,7 +15067,7 @@
"filename": "gstfreeverb",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -26435,7 +26435,7 @@
"filename": "gstfrei0r",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -26865,7 +26865,7 @@
"filename": "gstgaudieffects",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -26971,7 +26971,7 @@
"filename": "gstgdp",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -28641,7 +28641,7 @@
]
}
},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -28679,7 +28679,7 @@
"filename": "gstgme",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -28842,7 +28842,7 @@
"filename": "gstgsm",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -29355,7 +29355,7 @@
"filename": "gstid3tag",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -30466,7 +30466,7 @@
]
}
},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -30925,7 +30925,7 @@
"filename": "gstivfparse",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -31088,7 +31088,7 @@
"filename": "gstjp2kdecimator",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -31171,7 +31171,7 @@
"filename": "gstjpegformat",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -31538,7 +31538,7 @@
"filename": "gstkate",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -31908,7 +31908,7 @@
"filename": "gstkms",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -32700,7 +32700,7 @@
"filename": "gstladspa",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -33062,7 +33062,7 @@
]
}
},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -213071,7 +213071,7 @@
"filename": "gstmicrodns",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -213109,7 +213109,7 @@
"filename": "gstmidi",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -213227,7 +213227,7 @@
"filename": "gstmms",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -213423,7 +213423,7 @@
"filename": "gstmodplug",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -214159,7 +214159,7 @@
]
}
},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -214253,7 +214253,7 @@
"filename": "gstmpegpsdemux",
"license": "unknown",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -214305,7 +214305,7 @@
"filename": "gstmpegpsmux",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -214576,7 +214576,7 @@
"filename": "gstmpegtsdemux",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -215056,7 +215056,7 @@
}
}
},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -215269,7 +215269,7 @@
]
}
},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -215307,7 +215307,7 @@
"filename": "gstmusepack",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -215568,7 +215568,7 @@
}
}
},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -215783,7 +215783,7 @@
"filename": "gstneonhttpsrc",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -215980,7 +215980,7 @@
]
}
},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -215991,7 +215991,7 @@
"filename": "gstnvcodec",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -216057,7 +216057,7 @@
"filename": "gstofa",
"license": "GPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -216613,7 +216613,7 @@
"filename": "gstopenal",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -219246,7 +219246,7 @@
"filename": "gstopenexr",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -219951,7 +219951,7 @@
]
}
},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -220150,7 +220150,7 @@
]
}
},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -220284,7 +220284,7 @@
]
}
},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -220337,7 +220337,7 @@
"filename": "gstopusparse",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -220509,7 +220509,7 @@
"filename": "gstpcapparse",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -220632,7 +220632,7 @@
"filename": "gstpnm",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -220872,7 +220872,7 @@
"filename": "gstremovesilence",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -220985,7 +220985,7 @@
"filename": "gstresindvd",
"license": "GPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -221228,7 +221228,7 @@
"filename": "gstrfbsrc",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -222018,7 +222018,7 @@
]
}
},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -222266,7 +222266,7 @@
"filename": "gstrsvg",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -222592,7 +222592,7 @@
"filename": "gstrtmp",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -223641,7 +223641,7 @@
"filename": "gstrtpmanagerbad",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -223771,7 +223771,7 @@
"filename": "gstrtponvif",
"license": "unknown",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -223934,7 +223934,7 @@
"filename": "gstsbc",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -224131,7 +224131,7 @@
"filename": "gstsctp",
"license": "BSD",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -224381,7 +224381,7 @@
"filename": "gstsdpelem",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -224447,7 +224447,7 @@
"filename": "gstsegmentclip",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -224853,7 +224853,7 @@
"filename": "gstshm",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -225016,7 +225016,7 @@
"filename": "gstsiren",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -225122,7 +225122,7 @@
"filename": "gstsmooth",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -225265,7 +225265,7 @@
"filename": "gstsmoothstreaming",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -225303,7 +225303,7 @@
"filename": "gstsndfile",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -225441,7 +225441,7 @@
"filename": "gstsoundtouch",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -225748,7 +225748,7 @@
"filename": "gstspandsp",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -225802,7 +225802,7 @@
"filename": "gstspeed",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -227674,7 +227674,7 @@
]
}
},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -228040,7 +228040,7 @@
]
}
},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -228164,7 +228164,7 @@
"filename": "gstsubenc",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -228260,7 +228260,7 @@
"filename": "gstswitchbin",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -228364,7 +228364,7 @@
"filename": "gstteletext",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -228798,7 +228798,7 @@
]
}
},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -229420,7 +229420,7 @@
"filename": "gsttranscode",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -229489,7 +229489,7 @@
"filename": "gstttmlsubs",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -230327,7 +230327,7 @@
]
}
},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -230338,7 +230338,7 @@
"filename": "gstv4l2codecs",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -230538,7 +230538,7 @@
"filename": "gstvideoframe_audiolevel",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -231009,7 +231009,7 @@
"filename": "gstvideoparsersbad",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -231393,7 +231393,7 @@
"filename": "gstvideosignal",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -231446,7 +231446,7 @@
"filename": "gstvmnc",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -231554,7 +231554,7 @@
"filename": "gstvoaacenc",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -231716,7 +231716,7 @@
]
}
},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -232607,7 +232607,7 @@
"filename": "gstwaylandsink",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -232842,7 +232842,7 @@
]
}
},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -233445,7 +233445,7 @@
}
}
},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -234030,7 +234030,7 @@
]
}
},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -234481,7 +234481,7 @@
]
}
},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
@@ -234609,7 +234609,7 @@
"filename": "gstzbar",
"license": "LGPL",
"other-types": {},
- "package": "GStreamer Bad Plug-ins git",
+ "package": "GStreamer Bad Plug-ins",
"source": "gst-plugins-bad",
"tracers": {},
"url": "Unknown package origin"
diff --git a/gst-plugins-bad.doap b/gst-plugins-bad.doap
index c7009d142..395a6be38 100644
--- a/gst-plugins-bad.doap
+++ b/gst-plugins-bad.doap
@@ -19,7 +19,7 @@ something - be it a good code review, some documentation, a set of tests, a
real live maintainer, or some actual wide use.
</description>
<category></category>
- <bug-database rdf:resource="http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer&amp;component=gst-plugins-bad" />
+ <bug-database rdf:resource="https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/" />
<screenshots></screenshots>
<mailing-list rdf:resource="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" />
<programming-language>C</programming-language>
@@ -35,6 +35,16 @@ real live maintainer, or some actual wide use.
<release>
<Version>
+ <revision>1.17.1</revision>
+ <branch>master</branch>
+ <name></name>
+ <created>2020-06-19</created>
+ <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.17.1.tar.xz" />
+ </Version>
+ </release>
+
+ <release>
+ <Version>
<revision>1.16.0</revision>
<branch>master</branch>
<name></name>
diff --git a/meson.build b/meson.build
index 570f651ad..a6ac4a204 100644
--- a/meson.build
+++ b/meson.build
@@ -1,5 +1,5 @@
project('gst-plugins-bad', 'c', 'cpp',
- version : '1.17.0.1',
+ version : '1.17.1',
meson_version : '>= 0.49',
default_options : [ 'warning_level=1',
'buildtype=debugoptimized' ])
@@ -175,7 +175,7 @@ cdata.set('SIZEOF_VOIDP', cc.sizeof('void*'))
cdata.set_quoted('VERSION', gst_version)
cdata.set_quoted('PACKAGE', 'gst-plugins-bad')
cdata.set_quoted('PACKAGE_VERSION', gst_version)
-cdata.set_quoted('PACKAGE_BUGREPORT', 'http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer')
+cdata.set_quoted('PACKAGE_BUGREPORT', 'https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/new')
cdata.set_quoted('PACKAGE_NAME', 'GStreamer Bad Plug-ins')
cdata.set_quoted('GETTEXT_PACKAGE', 'gst-plugins-bad-1.0')
cdata.set_quoted('GST_API_VERSION', api_version)