From: Tim-Philipp Müller Date: Mon, 7 Nov 2022 23:53:57 +0000 (+0000) Subject: Update ChangeLogs for 1.21.2 X-Git-Tag: 1.22.0~539 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fupstream%2Fgstreamer.git;a=commitdiff_plain;h=98d2f958a92a1949227ea92294657d2dca678eff Update ChangeLogs for 1.21.2 --- diff --git a/subprojects/gst-devtools/ChangeLog b/subprojects/gst-devtools/ChangeLog index b694959..5efc022 100644 --- a/subprojects/gst-devtools/ChangeLog +++ b/subprojects/gst-devtools/ChangeLog @@ -1,7 +1,111 @@ +2022-11-04 11:23:12 +0100 Edward Hervey + + * validate/tools/gst-validate.c: + gst-validate-1.0: Don't leak arguments and context + Part-of: + +2022-11-04 11:02:49 +0100 Edward Hervey + + * validate/gst/validate/gst-validate-scenario.c: + validate-scenario: Don't leak temporary path value + It's only use in the structure iterator + Part-of: + +2022-11-04 11:02:27 +0100 Edward Hervey + + * validate/gst/validate/gst-validate-scenario.c: + validate-scenario: Don't leak temporary local variables structures + Part-of: + +2022-11-03 14:05:59 +0100 Edward Hervey + + * validate/gst/validate/gst-validate-utils.c: + * validate/plugins/ssim/gstvalidatessim.c: + validate: plug some leaks + Part-of: + +2022-10-15 11:38:02 +0300 Sebastian Dröge + + * validate/gst/validate/gst-validate-bin-monitor.c: + * validate/gst/validate/gst-validate-element-monitor.c: + * validate/gst/validate/gst-validate-monitor.c: + * validate/gst/validate/gst-validate-pad-monitor.c: + * validate/gst/validate/gst-validate-pipeline-monitor.c: + * validate/gst/validate/gst-validate-report.c: + * validate/gst/validate/gst-validate-reporter.c: + * validate/gst/validate/gst-validate-scenario.c: + validate: Add/fix various annotations + And fix monitor constructors to correctly check for valid arguments. + Part-of: + +2022-09-21 11:44:59 -0300 Thibault Saunier + + * validate/gst/validate/gst-validate-scenario.c: + validate: Plug some leaks + Part-of: + +2022-10-05 12:57:02 -0300 Thibault Saunier + + * validate/launcher/baseclasses.py: + validate:launcher: Cleanup test uuid when copying it + Part-of: + +2022-10-04 19:17:15 -0300 Thibault Saunier + + * validate/launcher/baseclasses.py: + * validate/launcher/main.py: + validate: launcher: Add a argument to avoid rereuning flaky tests + Part-of: + +2022-10-04 19:16:44 -0300 Thibault Saunier + + * validate/launcher/apps/gstvalidate.py: + * validate/launcher/baseclasses.py: + validate: launcher: Keep variable framerate from input when possible + But disable it if forcing a framerate for some reason + Fixing our support for variable framerate in the encoding profile + serialization format. + Part-of: + +2022-10-04 19:16:04 -0300 Thibault Saunier + + * validate/launcher/apps/gstvalidate.py: + validate: launcher: Fix some pep8 issues + Part-of: + +2022-10-04 19:14:49 -0300 Thibault Saunier + + * validate/gst/validate/gst-validate-internal.h: + * validate/gst/validate/gst-validate-scenario.c: + * validate/launcher/apps/gstvalidate.py: + * validate/launcher/baseclasses.py: + validate: Handle testfiles that need an HTTP server + Part-of: + +2022-09-27 16:35:31 -0300 Thibault Saunier + + * validate/gst-libs/gst/video/gstvalidatessim.c: + validate:ssim: Show original/nok/diff images on error images + This way the user can easily see how off the image is very easily + Part-of: + +2022-09-27 12:51:33 -0300 Thibault Saunier + + * validate/gst/validate/gst-validate-scenario.c: + validate:scenario: Fix setting iterating variable from arrays + Part-of: + +2022-10-04 03:57:31 +0100 Tim-Philipp Müller + + * meson.build: + Back to development + Part-of: + === release 1.21.1 === 2022-10-04 01:14:01 +0100 Tim-Philipp Müller + * ChangeLog: * NEWS: * RELEASE: * gst-devtools.doap: diff --git a/subprojects/gst-editing-services/ChangeLog b/subprojects/gst-editing-services/ChangeLog index 400b45f..aa0f1c2 100644 --- a/subprojects/gst-editing-services/ChangeLog +++ b/subprojects/gst-editing-services/ChangeLog @@ -1,7 +1,63 @@ +2022-10-24 14:40:55 -0500 Patrick Griffis + + * tests/check/meson.build: + build: Fix building ges with tools disabled + If you configure with `tools=disabled` then ges_launch is undefined. + Part-of: + +2022-10-25 09:39:07 +0300 Sebastian Dröge + + * ges/ges-asset.c: + * ges/ges-clip.c: + * ges/ges-formatter.h: + * ges/ges-pipeline.c: + * ges/ges-project.c: + * ges/ges-timeline-element.c: + * ges/ges-timeline.c: + Fix various warnings from gobject-introspection + Part-of: + +2022-10-17 19:45:30 -0500 Fabian Orccon + + * ges/ges-transition-clip.c: + * tests/check/ges/transition.c: + ges: transition: Notify vtype change on ges_extractable_set_asset call + Fixes #1454 + Part-of: + +2022-10-15 19:36:47 +0300 Sebastian Dröge + + * ges/ges-asset.c: + * ges/ges-clip.c: + * ges/ges-container.c: + * ges/ges-layer.c: + * ges/ges-meta-container.c: + * ges/ges-pipeline.c: + * ges/ges-project.c: + * ges/ges-screenshot.c: + * ges/ges-text-overlay-clip.c: + * ges/ges-text-overlay.c: + * ges/ges-timeline-element.c: + * ges/ges-timeline.c: + * ges/ges-title-clip.c: + * ges/ges-title-source.c: + * ges/ges-track-element.c: + * ges/ges-track.c: + * ges/ges-utils.c: + ges: Add/fix various annotations + Part-of: + +2022-10-04 03:57:31 +0100 Tim-Philipp Müller + + * meson.build: + Back to development + Part-of: + === release 1.21.1 === 2022-10-04 01:14:01 +0100 Tim-Philipp Müller + * ChangeLog: * NEWS: * RELEASE: * gst-editing-services.doap: diff --git a/subprojects/gst-libav/ChangeLog b/subprojects/gst-libav/ChangeLog index 57aac8f..51fc0aa 100644 --- a/subprojects/gst-libav/ChangeLog +++ b/subprojects/gst-libav/ChangeLog @@ -1,7 +1,144 @@ +2022-11-04 14:17:39 -0400 Nicolas Dufresne + + * docs/gst_plugins_cache.json: + * ext/libav/gstavutils.c: + avutils: Add missing space in doc + Part-of: + +2022-11-04 14:15:34 -0400 Nicolas Dufresne + + * docs/gst_plugins_cache.json: + * ext/libav/gstavviddec.c: + avviddec: Initialize std_compliance to default + This was missed in the initial patch. + Part-of: + +2022-11-04 08:00:03 +0100 Edward Hervey + + * ext/libav/gstavcfg.c: + libav: avcfg: Avoid brittle comparision + Subtracting a gint from another (or a guint from another) has no guarantees that + it will result in a gint. + Therefore do the actual comparision instead. + Also use the *actual* type for comparing flags (the field value types are different) + Part-of: + +2022-11-04 07:59:10 +0100 Edward Hervey + + * ext/libav/gstavcfg.c: + libav: avcfg: Don't leak duplicate enumvalue entries + If we discard the duplicates, we also need to free the allocated strings. + Part-of: + +2022-11-02 11:09:17 -0400 Nicolas Dufresne + + * docs/gst_plugins_cache.json: + doc: avviddec: Update plugin cache + This is to add std-compliance property and GstFFMpegVidDec base class. + Part-of: + +2022-11-01 11:13:23 -0400 Nicolas Dufresne + + * ext/libav/gstav.c: + * ext/libav/gstav.h: + * ext/libav/gstavcodecmap.c: + * ext/libav/gstavcodecmap.h: + * ext/libav/gstavutils.h: + * ext/libav/gstavviddec.c: + * ext/libav/gstavviddec.h: + avviddec: Introduce a class for shared properties + Without a parent class,the documentation would need to be duplicated for + every CODECs. This patch adds an abstract class in between GstVideoDecoder + and the element. + Part-of: + +2022-11-01 09:35:11 -0400 Seungha Yang + + * ext/libav/gstavutils.c: + * ext/libav/gstavutils.h: + * ext/libav/gstavviddec.c: + * ext/libav/gstavviddec.h: + avviddec: Expose std-compliance option + Default compliance mode (i.e., FF_COMPLIANCE_NORMAL) might not + strictly follow specification. This property will allow user + to specifiy expected compliance mode. + Part-of: + +2022-10-26 16:30:31 -0400 Nicolas Dufresne + + * ext/libav/gstavviddec.c: + avdec_h265: Fix endless renegoation with alternate interlacing + The picture parameter picture->top_field_first is reused in this mode + to signal the TOP fields. As a side effect, it will change every frame + and current code assumed that if this changes then a renegotiation is + needed. Fixed this by ignoring that change whenever we are decoding one field + only. + Fixes #1523 + Part-of: + +2022-10-26 10:44:01 -0400 Nicolas Dufresne + + * ext/libav/gstavviddec.c: + avviddec: Avoid flushing on framerate changes + A framerate change does not require flushing the decoder and causes + issues with some specific fragmented files if the two fragments have + different framerate. + Fixes #1522 + Part-of: + +2022-10-18 11:37:30 +0000 Devin Anderson + + * ext/libav/gstavdemux.c: + gst-libav: Fix synchronization issues and errors created by the forwarding of segment events by demuxer. + In order to play nicely with `ffmpeg`, demuxers in `gst-libav` have to make + buffers available to `ffmpeg` while taking the blocking I/O model in `ffmpeg` + into account, which results in buffers not being sent downstream until `ffmpeg` + has processed them in its separate thread. + In constrast, many `gstreamer` events are simply forwarded downstream. + Currently `GST_EVENT_SEGMENT` events are forwarded downstream without any + processing, which can potentially result in: + * `GST_EVENT_SEGMENT` events being out of sync with buffers + * `GST_EVENT_SEGMENT` events going out that are incorrect because they apply + to data seen by the demuxer, but not necessarily seen by downstream elements + I came across this bug when I was attempting to enable G723.1 demuxing/decoding + using the G723.1 demuxer and decoder provided by `ffmpeg`. I wrote tests to + verify support for the functionality, and found that, in push mode, + `GST_EVENT_SEGMENT` events pushed to the demuxer by the upstream `filesrc` + element would be forwarded to the decoder without modification, resulting in + an internal data streaming error. With this patch, tests work in both push and + pull mode. + This patch solves the problem by disabling the forwarding of + `GST_EVENT_SEGMENT` events downstream (an initial `GST_EVENT_SEGMENT` event is + still pushed downstream by the demuxer). It's possible there's a better way to + do this, but, having looked at how a few different `gstreamer` demuxers deal + with `GST_EVENT_SEGMENT` events, it seems like the processing is somewhat + specific to the demuxer implementation, whereas `gst-libav` has one general way + of handling the situation for any `ffmpeg` demuxer. Perhaps there's a better + way to solve this using the `ffmpeg` API to take advantage of specific demuxer + details. IDK. + Part-of: + +2022-10-04 21:27:36 +0200 Mathieu Duponchelle + + * ext/libav/gstavauddec.c: + avauddec: address regression with WMA files .. + By outputting lead-in samples that FFmpeg now would like us to ignore, + and discarding trailing samples that it would now like us to output. + See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1474 + Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1348 + Part-of: + +2022-10-04 03:57:31 +0100 Tim-Philipp Müller + + * meson.build: + Back to development + Part-of: + === release 1.21.1 === 2022-10-04 01:14:01 +0100 Tim-Philipp Müller + * ChangeLog: * NEWS: * RELEASE: * gst-libav.doap: diff --git a/subprojects/gst-omx/ChangeLog b/subprojects/gst-omx/ChangeLog index 00ae1f1..90d383b 100644 --- a/subprojects/gst-omx/ChangeLog +++ b/subprojects/gst-omx/ChangeLog @@ -1,7 +1,14 @@ +2022-10-04 03:57:31 +0100 Tim-Philipp Müller + + * meson.build: + Back to development + Part-of: + === release 1.21.1 === 2022-10-04 01:14:01 +0100 Tim-Philipp Müller + * ChangeLog: * NEWS: * RELEASE: * gst-omx.doap: diff --git a/subprojects/gst-plugins-bad/ChangeLog b/subprojects/gst-plugins-bad/ChangeLog index f578159..3fb155c 100644 --- a/subprojects/gst-plugins-bad/ChangeLog +++ b/subprojects/gst-plugins-bad/ChangeLog @@ -1,7 +1,1438 @@ +2020-12-08 16:55:26 +0100 Jan Alexander Steffens (heftig) + + * ext/srt/gstsrtobject.c: + * ext/srt/gstsrtobject.h: + srt: Add a property to disable automatic reconnect + This adds a new boolean property `auto-reconnect`, defaulting to `true`. + Setting it to `false` makes the elements (in caller mode) immediately + report an error to the application instead of trying to reconnect. + Part-of: + +2022-10-26 18:04:17 +0200 Víctor Manuel Jáquez Leal + + * sys/va/gstvabasetransform.c: + vabasetransform: Fail if cannot import the input buffer. + Otherwise got a buffer double free. + Part-of: + +2022-11-06 01:53:46 +0900 Seungha Yang + + * sys/mediafoundation/gstmfcapturedshow.cpp: + * sys/mediafoundation/gstmfcapturedshow.h: + * sys/mediafoundation/gstmfdevice.cpp: + * sys/mediafoundation/gstmfsourceobject.cpp: + * sys/mediafoundation/gstmfsourceobject.h: + * sys/mediafoundation/gstmfsourcereader.cpp: + * sys/mediafoundation/gstmfvideosrc.cpp: + * sys/mediafoundation/meson.build: + mfvideosrc: Add support for DirectShow capture filter + Adding DirecShow video capture filter mode, in addition + to existing MediaFoundation and WinRT(UWP) mode, to support + DirectShow only filters (not KS driver compatible) + such as custom virtual camera filters. + Part-of: + +2021-12-01 16:23:41 +0100 Jan Alexander Steffens (heftig) + + * gst/rtmp2/gstrtmp2sink.c: + * gst/rtmp2/gstrtmp2src.c: + * gst/rtmp2/rtmp/rtmpclient.c: + rtmp2: Improve error messages + Part-of: + +2021-12-01 16:04:24 +0100 Jan Alexander Steffens (heftig) + + * gst/rtmp2/gstrtmp2sink.c: + * gst/rtmp2/gstrtmp2src.c: + * gst/rtmp2/rtmp/rtmpclient.c: + * gst/rtmp2/rtmp/rtmpconnection.c: + rtmp2/connection: Pass triggering GError in 'error' signal + Part-of: + +2021-12-01 16:02:53 +0100 Jan Alexander Steffens (heftig) + + * gst/rtmp2/rtmp/rtmpconnection.c: + rtmp2/connection: Pass triggering GError to _emit_error + Part-of: + +2021-12-01 16:01:10 +0100 Jan Alexander Steffens (heftig) + + * gst/rtmp2/rtmp/rtmpconnection.c: + rtmp2/connection: Discern reasons for cancelling all commands + Part-of: + +2021-12-01 15:53:13 +0100 Jan Alexander Steffens (heftig) + + * gst/rtmp2/rtmp/rtmpconnection.c: + rtmp2/connection: Handle EOF like error + Part-of: + +2021-12-01 15:49:22 +0100 Jan Alexander Steffens (heftig) + + * gst/rtmp2/rtmp/rtmpclient.c: + rtmp2/client: Make sure 'salt' is not NULL + Part-of: + +2021-12-01 15:46:42 +0100 Jan Alexander Steffens (heftig) + + * gst/rtmp2/rtmp/rtmpclient.c: + rtmp2/client: Make sure 'reason' is not NULL + Part-of: + +2021-12-01 16:13:42 +0100 Jan Alexander Steffens (heftig) + + * gst/rtmp2/rtmp/rtmpclient.c: + rtmp2/client: Make sure 'desc' is not NULL + Part-of: + +2021-12-01 16:11:31 +0100 Jan Alexander Steffens (heftig) + + * gst/rtmp2/rtmp/rtmpclient.c: + rtmp2/client: Make sure 'code' is not NULL + Part-of: + +2022-11-07 07:45:53 +0100 Edward Hervey + + * ext/webrtc/gstwebrtcbin.c: + * ext/webrtc/gstwebrtcstats.c: + * ext/webrtc/transportstream.c: + * ext/webrtc/utils.c: + * ext/webrtc/utils.h: + * ext/webrtc/webrtcsdp.c: + webrtcbin: Don't duplicate enum string values + Some were leaked when debugging was enabled. Instead just directly use the + static strings as-is. + Part-of: + +2022-11-04 14:24:58 -0400 Nicolas Dufresne + + * docs/plugins/gst_plugins_cache.json: + * gst/debugutils/gstvideocodectestsink.c: + videocodectestsink: Add YUV422 support + Part-of: + +2022-11-05 21:35:08 +0900 Seungha Yang + + * sys/d3d11/gstd3d11window.cpp: + d3d11videosink: Always clear back buffer on resize + Swapchain may not need to be resized if the size of backbuffer + is equal to the previous size. Then previously rendered frame will be stay + on the screen. Do clear back buffer whenever resize() is called + Part-of: + +2022-11-05 00:00:43 +0900 Seungha Yang + + * sys/qsv/gstqsvallocator_va.cpp: + qsv: Fix encoding error when input memory belongs to other GPU + Copy frame if VA display of input buffer is different from that + of encoder, like we've been doing on Windows + Part-of: + +2022-11-04 21:52:39 +0800 He Junyan + + * sys/va/gstvabaseenc.c: + va: baseenc: Do not import the VA surface from other display. + Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1167 + Part-of: + +2022-11-04 21:26:23 +0800 He Junyan + + * sys/va/gstvacompositor.c: + va: compositor: Do not use allocator and pool from other display. + Just like the va decoder, the compositor should not use allocator + and pool from other display. Also, when importing the input buffer, + if it is from other display, we should fallback to memory copy. + Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1167 + Part-of: + +2022-11-04 17:12:22 +0800 He Junyan + + * sys/va/gstvabasetransform.c: + va: basetransform: Do not use allocator and pool from other display. + Just like the va decoder, the vpp and deinterlace should not use allocator + and pool from other display. Also, when importing the input buffer, if it + is from other display, we should fallback to memory copy. + Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1167 + Part-of: + +2022-11-04 17:08:12 +0800 He Junyan + + * sys/va/gstvabasedec.c: + va: basedec: Do not use allocator and pool from other display. + The command line such as: + gst-launch-1.0 -vf filesrc location=1.264 ! h264parse ! + vah264dec ! varenderD129postproc ! fakesink + The decoder here gets the allocation proposal from the vpp which is + on another GPU device. The allocator and pool belong to other display + and should not be used in the decoder. + Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1167 + Part-of: + +2022-11-04 20:28:34 +0800 He Junyan + + * gst-libs/gst/va/gstvaallocator.c: + * gst-libs/gst/va/gstvaallocator.h: + libs: va: Add API to peek the va buffer's display. + Part-of: + +2022-11-04 20:28:34 +0800 He Junyan + + * gst-libs/gst/va/gstvaallocator.c: + * gst-libs/gst/va/gstvaallocator.h: + libs: va: Add API to peek the va memory's display. + Part-of: + +2022-11-04 17:06:37 +0800 He Junyan + + * gst-libs/gst/va/gstvaallocator.c: + * gst-libs/gst/va/gstvaallocator.h: + libs: va: Add API to peek the allocator's display. + Part-of: + +2022-11-04 17:03:35 +0800 He Junyan + + * gst-libs/gst/va/gstvaallocator.h: + libs: va: Fix code style in gstvaallocator.h + Replace all tabs with spaces. + Part-of: + +2022-11-05 05:32:52 +0900 Seungha Yang + + * docs/plugins/gst_plugins_cache.json: + * sys/d3dvideosink/d3dvideosink.c: + d3dvideosink: Update plugin description + Direct3D is too generic (there are various version numbers). + Clarify that this element is using the Direct3D9 API + Part-of: + +2022-11-04 08:41:10 +0100 Edward Hervey + + * ext/lv2/gstlv2.c: + lv2: Don't leak plugin information on registration + Part-of: + +2022-11-04 08:40:24 +0100 Edward Hervey + + * ext/ladspa/gstladspa.c: + ladspa: Don't leak plugin information on registration + Part-of: + +2022-11-04 08:09:52 +0100 Edward Hervey + + * ext/fdkaac/gstfdkaacenc.c: + fdkaacenc: Properly terminate GEnumValue table + It should be terminated with a NULL entry, otherwise we just stray into the + realms of cryptographic libraries^W^W random memory usage. + Part-of: + +2022-07-27 15:59:35 +0200 Jan Alexander Steffens (heftig) + + * ext/srt/gstsrtobject.c: + srt: Remove callers for which srt_bstats fails + This keeps them from accumulating in the element and in the stats while + the sink is not being fed, as long as we at least periodically grab + stats. + Part-of: + +2022-07-29 11:53:18 +0200 Jan Alexander Steffens (heftig) + + * ext/srt/gstsrtobject.c: + srt: Use simpler list operations for callers + Avoid `g_list_append` and `g_list_remove` (which have to scan the list) + and replace them with `g_list_prepend` and `g_list_delete_link`. + Part-of: + +2020-11-10 10:06:37 +0100 Jan Alexander Steffens (heftig) + + * ext/srt/gstsrtobject.c: + srt: Clean up poll/sock lifecycle + Make sure `srtobject->poll_id` is never invalid as long as `srtobject` + exists. Only remove our caller socket from it when the socket becomes + invalid. + Part-of: + +2022-06-08 16:35:54 +0200 Jan Alexander Steffens (heftig) + + * ext/srt/gstsrtobject.c: + srt: Clean up error handling + - Make the srt_epoll_wait loops more uniform. + - Error only via GError when possible; let the element send the error + message. Avoids a second error message. + - Return 0 when cancelled. Avoids an error message from the element. + - Don't send an error message from send_headers when we're a server + sink. + Part-of: + +2022-10-11 11:14:59 +0200 Jan Alexander Steffens (heftig) + + * ext/srt/gstsrtobject.c: + srt: Simplify socket stats + Don't hide stats depending on whether we're a sending or receiving + socket. While we're here, add some more debug logs. + Part-of: + +2020-10-05 19:50:13 +0200 Jan Alexander Steffens (heftig) + + * ext/srt/gstsrtobject.c: + * ext/srt/gstsrtobject.h: + srt: Replace stats accumulation with naive byte counting + srt_bstats cannot be used to get the stats of closed connections, so the + best we can do is keep the running count ourselves. + Part-of: + +2022-11-04 18:32:05 +0900 Seungha Yang + + * sys/directshow/gstdshow.cpp: + directshow: Validate enumerated AM_MEDIA_TYPE struct + The video info struct can be null if format is undefined + Part-of: + +2022-11-03 23:40:00 +0900 Seungha Yang + + * tests/examples/d3d11/d3d11decoder-appsink.cpp: + * tests/examples/d3d11/d3d11videosink-present.cpp: + examples: d3d11: Fix GCC build error/warning + Part-of: + +2022-11-03 05:18:03 +0900 Seungha Yang + + * docs/plugins/gst_plugins_cache.json: + * sys/qsv/gstqsvjpegenc.cpp: + qsvjpegenc: Add support for YUY2 format + Now GstD3D11 defines YUY2 format + Part-of: + +2022-11-03 05:12:31 +0900 Seungha Yang + + * docs/plugins/gst_plugins_cache.json: + * sys/qsv/gstqsvallocator.cpp: + * sys/qsv/gstqsvallocator.h: + * sys/qsv/gstqsvallocator_d3d11.cpp: + * sys/qsv/gstqsvdecoder.cpp: + * sys/qsv/gstqsvjpegdec.cpp: + * sys/qsv/gstqsvjpegdec.h: + * sys/qsv/meson.build: + * sys/qsv/plugin.cpp: + qsv: Add JPEG decoder + Because DXVA does not define JPEG decoding, we need this + vendor specific API for Windows + Part-of: + +2022-11-03 03:38:33 +0900 Seungha Yang + + * docs/plugins/gst_plugins_cache.json: + * gst-libs/gst/d3d11/gstd3d11-private.h: + * gst-libs/gst/d3d11/gstd3d11converter.cpp: + * gst-libs/gst/d3d11/gstd3d11device.cpp: + d3d11: Add support for YUY2 format + YUY2 is a primary YUV 4:2:2 format for DXVA. + Part-of: + +2022-11-01 09:47:38 +0800 Tong Wu + + * sys/msdk/gstmsdkcontext.c: + msdkcontext: use gst_object_unref instead of g_object_unref + Part-of: + +2022-10-31 16:59:18 +0800 Tong Wu + + * sys/msdk/gstmsdkcontext.c: + msdkcontext: use gst_object_ref for GstVaDisplay + Part-of: + +2022-10-31 16:56:32 +0800 Tong Wu + + * sys/msdk/gstmsdkcontext.c: + msdkcontext: g_object_new() must not return nullptr + Part-of: + +2022-10-31 16:52:23 +0800 Tong Wu + + * sys/msdk/gstmsdkenc.c: + msdkenc: use GST_CAPS_FEATURE_MEMORY_VA to check the feature + Add macros to protect sinkpad_is_va(), since it is not defined on + Windows. + Part-of: + +2022-11-01 12:03:24 +0100 Guillaume Desmottes + + * ext/wpe/gstwpevideosrc.cpp: + wpe: fix wpevideosrc gst-play example + wpe:// no longer works since 1.20, see wpesrc examples. + Part-of: + +2022-10-27 10:03:34 -0400 Eric Knapp + + * sys/va/gstvah264enc.c: + vah264enc: Added option to insert CEA-708 closed captions + Part-of: + +2022-11-01 22:19:18 +0900 Seungha Yang + + * docs/plugins/gst_plugins_cache.json: + * sys/qsv/gstqsvav1enc.cpp: + * sys/qsv/gstqsvh264dec.cpp: + * sys/qsv/gstqsvh264enc.cpp: + * sys/qsv/gstqsvh265dec.cpp: + * sys/qsv/gstqsvh265enc.cpp: + * sys/qsv/gstqsvjpegenc.cpp: + * sys/qsv/gstqsvutils.h: + * sys/qsv/gstqsvvp9dec.cpp: + * sys/qsv/gstqsvvp9enc.cpp: + qsv: Check 16K resolution support + ... and remove duplicated code + Part-of: + +2021-05-14 10:24:05 +0200 Marijn Suijten + + * gst-libs/gst/vulkan/gstvkimageview.c: + * gst-libs/gst/vulkan/gstvkimageview.h: + vulkan: Mark gst_vulkan_image_view_new create_info as constant pointer + Part-of: + +2021-01-05 22:33:12 +0100 Marijn Suijten + + * gst-libs/gst/vulkan/gstvkcommandpool.c: + * gst-libs/gst/vulkan/gstvkdescriptorpool.c: + * gst-libs/gst/vulkan/gstvkdevice.c: + * gst-libs/gst/vulkan/gstvkphysicaldevice.c: + * gst-libs/gst/vulkan/gstvkqueue.c: + vulkan: Remove unnecessary null checks + These null checkes are slightly misleading when double-checking + mutability for external language interop. None of the functions in + these files allow the variable at hand to become `NULL` under normal + operation, because they are checked at initialization and never (allowed + to be) reassigned to `NULL`. + Part-of: + +2021-01-04 01:07:04 +0100 Marijn Suijten + + * gst-libs/gst/vulkan/gstvkdisplay.c: + * gst-libs/gst/vulkan/gstvkfence.c: + * gst-libs/gst/vulkan/gstvkimagememory.c: + * gst-libs/gst/vulkan/gstvkqueue.c: + vulkan: Add missing `(nullable)` annotation to `Returns` + Most of these functions already state they might return `%NULL`, but + this is not picked up by G-IR. + Part-of: + +2021-01-04 00:40:24 +0100 Marijn Suijten + + * gst-libs/gst/vulkan/gstvkdescriptorcache.c: + * gst-libs/gst/vulkan/gstvkdescriptorpool.c: + * gst-libs/gst/vulkan/gstvkdescriptorset.c: + * gst-libs/gst/vulkan/gstvkinstance.c: + * gst-libs/gst/vulkan/gstvkwindow.c: + vulkan: Add missing `array length` and `(out)` annotation to parameters + Add `array length` annotation for `layouts` such that `n_layouts` is + properly marked as its length, and add `(out)` where a function returns + in that parameter. + Part-of: + +2022-11-01 02:00:33 +0900 Seungha Yang + + * sys/d3d11/gstd3d11decoder.cpp: + d3d11decoder: Fix for VP9 decoding with odd resolution + Fixing off by one mismatch when width and/or height of stream + is odd number + Part-of: + +2022-10-28 03:25:38 +0900 Seungha Yang + + * docs/plugins/gst_plugins_cache.json: + * sys/qsv/gstqsvallocator.cpp: + * sys/qsv/gstqsvallocator.h: + * sys/qsv/gstqsvallocator_d3d11.cpp: + * sys/qsv/gstqsvdecoder.cpp: + * sys/qsv/gstqsvvp9dec.cpp: + * sys/qsv/gstqsvvp9dec.h: + * sys/qsv/meson.build: + * sys/qsv/plugin.cpp: + qsv: Add VP9 decoder + Recent Intel GPU supports 12bits VP9 decoding but only VP9 + profile2 with 10bits is defined by DXVA spec. + Thus, we need this vendor specific decoder element + Part-of: + +2022-10-30 19:01:54 +0900 Seungha Yang + + * sys/d3d11/gstd3d11vp9dec.cpp: + d3d11vp9dec: Disallow Profile2 12bits stream + Since DXVA does not support the format, specify bit-depth field + to sinkpad template caps so that d3d11vp9dec can be skipped + during autoplugging + Part-of: + +2022-10-30 18:37:55 +0900 Seungha Yang + + * gst/videoparsers/gstvp9parse.c: + vp9parse: Set subsampling to src caps even if GBR stream + Some muxer elements will need the subsampling information + Part-of: + +2022-10-30 18:35:08 +0900 Seungha Yang + + * gst/videoparsers/gstvp9parse.c: + vp9parse: Delaying src caps until frame is parsed if profile > 0 + subsampling and/or bitdepth information will be required for + negotiation + Part-of: + +2022-10-29 16:17:53 +0530 Sanchayan Maity + + * docs/plugins/gst_plugins_cache.json: + * ext/fdkaac/gstfdkaacenc.c: + fdkaacenc: Update documentation to clarify bitrate and peak-bitrate + bitrate property is only applicable for constant bitrate and + peak-bitrate is only applicable for variable bitrate. Clarify + the same. + +2022-10-29 12:19:58 +0530 Sanchayan Maity + + * docs/plugins/gst_plugins_cache.json: + * ext/fdkaac/gstfdkaacenc.c: + * ext/fdkaac/gstfdkaacenc.h: + fdkaacenc: Add support for setting bitrate mode + +2021-01-31 22:00:36 +0530 Sanchayan Maity + + * docs/plugins/gst_plugins_cache.json: + * ext/fdkaac/gstfdkaacenc.c: + * ext/fdkaac/gstfdkaacenc.h: + fdkaacenc: Add support for setting peak bitrate + +2021-01-23 18:35:12 +0530 Sanchayan Maity + + * docs/plugins/gst_plugins_cache.json: + * ext/fdkaac/gstfdkaacenc.c: + * ext/fdkaac/gstfdkaacenc.h: + fdkaacenc: Add support for enabling afterburner + This is an additional quality parameter. In the default configuration this + quality switch is deactivated because it would cause a workload increase + which might be significant. If workload is not an issue in the application + it can be recommended to activate this feature. + +2020-11-26 19:23:11 +0530 Sanchayan Maity + + * ext/fdkaac/gstfdkaacdec.c: + fdkaacdec: Do not report decoding error for flush request + A flush request is done when set_format is called to empty internal bit + buffer maintained by fdk-aac. When this happens, during the explicit + call to handle_buffer, decodeFrame does not return a AAC_DEC_OK. This + gets reported as a decoding error while no decoding error in fact took + place. Since this can be confusing, just return a GST_FLOW_OK and log + that an explicit flush was requested. + +2022-10-25 13:22:30 +1100 Matthew Waters + + * gst-libs/gst/codecparsers/gstvp9parser.c: + vp9parser: initialize subsampling to -1 + The default value of 0 is a valid subsampling value and could be + confused with an 'unset' value. + Part-of: + +2022-10-27 14:20:37 +0200 Víctor Manuel Jáquez Leal + + * sys/va/gstvaencoder.c: + vaencoder: Reset attribute index to one. + Further fix to 4ffb3663 where I forgot to reset the attribute index. + Part-of: + +2022-10-03 15:20:24 -0300 Thibault Saunier + + * ext/dash/gstdashdemux.c: + * gst-libs/gst/adaptivedemux/gstadaptivedemux.c: + adaptivedemux: Minor typo fix + Part-of: + +2022-09-20 15:32:52 -0300 Thibault Saunier + + * ext/dash/gstmpdclient.c: + dash: Fix computing `repeat_index` when seeking in stream with a start !=0 on the first fragment + Part-of: + +2022-10-27 15:21:30 +0800 He Junyan + + * gst-libs/gst/codecparsers/gsth265bitwriter.c: + * gst-libs/gst/codecparsers/gsth265bitwriter.h: + * tests/check/libs/h265bitwriter.c: + h265bitwriter: Correct the all API to byte aligned. + In fact, all the h265 bit writer have byte aligned output. So we + change the API from bit size in unit to byte size, which is easy + to use. + Part-of: + +2022-10-27 13:42:17 +0800 He Junyan + + * gst-libs/gst/codecparsers/gsth264bitwriter.c: + * gst-libs/gst/codecparsers/gsth264bitwriter.h: + * sys/va/gstvah264enc.c: + * tests/check/libs/h264bitwriter.c: + h264bitwriter: Correct the all API to byte aligned. + In fact, all the h264 bit writer have byte aligned output except + the slice header. So we change the API from bit size in unit to + byte size, which is easy to use. For slice header, we add a extra + "trail_bits_num" to return the unaligned bits number. + Part-of: + +2022-10-27 14:40:49 +0800 He Junyan + + * gst-libs/gst/codecparsers/gsth264bitwriter.c: + * gst-libs/gst/codecparsers/gsth265bitwriter.c: + bitwriter: Fix a nal conversion bug when input is not byte aligned. + Part-of: + +2022-10-24 11:56:51 +0800 Mengkejiergeli Ba + + * sys/msdk/gstmsdkvpp.c: + msdkvpp: Set va mem caps as higher priority + We use va pool as msdkvpp's bufferpool, which means both va memory + and dma memory will be allocated by va pool. Considering drm modifier + stuff is not ready, we use va memory with higher priortiry than + dma memory when deciding vpp caps. + Besides, this patch removes the specified "interlace-mode" in vpp caps. + Part-of: + +2022-10-18 03:36:23 +0000 Mengkejiergeli Ba + + * sys/msdk/gstmsdkav1enc.c: + * sys/msdk/gstmsdkav1enc.h: + * sys/msdk/gstmsdkenc.c: + * sys/msdk/gstmsdkenc.h: + msdkav1enc: Remove reorder TU workaround + Part-of: + +2022-10-18 03:10:43 +0000 Mengkejiergeli Ba + + * sys/msdk/gstmsdkav1enc.c: + * sys/msdk/gstmsdkav1enc.h: + * sys/msdk/gstmsdkenc.c: + * sys/msdk/gstmsdkenc.h: + msdkav1enc: Remove pts workaround + Part-of: + +2022-10-27 04:15:01 +0900 Seungha Yang + + * gst-libs/gst/codecparsers/meson.build: + codecparsers: {h264,h265}bitwriter: Don't install headers yet + Those APIs are quite early stage of development, and we might want to + change them in the near future + Part-of: + +2022-10-18 16:34:41 +0800 Mengkejiergeli Ba + + * sys/msdk/gstmsdkvpp.c: + msdkvpp: Fix upper frc + Refact vpp commit 4c6b7194451ff6fbfe88834219d982302114d74b broke the + upper FRC, here to fix this by using outbuf_new. + Part-of: + +2022-07-29 18:15:08 +0800 Mengkejiergeli Ba + + * docs/plugins/gst_plugins_cache.json: + * sys/msdk/gstmsdkav1enc.c: + bad: Add msdkav1enc docs + Part-of: + +2022-10-25 08:14:18 -0400 Nicolas Dufresne + + * gst/codecalpha/gstalphacombine.c: + alphacombine: Add missing query handler for gaps + The gap handling was in place, but there was no event handler to trigger it. + Implement the alpha sink event handler for the gaps. This fixes handling of + valid streams which may not refresh the alpha frames for every video frames. + It will also allow a clean error if the stream was missing the initial + alpha frame, at least until we find a better way to handle these + invalid frames. + Related to #1518 + Part-of: + +2022-10-26 11:47:43 +0200 Ignacio Casal Quinteiro + + * sys/applemedia/avfdeviceprovider.m: + avfdeviceprovider: do not leak the properties + Part-of: + +2022-10-21 10:57:39 +0200 Víctor Manuel Jáquez Leal + + * sys/va/gstvaencoder.c: + vaencoder: Fix caps semantics. + When using gst_va_caps_from_profiles() the semantics of sink/src caps + depends if the element is an encoder or a decoder. + Part-of: + +2022-10-19 16:44:07 +0200 Víctor Manuel Jáquez Leal + + * sys/va/gstvadecoder.c: + * sys/va/gstvaencoder.c: + va: Fix typos. + Part-of: + +2022-08-11 12:51:17 +0200 Víctor Manuel Jáquez Leal + + * sys/va/gstvaencoder.c: + * sys/va/gstvah264enc.c: + vah264enc: Fail if unsupported rate control. + Handle when encoder doesn't support rate control, which is set as + VA_RC_NONE, and if the set rate control mode is not supported by the + GStreamer element, the element configuration fails. + Also it logs out max and target bitrate. + Part-of: + +2022-09-15 12:56:14 +0200 Víctor Manuel Jáquez Leal + + * sys/va/gstvah264enc.c: + vah264enc: Add todo item. + Part-of: + +2022-10-19 16:08:17 +0200 Víctor Manuel Jáquez Leal + + * sys/va/gstvaencoder.c: + * sys/va/gstvaencoder.h: + * sys/va/gstvah264enc.c: + vaencoder: Honor entrypoint at constructor. + The entrypoint is set when the encoder helper is constructed, + nonetheless it was also passed as parameter when opening. That's + buggy. + In order to simplify the code, the entrypoint at construction is + honored. + But gst_va_encoder_has_profile_and_entrypoint() now doesn't rely in + the internal list of profiles since it only contains those that + belongs to codec and entrypoint, thus it queries directly the VA + driver. + Part-of: + +2022-08-11 12:50:27 +0200 Víctor Manuel Jáquez Leal + + * sys/va/gstvabaseenc.c: + vabaseenc: Scope error bail out. + Though this is not enforced by the GStreamer code style, it's clearer + to add a nested scope for error handling using label/goto. + Part-of: + +2022-09-20 15:00:15 +0200 Víctor Manuel Jáquez Leal + + * sys/va/gstvabaseenc.c: + * sys/va/gstvabaseenc.h: + * sys/va/gstvah264enc.c: + vabaseenc: Use class entrypoint. + Add a macro to access to class entrypoint and use it instead of move + it to a variable. + Part-of: + +2022-10-26 02:55:34 +0900 Seungha Yang + + * gst-libs/gst/d3d11/gstd3d11-private.h: + * gst-libs/gst/d3d11/gstd3d11format.h: + d3d11: Move format defines to private header + Those defines will be likely changed/deleted in the future, and we + don't need to expose them to public at the moment + Part-of: + +2022-10-25 09:39:07 +0300 Sebastian Dröge + + * gst-libs/gst/transcoder/gsttranscoder.c: + * gst-libs/gst/va/gstvaallocator.c: + * gst-libs/gst/vulkan/gstvkerror.c: + Fix various warnings from gobject-introspection + Part-of: + +2022-10-22 11:13:10 +0100 Tim-Philipp Müller + + * tests/check/elements/fdkaac.c: + * tests/check/meson.build: + fdkaac: add minimal unit test + Part-of: + +2022-10-22 11:10:24 +0100 Tim-Philipp Müller + + * ext/fdkaac/gstfdkaacenc.c: + fdkaacenc: fix output caps in case of implicit signaling and HE-AAC + Need to put the actual profile in the output caps otherwise any + capsfilter after the encoder that was used to force the output + profile will fail, such as + fdkaacenc ! audio/mpeg,stream-format=adts,profile=he-aac-v1 ! .. + because we put profile=lc in there to match the profile signaled + in the ADTS header. This is expressed through the base-profile=lc + in the GStreamer caps though, the profile needs to carry the + 'real' profile. + Part-of: + +2022-10-21 17:10:57 +0100 Tim-Philipp Müller + + * ext/fdkaac/gstfdkaacenc.c: + fdkaacenc: don't set base-profile=lc for non-backwards compatible output + Part-of: + +2022-10-21 13:15:29 +0100 Tim-Philipp Müller + + * docs/plugins/gst_plugins_cache.json: + * ext/fdkaac/gstfdkaacenc.c: + fdkaacenc: rename profile=sbr|ps to profile=he-aac-v1|he-aac-v2 + Part-of: + +2022-03-01 14:12:27 +0100 Piotrek Brzeziński + + * ext/fdkaac/gstfdkaacenc.c: + fdkaacenc: add support for AAC-LD + Part-of: + +2022-02-23 17:17:25 +0100 Piotrek Brzeziński + + * docs/plugins/gst_plugins_cache.json: + * ext/fdkaac/gstfdkaacenc.c: + fdkaacenc: add support for HE-AACv1 and HE-AACv2 + Part-of: + +2022-10-22 04:28:03 +0900 Seungha Yang + + * docs/plugins/gst_plugins_cache.json: + gst-plugins-bad: Update Windows plugins cache + Add/update d3d11, qsv, nvcodec, wic, directshow, and amfcodec plugins cache + Part-of: + +2022-10-22 03:02:56 +0900 Seungha Yang + + * sys/nvcodec/gstcudamemorycopy.c: + * sys/nvcodec/gstnvencoder.cpp: + * sys/nvcodec/gstnvh264encoder.cpp: + * sys/nvcodec/gstnvh265encoder.cpp: + nvcodec: Update for documentation + * Use GST_PARAM_DOC_SHOW_DEFAULT flags for GPU ID related + properties + * Fix some typos + * Add since markers + Part-of: + +2022-10-22 02:59:13 +0900 Seungha Yang + + * sys/mediafoundation/gstmfaudiodecoder.cpp: + * sys/mediafoundation/gstmfaudioencoder.cpp: + * sys/mediafoundation/gstmfh264enc.cpp: + * sys/mediafoundation/gstmfh265enc.cpp: + * sys/mediafoundation/gstmfvideoencoder.cpp: + * sys/mediafoundation/gstmfvp9enc.cpp: + mediafoundation: Update for documentation + * Use GST_PARAM_DOC_SHOW_DEFAULT flags for GPU ID related + properties + * Add doc caps + * Add since markers + Part-of: + +2022-10-22 04:09:39 +0900 Seungha Yang + + * sys/mediafoundation/gstmfvideoencoder.cpp: + mfvideoencoder: Document only hardware encoders + Part-of: + +2022-10-22 22:37:33 +0900 Seungha Yang + + * sys/mediafoundation/gstmfvideoencoder.cpp: + mfvideoencoder: Fix device enumeration + Although a GPU does not support the codec, the other GPU might + be able to support the codec + Part-of: + +2022-10-22 02:56:23 +0900 Seungha Yang + + * sys/amfcodec/gstamfh264enc.cpp: + * sys/amfcodec/gstamfh265enc.cpp: + amfcodec: Update for documentation + * Use GST_PARAM_DOC_SHOW_DEFAULT flags for GPU ID related + properties + * Add doc caps + Part-of: + +2022-10-22 02:53:16 +0900 Seungha Yang + + * sys/qsv/gstqsvdecoder.cpp: + * sys/qsv/gstqsvencoder.cpp: + qsv: Use GST_PARAM_DOC_SHOW_DEFAULT flag + Part-of: + +2022-10-22 02:49:00 +0900 Seungha Yang + + * sys/d3d11/gstd3d11compositor.cpp: + * sys/d3d11/gstd3d11decoder.cpp: + * sys/d3d11/gstd3d11deinterlace.cpp: + * sys/d3d11/gstd3d11screencapturesrc.cpp: + * sys/d3d11/gstd3d11testsrc.cpp: + * sys/d3d11/gstd3d11videosink.cpp: + d3d11: Update for documentation + * Use GST_PARAM_DOC_SHOW_DEFAULT flags for GPU ID related + properties + * Add doc caps + * Increase deinterlace max resolution + Part-of: + +2022-10-22 02:48:23 +0900 Seungha Yang + + * sys/d3d11/gstd3d11screencapturesrc.cpp: + * sys/d3d11/gstd3d11winrtcapture.cpp: + d3d11: Run indent + Part-of: + +2022-10-22 22:33:01 +0900 Seungha Yang + + * sys/wic/plugin.cpp: + wic: Add since marker + Part-of: + +2022-10-22 03:12:19 +0900 Seungha Yang + + * sys/directshow/plugin.cpp: + directshow: Add since marker + Part-of: + +2022-10-21 23:20:47 +0900 Seungha Yang + + * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_config.cpp: + * sys/qsv/libmfx/meson.build: + * sys/qsv/meson.build: + qsv: Enable MinGW toolchain support + Use PCRE regex method to work around (likely) GCC std::regex bug, + and enable building for non-MSVC + Part-of: + +2022-10-21 21:50:01 +0530 Nirbheek Chauhan + + * gst-libs/gst/vulkan/cocoa/gstvkcocoa_utils.h: + * gst-libs/gst/vulkan/cocoa/gstvkwindow_cocoa.m: + * gst-libs/gst/vulkan/ios/gstvkios_utils.h: + * gst-libs/gst/vulkan/ios/gstvkwindow_ios.m: + gl/vulkan: Fix static linking on macOS + duplicate symbol '__invoke_on_main' in: + /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstvulkan-1.0.a(cocoa_gstvkwindow_cocoa.m.o) + /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstgl-1.0.a(cocoa_gstglwindow_cocoa.m.o) + ld: 1 duplicate symbol for architecture x86_64 + clang: error: linker command failed with exit code 1 (use -v to see invocation) + Also make the same change in iOS for consistency. + Continuation of https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1132 + Part-of: + +2022-10-18 17:05:41 +1100 Matthew Waters + + * ext/webrtc/gstwebrtcbin.c: + webrtcbin: configure rtpulpfecdec passthrough property + This allows downstream (payloaders mostly) to be able to correctly + detect actual packet loss from rtp sequence numbers. + See + https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/581 + for background. + Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1407 + Part-of: + +2022-10-07 04:20:29 +0900 Seungha Yang + + * sys/d3d11/gstd3d11screencapture.cpp: + * sys/d3d11/gstd3d11screencapture.h: + * sys/d3d11/gstd3d11screencapturesrc.cpp: + * sys/d3d11/gstd3d11winrtcapture.cpp: + * sys/d3d11/gstd3d11winrtcapture.h: + * sys/d3d11/meson.build: + d3d11screencapture: Add WinRT API based capture mode + Add Windows Graphics Capture (WGC) API based screen capture mode. + The conditions where this mode is used: + * Explicitly requested by user (capture-api property) + * To capture specific window + * When DXGI desktop duplication API does not work on hybrid graphics systems + (e.g., multi-gpu laptop) + Full features of this implementation require Windows 11. And Windows 11 + SDK is required to build this feature. + Part-of: + +2022-10-06 23:54:14 +0900 Seungha Yang + + * sys/d3d11/gstd3d11dxgicapture.cpp: + * sys/d3d11/gstd3d11dxgicapture.h: + * sys/d3d11/gstd3d11screencapture.cpp: + * sys/d3d11/gstd3d11screencapture.h: + * sys/d3d11/gstd3d11screencapturesrc.cpp: + * sys/d3d11/meson.build: + d3d11screencapture: Subclassing capture implementation + Preparation to use WinRT capture API + Part-of: + +2022-10-21 19:08:49 +0900 Seungha Yang + + * docs/plugins/gst_plugins_cache.json: + * sys/qsv/gstqsvav1enc.cpp: + * sys/qsv/gstqsvdecoder.cpp: + * sys/qsv/gstqsvencoder.cpp: + * sys/qsv/gstqsvh264dec.cpp: + * sys/qsv/gstqsvh264enc.cpp: + * sys/qsv/gstqsvh265dec.cpp: + * sys/qsv/gstqsvh265enc.cpp: + * sys/qsv/gstqsvjpegenc.cpp: + * sys/qsv/gstqsvvp9enc.cpp: + * sys/qsv/plugin.cpp: + qsv: Add plugin doc + Part-of: + +2022-07-09 05:38:05 +0900 Seungha Yang + + * sys/qsv/libmfx/api/vpl/mfx.h: + * sys/qsv/libmfx/api/vpl/mfxcommon.h: + * sys/qsv/libmfx/api/vpl/mfxdefs.h: + * sys/qsv/libmfx/api/vpl/mfxencodestats.h: + * sys/qsv/libmfx/api/vpl/mfxjpeg.h: + * sys/qsv/libmfx/api/vpl/mfxstructures.h: + * sys/qsv/libmfx/api/vpl/mfxvideo++.h: + * sys/qsv/libmfx/api/vpl/mfxvideo.h: + * sys/qsv/libmfx/dispatcher/linux/device_ids.h: + * sys/qsv/libmfx/dispatcher/linux/mfxloader.cpp: + * sys/qsv/libmfx/dispatcher/linux/mfxloader.h: + * sys/qsv/libmfx/dispatcher/linux/mfxvideo_functions.h: + * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl.cpp: + * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl.h: + * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_config.cpp: + * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_loader.cpp: + * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_lowlatency.cpp: + * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_msdk.cpp: + * sys/qsv/libmfx/dispatcher/windows/main.cpp: + * sys/qsv/libmfx/dispatcher/windows/mfx_critical_section.cpp: + * sys/qsv/libmfx/dispatcher/windows/mfx_critical_section.h: + * sys/qsv/libmfx/dispatcher/windows/mfx_dispatcher.cpp: + * sys/qsv/libmfx/dispatcher/windows/mfx_dispatcher.h: + * sys/qsv/libmfx/dispatcher/windows/mfx_dispatcher_defs.h: + * sys/qsv/libmfx/dispatcher/windows/mfx_dispatcher_log.cpp: + * sys/qsv/libmfx/dispatcher/windows/mfx_dispatcher_log.h: + * sys/qsv/libmfx/dispatcher/windows/mfx_driver_store_loader.cpp: + * sys/qsv/libmfx/dispatcher/windows/mfx_driver_store_loader.h: + * sys/qsv/libmfx/dispatcher/windows/mfx_dxva2_device.cpp: + * sys/qsv/libmfx/dispatcher/windows/mfx_dxva2_device.h: + * sys/qsv/libmfx/dispatcher/windows/mfx_exposed_functions_list.h: + * sys/qsv/libmfx/dispatcher/windows/mfx_function_table.cpp: + * sys/qsv/libmfx/dispatcher/windows/mfx_library_iterator.cpp: + * sys/qsv/libmfx/dispatcher/windows/mfx_library_iterator.h: + * sys/qsv/libmfx/dispatcher/windows/mfx_load_dll.cpp: + * sys/qsv/libmfx/dispatcher/windows/mfx_load_dll.h: + * sys/qsv/libmfx/dispatcher/windows/mfx_vector.h: + * sys/qsv/libmfx/dispatcher/windows/mfx_win_reg_key.cpp: + * sys/qsv/libmfx/dispatcher/windows/mfx_win_reg_key.h: + * sys/qsv/libmfx/dispatcher/windows/mfxvideo++.h: + * sys/qsv/libmfx/dispatcher/windows/version.rc.in: + * sys/qsv/libmfx/meson.build: + qsv: Update SDK version to v2022.2.4 + See release note + https://github.com/oneapi-src/oneVPL/releases/tag/v2022.2.0 + Part-of: + +2022-10-14 16:05:28 +0800 He Junyan + + * gst/videoparsers/gstav1parse.c: + av1parse: Correct the pts for frames and OBUs inside a TU. + When the output alignment is smaller than the input alignment, for + example, When the output alignment is "FRAME" and the parse is likely + connecting to a decoder, the current PTS setting for AV1 frames inside + a TU is not very correct. + For example, a TU may begin with non-displayed frames and end with a + displayed frame. The current way will assign the PTS to the first + non-displayed frame, which is a decode-only frame and the PTS will be + discarded in the video decoder. While the last displayed frame has + invalid PTS, and so the video decoder needs to guess its PTS based on + the frame rate and previous frame's PTS. This is not a decent and + robust way. And more important, when the previous frames provide DTS, + the video decoder will also guess the PTS based on the previous frames' + DTS and trigger the warning like: + gstvideodecoder.c:3147:gst_video_decoder_prepare_finish_frame: \ + decreasing timestame + It sets the reordered_output and makes the decoder in free run mode. + We should correct the PTS for a TU, let the non-displayed frames have + no PTS while set the correct PTS to the displayed one. Also, when the + AV1 stream has multi spatial layers, there are more than one displayed + frames inside one TU with the same PTS. + Note: If the input alignment is not TU aligned, we can not know the + exact PTS of this TU, and so we just clear the PTS of the decode only + frame and leave others unchanged. + We also correct all the PTS if the output is OBU aligned. All their + PTS and DTS are set to the input buffer's PTS. + Part-of: + +2022-10-14 17:25:45 +0800 He Junyan + + * gst/videoparsers/gstav1parse.c: + av1parse: Only check the TU bound when the alignment is TU. + Part-of: + +2022-10-14 15:46:16 +0800 He Junyan + + * gst/videoparsers/gstav1parse.c: + av1parse: push all data once when input alignment not smaller than output. + When the incoming data has big alignment than the output, we do not need to + call finish_frame() and exit the current handle_frame() for each splitted + frame. We can push them all at one shot with in one handle_frame(), whcih + may improve the performance and can help us to find the edge of TU. + Part-of: + +2022-10-14 15:27:52 +0800 He Junyan + + * gst/videoparsers/gstav1parse.c: + av1parse: Set the output buffer flags correctly. + The current code forgets to clear some flags and has some typo. + Part-of: + +2022-10-21 10:50:36 +1100 Matthew Waters + + * ext/webrtc/gstwebrtcbin.c: + webrtcbin: also add rtcp-fb ccm fir for video mlines by default + In addition to the 'nack pli' already added. Both are supported by + rtpbin/rtpsession by default already. + Part-of: + +2022-10-19 16:03:55 +0900 Sangchul Lee + + * docs/plugins/gst_plugins_cache.json: + * ext/webrtc/gstwebrtcbin.c: + webrtcbin: Improve documentation of 'turn-server' property + Description about how to set time-limited credentials is added. + Part-of: + +2022-09-23 18:25:41 +0200 Mathieu Duponchelle + + * docs/plugins/gst_plugins_cache.json: + * gst/debugutils/gstfakeaudiosink.c: + * gst/debugutils/gstfakesinkutils.c: + * gst/debugutils/gstfakesinkutils.h: + * gst/debugutils/gstfakevideosink.c: + fake{video|audio}sink: don't proxy properties at instance init. + Instead proxy properties from the GstBaseSink class at class_init time, + and duplicate the rest of the fakesink properties manually. + Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1442 + Part-of: + +2022-10-18 11:16:20 +0200 Alba Mendez + + * gst-libs/gst/webrtc/nice/nice.c: + webrtcbin: support adding TURN servers after pipeline start + Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1680 + When a TURN server is added for the first time, propagate + the change to all nice streams that already exist. This + lets us add servers after the pipeline has been started + (and streams have been added). + Part-of: + +2022-10-17 06:48:12 -0500 Fabian Orccon + + * ext/srtp/meson.build: + srtp: Fix test skipping when plugin option is disabled + Part-of: + +2022-10-14 00:17:52 +0900 Seungha Yang + + * sys/d3d11/gstd3d11videosink.cpp: + * tests/examples/d3d11/d3d11videosink-present.cpp: + d3d11videosink: Add "emit-present" property + Controls the decision for "present" signal use, and + allows delayed "present" signal handler install via the property + Part-of: + +2022-10-17 19:36:13 +0300 Sebastian Dröge + + * gst-libs/gst/play/gstplay-signal-adapter.c: + play: Add/fix various annotations + Part-of: + +2022-10-17 11:29:02 +0300 Sebastian Dröge + + * gst-libs/gst/vulkan/android/gstvkdisplay_android.c: + * gst-libs/gst/vulkan/cocoa/gstvkdisplay_cocoa.m: + * gst-libs/gst/vulkan/gstvkdevice.c: + * gst-libs/gst/vulkan/gstvkdisplay.c: + * gst-libs/gst/vulkan/gstvkfence.c: + * gst-libs/gst/vulkan/gstvkformat.c: + * gst-libs/gst/vulkan/gstvkinstance.c: + * gst-libs/gst/vulkan/gstvkqueue.c: + * gst-libs/gst/vulkan/gstvkutils.c: + * gst-libs/gst/vulkan/ios/gstvkdisplay_ios.m: + * gst-libs/gst/vulkan/wayland/gstvkdisplay_wayland.c: + * gst-libs/gst/vulkan/xcb/gstvkdisplay_xcb.c: + vulkan: Add/fix various annotations + And fix a memory leak in gst_vulkan_display_wayland_new() in error + cases. + Part-of: + +2022-10-17 10:54:06 +0300 Sebastian Dröge + + * gst-libs/gst/d3d11/gstd3d11converter.cpp: + * gst-libs/gst/d3d11/gstd3d11memory.cpp: + d3d11: Add/fix various annotations + Part-of: + +2022-10-17 10:51:42 +0300 Sebastian Dröge + + * gst-libs/gst/cuda/gstcudacontext.c: + * gst-libs/gst/cuda/gstcudautils.c: + cuda: Add/fix various annotations + And fix a memory leak when creating a CUDA context fails. + Part-of: + +2022-10-17 10:47:02 +0300 Sebastian Dröge + + * gst-libs/gst/codecs/gsth264decoder.c: + * gst-libs/gst/codecs/gsth264picture.c: + * gst-libs/gst/codecs/gsth265decoder.c: + * gst-libs/gst/codecs/gsth265picture.c: + * gst-libs/gst/codecs/gstvp9decoder.h: + codecs: Add/fix various annotations + Part-of: + +2022-10-17 10:44:24 +0300 Sebastian Dröge + + * gst-libs/gst/audio/gstnonstreamaudiodecoder.c: + badaudio: Add/fix annotations + Part-of: + +2022-10-14 21:51:17 +0300 Sebastian Dröge + + * gst-libs/gst/webrtc/ice.c: + * gst-libs/gst/webrtc/ice.h: + * gst-libs/gst/webrtc/icetransport.c: + * gst-libs/gst/webrtc/icetransport.h: + * gst-libs/gst/webrtc/nice/nice.c: + webrtc: Add/fix various annotations + And mark string parameters as const. + Part-of: + +2022-10-17 00:40:46 +0900 Seungha Yang + + * docs/plugins/gst_plugins_cache.json: + * sys/wasapi2/gstwasapi2client.cpp: + * sys/wasapi2/gstwasapi2client.h: + * sys/wasapi2/gstwasapi2device.c: + * sys/wasapi2/gstwasapi2ringbuffer.cpp: + * sys/wasapi2/gstwasapi2ringbuffer.h: + * sys/wasapi2/gstwasapi2sink.c: + * sys/wasapi2/gstwasapi2src.c: + * sys/wasapi2/gstwasapi2util.c: + * sys/wasapi2/gstwasapi2util.h: + wasapi2: Add support for process loopback capture + Adding loopback capture mode for specified PID. + Note that this feature requires Windows 10 build 20348 + (Windows 11/Windows Server 2022 or later), + and any process loopback related properties will not be exposed + if OS does not support it. + Example launch lines: + * wasapi2src loopback-mode=include-process-tree loopback-target-pid= + Captures audio generated by an application (specified by PID) + and its child process + * wasapi2src loopback-mode=exclude-process-tree loopback-target-pid= + Captures desktop audio excluding PID and its child process + Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1278 + Part-of: + +2022-10-14 16:21:07 -0400 Arun Raghavan + + * gst/rtmp2/gstrtmp2sink.c: + rtmp2sink: Correctly return GST_FLOW_ERROR on error + If there is an error while connecting, the streaming task will be stopped, and + is_running() will be false, causing a GST_FLOW_FLUSHING to be returned. Instead, + we perform the error check (!self->connection) first, to return an error if + that's what occured. + Part-of: + +2022-10-14 18:51:43 +0200 Mathieu Duponchelle + + * gst-libs/gst/webrtc/nice/nice.c: + webrtc/nice: fix small leak of split strings + g_strfreev previously stopped at our manual NULL-termination. Fix by + restoring the pointer after joining. + Part-of: + +2022-10-12 16:11:47 +0800 He Junyan + + * gst/videoparsers/gstvp9parse.c: + vp9parse: The show_existing_frame buffer should not be decode only. + Part-of: + +2022-10-11 16:17:26 +0800 He Junyan + + * gst/videoparsers/gstvp9parse.c: + vp9parse: Correct the pts for frames inside a super frame. + When the alignment is "FRAME" and the parse is likely connecting to + a decoder, the current PTS setting for VP9 frames inside a super + frame is not very correct. + For example, the super frame may begin with non-displayed frames and + end with a displayed frame. The current way will assign the PTS to + the first non-displayed frame, which is a decode-only frame and the + PTS will be discarded in the video decoder. While the last displayed + frame has invalid PTS, and so the video decoder needs to guess its + PTS based on the frame rate and previous frame's PTS. This is not a + decent and robust way. And more important, when the previous frames + provide DTS, the video decoder will also guess the PTS based on the + previous frames' DTS and trigger the warning like: + gstvideodecoder.c:3147:gst_video_decoder_prepare_finish_frame: \ + decreasing timestame + It sets the reordered_output and makes the decoder in free run mode. + We should correct the PTS for a super frame, let the non-displayed + frames have no PTS while set the correct PTS to the displayed one. + Part-of: + +2022-10-08 00:29:03 +0200 Piotr Brzeziński + + * sys/applemedia/avfvideosrc.m: + avfvideosrc: Allow specifying crop coordinates during screen capture + Part-of: + +2022-10-12 11:12:50 +0200 Edward Hervey + + * gst/mxf/gstmxfelement.c: + * gst/mxf/meson.build: + * gst/mxf/mxfcustom.c: + * gst/mxf/mxfcustom.h: + mxfdemux: Add support for Canon XF-HEVC + Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1495 + Part-of: + +2022-10-12 11:12:14 +0200 Edward Hervey + + * gst/mxf/mxfdemux.c: + mxfdemux: Don't leak index table segments on failures + The segment was freed ... but not the contents :) + Part-of: + +2022-10-11 13:09:20 +0300 Sebastian Dröge + + * gst-libs/gst/webrtc/webrtc_fwd.h: + webrtc: Move GST_WEBRTC_ERROR_TYPE_ERROR at the end of the enum to keep ABI compatibility + Part-of: + +2022-10-06 20:37:45 +0900 Sangchul Lee + + * tests/check/elements/webrtcbin.c: + tests/webrtc: Add test for 'add-turn-server' action signal + It just checks return value of the action signal. + Part-of: + +2020-12-10 16:25:26 +0100 Johan Sternerup + + * ext/sctp/gstsctpenc.c: + sctpenc: Prohibit sending of interleaved message parts + Apparently we cannot start sending messages from another datachannel + before the previous message was completely sent. usrsctplib will + complain about being locked on another stream id and set + errno=EINVAL. + Part-of: + +2022-10-07 08:30:05 +0200 Wojciech Kapsa + + * sys/decklink/gstdecklinkvideosrc.cpp: + * sys/decklink/gstdecklinkvideosrc.h: + decklink: reset calculation of gst_decklink_video_src_update_time_mapping on no_signal. When the HDMI cable was disconnected for a long time, the calculation took too much time. SDI cable works fine. + Part-of: + +2022-10-07 07:56:21 -0400 Xavier Claessens + + * ext/dash/meson.build: + Meson: Fix libxml2 fallback + The variable xml2lib_dep does not exist. The correct name is already in + the wrap file. + Part-of: + +2022-09-22 22:39:31 +0900 Sangchul Lee + + * ext/webrtc/gstwebrtcbin.c: + webrtcbin: Fix pointer dereference before null check + Part-of: + +2022-09-26 13:57:15 +0200 Wojciech Kapsa + + * docs/plugins/gst_plugins_cache.json: + * sys/decklink/gstdecklink.cpp: + * sys/decklink/gstdecklink.h: + * sys/decklink/gstdecklinkaudiosink.cpp: + * sys/decklink/gstdecklinkaudiosink.h: + * sys/decklink/gstdecklinkaudiosrc.cpp: + * sys/decklink/gstdecklinkaudiosrc.h: + * sys/decklink/gstdecklinkdeviceprovider.cpp: + * sys/decklink/gstdecklinkvideosink.cpp: + * sys/decklink/gstdecklinkvideosink.h: + * sys/decklink/gstdecklinkvideosrc.cpp: + * sys/decklink/gstdecklinkvideosrc.h: + decklink: Add new persistent-id property and sort devices by persistent ID + The order of the devices iterator from the SDK is undefined and can + randomly change. + Keep the device-number property for backwards compatibility and + simplicity but prefer the persistent-id property and also use it for the + device provider implementation. + Part-of: + +2022-10-04 19:19:57 -0300 Thibault Saunier + + * gst/transcode/gsttranscodebin.c: + * gst/transcode/gsttranscodeelement.c: + transcodebin: Implement support for upstream stream selection + Part-of: + +2022-10-05 05:38:54 +0530 Nirbheek Chauhan + + * gst-libs/gst/d3d11/gstd3d11device.cpp: + d3d11: Fix debug build on UWP + GstDXGIGetDebugInterface() is unused when targeting UWP. We directly + call DXGIGetDebugInterface1() in that case. + Fixes build failure: + ../gst-libs/gst/d3d11/gstd3d11device.cpp(271): error C2440: '=': cannot convert from 'HRESULT (__cdecl *)(UINT,const IID &,void **)' to 'DXGIGetDebugInterface_t' + ../gst-libs/gst/d3d11/gstd3d11device.cpp(271): note: This conversion requires a reinterpret_cast, a C-style cast or function-style cast + Part-of: + +2022-10-05 15:59:03 +0900 Sangchul Lee + + * gst-libs/gst/webrtc/nice/nice.c: + webrtc/nice: Make sure to return NULL when validating turn server fails + It affects 'add-turn-server' signal action and 'turn-server' property + of webrtcbin. + Part-of: + +2022-03-21 10:29:21 +0100 Johan Sternerup + + * ext/webrtc/webrtcdatachannel.c: + * gst-libs/gst/webrtc/datachannel.c: + * gst-libs/gst/webrtc/datachannel.h: + * gst-libs/gst/webrtc/webrtc-priv.h: + * gst-libs/gst/webrtc/webrtc_fwd.h: + * tests/check/elements/webrtcbin.c: + webrtc: return error when sending on non-open datachannel + According to W3C + specification (https://w3c.github.io/webrtc-pc/#datachannel-send) we + should return InvalidStateError exception when trying to send when the + channel is not open. In the world of C/glib/gstreamer we don't have + exceptions but have to rely on gboolean/GError instead. Introducing + these calls for a change in function signature of the action signals + used to send data on the datachannel. Changing the signature of the + existing "send-string" and "send-data" signals would mean an immediate + breaking change so instead we deprecate them. Furthermore, there is no + way to express GError** as an argument to an action signal in a way + that fits language bindings (pointer-to-pointer simply does not work) + and we have to use regular functions instead. + Therefore we introduce gst_webrtc_data_channel_send_data_full() and + gst_webrtc_data_channel_send_string_full() while deprecating the old + functions and corresponding signals. + Part-of: + +2022-09-23 17:18:35 +0200 Stéphane Cerveau + + * gst-libs/gst/codecparsers/gsth265bitwriter.c: + * gst-libs/gst/codecparsers/gsth265parser.c: + * gst-libs/gst/codecparsers/gsth265parser.h: + * sys/nvcodec/gstnvh265dec.c: + * sys/va/gstvah265dec.c: + * tests/check/libs/h265bitwriter.c: + h265parse: fix typo in member of GstH265SPS + Rename sps_extnsion_params to sps_extension_params + Fix comment about vui_parameters_present_flag + Part-of: + +2022-10-04 03:57:31 +0100 Tim-Philipp Müller + + * meson.build: + Back to development + Part-of: + === release 1.21.1 === 2022-10-04 01:14:01 +0100 Tim-Philipp Müller + * ChangeLog: * NEWS: * RELEASE: * gst-plugins-bad.doap: diff --git a/subprojects/gst-plugins-base/ChangeLog b/subprojects/gst-plugins-base/ChangeLog index 9b1d097..912667c 100644 --- a/subprojects/gst-plugins-base/ChangeLog +++ b/subprojects/gst-plugins-base/ChangeLog @@ -1,7 +1,439 @@ +2022-11-07 20:31:25 +0200 Sebastian Dröge + + * gst-libs/gst/pbutils/gstdiscoverer-types.c: + discoverer: Annotate `DiscovererInfo::get_audio_streams()` and others with the concrete stream info type + Part-of: + +2022-11-05 07:34:27 +0100 Edward Hervey + + * gst/subparse/gstsubparse.c: + subparse: Fix non-closed tag handling. + Unclear what the goal was, but we could end up reading way past the next_tag. + Instead just move everything from after the end tag ('>') to the next_tag. + Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=53040 + Part-of: + +2022-10-31 16:06:45 +0100 Edward Hervey + + * gst/playback/gstparsebin.c: + parsebin: Fix leak + Release the reference on the collection which was given to us when extracting it + from the event/message. + Part-of: + +2022-10-13 22:15:58 +0530 Sanchayan Maity + + * gst/playback/gstplaybin3.c: + playbin3: Fix missing pad unref + GST_TRACERS="leaks" GST_DEBUG="GST_TRACER:7,leaks:6" gst-play-1.0 --use-playbin3 test.mkv + When running a pipeline like above, leaks are observed. + 0:00:56.882419132 240637 0x5562c528ccc0 TRACE GST_TRACER :0:: object-alive, type-name=(string)GstConcatPad, address=(gpointer)0x7efd7c0d20a0, description=(string)<'':sink_0>, ref-count=(uint)1, trace=(string); + 0:00:56.882429131 240637 0x5562c528ccc0 TRACE GST_TRACER :0:: object-alive, type-name=(string)GstConcatPad, address=(gpointer)0x7efd7c0d2be0, description=(string)<'':sink_0>, ref-count=(uint)1, trace=(string); + 0:00:56.882437056 240637 0x5562c528ccc0 TRACE GST_TRACER :0:: object-alive, type-name=(string)GstConcatPad, address=(gpointer)0x7efd7c0d3720, description=(string)<'':sink_0>, ref-count=(uint)1, trace=(string); + gst_element_release_request_pad does not unref the pad. It needs to + be followed by gst_object_unref. Doing that fixes the above leaks. + Use g_ptr_array_new_with_free_func with gst_object_unref as the free + function to unref the pad after release. + Part-of: + +2022-10-26 13:42:59 +1100 Matthew Waters + + * gst-libs/gst/pbutils/codec-utils.c: + pbutils: add correct mime mapping for vp9 + Based on https://www.webmproject.org/vp9/mp4/#codecs-parameter-string + Part-of: + +2022-10-27 15:13:36 +0300 Sebastian Dröge + + * gst-libs/gst/app/gstappsrc.c: + * gst-libs/gst/audio/gstaudiodecoder.c: + * gst-libs/gst/audio/gstaudioencoder.c: + * gst-libs/gst/video/gstvideoencoder.c: + core/base: Only post latency messages if the latency values have actually changed + Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1525 + Part-of: + +2022-10-27 07:21:19 +0200 Edward Hervey + + * gst-libs/gst/video/gstvideodecoder.c: + videodecoder: Only post latency message if it changed + Posting latency messages causes a full and potentially expensive latency + recalculation of the pipeline. While subclasses should check whether the latency + really changed or not before calling this function, we ensure that we do not + post such messages if it didn't change. + Part-of: + +2022-10-26 10:25:43 +0200 Daniels Umanovskis + + * sys/ximage/ximagesink.c: + * sys/xvimage/xvcontext.c: + ximagesink, xvimagesink: set the _NET_WM_PID atom on the window + This makes it easier for X11 window management to work with windows created by these sinks + Part-of: + +2022-10-25 09:39:07 +0300 Sebastian Dröge + + * gst-libs/gst/gl/gstgldisplay.c: + * gst-libs/gst/gl/gstglshader.c: + * gst-libs/gst/pbutils/gstdiscoverer.c: + * gst-libs/gst/rtsp/gstrtspconnection.c: + * gst-libs/gst/rtsp/gstrtspmessage.c: + * gst-libs/gst/sdp/gstmikey.c: + Fix various warnings from gobject-introspection + Part-of: + +2022-10-21 21:50:01 +0530 Nirbheek Chauhan + + * gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h: + * gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m: + * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m: + gl/vulkan: Fix static linking on macOS + duplicate symbol '__invoke_on_main' in: + /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstvulkan-1.0.a(cocoa_gstvkwindow_cocoa.m.o) + /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstgl-1.0.a(cocoa_gstglwindow_cocoa.m.o) + ld: 1 duplicate symbol for architecture x86_64 + clang: error: linker command failed with exit code 1 (use -v to see invocation) + Also make the same change in iOS for consistency. + Continuation of https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1132 + Part-of: + +2022-10-04 05:39:51 +0100 Matthew Waters + + * gst-libs/gst/gl/meson.build: + build/gl: fix automatic dispmanx detection for rpi4 + rpi4 doesn't contain dispmanx but still contains bcm_host.pc which + confuses the configure detection. Add an explicit check for + EGL_DISPMANX_WINDOW_T to ensure that we only build with dispmanx when + the types are available. + Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/893 + Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/952 + Part-of: + +2022-10-19 22:08:17 +1100 Matthew Waters + + * gst-libs/gst/gl/gstglcontextconfig.c: + docs/glcontextconfig: rename title to not be GstGLContext + Can be confusing havint two pages that both have GstGLContext as the + title. + Part-of: + +2022-07-06 21:45:24 +0300 Jordan Petridis + + * ext/cdparanoia/meson.build: + cdparanoia: Ignore compiler warning coming from the cdparanoia header + When trying to build the plugin, GCC starts complaining about issues + with one of the cdparanoia headers and it block us from being able + to build the plugin with Werror. + The current warning in the header look like this: + ``` + [1/2] Compiling C object subprojects/gst-plugins-base/ext/cdparanoia/libgstcdparanoia.so.p/gstcdparanoiasrc.c.o + In file included from ../subprojects/gst-plugins-base/ext/cdparanoia/gstcdparanoiasrc.h:37, + from ../subprojects/gst-plugins-base/ext/cdparanoia/gstcdparanoiasrc.c:31: + /usr/include/cdda/cdda_interface.h:164:3: warning: initialization discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] + 164 | "Success", + | ^~~~~~~~~ + ... + /usr/include/cdda/cdda_interface.h:163:14: warning: ‘strerror_tr’ defined but not used [-Wunused-variable] + 163 | static char *strerror_tr[]={ + | ^~~~~~~~~~~ + [2/2] Linking target subprojects/gst-plugins-base/ext/cdparanoia/libgstcdparanoia.so + ``` + Last release of cdparanoia was in 2008, so our best bet for the + time is to ignore the warnings. + Part-of: + +2022-10-17 14:43:42 +0300 Sebastian Dröge + + * gst-libs/gst/sdp/gstmikey.c: + * gst-libs/gst/sdp/gstsdpmessage.c: + sdp: Add/fix various annotations + Part-of: + +2022-10-17 14:51:03 +0300 Sebastian Dröge + + * gst-libs/gst/tag/gstid3tag.c: + * gst-libs/gst/tag/gstvorbistag.c: + * gst-libs/gst/tag/gstxmptag.c: + * gst-libs/gst/tag/id3v2.c: + * gst-libs/gst/tag/lang.c: + * gst-libs/gst/tag/licenses.c: + * gst-libs/gst/tag/tags.c: + tag: Add/fix various annotations + Part-of: + +2022-10-17 11:31:05 +0300 Sebastian Dröge + + * gst-libs/gst/allocators/gstdmabuf.c: + * gst-libs/gst/allocators/gstfdmemory.c: + allocators: Add/fix various annotations + Part-of: + +2022-10-15 12:16:01 +0300 Sebastian Dröge + + * gst-libs/gst/gl/cocoa/gstgldisplay_cocoa.m: + * gst-libs/gst/gl/egl/gsteglimage.c: + * gst-libs/gst/gl/egl/gstgldisplay_egl.c: + * gst-libs/gst/gl/egl/gstgldisplay_egl_device.c: + * gst-libs/gst/gl/gstglbasememory.c: + * gst-libs/gst/gl/gstglbasememory.h: + * gst-libs/gst/gl/gstglbufferpool.c: + * gst-libs/gst/gl/gstglcolorconvert.c: + * gst-libs/gst/gl/gstglcontext.c: + * gst-libs/gst/gl/gstgldisplay.c: + * gst-libs/gst/gl/gstglformat.c: + * gst-libs/gst/gl/gstglshader.c: + * gst-libs/gst/gl/gstglsl.c: + * gst-libs/gst/gl/gstglviewconvert.c: + * gst-libs/gst/gl/viv-fb/gstgldisplay_viv_fb.c: + * gst-libs/gst/gl/wayland/gstgldisplay_wayland.c: + * gst-libs/gst/gl/x11/gstgldisplay_x11.c: + gl: Add/fix various annotations + And fix a memory leaks in gst_gl_display_egl_new() error cases. + Part-of: + +2022-10-15 00:19:53 +0300 Sebastian Dröge + + * gst-libs/gst/pbutils/codec-utils.c: + * gst-libs/gst/pbutils/descriptions.c: + * gst-libs/gst/pbutils/encoding-profile.c: + * gst-libs/gst/pbutils/encoding-target.c: + * gst-libs/gst/pbutils/gstdiscoverer-types.c: + * gst-libs/gst/pbutils/gstdiscoverer.c: + * gst-libs/gst/pbutils/missing-plugins.c: + pbutils: Add/fix various annotations + Part-of: + +2022-10-15 00:00:03 +0300 Sebastian Dröge + + * gst-libs/gst/rtp/gstrtcpbuffer.c: + * gst-libs/gst/rtp/gstrtpbasedepayload.c: + * gst-libs/gst/rtp/gstrtpbasepayload.c: + * gst-libs/gst/rtp/gstrtpbuffer.c: + * gst-libs/gst/rtp/gstrtphdrext.c: + * gst-libs/gst/rtp/gstrtpmeta.c: + * gst-libs/gst/rtp/gstrtppayloads.c: + rtp: Add/fix various annotations + Part-of: + +2022-10-14 23:52:40 +0300 Sebastian Dröge + + * gst-libs/gst/rtsp/gstrtspconnection.c: + * gst-libs/gst/rtsp/gstrtspdefs.c: + * gst-libs/gst/rtsp/gstrtspmessage.c: + * gst-libs/gst/rtsp/gstrtsptransport.c: + * gst-libs/gst/rtsp/gstrtspurl.c: + rtsp: Add/fix various annotations + Also initialize out parameters so that they don't have an undefined + value in case of errors. + Part-of: + +2022-10-14 22:08:07 +0300 Sebastian Dröge + + * gst-libs/gst/app/gstappsink.c: + * gst-libs/gst/app/gstappsrc.c: + app: Add/fix various annotations + Part-of: + +2022-10-14 22:04:00 +0300 Sebastian Dröge + + * gst-libs/gst/audio/audio-channel-mixer.c: + * gst-libs/gst/audio/audio-converter.c: + * gst-libs/gst/audio/audio-info.c: + * gst-libs/gst/audio/audio-resampler.c: + * gst-libs/gst/audio/audio.c: + * gst-libs/gst/audio/gstaudiobasesink.c: + * gst-libs/gst/audio/gstaudiobasesrc.c: + * gst-libs/gst/audio/gstaudiodecoder.c: + * gst-libs/gst/audio/gstaudioencoder.c: + audio: Add/fix various annotations + Part-of: + +2022-10-14 21:59:43 +0300 Sebastian Dröge + + * gst-libs/gst/video/gstvideodecoder.c: + * gst-libs/gst/video/gstvideoencoder.c: + * gst-libs/gst/video/gstvideometa.c: + * gst-libs/gst/video/gstvideotimecode.c: + * gst-libs/gst/video/video-anc.c: + * gst-libs/gst/video/video-anc.h: + * gst-libs/gst/video/video-converter.c: + * gst-libs/gst/video/video-format.c: + * gst-libs/gst/video/video-info.c: + * gst-libs/gst/video/video-multiview.c: + * gst-libs/gst/video/video-overlay-composition.c: + * gst-libs/gst/video/video-sei.h: + video: Add/fix various annotations + Part-of: + +2022-10-17 13:01:53 +0200 Edward Hervey + + * gst/playback/gsturisourcebin.c: + urisourcebin: Fix usage of raw and non-raw source provider + The computation in analyze_source was wrong, and would state that the element + has "all raw source pads" if it had at least one. + Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1029 + Part-of: + +2022-10-17 18:38:43 +0300 Sebastian Dröge + + * gst-libs/gst/rtp/gstrtpbuffer.c: + * tests/check/libs/rtp.c: + rtpbuffer: Initialize extended timestamp to the first wraparound period + This allows correct handling of wrapping around backwards during the + first wraparound period and avoids the infamous "Cannot unwrap, any + wrapping took place yet" error message. + It allows makes sure that for actual timestamp jumps a valid value is + returned instead of 0, which then allows the caller to handle it + properly. Not having this can have the caller see the same timestamp (0) + for a very long time, which for example can cause rtpjitterbuffer to + output the same timestamp for a very long time. + Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1500 + Part-of: + +2022-10-14 16:12:45 +0200 Edward Hervey + + * tools/gst-play.c: + gst-play: Don't leak the stream collection + We are given a reference to the collection when parsing it from the + message. Just store it (instead of referencing it again). + Part-of: + +2022-10-13 11:21:42 -0400 Julian Bouzas + + * docs/plugins/gst_plugins_cache.json: + * gst-libs/gst/riff/riff-media.c: + riff: Mark jpeg as parsed + This is needed so that autoplugging works with avidemux and JPEG decoders that + need parsed sink caps (eg rockchip 'mppjpegdec' decoder). It also works fine + with 'jpegdec' decoder regardless. + Part-of: + +2022-10-07 11:46:29 -0300 Thibault Saunier + + * gst/videorate/gstvideorate.c: + videorate: Do not close segment when getting a same segment twice + Part-of: + +2022-09-14 16:39:48 -0300 Thibault Saunier + + * gst/videorate/gstvideorate.c: + * gst/videorate/gstvideorate.h: + * tests/validate/meson.build: + * tests/validate/videorate/fill_segment_after_caps_changed_before_eos.validatetest: + * tests/validate/videorate/fill_segment_after_caps_changed_before_eos/flow-expectations/log-videorate-sink-expected: + * tests/validate/videorate/fill_segment_after_caps_changed_before_eos/flow-expectations/log-videorate-src-expected: + videorate: Handle closing segment on EOS right after caps event + The scenario is what we try in the tests: + - we have a segment with .stop set + - some frame(s) flow + - we get a CAPS event + - we get an EOS (before getting buffers after the CAPS event) + in that case, without that patch, the segment is not properly closed + which is not correct. In this patch we keep track of previous caps until + a new buffer arrives, this way in that situation we set previous caps + again, and close the segment with the previous buffer. + Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1352 + in this specific case + Part-of: + +2022-08-22 16:33:23 -0400 Nicolas Dufresne + + * gst-libs/gst/gl/egl/gsteglimage.c: + opengl: Fix usage of eglCreate/DestroyImage + The implementation was inconsistent between create and destroy. EGLImage + creation and destruction is requires for EGL 1.5 and up, while + otherwise the KHR version is only available if EGL_KHR_image_base + feature is set. Not doing these check may lead to getting a function + pointer to a stub, which is notably the case when using apitrace. + Fixes #1389 + Part-of: + +2022-10-06 16:23:56 +0200 Aleksandr Slobodeniuk + + * gst/playback/gstdecodebin3.c: + decodebin3: allow to call "dispose" multiple times + https://docs.gtk.org/gobject/concepts.html#reference-counts-and-cycles + Part-of: + +2022-10-06 13:03:26 +0200 Aleksandr Slobodeniuk + + * gst/playback/gstdecodebin3.c: + decodebin3: fix mutex leaks + Part-of: + +2022-10-03 15:20:53 -0300 Thibault Saunier + + * gst/playback/gstdecodebin3-parse.c: + decodebin3: Do not try to plug a decoder on raw formats + Part-of: + +2022-10-06 00:00:59 +0900 Seungha Yang + + * gst-libs/gst/video/gstvideosink.c: + videosink: Don't return unknown end-time from get_times() + ... in case of reverse playback. Otherwise basesink will not + wait for clock + Part-of: + +2021-07-02 16:22:04 +0800 Haihao Xiang + + * gst-libs/gst/gl/egl/gsteglimage.c: + eglimage: fix Y412_LE DMABuf import support + This fixed the error below: + GST_GL_PLATFORM=egl gst-launch-1.0 videotestsrc ! msdkvpp ! + "video/x-raw(memory:DMABuf),format=Y412_LE" ! glimagesink + 0:00:00.063737691 576978 0x557c11266920 ERROR gleglimage + gsteglimage.c:577:_drm_rgba_fourcc_from_info: Unsupported format for + DMABuf. + Part-of: + +2021-07-02 16:01:19 +0800 Haihao Xiang + + * gst-libs/gst/gl/egl/gsteglimage.c: + eglimage: add Y410 DMABuf import support + This fixed the error below: + GST_GL_PLATFORM=egl gst-launch-1.0 videotestsrc ! msdkvpp ! \ + "video/x-raw(memory:DMABuf),format=Y410" ! glimagesink + 0:00:00.040553883 576732 0x55be9b35f920 ERROR gleglimage + gsteglimage.c:577:_drm_rgba_fourcc_from_info: Unsupported format for + DMABuf. + Part-of: + +2021-07-02 20:31:22 +0800 Haihao Xiang + + * gst-libs/gst/gl/egl/gsteglimage.c: + eglimage: add Y212_LE / Y212_BE DMABuf import support + This fixed the error below: + GST_GL_PLATFORM=egl gst-launch-1.0 videotestsrc ! msdkvpp \ + ! "video/x-raw(memory:DMABuf),format=Y212_LE" ! glimagesink + 0:00:00.148086281 575148 0x562a6d36d920 ERROR gleglimage + gsteglimage.c:555:_drm_rgba_fourcc_from_info: Unsupported format for + DMABuf. + Part-of: + +2021-07-02 15:37:19 +0800 Haihao Xiang + + * gst-libs/gst/gl/egl/gsteglimage.c: + eglimage: add Y210 DMABuf import support + This fixed the error below: + GST_GL_PLATFORM=egl gst-launch-1.0 videotestsrc ! msdkvpp ! \ + "video/x-raw(memory:DMABuf),format=Y210" ! glimagesink + 0:00:00.039881627 571365 0x56245eba6920 ERROR gleglimage + gsteglimage.c:549:_drm_rgba_fourcc_from_info: Unsupported format for + DMABuf + Part-of: + +2022-10-04 03:57:31 +0100 Tim-Philipp Müller + + * meson.build: + Back to development + Part-of: + === release 1.21.1 === 2022-10-04 01:14:01 +0100 Tim-Philipp Müller + * ChangeLog: * NEWS: * RELEASE: * gst-plugins-base.doap: diff --git a/subprojects/gst-plugins-good/ChangeLog b/subprojects/gst-plugins-good/ChangeLog index 0dd3ddd..0dd680d 100644 --- a/subprojects/gst-plugins-good/ChangeLog +++ b/subprojects/gst-plugins-good/ChangeLog @@ -1,7 +1,528 @@ +2020-09-02 10:49:40 +0100 Justin Chadwell + + * gst/isomp4/qtdemux.c: + qtdemux: use unsigned int types to store result of QT_UINT32 + In a few cases throughout qtdemux, the results of QT_UINT32 were being + stored in a signed integer, which could cause subtle bugs in the case of + an integer overflow, even allowing the the result to equal a negative + number! + This patch prevents this by simply storing the results of this function + call properly in an unsigned integer type. Additionally, we fix up the + length checking with stsd parsing to prevent cases of child atoms + exceeding their parent atom sizes. + Part-of: + +2022-11-04 17:48:01 +0000 Tim-Philipp Müller + + * ext/qt/gstqtglutility.cc: + qt: initialize GError properly in gst_qt_get_gl_wrapcontext() + Spotted by Claus Stovgaard. + Fixes #1545 + Part-of: + +2022-11-04 11:10:52 +0200 Sebastian Dröge + + * gst/isomp4/gstqtmux.c: + qtmux: Add durations to raw audio buffers from the raw audio adapter in prefill mode + This ensures that a duration can also be calculated and stored for the + last buffer at EOS. + Part-of: + +2022-11-04 10:49:31 +0200 Sebastian Dröge + + * gst/isomp4/gstqtmux.c: + qtmux: Release object lock before posting an error message + GST_ELEMENT_ERROR() also takes the object lock and this would then + deadlock. + Part-of: + +2022-11-03 14:08:57 +0100 Edward Hervey + + * gst/multifile/gstimagesequencesrc.c: + imagesequencesrc; Fix leaks + * The path was leaked + * The custom buffer was never freed + Part-of: + +2022-11-03 14:08:02 +0100 Edward Hervey + + * gst/isomp4/qtdemux.c: + qtdemux: Fix cenc-related leaks + Part-of: + +2022-11-03 14:06:58 +0100 Edward Hervey + + * gst/deinterlace/gstdeinterlace.c: + deinterlace: Don't leak metas + There is no correlation between the frame being NULL and the metas not being + present. + Part-of: + +2022-10-31 16:08:23 +0100 Edward Hervey + + * ext/adaptivedemux2/gstadaptivedemux-period.c: + * ext/adaptivedemux2/gstadaptivedemux.c: + adaptivedemux2: Fix collection leaks + * The collection on the period was never unreffed + * The collection in the message handler was never unreffed + Part-of: + +2022-11-05 03:23:43 +1100 Jan Schmidt + + * ext/adaptivedemux2/mss/gstmssdemux.c: + mssdemux2: Update for adaptivedemux2 refactoring + Part-of: + +2022-11-03 01:48:08 +1100 Jan Schmidt + + * ext/adaptivedemux2/dash/gstdashdemux.c: + * ext/adaptivedemux2/gstadaptivedemux-private.h: + * ext/adaptivedemux2/gstadaptivedemux-stream.c: + * ext/adaptivedemux2/gstadaptivedemux-stream.h: + * ext/adaptivedemux2/gstadaptivedemux.c: + * ext/adaptivedemux2/gstadaptivedemux.h: + * ext/adaptivedemux2/hls/gsthlsdemux.c: + adaptivedemux2: Move stream_seek() to the Stream class + Move the last stream specific vfunc from the demux + class to the stream class. + Part-of: + +2022-08-21 04:31:53 +1000 Jan Schmidt + + * ext/adaptivedemux2/dash/gstdashdemux.c: + * ext/adaptivedemux2/gstadaptivedemux-private.h: + * ext/adaptivedemux2/gstadaptivedemux-stream.c: + * ext/adaptivedemux2/gstadaptivedemux-stream.h: + * ext/adaptivedemux2/gstadaptivedemux-types.h: + * ext/adaptivedemux2/gstadaptivedemux.c: + * ext/adaptivedemux2/gstadaptivedemux.h: + * ext/adaptivedemux2/hls/gsthlsdemux.c: + adaptivedemux2: Refactor stream methods into the stream + Unlike the legacy elements, GstAdaptiveDemuxStream is a GObject now, + so a bunch of things that were actually stream methods on the + parent demux object can directly become stream methods now. + Move the stream class out to a header of its own. + Part-of: + +2022-06-07 14:36:24 +1000 Jan Schmidt + + * ext/adaptivedemux2/hls/m3u8.c: + * ext/adaptivedemux2/hls/m3u8.h: + hlsdemux2/m3u8: Implement EXT-X-GAP parsing + Read the EXT-X-GAP tag and set is_gap on the segment. + Part-of: + +2022-06-07 14:13:39 +1000 Jan Schmidt + + * ext/adaptivedemux2/hls/m3u8.c: + hlsdemux2/m3u8: Refactor parsing for readability + Small readability improvements in the parsing code + Part-of: + +2022-10-14 06:21:41 +1100 Jan Schmidt + + * ext/adaptivedemux2/downloadrequest.c: + * ext/adaptivedemux2/downloadrequest.h: + adaptivedemux2/downloadhelper: Remove return val for download_request_add_buffer() + The function can't actually fail, and the only caller + was ignoring the result anyway, so remove the return value. + Part-of: + +2022-10-14 06:20:06 +1100 Jan Schmidt + + * ext/adaptivedemux2/downloadhelper.c: + adaptivedemux2/downloadhelper: Add debug output of response headers + Dump the HTTP response headers at TRACE level + Part-of: + +2022-10-14 06:19:11 +1100 Jan Schmidt + + * ext/adaptivedemux2/downloadhelper.c: + adaptivedemux2/downloadhelper: Don't mark transfer as complete/error if cancelled. + If the state of the download request was reset to UNSENT, + it was cancelled. Don't update the state to COMPLETE or ERRORED + in on_read_ready(). + Part-of: + +2022-10-14 06:17:00 +1100 Jan Schmidt + + * ext/adaptivedemux2/downloadhelper.c: + adaptivedemux2/downloadhelper: Ignore spurious read failure + Sometimes g_input_stream_read_all_finish() can return + 0 bytes, but still succeed (return TRUE) and have more + data available later. Only finish the transfer + if it returns 0 bytes *and* FALSE with no error. + Part-of: + +2022-10-14 06:15:45 +1100 Jan Schmidt + + * ext/adaptivedemux2/downloadhelper.c: + * ext/adaptivedemux2/downloadrequest.c: + * ext/adaptivedemux2/downloadrequest.h: + adaptivedemux2/downloadhelper: Fix function name + Fix a typo in the name of function download_request_despatch_progress() + Part-of: + +2022-10-12 02:14:32 +1100 Jan Schmidt + + * ext/adaptivedemux2/gstadaptivedemux-private.h: + * ext/adaptivedemux2/gstadaptivedemux.c: + adaptivedemux2: Remove scheduler_lock mutex + Remove the old unused scheduler_lock + Part-of: + +2022-10-11 03:20:11 +1100 Jan Schmidt + + * ext/adaptivedemux2/gstadaptivedemux.c: + adaptivedemux2: Hold tracks lock accessing input_period + The input_period is protected by the TRACKS_LOCK, + so make sure to hold that when accessing it. + Part-of: + +2022-08-16 23:01:46 +1000 Jan Schmidt + + * ext/adaptivedemux2/gstadaptivedemux-stream.c: + * ext/adaptivedemux2/gstadaptivedemux.h: + adaptivedemux2: Add state checks and clean up obsolete variables + The cancelled flag was only set in the stream finalize() + method, after all activity on the stream has stopped anyway. + Replace uses of cancelled with checks on the stream state. + Remove the replaced flag, which was checked but never set + to TRUE anywhere any more. + Part-of: + +2022-10-30 20:28:25 +0900 Seungha Yang + + * docs/gst_plugins_cache.json: + * ext/vpx/gstvp9dec.c: + * ext/vpx/gstvp9enc.c: + * ext/vpx/gstvpxenc.c: + vpx: Complete high bitdepth vp9 en/decoding support + Adding 12bits variant formats to en/decoder, and high bitdepth + 4:4:4 (except for GBR) encoding support + Part-of: + +2022-10-30 20:03:10 +0900 Seungha Yang + + * ext/vpx/gstvp9dec.c: + * ext/vpx/gstvp9enc.c: + * ext/vpx/gstvpxcompat.h: + * ext/vpx/gstvpxdec.h: + * ext/vpx/gstvpxenc.h: + vpx: Define formats for compatibility + ifdef for enum values never work. Instead, define new enum type + and use it + Part-of: + +2022-10-27 23:57:58 +1100 Jan Schmidt + + * ext/adaptivedemux2/hls/m3u8.c: + hlsdemux2: m3u8: Use PDT to offset stream time when aligning playlist + When matching segments across playlists with Program-Date-Times, + use the difference in segment PDTs to adjust the stream time + that's being transferred. This can fix cases where the + segment boundaries don't align across different streams + and the first download gets thrown away once the PTS + is seen and found not to match. + Part-of: + +2022-11-01 02:17:46 +1100 Jan Schmidt + + * ext/adaptivedemux2/hls/gsthlsdemux.c: + * ext/adaptivedemux2/hls/gsthlsdemux.h: + hlsdemux2: Download new header when it changes + Check whether the init file / MAP data for a segment + is different to the current data and trigger an + update if so. Previously, the header would only + be checked in HLS after switching bitrate or + after a seek / first download. + Part-of: + +2022-11-01 01:41:35 +1100 Jan Schmidt + + * ext/adaptivedemux2/hls/m3u8.c: + * ext/adaptivedemux2/hls/m3u8.h: + m3u8: Expose GstM3U8InitFile methods + Exposure ref/unref methods for the GstM3U8InitFile type, + and add a gst_m3u8_init_file_equal() comparison method. + Part-of: + +2022-10-21 17:24:41 +0200 Edward Hervey + + * docs/gst_plugins_cache.json: + * ext/adaptivedemux2/gstadaptivedemux-stream.c: + * ext/adaptivedemux2/gstadaptivedemux.c: + * ext/adaptivedemux2/gstadaptivedemux.h: + * ext/adaptivedemux2/hls/gsthlsdemux.c: + * ext/adaptivedemux2/hls/m3u8.c: + * ext/adaptivedemux2/hls/m3u8.h: + adaptivedemux2: Improve minimum buffering threshold + Previously the minimum buffering threshold was hardcoded to a specific + value (10s). This is suboptimal this an actual value will depend on the actual + stream being played. + This commit sets the low watermark threshold in time to 0, which is an automatic + mode. Subclasses can provide a stream `recommended_buffering_threshold` when + update_stream_info() is called. + Currently implemented for HLS, where we recommended 1.5 average segment + duration. This will result in buffering being at 100% when the 2nd segment has + been downloaded (minus a bit already being consumed downstream) + Part-of: + +2022-10-28 18:57:44 +0530 Sanchayan Maity + + * gst/wavparse/gstwavparse.c: + wavparse: Speed up type finding for DTS + In order to figure out if the "raw" audio contained within the wav + container is actually DTS, right now we call the typefinder helper + which runs all typefinders. + Speed up this type finding process by specifying the extension. + Part-of: + +2022-10-25 13:30:15 +1100 Matthew Waters + + * docs/gst_plugins_cache.json: + * gst/isomp4/gstqtmuxmap.c: + mp4mux: enable muxing VP9 streams + As specified in https://www.webmproject.org/vp9/mp4/ + Part-of: + +2022-10-25 13:28:26 +1100 Matthew Waters + + * docs/gst_plugins_cache.json: + * gst/isomp4/atoms.c: + * gst/isomp4/atoms.h: + * gst/isomp4/gstqtmux.c: + * gst/isomp4/gstqtmuxmap.c: + qtmux: add support for writing vpcC box for VP9 + Increases compatibility for VP9 in .mov in at least VLC. + Part-of: + +2022-10-04 18:21:15 -0300 Thibault Saunier + + * ext/adaptivedemux2/dash/gstdashdemux.c: + * ext/adaptivedemux2/gstadaptivedemux.c: + dashdemux2: Fix the way we determine current_position after seeks + Without that the current_position was off after seeks, potentially + leading to not properly push a last fragment when a `.stop` time was + set. + Part-of: + +2022-09-20 15:32:52 -0300 Thibault Saunier + + * ext/adaptivedemux2/dash/gstmpdclient.c: + dash: Fix computing `repeat_index` when seeking in stream with a start !=0 on the first fragment + Part-of: + +2022-09-22 11:20:55 -0300 Thibault Saunier + + * gst/matroska/matroska-demux.c: + matroskademux: Let upstream handle seeking/duration query in time if possible + So proper response are given for dash streams + Part-of: + +2022-09-21 15:01:39 -0300 Thibault Saunier + + * gst/matroska/matroska-demux.c: + * gst/matroska/matroska-demux.h: + matroskademux: Start support for upstream segments in TIME format + So we can use matroskademux for dash webm dash streams. + Part-of: + +2022-01-24 16:49:52 +0100 Jakub Adam + + * sys/ximage/gstximagesrc.c: + ximagesrc: grab the server while capturing screen image + Makes sure screen resolution doesn't change in the middle of the + process. + Part-of: + +2021-12-17 14:57:57 +0100 Jakub Adam + + * sys/ximage/gstximagesrc.c: + * sys/ximage/gstximagesrc.h: + ximagesrc: change video resolution when X11 screen gets resized + Part-of: + +2022-10-23 20:32:35 +0100 Tim-Philipp Müller + + * docs/gst_plugins_cache.json: + * gst/meson.build: + * gst/xingmux/gstxingmux.c: + * gst/xingmux/gstxingmux.h: + * gst/xingmux/meson.build: + * gst/xingmux/plugin.c: + * meson_options.txt: + * tests/check/elements/xingmux.c: + * tests/check/elements/xingmux_testdata.h: + * tests/check/meson.build: + xingmux: move from gst-plugins-ugly to gst-plugins-good + Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/415 + Part-of: + +2022-10-21 16:23:08 +0300 Sebastian Dröge + + * gst/rtsp/gstrtspsrc.c: + rtspsrc: Only EOS on timeout if all streams are timed out/EOS + Otherwise a stream that is just temporarily inactive might time out and + then can never become active again because the EOS event was sent + already. + Part-of: + +2022-10-18 16:51:39 +1100 Matthew Waters + + * docs/gst_plugins_cache.json: + * gst/rtp/gstrtpulpfecdec.c: + * gst/rtp/gstrtpulpfecdec.h: + rtpulpfecdec: add property for passthrough + Support for enabling and disabling decoding of FEC data decoding on + packet loss events and unconditional seqnum rewriting of packets. + See + https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/581 + for background. + Part-of: + +2022-10-14 01:23:04 +0000 Devin Anderson + + * gst/wavparse/gstwavparse.c: + wavparse: Avoid occasional crash due to referencing freed buffer. + We've seen occasional crashes in the `wavparse` module associated with + referencing a buffer in `gst_wavparse_chain` that's already been freed. The + reference is stolen when the buffer is transferred to the adapter with + `gst_adapter_push` and, IIUC, assuming the source doesn't hold a reference to + the buffer, the buffer could be freed during interaction with the adapter in + `gst_wavparse_stream_headers`. + Part-of: + +2022-10-13 11:21:42 -0400 Julian Bouzas + + * docs/gst_plugins_cache.json: + riff: Mark jpeg as parsed + This is needed so that autoplugging works with avidemux and JPEG decoders that + need parsed sink caps (eg rockchip 'mppjpegdec' decoder). It also works fine + with 'jpegdec' decoder regardless. + Part-of: + +2022-10-13 00:20:45 +0000 Devin Anderson + + * gst/wavparse/gstwavparse.c: + * tests/check/elements/wavparse.c: + * tests/files/corruptheadertestsrc.wav: + wavparse: Fix crash that occurs in push mode when header chunks are corrupted in certain ways. + In the case that a test is provided for, the size of the `fmt ` chunk is + changed from 16 bytes to 18 bytes (bytes 17 - 20 below): + ``` + $ hexdump -C corruptheadertestsrc.wav + 00000000 52 49 46 46 e4 fd 00 00 57 41 56 45 66 6d 74 20 |RIFF....WAVEfmt | + 00000010 12 00 00 00 01 00 01 00 80 3e 00 00 00 7d 00 00 |.........>...}..| + 00000020 02 00 10 00 64 61 74 61 |....data| + 00000028 + ``` + (Note that the original file is much larger. This was the smallest sub-file + I could find that would generate the crash.) + Note that, while the same issue doesn't cause a crash in pull mode, there's a + different issue in that the file is processed successfully as if it was a .wav + file with zero samples. + Part-of: + +2022-10-11 15:00:37 +0200 Edward Hervey + + * sys/oss4/oss4-sink.c: + * sys/oss4/oss4-source.c: + oss4: Fix debug category initialization + Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1456 + Part-of: + +2022-10-08 01:03:13 +0200 Mathieu Duponchelle + + * gst/multifile/gstsplitmuxpartreader.c: + splitmuxsrc: don't queue data on unlinked pads + Once a pad has returned NOT_LINKED, the part reader shouldn't let its + corresponding data queue run full and eventually (after 20 seconds) + stall playback. + Part-of: + +2022-10-03 20:28:47 +0300 Sebastian Dröge + + * gst/rtpmanager/gstrtpsession.c: + * gst/rtpmanager/rtpsession.c: + * gst/rtpmanager/rtpsession.h: + * gst/rtpmanager/rtpsource.c: + * gst/rtpmanager/rtpsource.h: + rtpsource: Don't do probation for RTX sources + Disable probation for RTX sources as packets will arrive very + irregularly and waiting for a second packet usually exceeds the deadline + of the retransmission. + Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/181 + Part-of: + +2022-10-03 19:58:38 +0300 Sebastian Dröge + + * tests/examples/rtp/client-rtpaux.c: + rtp: examples: client-rtpaux: Provide correct caps by payload type and RTX pt map by session + Part-of: + +2019-01-25 17:04:50 -0500 George Kiagiadakis + + * tests/check/elements/rtpsession.c: + tests/check/rtpsession: extend test_internal_sources_timeout + to verify that rtx SSRCs do not BYE after timeout + See https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/360 + Part-of: + +2022-10-03 19:12:55 +0300 Sebastian Dröge + + * gst/rtpmanager/rtpsession.c: + * gst/rtpmanager/rtpsource.c: + * gst/rtpmanager/rtpsource.h: + rtpsession: Remember the corresponding media SSRC for RTX sources + This allows timing out the RTX source and sending BYE for it when the + actual media source belonging to it is timed out. + This change only applies to sending sources from this session. + Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/360 + Part-of: + +2022-10-03 19:20:14 +0300 Sebastian Dröge + + * gst/rtpmanager/rtpsession.c: + * gst/rtpmanager/rtpsource.c: + * gst/rtpmanager/rtpsource.h: + rtpsource: Rename rtp_source_update_caps to rtp_source_update_send_caps + To make it clear that this is only used for sending RTP sources. + Part-of: + +2022-10-03 13:48:36 +0300 Sebastian Dröge + + * gst/rtpmanager/gstrtpsession.c: + rtpsession: Rename gst_rtp_session_sink_setcaps to gst_rtp_session_setcaps_recv_rtp + to make it clearer that this is for setting receiver caps and to make it + more consistent with gst_rtp_session_setcaps_send_rtp. + Part-of: + +2022-10-06 15:02:22 +0300 Sebastian Dröge + + * gst/rtsp/gstrtspsrc.c: + rtspsrc: Retry SETUP with non-compliant URL resolution on "Bad Request" and "Not found" + Various RTSP servers/cameras assume base and control URL to be simply + appended instead of being resolved according to the relative URL + resolution algorithm as mandated by the RTSP specification. + To work around this, try using such a non-compliant control URL if the + server didn't like the URL used in the first SETUP request. + Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1447 + Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/922 + Part-of: + +2022-10-04 03:57:31 +0100 Tim-Philipp Müller + + * docs/gst_plugins_cache.json: + * meson.build: + Back to development + Part-of: + === release 1.21.1 === 2022-10-04 01:14:01 +0100 Tim-Philipp Müller + * ChangeLog: * NEWS: * RELEASE: * docs/gst_plugins_cache.json: diff --git a/subprojects/gst-plugins-ugly/ChangeLog b/subprojects/gst-plugins-ugly/ChangeLog index 54b8382..70ce441 100644 --- a/subprojects/gst-plugins-ugly/ChangeLog +++ b/subprojects/gst-plugins-ugly/ChangeLog @@ -1,7 +1,30 @@ +2022-10-23 20:32:35 +0100 Tim-Philipp Müller + + * docs/gst_plugins_cache.json: + * gst/meson.build: + * gst/xingmux/gstxingmux.c: + * gst/xingmux/gstxingmux.h: + * gst/xingmux/meson.build: + * gst/xingmux/plugin.c: + * meson_options.txt: + * tests/check/elements/xingmux.c: + * tests/check/elements/xingmux_testdata.h: + * tests/check/meson.build: + xingmux: move from gst-plugins-ugly to gst-plugins-good + Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/415 + Part-of: + +2022-10-04 03:57:31 +0100 Tim-Philipp Müller + + * meson.build: + Back to development + Part-of: + === release 1.21.1 === 2022-10-04 01:14:01 +0100 Tim-Philipp Müller + * ChangeLog: * NEWS: * RELEASE: * gst-plugins-ugly.doap: diff --git a/subprojects/gst-python/ChangeLog b/subprojects/gst-python/ChangeLog index 7009921..8983889 100644 --- a/subprojects/gst-python/ChangeLog +++ b/subprojects/gst-python/ChangeLog @@ -1,7 +1,14 @@ +2022-10-04 03:57:31 +0100 Tim-Philipp Müller + + * meson.build: + Back to development + Part-of: + === release 1.21.1 === 2022-10-04 01:14:01 +0100 Tim-Philipp Müller + * ChangeLog: * NEWS: * RELEASE: * gst-python.doap: diff --git a/subprojects/gst-rtsp-server/ChangeLog b/subprojects/gst-rtsp-server/ChangeLog index 914c9fe..cb5c282 100644 --- a/subprojects/gst-rtsp-server/ChangeLog +++ b/subprojects/gst-rtsp-server/ChangeLog @@ -1,7 +1,71 @@ +2022-10-25 09:39:07 +0300 Sebastian Dröge + + * gst/rtsp-server/rtsp-server.c: + Fix various warnings from gobject-introspection + Part-of: + +2022-10-15 12:40:04 +0300 Sebastian Dröge + + * gst/rtsp-server/rtsp-auth.c: + * gst/rtsp-server/rtsp-latency-bin.c: + * gst/rtsp-server/rtsp-media-factory.c: + * gst/rtsp-server/rtsp-media.c: + * gst/rtsp-server/rtsp-onvif-media-factory.c: + * gst/rtsp-server/rtsp-server.c: + * gst/rtsp-server/rtsp-stream.c: + rtsp-server: Add/fix various annotations + Part-of: + +2022-10-14 08:53:18 +0200 Edward Hervey + + * gst/rtsp-server/rtsp-client.h: + rtsp-client: Remove duplicate documentation + Confuses the documentation builder, since it's documented twice it complains + about a missing "Since:" marker whereas it's present in the documentation + comment further down + Part-of: + +2022-08-19 16:16:26 +0200 Linus Svensson + + * gst/rtsp-server/rtsp-server.c: + rtsp-server: Free client if no connection could be created + Part-of: + +2022-10-11 14:55:48 +0200 Peter Stensson + + * gst/rtsp-server/rtsp-client.h: + rtsp-server: Add since marker for adjust_error_code + Part-of: + +2022-06-21 09:51:55 +0200 Peter Stensson + + * gst/rtsp-server/rtsp-client.c: + * gst/rtsp-server/rtsp-client.h: + * gst/rtsp-server/rtsp-media.c: + * tests/check/gst/client.c: + * tests/check/gst/media.c: + rtsp-server: Add support for adjusting request response on pipeline errors + The idea is to give the application the possibility to adjust the error + code when responding to a request. For that purpose the pipeline's bus + messages are emitted to subscribers through a signal handle-message. + The subscribers can then check those messages for errors and adjust + the response error code by overriding the virtual method + adjust_error_code(). + Fixes #1294 + Part-of: + +2022-10-04 03:57:31 +0100 Tim-Philipp Müller + + * docs/plugins/gst_plugins_cache.json: + * meson.build: + Back to development + Part-of: + === release 1.21.1 === 2022-10-04 01:14:01 +0100 Tim-Philipp Müller + * ChangeLog: * NEWS: * RELEASE: * docs/plugins/gst_plugins_cache.json: diff --git a/subprojects/gstreamer-vaapi/ChangeLog b/subprojects/gstreamer-vaapi/ChangeLog index 6839c54..c512235 100644 --- a/subprojects/gstreamer-vaapi/ChangeLog +++ b/subprojects/gstreamer-vaapi/ChangeLog @@ -1,7 +1,22 @@ +2022-09-23 17:18:35 +0200 Stéphane Cerveau + + * gst-libs/gst/vaapi/gstvaapidecoder_h265.c: + h265parse: fix typo in member of GstH265SPS + Rename sps_extnsion_params to sps_extension_params + Fix comment about vui_parameters_present_flag + Part-of: + +2022-10-04 03:57:31 +0100 Tim-Philipp Müller + + * meson.build: + Back to development + Part-of: + === release 1.21.1 === 2022-10-04 01:14:01 +0100 Tim-Philipp Müller + * ChangeLog: * NEWS: * RELEASE: * gstreamer-vaapi.doap: diff --git a/subprojects/gstreamer/ChangeLog b/subprojects/gstreamer/ChangeLog index c6dd996..0162efc 100644 --- a/subprojects/gstreamer/ChangeLog +++ b/subprojects/gstreamer/ChangeLog @@ -1,7 +1,389 @@ +2022-11-07 09:27:09 -0500 Xavier Claessens + + * docs/meson.build: + hotdoc: gst-hotdoc-plugins-scanner is not needed for libraries + Meson >= 0.64.0 does not allow any more to add executables into + hotdoc.generate_doc(..., dependencies: ...) and it should not be needed + any way. + Part-of: + +2020-09-01 16:01:08 +0200 Jan Alexander Steffens (heftig) + + * tests/check/gst/gstinfo.c: + tests: gstinfo: Test set_threshold_from_string's new reset behavior + Part-of: + +2020-08-22 23:42:40 +0200 Jan Alexander Steffens (heftig) + + * tests/check/gst/gstinfo.c: + tests: gstinfo: Make logging tests pass when GST_DEBUG is set + Use gst_debug_set_threshold_from_string's new reset behavior to undo + GST_DEBUG and ensure the logging tests have a known configuration. + `gst_debug_set_threshold_from_string ("LOG", TRUE)` has the same effect + as `gst_debug_set_threshold_from_string ("", TRUE)` followed by + `gst_debug_set_default_threshold (GST_LEVEL_LOG)`. + Don't bother remembering the default log level set when the test + started. It will get reset by the next test, anyway. + Part-of: + +2020-08-22 22:41:15 +0200 Jan Alexander Steffens (heftig) + + * gst/gstinfo.c: + info: Reset patterns with set_threshold_from_string + TLDR: Make `gst_set_threshold_from_string ("", TRUE)` reset *all* + threshold settings, including those set by previous invocations of + `gst_debug_set_threshold_from_string`. + The docs say: + @reset: %TRUE to clear all previously-set debug levels before setting + new thresholds + What actually happens is it sets the default threshold to `ERROR`, + leaves the patterns in place and calls + `gst_debug_category_reset_threshold` on each category. + In effect, any category that is matched by a pattern gets reset to that + threshold if the app changed it by directly invoking + `gst_debug_category_set_threshold`. All other categories are reset to + `ERROR`. + In my opinion this parameter currently has little value, as the same + effect can be achieved by including `ERROR` (without a pattern) in the + string, as in `"foo*:WARNING,*bar:INFO,ERROR"`. + What I actually expect it to do is reset *all* threshold settings, + including those set by previous invocations of + `gst_debug_set_threshold_from_string`, starting off with a clean slate + for the patterns provided with the call. + Otherwise there is no API to do this, besides: + - Painfully removing patterns one-by-one via + `gst_debug_unset_threshold_for_name` *if* you know what the patterns + are. + - Adding a `*:FOO` pattern to affect all categories, which makes the + default threshold useless and practically leaks all the old + patterns. + In my opinion this also makes it fit better into the layers of threshold + config, which is: + 1. Temporary: + - `gst_debug_category_set_threshold` + - `gst_debug_category_reset_threshold` + 2. Patterns: + - `gst_debug_set_threshold_for_name` + - `gst_debug_unset_threshold_for_name` + - `gst_debug_set_threshold_from_string` + - `GST_DEBUG` + 3. Default: + - `gst_debug_set_default_threshold` + Part-of: + +2022-09-21 10:05:05 +0200 Edward Hervey + + * gst/gstpad.c: + gstpad: Avoid race in (un)setting EOS flag on sinkpads + The scenario is the following: + * Thread 1 is pushing an EOS event on a sinkpad + * Thread 2 is pushing a STREAM_START event on the same sinkpad before Thread 1 + returns. Note : It starts pushing the event after Thread 1 took the object lock. + There is a potential race between: + * The moment Thread 1 sets the EOS flag once it has finished sending the + event (via store_sticky_event). When it does that it has both the STREAM and + OBJECT lock + * The moment Thread 2 sends the STREAM_START event (Which should release that + EOS status), but removing the EOS flag is only done while holding the OBJECT + lock and not the STREAM_LOCK, which means it could be re-set by Thread 1 before + it then checks again the EOS flag (without the STREAM lock taken). + The EOS flag unsetting by STREAM_START should be done with the STREAM lock + taken, otherwise it will be racy. + Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1452 + Part-of: + +2022-11-06 18:10:44 +0000 Tim-Philipp Müller + + * tools/gst-inspect.c: + gst-inspect: print doc urls for Rust plugins + We have documentation for them now after all. + Part-of: + +2022-11-05 00:06:25 +0000 Tim-Philipp Müller + + * plugins/elements/gstidentity.c: + identity: fix "handoff" signal docs + The docs list an extra pad argument, which doesn't + match the actual signal function signature. Probably + a copy'n'paste mistake when copying things from fakesink. + Fixes #1546 + Part-of: + +2022-10-24 12:13:14 +0200 Edward Hervey + + * gst/gstpad.c: + gstpad: Fix non-serialized sticky event push + With non-serialized sticky events, such as GST_EVENT_INSTANT_RATE, we both want + to store the event (for later re-linking) *AND* push the event in a non-blocking + way. + We therefore must *not* propagate pending sticky events if the event is "sticky + or serialized" but only if it's "serialized" + Part-of: + +2022-08-17 22:34:35 -0600 Michael Gruner + + * gst/parse/grammar.y.in: + parse: do delayed set only if the target child was not found and fail otherwise + When using the child proxy notation (child::property=value) it may + happen that the target child does not exist at the time of parsing + (i.e: decodebin creates the encoder according to the contents of the + stream). On this cases, we want to delay the setting of the property + to later, when new elements are added. Previous logic performed a + delayed set even if the target child was found but the property + was not found in it. This should be treated as a failure because, + unlike missing elements, properties should not appear dynamically. + By not failing, typos in property names may go unnoticed to the end + user. + Part-of: + +2022-10-18 18:15:12 +0200 Michael Gruner + + * gst/gstchildproxy.c: + * gst/gstchildproxy.h: + childproxy: Implement a new ::get_child_by_name_recurse() API + Part-of: + +2022-10-27 15:13:36 +0300 Sebastian Dröge + + * libs/gst/base/gstaggregator.c: + * libs/gst/base/gstbaseparse.c: + core/base: Only post latency messages if the latency values have actually changed + Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1525 + Part-of: + +2022-10-27 11:18:24 +0200 Edward Hervey + + * plugins/elements/gstconcat.c: + concat: Properly propagate EOS seqnum + Part-of: + +2022-10-25 09:39:07 +0300 Sebastian Dröge + + * gst/gsturi.c: + * libs/gst/net/gstnettimepacket.c: + * libs/gst/net/gstntppacket.c: + Fix various warnings from gobject-introspection + Part-of: + +2022-10-22 01:43:22 +0900 Seungha Yang + + * tools/gst-inspect.c: + gst-inspect: Hide GST_PARAM_DOC_SHOW_DEFAULT flag + It's known flag but only for documentation purpose. Don't show + its (and user cannot understand) value 0x2000 + Part-of: + +2022-10-22 18:34:14 +0300 Sebastian Dröge + + * libs/gst/net/gstnetclientclock.c: + net: Add missing nullable annotation on the name parameter in the net/NTP clock constructors + Part-of: + +2022-10-22 22:04:57 +0900 Seungha Yang + + * gst/gstpadtemplate.c: + padtemplate: Fix annotations + gst_caps_replace() does not take ownership of the new caps + Part-of: + +2022-10-22 05:29:59 +0900 Seungha Yang + + * tools/gst-inspect.c: + gst-inspect: Don't print link to doc if it's known to be unavailable + "gst_element_factory_get_skip_documentation() == true" means + documentation was intentionally skipped for the element feature + Part-of: + +2022-10-21 11:47:11 +0200 François Laignel + + * gst/gstquery.c: + gst: uri query: fix inconsistent `uri` nullability assertion + Functions `gst_query_set_uri` and `gst_query_set_uri_redirection` + can both set a `NULL` `uri`, as annotated in the documentation. + However the functions bodies reject `NULL` `uri`s. + See [1] for a discussion on that matter. + [1]: https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1134#note_1600988 + Part-of: + +2022-10-21 11:11:13 +0200 Thibault Saunier + + * docs/gst-hotdoc-plugins-scanner.c: + docs: plugins-scanner: Handle interface used for plugin API properties + Part-of: + +2022-10-18 03:08:44 +0900 Seungha Yang + + * docs/gst-hotdoc-plugins-scanner.c: + docs: plugin-scanner: Stop updating "long-name" metadata + The "long-name" value can be environment dependent, and it's not + actually used by our documentation. + Part-of: + +2022-10-19 22:30:38 +0900 Seungha Yang + + * gst/parse/grammar.y.in: + parse: Adjust debug log level + That's not an error case at all + Part-of: + +2022-10-19 13:34:28 +0300 Sebastian Dröge + + * gst/gstdeviceproviderfactory.c: + * gst/gstelementfactory.c: + {element,deviceprovider}factory: g_object_new() can't ever return NULL + So treat it as the assertion it is. + Part-of: + +2022-10-19 13:33:39 +0300 Sebastian Dröge + + * gst/gstelementfactory.c: + elementfactory: Handle element factory loading failure in gst_element_factory_create_valist() not as assertion + In gst_element_factory_create_with_properties() it is a normal error + path so let's keep this consistent. + Part-of: + +2022-10-19 13:28:06 +0300 Sebastian Dröge + + * gst/gstdeviceproviderfactory.c: + * gst/gstelementfactory.c: + * gst/gstmeta.c: + * gst/gstregistry.c: + * gst/gsttaglist.c: + * gst/gstvalue.c: + gst: Use G_TYPE_INVALID instead of 0 for GTypes + Part-of: + +2022-09-15 00:06:49 +0200 Mathieu Duponchelle + + * tests/check/pipelines/parse-launch.c: + tests: parse-launch: remove assignment order tests + These tests relied on setting the name of an element twice to verify + that the last one set took precedence, however name is a CONSTRUCT property + and the parser now errors out when such properties are set twice, in + g_object_new_with_properties . + Part-of: + +2022-09-13 23:16:08 +0200 Mathieu Duponchelle + + * gst/parse/grammar.y.in: + * gst/parse/types.h: + * tests/check/pipelines/parse-launch.c: + parse: refactor to make use of gst_element_factory_make_with_properties + Instead of creating the element first, then setting properties and + presets, we gather those and construct the element with the properties. + This means users of gst_parse_launch can now set construct-only + properties. + Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1380 + Part-of: + +2022-10-18 16:41:36 +0200 Bunio_FH + + * gst/gstminiobject.c: + gstminiobject: shares capacity increase + during the MSE (WebKit) tests from Apple suite: + https://hls-streaming.cdn-apple.com/hls_conformance/dist/v1.1/index.html?pretty=true&whitelist=MSE%20Suite + webkit attempts to add a single audio buffer containing ~35.5k frames. + when corresponding GstSamples are pulled buffer is being referenced + more than object capacity allows: 2^15-1. since the case could be considered + malformed a surgical patch is applied to increase the capacity. + Part-of: + +2022-10-15 12:31:17 +0300 Sebastian Dröge + + * gst/gstatomicqueue.c: + * gst/gstbuffer.c: + * gst/gstbufferpool.c: + * gst/gstbufferpool.h: + * gst/gstelement.c: + * gst/gstevent.c: + * gst/gstinfo.c: + * gst/gstmessage.c: + * gst/gstobject.c: + * gst/gstparse.c: + * gst/gstpipeline.c: + * gst/gstquery.c: + * gst/gststructure.c: + * gst/gsttaglist.c: + * gst/gsttoc.c: + * gst/gsturi.c: + * gst/gstutils.c: + core: Add/fix various annotations + And fix memory leaks/null pointer dereferences in GstUri in error cases. + Part-of: + +2022-10-15 12:24:46 +0300 Sebastian Dröge + + * libs/gst/check/gstharness.c: + check: Add/fix various annotations + Part-of: + +2022-10-15 12:20:08 +0300 Sebastian Dröge + + * libs/gst/net/gstnetaddressmeta.c: + * libs/gst/net/gstnettimepacket.c: + * libs/gst/net/gstnettimeprovider.c: + * libs/gst/net/gstntppacket.c: + net: Add/fix various annotations + Part-of: + +2022-10-15 12:18:28 +0300 Sebastian Dröge + + * libs/gst/base/gstqueuearray.c: + base: Add/fix annotations in GstQueueArray + Part-of: + +2022-10-14 23:48:09 +0300 Sebastian Dröge + + * libs/gst/controller/gsttimedvaluecontrolsource.c: + controller: Add/fix various annotations + Part-of: + +2022-10-07 14:39:47 +0200 Guillaume Desmottes + + * libs/gst/base/gstaggregator.c: + aggregator: fix input buffering + We need to be able to buffer at least the aggregator latency + + upstream latency, which is the value used to compute the aggregator + deadline. + Part-of: + +2022-10-01 04:58:04 +1000 Jan Schmidt + + * gst/gstbin.c: + gstbin: Use g_queue_clear_full() + Use g_queue_clear_full() to release the child list + instead of iterating over the list twice. + Part-of: + +2022-10-01 04:55:49 +1000 Jan Schmidt + + * gst/gstbin.c: + gstbin: Fix a potential leak in gst_bin_do_deep_add_remove() + If a child element of a bin is unparented while + gst_bin_do_deep_add_remove() is iterating the children, + don't leak a ref to it. + Part-of: + +2022-10-01 04:54:20 +1000 Jan Schmidt + + * gst/gstiterator.c: + gstiterator: Don't use gst_object_unref() for a GObject + The owner of a GstIterator is a plain GObject. Don't unref it + with gst_object_unref(), or it will be logged in tracer + info incorrectly. + Part-of: + +2022-10-04 03:57:31 +0100 Tim-Philipp Müller + + * meson.build: + Back to development + Part-of: + === release 1.21.1 === 2022-10-04 01:14:01 +0100 Tim-Philipp Müller + * ChangeLog: * NEWS: * RELEASE: * gstreamer.doap: