Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/GStreamer/gstreamer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.com>2022-10-04 03:13:59 +0300
committerTim-Philipp Müller <tim@centricular.com>2022-10-04 03:13:59 +0300
commitc376d80e9b7982118b4e13ffaa6e391da114124e (patch)
tree9b8a52092869819a5a328db67944b20c701b9e20
parente36440e7bb19f9a96058aab893866a824dd2e3d2 (diff)
Update ChangeLogs for 1.21.1
-rw-r--r--subprojects/gst-devtools/ChangeLog445
-rw-r--r--subprojects/gst-editing-services/ChangeLog265
-rw-r--r--subprojects/gst-libav/ChangeLog185
-rw-r--r--subprojects/gst-omx/ChangeLog100
-rw-r--r--subprojects/gst-plugins-bad/ChangeLog8845
-rw-r--r--subprojects/gst-plugins-base/ChangeLog2821
-rw-r--r--subprojects/gst-plugins-good/ChangeLog3641
-rw-r--r--subprojects/gst-plugins-ugly/ChangeLog234
-rw-r--r--subprojects/gst-python/ChangeLog170
-rw-r--r--subprojects/gst-rtsp-server/ChangeLog267
-rw-r--r--subprojects/gstreamer-vaapi/ChangeLog247
-rw-r--r--subprojects/gstreamer/ChangeLog1303
12 files changed, 18523 insertions, 0 deletions
diff --git a/subprojects/gst-devtools/ChangeLog b/subprojects/gst-devtools/ChangeLog
index 1f39b5da86..7acc1fb1ca 100644
--- a/subprojects/gst-devtools/ChangeLog
+++ b/subprojects/gst-devtools/ChangeLog
@@ -1,7 +1,452 @@
+2022-09-21 19:19:45 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * meson.build:
+ meson: Use implicit builtin dirs in pkgconfig generation
+ Starting with Meson 0.62, meson automatically populates the variables
+ list in the pkgconfig file if you reference builtin directories in the
+ pkgconfig file (whether via a custom pkgconfig variable or elsewhere).
+ We need this, because ${prefix}/libexec is a hard-coded value which is
+ incorrect on, for example, Debian.
+ Bump requirement to 0.62, and remove version compares that retained
+ support for older Meson versions.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1245
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3061>
+
+2022-09-14 15:45:28 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * validate/gst/validate/gst-validate-scenario.c:
+ validate:scenario: Make appsrc-push push a sample
+ Allowing setting a segment to the sample
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3052>
+
+2022-09-14 15:36:41 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/gst-validate-action-types.md:
+ * validate/gst/validate/gst-validate-scenario.c:
+ validate: Handle buffer pts/dts/duration in the appsrc-push action
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3052>
+
+2022-09-14 15:31:20 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * validate/gst/validate/gst-validate-scenario.c:
+ validate:scenario: Simplify the way we override appsrc src pad chain
+ When pushing several buffers while the pipeline is in NULL state, meaning
+ that the action are executed "interlaced", previous code was deadlocking.
+ This new implementation makes it so the override is always on and we
+ expect all buffers to go through to be associated to a function, which
+ is a safe assumption.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3052>
+
+2022-09-08 18:25:07 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * validate/gst/validate/gst-validate-scenario.c:
+ validate:scenario: Fix a leak when done waiting for an ASYNC action
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3000>
+
+2022-09-12 09:46:43 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * validate/tools/meson.build:
+ meson: Set install_tag on some targets
+ Trying to follow recommendation from Meson documentation:
+ https://mesonbuild.com/Installing.html#installation-tags
+ Move tools into 'bin' or 'bin-devel' categories to keep only libs and
+ plugins in the default 'runtime' category. This simplifies distribution
+ of GStreamer application skipping parts that are not needed, similarly
+ to what Cerbero does by hardcoding huge list of files.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3017>
+
+2022-09-16 22:05:18 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/gst-validate-action-types.md:
+ * validate/gst/validate/gst-validate-scenario.c:
+ validate: Update action types documentation
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3040>
+
+2021-03-24 14:20:18 -0500 Zebediah Figura <z.figura12@gmail.com>
+
+ * meson.build:
+ meson: Build with -Wl,-z,nodelete to prevent unloading of dynamic libraries and plugins
+ GLib made the unfortunate decision to prevent libgobject from ever being
+ unloaded, which means that now any library which registers a static type
+ can't ever be unloaded either (and any library that depends on those,
+ ad nauseam).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/778>
+
+2022-09-07 15:43:11 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * validate/gst/validate/gst-validate-scenario.c:
+ validate:scenario: Some minor fixes
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3007>
+
+2022-09-07 15:41:53 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * validate/gst/validate/gst-validate-scenario.c:
+ validate: Add a 'check-current-pad-caps' check action type
+ Allowing to check that a specific pad has some specific caps set
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3007>
+
+2022-09-07 15:19:05 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * validate/gst/validate/gst-validate-scenario.c:
+ * validate/gst/validate/gst-validate-scenario.h:
+ validate: Add a 'check' field to waits to allow running check actions after it get executed
+ Adding the notion of 'check' action types
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3007>
+
+2022-09-01 15:11:31 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * meson.build:
+ * validate/gst/validate/meson.build:
+ meson: Call pkgconfig.generate in the loop where we declare plugins dependencies
+ Removing some copy pasted code
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-09-01 11:51:48 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * meson.build:
+ * validate/gst/validate/meson.build:
+ meson: Namespace the plugins_doc_dep/libraries variables
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-08-31 18:44:14 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * meson.build:
+ meson: Rename plugins list and make them "dependency" objects
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-08-31 10:31:40 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * validate/gst/validate/meson.build:
+ validate: Fix gir generation
+ It broke in https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2555
+ where we stopped parsing some .c files
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2965>
+
+2022-08-04 21:12:08 +0300 Jordan Petridis <jordan@centricular.com>
+
+ * validate/launcher/baseclasses.py:
+ validate: don't look for the common supression file
+ We no longer have a common submodule
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2841>
+
+2022-08-05 20:16:00 +0900 Seungha Yang <seungha@centricular.com>
+
+ * validate/launcher/testsuites/check.py:
+ Revert "videoconvertscale: Add properties to disable scaling/converting in videoconvert/videoscale"
+ This reverts commit cd7a91cef1c6a2e24d440126b7f2ab543fb205c5.
+ Reverting properties, scaling in videoconvert and converting in
+ videoscale will be disabled by the other commit
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2778>
+
+2022-06-29 10:55:13 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ coding style: allow declarations after statement
+ See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1243/
+ and https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/78
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2683>
+
+2022-04-06 12:56:30 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ * validate/gst/validate/validate.c:
+ Bump GLib requirement to >= 2.62
+ Can't require 2.64 yet because of
+ https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/323
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2568>
+
+2022-05-30 14:00:55 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * validate/gst/validate/meson.build:
+ validate: Fix running as a tracer
+ We need to rebuild runner.c as this is where the plugin is defined
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2555>
+
+2022-04-21 10:38:24 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * validate/launcher/baseclasses.py:
+ validate: Do not print Known error tests
+ Those are passing tests in practice and it doesn't give any useful information
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2264>
+
+2022-04-19 18:38:12 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * validate/gst/validate/gst-validate-pipeline-monitor.c:
+ validate:pipeline-monitor: Minor cleanup setting unused variable
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/898>
+
+2022-04-14 09:48:14 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * validate/launcher/testsuites/check.py:
+ videoconvertscale: Add properties to disable scaling/converting in videoconvert/videoscale
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/898>
+
+2022-04-14 09:09:35 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * validate/gst/validate/gst-validate-scenario.c:
+ * validate/tools/gst-validate.c:
+ validate: scenario: Add a 'allow-error' configuration
+ This new configuration allows the scenario to keep running even
+ after receiving an "error" message on the bus.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/898>
+
+2022-03-25 10:20:24 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * validate/gst/validate/gettext.h:
+ Delete unused i18n headers
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028>
+
+2022-04-01 21:47:59 +0800 Haihua Hu <jared.hu@nxp.com>
+
+ * validate/launcher/baseclasses.py:
+ ximagesink/xvimagesink: use GST_XINITTHREADS to ensure call to XInitThreads
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2098>
+
+2022-03-30 11:06:02 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * meson.build:
+ Use gmodule-no-export-2.0
+ We don't need `-Wl,--export-dynamic`, that's used only for executables
+ that needs to export an API to be used by plugins they load.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031>
+
+2022-03-25 15:00:20 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * meson.build:
+ * validate/gst-libs/gst/video/meson.build:
+ * validate/gst/validate/meson.build:
+ * validate/plugins/fault_injection/meson.build:
+ * validate/plugins/gapplication/meson.build:
+ * validate/plugins/gtk/meson.build:
+ * validate/plugins/ssim/meson.build:
+ Remove glib and gobject dependencies everywhere
+ They are part of gst_dep already and we have to make sure to always have
+ gst_dep. The order in dependencies matters, because it is also the order
+ in which Meson will set -I args. We want gstreamer's config.h to take
+ precedence over glib's private config.h when it's a subproject.
+ While at it, remove useless fallback args for gmodule/gio dependencies,
+ only gstreamer core needs it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031>
+
+2021-09-11 12:17:56 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * meson_options.txt:
+ * validate/tools/meson.build:
+ tools: Add support for building gstreamer tools against gst-full
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1581>
+
+2022-03-28 21:15:15 +1100 Matthew Waters <matthew@centricular.com>
+
+ * validate/gst/validate/gst-validate-media-info.c:
+ validate/media-info: silence unsed variable warning
+ Fixes:
+ ../validate/gst/validate/gst-validate-media-info.c:714:28: error: variable 'total_sink_count' set but not used [-Werror,-Wunused-but-set-variable]
+ guint id, ncounters = 0, total_sink_count = 0;
+ ^
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046>
+
+2022-01-04 14:53:06 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * validate/gst/validate/gst-validate-scenario.c:
+ validate:scenario: Support args in the `emit-signal` action
+ This was never needed before but it is generally useful and there
+ was a todo about it
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1492>
+
+2022-03-18 09:07:48 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * validate/gst/validate/gst-validate-internal.h:
+ * validate/gst/validate/media-descriptor-parser.c:
+ * validate/gst/validate/media-descriptor-writer.c:
+ * validate/gst/validate/media-descriptor.c:
+ * validate/gst/validate/media-descriptor.h:
+ validate: Totally hide media descriptor node types from the API
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1986>
+
+2022-03-18 13:42:27 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * meson.build:
+ meson: Bump all meson requirements to 0.60
+ Lots of new warnings ever since
+ https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1934
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1977>
+
+2022-03-07 17:21:48 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * validate/gst-libs/gst/video/gssim.h:
+ * validate/gst-libs/gst/video/gstvalidatessim.h:
+ * validate/gst/validate/gst-validate-bin-monitor.h:
+ * validate/gst/validate/gst-validate-element-monitor.h:
+ * validate/gst/validate/gst-validate-internal.h:
+ * validate/gst/validate/gst-validate-media-info.h:
+ * validate/gst/validate/gst-validate-mockdecryptor.h:
+ * validate/gst/validate/gst-validate-monitor.h:
+ * validate/gst/validate/gst-validate-override-registry.h:
+ * validate/gst/validate/gst-validate-override.h:
+ * validate/gst/validate/gst-validate-pad-monitor.h:
+ * validate/gst/validate/gst-validate-pipeline-monitor.h:
+ * validate/gst/validate/gst-validate-report.h:
+ * validate/gst/validate/gst-validate-reporter.h:
+ * validate/gst/validate/gst-validate-runner.h:
+ * validate/gst/validate/gst-validate-scenario.h:
+ * validate/gst/validate/media-descriptor-parser.c:
+ * validate/gst/validate/media-descriptor-parser.h:
+ * validate/gst/validate/media-descriptor-writer.c:
+ * validate/gst/validate/media-descriptor-writer.h:
+ * validate/gst/validate/media-descriptor.c:
+ * validate/gst/validate/media-descriptor.h:
+ validate: Cleanup ABI and make it ready to be stabilized this cycle
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1810>
+
+2022-03-07 16:29:19 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * validate/gst/validate/meson.build:
+ validate: Introspect gst-validate-runner.c
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1810>
+
+2022-03-02 22:21:40 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * validate/gst/validate/gst-validate-report.c:
+ * validate/gst/validate/gst-validate-report.h:
+ * validate/gst/validate/gst-validate-runner.c:
+ validate: Add getters for ValidateReports
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1810>
+
+2022-03-02 12:52:37 +0000 Philippe Normand <philn@igalia.com>
+
+ * validate/gst/validate/gst-validate-override.c:
+ * validate/gst/validate/gst-validate-report.c:
+ * validate/gst/validate/gst-validate-report.h:
+ * validate/gst/validate/gst-validate-reporter.c:
+ * validate/gst/validate/gst-validate-runner.c:
+ validate: Change IssueId type to guint32
+ Which is a bit more bindings-friendly.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1810>
+
+2022-03-02 10:54:17 +0000 Philippe Normand <philn@igalia.com>
+
+ * validate/plugins/ssim/gstvalidatessim.c:
+ validate: ssim: Respect requested dump recurrence parameter
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1810>
+
+2022-03-02 10:27:10 +0000 Philippe Normand <philn@igalia.com>
+
+ * validate/gst/validate/gst-validate-scenario.c:
+ validate: Keep scenario alive enough when executing actions
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1810>
+
+2022-03-02 13:11:43 +0000 Philippe Normand <philn@igalia.com>
+
+ * 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-pad-monitor.h:
+ * 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-runner.c:
+ * validate/gst/validate/media-descriptor.h:
+ validate: Introspection annotation cleanups
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1810>
+
+2022-02-28 10:58:41 +0000 Philippe Normand <philn@igalia.com>
+
+ * validate/gst/validate/gst-validate-scenario.h:
+ * validate/gst/validate/media-descriptor.h:
+ validate: Fix padding and constants
+ Without this the Rust -sys validate crate tests don't pass.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1810>
+
+2022-02-28 10:57:55 +0000 Philippe Normand <philn@igalia.com>
+
+ * validate/gst/validate/validate.h:
+ validate: Expose all public headers in main header
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1810>
+
+2022-02-28 10:56:59 +0000 Philippe Normand <philn@igalia.com>
+
+ * validate/gst/validate/meson.build:
+ validate: Fix pkgconfig name
+ Making it consistent with the reset of GStreamer. This also means that
+ anyone wanting to target -validate >= 1.22 needs to change the way they
+ link against it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1810>
+
+2022-03-15 13:57:11 +0100 Corentin Noël <tintou@noel.tf>
+
+ * validate/gst/validate/gst-validate-runner.c:
+ validate: Fix typo in get_reports
+ Return without s isn't taken into account for the introspection.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1965>
+
+2022-02-21 10:49:15 +0100 Sebastian Fricke <sebastian.fricke@collabora.com>
+
+ * debug-viewer/GstDebugViewer/Common/Main.py:
+ * debug-viewer/gst-debug-viewer:
+ * validate/gst/validate/gst-validate-scenario.c:
+ Remove the uninstalled term
+ Remove the symbolic link `gst-uninstalled` which points to `gst-env`.
+ The `uninstalled` is the old name and the project should stick to a
+ single name for the procedure.
+ Remove the term from all the files, exceptions are variables from
+ dependencies like `uninstalled_variables` from pkgconfig and
+ `meson-uninstalled`.
+ Adjust mentions of the script in the documentation and README.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1743>
+
+2022-02-17 15:25:21 +0100 Sebastian Fricke <sebastian.fricke@collabora.com>
+
+ * docs/gst-validate-environment-variables.md:
+ Add documentation for GST_VALIDATE_APPS_DIR
+ Add documentation for the environment variable, explaining what it is
+ used for and the default search locations.
+ Fixes: 4d569b51ed2 add a way to specify an application directory.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1743>
+
+2022-02-17 11:35:49 +0100 Sebastian Fricke <sebastian.fricke@collabora.com>
+
+ * docs/gst-validate-environment-variables.md:
+ Improve environment variable documentation
+ At GST_VALIDATE_FILE:
+ s/will be outputed/are output/
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1743>
+
+2022-02-17 11:32:14 +0100 Sebastian Fricke <sebastian.fricke@collabora.com>
+
+ * docs/gst-validate-environment-variables.md:
+ Add documentation for GST_VALIDATE_PLUGIN_PATH
+ Add documentation for the environment variable, explaining what it is
+ used for and the default search locations.
+ Fixes: 83d6978f80 Implement fault_injection as a Gs(tValidate)Plugin
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1743>
+
+2022-02-21 11:37:26 -0500 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * validate/data/scenarios/meson.build:
+ devenv: Add some missing GStreamer specific env variables
+ This should make "meson devenv" closer to what "gst-env.py" sets.
+ - GST_VALIDATE_SCENARIOS_PATH
+ - GST_VALIDATE_APPS_DIR
+ - GST_OMX_CONFIG_DIR
+ - GST_ENCODING_TARGET_PATH
+ - GST_PRESET_PATH
+ - GST_PLUGIN_SCANNER
+ - GST_PTP_HELPER
+ - _GI_OVERRIDES_PATH
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1768>
+
+2022-02-04 11:15:47 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ Back to development
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1635>
+
=== release 1.20.0 ===
2022-02-03 19:53:25 +0000 Tim-Philipp Müller <tim@centricular.com>
+ * ChangeLog:
* NEWS:
* RELEASE:
* gst-devtools.doap:
diff --git a/subprojects/gst-editing-services/ChangeLog b/subprojects/gst-editing-services/ChangeLog
index e96a1aca41..1c7021b2c6 100644
--- a/subprojects/gst-editing-services/ChangeLog
+++ b/subprojects/gst-editing-services/ChangeLog
@@ -1,7 +1,272 @@
+2022-09-21 19:19:45 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * meson.build:
+ meson: Use implicit builtin dirs in pkgconfig generation
+ Starting with Meson 0.62, meson automatically populates the variables
+ list in the pkgconfig file if you reference builtin directories in the
+ pkgconfig file (whether via a custom pkgconfig variable or elsewhere).
+ We need this, because ${prefix}/libexec is a hard-coded value which is
+ incorrect on, for example, Debian.
+ Bump requirement to 0.62, and remove version compares that retained
+ support for older Meson versions.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1245
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3061>
+
+2022-09-08 11:38:34 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * ges/ges-video-source.c:
+ ges-video-source: Remove limit on frame duplication on EOS in videorate
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1352
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3000>
+
+2022-09-06 17:24:51 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * plugins/nle/nlecomposition.c:
+ nlecomposition: Minor debug enhancement
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3000>
+
+2022-09-06 17:24:22 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * ges/ges-video-source.c:
+ ges: Enhance element names in video uri sources
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3000>
+
+2022-08-29 10:17:45 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/meson.build:
+ doc: Do not build plugins to build the doc
+ It is not actually necessary
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2954>
+
+2021-03-24 14:20:18 -0500 Zebediah Figura <z.figura12@gmail.com>
+
+ * meson.build:
+ meson: Build with -Wl,-z,nodelete to prevent unloading of dynamic libraries and plugins
+ GLib made the unfortunate decision to prevent libgobject from ever being
+ unloaded, which means that now any library which registers a static type
+ can't ever be unloaded either (and any library that depends on those,
+ ad nauseam).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/778>
+
+2022-09-10 19:16:39 +0200 Christoph Reiter <reiter.christoph@gmail.com>
+
+ * meson.build:
+ meson: use python.get_install_dir() to find the pygobject overrides dir
+ Instead of trying to hardcode site-packages paths for different platforms
+ just use python.get_install_dir() from meson and let it deal with the rest.
+ Also no longer try to import pygobject, which would otherwise not be
+ required at build time.
+ python.get_install_dir() was at the beginning broken on Windows, but
+ that was fixed in 0.60 via https://github.com/mesonbuild/meson/pull/9156
+ and since ges now requires >0.60 this can be ignored.
+ This change was motivated by the install path being wrong under MSYS2, where
+ the unix install layout is used and the detection code not taking that into
+ account.
+ This MR is a continuation of https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/230
+ see the discussion there for extra context.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3012>
+
+2022-09-01 15:11:31 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * meson.build:
+ * plugins/ges/meson.build:
+ * plugins/nle/meson.build:
+ meson: Call pkgconfig.generate in the loop where we declare plugins dependencies
+ Removing some copy pasted code
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-09-01 11:51:48 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/meson.build:
+ * ges/meson.build:
+ * meson.build:
+ meson: Namespace the plugins_doc_dep/libraries variables
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-08-31 18:44:14 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * meson.build:
+ meson: Rename plugins list and make them "dependency" objects
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-08-02 06:54:38 +0900 Seungha Yang <seungha@centricular.com>
+
+ * ges/ges-utils.c:
+ ges: Update outdated comment
+ d3d11compositor is a videoaggregator subclass and no more wrapper bin
+ since the MR
+ https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2631
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2825>
+
+2022-01-22 02:24:23 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * ges/ges-clip.c:
+ * ges/ges-container.c:
+ * ges/ges-uri-clip.c:
+ * tests/check/ges/clip.c:
+ ges: preserve discovery order
+ The previous code was storing container children in reverse
+ addition order, this was mitigated by the fact that track elements
+ were also stored in reverse order, thus restoring the original
+ order, but it seems more consistent to preserve order throughout,
+ the extra cost of append operations is negligible.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1549>
+
+2022-06-29 10:55:13 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ coding style: allow declarations after statement
+ See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1243/
+ and https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/78
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2683>
+
+2022-06-16 22:40:21 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * ges/gstframepositioner.c:
+ ges/gstframepositioner: don't create one compositor per frame meta
+ Instead, cache the looked up operator property
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2623>
+
+2022-04-06 12:56:30 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ Bump GLib requirement to >= 2.62
+ Can't require 2.64 yet because of
+ https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/323
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2568>
+
+2022-05-13 10:23:54 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ges/ges-video-uri-source.c:
+ ges/videourisource: handle non-1/1 PAR source videos
+ The automatic scaling done by framepositioner does not account for the
+ par of the video source.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2423>
+
+2022-05-06 12:17:14 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+ * ges/ges-enums.c:
+ * ges/ges-enums.h:
+ * ges/ges-video-transition.c:
+ ges-video-transition: add a new "fade-in" transition type
+ This transition is meant to be very similar to crossfade, but
+ instead of fading out the background video at the same time as the
+ foreground fades in, the background video stays at 100% opacity
+ during the whole transition.
+ This essentially "restores" the old crossfade behaviour that was changed in:
+ https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/commit/eb48faf34234811faec1699692a2c096daaceefd
+ but using a new type enum, so that both behaviours are available,
+ letting applications choose.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2385>
+
+2022-03-30 11:06:02 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * meson.build:
+ Use gmodule-no-export-2.0
+ We don't need `-Wl,--export-dynamic`, that's used only for executables
+ that needs to export an API to be used by plugins they load.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031>
+
+2022-03-25 15:00:20 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * meson.build:
+ Remove glib and gobject dependencies everywhere
+ They are part of gst_dep already and we have to make sure to always have
+ gst_dep. The order in dependencies matters, because it is also the order
+ in which Meson will set -I args. We want gstreamer's config.h to take
+ precedence over glib's private config.h when it's a subproject.
+ While at it, remove useless fallback args for gmodule/gio dependencies,
+ only gstreamer core needs it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031>
+
+2022-03-31 12:49:48 +0200 Xabier Rodriguez Calvar <calvaris@igalia.com>
+
+ * ges/ges-smart-video-mixer.c:
+ * ges/ges-smart-video-mixer.h:
+ ges-smart-video-mixer: use the proper pad to get the positioner meta
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2094>
+
+2021-09-11 12:17:56 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * meson.build:
+ * tools/meson.build:
+ tools: Add support for building gstreamer tools against gst-full
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1581>
+
+2022-03-28 13:47:52 +0200 Stéphane Cerveau <scerveau@collabora.com>
+
+ * tools/utils.c:
+ ges: remove memory leak with description
+ free the capsdesc
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2047>
+
+2022-03-28 13:20:40 +0200 Stéphane Cerveau <scerveau@collabora.com>
+
+ * plugins/nle/nlecomposition.c:
+ nle: clear seek event properly
+ Use gst_clear_event instead of g_clear_object
+ avoiding a failing gobject unref
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2047>
+
+2022-03-14 09:06:46 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * bindings/python/gi/overrides/GES.py:
+ * bindings/python/gi/overrides/__init__.py:
+ * ges/ges-timeline-element.c:
+ * ges/ges-timeline-element.h:
+ Fix license as GES is released under the LGPL2+ license
+ This was a mistake that some of the licensing notice in a few files was
+ referring to GPL3+ and it needs fixing
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1956>
+
+2022-03-18 13:42:27 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * meson.build:
+ meson: Bump all meson requirements to 0.60
+ Lots of new warnings ever since
+ https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1934
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1977>
+
+2022-02-21 11:37:26 -0500 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * bindings/python/meson.build:
+ * tests/validate/meson.build:
+ devenv: Add some missing GStreamer specific env variables
+ This should make "meson devenv" closer to what "gst-env.py" sets.
+ - GST_VALIDATE_SCENARIOS_PATH
+ - GST_VALIDATE_APPS_DIR
+ - GST_OMX_CONFIG_DIR
+ - GST_ENCODING_TARGET_PATH
+ - GST_PRESET_PATH
+ - GST_PLUGIN_SCANNER
+ - GST_PTP_HELPER
+ - _GI_OVERRIDES_PATH
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1768>
+
+2022-02-19 03:26:00 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tests/check/scenarios/complex_effect_bin_desc/flow-expectations/log-videosink-sink-expected:
+ * tests/check/scenarios/seek_with_stop/flow-expectations/log-videosink-sink-expected:
+ scenarios: Update for videoaggregator rounding behavior change
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1747>
+
+2022-02-10 10:13:27 +0100 Stéphane Cerveau <scerveau@collabora.com>
+
+ * meson.build:
+ ges: add missing plugin summary
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1682>
+
+2022-02-04 11:15:47 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ Back to development
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1635>
+
=== release 1.20.0 ===
2022-02-03 19:53:25 +0000 Tim-Philipp Müller <tim@centricular.com>
+ * ChangeLog:
* NEWS:
* RELEASE:
* gst-editing-services.doap:
diff --git a/subprojects/gst-libav/ChangeLog b/subprojects/gst-libav/ChangeLog
index 75f50d3161..ed6c0940fb 100644
--- a/subprojects/gst-libav/ChangeLog
+++ b/subprojects/gst-libav/ChangeLog
@@ -1,7 +1,192 @@
+2022-09-29 12:42:21 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ext/libav/gstavauddec.c:
+ avauddec: fix unnecessary reconfiguration if the audio layout isn't specified
+ It would constantly want to renegotiate (and spam the debug log) even
+ though the channel layout hasn't actually changed. We use the same
+ fallback in gst_ffmpegauddec_negotiate() already.
+ This happens with WMA files for example.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3103>
+
+2022-09-21 19:19:45 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * meson.build:
+ meson: Use implicit builtin dirs in pkgconfig generation
+ Starting with Meson 0.62, meson automatically populates the variables
+ list in the pkgconfig file if you reference builtin directories in the
+ pkgconfig file (whether via a custom pkgconfig variable or elsewhere).
+ We need this, because ${prefix}/libexec is a hard-coded value which is
+ incorrect on, for example, Debian.
+ Bump requirement to 0.62, and remove version compares that retained
+ support for older Meson versions.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1245
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3061>
+
+2022-08-26 08:43:34 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/gst_plugins_cache.json:
+ Build documentation for rust plugins
+ - Update the docker image we use, starting using the standard one adding
+ `gtk4-doc` as required by rust plugins
+ - Update the plugins_doc_caches as required, some more plugins are built
+ with the new image
+ - Install ninja from pip as the version from F31 is too old
+ - Avoid buildings all GSreamer plugins when building the doc as it takes
+ time and resources for no good reason
+ - Stop linking to `GInstanceInitFunc` as it is not present in latest GLib
+ documentation, leading to warnings in hotdoc.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2954>
+
+2022-08-29 10:17:45 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/meson.build:
+ doc: Do not build plugins to build the doc
+ It is not actually necessary
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2954>
+
+2021-03-24 14:20:18 -0500 Zebediah Figura <z.figura12@gmail.com>
+
+ * meson.build:
+ meson: Build with -Wl,-z,nodelete to prevent unloading of dynamic libraries and plugins
+ GLib made the unfortunate decision to prevent libgobject from ever being
+ unloaded, which means that now any library which registers a static type
+ can't ever be unloaded either (and any library that depends on those,
+ ad nauseam).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/778>
+
+2022-09-01 15:11:31 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * ext/libav/meson.build:
+ meson: Call pkgconfig.generate in the loop where we declare plugins dependencies
+ Removing some copy pasted code
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-09-01 11:51:48 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/meson.build:
+ meson: Namespace the plugins_doc_dep/libraries variables
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-08-31 18:44:14 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * meson.build:
+ meson: Rename plugins list and make them "dependency" objects
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-05-31 15:18:03 +0200 Stéphane Cerveau <scerveau@collabora.com>
+
+ * docs/meson.build:
+ * meson.build:
+ docs: disable in static build
+ Following gst-plugins-base, disable docs if static_build
+ in:
+ - gstreamer
+ - gst-plugins-good
+ - gst-plugins-ugly
+ - gst-libav
+ - gstreamer-vaapi
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2529>
+
+2022-07-07 22:16:30 +0900 Seungha Yang <seungha@centricular.com>
+
+ * ext/libav/gstavcfg.c:
+ libav: Fix for APNG encoder property registration
+ The AVClass name of Animated PNG in FFmpeg 5.x is "(A)PNG"
+ and it will be converted to "-a-png" through
+ g_ascii_strdown() and g_strcanon(). But GLib disallow leading '-'
+ character for a GType name. Strip leading '-' to workaround it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2724>
+
+2022-06-29 10:55:13 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ coding style: allow declarations after statement
+ See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1243/
+ and https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/78
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2683>
+
+2022-06-08 19:18:48 +0300 Vivia Nikolaidou <vivia@ahiru.eu>
+
+ * ext/libav/gstavviddec.c:
+ avviddec, video.c, h265parse: Workaround for broken field-based interlaced encoders
+ Some encoders (e.g. Makito) have H265 field-based interlacing, but then
+ also specify an 1:2 pixel aspect ratio. That makes it kind-of work with
+ decoders that don't properly support field-based decoding, but makes us
+ end up with the wrong aspect ratio if we implement everything properly.
+ As a workaround, detect 1:2 pixel aspect ratio for field-based
+ interlacing, and check if making that 1:1 would make the new display
+ aspect ratio common. In that case, we override it with 1:1.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2577>
+
+2022-04-15 16:38:46 +0200 Guillaume Desmottes <guillaume.desmottes@onestream.live>
+
+ * ext/libav/gstavviddec.c:
+ libav: fix frame leak on negotiation error
+ The function owns a reference on the frame. Drop it if negotiation
+ failed as we are already doing for the other error cases.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2196>
+
+2022-04-04 23:32:56 +0200 Fabrice Fontaine <fontaine.fabrice@gmail.com>
+
+ * meson.build:
+ gst-libav: fix build on systems without C++ compiler
+ Fix the following build failure on systems without C++ compiler:
+ The following exception(s) were encountered:
+ Running "/nvmedata/autobuild/instance-9/output-1/host/bin/or1k-buildroot-linux-musl-g++ --version" gave "[Errno 2] No such file or directory: '/nvmedata/autobuild/instance-9/output-1/host/bin/or1k-buildroot-linux-musl-g++'"
+ Fixes:
+ - http://autobuild.buildroot.org/results/8ac0ba5eaaf7571857b4d8cfabf1488d640dc59a
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2112>
+
+2022-03-29 09:36:06 +0200 Edward Hervey <edward@centricular.com>
+
+ * ext/libav/gstavviddec.c:
+ avviddec: Remove vc1/wmv3 override
+ FFMPEG 5+ doesn't allow overriding the codec anymore (causes a segfault if you
+ attempt to do that). But the best part is ... that with the current caps
+ implementation in pad template and gst_ffmpeg_caps_to_codecid() we would never
+ replace it by anything different than the existing codec id.
+ Fixes #1054
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2052>
+
+2022-03-18 13:42:27 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * meson.build:
+ meson: Bump all meson requirements to 0.60
+ Lots of new warnings ever since
+ https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1934
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1977>
+
+2021-10-05 13:43:50 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/libav/gstavaudenc.c:
+ avaudenc: Add support for AV_PKT_DATA_SKIP_SAMPLES side data
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1028>
+
+2019-09-10 17:30:07 +0200 Carlos Rafael Giani <crg7475@mailbox.org>
+
+ * ext/libav/gstavauddec.c:
+ avauddec: Add clipping meta support for gapless playback
+ Co-authored-by: Sebastian Dröge <sebastian@centricular.com>
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1028>
+
+2021-10-01 20:27:28 +0900 Seungha Yang <seungha@centricular.com>
+
+ * meson.build:
+ meson: Do hard build error for some MSVC warnings
+ Handle various MSVC warnings as errors for development version.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1006>
+
+2022-02-04 11:15:47 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ Back to development
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1635>
+
=== release 1.20.0 ===
2022-02-03 19:53:25 +0000 Tim-Philipp Müller <tim@centricular.com>
+ * ChangeLog:
* NEWS:
* RELEASE:
* gst-libav.doap:
diff --git a/subprojects/gst-omx/ChangeLog b/subprojects/gst-omx/ChangeLog
index d3f9e5aaa5..b571f0bd42 100644
--- a/subprojects/gst-omx/ChangeLog
+++ b/subprojects/gst-omx/ChangeLog
@@ -1,7 +1,107 @@
+2022-09-21 19:19:45 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * meson.build:
+ meson: Use implicit builtin dirs in pkgconfig generation
+ Starting with Meson 0.62, meson automatically populates the variables
+ list in the pkgconfig file if you reference builtin directories in the
+ pkgconfig file (whether via a custom pkgconfig variable or elsewhere).
+ We need this, because ${prefix}/libexec is a hard-coded value which is
+ incorrect on, for example, Debian.
+ Bump requirement to 0.62, and remove version compares that retained
+ support for older Meson versions.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1245
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3061>
+
+2021-03-24 14:20:18 -0500 Zebediah Figura <z.figura12@gmail.com>
+
+ * meson.build:
+ meson: Build with -Wl,-z,nodelete to prevent unloading of dynamic libraries and plugins
+ GLib made the unfortunate decision to prevent libgobject from ever being
+ unloaded, which means that now any library which registers a static type
+ can't ever be unloaded either (and any library that depends on those,
+ ad nauseam).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/778>
+
+2022-09-01 11:51:48 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/meson.build:
+ meson: Namespace the plugins_doc_dep/libraries variables
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-06-29 10:55:13 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ coding style: allow declarations after statement
+ See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1243/
+ and https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/78
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2683>
+
+2022-04-06 12:56:30 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ Bump GLib requirement to >= 2.62
+ Can't require 2.64 yet because of
+ https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/323
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2568>
+
+2022-03-30 11:06:02 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * meson.build:
+ Use gmodule-no-export-2.0
+ We don't need `-Wl,--export-dynamic`, that's used only for executables
+ that needs to export an API to be used by plugins they load.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031>
+
+2022-03-25 15:00:20 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * meson.build:
+ * omx/meson.build:
+ * tests/check/meson.build:
+ * tools/meson.build:
+ Remove glib and gobject dependencies everywhere
+ They are part of gst_dep already and we have to make sure to always have
+ gst_dep. The order in dependencies matters, because it is also the order
+ in which Meson will set -I args. We want gstreamer's config.h to take
+ precedence over glib's private config.h when it's a subproject.
+ While at it, remove useless fallback args for gmodule/gio dependencies,
+ only gstreamer core needs it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031>
+
+2022-03-18 13:42:27 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * meson.build:
+ meson: Bump all meson requirements to 0.60
+ Lots of new warnings ever since
+ https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1934
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1977>
+
+2022-02-21 11:37:26 -0500 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * config/meson.build:
+ * meson.build:
+ devenv: Add some missing GStreamer specific env variables
+ This should make "meson devenv" closer to what "gst-env.py" sets.
+ - GST_VALIDATE_SCENARIOS_PATH
+ - GST_VALIDATE_APPS_DIR
+ - GST_OMX_CONFIG_DIR
+ - GST_ENCODING_TARGET_PATH
+ - GST_PRESET_PATH
+ - GST_PLUGIN_SCANNER
+ - GST_PTP_HELPER
+ - _GI_OVERRIDES_PATH
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1768>
+
+2022-02-04 11:15:47 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ Back to development
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1635>
+
=== release 1.20.0 ===
2022-02-03 19:53:25 +0000 Tim-Philipp Müller <tim@centricular.com>
+ * ChangeLog:
* NEWS:
* RELEASE:
* gst-omx.doap:
diff --git a/subprojects/gst-plugins-bad/ChangeLog b/subprojects/gst-plugins-bad/ChangeLog
index f2b3ccd3ef..78e182de0e 100644
--- a/subprojects/gst-plugins-bad/ChangeLog
+++ b/subprojects/gst-plugins-bad/ChangeLog
@@ -1,7 +1,8852 @@
+2022-09-29 14:34:31 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/gaudieffects/gstgaussblur.c:
+ gaussblur: Fix memory leak when setting caps multiple times
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3091>
+
+2022-09-27 18:17:24 +0100 Christopher Obbard <chris.obbard@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codecdevice.c:
+ v4l2codecs: Warn user when no media devices are found
+ Currently if the user is not able to access the devices under /dev/media*,
+ either due to no media devices present on the system or simply no permission
+ to access the device, v4l2codecs initialises with no features or debug messages.
+ Since calling `GST_DEBUG="v4l2*:7" gst-inspect-1.0 v4l2codecs` is a typical way
+ to diagnose why element(s) failed to enumerate, we should be more verbose here
+ when the user is not able to access any /dev/media* device. So print a simple
+ debug message in this case to aid debugging.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3088>
+
+2022-09-20 23:31:45 +0300 Mart Raudsepp <mart@leio.tech>
+
+ * gst/mpegtsdemux/mpegtsbase.c:
+ tsdemux: Don't trigger a program change when falling back to ignore-pcr behaviour
+ Since commit a79a756b79aa1675e we could change to ignore-pcr automatically at 500ms
+ into a live stream when no PCR is seen by then. However the stream counting in
+ program change detection was wrongly considering ignore-pcr programs to have a
+ separate PCR PID, even though we are actually ignoring the PCR PID completely,
+ resulting in an erroneous program switch getting triggered from the different
+ stream count. This in turn would send an EOS and switch out the pads for what
+ actually is still the same program, while we intended to simply apply a
+ workaround for broken encoders.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3060>
+
+2022-09-27 19:46:28 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * meson.build:
+ meson: Remove builtin variable datadir from pkgconfig variables
+ Fixes warning with meson 0.62:
+ gst-plugins-bad| subprojects/gst-plugins-bad/meson.build:546: WARNING:
+ Project targets '>= 0.62' but uses feature deprecated since '0.62.0':
+ pkgconfig.generate variable for builtin directories. They will be
+ automatically included when referenced
+ and more.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3086>
+
+2022-09-22 09:14:57 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * tests/interactive/pitch-test.c:
+ bad/soundtouch: Fix interactive test build on MSVC
+ Needed for https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/930
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3064>
+
+2022-09-21 19:19:45 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * meson.build:
+ meson: Use implicit builtin dirs in pkgconfig generation
+ Starting with Meson 0.62, meson automatically populates the variables
+ list in the pkgconfig file if you reference builtin directories in the
+ pkgconfig file (whether via a custom pkgconfig variable or elsewhere).
+ We need this, because ${prefix}/libexec is a hard-coded value which is
+ incorrect on, for example, Debian.
+ Bump requirement to 0.62, and remove version compares that retained
+ support for older Meson versions.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1245
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3061>
+
+2022-09-20 13:38:26 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvabaseenc.c:
+ vabaseenc: Move out encoder validation from assertion.
+ Assertion can be disabled at compilation time. Still it's important to
+ validate it the encoder object was opened by the subclass. This patch
+ removes the assertion and returns if the encoder is open.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3051>
+
+2022-09-12 09:46:43 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * tools/meson.build:
+ meson: Set install_tag on some targets
+ Trying to follow recommendation from Meson documentation:
+ https://mesonbuild.com/Installing.html#installation-tags
+ Move tools into 'bin' or 'bin-devel' categories to keep only libs and
+ plugins in the default 'runtime' category. This simplifies distribution
+ of GStreamer application skipping parts that are not needed, similarly
+ to what Cerbero does by hardcoding huge list of files.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3017>
+
+2022-09-20 16:21:24 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkav1enc.c:
+ msdkav1enc: We should not set other alignment here
+ According to spec, we have 32bit alignment for height (progressive) and
+ 16bit alignment for width, so here we don't need to add other alignment
+ settings.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3050>
+
+2022-09-17 17:49:47 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvah264enc.c:
+ va: h264enc: Fix rate control enum register failure for the second GPU.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3041>
+
+2022-09-17 10:14:40 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvah264enc.c:
+ vah264enc: Avoid precision lost by just rounding up.
+ The code where dividing by 16 and later multiplying by 16, which is
+ spurious and a potential loose of precision.
+
+2022-09-16 14:17:38 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvah264enc.c:
+ vah264enc: Update AUD property if driver can't handle raw data.
+
+2022-09-16 13:55:11 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvah264enc.c:
+ vah264enc: Remove unused dispose method.
+
+2022-09-16 15:45:11 -0400 Eric Knapp <emkman99@gmail.com>
+
+ * sys/va/gstvadeinterlace.c:
+ vadeinterlace: Fix passthrough latency query
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3038>
+
+2022-09-17 05:01:55 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvh265dec.c:
+ nvh265sldec: Sync up with d3d11h265dec implementation
+ Each RefPicSetStCurrBefore/RefPicSetStCurrAfter/RefPicSetLtCurr array
+ might have empty element (i.e., reference pictures might not be stored
+ sequentially). Don't error out for the empty element case,
+ but instead, iterates each array and fill NVDEC's reference list
+ as much as possible
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1441
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3039>
+
+2022-09-16 12:50:33 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvabaseenc.c:
+ * sys/va/gstvabaseenc.h:
+ * sys/va/gstvah264enc.c:
+ va: baseenc: Fix gobject style for chained method.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3035>
+
+2022-09-13 23:20:54 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/codectimestamper/gsth264timestamper.c:
+ * gst/codectimestamper/gsth265timestamper.c:
+ codectimestamper: Update document
+ Add more description about those elements
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3021>
+
+2022-06-09 22:32:16 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvaav1dec.c:
+ va: av1dec: user internal buffer pool for non output layers.
+ The AV1 support multi spatial layers within one TU with different
+ resolutions, and only the highest spatial layer need to be output.
+ For example, there are two spatial layer, base level is 800x600
+ and higher level is 1920x1080. We need to decode both because the
+ higher level needs base layer as reference, but we only need to output
+ 1920x1080 frames here.
+ The current manner always renegotiates the caps once we detect the
+ current picture resolution changes, so we renegotiate again and
+ again between different layers. That's a big waste and has very
+ low performance. We now only do the renegotiation for the highest
+ output layer. For other non output layers, we just keep a internal
+ buffer pool which is big enough to handle the surface allocation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2382>
+
+2022-05-12 10:12:37 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/codecs/gstav1decoder.c:
+ * gst-libs/gst/codecs/gstav1decoder.h:
+ codecs: av1decoder: Add the highest_spatial_layer field.
+ As SPEC says, when multi spatial layer exists, we should only output
+ one frame with the highest spatial id from each TU. We now store the
+ highest spatial layer information in the base class in order to let
+ the sub class handle different layers easily.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2382>
+
+2022-09-15 00:52:14 +0000 Devin Anderson <danderson@microsoft.com>
+
+ * ext/voamrwbenc/gstvoamrwbenc.c:
+ * tests/check/elements/voamrwbenc.c:
+ * tests/check/meson.build:
+ voamrwbenc: Fix truncation of audio data at end-of-stream when audio data doesn't align on 20 millisecond frame size.
+ The AMR-WB codec imposes a fixed 20 millisecond frame size. In its current
+ form, the `voamrwbenc` plugin deals with this limitation by discarding any
+ audio at the end of the stream that falls short of 20 milliseconds. This patch
+ keeps the audio data, and appends silence to the end to preserve frame size
+ alignment.
+ The patch also adds tests to check for the updated behavior. I noticed that
+ tests weren't being built, so I changed the build to allow for building the
+ tests when the `tests` and `voamrwbenc` options are set.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3027>
+
+2022-09-15 21:56:27 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/codectimestamper/gstcodectimestamper.c:
+ codectimestamper: Fix for unknown framerate
+ Use default framerate if numerator or denominator is unknown
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3031>
+
+2022-08-26 08:43:34 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * sys/qsv/plugin.cpp:
+ Build documentation for rust plugins
+ - Update the docker image we use, starting using the standard one adding
+ `gtk4-doc` as required by rust plugins
+ - Update the plugins_doc_caches as required, some more plugins are built
+ with the new image
+ - Install ninja from pip as the version from F31 is too old
+ - Avoid buildings all GSreamer plugins when building the doc as it takes
+ time and resources for no good reason
+ - Stop linking to `GInstanceInitFunc` as it is not present in latest GLib
+ documentation, leading to warnings in hotdoc.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2954>
+
+2022-08-29 10:17:45 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/meson.build:
+ doc: Do not build plugins to build the doc
+ It is not actually necessary
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2954>
+
+2022-09-15 12:14:56 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * tests/check/meson.build:
+ tests: add a few more orc tests
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3029>
+
+2022-09-14 00:58:37 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvdec.c:
+ nvdec: Fix for HEVC decoding when coded resolution is larger than display resolution
+ As documented in the SDK header, we should set coded width/height
+ values to the corresponding decoder configuration option,
+ instead of display resolution
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1438
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3022>
+
+2022-09-13 04:06:02 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstcudamemorycopy.c:
+ cudaupload,cudadownload: Fix document
+ * Fix typo, NVIDA -> NVIDIA
+ * Add cudadownload doc to the source file
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3018>
+
+2022-09-13 01:02:55 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstcudamemorycopy.c:
+ cudaupload,cudadownload: Use shared GstD3D11Device context if possible
+ Handle d3d11 device context in set_context() method with
+ additional device compatibility check so that only NVIDIA GPU
+ associated d3d11 device can be configured in the element.
+ And clear old d3d11 device per set_info() for d3d11 device to be
+ updated as well.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3018>
+
+2022-09-13 01:02:50 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/cuda/cuda-gst.h:
+ * gst-libs/gst/cuda/gstcudacontext.c:
+ * gst-libs/gst/cuda/gstcudaloader.c:
+ * gst-libs/gst/cuda/gstcudautils.c:
+ * gst-libs/gst/cuda/gstcudautils.h:
+ * gst-libs/gst/cuda/meson.build:
+ * gst-libs/gst/cuda/stub/cuda.h:
+ * gst-libs/gst/cuda/stub/cudaD3D11.h:
+ cuda: Remove GST_CUDA_HAS_D3D define from header
+ ... and fix d3d11 specific enum type name
+ GST_CUDA_HAS_D3D is a build time define which indicates whether
+ GstD3D11 library is available or not, but DirectX SDK headers
+ must be available on the build system already.
+ Expose Direct3D related symbols if the build target is Windows
+ (i.e., if G_OS_WIN32 is defined)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3018>
+
+2021-03-24 14:20:18 -0500 Zebediah Figura <z.figura12@gmail.com>
+
+ * meson.build:
+ meson: Build with -Wl,-z,nodelete to prevent unloading of dynamic libraries and plugins
+ GLib made the unfortunate decision to prevent libgobject from ever being
+ unloaded, which means that now any library which registers a static type
+ can't ever be unloaded either (and any library that depends on those,
+ ad nauseam).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/778>
+
+2022-06-06 10:56:12 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ va: Remove from plugin cache.
+ GstVA is not currently build by CI, because libva version is lower
+ than expected. So, the gstva library is not build, thus some symbols
+ aren't documented, breaking the documentation CI.
+ To move things forward, let's just remove temporarly the va plugins
+ from cache. While we decide on how to update the libva package in
+ the CI.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1025>
+
+2022-06-27 18:56:01 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/va/gstvaallocator.h:
+ va: allocator: Fix parameter name to match signature.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1025>
+
+2022-02-07 17:34:57 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * docs/libs/va/index.md:
+ * docs/libs/va/sitemap.txt:
+ * gst-libs/gst/va/gstva.h:
+ * gst-libs/gst/va/gstvaallocator.c:
+ * gst-libs/gst/va/gstvaallocator.h:
+ * gst-libs/gst/va/gstvadisplay.c:
+ * gst-libs/gst/va/gstvapool.c:
+ * gst-libs/gst/va/gstvasurfacecopy.h:
+ * gst-libs/gst/va/gstvautils.c:
+ * gst-libs/gst/va/gstvavideoformat.c:
+ * gst-libs/gst/va/meson.build:
+ * sys/va/gstjpegdecoder.c:
+ * sys/va/gstjpegdecoder.h:
+ * sys/va/gstvabasetransform.c:
+ * sys/va/gstvacompositor.c:
+ * sys/va/gstvafilter.c:
+ * sys/va/gstvah264enc.c:
+ va: Complete library and plugin documentation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1025>
+
+2022-09-13 14:46:37 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/va/gstva.h:
+ * gst-libs/gst/va/meson.build:
+ * sys/va/gstvabasedec.c:
+ * sys/va/gstvacaps.c:
+ * sys/va/gstvadecoder.c:
+ * sys/va/gstvadisplay_priv.c:
+ * sys/va/gstvaencoder.c:
+ * sys/va/gstvafilter.c:
+ * sys/va/gstvah264enc.c:
+ * sys/va/gstvajpegdec.c:
+ va: Move gstvavideoformat out of library headers.
+ Since it's no needed for API consumers. Though it can be added later.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1025>
+
+2021-10-03 10:17:00 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * docs/meson.build:
+ * gst-libs/gst/va/meson.build:
+ docs: Generate libgstva GI and pkg-config.
+ Currently libgstva is only exposed internally to gst-plugins-bad. No
+ headers are installed, no documentation generated, pkgconfig file,
+ neither gobject-introspection files.
+ This patch turn on all that.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1025>
+
+2022-05-19 00:44:40 +0900 Seungha Yang <seungha@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst/codectimestamper/gstcodectimestamper.c:
+ * gst/codectimestamper/gstcodectimestamper.h:
+ * gst/codectimestamper/gsth264timestamper.c:
+ * gst/codectimestamper/gsth264timestamper.h:
+ * gst/codectimestamper/gsth265timestamper.c:
+ * gst/codectimestamper/gsth265timestamper.h:
+ * gst/codectimestamper/meson.build:
+ * gst/codectimestamper/plugin.c:
+ * gst/meson.build:
+ * meson_options.txt:
+ Add H.264/H.265 timestamp correction element
+ Adding {h264,h265}timestamper element to correct timestamp of
+ encoded frames. This initial version supports only DTS
+ correction based on given PTS and SPS data.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2580>
+
+2022-09-07 11:22:45 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst/debugutils/gsttestsrcbin.c:
+ * tests/validate/meson.build:
+ * tests/validate/testsrcbin/caps_spec.validatetest:
+ * tests/validate/testsrcbin/caps_spec/flow-expectations/log-testsrcbin0-video_src_0-expected:
+ testsrcbin: Add a way to specify caps for the output of the sources
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3007>
+
+2022-09-08 17:29:37 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst/debugutils/gsttestsrcbin.c:
+ testsrcbin: Plug some leaks
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3007>
+
+2020-11-19 18:34:00 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst/debugutils/gsttestsrcbin.c:
+ testsrcbin: Add an 'expose-sources-async' property
+ Which allows simluating usual source which require decoding etc in decodebin for example
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3007>
+
+2022-09-05 18:32:20 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvajpegdec.c:
+ vajpegdec: Enhance explanation comment.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2948>
+
+2022-09-06 14:53:41 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvacaps.c:
+ va: caps: Use G_STMT_START / END
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2948>
+
+2022-09-05 16:59:12 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvajpegdec.c:
+ vajpegdec: Check if driver has internal color conversion.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2948>
+
+2022-09-06 18:49:02 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: fix picking available payload types
+ When picking an available payload type, we need to pick one that is
+ available across all media.
+ The previous code, when multiple media were present, looked at the first one,
+ noticed it had pt 96 as the media pt, then simply looked at the next media,
+ noticed it didn't, and decided 96 was available.
+ Instead, check if the pt is used by any of the media, if it is, decide
+ it is not available and go to the next pt. I'm fairly sure that was the
+ original intent.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2984>
+
+2022-08-03 19:36:11 +0300 Jordan Petridis <jordan@centricular.com>
+
+ * ext/fluidsynth/gstfluiddec.c:
+ fluidsynth: correctly version guard methods
+ We bumped the minimum version to 2.1 but the api we used
+ wasn't introduced till version 2.2 of fluidsynth
+ Follow-up to gstreamer/gstreamer!2718
+ https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2718
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2835>
+
+2022-08-21 03:37:40 +1000 Jan Schmidt <jan@centricular.com>
+
+ * ext/dash/gstdashdemux.c:
+ * ext/dash/gstdashdemux.h:
+ * ext/dash/gstmpdclient.c:
+ * ext/dash/gstmpdclient.h:
+ dashdemux: Preserve current representation on live manifest updates
+ When updating a manifest during live playback, preserve the current
+ representation for each stream.
+ During update_fragment_info, if the current representation changed
+ because it couldn't be matched, trigger a caps change and new
+ header download.
+ This reverts commit e0e1db212fd0df2239583b9099fc4361adeded05
+ and reapplies "dashdemux: Fix issue when manifest update sets slow start
+ without passing necessary header & caps changes downstream" with
+ changes.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/507
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1729
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2920>
+
+2022-09-02 09:55:20 +0000 Florian Zwoch <fzwoch@gmail.com>
+
+ * sys/va/plugin.c:
+ va: Fix log message when registering H264 encoder.
+ The log message would report an error for the H264 decoder when
+ registering failed, but we tried to register the H264 encoder instead.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2974>
+
+2022-07-05 17:14:37 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * tests/check/elements/webrtcbin.c:
+ webrtcbin: Allow locked mlines with no caps, as the last ones
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2439>
+
+2022-05-16 18:05:25 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * tests/check/elements/webrtcbin.c:
+ webrtcbin: Reject creating an offer if a locked mline has no caps
+ This avoids getting in a bunch of corner cases. We'd have to insert
+ a "rejected" line from the start as a place-holder to get around this,
+ but the rest of the code just becomes more complicated, so just
+ disallow it for now.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2439>
+
+2022-05-16 17:17:13 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/webrtctransceiver.c:
+ * ext/webrtc/webrtctransceiver.h:
+ * tests/check/elements/webrtcbin.c:
+ webrtcbin: Store pending mid to make create-offer idempotent
+ If the mid is not stored in the transceiver, but it is stored in
+ last_offer, then a further create-offer call will just ignore that
+ transceiver.
+ Also include unit test for ensure it doesn't regress.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2439>
+
+2022-05-26 18:17:16 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkvpp.c:
+ * sys/msdk/gstmsdkvpp.h:
+ msdkvpp: Add va memory when fixating src caps
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>
+
+2022-06-08 12:31:56 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkvpp.c:
+ * sys/msdk/gstmsdkvpp.h:
+ msdkvpp : Use va pool at linux path and system pool for windows
+ We use msdkvpp's own pool to allocate buffers instead of external frame
+ allocator mfxFrameAllocator.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>
+
+2022-05-09 18:34:38 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkallocator.h:
+ * sys/msdk/gstmsdkallocator_libva.c:
+ * sys/msdk/gstmsdkvpp.c:
+ msdkvpp: Import buffer to msdk_surface
+ If the buffer is not msdk_buffer, we can try to directly import the
+ attached memory (i.e. va mem and dmabuf mem) by applying the common
+ uitl function: import_to_msdk_function ().
+ Here add a flag "from_qdata" in GstMsdkSurface to handle the cropping case,
+ we should avoid updating the crop values when msdk_surface is from the
+ memory's qdata, because the crop info from this surface is the already
+ updated one.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>
+
+2022-05-09 18:19:01 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkvpp.c:
+ msdkvpp: Add va caps at sink and src pad
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>
+
+2022-08-25 17:28:36 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ msdkenc: Apply common util func to import mem as msdk_surface
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>
+
+2022-05-27 17:56:33 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkallocator.c:
+ * sys/msdk/gstmsdkallocator.h:
+ * sys/msdk/gstmsdkallocator_libva.c:
+ * sys/msdk/gstmsdkallocator_libva.h:
+ * sys/msdk/meson.build:
+ * sys/msdk/msdk.h:
+ msdk: Add help functions to get mfxFrameSurface1 from GstBuffer and wrap it as GstMsdkSurface
+ Note that the memory abstraction for system memory is for windows path.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>
+
+2022-05-19 19:18:21 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/msdk.c:
+ * sys/msdk/msdk.h:
+ msdkenc: Use va pool on linux and system pool for windows
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>
+
+2022-05-19 18:57:50 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ msdkenc: Directly import dmabuf memory as mfx surface
+ When input buffer is of dmabuf memory but not a msdk buffer (i.e., the
+ allocator is not msdk_allocator), then we can try to get fd of this mem,
+ create the corresponding va surface and wrap it as mfx surface.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>
+
+2022-04-21 17:27:09 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ msdkenc: Directly import va memory as mfx surface
+ If input buffer is of va memory, we can directly obtain va surface from
+ the buffer and wrap it as mfx surface.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>
+
+2022-03-03 10:07:19 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdk_va.c:
+ * sys/msdk/gstmsdk_va.h:
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/meson.build:
+ msdk: Use va libs API to get VA surface from buffer
+ Direct apply gst_va_buffer_get_surface to get VASurface from a buffer,
+ so remove corresponding functions which are not used.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2498>
+
+2022-09-01 15:11:31 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * ext/aes/meson.build:
+ * ext/aom/meson.build:
+ * ext/assrender/meson.build:
+ * ext/avtp/meson.build:
+ * ext/bs2b/meson.build:
+ * ext/bz2/meson.build:
+ * ext/chromaprint/meson.build:
+ * ext/closedcaption/meson.build:
+ * ext/colormanagement/meson.build:
+ * ext/curl/meson.build:
+ * ext/dash/meson.build:
+ * ext/dc1394/meson.build:
+ * ext/directfb/meson.build:
+ * ext/dtls/meson.build:
+ * ext/dts/meson.build:
+ * ext/faac/meson.build:
+ * ext/faad/meson.build:
+ * ext/fdkaac/meson.build:
+ * ext/flite/meson.build:
+ * ext/fluidsynth/meson.build:
+ * ext/gme/meson.build:
+ * ext/gs/meson.build:
+ * ext/gsm/meson.build:
+ * ext/gtk/meson.build:
+ * ext/hls/meson.build:
+ * ext/iqa/meson.build:
+ * ext/isac/meson.build:
+ * ext/kate/meson.build:
+ * ext/ladspa/meson.build:
+ * ext/ldac/meson.build:
+ * ext/libde265/meson.build:
+ * ext/lv2/meson.build:
+ * ext/mdns/meson.build:
+ * ext/modplug/meson.build:
+ * ext/mpeg2enc/meson.build:
+ * ext/mplex/meson.build:
+ * ext/musepack/meson.build:
+ * ext/neon/meson.build:
+ * ext/onnx/meson.build:
+ * ext/openal/meson.build:
+ * ext/openaptx/meson.build:
+ * ext/opencv/meson.build:
+ * ext/openexr/meson.build:
+ * ext/openh264/meson.build:
+ * ext/openjpeg/meson.build:
+ * ext/openmpt/meson.build:
+ * ext/openni2/meson.build:
+ * ext/opus/meson.build:
+ * ext/qroverlay/meson.build:
+ * ext/resindvd/meson.build:
+ * ext/rsvg/meson.build:
+ * ext/rtmp/meson.build:
+ * ext/sbc/meson.build:
+ * ext/sctp/meson.build:
+ * ext/smoothstreaming/meson.build:
+ * ext/sndfile/meson.build:
+ * ext/soundtouch/meson.build:
+ * ext/spandsp/meson.build:
+ * ext/srt/meson.build:
+ * ext/srtp/meson.build:
+ * ext/svthevcenc/meson.build:
+ * ext/teletextdec/meson.build:
+ * ext/ttml/meson.build:
+ * ext/voaacenc/meson.build:
+ * ext/voamrwbenc/meson.build:
+ * ext/vulkan/meson.build:
+ * ext/wayland/meson.build:
+ * ext/webp/meson.build:
+ * ext/webrtc/meson.build:
+ * ext/webrtcdsp/meson.build:
+ * ext/wildmidi/meson.build:
+ * ext/wpe/meson.build:
+ * ext/x265/meson.build:
+ * ext/zbar/meson.build:
+ * ext/zxing/meson.build:
+ * gst/accurip/meson.build:
+ * gst/adpcmdec/meson.build:
+ * gst/adpcmenc/meson.build:
+ * gst/aiff/meson.build:
+ * gst/asfmux/meson.build:
+ * gst/audiobuffersplit/meson.build:
+ * gst/audiofxbad/meson.build:
+ * gst/audiolatency/meson.build:
+ * gst/audiomixmatrix/meson.build:
+ * gst/audiovisualizers/meson.build:
+ * gst/autoconvert/meson.build:
+ * gst/bayer/meson.build:
+ * gst/camerabin2/meson.build:
+ * gst/codecalpha/meson.build:
+ * gst/coloreffects/meson.build:
+ * gst/debugutils/meson.build:
+ * gst/dvbsubenc/meson.build:
+ * gst/dvbsuboverlay/meson.build:
+ * gst/dvdspu/meson.build:
+ * gst/faceoverlay/meson.build:
+ * gst/festival/meson.build:
+ * gst/fieldanalysis/meson.build:
+ * gst/freeverb/meson.build:
+ * gst/frei0r/meson.build:
+ * gst/gaudieffects/meson.build:
+ * gst/gdp/meson.build:
+ * gst/geometrictransform/meson.build:
+ * gst/id3tag/meson.build:
+ * gst/inter/meson.build:
+ * gst/interlace/meson.build:
+ * gst/ivfparse/meson.build:
+ * gst/ivtc/meson.build:
+ * gst/jp2kdecimator/meson.build:
+ * gst/jpegformat/meson.build:
+ * gst/librfb/meson.build:
+ * gst/midi/meson.build:
+ * gst/mpegdemux/meson.build:
+ * gst/mpegpsmux/meson.build:
+ * gst/mpegtsdemux/meson.build:
+ * gst/mpegtsmux/meson.build:
+ * gst/mxf/meson.build:
+ * gst/netsim/meson.build:
+ * gst/onvif/meson.build:
+ * gst/pcapparse/meson.build:
+ * gst/pnm/meson.build:
+ * gst/proxy/meson.build:
+ * gst/rawparse/meson.build:
+ * gst/removesilence/meson.build:
+ * gst/rist/meson.build:
+ * gst/rtmp2/meson.build:
+ * gst/rtp/meson.build:
+ * gst/sdp/meson.build:
+ * gst/segmentclip/meson.build:
+ * gst/siren/meson.build:
+ * gst/smooth/meson.build:
+ * gst/speed/meson.build:
+ * gst/subenc/meson.build:
+ * gst/switchbin/meson.build:
+ * gst/timecode/meson.build:
+ * gst/transcode/meson.build:
+ * gst/videofilters/meson.build:
+ * gst/videoframe_audiolevel/meson.build:
+ * gst/videoparsers/meson.build:
+ * gst/videosignal/meson.build:
+ * gst/vmnc/meson.build:
+ * gst/y4m/meson.build:
+ * meson.build:
+ * sys/amfcodec/meson.build:
+ * sys/androidmedia/meson.build:
+ * sys/applemedia/meson.build:
+ * sys/asio/meson.build:
+ * sys/bluez/meson.build:
+ * sys/d3d11/meson.build:
+ * sys/d3dvideosink/meson.build:
+ * sys/decklink/meson.build:
+ * sys/directshow/meson.build:
+ * sys/directsound/meson.build:
+ * sys/dvb/meson.build:
+ * sys/fbdev/meson.build:
+ * sys/ipcpipeline/meson.build:
+ * sys/kms/meson.build:
+ * sys/magicleap/meson.build:
+ * sys/mediafoundation/meson.build:
+ * sys/msdk/meson.build:
+ * sys/nvcodec/meson.build:
+ * sys/opensles/meson.build:
+ * sys/qsv/meson.build:
+ * sys/shm/meson.build:
+ * sys/tinyalsa/meson.build:
+ * sys/uvch264/meson.build:
+ * sys/v4l2codecs/meson.build:
+ * sys/va/meson.build:
+ * sys/wasapi/meson.build:
+ * sys/wasapi2/meson.build:
+ * sys/wic/meson.build:
+ * sys/winks/meson.build:
+ * sys/winscreencap/meson.build:
+ meson: Call pkgconfig.generate in the loop where we declare plugins dependencies
+ Removing some copy pasted code
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-09-01 11:51:48 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/meson.build:
+ * gst-libs/gst/adaptivedemux/meson.build:
+ * gst-libs/gst/audio/meson.build:
+ * gst-libs/gst/codecparsers/meson.build:
+ * gst-libs/gst/codecs/meson.build:
+ * gst-libs/gst/cuda/meson.build:
+ * gst-libs/gst/d3d11/meson.build:
+ * gst-libs/gst/insertbin/meson.build:
+ * gst-libs/gst/interfaces/meson.build:
+ * gst-libs/gst/mpegts/meson.build:
+ * gst-libs/gst/opencv/meson.build:
+ * gst-libs/gst/play/meson.build:
+ * gst-libs/gst/player/meson.build:
+ * gst-libs/gst/sctp/meson.build:
+ * gst-libs/gst/transcoder/meson.build:
+ * gst-libs/gst/uridownloader/meson.build:
+ * gst-libs/gst/va/meson.build:
+ * gst-libs/gst/vulkan/meson.build:
+ * gst-libs/gst/wayland/meson.build:
+ * gst-libs/gst/webrtc/meson.build:
+ * gst-libs/gst/webrtc/nice/meson.build:
+ * meson.build:
+ meson: Namespace the plugins_doc_dep/libraries variables
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-09-01 10:28:13 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/cuda/meson.build:
+ cuda: meson: Fix generating GstCuda gir file against gstreamer-full
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-08-31 18:44:14 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * meson.build:
+ meson: Rename plugins list and make them "dependency" objects
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-08-30 05:02:31 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+ d3d11memory: Fix GstAllocator::mem_copy() implementation
+ We were checking possible bind flags for the DXGI format
+ of the source texture but that's never applied to
+ the destination texture desc.
+ Just use the already configured bind (and misc) flags of source texture
+ for the destination texture allocation without additional check.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2950>
+
+2022-08-24 08:22:49 +0200 Robert Rosengren <robertr@axis.com>
+
+ * ext/curl/gstcurlbasesink.c:
+ * ext/curl/gstcurlbasesink.h:
+ curlbasesink: gst_curl_base_sink_transfer_thread_close is internal
+ gst_curl_base_sink_transfer_thread_close is moved from external header
+ to be static function, as it has no users.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2732>
+
+2022-07-07 09:20:04 +0200 Robert Rosengren <robertr@axis.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/curl/gstcurlhttpsink.c:
+ * ext/curl/gstcurlhttpsink.h:
+ curlhttpsink: Only set MIME as content-type if not set by property
+ Setting the content-type property shall override internally detected MIME
+ types, to make it possible to do as following example (where audio/basic to be
+ used prior to audio/x-mulaw):
+ gst-launch-1.0 ... ! mulawenc ! audio/x-mulaw,rate=8000,channels=1 !
+ curlhttpsink location=<url> content-type=audio/basic
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2732>
+
+2022-08-26 00:16:56 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11-private.h:
+ * gst-libs/gst/d3d11/gstd3d11bufferpool.cpp:
+ * gst-libs/gst/d3d11/gstd3d11bufferpool.h:
+ * gst-libs/gst/d3d11/gstd3d11compile.cpp:
+ * gst-libs/gst/d3d11/gstd3d11converter.cpp:
+ * gst-libs/gst/d3d11/gstd3d11converter.h:
+ * gst-libs/gst/d3d11/gstd3d11device.cpp:
+ * gst-libs/gst/d3d11/gstd3d11device.h:
+ * gst-libs/gst/d3d11/gstd3d11format.cpp:
+ * gst-libs/gst/d3d11/gstd3d11format.h:
+ * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+ * gst-libs/gst/d3d11/gstd3d11memory.h:
+ * gst-libs/gst/d3d11/gstd3d11utils.cpp:
+ * sys/d3d11/gstd3d11pluginutils.h:
+ d3d11: Update library doc
+ * Private header name is changed to gstd3d11-private.h to follow
+ naming convention
+ * Add Since mark everywhere
+ * Update member variable names to be consistent with the other
+ object implementations in this library
+ * Correct outdated documentation
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2945>
+
+2022-08-25 14:24:25 +0200 Piotr Brzeziński <piotr@centricular.com>
+
+ * sys/applemedia/avfvideosrc.m:
+ avfvideosrc: Fix wrong default framerate value
+ Current default G_MAXINT is not a correct value under any circumstances.
+ This creates an issue with screen capture, during which we currently do
+ not get any framerate info causing G_MAXINT to show up, where elements
+ downstream can possibly misbehave - for example, `vtenc` causes
+ a kernel panic.
+ Replace with 30/1 to avoid such scenarios.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2944>
+
+2022-08-25 15:28:21 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstjpegdecoder.c:
+ jpegdecoder: return the real error of decode_scan and decode_frame.
+ The current handle_frame() does not return the real error that happens
+ in decode_scan and decode_frame, which makes the pipeline continue with
+ the error and may trigger asserting later.
+ We also return the error when decode_quant_table or decode_huffman_table
+ fails.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2938>
+
+2022-08-19 21:54:48 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tests/examples/d3d11/d3d11videosink-present.cpp:
+ * tests/examples/d3d11/meson.build:
+ examples: d3d11videosink: Add present signal example
+ Add an example to show the usage of present singal.
+ In this example, a text overlay with alpha blended background
+ will be rendered on swapchain's backbuffer by using
+ Direct3D11, Direct2D, and DirectWrite APIs.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2923>
+
+2022-08-24 00:13:21 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11videosink.cpp:
+ * sys/d3d11/gstd3d11window.cpp:
+ * sys/d3d11/gstd3d11window.h:
+ * sys/d3d11/gstd3d11window_dummy.cpp:
+ d3d11videosink: Add display-format property
+ Make swapchian's display format configurable, since some DXGI formats
+ we can use for swapchain are not API interop compatible.
+ For instance, BGRA format should be used for Direct2D interop.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2923>
+
+2022-08-19 20:25:31 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11videosink.cpp:
+ * sys/d3d11/gstd3d11window.cpp:
+ * sys/d3d11/gstd3d11window.h:
+ * sys/d3d11/gstd3d11window_corewindow.cpp:
+ * sys/d3d11/gstd3d11window_swapchainpanel.cpp:
+ * sys/d3d11/gstd3d11window_win32.cpp:
+ d3d11videosink: Add present signal
+ The "present" signal will be emitted just before the
+ IDXGISwapChain::Present() call. The client can perform additional
+ GPU operation with given GstD3D11Device object and
+ ID3D11RenderTargetView handle. Or, the client can read back
+ the scene to be displayed on window using the signal.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2923>
+
+2022-08-19 04:49:53 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gsth265decoder.c:
+ h265decoder: Update SpsMaxLatencyPictures properly
+ The SpsMaxLatencyPictures value never gets back to zero even if
+ it's needed. Update the value properly.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2915>
+
+2022-08-19 04:44:48 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gsth265decoder.c:
+ h265decoder: Reorganize debug printing
+ As of the MR
+ https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2575
+ gst_h265_decoder_process_sps() is called per slice and it causes
+ noisy debug message print.
+ Reorganize related and the other debug printings at once.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2915>
+
+2022-08-20 16:15:15 +0100 Philippe Normand <philn@igalia.com>
+
+ * ext/openh264/gstopenh264dec.cpp:
+ * ext/openh264/gstopenh264enc.cpp:
+ openh264: Register debug categories earlier
+ Otherwise the GST_ERROR message logged in case of ABI mismatch would be done on
+ an uninitialized category.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2918>
+
+2022-08-20 16:57:27 +0100 Philippe Normand <philn@igalia.com>
+
+ * ext/openh264/gstopenh264enc.cpp:
+ openh264enc: Fix constrained-high encoding
+ constrained-high is high without B-frames, there is no EProfileIdc for this, so
+ assume high instead of hitting an assert down the line.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2919>
+
+2022-08-19 09:07:50 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/webrtc/ice.c:
+ * gst-libs/gst/webrtc/ice.h:
+ * gst-libs/gst/webrtc/nice/nice.c:
+ webrtc:ice: Fix candidate stats related APIs for bindings
+ null-terminated arrays of structures is not usable.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2917>
+
+2022-08-18 13:27:02 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvah265dec.c:
+ va: h265dec: Enable the scc_main_4:4:4_10 profile.
+ We should enable this profile which is already allown in vaprofile.c
+ after libva 1.8 version.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2909>
+
+2022-07-06 09:08:17 -0400 U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * sys/kms/gstkmssink.c:
+ * sys/kms/gstkmssink.h:
+ kmssink: add fd property
+ This allows an application to provide their own opened DRM device
+ fd handle to kmssink. For example, an application can lease
+ multiple fd's from a DRM master to display on different CRTC
+ outputs at the same time with multiple kmssink instances.
+ Specifying the fd property is not allowed when driver-name
+ and/or bus-id properties are specified.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2807>
+
+2022-08-19 00:05:17 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11deinterlace.cpp:
+ * sys/d3d11/gstd3d11screencapture.cpp:
+ * sys/d3d11/gstd3d11videosink.cpp:
+ d3d11: Use CRITICAL_SECTION instead of GRecMutex
+ The GRecMutex abstraction (and heap allocation happens in GLib)
+ is unnecessary for this plugin.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2914>
+
+2022-08-17 11:18:54 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/webrtc/webrtc_fwd.h:
+ webrtc: doc: Cleanup Since markers
+ We hide some newly public symbols when moving some objects to the library
+ which was not really correct in the end. Properly add the Since markers
+ as needed.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2891>
+
+2022-08-16 08:59:00 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/webrtc/ice.h:
+ webrtc:ice: Reindent header
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2891>
+
+2022-08-15 21:27:06 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/webrtc/ice.h:
+ webrtc:ice: Mark protected fields as such
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2891>
+
+2022-08-15 21:25:25 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/webrtc/datachannel.c:
+ * gst-libs/gst/webrtc/dtlstransport.c:
+ * gst-libs/gst/webrtc/ice.c:
+ * gst-libs/gst/webrtc/icestream.c:
+ * gst-libs/gst/webrtc/icetransport.c:
+ * gst-libs/gst/webrtc/rtpreceiver.c:
+ * gst-libs/gst/webrtc/rtpsender.c:
+ * gst-libs/gst/webrtc/rtptransceiver.c:
+ webrtc: Fix documentaton moving symbols in the right pages
+ As those symbols are documented in a 'fwd' header smart indexing in
+ hotdoc wasn't working.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2891>
+
+2022-08-15 11:52:50 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/webrtc/ice.c:
+ * gst-libs/gst/webrtc/ice.h:
+ * gst-libs/gst/webrtc/nice/nice.c:
+ webrtc:ice: Avoid using GArray in public API
+ And use plain null terminated C arrays instead.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2891>
+
+2022-08-15 11:37:57 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/webrtc/ice.c:
+ webrtc:ice: Fix some annotations
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2891>
+
+2022-08-15 11:36:25 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/webrtc/ice.c:
+ * gst-libs/gst/webrtc/ice.h:
+ webrtc: Make GstWebRTCIceCandidateStats a Boxed type
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2891>
+
+2022-08-14 17:38:24 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/webrtc/ice.h:
+ webrtc:ice: Add padding to structures
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2891>
+
+2022-08-14 21:49:27 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/cuda/cuda-gst.h:
+ * gst-libs/gst/cuda/gstcudanvrtc.c:
+ * gst-libs/gst/cuda/gstcudanvrtc.h:
+ * gst-libs/gst/cuda/gstnvrtcloader.c:
+ * gst-libs/gst/cuda/gstnvrtcloader.h:
+ * gst-libs/gst/cuda/meson.build:
+ * sys/nvcodec/gstcudafilter.c:
+ cuda: Hide runtime compiler related header and symbols
+ That's already abstracted via gst_cuda_nvrtc_compile() method
+ and therefore, we do not need to expose such symbols yet.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2884>
+
+2022-08-17 12:22:38 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvajpegdec.c:
+ vajpegdec: Fix memory leak.
+ Free value content.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2899>
+
+2022-08-16 20:05:15 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvajpegdec.c:
+ vajpegdec: Fix 4:2:2 for i965.
+ Since i965 uses NV12 either for 4:2:0 and 4:2:2 chroma (using an
+ internal color conversion) the chroma validation has to be shortcut.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2899>
+
+2022-08-16 19:50:49 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/va/gstvavideoformat.c:
+ va: libs: Add Y42B format.
+ Enable 4:2:2 JPEG decoding in iHD.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2899>
+
+2022-08-16 16:06:20 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/va/gstvavideoformat.c:
+ * gst-libs/gst/va/gstvavideoformat.h:
+ * sys/va/gstvacaps.c:
+ va: Validate JPEG subsampling configurations.
+ There are Mesa Gallium drivers that report subsampling but without
+ any pixel format. So, strip out these subsamplings.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2899>
+
+2022-08-16 14:45:46 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvadecoder.c:
+ * sys/va/gstvaencoder.c:
+ va: gst_va_create_raw_caps_from_config() may return NULL.
+ This patch verifies if the function returns NULL in the caller.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2899>
+
+2022-08-17 11:42:09 -0400 Eric Knapp <emkman99@gmail.com>
+
+ * sys/decklink/gstdecklink.cpp:
+ * sys/decklink/gstdecklink.h:
+ * sys/decklink/gstdecklinkvideosrc.cpp:
+ decklink: Validate video input format
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2892>
+
+2022-08-15 11:23:56 -0400 Eric Knapp <emkman99@gmail.com>
+
+ * sys/decklink/gstdecklink.cpp:
+ decklink: Auto-detect 10-bit YUV
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2892>
+
+2022-08-14 22:31:29 -0400 Daniel Morin <daniel.morin@collabora.com>
+
+ * gst-libs/gst/play/gstplay-media-info.h:
+ * gst-libs/gst/play/gstplay-signal-adapter.h:
+ * gst-libs/gst/play/gstplay-video-overlay-video-renderer.h:
+ * gst-libs/gst/play/gstplay-video-renderer.h:
+ * gst-libs/gst/play/gstplay-visualization.h:
+ gst-play: missing cleanup for g_autoptr
+ Without this change cleanup function for g_autoptr is not defined for
+ GstPlayMediaInfo, GstPlaySignalAdapter, GstPlayVideoRenderer,
+ GstPlayVideoOverlayVideoRenderer and GstPlayVisualization. Cleanup
+ function was defined in gstplay.h, but missing in other header files.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2888>
+
+2022-08-16 21:01:47 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/meson.build:
+ meson: d3d11: Fix missing header install
+ Install gstd3d11compile.h header file
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2896>
+
+2022-08-15 01:50:15 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11av1dec.cpp:
+ * sys/d3d11/gstd3d11decoder.cpp:
+ * sys/d3d11/gstd3d11decoder.h:
+ * sys/d3d11/gstd3d11h264dec.cpp:
+ * sys/d3d11/gstd3d11h265dec.cpp:
+ * sys/d3d11/gstd3d11mpeg2dec.cpp:
+ * sys/d3d11/gstd3d11vp8dec.cpp:
+ * sys/d3d11/gstd3d11vp9dec.cpp:
+ d3d11decoder: Do timer based DecoderBeginFrame retry
+ ... instead of retry count based one, because the precision of Sleep()
+ varies depending on system and application configuration.
+ Also, don't retry DecoderBeginFrame if decoder is doing flush.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2886>
+
+2022-08-14 21:18:24 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstcudamemorycopy.c:
+ cudaupload,cudadownload: Don't simplify caps in transform_caps
+ The simplified caps might not be a subset of filter caps
+ and basetransform will complain about it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2883>
+
+2022-08-15 00:22:14 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11decoder.cpp:
+ d3d11decoder: Do not use miniobject qdata
+ The miniobject qdata uses global mutex.
+ Use ID3D11DeviceChild::{Set,Get}PrivateData methods instead.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2885>
+
+2022-08-13 05:24:03 +0900 Seungha Yang <seungha@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ docs: Remove dxgiscreencapsrc from documentation
+ The implementation was dropped in
+ https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1750
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2878>
+
+2022-08-13 12:24:37 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/player/gstplayer-media-info.c:
+ player: Don't leak wrapped video info
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1373
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2880>
+
+2022-08-13 11:50:20 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/play/gstplay.c:
+ play: Make ownership of video-sink clearer in combination with floating references
+ And correctly handle the case of VideoRenderer::create_video_sink() not
+ actually returning a floating reference, which might be tricky for some
+ bindings.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2880>
+
+2022-08-13 11:49:08 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/play/gstplay.c:
+ play: Fix object construction
+ Ideally new() functions should simply call g_object_new() and not much
+ else, so let's do that here and handle all the construction properly in
+ a GObject way.
+ Now a play object created via g_object_new() is actually usable.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2880>
+
+2022-08-13 11:39:59 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/player/gstplayer.c:
+ player: Fix object construction
+ Ideally new() functions should simply call g_object_new() and not much
+ else, so let's do that here and handle all the construction properly in
+ a GObject way.
+ Now a player object created via g_object_new() is actually usable.
+ In addition, also fix the video-renderer property so that reading it
+ returns an object of the correct type.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2880>
+
+2022-08-13 11:30:35 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/player/gstplayer.c:
+ player: Release signal adapter on finalize
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2880>
+
+2022-08-08 23:37:11 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/mxf/mxfaes-bwf.c:
+ mxfdemux: Always calculate BlockAlign of raw audio
+ Workaround for nBlockAlign and nBitsPerSample mismatch. Always
+ use the formula described in the specification for BlockAlign value
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2864>
+
+2022-08-12 22:05:36 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/meson.build:
+ meson: d3d11: Fix build with GIR enabled
+ ... and remove unused list
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2870>
+
+2022-08-12 18:24:41 +0300 Matthias Clasen <mclasen@redhat.com>
+
+ * gst-libs/gst/player/gstplayer.c:
+ gstplayer: Plug a memory leak
+ This was showing up as a memory leak in GTK's
+ gstreamer media backend:
+ 40 bytes in 1 blocks are definitely lost in loss record 18,487 of 40,868
+ at 0x484586F: malloc (vg_replace_malloc.c:381)
+ by 0x50D5278: g_malloc (gmem.c:125)
+ by 0x50EDBA5: g_slice_alloc (gslice.c:1072)
+ by 0x50EFBCC: g_slice_alloc0 (gslice.c:1098)
+ by 0x51F2F45: g_type_create_instance (gtype.c:1911)
+ by 0x51DAE37: g_object_new_internal (gobject.c:2011)
+ by 0x51DC080: g_object_new_with_properties (gobject.c:2181)
+ by 0x51DCB20: g_object_new (gobject.c:1821)
+ by 0x9855F86: UnknownInlinedFun (gstplayer-wrapped-video-renderer.c:109)
+ by 0x9855F86: gst_player_new (gstplayer.c:579)
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1374
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2875>
+
+2022-08-12 11:32:45 +0200 Corentin Damman <c.damman@intopix.com>
+
+ * sys/d3d11/gstd3d11window.cpp:
+ d3d11window: fix DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING swap chain flag for full screen
+ Fixes #1372 (regression introduced in 5eeec165)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2866>
+
+2022-08-10 11:12:37 +0100 Philippe Normand <philn@igalia.com>
+
+ * ext/wpe/gstwpesrcbin.cpp:
+ wpesrc: Switch URI handler to web+... protocols
+ The web://http:// URIs were not compliant with RFC 3986. Using web+http://
+ allows us to use the GstUri parser to pass down a valid URI to `wpevideosrc`.
+ Corresponding change for the CEF source element:
+ https://github.com/centricular/gstcefsrc/commit/8d499495dd79cc0bf9a38ae82b03e374d78f68ae
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2856>
+
+2022-08-09 12:24:53 +0200 Corentin Damman <c.damman@intopix.com>
+
+ * sys/nvcodec/gstnvh264encoder.cpp:
+ * sys/nvcodec/gstnvh265encoder.cpp:
+ nvcodec: fix caps leaks in nvh264/h265encoder
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2850>
+
+2022-08-09 12:29:34 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvah264enc.c:
+ vah264enc: Set codec frame sync point if IDR
+ This flag is used by GstVideoEncoder base class for certain configurations.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2852>
+
+2022-08-09 12:28:43 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvaencoder.c:
+ * sys/va/gstvaencoder.h:
+ * sys/va/gstvah264enc.c:
+ vah264enc: Packed headers can be zero.
+ A driver can report back no packed header support (VA_ENC_PACKED_HEADER_NONE).
+ This patch removes that false verification.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2851>
+
+2022-08-07 23:24:04 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11converter.cpp:
+ * gst-libs/gst/d3d11/gstd3d11device.cpp:
+ * sys/d3d11/gstd3d11convert.cpp:
+ * sys/d3d11/gstd3d11decoder.cpp:
+ * sys/d3d11/gstd3d11window_win32.cpp:
+ d3d11: Use WIN32 API directly for locking with RAII pattern
+ Such abstraction is unnecessary for this library/plugin.
+ Use WIN32 API directly instead of GLib wrappers.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2848>
+
+2022-08-07 22:41:07 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11_private.h:
+ * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+ d3d11memory: Remove unnecessary locking
+ * memory map/unmap is already protected by d3d11 device lock.
+ Don't need to take another memory lock.
+ * Use WIN32 critical section and slim reader/writer lock APIs
+ directly instead of GLib wrappers.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2848>
+
+2022-08-05 17:20:05 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvah264enc.c:
+ vah264enc: Fix caps for mesa gallium.
+ Radeon mesa gallium driver has a bug which adds P010_10LE sink caps
+ format. This patch removes formats which arent 420 chroma.
+ gst_caps_set_format_array() wasn't used because the fix traverse
+ several structures with potential different formats.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2844>
+
+2022-08-05 15:54:39 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvah264dec.c:
+ * sys/va/gstvaprofile.c:
+ vah264dec: Complete profiles in decoder.
+ Instead of specifying all the H.264 "supported" profiles in the global
+ hash table (used either by decoders and encoders), just complete them
+ in the decoder only, since the encoder doesn't support them.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2844>
+
+2022-08-05 22:34:06 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11pluginutils.cpp:
+ * sys/d3d11/gstd3d11window.cpp:
+ * sys/d3d11/gstd3d11window.h:
+ * sys/d3d11/gstd3d11window_dummy.cpp:
+ * sys/qsv/gstqsvallocator_d3d11.cpp:
+ * tests/examples/d3d11/d3d11converter.cpp:
+ * tests/examples/d3d11/d3d11videosink-appsrc.cpp:
+ d3d11: Don't find global default allocator
+ We were using global default allocator already. Pass null
+ allocator object to *_alloc() methods then the method will
+ use default allocator.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2843>
+
+2022-08-05 22:23:52 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+ d3d11memory: Allow null GstD3D11Allocator to alloc methods
+ Similar to gst_allocator_alloc(), use default GstD3D11Allocator
+ when caller passes null allocator object
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2843>
+
+2022-08-06 00:03:43 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11_private.h:
+ * gst-libs/gst/d3d11/gstd3d11compile.cpp:
+ * gst-libs/gst/d3d11/gstd3d11converter.cpp:
+ * gst-libs/gst/d3d11/gstd3d11device.cpp:
+ * gst-libs/gst/d3d11/gstd3d11format.cpp:
+ * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+ * gst-libs/gst/d3d11/gstd3d11utils.cpp:
+ * sys/d3d11/gstd3d11decoder.cpp:
+ * sys/d3d11/gstd3d11deinterlace.cpp:
+ * sys/d3d11/gstd3d11pluginutils.cpp:
+ * sys/d3d11/gstd3d11testsrc.cpp:
+ * sys/d3d11/gstd3d11window.cpp:
+ d3d11: Use std::call_once()
+ g_once_init_enter() always takes global mutex for non-GCC build.
+ Use C++ once call implementation
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2843>
+
+2022-08-06 04:57:49 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11device.cpp:
+ d3d11device: Use WIN32 critical section API directly
+ GLib's GRecMutex will allocate another heap memory for CRITICAL_SECTION
+ struct and g_rec_mutex_lock/g_rec_mutex_unlock use WIN32 APIs actually.
+ We don't need such intermediate function calls and redundant heap allocation.
+ Just call WIN32 APIs directly.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2845>
+
+2022-08-03 17:52:25 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvabaseenc.c:
+ * sys/va/gstvabaseenc.h:
+ * sys/va/gstvah264enc.c:
+ vah264enc: Lock properties read/write.
+ This is a first step for changing properties at runtime.
+ And add missing bitrate upate and notification.
+ Fixes: #1258
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2836>
+
+2022-08-04 13:02:00 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvah264enc.c:
+ vah264enc: Use guint32 for rc_ctrl as it's for rc_ctrl_mode.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2836>
+
+2022-08-04 12:57:11 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvah264enc.c:
+ vah264enc: Split aud property and its usage.
+ Just as other property variables, it's split for ease it usage,
+ particularly after adding access locks.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2836>
+
+2022-08-04 12:00:58 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvabaseenc.h:
+ va: baseenc: Untabbify and format.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2836>
+
+2022-08-03 03:29:20 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11compositor.cpp:
+ d3d11compositor: Add gamma-mode and primaries-mode properties
+ Allows controlling gamma remap and/or chromatic adaptation behavior.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2831>
+
+2022-08-03 01:47:46 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11videosink.cpp:
+ * sys/d3d11/gstd3d11window.cpp:
+ * sys/d3d11/gstd3d11window.h:
+ * sys/d3d11/gstd3d11window_dummy.cpp:
+ d3d11videosink: Add gamma-mode and primaries-mode properties
+ Allows controlling gamma remap and/or chromatic adaptation behavior.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2831>
+
+2022-08-03 01:19:41 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11convert.cpp:
+ d3d11convert: Add gamma-mode and primaries-mode properties
+ Allows controlling gamma remap and/or chromatic adaptation behavior.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2831>
+
+2022-08-03 00:26:33 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11converter.cpp:
+ * gst-libs/gst/d3d11/gstd3d11converter.h:
+ d3d11converter: Add options for gamma and primaries conversion
+ Gamma remap and/or primaries conversion requires additional
+ processing which might be something user want to avoid, performance
+ reason for example
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2831>
+
+2022-08-01 13:04:47 +0200 Robert Mader <robert.mader@collabora.com>
+
+ * ext/wayland/gstwaylandsink.c:
+ waylandsink: Logging code style updates
+ For better readability of debug messages and to keep similar code
+ in sync with `GstGtkWaylandsink`.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2694>
+
+2022-06-30 11:48:45 +0200 Robert Mader <robert.mader@collabora.com>
+
+ * ext/wayland/gstwaylandsink.c:
+ waylandsink: Rename occurrences of GstWaylandSink to 'self'
+ Rename all occurrences to `self`, making it consintent with `GstWl*`
+ and `GstGtkWaylandsink`.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2694>
+
+2022-07-19 15:10:00 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvavpp.c:
+ vapostproc: Check for colorimetry changes.
+ It uses what's merged in
+ https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2765
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2777>
+
+2022-04-11 15:35:45 -0500 Olivier Crête <olivier.crete@collabora.com>
+
+ * tests/examples/gtk/gtkwaylandsink.c:
+ gtkwaylandsink test: Add navigationtest to example
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1515>
+
+2021-12-08 10:30:21 +0200 George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/gtk/gstgtkutils.c:
+ * ext/gtk/gstgtkutils.h:
+ * ext/gtk/gstgtkwaylandsink.c:
+ * ext/gtk/gstgtkwaylandsink.h:
+ * ext/gtk/gstplugin.c:
+ * ext/gtk/gtkgstbasewidget.c:
+ * ext/gtk/gtkgstbasewidget.h:
+ * ext/gtk/gtkgstwaylandwidget.c:
+ * ext/gtk/gtkgstwaylandwidget.h:
+ * ext/gtk/meson.build:
+ * ext/meson.build:
+ * meson_options.txt:
+ * tests/examples/gtk/gtkwaylandsink.c:
+ * tests/examples/gtk/meson.build:
+ * tests/examples/gtk/window.ui:
+ * tests/examples/meson.build:
+ Add new gtkwaylandsink element
+ This is based on gtksink, but similar to waylandsink uses Wayland APIs
+ directly instead of rendering with Gtk/Cairo primitives.
+ Note that the long term plan is to move this into the existing extension
+ in `-good`, which requires the Wayland library to move the as well.
+ For this reason several files like `gstgtkutils.*` and `gtkgstbasewidget.*`
+ are straight copies and should be kept in sync.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1515>
+
+2022-08-02 05:06:24 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11window.cpp:
+ * sys/d3d11/gstd3d11window_win32.cpp:
+ d3d11videosink: Translate mouse position
+ Converts mouse cursor position represented in display coordinates to
+ stream coordinates.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2824>
+
+2022-08-02 04:16:31 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11videosink.cpp:
+ d3d11videosink: Early terminate mouse/keyboard event handling
+ ... and add missing null check (plus coding style fix)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2824>
+
+2022-07-30 17:28:41 +0100 Philippe Normand <philn@igalia.com>
+
+ * gst-libs/gst/webrtc/nice/nice.c:
+ * gst-libs/gst/webrtc/nice/nicestream.c:
+ * gst-libs/gst/webrtc/nice/nicetransport.c:
+ webrtc: nice: WeakRef access fixes
+ The GstWebRTCNiceStream::ice property getter already hands-off a full reference,
+ so there is no need to call g_weak_ref_get() in call sites.
+ Fixes #1350
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2819>
+
+2022-07-30 17:19:42 +0100 Philippe Normand <philn@igalia.com>
+
+ * gst-libs/gst/webrtc/ice.h:
+ webrtc: ice: Fix GstWebRTCICE parent class
+ It is a GstObject, not a GObject.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2819>
+
+2022-07-30 17:43:38 +0100 Philippe Normand <philn@igalia.com>
+
+ * ext/dtls/gstdtlssrtpdec.c:
+ * ext/dtls/gstdtlssrtpenc.c:
+ dtls: Properly name encoder/decoder logging categories
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2820>
+
+2022-07-30 17:42:50 +0100 Philippe Normand <philn@igalia.com>
+
+ * ext/dtls/gstdtlsagent.c:
+ * ext/dtls/gstdtlsagent.h:
+ * ext/dtls/gstdtlsconnection.c:
+ * ext/dtls/gstdtlsconnection.h:
+ dtls: Make agent and connection GstObjects
+ Facilitates debug logs interpretation of GST_DEBUG_OBJECT() calls.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2820>
+
+2022-07-30 02:29:49 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * ext/sctp/usrsctp/meson.build:
+ * sys/qsv/libmfx/meson.build:
+ meson: Don't pass -Werror to vendored code
+ Do it the correct way with libusrsctp -- override the option so that
+ it's done in a compiler-agnostic and future-proof way.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2494>
+
+2022-05-25 18:40:30 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst/rtmp2/gstrtmp2locationhandler.c:
+ * gst/rtmp2/rtmp/rtmpclient.c:
+ rtsp+rtmp: Forward warning added to tls-validation-flags to our users
+ With the 2.72 release, glib-networking developers have decided that
+ TLS certificate validation cannot be implemented correctly by them, so
+ they've deprecated it.
+ In a nutshell: a cert can have several validation errors, but there
+ are no guarantees that the TLS backend will return all those errors,
+ and things are made even more complicated by the fact that the list of
+ errors might refer to certs that are added for backwards-compat and
+ won't actually be used by the TLS library.
+ Our best option is to ignore the deprecation and pass the warning onto
+ users so they can make an appropriate security decision regarding
+ this.
+ We can't deprecate the tls-validation-flags property because it is
+ very useful when connecting to RTSP cameras that will never get
+ updates to fix certificate errors.
+ Relevant upstream merge requests / issues:
+ https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2214
+ https://gitlab.gnome.org/GNOME/glib-networking/-/issues/179
+ https://gitlab.gnome.org/GNOME/glib-networking/-/merge_requests/193
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2494>
+
+2022-05-25 16:03:22 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * ext/dtls/gstdtlscertificate.c:
+ dtls: Disable OpenSSL 3.0 deprecation warnings for now
+ Fedora 36 ships with OpenSSL 3.0, which deprecates all low-level APIs,
+ so this code needs to be rewritten. There is no easy fix in the
+ porting guide, and it recommends disabling the warnings if you can't
+ use the high-level API.
+ https://wiki.openssl.org/index.php/OpenSSL_3.0#Upgrading_to_OpenSSL_3.0_from_OpenSSL_1.1.1
+ Here's the replacement API:
+ https://www.openssl.org/docs/man3.0/man7/migration_guide.html#Deprecated-low-level-object-creation
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2494>
+
+2022-07-29 02:36:40 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/wasapi2/gstwasapi2ringbuffer.cpp:
+ wasapi2: Fix initial mute/volume setting
+ Fix up volume/mute change flag setting
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2809>
+
+2022-07-26 13:59:33 -0400 Eric Knapp <emkman99@gmail.com>
+
+ * sys/va/gstvah264enc.c:
+ va: h264enc: Make AUD the first NAL unit
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2796>
+
+2022-07-26 15:49:32 -0400 U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+ * ext/webrtc/meson.build:
+ * gst-libs/gst/webrtc/nice/meson.build:
+ meson: webrtc: ensure definition of libgstwebrtcnice_dep
+ ... and skip if it's disabled.
+ Fixes #1344
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2797>
+
+2022-04-18 23:25:13 +0530 yatinmaan <yatinmaan1@gmail.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/webrtc/fwd.h:
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/gstwebrtcbin.h:
+ * ext/webrtc/gstwebrtcstats.c:
+ * ext/webrtc/meson.build:
+ * ext/webrtc/transportstream.c:
+ * ext/webrtc/webrtcsctptransport.h:
+ * gst-libs/gst/webrtc/ice.c:
+ * gst-libs/gst/webrtc/ice.h:
+ * gst-libs/gst/webrtc/icestream.c:
+ * gst-libs/gst/webrtc/icestream.h:
+ * gst-libs/gst/webrtc/icetransport.h:
+ * gst-libs/gst/webrtc/meson.build:
+ * gst-libs/gst/webrtc/nice/meson.build:
+ * gst-libs/gst/webrtc/nice/nice.c:
+ * gst-libs/gst/webrtc/nice/nice.h:
+ * gst-libs/gst/webrtc/nice/nice_fwd.h:
+ * gst-libs/gst/webrtc/nice/nicestream.c:
+ * gst-libs/gst/webrtc/nice/nicestream.h:
+ * gst-libs/gst/webrtc/nice/nicetransport.c:
+ * gst-libs/gst/webrtc/nice/nicetransport.h:
+ * gst-libs/gst/webrtc/webrtc-priv.h:
+ * gst-libs/gst/webrtc/webrtc.h:
+ * gst-libs/gst/webrtc/webrtc_fwd.h:
+ webrtc: Split WebRTCICE into base classes and implementation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2398>
+
+2022-07-22 22:50:33 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvallocator_d3d11.cpp:
+ * sys/qsv/gstqsvencoder.cpp:
+ qsvencoder: Add support for D3D11 shared texture
+ Although input texture belongs to the other d3d11 device,
+ we can do GPU copy when its physical device is identical.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2790>
+
+2022-07-23 00:41:49 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/amfcodec/gstamfencoder.cpp:
+ * sys/d3d11/gstd3d11screencapture.cpp:
+ * sys/d3d11/gstd3d11window_dummy.cpp:
+ * sys/mediafoundation/gstmfvideoencoder.cpp:
+ * sys/mediafoundation/gstmfvideoencoder.h:
+ * sys/nvcodec/gstnvencoder.cpp:
+ d3d11: Port to GstD3D11Fence
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2790>
+
+2022-07-23 00:11:18 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11_fwd.h:
+ * gst-libs/gst/d3d11/gstd3d11device.cpp:
+ * gst-libs/gst/d3d11/gstd3d11device.h:
+ d3d11: Implement fence abstraction
+ Depending on device feature level, d3d11 runtime can support
+ ID3D11Fence which is equivalent to ID3D12Fence.
+ Waiting using fence has performance-wise benefit over pulling
+ ID3D11Query status. If ID3D11Fence is not supported by device,
+ then ID3D11Query will be used instead.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2790>
+
+2022-06-08 15:44:26 +0200 Benjamin Gaignard <benjamin.gaignard@collabora.com>
+
+ * gst-libs/gst/codecs/gsth265decoder.c:
+ codecs: h265: Make sure that sps is processed just before decoding
+ It may happens that bitstream doesn't provided SPS in decoding order
+ (like in VPSSPSPPS_A_MainConcept_1 conformance test file).
+ To be sure that the decoder got the correct SPS parameters process
+ SPS just before start decoding the frame.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2575>
+
+2022-03-18 15:04:18 +0100 Sebastian Fricke <sebastian.fricke@collabora.com>
+
+ * gst-libs/gst/codecs/gsth265decoder.c:
+ codecs: h265: Fix typos
+ Fix multiple typos in warning and info messages.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2575>
+
+2022-05-16 15:27:40 +0200 Benjamin Gaignard <benjamin.gaignard@collabora.com>
+
+ * gst/videoparsers/gsth265parse.c:
+ videoparsers: h265: Be less restrictive between PPS and SPS parsing order
+ Allow to parse PPS to be parser even if SPS hasn't been parsered before.
+ This help to parse VPSSPSPPS_A_MainConcept_1 conformance test
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2575>
+
+2022-05-16 15:25:36 +0200 Benjamin Gaignard <benjamin.gaignard@collabora.com>
+
+ * gst-libs/gst/codecparsers/gsth265parser.c:
+ * gst-libs/gst/codecparsers/gsth265parser.h:
+ codecparsers: Defering computation of pps and sps fields
+ While possible defer computataion of pps and sps fields until
+ slice parsing since it may happens that bitstreams don't encoded
+ them in expected order.
+ A example weird ordered bitstreams is VPSSPSPPS_A_MainConcept_1
+ conformance test.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2575>
+
+2022-07-20 12:11:47 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ v4l2codecs: h264: Reset the number of slices on picture start
+ This way, if we aborted a frame in the middle, we don't endup thinking
+ there is multiple slices to send.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1079>
+
+2022-07-12 15:44:45 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ v4l2codecs: h264: Fix initialization of the slice array
+ The function g_array_sized_new() leaves the len to 0, but the slice
+ implementation assumes it would be set to 4. Sending multiple slices is
+ not yet support for H.264 as no driver needed it yet, but if that code
+ was to be used it would have overflowed as the array would never grow as
+ multiple 0 by 2 always results in 0.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1079>
+
+2022-07-12 15:43:34 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ v4l2codecs: h264: Rename count variable to num_controls
+ This is the counter for the used control slot. The term num_controls was
+ introduced in the HEVC decoder and felt like a better choice.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1079>
+
+2022-06-20 12:22:20 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codech265dec.c:
+ v4l2codecs: hevc: Add an API check
+ This adds an API check and bump recommended base kernel version to 5.20.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1079>
+
+2022-07-12 08:56:07 -0400 Benjamin Gaignard <benjamin.gaignard@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codech265dec.c:
+ * sys/v4l2codecs/gstv4l2codech265dec.h:
+ * sys/v4l2codecs/meson.build:
+ * sys/v4l2codecs/plugin.c:
+ v4l2codecs: Add v4l2 stateless H265 decoder
+ Add v4l2 stateless H265 decoder.
+ Co-authored-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
+ Co-authored-by: Sebastian Fricke <sebastian.fricke@collabora.com>
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1079>
+
+2022-04-25 15:27:39 +0200 Benjamin Gaignard <benjamin.gaignard@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2decoder.c:
+ v4l2codecs: Increase minimum payload size
+ Fluster MAXBINS_{A-C}_TI_5 HEVC tests files require to store
+ a payload larger than usual given their resolutions.
+ Increase the minimum payload size to handle them correctly.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1079>
+
+2022-07-12 08:57:38 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/linux/v4l2-controls.h:
+ * sys/v4l2codecs/linux/videodev2.h:
+ v4l2codecs: Align v4l2 headers with HEVC final uAPI
+ HEVC uAPI have landed for kernel 5.10.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1079>
+
+2022-04-29 12:10:05 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/codecparsers/gsth265parser.c:
+ * gst-libs/gst/codecparsers/gsth265parser.h:
+ codecparsers: h265: Introduce long_term_ref_pic_set_size
+ This is the size of the `if( long_term_ref_pics_present_flag )` inside
+ slice_segment_header( ) syntax. This size in bit, and after de-emulation
+ is needed by some HW.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1079>
+
+2022-07-21 16:11:03 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/audiobuffersplit/gstaudiobuffersplit.c:
+ audiobuffersplit: Actually store number of samples to drop in gapless mode
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2780>
+
+2022-07-21 16:10:18 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/audiobuffersplit/gstaudiobuffersplit.c:
+ audiobuffersplit: Use input running time for comparison instead of the currently tracked running time
+ Otherwise gapless mode would do completely wrong calculations on
+ discontinuities and cause input/output to drift slowly.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2780>
+
+2022-07-21 13:38:22 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/audiobuffersplit/gstaudiobuffersplit.c:
+ audiobuffersplit: Combine two if expressions to reduce indentation
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2780>
+
+2022-07-22 04:51:14 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11compositor.cpp:
+ d3d11compositor: Add support for crop meta
+ GstD3D11Converter supports cropping already. Cropping is just
+ a matter of setting source rectangle area to converter,
+ from d3d11 point of view
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2782>
+
+2022-07-18 00:41:00 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tests/examples/d3d11/d3d11converter.cpp:
+ * tests/examples/d3d11/meson.build:
+ examples: d3d11: Add GstD3D11Converter example
+ An example to demonstrate color space conversion, rescale and flip/rotation
+ using GstD3D11Converter
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2767>
+
+2022-07-21 05:13:21 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11.h:
+ * gst-libs/gst/d3d11/gstd3d11_fwd.h:
+ * gst-libs/gst/d3d11/gstd3d11_private.h:
+ * gst-libs/gst/d3d11/gstd3d11converter.cpp:
+ * gst-libs/gst/d3d11/gstd3d11converter.h:
+ * gst-libs/gst/d3d11/gstd3d11format.cpp:
+ * gst-libs/gst/d3d11/meson.build:
+ * sys/d3d11/gstd3d11compositor.cpp:
+ * sys/d3d11/gstd3d11convert.cpp:
+ * sys/d3d11/gstd3d11decoder.cpp:
+ * sys/d3d11/gstd3d11pluginutils.cpp:
+ * sys/d3d11/gstd3d11pluginutils.h:
+ * sys/d3d11/gstd3d11testsrc.cpp:
+ * sys/d3d11/gstd3d11window.h:
+ * sys/d3d11/meson.build:
+ d3d11: Move GstD3D11Converter to gst-libs
+ The object is equivalent to GstVideoConverter but for D3D11.
+ Application can use this object directly for various conversions,
+ such as color space conversion, rescale, crop and flip/rotation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2767>
+
+2022-07-21 05:40:45 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11.h:
+ * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+ * gst-libs/gst/d3d11/gstd3d11memory.h:
+ * gst-libs/gst/d3d11/meson.build:
+ d3d11: Define enum and flags types manually
+ gnome.mkenums_simple() doesn't work well for GstD3D11, seems to
+ be confused by numeric representation of D3D11, must be a bug
+ in GLib or so. Just don't rely on the incomplete automagic.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2767>
+
+2022-07-21 05:39:58 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11format.cpp:
+ d3d11: Run gst-indent
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2767>
+
+2022-07-06 16:14:13 +0300 Jordan Petridis <jordan@centricular.com>
+
+ * ext/openmpt/gstopenmptdec.c:
+ openmpt: update from now deprecated api
+ https://lib.openmpt.org/doc/classopenmpt_1_1module.html#ab2695af0baa274054f5687741fa7c05b
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2721>
+
+2022-04-29 19:27:16 +0800 Fan F He <fan.f.he@intel.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/gstmsdkenc.h:
+ * sys/msdk/gstmsdkh264enc.c:
+ * sys/msdk/gstmsdkh265enc.c:
+ * sys/msdk/gstmsdkh265enc.h:
+ * sys/msdk/msdk-enums.c:
+ * sys/msdk/msdk-enums.h:
+ msdkenc: Enable LowDelayBrc and MaxFrameSize for I/P frame
+ Enable these features for accurate bitrate control.
+ Feature introduction of LowDelayBRC, MaxFrameSizeI and MaxFrameSizeP could be found here:
+ https://github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/mediasdk-man.md
+ Signed-off-by: Fan F He <fan.f.he@intel.com>
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2742>
+
+2022-07-20 05:28:51 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11converter.cpp:
+ * sys/d3d11/gstd3d11converter.h:
+ * sys/d3d11/gstd3d11testsrc.cpp:
+ * sys/d3d11/gstd3d11window_dummy.cpp:
+ d3d11converter: Use GstStructure to set initialization options
+ Runtime updatable options are exposed via object properties
+ but there are a few options which should be known at initialization
+ time. Use GstStructure to signal it and to be easily extensible
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2776>
+
+2022-07-19 01:52:48 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11converter.cpp:
+ d3d11converter: Use primaries and transfer function compare methods
+ Different enum values could be functionally equal, then we don't need
+ to do full conversion.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2776>
+
+2022-07-17 04:48:24 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11format.cpp:
+ * gst-libs/gst/d3d11/gstd3d11format.h:
+ * sys/d3d11/gstd3d11converter.cpp:
+ * sys/d3d11/gstd3d11pluginutils.cpp:
+ * sys/d3d11/gstd3d11pluginutils.h:
+ * sys/d3d11/gstd3d11screencapture.cpp:
+ * sys/d3d11/gstd3d11window.cpp:
+ d3d11format: Move DXGI color space mapping method to gst-libs
+ Expose color space mapping method to public so that application
+ can configure GstCaps or GstVideoInfo using DXGI color space
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2776>
+
+2022-07-17 00:33:55 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11convert.cpp:
+ d3d11convert: Use new colorimetry compare function
+ Avoid conversion if both are functionally identical
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2765>
+
+2022-07-17 23:58:19 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11testsrc.cpp:
+ d3d11testsrc: Fix SMPTE pattern rendering
+ It was wrong vertex shader code
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2766>
+
+2022-07-13 10:30:49 +0200 Piotr Brzeziński <piotr@centricular.com>
+
+ * sys/applemedia/vtdec.c:
+ * sys/applemedia/vtenc.c:
+ applemedia: Add HEVC support to vtenc and vtdec
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2754>
+
+2022-06-16 03:57:37 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11.h:
+ * gst-libs/gst/d3d11/gstd3d11compile.cpp:
+ * gst-libs/gst/d3d11/gstd3d11compile.h:
+ * gst-libs/gst/d3d11/meson.build:
+ * sys/d3d11/gstd3d11compositor.cpp:
+ * sys/d3d11/gstd3d11converter.cpp:
+ * sys/d3d11/gstd3d11overlaycompositor.cpp:
+ * sys/d3d11/gstd3d11screencapture.cpp:
+ * sys/d3d11/gstd3d11screencapturesrc.cpp:
+ * sys/d3d11/gstd3d11shader.cpp:
+ * sys/d3d11/gstd3d11shader.h:
+ * sys/d3d11/gstd3d11testsrc.cpp:
+ * sys/d3d11/meson.build:
+ * sys/d3d11/plugin.cpp:
+ d3d11: Move HLSL compiler to gst-libs
+ We should move this functionality to gst-libs so that GstD3D11Converter
+ can be moved to gst-libs.
+ Another advantage is that applications can call our
+ HLSL compiler wrapper method without any worry about OS version
+ dependent system installed HLSL library.
+ Note that there are multiple HLSL compiler library versions
+ on Windows and system installed one would be OS version dependent.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2760>
+
+2022-06-04 18:07:16 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: Add a signal to plug bandwidth estimator elements
+ We need GStreamer elements to do the bandwidth estimation as this way
+ they can also control the pacing of the transmission flow as specified
+ in the [GCC] algorithm for example.
+ Bandwidth estimator element are placed right before the "RTPSession" as
+ an "rtp-aux-sender" element. This way they can use the "Transport-wide
+ Congestion Control" RTCP feedback messages through the "RTPTwcc" custom
+ events that are sent by the rtpsession.
+ Applications are responsible to react to the bandwidth estimator element
+ and set the encoder target bitrate etc... which means that we can not
+ pass an estimator as an element factory, so a signal as been chosen
+ instead.
+ [GCC]: https://datatracker.ietf.org/doc/html/draft-ietf-rmcat-gcc-02
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2562>
+
+2022-07-08 00:16:02 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gsth265decoder.c:
+ h265decoder: Report latency
+ Similar to that of h264decoder
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2726>
+
+2022-07-08 22:05:12 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvabaseenc.c:
+ va: baseenc: Do not use codec frame structure again after finish_frame().
+ In _push_out_one_buffer(), we use codec frame structure again for error handling
+ after we already call finish_frame(), which is a latent segment fault.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2739>
+
+2022-07-08 21:57:40 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvabaseenc.c:
+ va: baseenc: Do not clear the codec frame twice when error.
+ The current manner will clear the input codec frame twice if we fail
+ to push the output data, which will trigger an assert.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2739>
+
+2022-07-05 18:21:12 +0300 Jordan Petridis <jordan@centricular.com>
+
+ * ext/fluidsynth/gstfluiddec.c:
+ fluiddec: Remove workaround for version 1.1.9
+ We require >= 2.1 version since the previous commit
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2718>
+
+2022-07-05 17:32:12 +0300 Jordan Petridis <jordan@centricular.com>
+
+ * ext/fluidsynth/gstfluiddec.c:
+ * ext/fluidsynth/meson.build:
+ fluidsynth: update from now deprecated api
+ fluid_synth_set_chorus_on and fluid_synth_set_reverb_on were
+ deprecated in favor of new funtions where you can also specify
+ the fx_group the effect would apply.
+ The behavior of the set_* variants was to apply to all groups
+ so we pass -1 to the new functions as per documentation.
+ https://www.fluidsynth.org/api/group__chorus__effect.html#ga3c48310eecdca9cd338799d19f19c32d
+ and
+ https://www.fluidsynth.org/api/group__reverb__effect.html#gacb7917564c988cf54f2e35189b509c8e
+ and the introduction of the change:
+ https://github.com/FluidSynth/fluidsynth/pull/673
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2718>
+
+2022-07-08 02:24:56 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11_private.h:
+ * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+ * sys/d3d11/gstd3d11compositor.cpp:
+ * sys/d3d11/gstd3d11convert.cpp:
+ * sys/d3d11/gstd3d11converter.cpp:
+ * sys/d3d11/gstd3d11decoder.cpp:
+ * sys/d3d11/gstd3d11deinterlace.cpp:
+ * sys/d3d11/gstd3d11overlaycompositor.cpp:
+ * sys/d3d11/gstd3d11pluginutils.cpp:
+ * sys/d3d11/gstd3d11testsrc.cpp:
+ * sys/d3d11/gstd3d11window.cpp:
+ * sys/d3d11/gstd3d11window_corewindow.cpp:
+ * sys/d3d11/gstd3d11window_dummy.cpp:
+ * sys/d3d11/gstd3d11window_swapchainpanel.cpp:
+ * sys/d3d11/gstd3d11window_win32.cpp:
+ d3d11: Use scoped device lock
+ Make code simpler and more deadlock-free
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2728>
+
+2022-07-08 18:53:01 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvencoder.cpp:
+ qsvencoder: Fix for latency report when B-frame is enabled
+ QSV runtime will introduce additional delay when B-frame is enabled
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2730>
+
+2022-07-08 19:05:19 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvencoder.cpp:
+ qsvencoder: Do not query again if previous call succeeded
+ Don't need to query multiple times
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2730>
+
+2022-07-08 03:38:30 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11screencapture.cpp:
+ * sys/d3d11/gstd3d11screencapture.h:
+ * sys/d3d11/gstd3d11screencapturesrc.cpp:
+ d3d11screencapturesrc: Set colorimetry to caps
+ Make use of reported DXGI colorspace if possible
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2729>
+
+2022-07-08 20:11:00 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11pluginutils.cpp:
+ d3d11: Update colorspace map
+ Map DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709 to sRGB colorimetry
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2729>
+
+2022-07-08 04:37:33 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11pluginutils.cpp:
+ * sys/d3d11/gstd3d11pluginutils.h:
+ d3d11: Add an utility method for DXGI colorspace conversion
+ Add a method for DXGI_COLOR_SPACE_TYPE -> GstVideoColorimetry conversion
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2729>
+
+2022-07-08 01:30:13 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11utils.cpp:
+ d3d11: Serialize ensure_element_data() call
+ It can be called any time from random thread. Thus, multiple
+ device objects can be created for the same physical device
+ if the call is not serialized, that's not a scenario we expect.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2727>
+
+2022-07-07 02:17:56 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/proxy/gstproxysink.c:
+ proxysink: Fix GstProxySrc leak
+ Clear weak pointer to peer src when disposing.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1552>
+
+2022-07-06 03:14:25 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/proxy/gstproxysink.c:
+ * gst/proxy/gstproxysink.h:
+ * tests/check/elements/proxysink.c:
+ * tests/check/meson.build:
+ proxysink: Make sure stream-start and caps events are forwarded
+ There might be a sequence of event and buffer flow:
+ - Got stream-start/caps/segment events
+ - Got flush events
+ - And then buffers with a new segment event
+ In the above case, stream-start and caps event might not be reached to
+ peer proxysrc if peer proxysrc is not ready to receive them.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1552>
+
+2022-03-04 14:28:21 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcice.c:
+ webrtc: implement support for asynchronous host resolution
+ Doesn't block anymore if a mdns host resolution takes multiple seconds
+ to complete in e.g. stun/turn/ice candidate usage.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1961>
+
+2022-07-04 22:27:34 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11converter.cpp:
+ * sys/d3d11/gstd3d11converter.h:
+ d3d11converter: Remove convert() method
+ Expose only single convert_buffer() method. It's safer approach than
+ passing arbitrary list of SRV/RTV pointers.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2713>
+
+2022-07-04 22:26:19 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11testsrc.cpp:
+ d3d11testsrc: Use convert_buffer() method
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2713>
+
+2022-07-04 22:01:49 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11compositor.cpp:
+ * sys/d3d11/gstd3d11videoprocessor.cpp:
+ * sys/d3d11/gstd3d11videoprocessor.h:
+ * sys/d3d11/gstd3d11videosink.cpp:
+ * sys/d3d11/gstd3d11window.h:
+ * sys/d3d11/meson.build:
+ d3d11: Remove video processor
+ Processing using ID3D11VideoProcessor was integrated into
+ GstD3D11Converter and GstD3D11VideoProcessor implementation is
+ not used anymore.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2713>
+
+2022-07-04 21:57:42 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11_private.h:
+ * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+ * gst-libs/gst/d3d11/gstd3d11memory.h:
+ * sys/d3d11/gstd3d11window.cpp:
+ * sys/d3d11/gstd3d11window_dummy.cpp:
+ * tests/examples/d3d11/d3d11videosink-appsrc.cpp:
+ d3d11memory: Update alloc_wrapped() API to avoid staging texture alloc
+ Add size parameter and use it for CPU accessible memory size
+ instead of allocating staging texture per API call.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2713>
+
+2022-06-30 11:04:29 +0200 Ignazio Pillai <ignazp@amazon.com>
+
+ * sys/wasapi/gstwasapiutil.c:
+ wasapi: Implement default audio channel mask
+ Some multichannel capture devices does not provide a channel mask value
+ which will result in a pipeline failure due to the empty channel mask.
+ Implemented the same fix used for wasapi2
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1204
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2692>
+
+2022-07-03 01:22:10 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11videosink.cpp:
+ * sys/d3d11/gstd3d11window.cpp:
+ * sys/d3d11/gstd3d11window.h:
+ * sys/d3d11/gstd3d11window_dummy.cpp:
+ * sys/d3d11/gstd3d11window_win32.cpp:
+ d3d11videosink: Add support for rotation
+ Adding "rotate-method" property
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1396
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2708>
+
+2022-07-03 01:18:19 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11videosink.cpp:
+ * sys/d3d11/gstd3d11videosink.h:
+ d3d11videosink: Protect window with lock at every place
+ Access to the object should be thread safe to support runtime
+ property update
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2708>
+
+2022-07-02 04:23:41 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11basefilter.cpp:
+ * sys/d3d11/gstd3d11convert.cpp:
+ d3d11convert: Add support for GstVideoOrientationMethod
+ Add flip/rotation support via GstVideoDirectionInterface
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2708>
+
+2022-07-02 02:15:00 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11converter.cpp:
+ d3d11converter: Add support for GstVideoOrientationMethod
+ Shader can handle rotation/flip with other conversions
+ at once in a single pipeline, and depending on device
+ capability, videoprocessor may support it too.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2708>
+
+2022-07-01 23:49:49 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11videosink.cpp:
+ * sys/d3d11/gstd3d11window.cpp:
+ * sys/d3d11/gstd3d11window.h:
+ * sys/d3d11/gstd3d11window_dummy.cpp:
+ d3d11videosink: Use single GstD3D11Converter object
+ GstD3D11Converter supports videoprocessor and texture upload.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2697>
+
+2022-07-01 21:35:15 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11_private.h:
+ * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+ d3d11memory: Add private method for texture wrapped memory allocation
+ Unlike public method gst_d3d11_allocator_alloc_wrapped(), newly
+ added method by this commit will not calculate CPU accessible memory
+ size, since staging texture must be allocated to calculate the size.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2697>
+
+2022-07-01 21:20:02 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11_private.h:
+ * sys/d3d11/gstd3d11pluginutils.h:
+ d3d11: Use library private header in plugin
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2697>
+
+2022-07-01 20:47:37 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11compositor.cpp:
+ d3d11compositor: Use single GstD3D11Converter object
+ ... and remove unnessary videoprocessor/upload/copy code
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2697>
+
+2022-07-01 04:12:23 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11convert.cpp:
+ d3d11convert: Add border-color property
+ Use user specified border-color instead of black color
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2697>
+
+2022-07-01 20:13:29 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11convert.cpp:
+ d3d11convert: Use single GstD3D11Converter object
+ ... and don't use GstD3D11VideoProcessor. Now GstD3D11Converter will
+ be able to convert using videoprocessor, and texture upload is also supported by
+ GstD3D11Converter. All the noisy code can be removed therefore.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2697>
+
+2022-06-22 02:44:26 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11compositor.cpp:
+ * sys/d3d11/gstd3d11convert.cpp:
+ * sys/d3d11/gstd3d11converter.cpp:
+ * sys/d3d11/gstd3d11converter.h:
+ * sys/d3d11/gstd3d11testsrc.cpp:
+ * sys/d3d11/gstd3d11window.cpp:
+ * sys/d3d11/gstd3d11window_dummy.cpp:
+ d3d11converter: Add support conversion using videoprocessor
+ * Add videoprocessor feature to d3d11converter, in order to unifiy
+ conversion flow.
+ * Add convert_buffer() method to support automatic shader/videoprocessor
+ selection. The method also supports texture upload if input memory
+ cannot be used for conversion (e.g., system memory or so)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2697>
+
+2022-06-21 23:43:46 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11overlaycompositor.cpp:
+ * sys/d3d11/gstd3d11overlaycompositor.h:
+ * sys/d3d11/gstd3d11window.cpp:
+ * sys/d3d11/gstd3d11window_dummy.cpp:
+ d3d11overlaycompositor: Objectify overlay render implementation
+ Be consistent with other implementations
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2697>
+
+2022-06-21 22:44:55 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11compositor.cpp:
+ * sys/d3d11/gstd3d11convert.cpp:
+ * sys/d3d11/gstd3d11pluginutils.cpp:
+ * sys/d3d11/gstd3d11pluginutils.h:
+ * sys/d3d11/gstd3d11window.cpp:
+ * sys/d3d11/gstd3d11window_dummy.cpp:
+ d3d11: Don't use const pointer to GstDxgiColorSpace
+ Instead, fill values of passed GstDxgiColorSpace struct
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2697>
+
+2022-06-28 16:40:55 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * sys/decklink/gstdecklink.h:
+ * sys/decklink/gstdecklinkvideosink.cpp:
+ decklinkvideosink: Pass video frames directly to the Decklink SDK without copying
+ If the video frame is stored in PBO memory then we need to copy anyway as
+ it might be stored in CPU-accessible GPU memory that can't be accessed
+ from the Decklink driver.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2674>
+
+2022-05-10 14:11:06 +0800 Vincent Cheah Beng Keat <vincent.beng.keat.cheah@intel.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ * sys/msdk/gstmsdkmjpegdec.c:
+ * sys/msdk/meson.build:
+ msdkmjpegdec: Add support for error report
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2401>
+
+2022-06-23 01:10:38 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvencoder.cpp:
+ * sys/nvcodec/gstnvencoder.h:
+ * sys/nvcodec/gstnvh264encoder.cpp:
+ * sys/nvcodec/gstnvh264encoder.h:
+ * sys/nvcodec/gstnvh265encoder.cpp:
+ * sys/nvcodec/gstnvh265encoder.h:
+ * sys/nvcodec/plugin.c:
+ nvencoder: Add support for dynamic GPU device selection
+ Adding nvautogpu{h264,h265}enc class which will accept upstream logical
+ GPU device object (GstCudaContext or GstD3D11Device) instead of
+ using pre-assigned GPU instance.
+ If upstream logical GPU device object is not NVENC compatible
+ (e.g., D3D11 device of non-NVIDIA GPU) or it's system memory,
+ then user specified "cuda-device-id" or "adapter-luid" property
+ will be used for GPU device selection.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2666>
+
+2022-06-27 20:50:15 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/cuda/gstcudautils.c:
+ cuda: Protect gst_cuda_ensure_element_context() with lock
+ Serialize the order of context setup since it can be called
+ from multiple threads
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2666>
+
+2022-06-30 16:45:46 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/cuda/gstcudamemory.c:
+ * sys/nvcodec/gstcudabasefilter.c:
+ * sys/nvcodec/gstcudaformat.h:
+ cuda: Add YUY2 and UYVY formats for GL interop
+ Those formats are not supported conversion formats by CUDA convert/scale elements
+ but would be useful for GL <-> CUDA interop use case.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2691>
+
+2022-06-30 17:47:05 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstcudamemorycopy.c:
+ cudadownload: Passthrough in case of CUDA -> SYSTEM
+ GstCudaMemory supports CPU access via CUDA pinned host memory already
+ and it would show faster memory transfer performance between
+ GPU and CPU than copying from/to normal system memory.
+ If downstream supports video meta, we can passthrough CUDA memory.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2690>
+
+2022-06-30 09:09:02 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: Reject caps that are not valid for creating an SDP media.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2689>
+
+2022-04-22 16:37:34 +0200 Corentin Damman <c.damman@intopix.com>
+
+ * sys/nvcodec/gstcudaformat.h:
+ cudaformat: add support for planar 4:2:2 YUV formats in CUDA D3D11 interop
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2269>
+
+2022-04-22 15:58:13 +0200 Corentin Damman <c.damman@intopix.com>
+
+ * gst-libs/gst/cuda/gstcudamemory.c:
+ * sys/nvcodec/gstcudaformat.h:
+ cudamemory: add support for planar 4:2:2 YUV formats
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2269>
+
+2021-06-22 14:43:29 +0200 Benjamin Gaignard <benjamin.gaignard@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2decoder.c:
+ v4l2codecs: enumerate all possible formats
+ Some decoder may also allow to (down) scale the decoded video.
+ Use VIDIOC_ENUM_FRAMESIZES iotcl to enumerate the possible output
+ formats resolutions.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2589>
+
+2022-06-26 22:26:29 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvav1dec.c:
+ * sys/nvcodec/gstnvdecoder.h:
+ * sys/nvcodec/gstnvh264dec.c:
+ * sys/nvcodec/gstnvh264dec.h:
+ * sys/nvcodec/gstnvh265dec.c:
+ * sys/nvcodec/gstnvh265dec.h:
+ * sys/nvcodec/gstnvvp8dec.c:
+ * sys/nvcodec/gstnvvp8dec.h:
+ * sys/nvcodec/gstnvvp9dec.c:
+ * sys/nvcodec/gstnvvp9dec.h:
+ nvcodec: Add cuda-device-id read-only property to stateless decoders
+ ... and remove unnecessary intermediate subclass from class hierarchy
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2665>
+
+2022-06-26 21:09:50 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvdec.c:
+ nvcodec: Add cuda-device-id read-only property to CUVID decoders
+ Similar to the other hardware decoder plugins, provides assigned
+ device id via property
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2665>
+
+2022-06-29 10:55:13 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ coding style: allow declarations after statement
+ See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1243/
+ and https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/78
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2683>
+
+2022-06-29 00:31:01 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11convert.cpp:
+ d3d11convert: Add support for GstVideoCropMeta
+ Performs crop, scale, and color space conversion all in
+ a single render pipeline. Note that cropping related property is not
+ added in this element (which will make negotiation very complicated),
+ but user can configure videocrop element for crop meta to be attached
+ on each buffer.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2678>
+
+2022-06-28 17:40:56 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11videosink.cpp:
+ d3d11videosink: Fix for force-aspect-ratio setting when rendering on shared texture
+ Set specified force-aspect-ratio value on window object
+ in case of shared texture rendering as well
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1304
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2671>
+
+2022-06-26 06:39:54 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfvideoencoder.cpp:
+ * sys/mediafoundation/gstmfvideoencoder.h:
+ mfvideoenc: Fix broken encoding when resolution is not an even number
+ Width and height values of 4:2:0 subsampled YUV format should be even number,
+ and if it's not the case, there should be padding which is not a contiguous memory layout.
+ Do copy input frames to MediaFoundation's memory in that case for now.
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1165
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2661>
+
+2022-06-28 01:29:06 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ext/opus/gstopusheader.h:
+ dv, opusparse: fix duplicate symbols in static build
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1262
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2670>
+
+2022-06-27 04:07:04 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/plugin.cpp:
+ d3d11: Enumerate devices via native DXGI API
+ D3D11CreateDevice() can fail for some reason (e.g., buggy GPU driver)
+ and then gst_d3d11_device_new() will return nullptr.
+ Use DXGI API directly instead of relying on the gst_d3d11_device_new()
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2663>
+
+2022-06-25 01:15:17 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tests/examples/d3d11/d3d11videosink-appsrc.cpp:
+ * tests/examples/d3d11/meson.build:
+ examples: Add an example for application texture sharing
+ This example shows GstD3D11BufferPool usage and a way of
+ D3D11 texture sharing between application and GStreamer via appsrc.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2646>
+
+2022-06-24 07:06:00 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tests/examples/d3d11/d3d11decoder-appsink.cpp:
+ * tests/examples/d3d11/meson.build:
+ examples: Add d3d11decoder zero-copy rendering example
+ This example code demonstrates D3D11 device sharing between
+ application and GStreamer. Application can access texture
+ using appsink and it can be rendered on application's window without
+ any copy operation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2646>
+
+2022-06-24 22:17:28 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11utils.cpp:
+ * gst-libs/gst/d3d11/gstd3d11utils.h:
+ d3d11: Add a helper method for GstContext creation
+ Add gst_d3d11_context_new() method for application to create
+ GstContext using GstD3D11Device.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2646>
+
+2022-06-24 01:00:00 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+ * gst-libs/gst/d3d11/gstd3d11memory.h:
+ d3d11memory: Add support for wrapping application texture
+ Add gst_d3d11_allocator_alloc_wrapped() method to support wrapping
+ application texture using GstD3D11Memory without copy.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2646>
+
+2022-06-24 01:25:07 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/d3d11-prelude.h:
+ * gst-libs/gst/d3d11/gstd3d11.h:
+ * gst-libs/gst/d3d11/gstd3d11_fwd.h:
+ * gst-libs/gst/d3d11/gstd3d11_private.h:
+ * gst-libs/gst/d3d11/gstd3d11bufferpool.cpp:
+ * gst-libs/gst/d3d11/gstd3d11bufferpool.h:
+ * gst-libs/gst/d3d11/gstd3d11config.h.meson:
+ * gst-libs/gst/d3d11/gstd3d11device.cpp:
+ * gst-libs/gst/d3d11/gstd3d11device.h:
+ * gst-libs/gst/d3d11/gstd3d11format.cpp:
+ * gst-libs/gst/d3d11/gstd3d11format.h:
+ * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+ * gst-libs/gst/d3d11/gstd3d11memory.h:
+ * gst-libs/gst/d3d11/gstd3d11utils.cpp:
+ * gst-libs/gst/d3d11/gstd3d11utils.h:
+ * gst-libs/gst/d3d11/meson.build:
+ d3d11: Install library headers
+ Our Direct3D11 abstraction layer has been improved and
+ it gained good shape from API point of view.
+ Also, On Windows, GstD3D11 has various advantages over GstGL
+ in terms of compatibility/stability/feature/performance.
+ Note that WGL implementation is known to be buggy for some
+ drivers/vendors/scenario (that's a reason why Google implemented ANGLE).
+ Moreover, GstGL is not fully optimized for Windows unfortunately.
+ It's the time to open this interface to application developers
+ for various optimized processing using our Direct3D11
+ infrastructure.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2646>
+
+2022-06-24 01:21:48 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11bufferpool.cpp:
+ * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+ * gst-libs/gst/d3d11/gstd3d11memory.h:
+ * sys/amfcodec/gstamfencoder.cpp:
+ * sys/d3d11/gstd3d11compositor.cpp:
+ * sys/d3d11/gstd3d11convert.cpp:
+ * sys/d3d11/gstd3d11decoder.cpp:
+ * sys/d3d11/gstd3d11deinterlace.cpp:
+ * sys/d3d11/gstd3d11screencapturesrc.cpp:
+ * sys/d3d11/gstd3d11testsrc.cpp:
+ * sys/d3d11/gstd3d11upload.cpp:
+ * sys/d3d11/gstd3d11videosink.cpp:
+ * sys/nvcodec/gstnvencoder.cpp:
+ * sys/qsv/gstqsvallocator_d3d11.cpp:
+ * sys/qsv/gstqsvdecoder.cpp:
+ * sys/qsv/gstqsvencoder.cpp:
+ d3d11: Update gst_d3d11_allocation_params_new() interface
+ Define GST_D3D11_ALLOCATION_FLAG_DEFAULT (0) value instead of
+ casting enum type everywhere. And pass D3D11_RESOURCE_MISC_FLAG value
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2646>
+
+2022-06-27 12:06:50 -0400 U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+ * sys/va/gstvavpp.c:
+ va: postproc: add scale-method property
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2654>
+
+2022-06-27 11:54:28 -0400 U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+ * sys/va/gstvafilter.c:
+ * sys/va/gstvafilter.h:
+ * sys/va/gstvavpp.c:
+ va: filter/postproc: move unconditional props to vavpp
+ Only conditional/dynamic properties should be installed/handled
+ by vafilter. Thus, move and install the unconditional/static
+ properties in vavpp.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2654>
+
+2022-06-23 11:39:57 -0400 U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+ * sys/va/gstvacompositor.c:
+ * sys/va/gstvafilter.c:
+ * sys/va/gstvafilter.h:
+ va: compositor/filter: use scale method setter
+ Use the filter's scale method member instead of the sample's member.
+ Removes the filter_flags member from the composite sample.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2654>
+
+2022-06-23 11:11:16 -0400 U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+ * sys/va/gstvafilter.c:
+ * sys/va/gstvafilter.h:
+ va: filter: add scale method field and setter
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2654>
+
+2022-01-21 21:33:52 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvabasedec.h:
+ * sys/va/gstvajpegdec.c:
+ * sys/va/gstvajpegdec.h:
+ * sys/va/gstvaprofile.c:
+ * sys/va/meson.build:
+ * sys/va/plugin.c:
+ va: Add vajpegdec element.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1575>
+
+2022-06-24 19:42:36 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/va/gstva.h:
+ * gst-libs/gst/va/gstvaallocator.c:
+ * gst-libs/gst/va/gstvaallocator.h:
+ * sys/va/gstvabasedec.c:
+ * sys/va/gstvabasedec.h:
+ va: allocator: Add hack for no fourcc when surface creation.
+ This patch adds general mechanism for handling specific hacks. In this
+ case for jpeg decoder in i965 driver, which cannot create surfaces
+ with fourcc specified.
+ From jpeg decoder to the allocator, which creates the surfaces,
+ there's a non-simple path: basedec pseudo-class adds a hacks guint32
+ which will be set by actual elements (vajpegdec, in this case) and
+ basedec will always set the hack to the allocator when the allocator
+ is instantiated.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1575>
+
+2022-06-24 19:54:51 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/va/gstvavideoformat.c:
+ va: Add RGBP format definition.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1575>
+
+2022-04-28 13:16:03 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvacaps.c:
+ va: caps: Add jpeg fields in coded caps.
+ Given the supported rt formats in a profile/entrypoint config it's
+ possible to know the supported JPEG colorspace and subsampling. This
+ patch adds this information in coded caps to a safer autoplugging
+ after jpegparser.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1575>
+
+2022-01-17 15:43:47 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstjpegdecoder.c:
+ * sys/va/gstjpegdecoder.h:
+ * sys/va/meson.build:
+ va: Add jpegdecoder base class.
+ This base class is intented for hardware accelerated decoders, but since
+ only VA uses it, it will be kept internally in va plugin.
+ It follows the same logic as the others video decoders in the library but.
+ as JPEG are independet images, there's no need to handle a DBP so no need
+ of a picture object. Instead a scan object is added with all the structures
+ required to decode the image (huffman and quant tables, mcus, etc.).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1575>
+
+2022-06-27 12:36:29 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/meson.build:
+ va: build: Remove duplicated source.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1575>
+
+2022-06-27 19:58:58 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstcudamemorycopy.c:
+ cudamemorycopy: Make sure writable caps before removing fields
+ The caps to be modified may not be writable when D3D11/GL/NVMM
+ are all disabled.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2664>
+
+2022-06-25 19:50:10 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * tests/check/meson.build:
+ tests: skip unit tests for dependency-less elements that have been disabled
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1136
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2660>
+
+2022-06-23 14:31:10 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/va/gstvaallocator.c:
+ va: allocator: Use always lseek to get dmabuf size.
+ Gallium drivers historically have reported strange dmabuf sizes, from always
+ zero to the whole frame (multiple fds). The simplest solution is to use lseek
+ SEEK_END to get the prime descriptor size.
+ Also the allocator raises a warning if both values differ in order to report
+ it to driver.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2574>
+
+2022-06-08 09:02:52 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/va/gstvaallocator.c:
+ va: allocator: Fix translation of VADRMPRIMESurfaceDescriptor
+ VADRMPRIMESurfaceDescriptor structure describes the offsets from the
+ point of view of the specific handle (DMABuf). While GstVideoInfo
+ (and the meta) describes offsets from the point of the view of the
+ GstBuffer, an aggregate of all the GstMemory (1 per handle).
+ This changes combined with [Mesa Fix](https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16813)
+ fixes decoding failure with AMD driver.
+ Fixes #1223
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2574>
+
+2022-06-23 21:43:11 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11.h:
+ * gst-libs/gst/d3d11/gstd3d11stagingbufferpool.cpp:
+ * gst-libs/gst/d3d11/gstd3d11stagingbufferpool.h:
+ * gst-libs/gst/d3d11/meson.build:
+ * sys/amfcodec/gstamfencoder.cpp:
+ * sys/d3d11/gstd3d11compositor.cpp:
+ * sys/d3d11/gstd3d11decoder.cpp:
+ * sys/d3d11/gstd3d11download.cpp:
+ * sys/d3d11/gstd3d11screencapturesrc.cpp:
+ * sys/d3d11/gstd3d11testsrc.cpp:
+ * sys/d3d11/gstd3d11upload.cpp:
+ * sys/d3d11/gstd3d11videosink.cpp:
+ * sys/qsv/gstqsvallocator_d3d11.cpp:
+ * sys/qsv/gstqsvencoder.cpp:
+ d3d11: Revert staging buffer pool implementation
+ The staging buffer pool implementation was added to improve
+ throughput performance since we can avoid per-frame
+ CPU copy operation via staging texture but it turned out that
+ we can not make it thread safe. See
+ https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1182
+ Reverting the staging texture implementation as it does not show
+ any visible value.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2651>
+
+2022-06-23 21:35:23 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvdecoder.cpp:
+ qsvdecoder: Fix system memory alignment
+ Do right padding, not left
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2651>
+
+2022-06-23 21:41:24 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11decoder.cpp:
+ d3d11decoder: Fix texture download
+ Stride applied to src/dst was reversed
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2651>
+
+2022-06-16 17:02:43 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst/jpegformat/gstjpegparse.c:
+ jpegparse: Add YUV440 sampling support.
+ Found some samples with this sampling, so in order to support it,
+ JPEG2000 header cannot be used anymore, a this patch also adds the
+ enums for each supported colorspace and sampling, avoiding hacks.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2641>
+
+2022-06-16 16:33:14 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/va/gstvaallocator.c:
+ * sys/va/gstvafilter.c:
+ va: Use driver implementation macro rather than function.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2642>
+
+2022-06-18 10:36:53 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst/videoparsers/gsth265parse.c:
+ h265parse: Fix uninitialized width and height when update src caps.
+ The commit b90d0274 introduces uninitialized width and height when we
+ consider to change the "pixel-aspect-ratio" for some interlaced stream.
+ We need to check the resolution in the src caps, and if no resolution
+ info found, there is no need to consider the aspect ratio.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2630>
+
+2022-06-21 20:04:15 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11deinterlace.cpp:
+ * sys/d3d11/gstd3d11testsrc.cpp:
+ * sys/d3d11/gstd3d11window.cpp:
+ d3d11: Fix some typos
+ Fix up spelling and d3d11testsrc class meta.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2644>
+
+2022-06-18 20:14:22 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11compositor.cpp:
+ * sys/d3d11/gstd3d11compositor.h:
+ * sys/d3d11/gstd3d11compositorbin.cpp:
+ * sys/d3d11/gstd3d11compositorbin.h:
+ * sys/d3d11/meson.build:
+ * sys/d3d11/plugin.cpp:
+ d3d11compositor: Performance optimization
+ Removing glvideomixer-like nuance (it was initially referenced)
+ and rewriting element since it's not an optimal design at all
+ from performance point of view.
+ * Remove wrapper bin (and internal conversion/upload/download elements)
+ which will waste CPU/GPU resources. Conversion/blending can be done by the
+ d3d11compositor element at once.
+ * Add support YUV blending without RGB conversion.
+ The RGB <-> YUV conversion is completely unnecessary since YUV textures
+ support blending as well.
+ * Remove complicated blending operation properties since it's hard
+ to use from application point of view. Instead, adding "operator" property
+ like what compositor element does.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2631>
+
+2022-06-18 20:40:40 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11converter.cpp:
+ d3d11converter: Fix alpha factor update
+ converter should set entire constant buffer values since it's mapped
+ with write-discard flag
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2631>
+
+2022-06-02 14:22:21 +0200 Robert Mader <robert.mader@collabora.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/wayland/gstwaylandsink.c:
+ * ext/wayland/gstwaylandsink.h:
+ * gst-libs/gst/wayland/gstwlwindow.c:
+ * gst-libs/gst/wayland/gstwlwindow.h:
+ gstwaylandsink: Add rotate-method property
+ Similar to and inspired by glimagesink and gtkglsink.
+ Using the Wayland buffer transform API allows to offload
+ rotate operations to the Wayland compositor. This can have
+ several advantages:
+ - The Wayland compositor may be able to use hardware plane
+ capabilities to do the rotation.
+ - In case of pre-rotated content on rotated outputs the
+ rotations may equal out, potentially allowing the
+ compositor to use hardware planes even if they don't
+ support rotate operations.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2543>
+
+2022-06-18 04:05:53 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11decoder.h:
+ d3d11decoder: Check 16K resolution support
+ 16K decoding is supported by some GPUs
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2629>
+
+2022-06-17 05:11:08 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11av1dec.cpp:
+ * sys/d3d11/gstd3d11decoder.cpp:
+ * sys/d3d11/gstd3d11decoder.h:
+ * sys/d3d11/gstd3d11h264dec.cpp:
+ * sys/d3d11/gstd3d11h265dec.cpp:
+ * sys/d3d11/gstd3d11mpeg2dec.cpp:
+ * sys/d3d11/gstd3d11vp8dec.cpp:
+ * sys/d3d11/gstd3d11vp9dec.cpp:
+ d3d11decoder: Add support for non-zero crop-{x,y} position
+ AVC and HEVC define crop rectangle and the x/y coordinates might
+ not be zero. This commit will address the non-zero x/y offset coordinates
+ via GstVideoCropMeta if downstream supports the meta and d3d11 memory.
+ Otherwise decoder will copy decoded texture into output frame.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2624>
+
+2022-06-17 02:45:51 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11convert.cpp:
+ * sys/d3d11/gstd3d11converter.cpp:
+ d3d11converter: Implement filling border color
+ Equivalent to GST_VIDEO_CONVERTER_OPT_BORDER_ARGB and
+ GST_VIDEO_CONVERTER_OPT_FILL_BORDER options of GstVideoConverter
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2622>
+
+2022-06-16 02:18:43 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11compositor.cpp:
+ * sys/d3d11/gstd3d11convert.cpp:
+ * sys/d3d11/gstd3d11converter.cpp:
+ * sys/d3d11/gstd3d11converter.h:
+ * sys/d3d11/gstd3d11testsrc.cpp:
+ * sys/d3d11/gstd3d11window.cpp:
+ * sys/d3d11/gstd3d11window.h:
+ * sys/d3d11/gstd3d11window_dummy.cpp:
+ * sys/d3d11/plugin.cpp:
+ d3d11converter: Objectify converter
+ ... and set conversion options via property
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2622>
+
+2022-06-16 00:52:16 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11shader.cpp:
+ * sys/d3d11/gstd3d11shader.h:
+ d3d11shader: Remove GstD3D11Quad helper object
+ It's not very generic to be used for various scenario. Use native D3D11
+ APIs directly instead.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2622>
+
+2022-06-16 00:50:12 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11compositor.cpp:
+ d3d11compositor: Don't use GstD3D11Quad
+ The helper object will be removed
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2622>
+
+2022-06-15 23:46:27 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11overlaycompositor.cpp:
+ d3d11overlaycompositor: Fix HLSL compiler warning
+ warning X3206: 'Sample': implicit truncation of vector type
+ And don't use GstD3D11Quad since it will result in redundant API calls
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2622>
+
+2022-02-01 23:46:43 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/closedcaption/gstcccombiner.c:
+ * ext/closedcaption/gstcccombiner.h:
+ cccombiner: expose output-padding property
+ When schedule=true and output-padding=false, cccombiner will not
+ inject padding in the output closed caption meta stream.
+ The property has no effect when schedule=false.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1621>
+
+2022-06-15 15:06:20 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: Limit sink query to sink pads
+ This allows the reception of streams that don't exactly match
+ the codec preferences. In particular, the ssrc in the codec preferences
+ is local sender SSRC, the other side is expected to send a different SSRC.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2615>
+
+2022-06-08 19:18:48 +0300 Vivia Nikolaidou <vivia@ahiru.eu>
+
+ * gst/videoparsers/gsth265parse.c:
+ avviddec, video.c, h265parse: Workaround for broken field-based interlaced encoders
+ Some encoders (e.g. Makito) have H265 field-based interlacing, but then
+ also specify an 1:2 pixel aspect ratio. That makes it kind-of work with
+ decoders that don't properly support field-based decoding, but makes us
+ end up with the wrong aspect ratio if we implement everything properly.
+ As a workaround, detect 1:2 pixel aspect ratio for field-based
+ interlacing, and check if making that 1:1 would make the new display
+ aspect ratio common. In that case, we override it with 1:1.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2577>
+
+2021-05-19 16:03:22 +0200 Stéphane Cerveau <scerveau@collabora.com>
+
+ * ext/srt/gstsrtsrc.c:
+ * ext/srt/gstsrtsrc.h:
+ srtsrc: add "keep-listening" property to avoid EOS on disconnect
+ The property 'keep-listening' avoids EOS
+ when the remote client disconnects.
+ It can be useful to a keep a pipeline alive
+ when the srt connection drops remotely.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/967>
+
+2021-05-19 16:00:13 +0200 Stéphane Cerveau <scerveau@collabora.com>
+
+ * ext/srt/gstsrtsrc.c:
+ srtsrc: remove dead code
+ Remove code useless since
+ 132e3a1af9deb1d2cdf84d22b954967207bcc03a
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/967>
+
+2022-05-19 05:24:08 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvh264dec.cpp:
+ qsvh264dec: Use newly added avcC data parsing API
+ Use gst_h264_parser_parse_decoder_config_record() method to parse
+ codec_data.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2449>
+
+2022-05-19 05:06:04 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/videoparsers/gsth264parse.c:
+ h264parse: Use newly added avcC data parsing API
+ Use gst_h264_parser_parse_decoder_config_record() method to parse
+ codec_data.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2449>
+
+2022-05-19 04:49:36 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gsth264decoder.c:
+ h264decoder: Use newly added avcC data parsing API
+ Use gst_h264_parser_parse_decoder_config_record() method to parse
+ codec_data.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2449>
+
+2022-05-19 04:25:38 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecparsers/gsth264parser.c:
+ * gst-libs/gst/codecparsers/gsth264parser.h:
+ * tests/check/libs/h264parser.c:
+ h264parser: Add an API for AVCDecoderConfigurationRecord parsing
+ Add a method for AVC configuration date parsing
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2449>
+
+2022-06-15 10:07:26 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * sys/decklink/gstdecklink.cpp:
+ decklinkvideosink: Fix selection of > PAL widescreen modes
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2601>
+
+2022-06-07 16:30:36 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvabasedec.c:
+ va: basedec: Select output format with the used chroma in decoder.
+ Currently, video format is decided with downstream caps intersection,
+ but that's not correct since chroma is not considered. The video
+ decoders have to decide the output format given the used chroma, not
+ by the downstream caps negotiation.
+ This patch changes that. Still, caps feature is selected by caps
+ negotiation, then, with the preferred caps feature, the output format
+ is search within that caps feature.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2569>
+
+2022-05-23 11:41:17 +1000 Matthew Waters <matthew@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/vulkan/gstvulkan.c:
+ * ext/vulkan/meson.build:
+ * ext/vulkan/vkoverlaycompositor.c:
+ * ext/vulkan/vkoverlaycompositor.h:
+ vulkan: add vulkan overlay compositor element
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2470>
+
+2022-05-23 11:26:24 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkfullscreenquad.c:
+ * gst-libs/gst/vulkan/gstvkfullscreenquad.h:
+ vkfullscreenquad: add support for disabling clearing
+ e.g. if drawing over the top of an existing image, we don'w want to
+ clear.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2470>
+
+2022-05-23 11:25:03 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkfullscreenquad.c:
+ * gst-libs/gst/vulkan/gstvkfullscreenquad.h:
+ vkfullscreenquad: support setting blend operations
+ Allows e.g. blending with an existing image.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2470>
+
+2022-05-23 11:24:04 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkfullscreenquad.c:
+ vkfullscreenaud: create the vulkan command pool upfront
+ Allows outside to reuse the same command buffer pool much more easily.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2470>
+
+2022-05-17 17:07:49 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkbuffermemory.h:
+ * gst-libs/gst/vulkan/gstvkbufferpool.h:
+ * gst-libs/gst/vulkan/gstvkcommandbuffer.h:
+ * gst-libs/gst/vulkan/gstvkdescriptorpool.h:
+ * gst-libs/gst/vulkan/gstvkdescriptorset.h:
+ * gst-libs/gst/vulkan/gstvkfence.h:
+ * gst-libs/gst/vulkan/gstvkimagebufferpool.h:
+ * gst-libs/gst/vulkan/gstvkimagememory.h:
+ * gst-libs/gst/vulkan/gstvkmemory.h:
+ * gst-libs/gst/vulkan/gstvkvideofilter.h:
+ vulkan: add some missing GAutoPtr definitions
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2470>
+
+2022-05-17 16:32:09 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/vulkan/gstvkimageview.h:
+ vulkan: remove unneeded #ifdef for GAutoPtr
+ Not necessary anymore as we depend on a new enough Glib version
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2470>
+
+2022-05-17 13:22:33 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/gstvulkanelements.h:
+ * ext/vulkan/vkcolorconvert.h:
+ * ext/vulkan/vkdeviceprovider.h:
+ * ext/vulkan/vkdownload.h:
+ * ext/vulkan/vkimageidentity.h:
+ * ext/vulkan/vkshaderspv.h:
+ * ext/vulkan/vksink.h:
+ * ext/vulkan/vkupload.h:
+ * ext/vulkan/vkviewconvert.h:
+ vulkan: move element register definition to relevant element headers
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2470>
+
+2022-06-13 03:29:11 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11converter.cpp:
+ * sys/d3d11/gstd3d11pluginutils.cpp:
+ * sys/d3d11/gstd3d11pluginutils.h:
+ d3d11converter: Add support for colorimetry conversion
+ Handle color primaries and gamma functions.
+ HDR <-> SDR conversion (tone mapping) should be implemented as well
+ but not a part of this patch.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2581>
+
+2022-06-14 03:15:42 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11convert.cpp:
+ d3d11convert: Don't passthrough if colorimetry conversion is required
+ Different input/output colorimetry requires conversion
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2581>
+
+2022-06-14 00:24:41 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11pluginutils.cpp:
+ d3d11window: Use SDR colorspace whenever possible
+ PQ uses completely different light level scale
+ and it should not be used for SDR bt2020.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2581>
+
+2022-06-06 03:41:52 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11converter.cpp:
+ * sys/d3d11/gstd3d11converter.h:
+ * sys/d3d11/gstd3d11pluginutils.cpp:
+ * sys/d3d11/gstd3d11pluginutils.h:
+ d3d11converter: Rewrite conversion object
+ Rewriting GstD3D11Converter (equivalent to GstVideoConverter)
+ to optimize some conversion path and clean up.
+ * Extract YUV <-> RGB conversion matrix building method to
+ utils. It will be used by other implementation
+ * Use calculated offset values for YCbCr <-> YPbPr conversion
+ instead of hardcoded values
+ * Handle color range adjustment
+ * Move transform matrix building helper function to utils.
+ The method will be used by other elements
+ * Use single constant buffer. Multiple constatne buffer for
+ conversion pipeline is almost pointless
+ * Remove lots of duplicated HLSL code and split pixel shader
+ code path into sampling -> colorspace conversion ->
+ shader output packing
+ * Avoid floating point precision error around UV coordinates
+ * Optimize RGB -> YUV conversion path
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2581>
+
+2022-05-24 10:40:26 +0200 Benjamin Gaignard <benjamin.gaignard@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2format.c:
+ * sys/v4l2codecs/gstv4l2format.h:
+ * sys/v4l2codecs/linux/videodev2.h:
+ v4l2codecs: Add P010 pixel format
+ Copy V4L2_PIX_FMT_P010 define from linux header.
+ V4L2_PIX_FMT_P010 is the little endian definition of P010 so map
+ it GST_VIDEO_FORMAT_P010_10LE.
+ Add it v4l2 default video formats to allows v4l2 decoders to
+ enumerate and use it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2590>
+
+2022-04-06 12:56:30 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ext/gs/gstgscommon.cpp:
+ * gst/mpegtsdemux/mpegtsbase.c:
+ * gst/mxf/mxfdemux.c:
+ * meson.build:
+ * sys/d3d11/gstd3d11deinterlace.cpp:
+ * sys/va/vacompat.h:
+ Bump GLib requirement to >= 2.62
+ Can't require 2.64 yet because of
+ https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/323
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2568>
+
+2022-06-08 10:42:18 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * sys/decklink/gstdecklink.cpp:
+ * sys/decklink/gstdecklink.h:
+ decklink: Add support for 4K DCI, 8K/UHD2 and 8K DCI modes
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2570>
+
+2022-06-02 06:06:48 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvallocator_d3d11.cpp:
+ qsvencoder: Do not copy if input is D3D11 texture
+ In case that input is D3D11 texture, QSV seems to work regardless
+ of the alignment. Actually the alignment requirement seems to make
+ only sense for system memory.
+ Other Intel GPU dependent implementations (new VA encoder, and MediaFoundation)
+ do not require such alignment nor other vendor specific ones (NVENC and AMF)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2540>
+
+2022-06-09 23:19:24 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11decoder.cpp:
+ d3d11decoder: Fix for alternate interlacing signalling
+ Don't set d3d11+interlace caps feature. None of d3d11 elements
+ support it
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2579>
+
+2022-06-04 22:33:34 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11testsrc.cpp:
+ * sys/d3d11/gstd3d11testsrc.h:
+ * sys/d3d11/meson.build:
+ * sys/d3d11/plugin.cpp:
+ d3d11: Add d3d11testsrc element
+ Adding Direct3D11 based videotestsrc element
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2554>
+
+2022-06-08 16:38:00 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * docs/meson.build:
+ -bad/docs: be more selective about header files to exclude
+ A few header files in -bad contain comments that start with the
+ /** gtk-doc pattern, but should not actually be parsed (and warned
+ about as such).
+ Previously, we were using far-reaching wildcard patterns to avoid
+ parsing those, but this had the unintended side effect of also
+ excluding legitimate files, and creating confusion when comments
+ were not parsed from those.
+ Switch to excluding specific files instead.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2576>
+
+2022-05-27 05:15:13 +1000 Jan Schmidt <jan@centricular.com>
+
+ * sys/androidmedia/gstamc-constants.h:
+ * sys/androidmedia/gstamc.c:
+ * sys/androidmedia/gstamcvideoenc.c:
+ * sys/androidmedia/gstamcvideoenc.h:
+ amc: Add H.265 encoder mapping.
+ Add mime type mapping to enable the use of Android H.265 encoders
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2511>
+
+2022-05-13 17:21:25 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ * sys/msdk/gstmsdkdec.h:
+ msdkdec: Decoder should use its own pool when downstream allocator is not recognizable
+ Msdkdec should use it own pool when the allocation from downstream query
+ is not any msdk_allocator (i.e. msdk_video_allocator,
+ msdk_dmabuf_allocator and msdk_system_allocator). Otherwise, when using
+ pipeline "msdkh264dec ! vah264enc !" to transcode a not 16-bit-aligned
+ stream (i.e. 1920x1080), the transcoding will fail due to the size
+ mismatch issue between decoder pool and encoder pool.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2451>
+
+2022-06-06 10:56:12 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ va: Update plugin cache.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2522>
+
+2022-05-29 13:43:29 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvah264enc.c:
+ vah264enc: Guard logging functions
+ .. and use spec for rate control rather than static switch.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2522>
+
+2022-05-30 10:20:11 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvabaseenc.c:
+ * sys/va/gstvah264enc.c:
+ vah264enc: Support default and none rate control.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2522>
+
+2022-05-29 12:09:05 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvaencoder.c:
+ * sys/va/gstvaencoder.h:
+ * sys/va/gstvah264enc.c:
+ va: encoder: Rate control property.
+ Fixes: #1241
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2522>
+
+2022-05-30 11:26:24 +0100 Philippe Normand <philn@igalia.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/webrtc/gstwebrtcbin.c:
+ * tests/check/elements/webrtcbin.c:
+ webrtcbin: Add a prepare-data-channel GObject signal
+ This new signal allows data-channel consumers to configure signal handlers on a
+ newly created data-channel, before any data or state change has been notified.
+ The webrtcin unit-tests were refactored to make use of this new signal.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2427>
+
+2022-05-16 16:43:57 +0100 Philippe Normand <philn@igalia.com>
+
+ * ext/webrtc/webrtcdatachannel.c:
+ webrtcdatachannel: Chain to parent class constructed
+ And add a debug log statement.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2427>
+
+2022-06-02 10:32:28 -0400 Eric Knapp <emkman99@gmail.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * sys/decklink/gstdecklink.cpp:
+ * sys/decklink/gstdecklink.h:
+ * sys/decklink/gstdecklinkvideosink.cpp:
+ * sys/decklink/gstdecklinkvideosink.h:
+ decklinkvideosink: Add 3G-SDI Level A output support
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2544>
+
+2022-06-04 15:05:05 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/codecparsers/gsth264parser.c:
+ h264parser: Fix memory leaks in parse_user_data_unregistered().
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2551>
+
+2022-06-04 17:23:00 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/rtmp2/rtmp/rtmpmessage.c:
+ rtmp2: Fix allocation of GstRtmpMeta
+ Use the right size.
+ On 64-bit platforms, `GstMetaInfo` is larger than `GstRtmpMeta`, which
+ masked this bug. On 32-bit platforms, it causes crashes. Thanks to
+ @maxatka for discovering this.
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1721
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2553>
+
+2022-06-02 16:38:55 +0200 Robert Mader <robert.mader@collabora.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/wayland/gstwaylandsink.c:
+ gstwaylandsink: Add support for the "render-rectangle" property
+ We already implement the `set_render_rectangle` videooverlay interface,
+ thus install the videooverlay property accordingly.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2479>
+
+2022-01-04 15:20:41 +0100 Robert Mader <robert.mader@collabora.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/wayland/gstwaylandsink.c:
+ * ext/wayland/gstwaylandsink.h:
+ * ext/wayland/meson.build:
+ * ext/wayland/wldisplay.c:
+ * ext/wayland/wldisplay.h:
+ * ext/wayland/wlwindow.c:
+ * ext/wayland/wlwindow.h:
+ * gst-libs/gst/wayland/gstwl_fwd.h:
+ * gst-libs/gst/wayland/gstwlbuffer.c:
+ * gst-libs/gst/wayland/gstwlbuffer.h:
+ * gst-libs/gst/wayland/gstwlcontext.c:
+ * gst-libs/gst/wayland/gstwlcontext.h:
+ * gst-libs/gst/wayland/gstwldisplay.c:
+ * gst-libs/gst/wayland/gstwldisplay.h:
+ * gst-libs/gst/wayland/gstwllinuxdmabuf.c:
+ * gst-libs/gst/wayland/gstwllinuxdmabuf.h:
+ * gst-libs/gst/wayland/gstwlshmallocator.c:
+ * gst-libs/gst/wayland/gstwlshmallocator.h:
+ * gst-libs/gst/wayland/gstwlvideobufferpool.c:
+ * gst-libs/gst/wayland/gstwlvideobufferpool.h:
+ * gst-libs/gst/wayland/gstwlvideoformat.c:
+ * gst-libs/gst/wayland/gstwlvideoformat.h:
+ * gst-libs/gst/wayland/gstwlwindow.c:
+ * gst-libs/gst/wayland/gstwlwindow.h:
+ * gst-libs/gst/wayland/meson.build:
+ * gst-libs/gst/wayland/wayland-prelude.h:
+ * gst-libs/gst/wayland/wayland.c:
+ * gst-libs/gst/wayland/wayland.h:
+ * tests/examples/waylandsink/main.c:
+ * tests/examples/waylandsink/wayland-threads.c:
+ gstwayland: Move reusable parts of the waylandsink into a library
+ In preparation for the new element `GstGtkWaylandSink`, move reusable
+ parts out of `GstWaylandSink` into the already exisiting but very
+ barebone library.
+ Notable changes include:
+ - the `GstWaylandVideo` interface was dropped
+ - support for `wl-shell` was dropped
+ - lots of renaming in order to match established naming patterns
+ - lots of code modernisations, reducing boilerplate
+ - members were made private wherever possible
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2479>
+
+2022-06-06 00:30:15 +0200 Jan Alexander Steffens (heftig) <heftig@archlinux.org>
+
+ * ext/opencv/gstcvtracker.cpp:
+ * ext/opencv/gstcvtracker.h:
+ * ext/opencv/meson.build:
+ opencv: Allow building against 4.6.x
+ Replace the broken version checks with one modeled after
+ `GLIB_CHECK_VERSION`.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2557>
+
+2022-05-30 16:31:38 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * tests/check/elements/webrtcbin.c:
+ webrtcbin: Reject answers that don't contain the same number of m-line as offer
+ Otherwise, it segfaults later. Also add test to validate this.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2526>
+
+2022-03-15 12:44:20 +0100 Marc Leeman <m.leeman@televic.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst/librfb/gstrfb-utils.c:
+ * gst/librfb/gstrfb-utils.h:
+ * gst/librfb/gstrfbsrc.c:
+ * gst/librfb/gstrfbsrc.h:
+ * gst/librfb/meson.build:
+ rfbsrc: add uri interface
+ Adding a uri interface enables plugging in RFB/VNC sources to anything
+ that makes use of uridecodebin:
+ gst-play-1.0 rfb://:password@10.40.216.180:5903?shared=1
+ Use userinfo to pass user (ignored) and password, other key/value pairs
+ can be encoded in the query part of the URI (see shared)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1963>
+
+2022-05-17 00:36:24 +0200 Andoni Morales Alastruey <ylatuya@gmail.com>
+
+ * gst/videoparsers/gsth264parse.c:
+ * gst/videoparsers/gstvideoparseutils.c:
+ * gst/videoparsers/gstvideoparseutils.h:
+ videoparse: rename from _free to _clear
+ The function does not free the structure but the data
+ contained within.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458>
+
+2022-05-16 14:21:53 +0200 Andoni Morales Alastruey <ylatuya@gmail.com>
+
+ * gst-libs/gst/codecparsers/gsth264parser.c:
+ h264parse: fix leak in user data unregistered
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458>
+
+2022-02-27 18:41:12 +0000 Andoni Morales Alastruey <ylatuya@gmail.com>
+
+ * gst-libs/gst/codecparsers/gsth264parser.h:
+ Fix documentation
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458>
+
+2022-02-17 15:55:19 +1100 Brad Hards <bradh@frogmouth.net>
+
+ * tests/check/elements/h264parse.c:
+ h264parse: add unit test for Precision Time Stamp in SEI messages
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458>
+
+2021-12-19 19:14:05 +0100 Andoni Morales Alastruey <ylatuya@gmail.com>
+
+ * gst-libs/gst/codecparsers/gsth264parser.c:
+ * gst-libs/gst/codecparsers/gsth264parser.h:
+ * gst/videoparsers/gsth264parse.c:
+ * gst/videoparsers/gsth264parse.h:
+ * gst/videoparsers/gstvideoparseutils.c:
+ * gst/videoparsers/gstvideoparseutils.h:
+ h264parse: add support Precision Time Stamp in SEI messages
+ Expose User Data Unregistered as a new Meta and add
+ API to parse Precision Time Stamp (ST 0604).
+ Fixes #927
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458>
+
+2022-06-02 02:22:19 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/cuda/meson.build:
+ meson: cuda: Add missing override_dependency()
+ Required for GstCuda library to be consumed via "gstreamer-cuda-1.0"
+ dependency.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2539>
+
+2022-06-02 21:25:38 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/cuda/gstcudautils.c:
+ cuda: Fix uninitialized debug category
+ Make sure debug category init
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2542>
+
+2022-04-22 06:46:07 +0000 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkav1enc.c:
+ * sys/msdk/gstmsdkav1enc.h:
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/gstmsdkenc.h:
+ msdkav1enc: Reorder pts
+ This is a workaround for pts because oneVPL cannot handle the pts
+ correctly when there is b-frames. We first cache the input frame pts in
+ a queue then retrive the smallest one for the output encoded frame as
+ we always output the coded frame when this frame is displayable.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2089>
+
+2022-03-31 06:45:03 +0000 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkav1enc.c:
+ * sys/msdk/gstmsdkav1enc.h:
+ msdkav1enc: Add b-pyramid and p-pyramid
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2089>
+
+2022-03-31 06:33:55 +0000 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkav1enc.c:
+ * sys/msdk/gstmsdkav1enc.h:
+ msdkav1enc: Add tile for encoding
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2089>
+
+2022-03-31 06:03:36 +0000 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdk.c:
+ * sys/msdk/gstmsdkav1enc.c:
+ * sys/msdk/gstmsdkav1enc.h:
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/gstmsdkenc.h:
+ * sys/msdk/meson.build:
+ msdk: Add msdkav1enc element
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2089>
+
+2022-05-31 20:39:29 +0200 Jakub Adam <jakub.adam@collabora.com>
+
+ * sys/amfcodec/gstamfencoder.cpp:
+ amfencoder: always empty the queue when pushing output samples
+ gst_amf_encoder_try_output() pushes at most one output buffer downstream
+ although more may be ready. As a consequence, output samples will keep
+ queueing up in AMFComponent whenever QueryOutput() returns AMF_REPEAT
+ (and do_wait is FALSE). This has negative impact on latency when the
+ video being encoded is a live stream.
+ In order to avoid it, always retrieve and push all samples available in
+ AMFComponent's output queue at once.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2536>
+
+2022-05-29 06:55:27 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/directshow/gstdshowvideosrc.cpp:
+ * sys/directshow/plugin.cpp:
+ directshow: Fix for uninitialized debug category warning
+ A method in the code is used in another place (device provider)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2519>
+
+2022-05-29 12:42:52 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvabaseenc.c:
+ * sys/va/gstvabasetransform.c:
+ va: Register base classes as abstract.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2521>
+
+2022-05-29 12:09:22 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvaencoder.c:
+ va: encoder: Use entrypoint type.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2521>
+
+2022-05-27 14:47:21 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvah264enc.c:
+ va264enc: Fix typo.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2508>
+
+2022-05-27 14:45:51 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvaencoder.c:
+ va: encoder: Fix regression since commit 2042c2d4f0.
+ There's no need to compare with the open entrypoint to query the
+ encoder. This commit removes the checks to the configured entrypoint
+ with the parameter.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2508>
+
+2022-03-26 23:48:46 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfh264enc.cpp:
+ * sys/mediafoundation/gstmfh265enc.cpp:
+ * sys/mediafoundation/gstmfvideoencoder.cpp:
+ * sys/mediafoundation/gstmfvideoencoder.h:
+ * sys/mediafoundation/gstmfvp9enc.cpp:
+ * tests/examples/mediafoundation/meson.build:
+ * tests/examples/mediafoundation/mfvideoenc-dynamic-reconfigure.c:
+ * tests/examples/meson.build:
+ mfvideoencoder: Handle dynamic property update
+ Re-init MFT on property update to apply new encoding options
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2037>
+
+2022-03-26 23:50:24 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/plugin.cpp:
+ mediafoundation: Run indent
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2037>
+
+2022-03-26 22:24:27 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfvideoencoder.cpp:
+ mfvideoenc: Remove redundant bitwise or operation
+ MFT_ENUM_FLAG_SORTANDFILTER_APPROVED_ONLY (0xc0) covers
+ MFT_ENUM_FLAG_SORTANDFILTER (0x40)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2037>
+
+2022-03-26 21:47:10 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfvideoencoder.cpp:
+ mfvideoencoder: Early terminate d3d11 interop
+ Shared texture will work only for the same GPU
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2037>
+
+2022-03-26 21:43:50 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfvideoencoder.cpp:
+ mfvideoencoder: Check HRESULT code as well for GPU sync
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2037>
+
+2022-03-26 21:40:47 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfvideoencoder.cpp:
+ mfvideoencoder: Don't specify keyed mutex misc flag
+ Current implemetation copies textures using non-keyed mutex way.
+ D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX is pointless
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2037>
+
+2022-05-25 13:25:15 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvacompositor.c:
+ vacompositor: Pass video info pointer than copying it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2496>
+
+2022-05-25 13:24:41 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvacompositor.c:
+ vacompositor: Remove useless consts.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2496>
+
+2022-05-27 21:13:43 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+ * gst-libs/gst/d3d11/gstd3d11memory.h:
+ * sys/d3d11/gstd3d11decoder.cpp:
+ d3d11decoder: Work around Intel DXVA driver crash
+ Intel DXVA driver crashes sometimes (from GPU thread) if
+ ID3D11VideoDecoder is released while there are outstanding view objects.
+ To make sure the object life cycle, holds an ID3D11VideoDecoder refcount
+ in GstD3D11Memory object.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2504>
+
+2022-05-26 23:50:08 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvencoder.cpp:
+ qsvencoder: Bind internal texture to render target
+ ... so that memory allocator can initialize texture with black color
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2502>
+
+2022-05-26 23:46:05 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+ d3d11memory: Clear YUV texture with black color
+ We prefer black color as an initial texture color and
+ Direct3D11 runtime will initialize texture with zeros (except for alpha)
+ which is fine for RGB formats. But UV components of YUV texture
+ requires manual clear for black color.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2502>
+
+2022-05-24 12:54:05 -0400 U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+ * tests/check/elements/vacompositor.c:
+ * tests/check/meson.build:
+ tests: va: add simple vacompositor test
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2481>
+
+2022-04-22 16:29:56 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkh265enc.c:
+ * sys/msdk/gstmsdkh265enc.h:
+ msdkh265enc: Add intra refresh parameters
+ Note that for msdkh265enc, intra refresh parameters are only supported
+ under low-power mode. If these parameters are set without enabling lowpower,
+ they will be simply ignored.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2308>
+
+2022-04-15 13:38:20 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkh264enc.c:
+ * sys/msdk/gstmsdkh264enc.h:
+ msdkh264enc: Add intra refresh parameters
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2308>
+
+2022-05-23 00:36:50 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tests/examples/d3d11/d3d11videosink-kb.c:
+ * tests/examples/d3d11/d3d11videosink-kb.h:
+ * tests/examples/d3d11/d3d11videosink.c:
+ * tests/examples/d3d11/meson.build:
+ * tests/examples/key-handler.c:
+ * tests/examples/key-handler.h:
+ * tests/examples/nvcodec/meson.build:
+ * tests/examples/nvcodec/nvcodec-kb.c:
+ * tests/examples/nvcodec/nvcodec.c:
+ * tests/examples/nvcodec/nvcodec.h:
+ * tests/examples/qsv/meson.build:
+ * tests/examples/qsv/qsvenc-dynamic-reconfigure.c:
+ tests: examples: Stop duplicating keyboard interaction handler code
+ Extract the code from QSV and use it for D3D11 and NVCODEC examples
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2468>
+
+2022-05-26 14:08:55 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ext/webrtc/gstwebrtcice.c:
+ webrtc: fix build with older libnice versions
+ 1) check for right macro name when checking for NICE_VERSION_CHECK
+ 2) if libnice version is 0.1.18.1 this should not satisfy
+ a NICE_VERSION_CHECK(0,1,19).
+ Fixes build with libnice 0.1.18.1 subproject checkout.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2499>
+
+2022-05-24 05:33:05 +1000 Jan Schmidt <jan@centricular.com>
+
+ * sys/androidmedia/gstamc.c:
+ amc: Don't map input buffer with write mode
+ When copying data out of a GStreamer buffer, we don't
+ need to map it writable.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2492>
+
+2022-05-11 09:17:46 +0100 Philippe Normand <philn@igalia.com>
+
+ * ext/webrtc/gstwebrtcice.c:
+ webrtc: Use new libnice API to get the candidate relay address
+ Corresponding libnice API added in:
+ https://gitlab.freedesktop.org/libnice/libnice/-/merge_requests/229 (0.1.19)
+ https://gitlab.freedesktop.org/libnice/libnice/-/merge_requests/232 (0.1.20)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1998>
+
+2022-05-11 09:15:33 +0100 Philippe Normand <philn@igalia.com>
+
+ * ext/webrtc/gstwebrtcice.c:
+ * ext/webrtc/meson.build:
+ webrtc: Ensure the NICE_CHECK_VERSION macro is available
+ This macro was introduced in libnice 0.1.19.1, so until we bump our libnice
+ dependency to 0.1.20 we have to vendor the macro.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1998>
+
+2022-03-26 12:36:46 +0000 Philippe Normand <philn@igalia.com>
+
+ * ext/webrtc/gstwebrtcice.c:
+ * ext/webrtc/gstwebrtcice.h:
+ * ext/webrtc/gstwebrtcstats.c:
+ webrtc: Refactor ICECandidateStats freeing logic to a dedicated function
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1998>
+
+2022-03-20 12:36:07 +0000 Philippe Normand <philn@igalia.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: Document IceCandidateStats and RTCIceCandidatePairStats
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1998>
+
+2021-09-01 16:12:24 +0000 Sherrill Lin <lshuying@amazon.com>
+
+ * tests/check/elements/webrtcbin.c:
+ webrtcstats: Update unit test for outbound rtp stats
+ "remote-id" is not guaranteed to present after commit 1deb034e3d873f577a38bc483e6256b0346ee874.
+ Thus, we should not fail the test if "remote-id" is not found.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1998>
+
+2021-06-30 16:01:10 -0400 Sherrill Lin <lshuying@amazon.com>
+
+ webrtcstats: Improve selected candidate pair stats by adding ICE candidate info
+ The implementation follows w3.org specs:
+ * https://www.w3.org/TR/webrtc-stats/#icecandidate-dict*
+ * https://www.w3.org/TR/webrtc-stats/#candidatepair-dict*
+ Corresponding unit tests are also added.
+ Rebased and updated from
+ https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1462
+ Fixes #1207
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1998>
+
+2022-05-23 20:58:47 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvabaseenc.c:
+ * sys/va/gstvabaseenc.h:
+ * sys/va/gstvaencoder.c:
+ * sys/va/gstvaencoder.h:
+ * sys/va/gstvah264enc.c:
+ * sys/va/gstvah264enc.h:
+ * sys/va/plugin.c:
+ va: H264enc: Add encoder for VAEntrypointEncSliceLP.
+ We name vah264lpenc to support H264's VAEntrypointEncSliceLP encoder.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2472>
+
+2022-05-25 20:01:34 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvabaseenc.c:
+ va: encoder: Do not reset the frame count when reconfig().
+ We should not reset the input/output_frame_count when some configure
+ changes. For example, the if resolution changes, the current way just
+ resets the frame count and make the PTS of the output buffer restart
+ from the original PTS of the first frame. That causes a lot of QOS
+ event and drop all the new frames.
+ We should only reset them when encoder start().
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2489>
+
+2022-05-25 19:57:18 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvabaseenc.c:
+ * sys/va/gstvabaseenc.h:
+ * sys/va/gstvah264enc.c:
+ va: encoder: change reset_state() to a virtual function of base class.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2489>
+
+2022-05-24 10:21:31 -0400 U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+ * sys/va/gstvacompositor.c:
+ vacompositor: check caps and info return values
+ Check return values for get caps and video info from caps.
+ This was flagged by static analysis.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2480>
+
+2022-05-25 02:38:01 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11av1dec.cpp:
+ * sys/d3d11/gstd3d11h264dec.cpp:
+ * sys/d3d11/gstd3d11h265dec.cpp:
+ * sys/d3d11/gstd3d11mpeg2dec.cpp:
+ * sys/d3d11/gstd3d11vp8dec.cpp:
+ * sys/d3d11/gstd3d11vp9dec.cpp:
+ d3d11decoder: Don't print error log on negotiation failure
+ It may not be a critical error and even expected when shutting down
+ pipeline or flushing.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2483>
+
+2022-05-24 11:06:39 +0200 Erwann Gouesbet <erwann.gouesbet@blacknut.com>
+
+ * sys/d3d11/gstd3d11screencapture.cpp:
+ d3d11screencapture: Fix missing/outdated cursor shape
+ d3d11screencapture can miss a cursor shape to draw or draw an outdated cursor shape.
+ - AcquireNextFrame only provides cursor shape when there is one update
+ - current d3d11screencapture skips cursor shape when mouse is not drawn
+ So, if a gstreamer application uses d3d11screencapture with cursor initially not drawn
+ "show-cursor"=false and then switches this property to true, the cursor will not be
+ actually drawn until AcquireNextFrame provides a new cursor shape.
+ This commit makes d3d11screencapture always update the cursor shape information, even
+ if the mouse is not drawn. d3d11screencapture will always have the latest cursor shape
+ when requested to draw it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2485>
+
+2022-05-24 14:47:43 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/plugin.c:
+ va: Avoid unused variable if logging is disabled.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2478>
+
+2022-05-22 10:10:38 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvaencoder.c:
+ * sys/va/gstvah264enc.c:
+ va: Keep include's code style
+ Headers are in alphabetical order.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2465>
+
+2022-05-24 13:19:45 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvafilter.c:
+ vafilter: Fix logging of unsupported alpha blending.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2477>
+
+2022-05-24 14:36:36 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * tests/check/elements/webrtcbin.c:
+ webrtcbin: reuese the same fec/rtx/red payload types for the same media payload
+ WHen bundling, if multiple medias are used with the same media payload, then
+ each of the fec/rtx/red additions would add a distinct payload. This could
+ very easily overflow the available payload space.
+ Instead, track the relationship between the media payload value and
+ the relevant fec/rtx/red payload values and reuse them whenever
+ necessary, even when bundling.
+ e.g.
+ ...
+ a=group:BUNDLE video0 video1
+ m=video 9 UDP/SAVPF 96 97
+ a=mid:video0
+ a=rtpmap:96 VP8/90000
+ a=rtpmap:97 rtx/90000
+ a=fmtp:97 apt=96
+ ...
+ m=video 9 UDP/SAVPF 96 97
+ a=mid:video1
+ a=rtpmap:96 VP8/90000
+ a=rtpmap:97 rtx/90000
+ a=fmtp:97 apt=96
+ ...
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2474>
+
+2022-05-23 00:04:03 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tests/examples/qsv/qsvenc-dynamic-reconfigure.c:
+ tests: examples: Fix typo in QSV encoder example
+ Fixing width adjustment
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2467>
+
+2022-05-22 22:44:11 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvav1enc.cpp:
+ * sys/qsv/gstqsvav1enc.h:
+ * sys/qsv/meson.build:
+ * sys/qsv/plugin.cpp:
+ * tests/examples/qsv/qsvenc-dynamic-reconfigure.c:
+ qsv: Add AV1 encoder element
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2467>
+
+2022-05-22 21:38:34 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvencoder.cpp:
+ * sys/qsv/gstqsvh264enc.cpp:
+ * sys/qsv/gstqsvh265enc.cpp:
+ * sys/qsv/gstqsvjpegenc.cpp:
+ * sys/qsv/gstqsvvp9enc.cpp:
+ qsvencoder: Move common property to baseclass
+ adapter-luid and device-path are common for all codecs
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2467>
+
+2022-05-23 15:03:03 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvabaseenc.c:
+ va: baseenc: No need to check the frame pointer in handle_frame().
+ No need to check the NULL pointer of "frame" in error handling, it
+ is assured non-NULL by base class and we already use it everywhere
+ in this function.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2471>
+
+2022-05-22 15:03:54 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvabaseenc.c:
+ va: baseenc: include the "vacompat.h" for old version glib.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2463>
+
+2022-04-26 12:07:26 -0400 U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+ * sys/va/plugin.c:
+ va: vpp: enable compositor
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2332>
+
+2022-04-26 12:06:17 -0400 U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+ * sys/va/gstvacompositor.c:
+ * sys/va/gstvacompositor.h:
+ * sys/va/gstvafilter.c:
+ * sys/va/gstvafilter.h:
+ * sys/va/meson.build:
+ va: vpp: add compositor
+ New implementation of a VA-API compositor with blend feature.
+ Various chunks of code was taken from vavpp.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2332>
+
+2022-03-25 21:51:47 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvah264enc.c:
+ va: Apply the va base encoder to the vah264enc.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2330>
+
+2022-03-25 21:48:05 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvabaseenc.c:
+ * sys/va/gstvabaseenc.h:
+ * sys/va/meson.build:
+ va: Add the GstVaBaseEnc common object for all va encoders.
+ Just like the GstVaBaseDec and GstVaBaseTransform, this base encoder
+ will handle all common logic for all va encoders.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2330>
+
+2022-05-15 00:56:59 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11_private.h:
+ * gst-libs/gst/d3d11/gstd3d11device.cpp:
+ * gst-libs/gst/d3d11/gstd3d11format.cpp:
+ * gst-libs/gst/d3d11/gstd3d11format.h:
+ d3d11device: Enhance format enumeration and debugging
+ * Enhance debug log to print human readable D3D11_FORMAT_SUPPORT flags
+ value, instead of packed numeric flagset value.
+ * Only device supported format will be added to format table.
+ Depending on device feature level (i.e., D3D9 feature devices),
+ 16bits formats will not be supported. Although there might be formats
+ we deinfed but not supported, it will not be a major issue in practice
+ since our D3D11 implementation does not support legacy devices already
+ (known limitation) and also old d3dvideosink will be promoted in that case.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2441>
+
+2021-12-22 19:23:37 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst/jpegformat/gstjpegparse.c:
+ * gst/jpegformat/gstjpegparse.h:
+ * gst/jpegformat/meson.build:
+ * tests/check/elements/jpegparse.c:
+ jpegparse: Rewrite element.
+ Now it uses the JPEG parser in libgstcodecparsers, while the whole
+ code is simplified by relying more in baseparser class for tag
+ handling.
+ The element now signals chroma-format and default framerate is 0/1,
+ which is for still-images.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1473>
+
+2021-12-25 13:00:17 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * tests/check/elements/jpegparse.c:
+ tests: jpegparse: Mark data as static.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1473>
+
+2021-12-22 18:13:17 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst/jpegformat/gstjifmux.c:
+ * gst/jpegformat/gstjifmux.h:
+ * gst/jpegformat/gstjpegformat.h:
+ * gst/jpegformat/gstjpegparse.c:
+ * gst/jpegformat/meson.build:
+ jpegformat: Use codecparsers' for JPEG markers.
+ Instead of repeating JPEG markers definition, this patch uses those
+ defined in gstcodecparsers library.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1473>
+
+2021-12-22 17:35:23 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst/jpegformat/gstjpegparse.c:
+ * gst/jpegformat/gstjpegparse.h:
+ jpegparse: Headers cleanup
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1473>
+
+2022-05-18 16:54:53 +0100 Philippe Normand <philn@igalia.com>
+
+ * ext/webrtc/webrtcdatachannel.c:
+ datachannel: Notify low buffered amount according to spec
+ Quoting
+ https://www.w3.org/TR/webrtc/#dom-rtcdatachannel-bufferedamountlowthreshold
+ The bufferedAmountLowThreshold attribute sets the threshold at which the
+ bufferedAmount is considered to be low. When the bufferedAmount decreases from
+ above this threshold to **equal** or below it, the bufferedamountlow event fires.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2448>
+
+2022-05-17 14:15:40 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/mpegtsmux/gstbasetsmux.c:
+ tsmux: Make sure to set srcpad caps under all conditions before outputting the first buffer
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1218
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2438>
+
+2022-05-17 04:27:00 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11device.cpp:
+ d3d11device: Don't print ERROR log on open failure
+ Device open can be failed in various reasons, but it's unlikely
+ our problem
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2433>
+
+2022-05-17 14:02:28 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/sdp/gstsdpdemux.c:
+ sdpdemux: Release request pads from rtpbin when freeing a stream
+ Otherwise the pads of the rtpbin stay around forever and are leaked.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2437>
+
+2022-05-17 03:32:10 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/libmfx/meson.build:
+ * sys/qsv/meson.build:
+ qsv: Disable non-MSVC build on Windows
+ ... and remove pointless UWP consideration that will never work.
+ Cross-compiled binary has an issue which causes deadlock.
+ Although cerbero will not build this plugin for non-MSVC build,
+ people can still build this plugin and may complain its brokenness.
+ See also
+ https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/854
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2431>
+
+2022-04-28 16:02:26 +0100 Diogo Goncalves <diogo@diporg.com>
+
+ * sys/applemedia/avfvideosrc.m:
+ avfvideosrc: fix wrong framerate selected for caps
+ This fix solves an issue where a format that doesn't support the
+ requested framerate would be selected. It ensures that we use the first
+ format and framerate pair that supports the requested caps.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2331>
+
+2022-05-12 05:13:08 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11av1dec.cpp:
+ * sys/d3d11/gstd3d11decoder.cpp:
+ * sys/d3d11/gstd3d11decoder.h:
+ * sys/d3d11/gstd3d11h264dec.cpp:
+ * sys/d3d11/gstd3d11h265dec.cpp:
+ * sys/d3d11/gstd3d11mpeg2dec.cpp:
+ * sys/d3d11/gstd3d11vp8dec.cpp:
+ * sys/d3d11/gstd3d11vp9dec.cpp:
+ d3d11decoder: Add hardcoded minimum resolution values to caps for NVIDIA
+ NVIDIA GPUs have undocumented limitation regarding minimum resolution
+ and it can be queried via a NVDEC API. However, since we don't want to
+ bring CUDA/NVDEC API into D3D11, use hardcoded values for now
+ until we find a nice way for capability check.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2406>
+
+2022-05-12 07:23:29 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/mxf/mxfdemux.c:
+ mxfdemux: Handle files produced by legacy FFmpeg
+ Until March 2022, the FFmpeg MXF muxer would write the various index table
+ segments with the same instance ID, which should only be used if it is a
+ duplicate/repeated table.
+ In order to cope with those, we first compare the other index table segment
+ properties (body/index SID, start position) before comparing the instance
+ ID. This will ensure that we don't consider them as duplicate, but can still
+ detect "real" duplicates (which would have the same other properties).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2407>
+
+2022-05-03 16:23:09 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvabasedec.c:
+ va: basedec: Always select first available format.
+ If the stream chroma doesn't match with any video format in the source
+ caps template (generated from va config surface formats) instead of
+ return unknown, return the first available format in the template,
+ assuming that the driver would be capable to do color conversions.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2404>
+
+2022-05-07 03:15:44 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gsth265decoder.c:
+ h265decoder: Improve robustness against malformed NAL packets
+ Use newly added gst_h265_parser_identify_and_split_nalu_hevc()
+ method to handle broken streams where packetized NAL unit
+ contain start code prefix in it.
+ It's obviously wrong stream but we know how to work around it
+ and even need to support such broken streams since
+ stateless decoder implementations are being a primary
+ decoder element.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2394>
+
+2022-05-10 03:32:42 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecparsers/gsth265parser.c:
+ * gst-libs/gst/codecparsers/gsth265parser.h:
+ * tests/check/libs/h265parser.c:
+ h265parser: Add a new NAL parsing API to handle malformed packets
+ Add gst_h265_parser_identify_and_split_nalu_hevc() method to
+ handle a case where packetized stream contains start-code prefix.
+ This new method behaves similar to exisiting gst_h265_parser_identify_nalu_hevc()
+ but it will scan start-code prefix to split given data into
+ NAL units.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2394>
+
+2022-03-30 17:19:54 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvaav1dec.c:
+ * sys/va/gstvabasedec.c:
+ * sys/va/gstvah264dec.c:
+ * sys/va/gstvah265dec.c:
+ * sys/va/gstvampeg2dec.c:
+ * sys/va/gstvavp8dec.c:
+ * sys/va/gstvavp9dec.c:
+ va: basedec: Select format from template or negotiated caps.
+ Instead of using a hard-coded list of preferred formats according the
+ chroma type, now if now caps are pre-negotiated, from template caps
+ will choose the first format with the same chroma type. If
+ pre-negotiated, then it will choose the first format, with same chroma
+ type, from the first caps structure.
+ Also all the decoders will check if GST_VIDEO_FORMAT_UNKNOWN is
+ returned, failing the negotiation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2351>
+
+2022-05-06 17:53:51 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/va/gstvadisplay_drm.c:
+ libs: va: Add O_CLOEXEC flag at opening drm device.
+ So any other potential subprocess won't have access to it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2386>
+
+2022-05-06 18:21:00 -0400 Olivier Crête <olivier.crete@ocrete.ca>
+
+ * gst/pcapparse/gstpcapparse.c:
+ pcapparse: Set timestamp in DTS, not PTS
+ This matches the behaviour of basesrc, in particular, it matches the
+ behaviour of udpsrc, so it's easier to use to as a replacement to test
+ rtpjitterbuffer and other similar elements.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2388>
+
+2022-01-16 15:51:32 +0300 Dmitry Osipenko <digetx@gmail.com>
+
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ * sys/v4l2codecs/linux/v4l2-controls.h:
+ v4l2codecs: h264: Set frame type flags
+ V4L spec now requires decode_params flags to be set in accordance to the
+ frame's type. In particular this is required by H.264 decoder of NVIDIA
+ Tegra SoC to operate properly. Set the flags based on type of parsed
+ slices.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1757>
+
+2022-05-06 10:50:59 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * tests/check/meson.build:
+ tests: Skip test if srtp element not built
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2383>
+
+2022-05-06 01:46:36 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+ d3d11memory: Protect against concurrent access from GPU and CPU to staging texture
+ Staging texture does not allow GPU access while it's CPU mapped.
+ But because we cannot block concurrent READ access by GstMemory design,
+ additional staging texture is still required.
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1182
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2375>
+
+2022-05-05 02:16:54 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11screencapture.cpp:
+ * sys/d3d11/gstd3d11screencapture.h:
+ * sys/d3d11/gstd3d11screencapturesrc.cpp:
+ * tests/examples/d3d11/d3d11screencapturesrc.cpp:
+ d3d11screencapturesrc: Fix crash when d3d11 device is different from owned one
+ GstD3D11ScreenCapture object is pipeline-independent global object
+ and the object can be shared by multiple src elements,
+ in order to overcome a limitation of DXGI Desktop Duplication API.
+ Note that the API allows only single capture session in a process for
+ a monitor.
+ Therefore GstD3D11ScreenCapture object must be able to handle a case
+ where a src element holds different GstD3D11Device object. Which can
+ happen when GstD3D11Device context is not shared by pipelines.
+ What's changed:
+ * Allocates capture texture with D3D11_RESOURCE_MISC_SHARED for the
+ texture to be able to copied into other device's texture
+ * Holds additional shader objects per src element and use it when drawing
+ mouse
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1197
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2366>
+
+2022-05-05 20:35:57 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/mxf/mxfmux.c:
+ mxfmux: Disable aggregator's default negotiation
+ mxfmux can't negotiate caps with upstream/downstream and always outputs
+ specific caps based on the input streams. This will always happen before
+ it produces the first buffers.
+ By having the default aggregator negotiation enabled the same caps
+ would be pushed twice in the beginning, and again every time a
+ reconfigure event is received.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2372>
+
+2022-05-05 20:35:49 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/mpegtsmux/gstbasetsmux.c:
+ mpegtsmux: Disable aggregator's default negotiation
+ mpegtsmux can't negotiate caps with upstream/downstream and always outputs
+ specific caps based on the input streams. This will always happen before
+ it produces the first buffers.
+ By having the default aggregator negotiation enabled the same caps
+ would be pushed twice in the beginning, and again every time a
+ reconfigure event is received.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2372>
+
+2022-05-05 00:24:26 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gsth264decoder.c:
+ h264decoder: Fix for unhandled low-delay decoding case
+ Baseclass calls get_preferred_output_delay() in a chain of
+ sequence header parsing and then new_sequence() is called
+ with required DPB size (includes render-delay) information.
+ Thus latency query should happen before the sequence header
+ parsing for subclass to report required render-delay accordingly
+ via get_preferred_output_delay() method.
+ (e.g., zero delay in case of live pipeline)
+ This commit is to fix wrong liveness signalling in case of
+ upstream packetized format.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2363>
+
+2022-05-05 00:49:27 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gsth265decoder.c:
+ h265decoder: Fix for unhandled low-delay decoding case
+ Baseclass calls get_preferred_output_delay() in a chain of
+ sequence header parsing and then new_sequence() is called
+ with required DPB size (includes render-delay) information.
+ Thus latency query should happen before the sequence header
+ parsing for subclass to report required render-delay accordingly
+ via get_preferred_output_delay() method.
+ (e.g., zero delay in case of live pipeline)
+ This commit is to fix wrong liveness signalling in case of
+ upstream packetized format.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2364>
+
+2022-05-04 23:36:30 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvh264dec.c:
+ * sys/nvcodec/gstnvh265dec.c:
+ nvh264dec,nvh265dec: Don't realloc bitstream buffer per slice
+ Allocated memory size has not been updated which results in
+ realloc per slice. Fixing it and also release bitstream buffer
+ on ::close(), not finalize.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2361>
+
+2022-04-29 20:28:53 +0200 Jakub Adam <jakub.adam@collabora.com>
+
+ * sys/d3d11/gstd3d11screencapture.cpp:
+ d3d11screencapture: Set viewport when drawing mouse cursor
+ If there weren't any moved/dirty regions in the captured frame, the
+ viewport of the ID3D11DeviceContext would be left at whatever previous
+ value it had, which could lead to the cursor being drawn in a wrong
+ position and/or in an incorrect size.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2362>
+
+2022-05-02 22:59:59 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvav1dec.c:
+ * sys/nvcodec/gstnvav1dec.h:
+ * sys/nvcodec/gstnvdecoder.c:
+ * sys/nvcodec/gstnvdecoder.h:
+ * sys/nvcodec/gstnvh264dec.c:
+ * sys/nvcodec/gstnvh265dec.c:
+ * sys/nvcodec/gstnvvp8dec.c:
+ * sys/nvcodec/gstnvvp9dec.c:
+ * sys/nvcodec/meson.build:
+ * sys/nvcodec/plugin.c:
+ nvcodec: Add AV1 decoder
+ Adding GstCodecs based AV1 decoder element
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1453>
+
+2022-05-03 23:56:12 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gstav1decoder.c:
+ * gst-libs/gst/codecs/gstav1decoder.h:
+ av1decoder: Add support for render delay
+ Sync up with other decoder baseclass implementations
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1453>
+
+2022-04-28 03:14:54 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gstav1decoder.c:
+ * gst-libs/gst/codecs/gstav1picture.h:
+ av1decoder: Hold OBU temporal and spatial id in picture struct
+ NVDEC API requires the information
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1453>
+
+2022-05-04 01:03:37 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/meson.build:
+ meson: nvcodec: Remove unnecessary override option and fix build with non-MSVC
+ cpp_std=c++11 was hack for macOS build but we don't build this plugin
+ for Apple device anymore. And add "-Wno-deprecated-declarations"
+ compile option for gcc/clang
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1453>
+
+2021-12-17 17:22:22 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/cuviddec.h:
+ * sys/nvcodec/nvEncodeAPI.h:
+ * sys/nvcodec/nvcuvid.h:
+ nvcodec: Bump SDK header version to 11.1
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1453>
+
+2022-05-02 22:46:06 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvdecoder.c:
+ * sys/nvcodec/gstnvh264dec.c:
+ * sys/nvcodec/gstnvh265dec.c:
+ * sys/nvcodec/gstnvvp8dec.c:
+ * sys/nvcodec/gstnvvp9dec.c:
+ nvdecoder: Handle DPB size margin in a single place
+ ... instead of each subclass
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2343>
+
+2022-05-02 22:41:53 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11av1dec.cpp:
+ * sys/d3d11/gstd3d11decoder.cpp:
+ * sys/d3d11/gstd3d11h264dec.cpp:
+ * sys/d3d11/gstd3d11h265dec.cpp:
+ * sys/d3d11/gstd3d11mpeg2dec.cpp:
+ * sys/d3d11/gstd3d11vp8dec.cpp:
+ * sys/d3d11/gstd3d11vp9dec.cpp:
+ d3d11decoder: Handle DPB size margin in a single place
+ ... instead of each subclass
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2343>
+
+2022-04-28 04:25:05 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gstav1decoder.c:
+ * gst-libs/gst/codecs/gstav1decoder.h:
+ * gst-libs/gst/codecs/gstmpeg2decoder.c:
+ * gst-libs/gst/codecs/gstmpeg2decoder.h:
+ * gst-libs/gst/codecs/gstvp8decoder.c:
+ * gst-libs/gst/codecs/gstvp8decoder.h:
+ * gst-libs/gst/codecs/gstvp9decoder.c:
+ * gst-libs/gst/codecs/gstvp9decoder.h:
+ * sys/d3d11/gstd3d11av1dec.cpp:
+ * sys/d3d11/gstd3d11mpeg2dec.cpp:
+ * sys/d3d11/gstd3d11vp8dec.cpp:
+ * sys/d3d11/gstd3d11vp9dec.cpp:
+ * sys/nvcodec/gstnvvp8dec.c:
+ * sys/nvcodec/gstnvvp9dec.c:
+ * sys/v4l2codecs/gstv4l2codecmpeg2dec.c:
+ * sys/v4l2codecs/gstv4l2codecvp8dec.c:
+ * sys/v4l2codecs/gstv4l2codecvp9dec.c:
+ * sys/va/gstvaav1dec.c:
+ * sys/va/gstvampeg2dec.c:
+ * sys/va/gstvavp8dec.c:
+ * sys/va/gstvavp9dec.c:
+ codecs: Signal required DPB size for AV1,MPEG2,VP8, and VP9 via new_sequence()
+ Make all codecs consistent so that subclass can know additional DPB
+ size requirement depending on render-delay configuration regardless
+ of codec. Note that render-delay feature is not implemented for AV1
+ yet but it's planned.
+ Also, consider new_sequence() is mandatory requirement, not optional
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2343>
+
+2022-04-12 12:17:09 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2format.c:
+ v4l2codecs: Port to the new tile size helper
+ This will complete the scaling of width/height shift scaling
+ as only a partial implementation was made.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190>
+
+2022-05-02 11:46:59 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/cuda/meson.build:
+ cuda: Fix introspection warnings
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1183
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2344>
+
+2022-05-02 21:57:07 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/cuda/gstcudautils.c:
+ Revert "cuda: Fix GstCudaContext refcount bug"
+ This reverts commit df7ee0e21518ab5586e4094f2089048f3767d5f5.
+ We should not unref it since gst_message_new_have_context()
+ takes ownership of the GstContext.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2342>
+
+2022-05-02 09:15:57 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/mpegtsdemux/mpegtspacketizer.c:
+ tsdemux: Demote warning to simple debug
+ That issue is actually handled, so don't pollute the logs with such warning.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2340>
+
+2022-04-29 19:08:46 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/interlace/gstinterlace.c:
+ interlace: Also handle a missing "interlace-mode" field as progressive
+ Otherwise caps negotiation will fail in situations that are supposed
+ to work, like:
+ "video/x-raw,framerate=(fraction)60/1" ! interlace field-pattern=0 ! "video/x-raw,framerate=(fraction)30/1"
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2335>
+
+2022-04-29 19:08:32 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/interlace/gstinterlace.c:
+ interlace: Add some more debug output to the getcaps function
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2335>
+
+2022-04-29 16:56:54 +0100 Myles Inglis <myles.inglis@vcatechnology.com>
+
+ * gst-libs/gst/cuda/gstcudautils.c:
+ cuda: Fix GstCudaContext refcount bug
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2334>
+
+2022-04-28 17:08:11 +0200 Ludvig Rappe <ludvigr@axis.com>
+
+ * ext/webrtc/icestream.c:
+ webrtc: Fix memory leak in icestream
+ Since both g_value_set_object() and g_weak_ref_get() takes a reference
+ there will be two new references to the GstWebRTCICE object when there
+ should be only one. g_value_take_object() has the same functionality as
+ g_value_set_object() but does not take a reference.
+ Without this change, the GstWebRTCICE object will be leaked.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2333>
+
+2022-04-27 22:50:37 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/cuda/gstcudautils.c:
+ cuda: Correct CUDA device id field in GstContext structure
+ device id is unsigned int, not signed.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2311>
+
+2022-04-28 13:23:39 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/codecs/gsth265decoder.h:
+ codecs: h265decoder: Fix documentation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2328>
+
+2022-04-27 15:24:50 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/mpegtsdemux/mpegtsbase.c:
+ mpegts: Handle "empty" PMT gracefully
+ Some streams have 2 PMT sections in a single TS packet. The first one is "valid"
+ but doesn't contain/define any streams. That causes an unrecoverable issue when
+ we try to activate the 2nd (valid) PMT.
+ Instead of doing that, pre-emptively refuse to process PMT without any streams
+ present within. We still do post that section on the bus to inform applications.
+ Fixes #1181
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2310>
+
+2022-04-26 09:11:07 +0200 Stéphane Cerveau <scerveau@collabora.com>
+
+ * tests/check/elements/srtp.c:
+ srtp: fix flaky unit test
+ Use different port for each test to avoid other UDP
+ packet to be received.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2294>
+
+2022-04-28 00:48:35 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/plugin.cpp:
+ d3d11h265dec: Assign PRIMARY + 1 rank
+ Promote d3d11h265dec to be default one if available
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2314>
+
+2022-04-28 00:31:49 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvvp9dec.c:
+ nvvp9sldec: Increase DPB size to cover render delay
+ This should've included in the previous MR
+ https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/987
+ already, but missed.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2313>
+
+2022-03-07 15:44:04 +0000 Thibault Saunier <tsaunier@igalia.com>
+
+ * ext/qroverlay/gstqroverlay.c:
+ qroverlay: Reset data_changed after we use the info
+ It was never reset so it was always TRUE once the data was changed!
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2299>
+
+2022-03-04 22:00:18 +0000 Thibault Saunier <tsaunier@igalia.com>
+
+ * ext/qroverlay/gstqroverlay.c:
+ qroverlay: Add a GstQROverlay meta
+ See documentation
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2299>
+
+2022-04-27 00:27:06 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/onvif/gstrtponviftimestamp.c:
+ rtponviftimestamp: add extension data to all packets ..
+ regardless of whether they are input as individual buffers or
+ buffer lists.
+ The ONVIF specification requires all packets to hold the extension,
+ it makes no sense to behave differently when handling buffer lists.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2303>
+
+2022-03-08 21:26:16 +0000 Thibault Saunier <tsaunier@igalia.com>
+
+ * sys/nvcodec/gstcudaconvert.c:
+ cudaconvert: Enhance debugging when setting video info fails
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2300>
+
+2022-04-26 22:35:30 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/codecparsers/gsth265bitwriter.c:
+ codecparsers: bitwriter: Calculate PicSizeInCtbsY when writing slice header.
+ The slice->pps->PicWidthInCtbsY/PicHeightInCtbsY values are calculated when
+ we parse the slice header. But they are not calculated in bitwriter and so
+ may not have valid value when writing slice header.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2287>
+
+2022-04-24 17:26:03 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/codecparsers/gsth265bitwriter.c:
+ codecparsers: bitwriter: Fix some coverity issues of H265 bitwriter.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2287>
+
+2022-04-24 00:02:18 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvabasedec.c:
+ va: dec: Use gst_buffer_pool_config_set_va_alignment() to set alignment.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2282>
+
+2022-04-23 23:59:08 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/va/gstvapool.h:
+ va: pool: Replace all tabs with spaces in header file.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2282>
+
+2022-04-23 23:52:34 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/va/gstvapool.c:
+ va: pool: Delete the GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT.
+ The va pool is used for GPU side surface/image, its alignment should
+ not be changed arbitrarily by others. So we decide not to expose the
+ GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT flag anymore.
+ Instead, user can call gst_buffer_pool_config_set_va_alignment() to
+ set its surface/image alignment.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2282>
+
+2022-04-23 23:40:14 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/va/gstvapool.c:
+ * gst-libs/gst/va/gstvapool.h:
+ va: pool: Add set_va_alignment() API.
+ We want to use gst_buffer_pool_config_set_va_alignment() to replace
+ gst_buffer_pool_config_get_video_alignment(). The later one is specific
+ for GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT option.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2282>
+
+2022-04-26 01:16:06 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst/videoparsers/gstav1parse.c:
+ av1parse: Fix a latent memory leak in colorimetry setting.
+ Also delete the useless "have_cinfo" judgement.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2288>
+
+2022-04-24 22:54:58 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst/videoparsers/gstav1parse.c:
+ av1parse: Correct the meaning of color_range flag.
+ According to spec:
+ color range equal to 0 shall be referred to as the studio swing
+ representation and color range equal to 1 shall be referred to as
+ the full swing representation.
+ The current status is just the opposite.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2288>
+
+2022-04-25 22:59:14 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvencoder.cpp:
+ qsvencoder: Workaround for invalid DTS with VP9
+ SDK runtime seems to report zero DTS for all frames in case of VP9 but
+ we don't need to use DTS for the codec.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2291>
+
+2022-04-24 00:37:40 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/cuda/meson.build:
+ * sys/nvcodec/meson.build:
+ nvcodec: Stop building for non-{Windows,Linux} target
+ The other platforms, specifically macOS have not been supported already
+ because this plugin loads so or dll. Moreover, NVIDIA dropped
+ support for macOS as of CUDA 11.0. See also
+ https://developer.nvidia.com/nvidia-cuda-toolkit-11_0_0-developer-tools-mac-hosts
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2283>
+
+2022-03-28 17:06:46 +0200 Stéphane Cerveau <scerveau@collabora.com>
+
+ * tests/check/elements/srtp.c:
+ * tests/check/meson.build:
+ srtp: add unit tests
+ Enable unit tests in meson.build
+ Add test_play_key_error to check the stats
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2027>
+
+2022-03-25 17:47:23 +0100 Stéphane Cerveau <scerveau@collabora.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/srtp/gstsrtpdec.c:
+ * ext/srtp/gstsrtpdec.h:
+ srtpdec: add counts in stats
+ In order to count the buffers which have been received and dropped for
+ decryption reason, add a stats to track it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2027>
+
+2022-04-23 04:00:21 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11window_win32.cpp:
+ d3d11videosink: Fix for unhandled mouse double click events
+ Only window created with CS_DBLCLKS style can receive those mouse
+ double click events, so we need to use the style for internal/external
+ windows can get double click events.
+ Also, passthrough mouse events to parent window in the same message pumping
+ threads instead of manually forwarding each mouse event.
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1172
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2277>
+
+2022-03-07 08:46:57 -0500 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * gst-libs/gst/vulkan/meson.build:
+ * sys/msdk/meson.build:
+ Meson: Fix deprecation warnings
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1876>
+
+2022-04-22 17:44:06 +0200 Stéphane Cerveau <scerveau@collabora.com>
+
+ * ext/rsvg/gstrsvgdec.h:
+ rvsg: fix cairo include
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2276>
+
+2022-04-22 12:29:29 +0200 Corentin Damman <c.damman@intopix.com>
+
+ * sys/nvcodec/cuda-converter.c:
+ cuda-converter: fix nvrtc compilation on non-English locale systems
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2268>
+
+2022-04-21 00:38:37 +0900 Sangchul Lee <sc11.lee@samsung.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: Avoid access of freed memory
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2256>
+
+2022-04-15 22:19:09 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvah264enc.c:
+ va: h264enc: Do not let L0 number surplus the HW limitation.
+ The algorithm to calculate the L0/L1 number may let the L0 number
+ surplus the HW limitation. We should ensure that limitation after
+ that calculation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2202>
+
+2022-03-02 14:42:42 +0800 He Junyan <junyan.he@intel.com>
+
+ * tests/check/libs/h265bitwriter.c:
+ * tests/check/meson.build:
+ test: Add test cases for the H265 bitwriter.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1831>
+
+2022-03-02 14:31:05 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/codecparsers/gsth265bitwriter.c:
+ * gst-libs/gst/codecparsers/gsth265bitwriter.h:
+ * gst-libs/gst/codecparsers/meson.build:
+ codecparsers: bitwriter: Add the common bit writer functions for H265.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1831>
+
+2022-04-20 13:18:34 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvavpp.c:
+ va: vpp: Update the colorimetry and HDR fields when fixup src caps.
+ When we fixup src caps, the current way of handling the HDR fields is not
+ correct.
+ 1. We trim the HDR fields only when the input caps is not a subset of the
+ fixup src caps. But in fact, the input caps with HDR fields such as the
+ "mastering-display-info" can possibly be the subset of the fixup src caps,
+ if they have all same other fields.
+ 2. We always copy the colorimetry from input caps to src caps if it is
+ absent. But when hdr-tone-mapping is enabled, the HDR->SDR conversion makes
+ the colorimetry change. We should use downstream's setting, or just use the
+ default colorimetry of SDR.
+ We changes to:
+ 1. If hdr-tone-mapping is enabled, we trim all HDR fields and add a correct
+ colorimetry.
+ 2. Copy colorimetry from input if it is still absent.
+ 3. Consider the subset replacement.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2244>
+
+2022-04-20 23:06:56 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvdecoder.h:
+ * sys/qsv/gstqsvh264dec.cpp:
+ * sys/qsv/gstqsvh264enc.cpp:
+ * sys/qsv/gstqsvh265dec.cpp:
+ * sys/qsv/gstqsvh265enc.cpp:
+ * sys/qsv/gstqsvjpegenc.cpp:
+ * sys/qsv/gstqsvvp9enc.cpp:
+ qsv: Add GPU description to element long-name on Windows
+ Would be useful for a multi-Intel-GPU system
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2249>
+
+2022-04-19 21:38:31 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvavpp.c:
+ vapostproc: Notify if hdr-tone-mapping property changes.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2247>
+
+2022-03-30 18:09:36 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/va/vasurfaceimage.c:
+ * gst-libs/gst/va/vasurfaceimage.h:
+ * sys/va/gstvafilter.c:
+ * sys/va/gstvah264enc.c:
+ va: Expose a couple va surface/buffer methods.
+ And use them in va plugin.
+ Also, set as default logging category the vadisplay one.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2077>
+
+2022-04-20 08:09:58 +0900 Wonchul Lee <wonchul.dev@gmail.com>
+
+ * ext/dash/gstdashsink.c:
+ dashsink: Unlock when failed to get content
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2242>
+
+2022-04-18 17:50:22 +0900 Camilo Celis Guzman <camilo@pexip.com>
+
+ * gst/videoparsers/gstav1parse.c:
+ gstav1parse: fixup various possible logical errors
+ Found via an analyzed build for Clang. Specifically we had:
+ gstav1parse.c[1850,11] in gst_av1_parse_detect_stream_format: Logic error: The left operand of '==' is a garbage value
+ gstav1parse.c[1606,11] in gst_av1_parse_handle_to_small_and_equal_align: Logic error: The left operand of '==' is a garbage value
+ Also a couple of false-positives:
+ gstav1parse.c[1398,24] in gst_av1_parse_handle_one_obu: Logic error: Branch condition evaluates to a garbage value
+ gstav1parse.c[1440,37] in gst_av1_parse_handle_one_obu: Logic error: The left operand of '-' is a garbage value
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2230>
+
+2022-03-25 10:18:34 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * meson.build:
+ Always define ENABLE_NLS
+ GLib guarantees libintl API is always available, provided by
+ proxy-libintl as last resort. GLib itself unconditionally define
+ ENABLE_NLS.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028>
+
+2022-03-25 10:20:24 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * gst-libs/gst/gettext.h:
+ * gst-libs/gst/gst-i18n-plugin.h:
+ Delete unused i18n headers
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028>
+
+2022-03-25 09:59:23 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * ext/curl/gstcurlelement.c:
+ * ext/curl/gstcurlhttpsrc.c:
+ * ext/dash/gstdashdemux.c:
+ * ext/ladspa/gstladspa.c:
+ * ext/openal/gstopenal.c:
+ * ext/openal/gstopenalelement.c:
+ * ext/opencv/gsttemplatematch.cpp:
+ * ext/resindvd/resindvdbin.c:
+ * ext/resindvd/resindvdsrc.c:
+ * ext/rtmp/gstrtmpsrc.c:
+ * ext/smoothstreaming/gstmssdemux.c:
+ * ext/smoothstreaming/gstsmoothstreaming-plugin.c:
+ * ext/sndfile/gstsf.c:
+ * ext/sndfile/gstsfdec.c:
+ * ext/sndfile/gstsfelement.c:
+ * ext/sndfile/gstsfsink.c:
+ * ext/sndfile/gstsfsrc.c:
+ * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+ * gst/aiff/aiffparse.c:
+ * gst/aiff/gstaiffelement.c:
+ * gst/asfmux/gstasfmux.c:
+ * gst/asfmux/gstasfparse.c:
+ * gst/camerabin2/camerabingeneral.c:
+ * gst/camerabin2/gstcamerabin2.c:
+ * gst/camerabin2/gstdigitalzoom.c:
+ * gst/camerabin2/gstviewfinderbin.c:
+ * gst/camerabin2/gstwrappercamerabinsrc.c:
+ * gst/dvdspu/gstdvdspu.c:
+ * gst/midi/midi.c:
+ * gst/mpegtsdemux/mpegtsbase.c:
+ * gst/transcode/gsttranscodebin.c:
+ * gst/transcode/gsttranscodeelement.c:
+ * sys/dvb/gstdvb.c:
+ * sys/dvb/gstdvbelement.c:
+ * sys/dvb/gstdvbsrc.c:
+ * sys/dvb/parsechannels.c:
+ Replace gst-i18n-*.h with gi18n-lib.h
+ GLib guarantees libintl is always present, using proxy-libintl as
+ last resort. There is no need to mock gettex API any more.
+ This fix static build on Windows because G_INTL_STATIC_COMPILATION must
+ be defined before including libintl.h, and glib does it for us as part
+ as including glib.h.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028>
+
+2022-04-13 15:23:56 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/cuda/gstcudautils.c:
+ * gst-libs/gst/cuda/gstcudautils.h:
+ * sys/nvcodec/gstcudamemorycopy.c:
+ cuda: Fix typo in gst_cuda_buffery_copy_type_to_string
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1472>
+
+2021-12-12 13:19:52 +0000 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/cuda/gstcudacontext.c:
+ * gst-libs/gst/cuda/gstcudacontext.h:
+ * gst-libs/gst/cuda/gstcudautils.h:
+ cuda: Add a `gst_cuda_context_new_wrapped` constructor
+ So that application or people implementing cuda element from
+ outside GStreamer itself can ensure that their contexts are used
+ by GStreamer.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1472>
+
+2021-12-08 11:48:08 +0000 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/libs/cuda/index.md:
+ * docs/libs/cuda/sitemap.txt:
+ * docs/meson.build:
+ * gst-libs/gst/cuda/cuda-gst.h:
+ * gst-libs/gst/cuda/cuda-prelude.h:
+ * gst-libs/gst/cuda/gstcudabufferpool.c:
+ * gst-libs/gst/cuda/gstcudabufferpool.h:
+ * gst-libs/gst/cuda/gstcudacontext.c:
+ * gst-libs/gst/cuda/gstcudacontext.h:
+ * gst-libs/gst/cuda/gstcudaloader.c:
+ * gst-libs/gst/cuda/gstcudaloader.h:
+ * gst-libs/gst/cuda/gstcudamemory.c:
+ * gst-libs/gst/cuda/gstcudamemory.h:
+ * gst-libs/gst/cuda/gstcudanvrtc.c:
+ * gst-libs/gst/cuda/gstcudanvrtc.h:
+ * gst-libs/gst/cuda/gstcudautils.c:
+ * gst-libs/gst/cuda/gstcudautils.h:
+ * gst-libs/gst/cuda/gstnvrtcloader.c:
+ * gst-libs/gst/cuda/gstnvrtcloader.h:
+ * gst-libs/gst/cuda/meson.build:
+ * gst-libs/gst/cuda/stub/cuda.h:
+ * gst-libs/gst/cuda/stub/cudaGL.h:
+ * gst-libs/gst/cuda/stub/nvrtc.h:
+ * gst-libs/gst/meson.build:
+ * sys/nvcodec/cuda-converter.c:
+ * sys/nvcodec/cuda-converter.h:
+ * sys/nvcodec/gstcudabasefilter.c:
+ * sys/nvcodec/gstcudabasetransform.c:
+ * sys/nvcodec/gstcudabasetransform.h:
+ * sys/nvcodec/gstcudaconvert.c:
+ * sys/nvcodec/gstcudafilter.c:
+ * sys/nvcodec/gstcudamemorycopy.c:
+ * sys/nvcodec/gstcudascale.c:
+ * sys/nvcodec/gstcuvidloader.h:
+ * sys/nvcodec/gstnvbaseenc.c:
+ * sys/nvcodec/gstnvbaseenc.h:
+ * sys/nvcodec/gstnvdec.c:
+ * sys/nvcodec/gstnvdec.h:
+ * sys/nvcodec/gstnvdecoder.c:
+ * sys/nvcodec/gstnvdecoder.h:
+ * sys/nvcodec/gstnvenc.c:
+ * sys/nvcodec/gstnvenc.h:
+ * sys/nvcodec/gstnvencoder.cpp:
+ * sys/nvcodec/gstnvencoder.h:
+ * sys/nvcodec/gstnvh264dec.c:
+ * sys/nvcodec/gstnvh264encoder.cpp:
+ * sys/nvcodec/gstnvh264encoder.h:
+ * sys/nvcodec/gstnvh265dec.c:
+ * sys/nvcodec/gstnvh265encoder.cpp:
+ * sys/nvcodec/gstnvh265encoder.h:
+ * sys/nvcodec/gstnvvp8dec.c:
+ * sys/nvcodec/gstnvvp9dec.c:
+ * sys/nvcodec/meson.build:
+ * sys/nvcodec/plugin.c:
+ cuda: Factor out a public GstCUDA library
+ So applications and elements implemented outside GStreamer can reuse
+ our infrastructure
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1472>
+
+2021-12-03 13:12:42 +0000 Thibault Saunier <tsaunier@igalia.com>
+
+ * sys/nvcodec/gstnvbaseenc.c:
+ * sys/nvcodec/gstnvenc.c:
+ nvenc: Give more details about errors
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1472>
+
+2021-11-12 20:13:10 +0100 Ruben Gonzalez <rgonzalez@fluendo.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ gst_plugin_load_file: force plugin reload if diff filename
+ If a file includes a new version of a plugin that exits in the
+ registry, the output of gst-inspect is incorrect. The output has the
+ correct version but incorrect filename, and element description.
+ This seems to have also fixed some documentation issues.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1344>
+
+2022-04-19 04:37:05 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3dvideosink/d3dvideosink.c:
+ d3dvideosink: Remove outdated comment
+ d3dvideosink is not a primary video sink element
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2223>
+
+2022-04-18 00:25:18 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gsth264decoder.c:
+ * gst-libs/gst/codecs/gsth265decoder.c:
+ h264decoder,h265decoder: Do not hold codec_data buffer
+ ... also do not need to extract it from caps.
+ Decoder uses codec_data only once per set_format() and
+ baseclass will extract codec_data buffer already.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2212>
+
+2022-04-17 23:55:55 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11decoder.cpp:
+ d3d11decoder: Do not preallocate texture using downstream d3d11 buffer pool
+ Our decoder implementation does not use downstream d3d11 pool for
+ decoding because of special requirement of D3D11/DXVA. So preallocation
+ using the downstream buffer pool will waste GPU memory in most cases.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2211>
+
+2022-04-14 13:22:03 +0300 Vivia Nikolaidou <vivia@ahiru.eu>
+
+ * gst/videoparsers/gsth264parse.c:
+ h264parse: Include coded-picture-structure info in caps
+ This reverts commit 652773de366a98e155332bf8ffb83ee5e6bea9e5 and
+ modifies it to rename the caps field name to coded-picture-structure.
+ It was previously removed because it confuses the decoder and we didn't
+ have a valid use case for including it in the encoded caps at this
+ stage. We now do have such a use case but still don't want to confuse
+ the decoder, so the field is renamed.
+ However, it is still not accurate without looking at the SEI picture
+ structure of each frame, so it was named coded-picture-structure. If its
+ value is "frame" it is most likely progressive, if it's "field" it is
+ most likely interlaced or mixed.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2177>
+
+2022-04-18 12:44:19 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvah264enc.c:
+ va: h264enc: Fix the forgotten unlock() when getting device path property.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2215>
+
+2022-04-17 22:25:14 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvdecoder.cpp:
+ qsvdecoder: Use system memory for non-d3d11 downstream
+ QSV's memory download implementation seems to be more faster
+ than our implementation
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2206>
+
+2022-04-17 02:14:50 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvdecoder.cpp:
+ * sys/qsv/gstqsvh265dec.cpp:
+ * sys/qsv/gstqsvh265dec.h:
+ * sys/qsv/meson.build:
+ * sys/qsv/plugin.cpp:
+ qsv: Add H.265 decoder
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2206>
+
+2022-04-17 02:18:37 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvh264dec.cpp:
+ * sys/qsv/gstqsvutils.cpp:
+ * sys/qsv/plugin.cpp:
+ qsv: Include single gstva.h
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2206>
+
+2022-04-17 02:04:08 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvh264dec.cpp:
+ qsvh264dec: Don't register element if it's not supported by device
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2206>
+
+2022-04-17 01:27:10 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvdecoder.cpp:
+ * sys/qsv/gstqsvdecoder.h:
+ * sys/qsv/gstqsvh264dec.cpp:
+ qsvh264dec: Add support for packetized format
+ Handle avc/avc3 packetized formats
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2206>
+
+2022-04-17 00:00:55 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvdecoder.cpp:
+ * sys/qsv/gstqsvencoder.cpp:
+ * sys/qsv/gstqsvh264dec.cpp:
+ * sys/qsv/gstqsvh264enc.cpp:
+ * sys/qsv/gstqsvh265enc.cpp:
+ * sys/qsv/gstqsvjpegenc.cpp:
+ * sys/qsv/gstqsvvp9enc.cpp:
+ * sys/qsv/plugin.cpp:
+ qsv: Move debug init into each source file
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2206>
+
+2022-04-16 23:51:05 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvdecoder.cpp:
+ qsvdecoder: Reset next_task_index per init_session()
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2206>
+
+2022-04-16 21:27:57 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11decoder.cpp:
+ d3d11decoder: Copy HDR10 related caps field manually
+ If negotiate() is called from the set_format() chain, sinkpad may not
+ hold caps yet, so baseclass cannot copy it over to srcpad caps.
+ Copy them manually.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2203>
+
+2022-04-16 22:27:13 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvh264enc.cpp:
+ * sys/qsv/gstqsvh265enc.cpp:
+ qsvencoder: Rename property name i-frames to idr-interval
+ ... and clarify the meaning of the value for each h264 and h265
+ encoder since the usage of mfxInfoMFX::IdrInterval is different
+ per codec.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2204>
+
+2022-04-16 21:26:55 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvh265enc.cpp:
+ qsvh265enc: Write HDR10 metadata SEI
+ If device supports HDR10 metadata API, write the information
+ into bitstream per IDR.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2204>
+
+2022-04-13 06:19:40 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ gst_plugins_cache.json: Update va plugins.
+ * Update conditionally-available attribute in vah264enc properties.
+ * Update GstVaFeature usage.
+ * Update GstVaEncoderRatecontrol usage.
+ * Update vapostproc classification.
+ * Add `add-borders` property in vapostproc.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2169>
+
+2022-04-13 05:58:46 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvah264enc.c:
+ vah264enc: Use GstVaFeature enum for enabling MBBRC.
+ GstVaFeature is a common enumeration for auto/disabled/enabled kind of
+ property setting.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2169>
+
+2022-04-13 05:56:59 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvaencoder.c:
+ * sys/va/gstvaencoder.h:
+ * sys/va/gstvah264enc.c:
+ vah264enc: Move rate-control enum to encoder class helper.
+ Since it's a common enumeration used, as user setting property, for
+ most of codecs.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2169>
+
+2022-04-13 05:52:31 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvah264enc.c:
+ vah264enc: Add device-path property.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2169>
+
+2022-04-15 13:19:36 +0000 Corentin Damman <c.damman@intopix.com>
+
+ * sys/nvcodec/gstcudautils.c:
+ cudautils: fix critical typo in gst_cuda_buffer_fallback_copy
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2194>
+
+2022-04-14 20:10:46 +1000 Brad Hards <bradh@frogmouth.net>
+
+ * po/POTFILES.skip:
+ * tests/interactive/meson.build:
+ * tests/interactive/pitch-test.c:
+ * tests/meson.build:
+ tests: rename 'icles' subdir to be more descriptive
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2178>
+
+2022-04-14 08:23:51 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/mpegtsdemux/gstmpegdefs.h:
+ * gst/mpegtsdemux/tsdemux.c:
+ tsdemux: Fix AC-4 detection
+ This regression was introduced by
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1102
+ and has been present since 1.18
+ * Stream Type 0x06 is defined in the base mpeg-ts specification as Private PES
+ Packets. Determining the content should be solely based on descriptors found
+ within the PMT.
+ * This was abused in that commit by defining a "bluray-only" stream type for AC4
+ : `ST_BD_AUDIO_AC4`
+ * This should be entirely handled in the regular private pes handling further
+ down in the code
+ Fixes #1154
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2175>
+
+2022-04-10 17:28:03 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvah264enc.c:
+ va: h264enc: Correct the hierarchical level name for pyramid-b frames.
+ The current way names the level by the number of B frames it contains, the
+ less it contains, the higher level it is. So the non ref B frames are in the
+ lowest layer and the B frames in the highest level refer to I/P frames.
+ But the widely used way is just the opposite, the ref B frames are in the
+ lower level and non ref B frames are at the highest level.
+ The is just a terminology change, and does not have any effect for compression
+ result and quality.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2149>
+
+2022-04-12 10:34:27 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/codecparsers/gstav1parser.c:
+ codecs: av1parser: Fix a typo in seq_level_idx check.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2157>
+
+2022-04-13 01:46:34 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/amfcodec/gstamfh265enc.cpp:
+ amfh265enc: Handle preset option
+ Add missing preset option handling
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2165>
+
+2022-04-13 01:39:43 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/amfcodec/gstamfencoder.cpp:
+ amfencoder: Do shared resource copy only if texture belongs to other device
+ Staging texture from the same d3d11device can be copied without
+ shared resource handling
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2165>
+
+2022-04-12 01:01:23 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11decoder.cpp:
+ * sys/d3d11/meson.build:
+ win32: Enable high-resolution timer for MinGW build
+ timeapi.h is missing in our MinGW toolchain. Include mmsystem.h
+ header instead, which defines struct and APIs in case of our MinGW
+ toolchain. Note that in case of native Windows10 SDK (MSVC build),
+ mmsystem.h will include timeapi.h
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2153>
+
+2022-04-11 16:03:41 -0500 Olivier Crête <olivier.crete@collabora.com>
+
+ * ext/wpe/gstwpevideosrc.cpp:
+ wpevideosrc: Give WebKit the keyboard, touch and pointer modifiers
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2156>
+
+2022-04-11 15:56:19 -0500 Olivier Crête <olivier.crete@collabora.com>
+
+ * ext/wpe/gstwpevideosrc.cpp:
+ wpesrc: Convert from utf32 to support other keys
+ This makes all of the non-letter keys work.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2156>
+
+2022-04-11 15:54:05 -0500 Olivier Crête <olivier.crete@collabora.com>
+
+ * ext/wpe/gstwpevideosrc.cpp:
+ wpesrc: Initialize key event to 0
+ Otherwise, WebKit sees random modifiers
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2156>
+
+2022-04-12 11:20:00 +0200 Andoni Morales Alastruey <amorales@fluendo.com>
+
+ * sys/amfcodec/gstamfh264enc.cpp:
+ amfcodec: fix setting quality presets
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2159>
+
+2022-04-11 10:32:40 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/mxf/mxfdemux.c:
+ mxfdemux: Fix issue with re-syncing
+ In case of re-syncing (i.e. moving to another partition to avoid too much of an
+ interleave), there was previously no checks to figure out whether a given
+ partition was already fully handled (i.e. when coming across it again after a
+ previous resync).
+ In order to handle this at least for single-track partitions, check whether we
+ have reached the essence track duration, and if so skip the partition.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2150>
+
+2022-04-11 10:31:15 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/mxf/mxfdemux.c:
+ mxfdemux: Don't double-increase track position
+ The essence track position should only be overriden if we sucesfully switched to
+ another position. In case of EOS we do not want to override it else we would
+ increase the track position *again* at the end of this function
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2150>
+
+2022-04-12 01:49:17 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/amfcodec/gstamfencoder.cpp:
+ * sys/amfcodec/gstamfh264enc.cpp:
+ * sys/amfcodec/gstamfh265enc.cpp:
+ * sys/amfcodec/meson.build:
+ amfcodec: Fix for MinGW build
+ timeapi.h header might not be missing depending on toolchain.
+ Also do hard meson error if winmm dep is not available but
+ amfcodec is explicitly enabled.
+ And fixing various GCC build warning errors.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2155>
+
+2022-04-09 23:32:19 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvallocator.cpp:
+ * sys/qsv/gstqsvallocator_d3d11.cpp:
+ * sys/qsv/gstqsvencoder.cpp:
+ * sys/qsv/gstqsvjpegenc.cpp:
+ * sys/qsv/gstqsvjpegenc.h:
+ * sys/qsv/meson.build:
+ * sys/qsv/plugin.cpp:
+ qsv: Add JPEG encoder
+ Note that YUY2 is not supported yet, since the format support is not
+ implemented now.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2142>
+
+2022-04-10 02:34:17 +0900 Seungha Yang <seungha@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * sys/amfcodec/gstamfencoder.cpp:
+ * sys/amfcodec/gstamfh264enc.cpp:
+ * sys/amfcodec/gstamfh265enc.cpp:
+ * sys/amfcodec/plugin.cpp:
+ amfcodec: Update plugin cache
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2143>
+
+2022-04-09 00:52:07 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvencoder.cpp:
+ * sys/nvcodec/gstnvencoder.h:
+ * sys/nvcodec/gstnvh264encoder.cpp:
+ * sys/nvcodec/gstnvh265encoder.cpp:
+ * tests/examples/nvcodec/nvcodec.c:
+ nvencoder: Update property names and default values
+ Update properties of newly written D3D11/CUDA mode encoders
+ to be consistent with Intel QSV plugin. And rename "zerolatency"
+ to "zero-reorder-delay" because previous "zerolatency" may
+ misleading
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2140>
+
+2022-04-09 00:00:59 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvh264enc.cpp:
+ * sys/qsv/gstqsvh265enc.cpp:
+ * sys/qsv/gstqsvvp9enc.cpp:
+ * tests/examples/qsv/qsvenc-dynamic-reconfigure.c:
+ qsvencoder: Update property names and default values
+ Stop using MSDK plugins property naming, instead use unified names
+ and default values to be consistent with newly written NVIDIA encoders.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2140>
+
+2022-03-31 04:16:24 +0900 Seungha Yang <seungha@centricular.com>
+
+ * meson_options.txt:
+ * sys/amfcodec/gstamfencoder.cpp:
+ * sys/amfcodec/gstamfencoder.h:
+ * sys/amfcodec/gstamfh264enc.cpp:
+ * sys/amfcodec/gstamfh264enc.h:
+ * sys/amfcodec/gstamfh265enc.cpp:
+ * sys/amfcodec/gstamfh265enc.h:
+ * sys/amfcodec/gstamfutils.cpp:
+ * sys/amfcodec/gstamfutils.h:
+ * sys/amfcodec/meson.build:
+ * sys/amfcodec/plugin.cpp:
+ * sys/meson.build:
+ amfcodec: Add support for h264/h265 encoding
+ New encoder implementations for AMD GPU using AMF API
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2109>
+
+2022-03-31 01:36:37 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/amfcodec/include/components/ColorSpace.h:
+ * sys/amfcodec/include/components/Component.h:
+ * sys/amfcodec/include/components/ComponentCaps.h:
+ * sys/amfcodec/include/components/PreAnalysis.h:
+ * sys/amfcodec/include/components/VideoDecoderUVD.h:
+ * sys/amfcodec/include/components/VideoEncoderHEVC.h:
+ * sys/amfcodec/include/components/VideoEncoderVCE.h:
+ * sys/amfcodec/include/core/AudioBuffer.h:
+ * sys/amfcodec/include/core/Buffer.h:
+ * sys/amfcodec/include/core/Compute.h:
+ * sys/amfcodec/include/core/ComputeFactory.h:
+ * sys/amfcodec/include/core/Context.h:
+ * sys/amfcodec/include/core/CurrentTime.h:
+ * sys/amfcodec/include/core/D3D12AMF.h:
+ * sys/amfcodec/include/core/Data.h:
+ * sys/amfcodec/include/core/Debug.h:
+ * sys/amfcodec/include/core/Dump.h:
+ * sys/amfcodec/include/core/Factory.h:
+ * sys/amfcodec/include/core/Interface.h:
+ * sys/amfcodec/include/core/Plane.h:
+ * sys/amfcodec/include/core/Platform.h:
+ * sys/amfcodec/include/core/PropertyStorage.h:
+ * sys/amfcodec/include/core/PropertyStorageEx.h:
+ * sys/amfcodec/include/core/Result.h:
+ * sys/amfcodec/include/core/Surface.h:
+ * sys/amfcodec/include/core/Trace.h:
+ * sys/amfcodec/include/core/Variant.h:
+ * sys/amfcodec/include/core/Version.h:
+ * sys/amfcodec/include/core/VulkanAMF.h:
+ amfcodec: Import AMF SDK headers
+ SDK version v1.4.24 at the commit of
+ https://github.com/GPUOpen-LibrariesAndSDKs/AMF/commit/fbf12cd39fe1812ed902525a1c001307b94871b9
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2109>
+
+2022-04-09 02:13:57 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/msdk/gstmsdkcontextutil.c:
+ msdk: Fix Windows build
+ Headers of gstva should not be included on Windows
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2141>
+
+2022-04-08 04:24:36 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11window_win32.cpp:
+ d3d11window: Use ANSI version WIN32 API explicitly
+ We were using ANSI version APIs implicitly because UNICODE is not
+ defined by ourselves. But potentially it can be broken if user
+ defines UNICODE.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2131>
+
+2022-04-08 04:02:55 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11av1dec.cpp:
+ * sys/d3d11/gstd3d11screencapturesrc.cpp:
+ * sys/d3d11/gstd3d11videosink.cpp:
+ d3d11: Run indent
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2131>
+
+2022-03-11 20:46:11 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecparsers/gsth265parser.c:
+ * gst-libs/gst/codecparsers/gsth265parser.h:
+ h265parser: Fix short_term_ref_pic_set() size calculation
+ This field is used by DXVA/NVDEC/VA, and each specification
+ describes (NVDEC is not well documented) that it's the number of
+ bits used in short_term_ref_pic_set().
+ DXVA doesn't explicitly mention that whether the size of
+ emulation preventation bytes (EPB) is inclusive or not, but
+ VA is clearly specifying that it's the size after removing
+ EPB. Excluding EPB size here makes more sense therefore.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1930>
+
+2022-04-06 11:21:25 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/mxf/mxfvanc.c:
+ mxfvanc: Handle empty VANC packets
+ Some XDCAM recorders store empty packets for VANC, and don't even include the
+ 2byte length.
+ Handle them in the same way as VANC packets with 0 packets.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2122>
+
+2022-04-01 22:52:18 +0900 Sangchul Lee <sc11.lee@samsung.com>
+
+ * gst-libs/gst/webrtc/datachannel.c:
+ * gst-libs/gst/webrtc/webrtc_fwd.h:
+ webrtc/datachannel: Change initial data channel state to CONNECTING
+ It complies with http://w3c.github.io/webrtc-pc/#dom-rtcdatachannelstate.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2099>
+
+2022-04-04 20:47:03 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvencoder.cpp:
+ qsvencoder: Don't use USAGE_HINT_ENCODER and enable derived image support
+ Peformance issue by disabled derived image support was reported
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2111>
+
+2022-04-04 20:36:14 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/va/gstvah264enc.c:
+ Revert "vah264enc: Disable derived image support"
+ This reverts commit 0011feb0d660f331abde5b1e36f1c56e9cf3b014.
+ The commit caused performance-wise regression for some platforms
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2111>
+
+2022-04-01 15:35:17 +0800 Tong Wu <tong1.wu@intel.com>
+
+ * sys/msdk/msdk.c:
+ msdk: use mfxU32 instead of uint32_t
+ Msdk should use mfx variables defined in mfxdefs.h. Replace uint32_t
+ with mfxU32.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2091>
+
+2022-04-01 15:00:01 +0200 Stéphane Cerveau <scerveau@collabora.com>
+
+ * tests/examples/camerabin2/gst-camerabin2-test.c:
+ bad: examples: fix unused res warning
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2095>
+
+2022-03-29 14:42:04 +0200 Johan Sternerup <johast@axis.com>
+
+ * ext/webrtc/gstwebrtcice.c:
+ * ext/webrtc/icestream.c:
+ * ext/webrtc/icestream.h:
+ * ext/webrtc/nicetransport.c:
+ webrtc: Improve robustness of nice agent signal handlers
+ NiceAgent and it's associated thread is alive for as long as
+ GstWebRTCICE is alive so make sure any signal handlers connected to
+ NiceAgent do not access data that is deleted earlier.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2073>
+
+2022-04-03 22:12:33 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvh264encoder.cpp:
+ * sys/nvcodec/gstnvh265encoder.cpp:
+ nvcodec: Fix typos
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2107>
+
+2022-04-03 22:08:51 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvencoder.h:
+ nvencoder: Fix operator overloading
+ GUID equality check was inverted
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2107>
+
+2022-04-01 21:09:10 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst-libs/gst/va/meson.build:
+ libs: va: make sure va-enumtypes.h is generated before it's used
+ Need to add a dep for the generated header file to the dependency()
+ so that it gets generated before anyone tries to #include files
+ from it (which may happen before the actual lib is built because
+ that's only needed when stuff is linked together later).
+ See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2057#note_1323236
+ and CI build failures in https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2096
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2103>
+
+2022-04-01 05:02:58 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/va/gstvah264enc.c:
+ vah264enc: Disable derived image support
+ Behavior of derived image seems to be platform dependent and
+ it's buggy in some cases.
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1110
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2086>
+
+2022-04-01 22:47:07 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvah264enc.c:
+ va: h264enc: Do not use USAGE_HINT_ENCODER for input pool.
+ It seems that the VA_SURFACE_ATTRIB_USAGE_HINT_ENCODER is used only
+ for the recon surfaces, if we set this flags for input raw surfaces,
+ the alignment is wrong and we get broken result.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2100>
+
+2022-04-01 15:59:58 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/va/gstvaallocator.c:
+ va: Fix printf format modifier for drm modifiers
+ DRM modifiers are 64bit, the printf modifier is platform dependant. Use
+ the G_GINT64_MODIFIER macro to make this printf portable.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2102>
+
+2022-03-30 11:06:02 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * meson.build:
+ Use gmodule-no-export-2.0
+ We don't need `-Wl,--export-dynamic`, that's used only for executables
+ that needs to export an API to be used by plugins they load.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031>
+
+2022-03-25 15:00:20 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * ext/vulkan/meson.build:
+ * ext/webrtc/meson.build:
+ * gst-libs/gst/d3d11/meson.build:
+ * gst/rtp/meson.build:
+ * meson.build:
+ * sys/bluez/meson.build:
+ * sys/dvb/meson.build:
+ * tests/check/meson.build:
+ * tests/examples/ipcpipeline/meson.build:
+ * tests/examples/opencv/meson.build:
+ * tests/examples/webrtc/meson.build:
+ * tests/examples/wpe/meson.build:
+ * tests/icles/meson.build:
+ Remove glib and gobject dependencies everywhere
+ They are part of gst_dep already and we have to make sure to always have
+ gst_dep. The order in dependencies matters, because it is also the order
+ in which Meson will set -I args. We want gstreamer's config.h to take
+ precedence over glib's private config.h when it's a subproject.
+ While at it, remove useless fallback args for gmodule/gio dependencies,
+ only gstreamer core needs it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031>
+
+2022-03-24 14:15:00 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * ext/sctp/usrsctp/meson.build:
+ * meson.build:
+ Fix cross build with mingw32
+ At least on Ubuntu 20.04 the x86_64-w64-mingw32-gcc toolchain defaults
+ to WinXP. We require at least Vista for FILE_STANDARD_INFO.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2022>
+
+2022-03-25 22:04:05 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvallocator_va.cpp:
+ * sys/qsv/gstqsvencoder.cpp:
+ * sys/qsv/gstqsvh264enc.cpp:
+ * sys/qsv/gstqsvh265enc.cpp:
+ * sys/qsv/gstqsvvp9enc.cpp:
+ qsvencoder: Add support for VA memory
+ Use VA allocator and buffer pool implementation for zero-copy
+ encoding with upstream VA elements
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2030>
+
+2022-03-25 21:03:02 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvallocator_va.h:
+ * sys/qsv/gstqsvdecoder.cpp:
+ * sys/qsv/gstqsvencoder.cpp:
+ qsv: Use pipeline's VA context
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2030>
+
+2022-03-29 14:52:33 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/va/gstva.h:
+ * gst-libs/gst/va/gstvaallocator.c:
+ * gst-libs/gst/va/gstvaallocator.h:
+ * gst-libs/gst/va/gstvapool.c:
+ * gst-libs/gst/va/gstvapool.h:
+ * gst-libs/gst/va/meson.build:
+ * sys/va/gstvabasedec.c:
+ * sys/va/gstvabasetransform.c:
+ * sys/va/gstvaencoder.c:
+ * sys/va/gstvah264enc.c:
+ libs: va: add VA allocator parameter for derived images usage.
+ Added GstVaFeature enum type, and new parameter for VA allocator's
+ set_format() and get_format(). Also added a new parameter in VA pool
+ gst_va_pool_new_with_config() and
+ gst_buffer_pool_config_set_va_allocation_params().
+ This new parameter will define if derived images will by used for
+ buffer mapping.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2057>
+
+2022-03-28 21:25:50 +0900 Sangchul Lee <sc11.lee@samsung.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/gstwebrtcstats.c:
+ * tests/check/elements/webrtcbin.c:
+ webrtcstats: Unify 'packets-lost' data type to int64
+ Previously, 'packets-lost' member of RTCReceivedRtpStreamStats had
+ a value of G_TYPE_INT from rtpsource or a value of G_TYPE_UINT64
+ from rtpjitterbuffer.
+ Because of the negative value of estimated amount of packets lost
+ in rtpsource as well as the description in
+ https://www.w3.org/TR/webrtc-stats/#dom-rtcreceivedrtpstreamstats
+ it is fixed to set this value with G_TYPE_INT64.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2049>
+
+2022-03-30 12:12:34 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvaencoder.c:
+ va: encoder: Remove unused allocation config.
+ Since it's also done inside of gst_va_pool_new_with_config().
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2072>
+
+2022-03-30 02:49:40 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/va/gstvadisplay.c:
+ * gst-libs/gst/va/gstvautils.c:
+ vadisplay: Add description readonly property
+ Expose description of vendor for user information, similar to
+ the description property of d3d11device.
+ Also, set description and DRM device path on GstContext structure
+ so that user can read them and it will be printed on terminal
+ when gst-launch-1.0 is used
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2064>
+
+2022-03-30 07:03:59 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/va/gstvaallocator.c:
+ * gst-libs/gst/va/gstvapool.c:
+ * gst-libs/gst/va/gstvapool.h:
+ * gst-libs/gst/va/va_fwd.h:
+ va: Don't expose internal classes.
+ VA allocators and pools classes don't need to be exposed as external
+ symbols.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2070>
+
+2022-03-30 12:01:20 +0800 Haihua Hu <jared.hu@nxp.com>
+
+ * gst-libs/gst/play/gstplay.c:
+ gstplay: don't print error log in warning_cb
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2069>
+
+2022-03-29 20:14:40 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvavpp.c:
+ vapostproc: Build classification dynamically.
+ By default, the classification is
+ "Converter/Filter/Colorspace/Scaler/Video/Hardware", but if VA
+ post-processor driver supports either color balance, skin tone
+ enhancement, sharpening or noise reduction, "Effect" is added.
+ Thus, if vapostproc ranking is raised, it can be chosen by
+ autovideosink.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2066>
+
+2022-02-21 14:02:52 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/gstwebrtcbin.h:
+ * ext/webrtc/gstwebrtcstats.c:
+ webrtc: produce stats for all relevant streams
+ Instead of only using the last ssrc that was pushed into a sink pad.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2022-02-11 16:50:42 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtc: avoid different versions of gnu-indent always wanting to change !!
+ Add some sneaky parenthesis to avoid always having to use git commit -n
+ or revert out hunk of the change.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-11-26 22:04:14 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/transportstream.c:
+ * ext/webrtc/transportstream.h:
+ * tests/check/elements/webrtcbin.c:
+ webrtc: implement initial simulcast fec/rtx usage
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-11-26 22:11:06 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/webrtcdatachannel.c:
+ * gst-libs/gst/webrtc/datachannel.c:
+ webrtc/datachannel: fix use-after-free in sctp state notification
+ g_signal_disconnect*() doesn't stop any existing callbacks from running
+ which means that if the notify::state callback is in progress in one
+ thread and the data channel object is finalize()ed in another thread,
+ then there could be a use-after-free trying lock the data channel
+ object.
+ We can't reasonably use a GWeakRef as we don't have a 'parent' object to
+ free the GWeakRef after the data channel is finalized. This is also
+ complicated by the fact that the application can hold a reference to the
+ data channel object that would live beyond the lifetime of webrtcbin
+ itself.
+ We solve this by implementing a ghetto weak-ref solution internally with
+ a list of outstanding data channels.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-11-26 22:06:39 +1100 Matthew Waters <matthew@centricular.com>
+
+ * tests/check/elements/webrtcbin.c:
+ tests/webrtc: fix a use-after-free in test_data_channel_close
+ g_object_weak_ref() is not thread-safe and the data channel object's
+ refs/unrefs can happen on multiple threads.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-11-26 21:51:57 +1100 Matthew Waters <matthew@centricular.com>
+
+ * tests/check/elements/webrtcbin.c:
+ tests/webrtc: fix a race in the tests related to state tracking
+ If things progress fast enough, some state changes may not be seen be
+ the waiting code.
+ Fix by:
+ 1. keeping a list of all the state changes
+ 2. waiting checks each entry and if the relevant state is found, all
+ states up to and including then are removed.
+ This ensures that any waits will see all the state sets.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-11-26 02:00:12 +1100 Matthew Waters <matthew@centricular.com>
+
+ * tests/check/elements/webrtcbin.c:
+ tests/webrtc: factor out src pad property checking to a separate function
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-11-16 19:27:11 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/gstwebrtcstats.c:
+ * ext/webrtc/transportstream.c:
+ * ext/webrtc/transportstream.h:
+ * ext/webrtc/webrtctransceiver.c:
+ * ext/webrtc/webrtctransceiver.h:
+ * tests/check/elements/webrtcbin.c:
+ webrtcbin: initial support for sending and receiving simulcast streams
+ Input (sink pads) is the already-ssrc-muxed stream with the relevant rtp
+ sdes header extensions already applied:
+ - mid
+ - stream-id
+ - repaired-stream-id
+ Output (src pads) have the pads separated into individual ssrc's as
+ that's what rtpbin gives us.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-11-16 18:11:49 +1100 Matthew Waters <matthew@centricular.com>
+
+ * tests/check/elements/webrtcbin.c:
+ tests/webrtc: test for enabled bundled fec/rtx
+ Doesn't actually check that any fec/rtx happens, just that the pipeline
+ is vaguely sane and doesn't error.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-11-16 17:39:18 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: support multiple received streams for a single mline
+ Each rtpbin exposed recv_src pad is now exposed as webrtcbin src_%u pad
+ now with no meaining applied to the value of %u. Previously this used
+ to mean the mline in the SDP. If this is is still required, then the
+ transceiver can be retrieved from the pad and the "mlineindex" property
+ from the transciever. The "mid" is also retrievable from the
+ transceiver.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-11-16 17:28:04 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * gst-libs/gst/webrtc/webrtc_fwd.h:
+ webrtc: explicitly error out in a couple of renegotiation cases
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-11-16 17:21:31 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/transportstream.c:
+ webrtc/transportstream: add debug category
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-11-03 21:18:53 +1100 Matthew Waters <matthew@centricular.com>
+
+ * tests/check/elements/webrtcbin.c:
+ tests/webrtc: also check valid mline for srcpad codec-preferences negotiation
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-11-03 20:46:23 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/gstwebrtcbin.h:
+ webrtcbin: don't name src pads based on the mline specifically anymore
+ Naming based on the mline doesn't really work with e.g. simulcast
+ scenarios.
+ It is entirely possible to retrieve the transceiver and then the mline
+ from that if that is so required.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-10-29 18:40:04 +1100 Matthew Waters <matthew@centricular.com>
+
+ * tests/check/elements/webrtcbin.c:
+ webrtc/tests: print the correct media idx on error
+ Instead of the attribute index
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-10-29 18:38:37 +1100 Matthew Waters <matthew@centricular.com>
+
+ * tests/check/elements/webrtcbin.c:
+ webrtc/tests: give slightly better names to the dot file dumps
+ Don't use printf-specifiers with g_strconcat().
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-07-21 17:48:34 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/utils.h:
+ * tests/check/elements/webrtcbin.c:
+ webrtcbin: improve some debugging output
+ - Put human readable names into debug strings.
+ - Demote some frequent rtpbin signal logging
+ - Don't use GST_PTR_FORMAT in g_set_error()
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-07-21 17:39:11 +1000 Matthew Waters <matthew@centricular.com>
+
+ * tests/check/elements/webrtcbin.c:
+ webrtcbin: silence spurious warning when creating answer transceiver
+ When creating a transceiver when creating an answer, the media kind of the
+ transceiver was never set correctly initially. This would lead to a
+ GST_WARNING being produced about changin a transceiver's media kind.
+ Fix by retrieving the GstSDPMedia kind from the offer instead as the answer
+ GstSDPMedia has not been set as the answer caps have not been chosen yet.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-07-21 14:29:35 +1000 Matthew Waters <matthew@centricular.com>
+
+ * tests/check/elements/webrtcbin.c:
+ tests/webrtc: always use a unique SSRC for each stream
+ Will become more relevant with mid/rid->ssrc mappings
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-07-21 14:14:30 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: add a specific find_transceiver_by_mid function
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-07-20 20:17:13 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: explicitly use a variable for the rtp session idx
+ Slightly clearer in meaning.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2021-07-01 15:54:34 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * tests/check/elements/webrtcbin.c:
+ webrtcbin: support using an a=mid value from the sink/transceiver caps
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1664>
+
+2022-03-25 15:56:01 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/va/gstva.h:
+ * gst-libs/gst/va/gstvaallocator.h:
+ * gst-libs/gst/va/gstvadisplay.c:
+ * gst-libs/gst/va/gstvadisplay.h:
+ * gst-libs/gst/va/gstvadisplay_drm.c:
+ * gst-libs/gst/va/gstvadisplay_drm.h:
+ * gst-libs/gst/va/gstvadisplay_wrapped.h:
+ * gst-libs/gst/va/gstvapool.c:
+ * gst-libs/gst/va/gstvapool.h:
+ * gst-libs/gst/va/gstvasurfacecopy.h:
+ * gst-libs/gst/va/gstvautils.c:
+ * gst-libs/gst/va/gstvautils.h:
+ * gst-libs/gst/va/gstvavideoformat.h:
+ * gst-libs/gst/va/va_fwd.h:
+ * gst-libs/gst/va/vasurfaceimage.h:
+ * sys/va/gstvaav1dec.c:
+ * sys/va/gstvabasedec.c:
+ * sys/va/gstvabasetransform.c:
+ * sys/va/gstvacaps.c:
+ * sys/va/gstvadecoder.c:
+ * sys/va/gstvadeinterlace.c:
+ * sys/va/gstvadisplay_priv.c:
+ * sys/va/gstvadisplay_priv.h:
+ * sys/va/gstvaencoder.c:
+ * sys/va/gstvaencoder.h:
+ * sys/va/gstvafilter.c:
+ * sys/va/gstvah264enc.c:
+ * sys/va/gstvavpp.c:
+ * tests/examples/va/main.c:
+ * tests/examples/va/multiple-vpp.c:
+ va: Set <gst/va/gstva.h> as library single point entry header.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2048>
+
+2022-02-23 15:40:19 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/va/gstvaallocator.c:
+ * gst-libs/gst/va/gstvaallocator.h:
+ * gst-libs/gst/va/gstvapool.c:
+ * gst-libs/gst/va/gstvapool.h:
+ * gst-libs/gst/va/gstvasurfacecopy.c:
+ * gst-libs/gst/va/gstvasurfacecopy.h:
+ * gst-libs/gst/va/meson.build:
+ * gst-libs/gst/va/vasurfaceimage.c:
+ * gst-libs/gst/va/vasurfaceimage.h:
+ * sys/va/gstvaav1dec.c:
+ * sys/va/gstvabasedec.c:
+ * sys/va/gstvabasetransform.c:
+ * sys/va/gstvadecoder.c:
+ * sys/va/gstvadeinterlace.c:
+ * sys/va/gstvaencoder.c:
+ * sys/va/gstvafilter.c:
+ * sys/va/gstvah264enc.c:
+ * sys/va/gstvavpp.c:
+ * sys/va/meson.build:
+ va: Move allocators and pool objects into gstva library.
+ In order to other plugins use gstva objects, such as allocators and buffer
+ pools, this merge request move them from the va plugin to the gstva library.
+ This objects are not exposed in <gst/va/gstva.h> since they are not expected
+ to be used by users, only by plugin implementators.
+ Because of the surface copy design, which is used to implement allocator's
+ mem_copy() virtual function, depends on the vafilter, which is kept inside
+ the plugin, memory copy through VAPosproc is disabled and removed temporarly.
+ Also added some missing parameter validation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2048>
+
+2022-02-23 15:25:08 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/va/gstvavideoformat.c:
+ * gst-libs/gst/va/gstvavideoformat.h:
+ * gst-libs/gst/va/meson.build:
+ * sys/va/gstvaallocator.c:
+ * sys/va/gstvabasedec.c:
+ * sys/va/gstvacaps.c:
+ * sys/va/gstvadecoder.c:
+ * sys/va/gstvadisplay_priv.c:
+ * sys/va/gstvafilter.c:
+ * sys/va/meson.build:
+ * sys/va/vasurfaceimage.c:
+ va: Move the video format functions into gstlibva.
+ Untabifying header file.
+ The logging category was moved from the plugin generic category to
+ the display category. It can argue that video formats hacks are
+ display dependant.
+ Added validations for input parameters.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2048>
+
+2022-03-27 23:27:54 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvencoder.cpp:
+ * sys/qsv/gstqsvencoder.h:
+ * sys/qsv/gstqsvh264enc.cpp:
+ * sys/qsv/gstqsvh265enc.cpp:
+ * sys/qsv/gstqsvvp9enc.cpp:
+ * tests/examples/meson.build:
+ * tests/examples/qsv/key-handler.c:
+ * tests/examples/qsv/key-handler.h:
+ * tests/examples/qsv/meson.build:
+ * tests/examples/qsv/qsvenc-dynamic-reconfigure.c:
+ qsvencoder: Add support for dynamic bitrate update
+ ... and add more encoding options.
+ QSV API supports dynamic bitrate change without IDR insertion.
+ That's more efficient way of runtime encoding option update
+ than starting from new sequence with IDR per bitrate option change.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2039>
+
+2022-03-25 23:15:33 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvh265enc.cpp:
+ qsvh265enc: Add missing gop-size property
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2039>
+
+2022-03-25 21:13:22 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvallocator.cpp:
+ qsv: Fix mfxFrameAllocator::Lock for encoder
+ Only read map is possible for encoder input system memory
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2039>
+
+2022-03-28 20:51:35 +1100 Matthew Waters <matthew@centricular.com>
+
+ * sys/applemedia/videotexturecache.m:
+ applemeida/texturecache: remove unused variable
+ Fixes:
+ ../sys/applemedia/videotexturecache.m:71:20: error: variable 'features' set but not used [-Werror,-Wunused-but-set-variable]
+ GstCapsFeatures *features;
+ ^
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046>
+
+2022-03-28 20:50:27 +1100 Matthew Waters <matthew@centricular.com>
+
+ * sys/applemedia/corevideobuffer.c:
+ applemedia/corevideobuffer: remove unused variable
+ Fixes:
+ ../sys/applemedia/corevideobuffer.c:209:19: error: variable 'video_meta' set but not used [-Werror,-Wunused-but-set-variable]
+ GstVideoMeta *video_meta;
+ ^
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046>
+
+2022-03-28 20:49:01 +1100 Matthew Waters <matthew@centricular.com>
+
+ * sys/applemedia/iosurfaceglmemory.c:
+ applemedia/iosgl: remove unused variable
+ Fixes:
+ ../sys/applemedia/iosurfaceglmemory.c:219:41: error: variable 'texfmt' set but not used [-Werror,-Wunused-but-set-variable]
+ GLuint tex_id, tex_target, texifmt, texfmt;
+ ^
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046>
+
+2022-03-28 20:37:54 +1100 Matthew Waters <matthew@centricular.com>
+
+ * sys/applemedia/vtdec.c:
+ vtdec: remove unused variable
+ Fixes:
+ ../sys/applemedia/vtdec.c:611:35: error: variable 'output_flags' set but not used [-Werror,-Wunused-but-set-variable]
+ VTDecodeFrameFlags input_flags, output_flags;
+ ^
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046>
+
+2022-03-28 20:24:59 +1100 Matthew Waters <matthew@centricular.com>
+
+ * sys/applemedia/avsamplevideosink.m:
+ avsamplevideosink: remove unused variable
+ Fixes
+ ../sys/applemedia/avsamplevideosink.m:80:20: error: variable 'gstelement_class' set but not used [-Werror,-Wunused-but-set-variable]
+ GstElementClass *gstelement_class;
+ ^
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046>
+
+2022-03-28 20:11:29 +1100 Matthew Waters <matthew@centricular.com>
+
+ * sys/applemedia/avfassetsrc.m:
+ avfassetsrc: fix unused-but-set warning
+ ../sys/applemedia/avfassetsrc.m:1014:12: error: variable 'caps' set but not used [-Werror,-Wunused-but-set-variable]
+ GstCaps *caps;
+ ^
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046>
+
+2022-03-28 19:42:04 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst/speed/gstspeed.c:
+ speed: fix unused-but-set warning
+ ../gst/speed/gstspeed.c:523:39: error: variable 'base' set but not used [-Werror,-Wunused-but-set-variable]
+ gint64 start_value, stop_value, base;
+ ^
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046>
+
+2022-03-28 18:38:23 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/resindvd/gstpesfilter.c:
+ resindvd: silence unused-but-set warning
+ ../ext/resindvd/gstpesfilter.c:117:11: error: variable 'STD_buffer_size_bound' set but not used [-Werror,-Wunused-but-set-variable]
+ guint16 STD_buffer_size_bound;
+ ^
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046>
+
+2022-03-28 18:23:20 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst/mpegtsmux/gstbasetsmux.c:
+ mpegts: don't shadow res variable
+ Fixes unused-but-set warning:
+ ../gst/mpegtsmux/gstbasetsmux.c:2115:43: error: variable 'res' set but not used [-Werror,-Wunused-but-set-variable]
+ gboolean all_headers, done = FALSE, res = FALSE;
+ ^
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046>
+
+2022-03-28 18:12:43 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/mpegts/gst-dvb-section.c:
+ mpeg: fix unused-but-set warning
+ ../gst-libs/gst/mpegts/gst-dvb-section.c:206:9: error: variable 'i' set but not used [-Werror,-Wunused-but-set-variable]
+ guint i = 0, allocated_events = 12;
+ ^
+ ../gst-libs/gst/mpegts/gst-dvb-section.c:365:9: error: variable 'i' set but not used [-Werror,-Wunused-but-set-variable]
+ guint i = 0, allocated_streams = 12;
+ ^
+ ../gst-libs/gst/mpegts/gst-dvb-section.c:543:9: error: variable 'i' set but not used [-Werror,-Wunused-but-set-variable]
+ guint i = 0, allocated_streams = 12;
+ ^
+ ../gst-libs/gst/mpegts/gst-dvb-section.c:885:9: error: variable 'i' set but not used [-Werror,-Wunused-but-set-variable]
+ guint i = 0, allocated_services = 8;
+ ^
+ ../gst-libs/gst/mpegts/gst-dvb-section.c:1316:9: error: variable 'i' set but not used [-Werror,-Wunused-but-set-variable]
+ guint i = 0, allocated_services = 8;
+ ^
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046>
+
+2022-03-28 10:10:45 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ video-format: Move NV12_8L128 into the correct position in GST_VIDEO_FORMATS_ALL
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2045>
+
+2022-03-28 15:56:22 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst/mpegdemux/gstpesfilter.c:
+ mpegdemux: silence unused-but-set werror
+ ../gst/mpegdemux/gstpesfilter.c:117:11: error: variable 'STD_buffer_size_bound' set but not used [-Werror,-Wunused-but-set-variable]
+ guint16 STD_buffer_size_bound;
+ ^
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2044>
+
+2022-03-25 14:25:02 +1100 Andrew Pritchard <andrew@vivi.io>
+
+ * sys/androidmedia/jni/gstamcsurfacetexture-jni.c:
+ Fix GstAmcSurfaceTexture segfault Check that `self` and `self->callback` are defined. `self` can be set to `NULL` in `remove_listener`, and `self->callback` can be set to `NULL` inside `gst_amc_surface_texture_jni_set_on_frame_available_callback`. This can cause a segfault since the Java object can outlive the C object, and call the callback after `remove_listener` is called.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2024>
+
+2022-03-23 17:31:37 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/closedcaption/gstccconverter.c:
+ * ext/closedcaption/gstccconverter.h:
+ * tests/check/elements/ccconverter.c:
+ ccconverter: ensure correct ordering of cea608 across output buffers
+ e.g. if a 60fps output is configured, we can only produce a single field
+ of cea608 that must alternate between field 1 and field 2.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2019>
+
+2022-03-23 15:13:10 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/closedcaption/gstccconverter.c:
+ * tests/check/elements/ccconverter.c:
+ ccconverter: ignore padding cea608 data even if marked as 'valid'
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2019>
+
+2022-03-23 10:36:28 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2decoder.c:
+ v4l2codecs: Detect missing M2M_HOLD_CAPTURE_BUF
+ Produce an error if we try to use the feature of holding capture buffer
+ but it is not supported by the driver. Ingoring this can lead to stalls
+ as the driver will run-out of capture buffer to decode into. This
+ affects slice decoders but also split-field interlaced decoding.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2009>
+
+2022-03-23 09:11:35 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ v4l2codecs: h264: Set other field poc if available
+ Whenever the other field POC is available, pass it back to the
+ driver. This should not be strictly required, but it makes things
+ easier to debug and more forgiven.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2009>
+
+2021-12-21 10:59:37 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ * sys/v4l2codecs/gstv4l2decoder.c:
+ * sys/v4l2codecs/gstv4l2decoder.h:
+ v4l2codecs: Trace request by it FD
+ This helps when crossing the debug logs with the kernel logs.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2009>
+
+2021-12-21 10:55:58 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ v4l2codecs: h264: Fix dpb entry flag FLAG_FIELD
+ The logic to guess back this value was broken. Use the value
+ now saved into the picture instead. This was tested using
+ LibreELEC patched 5.15 kernel, and fixed the interlaced decode
+ issues.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2009>
+
+2021-12-21 10:52:32 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/codecs/gsth264decoder.c:
+ * gst-libs/gst/codecs/gsth264picture.h:
+ codecs: h264: Save the field_pic_flag
+ This flag is set when the stream is interlaced and the specific
+ slice is made of single parity fields rather the paired at the
+ macroblock layer. This is rarely needed in late decoding process
+ but the Rockchip RKVDEC HW interface requires it, hence needs to
+ be passed through V4L2 Stateless interface.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2009>
+
+2022-03-25 13:26:52 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * tests/examples/d3d11/d3d11device.cpp:
+ d3d11: Fix example build error
+ ```
+ ../subprojects/gst-plugins-bad/tests/examples/d3d11/d3d11device.cpp:129:50: error: invalid conversion from ‘int’ to ‘DXGI_FORMAT’ [-fpermissive]
+ 129 | D3D11_SHADER_RESOURCE_VIEW_DESC srv_desc = { 0, };
+ ```
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2029>
+
+2022-03-18 16:59:32 +0000 Thibault Saunier <tsaunier@igalia.com>
+
+ * ext/directfb/dfbvideosink.c:
+ * ext/opencv/gsthanddetect.cpp:
+ * ext/vulkan/vksink.c:
+ * sys/d3d11/gstd3d11videosink.cpp:
+ * sys/d3dvideosink/d3dhelpers.c:
+ * tests/check/pipelines/ipcpipeline.c:
+ navigation: Add support for key Modifiers in all relevant events
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2010>
+
+2022-03-24 21:39:30 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvah265dec.c:
+ va: h265dec: Fix a crash because of missing reference frame.
+ Some problematic H265 stream may miss the reference frame in the DPB,
+ and get some message like: "No short term reference picture for xxx".
+ So there may be empty entries in ref_pic_list0/1 when passing to
+ decode_slice() function of sub class. We need to check the NULL pointer.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2018>
+
+2022-03-24 15:19:27 +0800 Chun-wei Fan <fanchunwei@src.gnome.org>
+
+ * ext/openexr/meson.build:
+ openexr: Specify modules when finding OpenEXR.
+ Specify modules to look for OpenEXR when CMake is used, as we may have
+ CMake config files instead of pkg-config files that result from building
+ OpenEXR, which may be built with CMake which is typically the case on Visual
+ Studio builds.
+ In this case, Meson does seem to find the 'OpenEXR' package with CMake
+ after trying pkg-config, but does not consider it enough without the
+ 'modules:' argument.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2014>
+
+2022-03-22 00:30:28 +0900 Sangchul Lee <sc11.lee@samsung.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: Update documentation of 'get-stats' action signal
+ Some stats fields are updated according to the current implementation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2005>
+
+2022-03-25 00:27:42 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/webrtctransceiver.c:
+ * ext/webrtc/webrtctransceiver.h:
+ * tests/check/elements/webrtcbin.c:
+ Revert "webrtcbin: fix msid line and allow customization"
+ This reverts commit 3cad3455377d5a22faa138d9df840257059776c8.
+ That commit was breaking the association between an audio and
+ a video track in the standard case.
+ In practice, to support carrying separate MediaStream, we are
+ going a way to map what MediaStreamTrack belong to what MediaStream,
+ but that will require some thinking about the API.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2023>
+
+2022-03-24 19:55:48 +0200 Vivia Nikolaidou <vivia@ahiru.eu>
+
+ * gst/mpegtsdemux/mpegtspacketizer.c:
+ * gst/mpegtsdemux/mpegtspacketizer.h:
+ * gst/mpegtsdemux/tsdemux.c:
+ tsdemux: Don't check SCTE events for being too far from the PCR
+ Otherwise it happens that SCTE events can only be scheduled up to 15
+ seconds since the last seen PCR, which is a useless restriction.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2021>
+
+2022-03-21 23:03:36 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/webrtctransceiver.c:
+ * ext/webrtc/webrtctransceiver.h:
+ * tests/check/elements/webrtcbin.c:
+ webrtcbin: fix msid line and allow customization
+ From https://datatracker.ietf.org/doc/html/draft-ietf-mmusic-msid-16:
+ > Multiple media descriptions with the same value for msid-id and
+ > msid-appdata are not permitted.
+ Our previous implementation of simply using the CNAME as the msid
+ identifier and the name of the transceiver as the msid appdata was
+ misguided and incorrect, and created issues when bundling multiple
+ video streams together: the ontrack event was emitted with the same
+ streams for the two bundled medias, at least in Firefox.
+ Instead, use the transceiver name as the identifier, and expose
+ a msid-appdata property on transceivers to allow for further
+ customization by the application. When the property is not set,
+ msid-appdata can be left empty as it is specified as optional.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2003>
+
+2022-01-05 10:15:34 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * ext/wpe/gstwpesrcbin.cpp:
+ wpe: Mark first audio buffer as discont
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1492>
+
+2022-01-04 15:49:35 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * ext/wpe/gstwpe.h:
+ * ext/wpe/gstwpesrcbin.cpp:
+ * ext/wpe/gstwpevideosrc.cpp:
+ * ext/wpe/meson.build:
+ * tests/validate/meson.build:
+ * tests/validate/wpe/load_bytes_first.validatetest:
+ wpe: Use `about:blank` as default URL to support only using load-bytes
+ WebKit is not going to render anything until a URI is set, leading to a
+ WPE posting a `WPE View did not render a buffer` error message. To avoid
+ requiring the user to know it if they only want to use
+ `wpesrc::load-bytes` we can just use `about:blank` as default and
+ everything will work as users would expect.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1492>
+
+2022-01-27 23:54:34 +0900 Seungha Yang <seungha@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst/debugutils/gstfakeaudiosink.c:
+ * gst/debugutils/gstfakeaudiosink.h:
+ * gst/debugutils/gstfakevideosink.c:
+ * gst/debugutils/gstfakevideosink.h:
+ fakevideosink,fakeaudiosink: Proxy handoff and preroll-handoff signals
+ Proxy signals for application to be able to consume them
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1585>
+
+2021-12-24 19:49:34 +0900 Seungha Yang <seungha@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/aom/gstav1enc.c:
+ aom: av1enc: Specify Temporal Unit alignment
+ Encoded bitstream consists of leading Temporal delimiter OBU
+ with frame, that's Temporal Unit alignment.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1471>
+
+2022-03-24 02:52:45 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvh264enc.cpp:
+ * sys/qsv/gstqsvh265enc.cpp:
+ * sys/qsv/gstqsvvp9enc.cpp:
+ qsvencoder: Clear caps after debug print
+ Otherwise debug function will print (null) for alread cleared pointer
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2012>
+
+2022-03-24 02:43:43 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvh264enc.cpp:
+ qsvh264enc: Fix profile and level setting in codec data
+ The profile field in SPS is located after header byte
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2012>
+
+2022-03-16 04:58:16 +0900 Seungha Yang <seungha@centricular.com>
+
+ nvcodec: Add new Direct3D11/CUDA mode encoder implementation
+ Adding new encoder elements nvd3d11{h264,h265}enc for Direct3D11
+ input support and re-written nvcuda{h264,h265}enc elements.
+ Newly writeen elements have some differences compared with old
+ nv{h264,h265}enc including non-backward compatible changes.
+ * RGBA is not a supported input format any more:
+ New elements will support only YUV formats to avoid implicit conversion
+ done by hardware. Ideally it should be done by upstream element
+ in order to have more control on it. Moreover, RGBA support can cause
+ redundant RGBA -> YUV conversion if multiple encoders are
+ used for the same RGBA input
+ * Subsampled planar format support is dropped:
+ I420 and YV12 format are not supported formats for Direct3D11.
+ Although it's supported in CUDA mode, it's not a hardware friendly
+ memory layout and it will waste GPU memory since UV planes
+ will have large padding due to the memory layout requirement of NVENC.
+ * GL support is dropped: Similar to the RGBA case,
+ GL support in encoder would be suboptimal if GL input is
+ used by multiple encoders, because each encoder will copy GL memory
+ into CUDA memory.
+ Upstream cudaupload element can be used for GL <-> CUDA
+ interop instead.
+ * No more pre-allocation of encoder input surfaces. New implementation
+ will use input CUDA memory without copy (zero-copy) or
+ will copy into a NVENC's input buffer struct in case of
+ system memory input.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1997>
+
+2022-02-10 10:21:01 +0100 Vivienne Watermeier <vwatermeier@igalia.com>
+
+ * ext/wpe/WPEThreadedView.cpp:
+ * ext/wpe/WPEThreadedView.h:
+ * ext/wpe/gstwpevideosrc.cpp:
+ wpevideosrc: Add touch event support
+ Dispatches a list of active touch events to the wpe view on each
+ received TOUCH_FRAME event. Touch inputs currently only move the cursor,
+ since wpe doesn't seem to support clicking/scrolling or zooming with
+ touch input.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633>
+
+2022-02-14 16:08:23 +0100 Vivienne Watermeier <vwatermeier@igalia.com>
+
+ * ext/directfb/dfbvideosink.c:
+ * ext/opencv/gsthanddetect.cpp:
+ * ext/vulkan/vksink.c:
+ * gst/librfb/gstrfbsrc.c:
+ * sys/d3d11/gstd3d11videosink.cpp:
+ * sys/d3dvideosink/d3dhelpers.c:
+ * sys/d3dvideosink/d3dvideosink.c:
+ * sys/directshow/dshowvideosink.cpp:
+ * sys/va/gstvavpp.c:
+ * tests/check/pipelines/ipcpipeline.c:
+ all: Use new navigation interface and API
+ Use and implement the new navigation interface in all relevant sink elements,
+ and use API functions everywhere instead of directy accessing the event structure.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633>
+
+2022-03-22 10:37:59 +0800 Tong Wu <tong1.wu@intel.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/gstmsdkh265enc.c:
+ * sys/msdk/gstmsdkvp9enc.c:
+ msdkenc: add macro definitions to avoid the gst-inspect error
+ Since the strings are empty for GST_MSDK_CAPS_MAKE_WITH_DMABUF_FEATURE
+ and GST_MSDK_CAPS_MAKE_WITH_VA_FEATURE, when excuting
+ gst-inspect-1.0.exe msdkh265enc, there will be convert static caps error
+ because of the extra semicolon between two empty strings. Now macro
+ definitions are added to avoid this issue.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2004>
+
+2022-01-26 14:55:51 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ msdkdec: Check width and height of mfxVideoParam before allocation
+ DecodeHeader must be called to fill the mfxVideoParam before allocation,
+ and thus the check for width and height in mfxVideoParam is necessary.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1817>
+
+2022-03-18 16:34:38 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ doc: Update cache after NV12_8L128 addition
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1379>
+
+2022-03-21 13:01:03 +0100 Benjamin Gaignard <benjamin.gaignard@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2decoder.c:
+ v4l2codecs: Fix memory leak
+ Free pending_requests array when releasing decoder to avoid memory leak
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2000>
+
+2022-02-02 10:05:16 -0300 Daniel Almeida <daniel.almeida@collabora.com>
+
+ * gst-libs/gst/codecs/gstav1decoder.c:
+ * gst-libs/gst/codecs/gstav1decoder.h:
+ * gst-libs/gst/codecs/gstvp9decoder.c:
+ * sys/d3d11/gstd3d11av1dec.cpp:
+ * sys/va/gstvaav1dec.c:
+ av1decoder: Sync duplicate_picture with VP9 one
+ Pass the current frame to the duplicate_picture callback. This makes it easier
+ to set the frame's output_buffer if we already have one available. Also
+ documented that unlike VP9, it is not optional to implement this as the
+ picture will populate the DPB if it is a key-frame. To ensure this, remove the
+ default implementation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1992>
+
+2022-03-18 15:59:21 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/codecs/gstvp9decoder.c:
+ vp9decoder: Copy system_frame_number in duplicate_picture
+ Just like AV1, copy the system_frame_number from the original picture to make
+ it clear they reference the same data.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1992>
+
+2022-03-09 16:35:56 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/codecs/gstav1decoder.c:
+ cdoecs: av1: Copy system_frame_number in duplicate_picture
+ The system_frame_number is notably used by V4L2 decoder as a unique
+ indentifier for the frame that was decoded. This value is used to tell driver
+ which frame to reference, as V4L2 does not have an efficient mechanism to
+ otherwise pass back the frames.
+ For this reason, and because it is more ligical, copy the original
+ system_frame_number into the duplicate picture instead of using the current
+ frame.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1992>
+
+2022-03-21 22:03:53 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/va/meson.build:
+ meson: va: Define GST_USE_UNSTABLE_API
+ Remove extra_c_args which is not defined in this meson file at all,
+ and define GST_USE_UNSTABLE_API to avoid build warnings
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1999>
+
+2022-03-16 13:17:21 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/codecparsers/gstav1parser.c:
+ * gst-libs/gst/codecparsers/gstav1parser.h:
+ * gst-libs/gst/codecs/gstav1decoder.c:
+ codecs: av1: Fix state when we show existing keyframe
+ Showing existing keyframe have special meaning in AV1. All the references
+ frame will be refreshed with the original keyframe information. The refresh
+ process (7.20) is implemented by saving data from the frame_header into the
+ state. To fix this special case, load all the relevant information into the
+ frame_header.
+ As there is nothing happening in between this and the loading of the key-frame
+ into the state, this patch also remove the separate API function, using it
+ internally instead.
+ Fixes #1090
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1971>
+
+2022-03-18 13:04:59 +0100 Jakub Adam <jakub.adam@collabora.com>
+
+ * sys/d3d11/gstd3d11screencapture.cpp:
+ d3d11: Fix some typos
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1985>
+
+2022-03-18 13:42:27 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * meson.build:
+ meson: Bump all meson requirements to 0.60
+ Lots of new warnings ever since
+ https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1934
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1977>
+
+2022-03-18 13:37:30 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * ext/openexr/gstopenexrdec.cpp:
+ openexr: Fix some warnings
+ ```
+ ../subprojects/gst-plugins-bad/ext/openexr/gstopenexrdec.cpp:46:24: warning: ‘Imf_3_1::Int64’ is deprecated: use uint64_t [-Wdeprecated-declarations]
+ 46 | virtual Int64 tellg ();
+ | ^
+ In file included from ../subprojects/gst-plugins-bad/ext/openexr/gstopenexrdec.cpp:32:
+ /usr/include/OpenEXR/ImfInt64.h:23:32: note: declared here
+ 23 | typedef IMATH_NAMESPACE::Int64 Int64;
+ | ^~~~~
+ ../subprojects/gst-plugins-bad/ext/openexr/gstopenexrdec.cpp:47:32: warning: ‘Imf_3_1::Int64’ is deprecated: use uint64_t [-Wdeprecated-declarations]
+ 47 | virtual void seekg (Int64 pos);
+ | ^
+ In file included from ../subprojects/gst-plugins-bad/ext/openexr/gstopenexrdec.cpp:32:
+ /usr/include/OpenEXR/ImfInt64.h:23:32: note: declared here
+ 23 | typedef IMATH_NAMESPACE::Int64 Int64;
+ | ^~~~~
+ ../subprojects/gst-plugins-bad/ext/openexr/gstopenexrdec.cpp:67:26: warning: ‘Imf_3_1::Int64’ is deprecated: use uint64_t [-Wdeprecated-declarations]
+ 67 | Int64 MemIStream::tellg ()
+ | ^
+ In file included from ../subprojects/gst-plugins-bad/ext/openexr/gstopenexrdec.cpp:32:
+ /usr/include/OpenEXR/ImfInt64.h:23:32: note: declared here
+ 23 | typedef IMATH_NAMESPACE::Int64 Int64;
+ | ^~~~~
+ ../subprojects/gst-plugins-bad/ext/openexr/gstopenexrdec.cpp:73:29: warning: ‘Imf_3_1::Int64’ is deprecated: use uint64_t [-Wdeprecated-declarations]
+ 73 | MemIStream::seekg (Int64 pos)
+ | ^
+ In file included from ../subprojects/gst-plugins-bad/ext/openexr/gstopenexrdec.cpp:32:
+ /usr/include/OpenEXR/ImfInt64.h:23:32: note: declared here
+ 23 | typedef IMATH_NAMESPACE::Int64 Int64;
+ | ^~~~~
+ ```
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1977>
+
+2022-03-18 09:48:46 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/codecparsers/gstav1parser.h:
+ codecparsers: av1parser: Fix a typo in FilmGrainParams comment.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1974>
+
+2022-03-10 17:37:26 +0100 Jakub Adam <jakub.adam@collabora.com>
+
+ * sys/d3d11/gstd3d11screencapture.cpp:
+ * sys/d3d11/gstd3d11screencapture.h:
+ * sys/d3d11/gstd3d11screencapturesrc.cpp:
+ d3d11screencapturesrc: Allow capturing screen sub-area
+ Adds crop-x, crop-y, crop-width, crop-height properties specifying the
+ screen area to capture.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1932>
+
+2022-03-15 17:01:59 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: Warn when offer didn't intersect with transceiver caps
+ We were silently falling back to creating a recvonly offer if the caps
+ didn't intersect.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1864>
+
+2022-03-17 13:36:25 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/closedcaption/gstccconverter.c:
+ ccconverter: drop data with a warning if scratch buffers overflow
+ Instead of asserting which could bring down the entire application.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1972>
+
+2022-03-11 17:02:55 +0000 Philippe Normand <philn@igalia.com>
+
+ * ext/wpe/WPEThreadedView.cpp:
+ wpe: Reintroduce persistent WebContext
+ A WebContext leak was introduced in MR
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2252.
+ If we wanted one WebContext per WebView we should also unref the
+ WebKitWebContext when destroying the WebView.
+ This patch reintroduces the persistent WebContext, initially part of
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1484.
+ Fixes #1084
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1933>
+
+2022-03-16 00:05:19 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: fix deadlock when setting up FEC encoder
+ We bind transceivers' fec_percentage property to the FEC encoder
+ percentage property, and with the binding bidirectional a deadlock
+ was introduced by the latest changes from !1762:
+ We take hold of the transceiver's object lock, then add the binding
+ and set the property to its initial value on the encoder, which causes
+ set_property to deadlock in the transceiver when the binding kicks in.
+ Changing the binding type to DEFAULT (source to target) is enough
+ to address the deadlock and still serves the original intent.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1967>
+
+2022-03-10 19:22:52 +0900 Sangchul Lee <sc11.lee@samsung.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: Check data channel transport for notifying 'ice-gathering-state'
+ Previously, it did not care about data channel's. It is fixed by adding
+ some conditions.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1957>
+
+2022-03-14 01:19:53 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstcudamemorycopy.c:
+ * sys/nvcodec/gstcudautils.c:
+ * sys/nvcodec/gstcudautils.h:
+ nvcodec: Move CUDA <-> GL, D3D11, NVMM copy function to utils
+ This method can be used in other elements as well.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1945>
+
+2022-03-12 01:12:25 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvh265dec.c:
+ nvh265sldec: Add support for delayed output
+ Delay 4 frames in case of non-live to improve throughput
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1937>
+
+2022-03-12 21:54:45 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gsth265decoder.c:
+ * gst-libs/gst/codecs/gsth265decoder.h:
+ h265decoder: Add support for delayed output
+ Functionally identical to the other decoder baseclasses.
+ Delayed output can improve throughput depending on decoding APIs.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1937>
+
+2022-03-12 00:53:04 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gsth265decoder.h:
+ h265decoder: Update documentation
+ Sync up with other baseclasses
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1937>
+
+2022-03-12 04:45:22 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gsth265decoder.c:
+ * gst-libs/gst/codecs/gsth265picture.h:
+ h265decoder: Drain decoder on new_sequence()
+ Holding previously decoded but not outputted pictures even after
+ new_sequence is not a safe approach in various aspect.
+ However, we cannot drain out DPB on new_sequence() unconditionally,
+ because there is a case where decoder should drop decoded pictures
+ if NoOutputOfPriorPicsFlag is set.
+ To detect NoOutputOfPriorPicsFlag before the new_sequence() call,
+ this patch splits decoding process into two path, one for nal unit parsing
+ in order to detect NoOutputOfPriorPicsFlag and then each nal unit
+ will be decoded.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1937>
+
+2022-03-12 03:15:48 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gsth265decoder.c:
+ * gst-libs/gst/codecs/gsth265picture.c:
+ * gst-libs/gst/codecs/gsth265picture.h:
+ h265decoder: Remove unused pts variable
+ We can know timestamp from associated GstVideoCodecFrame
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1937>
+
+2022-03-13 00:17:48 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvbaseenc.c:
+ nvenc: Fix deadlock because of too strict buffer pool size
+ The pool size might need to be larger than encoding surface pool size.
+ Also, because we always copy input frame into internal CUDA memory,
+ there's no reason to restrict max size of buffer pool.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1939>
+
+2022-03-12 10:31:13 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvah264enc.c:
+ va: Fix a regression because of "Invert video codec frame dependency".
+ 1. Always set the according GstVaH264EncFrame pointer when GstVideoCodecFrame
+ pointer is assigned, which can make the logic safe.
+ 2. Fix the forgotten change in _sort_by_frame_num. Its input pointer now is
+ GstVideoCodecFrame type.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1935>
+
+2022-03-09 03:45:18 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gstav1decoder.c:
+ * gst-libs/gst/codecs/gstav1picture.c:
+ * gst-libs/gst/codecs/gstav1picture.h:
+ * gst-libs/gst/codecs/gsth264decoder.c:
+ * gst-libs/gst/codecs/gsth264picture.c:
+ * gst-libs/gst/codecs/gsth264picture.h:
+ * gst-libs/gst/codecs/gsth265decoder.c:
+ * gst-libs/gst/codecs/gsth265picture.c:
+ * gst-libs/gst/codecs/gsth265picture.h:
+ * gst-libs/gst/codecs/gstmpeg2decoder.c:
+ * gst-libs/gst/codecs/gstmpeg2picture.c:
+ * gst-libs/gst/codecs/gstmpeg2picture.h:
+ * gst-libs/gst/codecs/gstvp8decoder.c:
+ * gst-libs/gst/codecs/gstvp8picture.h:
+ * gst-libs/gst/codecs/gstvp9decoder.c:
+ * gst-libs/gst/codecs/gstvp9picture.c:
+ * gst-libs/gst/codecs/gstvp9picture.h:
+ * sys/nvcodec/gstnvh264dec.c:
+ * sys/va/gstvah264dec.c:
+ codecs: Rename picture clear functions
+ Our convention for clear method is gst_clear_foo_bar().
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1897>
+
+2022-03-11 23:20:26 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvh265dec.c:
+ nvh265sldec: Always fill SPS/PPS related parameters
+ Address compare was not a valid approach since it works
+ only if SPS/PPS id are changed. Otherwise it will always point to
+ the same address of member variables of h265parser.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1931>
+
+2022-03-11 19:32:59 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gsth264picture.c:
+ h264decoder: Fix invalid memory access
+ gst_h264_dpb_needs_bump() can be called with null picture
+ in case of live
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1928>
+
+2022-02-10 08:01:02 +0100 Branko Subasic <branko@axis.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst/onvif/gstrtponviftimestamp.c:
+ * gst/onvif/gstrtponviftimestamp.h:
+ * tests/check/elements/rtponviftimestamp.c:
+ rtponviftimestamp: add support for using reference timestamps
+ Make it posible to configure the element to obtain the timestamps from
+ reference timestamp meta data instead of using the ntp-offset property,
+ or estimating its own offset. Currently the only time format supported
+ is "timestamp/x-unix", i.e. UTC time expressed in the unix time epoch.
+ In addition the custom event GstNtpOffset has been renamed to
+ GstOnvifTimestamp, to reflect that it is not necessarily used to convey
+ the ntp-offset. As a consequence we had to modify a couple of files in
+ the rtsp-server as well.
+ Fixes #984
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1683>
+
+2022-03-10 18:40:12 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/sdp/gstsdpdemux.c:
+ sdpdemux: add media attributes to caps to fix ptp clock handling
+ Those are needed by rtpjitterbuffer to do the right thing, e.g.
+ a=ts-refclk:ptp=IEEE1588-2008:00-**-**-**-**-**-**-**:0
+ a=mediaclk:direct=1266592257
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1924>
+
+2022-03-08 16:20:27 +0100 Corentin Damman <c.damman@intopix.com>
+
+ * sys/nvcodec/gstcudaformat.h:
+ * sys/nvcodec/gstcudamemorycopy.c:
+ cudamemorycopy: add D3D11 resource support
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1807>
+
+2022-03-09 09:35:16 +0100 Corentin Damman <c.damman@intopix.com>
+
+ * sys/nvcodec/gstcudacontext.c:
+ * sys/nvcodec/meson.build:
+ cudacontext: find associated DXGI Adapter LUID
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1807>
+
+2022-02-28 14:40:51 +0100 Corentin Damman <c.damman@intopix.com>
+
+ * sys/nvcodec/gstcudautils.c:
+ * sys/nvcodec/gstcudautils.h:
+ * sys/nvcodec/meson.build:
+ * sys/nvcodec/stub/cuda.h:
+ cudautils: add support of D3D11 resource as Cuda graphics resource type
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1807>
+
+2022-02-28 11:24:31 +0100 Corentin Damman <c.damman@intopix.com>
+
+ * sys/nvcodec/gstcudaloader.c:
+ * sys/nvcodec/gstcudaloader.h:
+ * sys/nvcodec/stub/cuda.h:
+ cudaloader: add D3D11 API
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1807>
+
+2022-03-10 10:33:56 +0100 Edward Hervey <edward@centricular.com>
+
+ * gst/mpegtsdemux/mpegtsbase.c:
+ * gst/mpegtsdemux/mpegtsbase.h:
+ mpegts: Handle glib < 2.58
+ By using a workaround to the lack of g_ptr_array_steal_index.
+ Fixes #1078
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1917>
+
+2022-03-10 15:36:00 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ webrtcbin: fix ulpfecenc passthrough pt
+ ulpfecenc uses a value of pt=255 for passthrough.
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1075
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1914>
+
+2022-03-10 02:28:11 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvdec.c:
+ * sys/nvcodec/gstnvdec.h:
+ nvh264dec,nvh265dec: Fix broken key-unit trick and reverse playback
+ On GstVideoDecoder::{drain,flush}, we send null packet with
+ CUVID_PKT_ENDOFSTREAM flag to drain out decoder. Which will
+ reset CUVID parser as well.
+ To continue decoding after the drain, the next input buffer
+ should include sequence headers otherwise CUVID parser will
+ not report any decodeable frame.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1911>
+
+2021-11-02 09:20:55 +0100 Edward Hervey <edward@centricular.com>
+
+ * gst/mpegtsdemux/mpegtsbase.c:
+ tsbase: Handle more program updates
+ There could be a case where the new program has the same program number as the
+ previous one ... but is actually located on a PID previously used for elementary
+ stream. In that case the program is guaranteed to not be an update of the
+ previous program but a completely new one.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1893>
+
+2021-11-02 09:18:57 +0100 Edward Hervey <edward@centricular.com>
+
+ * gst/mpegtsdemux/mpegtsbase.c:
+ * gst/mpegtsdemux/mpegtsbase.h:
+ mpegtsbase: Use an array to track programs
+ We need to be able to look for programs by their PID also. Using a hash table
+ was a bit sub-par (and overkill) for storing a range of programs.
+ This is needed because there could potentially be two programs with the same
+ program id but different PMT PID (while one is being deactivated the new one
+ would "exist").
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1893>
+
+2022-03-04 13:19:17 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvah264enc.c:
+ vah264enc: Invert video codec frame dependency.
+ Instead of using GstMiniObject to hold H264 frame, now it uses a plain
+ structure. Besides, instead of holding a reference to
+ GstVideoCodecFrame, the H264 frame structure is set as a
+ GstVideoCodecFrame user data.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1856>
+
+2022-03-09 02:14:50 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstcudamemorycopy.c:
+ cudamemorycopy: Fix GL resource leak
+ Clear GL resources on stop()
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1896>
+
+2022-03-07 18:46:55 +0100 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/mpegtsmux/gstbasetsmux.c:
+ mpegtsmux: Start last_ts with GST_CLOCK_TIME_NONE
+ And use the output segment position for the outgoing timestamp while it
+ is. This is needed to delay the calculation of `output_ts_offset` until
+ we actually have a usable timestamp, as tsmux will output a few initial
+ packets while `last_ts` is still unset.
+ Without this, the calculation would use the initial `0` value, which did
+ not have the intended effect of making VBR mode behave like CBR mode,
+ but always calculated an offset equal to the selected start time.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1884>
+
+2022-03-07 18:46:08 +0100 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/mpegtsmux/gstbasetsmux.c:
+ mpegtsmux: Use GST_CLOCK_STIME_NONE for output_ts_offset
+ It's a GstClockTimeDiff, thus GST_CLOCK_TIME_NONE isn't appropriate.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1884>
+
+2022-03-08 01:26:50 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/decklink/linux/DeckLinkAPI.h:
+ * sys/decklink/linux/DeckLinkAPIConfiguration.h:
+ * sys/decklink/linux/DeckLinkAPIDeckControl.h:
+ * sys/decklink/linux/DeckLinkAPIDiscovery.h:
+ * sys/decklink/linux/DeckLinkAPIDispatch.cpp:
+ * sys/decklink/linux/DeckLinkAPIModes.h:
+ * sys/decklink/linux/DeckLinkAPITypes.h:
+ * sys/decklink/linux/DeckLinkAPIVersion.h:
+ * sys/decklink/linux/LinuxCOM.h:
+ * sys/decklink/osx/DeckLinkAPI.h:
+ * sys/decklink/osx/DeckLinkAPIConfiguration.h:
+ * sys/decklink/osx/DeckLinkAPIDeckControl.h:
+ * sys/decklink/osx/DeckLinkAPIDiscovery.h:
+ * sys/decklink/osx/DeckLinkAPIDispatch.cpp:
+ * sys/decklink/osx/DeckLinkAPIModes.h:
+ * sys/decklink/osx/DeckLinkAPIStreaming.h:
+ * sys/decklink/osx/DeckLinkAPITypes.h:
+ * sys/decklink/osx/DeckLinkAPIVersion.h:
+ * sys/decklink/win/DeckLinkAPI.h:
+ * sys/decklink/win/DeckLinkAPI_i.c:
+ decklink: Update SDK version to 12.2.2
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1883>
+
+2022-03-08 03:45:01 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstcudamemorycopy.c:
+ cudamemorycopy: Remove texture-target caps field
+ It's GL specific field, and we can remove it unconditionally
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1865>
+
+2022-03-05 02:30:24 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstcudaformat.h:
+ * sys/nvcodec/gstcudamemorycopy.c:
+ * sys/nvcodec/gstcudanvmm.c:
+ * sys/nvcodec/gstcudanvmm.h:
+ * sys/nvcodec/meson.build:
+ * sys/nvcodec/plugin.c:
+ cudaupload,cudadownload: Add support for dGPU NVMM
+ Implement NVMM <-> CUDA, GL, SYSTEM memory conversion. Jetson is
+ not supported yet. Note that NVMM <-> GL interop on Jetson platform
+ is supported by GstGL
+ Some example pipelines are:
+ - Convert NVMM to GstGL memory
+ nvv4l2decoder ! "video/x-raw(memory:NVMM)" ! cudadownload ! "video/x-raw(memory:GLMemory)" ! glimagesink
+ - Upload system memory to NVMM and encode
+ video/x-raw,format=NV12 ! cudaupload ! "video/x-raw(memory:NVMM)" ! nvv4l2h264enc
+ - Convert NVMM to GstCUDA memory and encode
+ nvvideoconvert ! "video/x-raw(memory:NVMM)" ! cudaupload ! "video/x-raw(memory:CUDAMemory)" ! nvh264enc
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1865>
+
+2022-03-03 15:06:00 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvaencoder.c:
+ * sys/va/gstvaencoder.h:
+ * sys/va/gstvah264enc.c:
+ va: encoder: Don't preallocate reconstruct buffers.
+ It's not required by VA to register the reconstruct buffers at context
+ creation, just as in decoders.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1857>
+
+2022-03-07 10:19:53 +0000 Philippe Normand <philn@igalia.com>
+
+ * tests/check/libs/play.c:
+ gstplay: tests: Keep track of errors/warnings
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1869>
+
+2022-03-07 10:16:36 +0000 Philippe Normand <philn@igalia.com>
+
+ * gst-libs/gst/play/gstplay.c:
+ gstplay: Do not error out on message parsing failures
+ Specially when parsing errors and warnings, the details field can be NULL and
+ the gst_structure_get() call would return FALSE in such cases, triggering false
+ positive errors.
+ Follow-up for #1063
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1869>
+
+2022-03-07 10:14:43 +0000 Philippe Normand <philn@igalia.com>
+
+ * gst-libs/gst/play/gstplay.c:
+ * gst-libs/gst/play/gstplay.h:
+ gstplay: Fix warning parsing API
+ The GError is an out parameter, so should be a ** parameter, like the details
+ parameter.
+ See also #1063
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1869>
+
+2022-03-07 18:59:37 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstcudamemorycopy.c:
+ cudamemorycopy: Fix build when gl is disabled
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1707
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1868>
+
+2022-03-02 09:15:12 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ msdkdec: Fix to not trigger SFC scaling when vpp at downstream
+ When there is vpp scaling downstream, we need to make sure SFC is not
+ triggered because vpp may fall into passthrough mode which causes
+ the decoder negotiation to create src caps with vpp scaled width/height.
+ This patch includes bitstream's original size in first query with
+ downstream in gst_msdkdec_src_caps, which is the same for what we do for
+ color format in this query. This is to ensure SFC scaling starts to
+ work only when downstream directly asks for a different size instead of
+ through vpp.
+ Note that here SFC scaling follows the same behavior as msdkvpp:
+ if user only changes width or height, e.g. dec ! video/x-raw,width=xx !,
+ the height will be modified to the value which fits the original DAR.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1838>
+
+2022-03-06 19:18:20 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstcudautils.c:
+ nvcodec: Add missing null check in context sharing code
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1834>
+
+2022-03-04 03:33:41 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstcudadownload.c:
+ * sys/nvcodec/gstcudadownload.h:
+ * sys/nvcodec/gstcudaformat.h:
+ * sys/nvcodec/gstcudamemorycopy.c:
+ * sys/nvcodec/gstcudamemorycopy.h:
+ * sys/nvcodec/gstcudaupload.c:
+ * sys/nvcodec/gstcudaupload.h:
+ * sys/nvcodec/meson.build:
+ * sys/nvcodec/plugin.c:
+ nvcodec: Refactor cudaupload/download and add support for GL memory
+ * Implement new baseclass GstCudaMemoryCopy to remove duplicated
+ cudaupload/download code
+ * Add support for CUDA <-> GL memory conversion via cudaupload/download
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1834>
+
+2022-03-03 03:25:47 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/cuda-converter.c:
+ * sys/nvcodec/cuda-converter.h:
+ * sys/nvcodec/gstcudabasefilter.c:
+ * sys/nvcodec/gstcudabufferpool.c:
+ * sys/nvcodec/gstcudadownload.c:
+ * sys/nvcodec/gstcudamemory.c:
+ * sys/nvcodec/gstcudamemory.h:
+ * sys/nvcodec/gstcudaupload.c:
+ * sys/nvcodec/gstnvbaseenc.c:
+ * sys/nvcodec/gstnvdec.c:
+ * sys/nvcodec/gstnvdecoder.c:
+ * sys/nvcodec/plugin.c:
+ nvcodec: Refactor GstCudaMemory abstraction
+ * Hide GstCudaMemory member variables
+ * Make GstCudaAllocator object GstCudaContext independent
+ * Set offset/stride of memory correctly via video meta
+ * Drop GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT support.
+ This implementation actually does not support custom alignment
+ because we allocate device memory via cuMemAllocPitch
+ of which alignment is almost uncontrollable
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1834>
+
+2022-03-02 22:03:54 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/cuda-converter.h:
+ * sys/nvcodec/gstcudabasefilter.c:
+ * sys/nvcodec/gstcudabasefilter.h:
+ * sys/nvcodec/gstcudabasetransform.c:
+ * sys/nvcodec/gstcudabasetransform.h:
+ * sys/nvcodec/gstcudaconvert.c:
+ * sys/nvcodec/gstcudadownload.c:
+ * sys/nvcodec/gstcudadownload.h:
+ * sys/nvcodec/gstcudaformat.h:
+ * sys/nvcodec/gstcudaupload.c:
+ * sys/nvcodec/gstcudaupload.h:
+ nvcodec: Refactor basetransform subclasses
+ * cudaupload/download
+ - Specify only formats actually we can deal with
+ nvcodec elements, not all video formats
+ - Supports CUDA output for download and input for upload in order
+ to make passthrough possible, like other upload/download elements.
+ * cudabasetransform
+ - Reset conversion element if upstream CUDA memory
+ holds different CUDA context and the element can accept it.
+ This is the same behavior as corresponding d3d11 filter elements.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1834>
+
+2022-03-02 20:55:29 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstcudabufferpool.c:
+ * sys/nvcodec/gstcudabufferpool.h:
+ cudabufferpool: Move GstCudaContext object to public member
+ ... so that plugins can understand assosicated cuda context with the
+ pool.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1834>
+
+2022-03-03 02:48:17 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstcudacontext.c:
+ * sys/nvcodec/gstcudacontext.h:
+ * sys/nvcodec/gstcudautils.c:
+ cudacontext: Require explicit gpu id instead of auto (-1)
+ Sync up with GstD3D11Device implementation. The auto stuff should
+ be handled in context sharing step, not device creation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1834>
+
+2022-03-03 03:24:14 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstcudaloader.c:
+ * sys/nvcodec/gstcudamemory.c:
+ * sys/nvcodec/gstcudascale.c:
+ * sys/nvcodec/gstcuvidloader.c:
+ * sys/nvcodec/gstnvrtcloader.c:
+ nvcodec: Indent update
+ ... to prevent gnu indent version dependent diffs.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1834>
+
+2022-03-02 05:01:42 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstcudacontext.c:
+ cudacontext: Remove unnecessary cuInit() call
+ It's already called at plugin init time
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1834>
+
+2022-03-05 11:35:29 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst/videoparsers/gstav1parse.c:
+ av1parse: Add a comment when the detection of TU fails.
+ Also update the print message.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1863>
+
+2022-03-04 16:48:54 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/camerabin2/gstwrappercamerabinsrc.c:
+ camerabin: Remove drain query
+ This was to support very old V4L2 kernel. As we moved to DMABuf and can now
+ detach buffers on renegotiation, the buffer it tries to fix no longer exist.
+ The risk to blocking indefinitly the application does still exist though.
+ Fixes #1070
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1861>
+
+2022-03-03 23:00:41 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst/videoparsers/gstav1parse.c:
+ av1parse: check the error return when parse_alignment_from_caps()
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1837>
+
+2022-03-03 22:38:56 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst/videoparsers/gstav1parse.c:
+ av1parse: Use the intersected caps to decide the alignment.
+ When we negotiate with downstream, We should use the intersected
+ caps of input and output to decide the alignment and stream format.
+ The current code just uses the input caps which may lack the stream
+ format.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1837>
+
+2022-03-03 21:30:00 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst/ivfparse/gstivfparse.c:
+ ivfparse: Set the alignment to tu for AV1 stream.
+ Just do the same as other demux.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1837>
+
+2022-03-03 17:51:11 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst/videoparsers/gstav1parse.c:
+ av1parse: Only detect the stream format when input alignment is tu.
+ The demux now outputs the AV1 stream in "tu" alignment, so we do not need
+ to detect the input alignment. But the annex b stream format is not recognized
+ by the demux, we still need to detect that stream format for the first input.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1837>
+
+2022-03-02 16:22:25 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/videoparsers/gstav1parse.c:
+ av1parse: Save the default alignment
+ Otherwise the transformation is not applied and decoders may not
+ get the appropriate format despite the caps being negotiated
+ correctly.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1837>
+
+2022-03-02 16:20:31 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/videoparsers/gstav1parse.c:
+ av1parse: Remove duplicated check
+ The case of both strings being empty is already checked in the
+ helper function. No functional changes.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1837>
+
+2022-03-04 10:02:56 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/videoparsers/gstvp9parse.c:
+ vp9parse: Fix auto-plugging of HW frame decoder
+ Decoders that required frame aligmment and didn't have an associated
+ alpha decoder were skipped. This is because the parser was constructing
+ caps based on the software alpha decoder, which specify super-frame
+ alignment.
+ Iterate over the caps to filter the one that have a matching codec-alpha, with
+ the semantic the no codec-alpha field means codec-alpha=false. Then if
+ everything was removed, callback to the original, so that the first non-alpha
+ decoder will be picked.
+ Fixes #820
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1855>
+
+2022-03-04 14:17:47 +0100 Edward Hervey <edward@centricular.com>
+
+ * gst/mpegtsdemux/tsdemux.c:
+ tsdemux: Handle PES headers bigger than a mpeg-ts packet
+ While the actual PES header parser could notify us that it needed more data, we
+ would never actually act on it.
+ This commit will accumulate incoming packets in such situation and re-attempt
+ the header parsing.
+ Fixes #1027
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1852>
+
+2022-03-03 11:32:23 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvabasetransform.c:
+ va: basetransform: Add device-path read-only property.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1844>
+
+2022-03-03 11:05:36 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvabasedec.c:
+ * sys/va/gstvabasedec.h:
+ va: basedec: Add device-path read-only property.
+ And elements will notify the used device-path if display is DRM.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1844>
+
+2022-03-04 13:34:50 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvah264enc.c:
+ vah264enc: Remove GST_PARAM_CONDITIONALLY_AVAILABLE.
+ Since it's used only when the property is conditionally installed, and
+ these parameters are always installed.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1845>
+
+2022-03-04 09:15:42 +0100 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvaencoder.c:
+ va: encoder: Clean dead code.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1845>
+
+2022-03-03 14:08:16 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvaencoder.c:
+ va: encoder: Fix error code path when open.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1845>
+
+2022-03-03 13:57:35 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvah264enc.c:
+ vah264enc: Remove preferred_output_delay.
+ In the current state of the encoder it's just dead code.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1845>
+
+2022-03-03 09:59:28 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvaencoder.c:
+ * sys/va/gstvaencoder.h:
+ * sys/va/gstvah264enc.c:
+ vah264enc: Avoid mapping coded buffer twice.
+ Currently for copying the coded buffer onto a GStreamer buffer, the
+ coded buffer is mapped two times: one for getting the size, and later
+ for do the actual copy. We can avoid this by doing directly in the
+ element rather than in the general encoder object.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1845>
+
+2022-03-02 20:53:16 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvaencoder.c:
+ * sys/va/gstvaencoder.h:
+ * sys/va/gstvah264enc.c:
+ vah264enc: Single parameter array per picture.
+ There's no need, at least in H.264, to hold a global parameter array,
+ since there's no need to submit SPS, trellis, hdr or quality in every
+ buffer, but only on IDR ones.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1845>
+
+2022-03-02 20:06:01 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/plugin.c:
+ va: Fix log message
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1845>
+
+2022-03-04 09:57:02 +0000 Philippe Normand <philn@igalia.com>
+
+ * gst-libs/gst/play/gstplay.c:
+ * gst-libs/gst/play/gstplay.h:
+ play: Fix error parsing API
+ The GError is an out parameter, so should be a ** parameter, like the details
+ parameter.
+ Fixes #1063
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1849>
+
+2021-08-03 12:14:49 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/webrtc/gstwebrtcbin.c:
+ * ext/webrtc/transportstream.c:
+ * ext/webrtc/transportstream.h:
+ * ext/webrtc/webrtctransceiver.c:
+ * ext/webrtc/webrtctransceiver.h:
+ * tests/check/elements/webrtcbin.c:
+ webrtc: support renegotiating adding/removing RTX
+ We need to always add the RTX/RED/ULPFEC elements as rtpbin will only
+ call us once to request aux/fec senders/receivers.
+ We also need to regenerate the media section of the SDP instead of
+ blindly copying from the previous offer.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1762>
+
+2022-03-01 11:43:09 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ msdkenc: Change default ref frames number as 0
+ When user does not set ref-frames in pipeline, we should let MediaSDK
+ decide the reference frame number via setting default value as 0 at
+ gstreamer side.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1839>
+
+2022-03-04 04:18:06 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/wic/meson.build:
+ meson: wic: Fix typo
+ Should check WIC build option, not MediaFoundation
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1847>
+
+2022-03-03 04:22:15 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvdecoder.h:
+ * sys/qsv/gstqsvencoder.h:
+ * sys/qsv/gstqsvh264dec.cpp:
+ * sys/qsv/gstqsvh264enc.cpp:
+ * sys/qsv/gstqsvh265enc.cpp:
+ * sys/qsv/gstqsvvp9enc.cpp:
+ qsv: Remove strcpy for DRM device path
+ Simplify code. It's just one-time allocation, so don't need to worry
+ about leaking.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1835>
+
+2022-03-03 04:57:42 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/msdk/gstmsdkcontext.c:
+ msdk: Don't print error log for missing DRM device path
+ It's expected in case that such DRM device is unavailable for some reasons,
+ specifically non-Intel platform or so
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1836>
+
+2022-01-30 03:11:37 +0900 Seungha Yang <seungha@centricular.com>
+
+ * meson_options.txt:
+ * sys/meson.build:
+ * sys/wic/gstwicdecoder.cpp:
+ * sys/wic/gstwicdecoder.h:
+ * sys/wic/gstwicimagingfactory.cpp:
+ * sys/wic/gstwicimagingfactory.h:
+ * sys/wic/gstwicjpegdec.cpp:
+ * sys/wic/gstwicjpegdec.h:
+ * sys/wic/gstwicpngdec.cpp:
+ * sys/wic/gstwicpngdec.h:
+ * sys/wic/gstwicutils.cpp:
+ * sys/wic/gstwicutils.h:
+ * sys/wic/meson.build:
+ * sys/wic/plugin.cpp:
+ wic: Add support for JPEG and PNG decoding
+ Adding Windows Imaging Component (WIC) plugin with JPEG/PNG decoding
+ support.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1605>
+
+2022-03-02 06:17:22 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/directshow/gstdshow.cpp:
+ * sys/directshow/gstdshowvideodec.cpp:
+ directshow: Fix for division by zero
+ The AvgTimePerFrame value may be unknown. Use arbitrary
+ value (30 fps) instead of crashing.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1828>
+
+2022-02-20 03:59:32 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvallocator.cpp:
+ * sys/qsv/gstqsvallocator.h:
+ * sys/qsv/gstqsvallocator_d3d11.cpp:
+ * sys/qsv/gstqsvallocator_va.cpp:
+ * sys/qsv/gstqsvdecoder.cpp:
+ * sys/qsv/gstqsvdecoder.h:
+ * sys/qsv/gstqsvencoder.cpp:
+ * sys/qsv/gstqsvh264dec.cpp:
+ * sys/qsv/gstqsvh264dec.h:
+ * sys/qsv/gstqsvutils.h:
+ * sys/qsv/meson.build:
+ * sys/qsv/plugin.cpp:
+ qsv: Add H.264 decoder
+ Initial decoder implementation with baseclass
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1786>
+
+2022-02-21 10:49:15 +0100 Sebastian Fricke <sebastian.fricke@collabora.com>
+
+ * ext/wpe/WPEThreadedView.cpp:
+ * ext/wpe/gstwpe.cpp:
+ * ext/wpe/gstwpe.h:
+ Remove the uninstalled term
+ Remove the symbolic link `gst-uninstalled` which points to `gst-env`.
+ The `uninstalled` is the old name and the project should stick to a
+ single name for the procedure.
+ Remove the term from all the files, exceptions are variables from
+ dependencies like `uninstalled_variables` from pkgconfig and
+ `meson-uninstalled`.
+ Adjust mentions of the script in the documentation and README.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1743>
+
+2022-02-23 11:10:11 +0100 Sebastian Fricke <sebastian.fricke@collabora.com>
+
+ * README.md:
+ Maintain build instructions at a single location
+ Do not maintain similar build instructions within each gst-plugins-*
+ subproject and the subproject/gstreamer subproject. Use the build
+ instructions from the mono-repository and link to them via hyperlink.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1743>
+
+2022-02-21 12:26:49 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ docs: Add vah264enc metadata.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051>
+
+2021-10-05 01:53:19 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/plugin.c:
+ va: enable the H264 encoder.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051>
+
+2021-10-05 01:51:48 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvah264enc.c:
+ * sys/va/gstvah264enc.h:
+ * sys/va/meson.build:
+ va: Add H264 encoder.
+ This a new VA-API implementation of a H264 encoder.
+ It can control the GOP and parameter settings, while the MV searching,
+ VCL and the rate control algorithm are implemented by VA drivers and HW.
+ It supports most of the common usage options in H264, but still lacks
+ of look ahead, field, B frame weighted prediction, etc.
+ Co-authored-by: Victor Jaquez <vjaquez@igalia.com>
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051>
+
+2021-10-05 01:50:07 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvaencoder.c:
+ * sys/va/gstvaencoder.h:
+ * sys/va/meson.build:
+ va: Add a common encoder object.
+ As the counterpart of the va decoder, this class handles all the
+ common logic for the encoding routine and miscellaneous queries about
+ encoding.
+ Co-authored-by: Victor Jaquez <vjaquez@igalia.com>
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051>
+
+2022-01-20 21:44:20 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/vacompat.h:
+ va: Add vacompat.h to wrap glib functions.
+ The g_queue_clear_full() and g_array_copy() functions in the glib
+ may not be available for the current glib version check, so we add
+ helper functions to wrap it.
+ This should be deleted after the glib version bumps.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051>
+
+2021-10-21 22:56:23 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvaprofile.c:
+ * sys/va/gstvaprofile.h:
+ va: Add the profile string name into the profile_map.
+ We also add a helper function of gst_va_profile_from_name to get
+ the VA profile value by its profile string name.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051>
+
+2021-10-05 01:53:47 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvaprofile.c:
+ va: Change the H264 profile string order in the profile_map.
+ The first one should be the one that matches the VA profile's name
+ most precisely.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051>
+
+2021-10-05 01:45:25 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvacaps.c:
+ * sys/va/gstvacaps.h:
+ va: caps: Expose gst_va_create_coded_caps as helper function.
+ And allow free indentation for array declaration.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051>
+
+2021-10-05 01:43:28 +0800 He Junyan <junyan.he@intel.com>
+
+ * tests/check/libs/h264bitwriter.c:
+ * tests/check/meson.build:
+ test: Add test cases for the H264 bitwriter.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051>
+
+2021-10-05 01:42:41 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/codecparsers/gsth264bitwriter.c:
+ * gst-libs/gst/codecparsers/gsth264bitwriter.h:
+ * gst-libs/gst/codecparsers/meson.build:
+ codecparsers: bitwriter: Add the common bit writer functions for H264.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051>
+
+2021-10-05 01:41:07 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/codecparsers/nalutils.c:
+ * gst-libs/gst/codecparsers/nalutils.h:
+ codecparsers: nalutils: Add nal_writer_reset_and_get_data help function.
+ We not only want to create a NAL gstmemory, but also need to create and
+ get the raw data of a NAL writer for the later usage.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051>
+
+2022-02-28 16:33:23 +0100 Guillaume Desmottes <guillaume.desmottes@onestream.live>
+
+ * ext/gs/meson.build:
+ gs: look for google_cloud_cpp_storage.pc
+ storage_client.pc was legacy and has been removed:
+ https://github.com/googleapis/google-cloud-cpp/commit/df6fa3611cdfbc37d40e1451afa91fd7d2e7d5f7#diff-bc35ad7c2fe631fd5578a06092412dba81c7ddd27bb25df7e17bb13771799afcL743
+ No need to keep looking for storage_client.pc as a fallback as 1.25.0,
+ our minimum version, already ships google_cloud_cpp_storage.pc
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1815>
+
+2022-02-25 15:00:05 +0800 jinsl00000 <jinsl00000@msn.cn>
+
+ * sys/ipcpipeline/gstipcpipelinecomm.c:
+ * sys/ipcpipeline/meson.build:
+ ipcpipeline: fix crash and error on windows with SOCKET or _pipe()
+ The fd was in different meanings on windows:
+ POSIX read and write use the fd as a file descriptor.
+ The gst_poll use the fd as a WSASocket.
+ This patch use WSASocket as default on windows. This is a temporary measure, because IPC has many different implement. There may be a better way in the future.
+ See #1044
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1791>
+
+2022-02-14 16:15:46 +0800 Wu Tong <tong1.wu@intel.com>
+
+ * sys/msdk/gstmsdkcontextutil.c:
+ * sys/msdk/gstmsdkenc.c:
+ MSDK: Add _context_query() and avoid compile error on Windows
+ To avoid compile error on Windows, macro definitions are added to suppress va
+ variables. In the meantime, add function _context_query() to query
+ context on Windows.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1693>
+
+2022-02-24 20:26:46 +0530 Sanchayan Maity <sanchayan@asymptotic.io>
+
+ * ext/ldac/gstldacenc.c:
+ ldac: Set eqmid in caps
+ We set the eqmid in caps to be usable downstream by rtpldacpay for
+ knowing the frame count.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1797>
+
+2022-01-31 16:13:32 +0200 Vivia Nikolaidou <vivia@ahiru.eu>
+
+ * gst/mpegtsmux/gstbasetsmux.c:
+ tsmux: Skip empty buffers
+ They can be created e.g. by aggregator when there is a gap. Such buffers
+ should not be muxed at all.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1611>
+
+2022-02-21 11:37:26 -0500 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * data/meson.build:
+ * ext/voamrwbenc/meson.build:
+ * gst/freeverb/meson.build:
+ devenv: Add some missing GStreamer specific env variables
+ This should make "meson devenv" closer to what "gst-env.py" sets.
+ - GST_VALIDATE_SCENARIOS_PATH
+ - GST_VALIDATE_APPS_DIR
+ - GST_OMX_CONFIG_DIR
+ - GST_ENCODING_TARGET_PATH
+ - GST_PRESET_PATH
+ - GST_PLUGIN_SCANNER
+ - GST_PTP_HELPER
+ - _GI_OVERRIDES_PATH
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1768>
+
+2018-12-05 01:22:48 +0100 Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+
+ * ext/fdkaac/gstfdkaacdec.c:
+ * ext/fdkaac/gstfdkaacdec.h:
+ fdkaacdec: Support arbitrary channel configs
+ Try to match the config to GStreamer positions. If something doesn't
+ fit, fall back to a set of unpositioned channels.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1561>
+
+2018-12-05 01:07:19 +0100 Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+
+ * ext/fdkaac/gstfdkaacdec.c:
+ * ext/fdkaac/gstfdkaacdec.h:
+ fdkaacdec: Use predefined channel layouts
+ This limits the decoder to the layouts predefined for the encoder
+ (including the MPEG standard layouts) but greatly simplifies the
+ implementation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1561>
+
+2022-02-01 14:51:27 +0200 Vivia Nikolaidou <vivia@ahiru.eu>
+
+ * gst/mpegtsmux/gstbasetsmux.c:
+ * gst/mpegtsmux/gstbasetsmux.h:
+ tsmux: Lock mux->tsmux, the programs hash table, and pad streams
+ They contain implementations that are not thread-safe (e.g. GList, GHashTable).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1616>
+
+2022-02-17 15:16:40 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ msdkdec: Fix uninitialized variables
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1731>
+
+2022-02-17 15:12:52 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ * sys/msdk/gstmsdkvpp.c:
+ msdk: Fix unchecked return values
+ There are several calls of gst_video_info_from_caps and gst_video_frame_copy
+ without checks for the returned values. This patch adds all necessary
+ function return checks.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1738>
+
+2022-02-22 05:19:51 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvencoder.cpp:
+ qsvencoder: Fix caps leak in Linux build
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1769>
+
+2022-02-22 05:15:04 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/plugin.cpp:
+ qsv: Fix debug category name of qsvallocator
+ Remove gst prefix to make $env:GST_DEBUG="qsv*:6" work for qsvallocator
+ as well
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1769>
+
+2022-02-21 16:45:50 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ bad:docs: Add vaav1dec in documentation
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1773>
+
+2022-02-21 14:17:11 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+ * gst-libs/gst/d3d11/gstd3d11memory.h:
+ d3d11: Remove non-existing gst_d3d11_memory_get_type() API from header
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1764>
+
+2022-02-14 23:30:45 +0300 Dmitry Osipenko <dmitry.osipenko@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2format.c:
+ * sys/v4l2codecs/gstv4l2format.h:
+ v4l2codecs: Support YUV420M format
+ YUV420M format of V4L essentially is I420 with separate memory planes.
+ It's used by NVIDIA Tegra V4L decoder. Support this format by v4l2codecs.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1727>
+
+2022-02-20 23:59:46 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11screencapturesrc.cpp:
+ d3d11screencapturesrc: Use staging buffer pool for performance
+ By using staging pool/buffer, we can avoid per frame
+ staging texture -> system memory copy.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1756>
+
+2022-02-20 15:20:07 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ doc: Add NV12_16L32S into the cache
+ Autogenerated by CI
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1567>
+
+2022-01-26 13:39:40 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2format.c:
+ * sys/v4l2codecs/gstv4l2format.h:
+ v4l2codecs: Enable MediaTek MM21 (NV12_16L32S)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1567>
+
+2022-01-19 15:53:05 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2format.c:
+ v4l2codecs: Add support for multi planar buffers
+ V4L2 have some pixel formats that produces 2 dmabuf, this add
+ support for these format.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1567>
+
+2022-01-25 14:08:47 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * ext/wayland/wlshmallocator.c:
+ * sys/kms/gstkmsallocator.c:
+ * sys/v4l2codecs/gstv4l2format.c:
+ Port plugins to gst_video_format_info_extrapolate_stride()
+ This reduces code duplication and simplify addition of new
+ pixel formats into related plugins.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1567>
+
+2022-02-20 06:36:45 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/winscreencap/dxgicapture.c:
+ * sys/winscreencap/dxgicapture.h:
+ * sys/winscreencap/gstdxgiscreencapsrc.c:
+ * sys/winscreencap/gstdxgiscreencapsrc.h:
+ * sys/winscreencap/gstwinscreencap.c:
+ * sys/winscreencap/meson.build:
+ winscreencap: Remove dxgiscreencapsrc element
+ We have the d3d11screencapturesrc element in d3d11 plugin
+ which is obviously better than this element in terms of performance
+ and design, so we don't need to make people be confused by two separate elements.
+ Let's pick the better implementation and remove unnecessary one.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1750>
+
+2022-02-08 15:23:17 +0100 Jan Alexander Steffens (heftig) <heftig@archlinux.org>
+
+ * ext/wpe/meson.build:
+ wpe: Clean up build script
+ Use feature.require to check for gstgl and exit early if 'wpe' is
+ disabled (don't even check for wpe-webkit-1.1).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1668>
+
+2022-02-19 00:37:34 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/directshow/dshowvideosink.cpp:
+ * sys/directshow/gstdshowaudiodec.h:
+ directshow: Fix build warnings
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1744>
+
+2022-02-19 00:14:38 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/directshow/dshowdecwrapper/gstdshowdecwrapper.cpp:
+ * sys/directshow/dshowdecwrapper/gstdshowdecwrapper.h:
+ * sys/directshow/dshowdecwrapper/meson.build:
+ * sys/directshow/dshowdeviceprovider.cpp:
+ * sys/directshow/dshowdeviceprovider.h:
+ * sys/directshow/dshowsinkwrapper/meson.build:
+ * sys/directshow/dshowsrcwrapper/meson.build:
+ * sys/directshow/dshowvideofakesrc.cpp:
+ * sys/directshow/dshowvideofakesrc.h:
+ * sys/directshow/dshowvideosink.cpp:
+ * sys/directshow/dshowvideosink.h:
+ * sys/directshow/gstdshow.cpp:
+ * sys/directshow/gstdshow.h:
+ * sys/directshow/gstdshowaudiodec.cpp:
+ * sys/directshow/gstdshowaudiodec.h:
+ * sys/directshow/gstdshowaudiosrc.cpp:
+ * sys/directshow/gstdshowaudiosrc.h:
+ * sys/directshow/gstdshowfakesink.cpp:
+ * sys/directshow/gstdshowfakesink.h:
+ * sys/directshow/gstdshowfakesrc.cpp:
+ * sys/directshow/gstdshowfakesrc.h:
+ * sys/directshow/gstdshowutil.cpp:
+ * sys/directshow/gstdshowutil.h:
+ * sys/directshow/gstdshowvideodec.cpp:
+ * sys/directshow/gstdshowvideodec.h:
+ * sys/directshow/gstdshowvideosrc.cpp:
+ * sys/directshow/gstdshowvideosrc.h:
+ * sys/directshow/meson.build:
+ * sys/directshow/plugin.cpp:
+ directshow: Merge plugins into single directshow plugin
+ ... and lower rank of dshowvideosink and dshowdeviceprovider
+ to GST_RANK_MARGINAL since we don't prefer this plugin
+ by default
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1744>
+
+2022-02-19 00:12:55 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/directshow/dshowdecwrapper/gstdshowaudiodec.cpp:
+ * sys/directshow/dshowdecwrapper/gstdshowaudiodec.h:
+ * sys/directshow/dshowdecwrapper/gstdshowfakesrc.cpp:
+ * sys/directshow/dshowdecwrapper/gstdshowfakesrc.h:
+ * sys/directshow/dshowdecwrapper/gstdshowutil.cpp:
+ * sys/directshow/dshowdecwrapper/gstdshowutil.h:
+ * sys/directshow/dshowdecwrapper/gstdshowvideodec.cpp:
+ * sys/directshow/dshowdecwrapper/gstdshowvideodec.h:
+ * sys/directshow/dshowsinkwrapper/dshowvideofakesrc.cpp:
+ * sys/directshow/dshowsinkwrapper/dshowvideosink.cpp:
+ * sys/directshow/dshowsinkwrapper/dshowvideosink.h:
+ * sys/directshow/dshowsrcwrapper/gstdshow.h:
+ * sys/directshow/dshowsrcwrapper/gstdshowaudiosrc.h:
+ * sys/directshow/dshowsrcwrapper/gstdshowsrcwrapper.cpp:
+ * sys/directshow/dshowsrcwrapper/gstdshowvideosrc.cpp:
+ * sys/directshow/dshowsrcwrapper/gstdshowvideosrc.h:
+ directshow: Remove white spaces
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1744>
+
+2021-10-19 16:10:06 -0300 Martin Reboredo <yakoyoku@gmail.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/vulkan/gstvulkan.c:
+ * ext/vulkan/gstvulkanelements.h:
+ * ext/vulkan/meson.build:
+ * ext/vulkan/vkshaderspv.c:
+ * ext/vulkan/vkshaderspv.h:
+ vulkanshaderspv: SPIRV based filter
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1197>
+
+2022-02-18 16:23:09 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codecvp9dec.c:
+ v4l2codecs: vp9: Fix reset_frame_context parameter
+ It was assumed that the kernel parameters would match with the bitstream value
+ but instead the author when with another set of value. Surprisingly, this
+ makes no difference with the resulting fluster score.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1748>
+
+2022-02-18 16:02:27 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codecvp9dec.c:
+ v4l2codecs: vp9: Only fill compressed headers if needed
+ Fixes: 13944cf3ee871722 ("v4l2codecs: vp9: Make compressed hdr control optional")
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1748>
+
+2022-01-14 23:42:27 -0600 Tim Mooney <Tim.Mooney@ndsu.edu>
+
+ * sys/v4l2codecs/linux/types-compat.h:
+ v4l2: include <sys/ioccom.h> on Illumos
+ Needed for _IOR/_IORW
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1524>
+
+2022-01-26 21:06:45 +0100 Loic Le Page <llepage@fluendo.com>
+
+ * sys/directshow/dshowsinkwrapper/dshowvideofakesrc.cpp:
+ * sys/directshow/dshowsinkwrapper/dshowvideofakesrc.h:
+ * sys/directshow/dshowsinkwrapper/dshowvideosink.cpp:
+ * sys/directshow/dshowsinkwrapper/dshowvideosink.h:
+ * sys/directshow/dshowsinkwrapper/meson.build:
+ * sys/directshow/dshowvideosink/README:
+ * sys/directshow/meson.build:
+ Add build files and fix build for gst-plugins-bad dshowsinkwrapper plugin
+ dshowsinkwrapper plugin is the old dshowvideosink plugin that has been
+ renamed to be compliant with the actuel plugin name in the source code.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1577>
+
+2022-01-26 21:03:10 +0100 Loic Le Page <llepage@fluendo.com>
+
+ * sys/directshow/dshowsrcwrapper/BUILD.txt:
+ * sys/directshow/dshowsrcwrapper/CMakeLists.txt:
+ * sys/directshow/dshowsrcwrapper/gstdshowvideosrc.cpp:
+ * sys/directshow/dshowsrcwrapper/meson.build:
+ * sys/directshow/meson.build:
+ Add build files and fix build for gst-plugins-bad dshowsrcwrapper plugin
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1577>
+
+2022-01-26 20:58:12 +0100 Loic Le Page <llepage@fluendo.com>
+
+ * sys/directshow/dshowdecwrapper/CMakeLists.txt:
+ * sys/directshow/dshowdecwrapper/gstdshowvideodec.cpp:
+ * sys/directshow/dshowdecwrapper/meson.build:
+ * sys/directshow/meson.build:
+ Add build files and fix build for gst-plugins-bad dshowdecwrapper plugin
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1577>
+
+2022-01-26 20:43:09 +0100 Loic Le Page <llepage@fluendo.com>
+
+ * meson_options.txt:
+ * sys/directshow/meson.build:
+ * sys/directshow/strmbase/LICENSE:
+ * sys/directshow/strmbase/baseclasses/amextra.cpp:
+ * sys/directshow/strmbase/baseclasses/amextra.h:
+ * sys/directshow/strmbase/baseclasses/amfilter.cpp:
+ * sys/directshow/strmbase/baseclasses/amfilter.h:
+ * sys/directshow/strmbase/baseclasses/amvideo.cpp:
+ * sys/directshow/strmbase/baseclasses/arithutil.cpp:
+ * sys/directshow/strmbase/baseclasses/cache.h:
+ * sys/directshow/strmbase/baseclasses/checkbmi.h:
+ * sys/directshow/strmbase/baseclasses/combase.cpp:
+ * sys/directshow/strmbase/baseclasses/combase.h:
+ * sys/directshow/strmbase/baseclasses/cprop.cpp:
+ * sys/directshow/strmbase/baseclasses/cprop.h:
+ * sys/directshow/strmbase/baseclasses/ctlutil.cpp:
+ * sys/directshow/strmbase/baseclasses/ctlutil.h:
+ * sys/directshow/strmbase/baseclasses/ddmm.cpp:
+ * sys/directshow/strmbase/baseclasses/ddmm.h:
+ * sys/directshow/strmbase/baseclasses/dllentry.cpp:
+ * sys/directshow/strmbase/baseclasses/dllsetup.cpp:
+ * sys/directshow/strmbase/baseclasses/dllsetup.h:
+ * sys/directshow/strmbase/baseclasses/dxmperf.h:
+ * sys/directshow/strmbase/baseclasses/fourcc.h:
+ * sys/directshow/strmbase/baseclasses/measure.h:
+ * sys/directshow/strmbase/baseclasses/msgthrd.h:
+ * sys/directshow/strmbase/baseclasses/mtype.cpp:
+ * sys/directshow/strmbase/baseclasses/mtype.h:
+ * sys/directshow/strmbase/baseclasses/outputq.cpp:
+ * sys/directshow/strmbase/baseclasses/outputq.h:
+ * sys/directshow/strmbase/baseclasses/perflog.cpp:
+ * sys/directshow/strmbase/baseclasses/perflog.h:
+ * sys/directshow/strmbase/baseclasses/perfstruct.h:
+ * sys/directshow/strmbase/baseclasses/pstream.cpp:
+ * sys/directshow/strmbase/baseclasses/pstream.h:
+ * sys/directshow/strmbase/baseclasses/pullpin.cpp:
+ * sys/directshow/strmbase/baseclasses/pullpin.h:
+ * sys/directshow/strmbase/baseclasses/refclock.cpp:
+ * sys/directshow/strmbase/baseclasses/refclock.h:
+ * sys/directshow/strmbase/baseclasses/reftime.h:
+ * sys/directshow/strmbase/baseclasses/renbase.cpp:
+ * sys/directshow/strmbase/baseclasses/renbase.h:
+ * sys/directshow/strmbase/baseclasses/schedule.cpp:
+ * sys/directshow/strmbase/baseclasses/schedule.h:
+ * sys/directshow/strmbase/baseclasses/seekpt.cpp:
+ * sys/directshow/strmbase/baseclasses/seekpt.h:
+ * sys/directshow/strmbase/baseclasses/source.cpp:
+ * sys/directshow/strmbase/baseclasses/source.h:
+ * sys/directshow/strmbase/baseclasses/streams.h:
+ * sys/directshow/strmbase/baseclasses/strmctl.cpp:
+ * sys/directshow/strmbase/baseclasses/strmctl.h:
+ * sys/directshow/strmbase/baseclasses/sysclock.cpp:
+ * sys/directshow/strmbase/baseclasses/sysclock.h:
+ * sys/directshow/strmbase/baseclasses/transfrm.cpp:
+ * sys/directshow/strmbase/baseclasses/transfrm.h:
+ * sys/directshow/strmbase/baseclasses/transip.cpp:
+ * sys/directshow/strmbase/baseclasses/transip.h:
+ * sys/directshow/strmbase/baseclasses/videoctl.cpp:
+ * sys/directshow/strmbase/baseclasses/videoctl.h:
+ * sys/directshow/strmbase/baseclasses/vtrans.cpp:
+ * sys/directshow/strmbase/baseclasses/vtrans.h:
+ * sys/directshow/strmbase/baseclasses/winctrl.cpp:
+ * sys/directshow/strmbase/baseclasses/winctrl.h:
+ * sys/directshow/strmbase/baseclasses/winutil.cpp:
+ * sys/directshow/strmbase/baseclasses/winutil.h:
+ * sys/directshow/strmbase/baseclasses/wxdebug.cpp:
+ * sys/directshow/strmbase/baseclasses/wxdebug.h:
+ * sys/directshow/strmbase/baseclasses/wxlist.cpp:
+ * sys/directshow/strmbase/baseclasses/wxlist.h:
+ * sys/directshow/strmbase/baseclasses/wxutil.cpp:
+ * sys/directshow/strmbase/baseclasses/wxutil.h:
+ * sys/directshow/strmbase/meson.build:
+ * sys/meson.build:
+ Add directshow strmbase library source code from Microsoft repo
+ Original repo is here:
+ https://github.com/microsoft/Windows-classic-samples
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1577>
+
+2022-02-16 14:53:12 +0100 Loïc Le Page <llepage@fluendo.com>
+
+ * sys/directshow/dshowdecwrapper/CMakeLists.txt:
+ * sys/directshow/dshowdecwrapper/gstdshowaudiodec.cpp:
+ * sys/directshow/dshowdecwrapper/gstdshowaudiodec.h:
+ * sys/directshow/dshowdecwrapper/gstdshowdecwrapper.cpp:
+ * sys/directshow/dshowdecwrapper/gstdshowdecwrapper.h:
+ * sys/directshow/dshowdecwrapper/gstdshowfakesrc.cpp:
+ * sys/directshow/dshowdecwrapper/gstdshowfakesrc.h:
+ * sys/directshow/dshowdecwrapper/gstdshowutil.cpp:
+ * sys/directshow/dshowdecwrapper/gstdshowutil.h:
+ * sys/directshow/dshowdecwrapper/gstdshowvideodec.cpp:
+ * sys/directshow/dshowdecwrapper/gstdshowvideodec.h:
+ * sys/directshow/dshowsrcwrapper/BUILD.txt:
+ * sys/directshow/dshowsrcwrapper/CMakeLists.txt:
+ * sys/directshow/dshowsrcwrapper/dshowdeviceprovider.cpp:
+ * sys/directshow/dshowsrcwrapper/dshowdeviceprovider.h:
+ * sys/directshow/dshowsrcwrapper/gstdshow.cpp:
+ * sys/directshow/dshowsrcwrapper/gstdshow.h:
+ * sys/directshow/dshowsrcwrapper/gstdshowaudiosrc.cpp:
+ * sys/directshow/dshowsrcwrapper/gstdshowaudiosrc.h:
+ * sys/directshow/dshowsrcwrapper/gstdshowfakesink.cpp:
+ * sys/directshow/dshowsrcwrapper/gstdshowfakesink.h:
+ * sys/directshow/dshowsrcwrapper/gstdshowsrcwrapper.cpp:
+ * sys/directshow/dshowsrcwrapper/gstdshowvideosrc.cpp:
+ * sys/directshow/dshowsrcwrapper/gstdshowvideosrc.h:
+ * sys/directshow/dshowvideosink/README:
+ * sys/directshow/dshowvideosink/dshowvideofakesrc.cpp:
+ * sys/directshow/dshowvideosink/dshowvideofakesrc.h:
+ * sys/directshow/dshowvideosink/dshowvideosink.cpp:
+ * sys/directshow/dshowvideosink/dshowvideosink.h:
+ Move all directshow plugins to the same sub-folder
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1577>
+
+2022-01-15 00:04:05 -0600 Tim Mooney <Tim.Mooney@ndsu.edu>
+
+ * ext/curl/meson.build:
+ * gst/festival/meson.build:
+ * meson.build:
+ * sys/shm/meson.build:
+ meson: check for libsocket and libnsl
+ If present, add '-lsocket' and '-lnsl' to network_deps.
+ ext/curl/meson.build: add network_deps to dependencies
+ gst/festival/meson.build: same
+ sys/shm/meson.build: same
+ Fixes linking issues on Illumos distros.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1525>
+
+2022-02-14 22:59:01 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11_private.h:
+ * gst-libs/gst/d3d11/gstd3d11device.cpp:
+ * gst-libs/gst/d3d11/gstd3d11format.h:
+ * sys/d3d11/gstd3d11converter.cpp:
+ * tests/check/elements/d3d11colorconvert.c:
+ d3d11: Add support for AYUV, AYUV64, and RGBA64_LE formats
+ Note that AYUV and AYUV64 formats will be used to expand format
+ support, especially some packed YUV formats (e.g., Y410, YUY2)
+ are common DXGI formats used for hardware decoder/encoder on Windows
+ but those formats cannot be used as a render target. We need to handle
+ them differently without pixel shader help, using compute shader
+ for example.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1699>
+
+2022-02-13 20:32:48 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11_private.h:
+ * gst-libs/gst/d3d11/gstd3d11bufferpool.cpp:
+ * gst-libs/gst/d3d11/gstd3d11device.cpp:
+ * gst-libs/gst/d3d11/gstd3d11format.cpp:
+ * gst-libs/gst/d3d11/gstd3d11format.h:
+ * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+ * gst-libs/gst/d3d11/gstd3d11stagingbufferpool.cpp:
+ d3d11: Reorganize format mapping table
+ ... and handle GST <-> D3D11 format mapping in a single place to
+ make adding format easier
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1699>
+
+2022-02-13 04:36:39 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11bufferpool.cpp:
+ * gst-libs/gst/d3d11/gstd3d11device.cpp:
+ * gst-libs/gst/d3d11/gstd3d11device.h:
+ * gst-libs/gst/d3d11/gstd3d11format.cpp:
+ * gst-libs/gst/d3d11/gstd3d11format.h:
+ * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+ * gst-libs/gst/d3d11/gstd3d11memory.h:
+ * gst-libs/gst/d3d11/gstd3d11stagingbufferpool.cpp:
+ * sys/d3d11/gstd3d11convert.cpp:
+ * sys/d3d11/gstd3d11converter.cpp:
+ * sys/d3d11/gstd3d11decoder.cpp:
+ * sys/d3d11/gstd3d11pluginutils.cpp:
+ * sys/d3d11/gstd3d11upload.cpp:
+ * sys/d3d11/gstd3d11window.cpp:
+ * sys/d3d11/gstd3d11window_dummy.cpp:
+ * sys/mediafoundation/plugin.cpp:
+ d3d11: Store device format in struct
+ Holding pointer to struct was unsafe approach because
+ the pointer to d3d11 format will be invalidated once d3d11 device
+ object is released
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1699>
+
+2021-10-01 20:27:28 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/vulkan/win32/gstvkwindow_win32.c:
+ * gst/festival/gstfestival.c:
+ * meson.build:
+ * sys/ipcpipeline/gstipcpipelinecomm.c:
+ * sys/mediafoundation/gstmfvideoencoder.cpp:
+ * tests/examples/nvcodec/nvcodec.c:
+ meson: Do hard build error for some MSVC warnings
+ Handle various MSVC warnings as errors for development version.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1006>
+
+2022-02-14 16:18:54 +0300 Dmitry Osipenko <dmitry.osipenko@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ v4l2codecs: h264: Correct scaling matrix ABI check
+ Scaling matrix V4L UAPI control not presents on NVIDIA Tegra, the default
+ matrix should be used in this case. Mark scaling matrix presence optional.
+ Fixes: 47bfa71530c ("v4l2codecs: h264: Improve ABI check ")
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1726>
+
+2022-01-21 15:32:09 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ * sys/msdk/gstmsdkdec.h:
+ msdkdec: Enable SFC scaling for AVC and HEVC
+ Decoder SFC only supports down-scaling at most to 1/8.
+ For example, given a 4K bistream, SFC can scale it to 1080p via:
+ "msdkh265dec ! video/x-raw,width=1920,height=1080 ! glimagesink"
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1444>
+
+2021-12-15 11:49:40 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ * sys/msdk/gstmsdkh264dec.c:
+ * sys/msdk/gstmsdkh265dec.c:
+ msdkdec: Enable SFC csc for AVC and HEVC
+ Decoder SFC will be triggered when default output format is not accept at
+ downstream. One use case below can work without using msdkvpp:
+ "! msdkh265dec ! "video/x-raw,format=BGRA" ! glimagesink",
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1444>
+
+2021-11-17 17:05:09 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ * sys/msdk/gstmsdkdec.h:
+ msdkdec: Add SFC codes
+ SFC refers to Scaler Format Converter, more details here:
+ https://01.org/sites/default/files/documentation/intel-gfx-prm-osrc-kbl-vol15-sfc.pdf
+ By attaching mfxExtDecVideoProcessing buffer to mfxVideoParam, decoder
+ can do SFC for csc and scaling.
+ MSDK will check if surface bitdepth equals to input when no SFC is
+ triggered, which means in the case of SFC, there is no need to update
+ surface bitdepth via gst_msdk_update_mfx_frame_info_from_mfx_video_param.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1444>
+
+2022-02-16 02:23:58 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11converter.cpp:
+ d3d11converter: Fix for missing GRAY conversion
+ Add missing Y410 -> GRAY and GRAY -> semi-planar conversion
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1724>
+
+2022-02-16 02:11:53 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11converter.cpp:
+ d3d11converter: Don't use FIXME_OBJECT for non-GstObject
+ ... and print ERROR messages for unexpected input/output formats
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1724>
+
+2021-11-10 15:18:24 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/va/gstvadisplay.c:
+ * gst-libs/gst/va/gstvadisplay.h:
+ * sys/va/gstvacaps.c:
+ * sys/va/gstvadecoder.c:
+ * sys/va/gstvadisplay_priv.c:
+ * sys/va/gstvafilter.c:
+ * sys/va/gstvasurfacecopy.c:
+ * sys/va/vasurfaceimage.c:
+ va: Delete the display lock/unlock when we call VA-API.
+ According to the VA-API's description, they are MT-safe, we do not
+ need to care about that in our middleware layer. The lock/unlock
+ operations have overhead and make the performance lower.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1333>
+
+2022-02-08 15:22:39 +0100 Jan Alexander Steffens (heftig) <heftig@archlinux.org>
+
+ * ext/openaptx/gstopenaptxdec.h:
+ * ext/openaptx/gstopenaptxenc.h:
+ * ext/openaptx/meson.build:
+ openaptx: Support libfreeaptx
+ [libfreeaptx][1] is a fork of libopenapt 0.2.0, used by pipewire.
+ [1]: https://github.com/iamthehorker/libfreeaptx
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1642
+ Closes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1589
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1667>
+
+2022-02-15 02:26:46 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11converter.cpp:
+ d3d11converter: Fix RGB to GRAY conversion
+ Fix typo in shader code
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1697>
+
+2022-02-14 12:57:44 +0100 Stéphane Cerveau <scerveau@collabora.com>
+
+ * gst/mpegtsdemux/tsdemux.c:
+ tsdemux: unlock mutex on -1 start_offfset
+ Closing #1013
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1694>
+
+2022-02-13 22:39:46 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11download.cpp:
+ d3d11download: Fix decide_allocation
+ Caps should be parsed in any cases.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1691>
+
+2022-02-13 10:49:31 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/meson.build:
+ meson: va: Add va option check into plugin's build.
+ Because the liblibgstva is built unconditionally, we now move the
+ va option check into va plugin's build.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1685>
+
+2022-02-13 10:39:37 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/va/meson.build:
+ meson: va: Remove va option check from gst-libs
+ Building libgstva-1.0 unconditionally for the va implementation can be
+ used by non-va plugins such as MSDK even when va plugin is disabled
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1685>
+
+2022-02-12 10:05:11 +0000 Philippe Normand <philn@igalia.com>
+
+ * gst-libs/gst/webrtc/dtlstransport.c:
+ dtlstransport: Notify ICE transport property changes
+ The application might track the underlying ICE transport, so not notifying
+ changes might lead to use-after-free issues.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1688>
+
+2022-02-12 14:51:51 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/va/gstvavpp.c:
+ vavpp: Fix the caps leak in the transform_caps() function.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1689>
+
+2022-02-12 00:51:56 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/meson.build:
+ meson: d3d11: Remove d3d11 option check from gst-libs
+ Build gstd3d11-1.0 unconditionally for d3d11 implementation can be used
+ by non-d3d11 plugins even when d3d11 plugin is disabled
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1684>
+
+2022-02-10 22:31:06 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11_fwd.h:
+ * gst-libs/gst/d3d11/gstd3d11_private.h:
+ * gst-libs/gst/d3d11/gstd3d11bufferpool.cpp:
+ * gst-libs/gst/d3d11/gstd3d11config.h.meson:
+ * gst-libs/gst/d3d11/gstd3d11device.cpp:
+ * gst-libs/gst/d3d11/gstd3d11format.cpp:
+ * gst-libs/gst/d3d11/gstd3d11stagingbufferpool.cpp:
+ * gst-libs/gst/d3d11/meson.build:
+ * sys/d3d11/gstd3d11convert.cpp:
+ * sys/d3d11/gstd3d11pluginutils.cpp:
+ * sys/d3d11/gstd3d11pluginutils.h:
+ * sys/d3d11/gstd3d11screencapturedevice.h:
+ * sys/d3d11/gstd3d11videoprocessor.cpp:
+ * sys/d3d11/gstd3d11videoprocessor.h:
+ * sys/d3d11/gstd3d11window.cpp:
+ * sys/d3d11/gstd3d11window_dummy.cpp:
+ * sys/d3d11/gstd3d11window_win32.cpp:
+ * sys/d3d11/meson.build:
+ * sys/d3d11/plugin.cpp:
+ * sys/mediafoundation/plugin.cpp:
+ d3d11: Update build-time dependency
+ Remove all the d3d11 and dxgi header version dependent ifdef
+ and bump the minimum requirement to d3d11_4.h and dxgi1_6.h.
+ We are already failing support old Visual Studio (Windows SDK actually)
+ such as Visual Studio 2015. Note that our MinGW toolchain satisfies
+ the requirement.
+ From runtime point of view, this change should be fine since
+ we are checking OS version with IUnknown::QueryInterface()
+ everywhere in order to check API availability
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1684>
+
+2021-05-08 17:54:34 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/gstmsdkenc.h:
+ * sys/msdk/gstmsdkh265enc.c:
+ * sys/msdk/gstmsdkvp9enc.c:
+ * sys/msdk/msdk.h:
+ MSDK: Import VA surface as encoder's input.
+ We make all MSDK encoders declare "memory:VAMemory" feature. Then
+ the pipeline such as:
+ gst-launch-1.0 -vf filesrc location=xxx.h264 ! h264parse ! \
+ vah264dec ! msdkh265enc ! fakesink
+ will choose VA memory caps between the VA decoder and MSDK encoder.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087>
+
+2021-05-08 17:26:27 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/msdk/gstmsdk_va.c:
+ * sys/msdk/gstmsdk_va.h:
+ * sys/msdk/meson.build:
+ MSDK: Add helper function to peek VA surface of VA kind gstbuffer.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087>
+
+2021-05-08 15:51:11 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/msdk/gstmsdkenc.c:
+ MSDK: Handle context query into the encoder's query function.
+ The MSDK encoder's query function is not set and it just forwards
+ all query to its base class. We now need to answer the context
+ query correctly. Other VA plugins need to query the VA display.
+ By the way, the current query of "gst.msdk.Context" is also missing.
+ The other MSDK elements must depend on the bin's context message(
+ sent in context_propagate()) to set their MsdkContext correctly.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087>
+
+2021-08-17 22:36:59 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/msdk/gstmsdkvpp.c:
+ MSDK: Handle context query into the VPP's query function.
+ The MSDK VPP's query function is not set and it just forwards
+ all query to its base class. We now need to answer the context
+ query correctly. Other VA plugins need to query the VA display.
+ By the way, the current query of "gst.msdk.Context" is also missing.
+ The other MSDK elements must depend on the bin's context message(
+ sent in context_propagate()) to set their MsdkContext correctly.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087>
+
+2021-08-17 22:34:43 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/msdk/gstmsdkdec.c:
+ MSDK: Handle context query into the decoder's query function.
+ The MSDK decoder's query function is not set and it just forwards
+ all query to its base class. We now need to answer the context
+ query correctly. Other VA plugins need to query the VA display.
+ By the way, the current query of "gst.msdk.Context" is also missing.
+ The other MSDK elements must depend on the bin's context message(
+ sent in context_propagate()) to set their MsdkContext correctly.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087>
+
+2021-08-17 22:33:18 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/msdk/gstmsdkcontextutil.c:
+ * sys/msdk/gstmsdkcontextutil.h:
+ MSDK: Add a handle_context_query() helper function.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087>
+
+2021-08-17 21:51:58 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/msdk/gstmsdkcontextutil.c:
+ * sys/msdk/gstmsdkcontextutil.h:
+ * sys/msdk/gstmsdkdec.c:
+ * sys/msdk/gstmsdkenc.c:
+ * sys/msdk/gstmsdkvpp.c:
+ MSDK: Improve the GstContext setting logic.
+ We now can use the gst va lib's display to create our MSDK context,
+ and use its helper functions to simplify our code. The improved logic
+ is like this:
+ 1. Every MSDK element should use gst_msdk_context_find() to find a MSDK
+ context from neighbour. If valid, reuse it.
+ 2. Use gst_msdk_ensure_new_context(). It will first query neighbours
+ about the GstVaDisplay, if found(e.g. some VA element is connected),
+ use gst_msdk_context_from_external_display() to create a MSDK context.
+ 3. Then, creating the MSDK context from scratch. It creates both the
+ display and MSDK context.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087>
+
+2021-05-08 13:49:23 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/msdk/gstmsdkcontext.c:
+ * sys/msdk/gstmsdkcontext.h:
+ MSDK: Add new_with_va_display() helper function to create context.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087>
+
+2021-05-08 11:44:57 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/msdk/gstmsdkcontext.c:
+ * sys/msdk/gstmsdkcontext.h:
+ MSDK: Use the VA display object to replace the raw display handle.
+ The VA display object from VA lib is a common defined object. which
+ contain the whole display things. It is easier to use, and more important,
+ we can share it with the other VA plugins and keep all the VA related
+ plugins working on the same GPU device.
+ We also delete the useless gst_msdk_context_get_fd() API.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087>
+
+2022-02-11 11:11:03 +0800 He Junyan <junyan.he@intel.com>
+
+ * sys/msdk/meson.build:
+ MSDK: Add the gst va lib into MSDK's dependency.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087>
+
+2022-02-10 12:52:30 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst/videoparsers/gstav1parse.c:
+ av1parse: Add temporal unit check when TD is absent.
+ The current manner for deciding the new temporal unit is based on
+ temporal delimiter(TD) OBU. We only start a new temporal unit when
+ the TD comes.
+ But some streams do not have TD at all, which makes the output "TU"
+ alignment fail to work. We now add check based on the relationship
+ between the different layers and it can successfully judge the TU edge.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1634>
+
+2022-02-04 17:12:15 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst/videoparsers/gstav1parse.c:
+ av1parse: let the parse continue when MISSING_OBU_REFERENCE error.
+ Some streams may have verbose OBUs before a valid sequence header. We
+ should let the parse continue rather than return a error.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1634>
+
+2022-02-04 11:40:18 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst/videoparsers/gstav1parse.c:
+ av1parse: Continue when we fail to detect the alignment.
+ Some streams may have problematic OBUs at the beginning, which causes
+ the parse fail to detect the alignment and return error. For example,
+ there may be verbose OBUs before a valid sequence, which should be
+ discarded until we meet a valid sequence. We should let the parse
+ continue when we meet such cases, rather than just return error.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1634>
+
+2021-03-30 19:23:12 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/ivfparse/gstivfparse.c:
+ ivfparse: Don't set zero resolution on caps
+ It could be zero if the information is not available at ivfparse
+ side, or not implemented. In that case, simply don't set
+ width/height on caps, otherwise downstream would be confused
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1649>
+
+2022-01-29 01:52:26 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfmp3dec.cpp:
+ * sys/mediafoundation/gstmfmp3dec.h:
+ * sys/mediafoundation/meson.build:
+ * sys/mediafoundation/plugin.cpp:
+ mediafoundation: Add support for MP3 decoding
+ See also
+ https://docs.microsoft.com/en-us/windows/win32/medfound/windows-media-mp3-decoder
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1596>
+
+2022-01-27 02:20:37 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfaacdec.cpp:
+ * sys/mediafoundation/gstmfaacdec.h:
+ * sys/mediafoundation/gstmfaudiodecoder.cpp:
+ * sys/mediafoundation/gstmfaudiodecoder.h:
+ * sys/mediafoundation/gstmfutils.cpp:
+ * sys/mediafoundation/gstmfutils.h:
+ * sys/mediafoundation/meson.build:
+ * sys/mediafoundation/plugin.cpp:
+ mediafoundation: Add support for AAC decoding
+ See also
+ https://docs.microsoft.com/en-us/windows/win32/medfound/aac-decoder
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1596>
+
+2022-01-28 01:45:30 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfaacenc.cpp:
+ * sys/mediafoundation/gstmfaudioencoder.cpp:
+ * sys/mediafoundation/gstmfaudioencoder.h:
+ * sys/mediafoundation/gstmfh264enc.cpp:
+ * sys/mediafoundation/gstmfh265enc.cpp:
+ * sys/mediafoundation/gstmfmp3enc.cpp:
+ * sys/mediafoundation/gstmfsourcereader.cpp:
+ * sys/mediafoundation/gstmftransform.cpp:
+ * sys/mediafoundation/gstmfvideoencoder.cpp:
+ * sys/mediafoundation/gstmfvideoencoder.h:
+ * sys/mediafoundation/gstmfvp9enc.cpp:
+ * sys/mediafoundation/meson.build:
+ * sys/mediafoundation/plugin.cpp:
+ mediafoundation: Cosmetic changes
+ Rename baseclass to be consistent with other Windows plugins
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1596>
+
+2022-01-27 02:26:02 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfaudioenc.cpp:
+ * sys/mediafoundation/gstmftransform.cpp:
+ * sys/mediafoundation/gstmfvideoenc.cpp:
+ mediafoundation: Use & operator instead of GetAddressOf()
+ Use shorter expression
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1596>
+
+2022-01-24 02:41:29 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfaacenc.cpp:
+ * sys/mediafoundation/gstmfaudioenc.cpp:
+ * sys/mediafoundation/gstmfcapturewinrt.cpp:
+ * sys/mediafoundation/gstmfdevice.cpp:
+ * sys/mediafoundation/gstmfh264enc.cpp:
+ * sys/mediafoundation/gstmfh265enc.cpp:
+ * sys/mediafoundation/gstmfmp3enc.cpp:
+ * sys/mediafoundation/gstmfplatloader.cpp:
+ * sys/mediafoundation/gstmfsourceobject.cpp:
+ * sys/mediafoundation/gstmfsourcereader.cpp:
+ * sys/mediafoundation/gstmftransform.cpp:
+ * sys/mediafoundation/gstmfutils.cpp:
+ * sys/mediafoundation/gstmfvideobuffer.cpp:
+ * sys/mediafoundation/gstmfvideoenc.cpp:
+ * sys/mediafoundation/gstmfvideosrc.cpp:
+ * sys/mediafoundation/gstmfvp9enc.cpp:
+ * sys/mediafoundation/gstwin32devicewatcher.cpp:
+ * sys/mediafoundation/mediacapturewrapper.cpp:
+ * sys/mediafoundation/meson.build:
+ * sys/mediafoundation/plugin.cpp:
+ mediafoundation: Port to C++
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1596>
+
+2022-02-09 03:27:41 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/plugin.cpp:
+ d3d11decoder: Promote rank to primary except for mpeg2
+ Our D3D11/DXVA codecs implementation has been verified
+ during 1.18 and 1.20 development cycle and also via the Fluster
+ test framework. Similar to the case of nvdec and vtdec,
+ we can prefer hardware over software in most cases
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1672>
+
+2022-02-09 15:05:14 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codecvp9dec.c:
+ v4l2codecs: vp9: Fix duplicating a duplicated picture
+ Duplicating a picture what was already a dup was leading to a crash. Rename
+ the custom picture flags as HOLDS_BUFFER to make its meaning clear. Then save
+ then ref and store the picture as userdata, so it can be obtained when
+ duplicating. Finally, mark the doplicated as HOLDS_BUFFER to avoid thinking it
+ holds a request.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1681>
+
+2022-02-10 01:48:23 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/mediafoundation/gstmfaudioenc.cpp:
+ mfaudioenc: Handle empty IMFMediaBuffer
+ IMFMediaBuffer may not hold encoded data, which seems to happen
+ while draining.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1679>
+
+2022-02-03 10:10:44 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvadecoder.c:
+ va: decoder: Log profile name.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1675>
+
+2022-01-24 16:25:18 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvafilter.c:
+ va: filter: Log the added filter name.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1675>
+
+2021-10-25 13:41:49 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/va/gstvafilter.c:
+ * sys/va/gstvafilter.h:
+ * sys/va/gstvavpp.c:
+ vapostproc: Process HDR caps
+ This patch adds a new parameter: hdr-tone-mapping (same as
+ vaapipostproc), if the HDR capabilites are availabe in driver, and
+ it's disabled by default.
+ If hdr-tone-mapping is enabled then HDR fields in sink caps are
+ processed in frames from HDR to SDR, removing those hdr fields in
+ source pad caps too.
+ hdr-tone-mapping is not enabled if a color conversion is also
+ requested, since it fails to process in the iHD driver, so far.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1258>
+
+2021-09-30 17:42:19 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/va/meson.build:
+ * sys/msdk/meson.build:
+ build: Add libva dependency fallback.
+ Then libva can be subproject and used by either gstreamer-vaapi,
+ va and msdk in gst-plugins-bad.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1397>
+
+2022-02-06 23:20:32 +0900 Sangchul Lee <sc11.lee@samsung.com>
+
+ * ext/webrtc/gstwebrtcice.c:
+ webrtcice: Fix memory leaks in gst_webrtc_ice_add_candidate()
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1646>
+
+2022-01-28 14:49:42 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2codecs/gstv4l2codecvp9dec.c:
+ * sys/v4l2codecs/gstv4l2decoder.c:
+ v4l2codecs: vp9: Make compressed hdr control optional
+ This is to supported by Mediatek VP9 driver. Mediatek handles
+ the forward probabilities in hardware hence does not need and
+ does not implement support for
+ V4L2_CID_STATELESS_VP9_COMPRESSED_HDR.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1600>
+
+2022-02-07 12:34:53 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/va/meson.build:
+ va: Fix and simplify build recipe.
+ 1. Use api_version variable rather than static string.
+ 2. Remove pkgconfig generation since currently the library
+ is not installed, only used internally.
+ 3. Rely on dependency "required" to abort compilation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1650>
+
+2022-02-07 11:27:57 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/va/meson.build:
+ * sys/va/meson.build:
+ va: Remove libgudev crumbs in library.
+ In commit e699aaeb we moved linking of libgudev to the plugin rather
+ the library, because it's only used in the plugin. But the dependency
+ check is still done in library.
+ This patch removes the dependency check in library, and updates the
+ dependency check in plugin.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1650>
+
+2022-02-08 04:51:24 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/msdk/msdk.c:
+ * sys/msdk/msdk.h:
+ msdk: Fix for MFXUnload symbol re-definition build error
+ Fix for libgstreamer-full build
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1408>
+
+2021-12-25 00:13:04 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvh265enc.cpp:
+ * sys/qsv/gstqsvh265enc.h:
+ * sys/qsv/meson.build:
+ * sys/qsv/plugin.cpp:
+ qsv: Add support for HEVC encoding
+ main and main-10 profiles are supported for now
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1408>
+
+2021-12-19 21:39:53 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/gstqsvallocator.cpp:
+ * sys/qsv/gstqsvallocator_d3d11.cpp:
+ * sys/qsv/gstqsvvp9enc.cpp:
+ * sys/qsv/gstqsvvp9enc.h:
+ * sys/qsv/meson.build:
+ * sys/qsv/plugin.cpp:
+ qsv: Add support for VP9 encoding and more video formats
+ Add VP9 encoder with 4:2:0 8 bits and 4:4:4 8/10 bits formats support
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1408>
+
+2022-02-06 21:34:43 +0900 Seungha Yang <seungha@centricular.com>
+
+ * meson_options.txt:
+ * sys/meson.build:
+ * sys/qsv/gstqsvallocator.cpp:
+ * sys/qsv/gstqsvallocator.h:
+ * sys/qsv/gstqsvallocator_d3d11.cpp:
+ * sys/qsv/gstqsvallocator_d3d11.h:
+ * sys/qsv/gstqsvallocator_va.cpp:
+ * sys/qsv/gstqsvallocator_va.h:
+ * sys/qsv/gstqsvencoder.cpp:
+ * sys/qsv/gstqsvencoder.h:
+ * sys/qsv/gstqsvh264enc.cpp:
+ * sys/qsv/gstqsvh264enc.h:
+ * sys/qsv/gstqsvutils.cpp:
+ * sys/qsv/gstqsvutils.h:
+ * sys/qsv/libmfx/meson.build:
+ * sys/qsv/meson.build:
+ * sys/qsv/plugin.cpp:
+ qsv: Introduce H.264 Intel Quick Sync Video Encoder
+ A new implementation of Intel Quick Sync Video plugin.
+ This plugin supports both Windows and Linux but optimization for
+ VA/DMABuf is not implemented yet.
+ This new plugin has some notable differences compared with existing
+ MSDK plugin.
+ * Encoder will expose formats which can be natively supported
+ without internal conversion. This will make encoder
+ control/negotiation flow much simpler and cleaner than
+ that of MSDK plugin.
+ * This plugin includes QSV specific library loading helper,
+ called dispatcher, with QSV SDK headers as a part of this plugin.
+ So, there will be no more SDK version dependent #ifdef in the code
+ and also there will be no more build-time MSDK/oneVPL SDK
+ dependency.
+ * Memory allocator interop between GStreamer and QSV is re-designed
+ and decoupled. Instead of implementing QSV specific allocator/bufferpool,
+ this plugin will make use of generic GStreamer memory
+ allocator/bufferpool (e.g., GstD3D11Allocator and GstD3D11BufferPool).
+ Specifically, GstQsvAllocator object will help interop between
+ GstMemory and mfxFrameAllocator memory abstraction layers.
+ Note that because of the design decision, VA/DMABuf support is not made
+ as a part of this initial commit. We can add the optimization for Linux
+ later once GstVA library exposes allocator/bufferpool implementation as
+ an API like GstD3D11.
+ * Initial encoder implementation supports interop with GstD3D11
+ infrastructure, including zero-copy encoding with upstream D3D11 element.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1408>
+
+2021-12-01 22:18:42 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/libmfx/dispatcher/windows/mfx_dxva2_device.h:
+ qsv: Remove unnecessary pargma message
+ We know what we are doing, just remove noisy build warnings
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1408>
+
+2021-12-01 22:18:04 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/qsv/libmfx/api/vpl/mfx.h:
+ * sys/qsv/libmfx/api/vpl/mfxadapter.h:
+ * sys/qsv/libmfx/api/vpl/mfxbrc.h:
+ * sys/qsv/libmfx/api/vpl/mfxcommon.h:
+ * sys/qsv/libmfx/api/vpl/mfxdefs.h:
+ * sys/qsv/libmfx/api/vpl/mfxdispatcher.h:
+ * sys/qsv/libmfx/api/vpl/mfxdispatcherprefixedfunctions.h:
+ * sys/qsv/libmfx/api/vpl/mfximplcaps.h:
+ * sys/qsv/libmfx/api/vpl/mfxjpeg.h:
+ * sys/qsv/libmfx/api/vpl/mfxmvc.h:
+ * sys/qsv/libmfx/api/vpl/mfxpcp.h:
+ * sys/qsv/libmfx/api/vpl/mfxsession.h:
+ * sys/qsv/libmfx/api/vpl/mfxstructures.h:
+ * sys/qsv/libmfx/api/vpl/mfxsurfacepool.h:
+ * sys/qsv/libmfx/api/vpl/mfxvideo++.h:
+ * sys/qsv/libmfx/api/vpl/mfxvideo.h:
+ * sys/qsv/libmfx/api/vpl/mfxvp8.h:
+ * sys/qsv/libmfx/dispatcher/linux/device_ids.h:
+ * sys/qsv/libmfx/dispatcher/linux/libvpl.map:
+ * sys/qsv/libmfx/dispatcher/linux/mfxloader.cpp:
+ * sys/qsv/libmfx/dispatcher/linux/mfxloader.h:
+ * sys/qsv/libmfx/dispatcher/linux/mfxvideo_functions.h:
+ * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl.cpp:
+ * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl.h:
+ * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_config.cpp:
+ * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_loader.cpp:
+ * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_log.cpp:
+ * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_log.h:
+ * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_lowlatency.cpp:
+ * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_msdk.cpp:
+ * sys/qsv/libmfx/dispatcher/vpl/mfx_dispatcher_vpl_win.h:
+ * sys/qsv/libmfx/dispatcher/windows/libmfx.def:
+ * sys/qsv/libmfx/dispatcher/windows/main.cpp:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_critical_section.cpp:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_critical_section.h:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_dispatcher.cpp:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_dispatcher.h:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_dispatcher_defs.h:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_dispatcher_log.cpp:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_dispatcher_log.h:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_driver_store_loader.cpp:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_driver_store_loader.h:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_dxva2_device.cpp:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_dxva2_device.h:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_exposed_functions_list.h:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_function_table.cpp:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_library_iterator.cpp:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_library_iterator.h:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_load_dll.cpp:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_load_dll.h:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_vector.h:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_win_reg_key.cpp:
+ * sys/qsv/libmfx/dispatcher/windows/mfx_win_reg_key.h:
+ * sys/qsv/libmfx/dispatcher/windows/mfxvideo++.h:
+ * sys/qsv/libmfx/dispatcher/windows/version.rc.in:
+ qsv: Import libmfx API and dispatch code from oneVPL project
+ Copied from oneVPL project (https://github.com/oneapi-src/oneVPL)
+ v2022.0.3 tag at the commit of efc259f8b7ee5c334bca1a904a503186038bbbdd
+ This is corresponding to MFX API version 2.6
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1408>
+
+2021-12-07 21:29:05 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+ d3d11memory: Inform subresource index via GstMapInfo::user_data
+ By using this way, caller does not need to call another method
+ gst_d3d11_memory_get_subresource_index()
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1408>
+
+2022-02-06 21:36:28 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11bufferpool.cpp:
+ * gst-libs/gst/d3d11/gstd3d11memory.cpp:
+ * gst-libs/gst/d3d11/gstd3d11memory.h:
+ * gst-libs/gst/d3d11/gstd3d11stagingbufferpool.cpp:
+ * sys/d3d11/gstd3d11pluginutils.cpp:
+ d3d11memory: Add support for ID3D11Buffer
+ Allow wrap ID3D11Buffer via GstD3D11Memory object
+ At the moment, only staging ID3D11Buffer is supported.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1408>
+
+2022-02-01 00:50:53 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvh265dec.c:
+ nvh265sldec: Fix for decoding 12bits stream
+ We've been exposing main-444-12 profile as a supported profile
+ in its sinkpad template but not actaully. Adding code to
+ covert 12 and 16 bits as well.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1612>
+
+2022-02-01 00:12:06 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/nvcodec/gstnvdecoder.c:
+ * sys/nvcodec/gstnvdecoder.h:
+ * sys/nvcodec/gstnvh264dec.c:
+ * sys/nvcodec/gstnvh265dec.c:
+ * sys/nvcodec/gstnvvp8dec.c:
+ * sys/nvcodec/gstnvvp9dec.c:
+ nvdecoder: Fix for HEVC 4:4:4 format decoding
+ Map chroma_format_idc == 3 (which means 4:4:4 subsampling) correctly,
+ also pass coded bitdepth for decoder initialization instead of
+ inferring it from output format since they can be different.
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/949
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1612>
+
+2022-02-07 22:38:02 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11stagingbufferpool.cpp:
+ d3d11stagingbufferpool: Fix typo in texture description
+ Fixing typo, it should be height
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1652>
+
+2021-10-27 11:08:39 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/va/gstva.h:
+ * gst-libs/gst/va/meson.build:
+ * sys/va/gstvaallocator.h:
+ * sys/va/gstvabasedec.c:
+ * sys/va/gstvabasetransform.c:
+ * sys/va/gstvacaps.h:
+ * sys/va/gstvadecoder.c:
+ * sys/va/gstvadecoder.h:
+ * sys/va/gstvadeinterlace.c:
+ * sys/va/gstvadevice.h:
+ * sys/va/gstvafilter.h:
+ * sys/va/gstvasurfacecopy.h:
+ * sys/va/gstvavpp.c:
+ * sys/va/vasurfaceimage.h:
+ * tests/examples/va/main.c:
+ * tests/examples/va/multiple-vpp.c:
+ va: Add a gstva.h to include all va lib header files.
+ And replacing all va lib headers with this new header files
+ when including.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1256>
+
+2021-10-07 14:31:28 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/va/gstvautils.c:
+ * gst-libs/gst/va/gstvautils.h:
+ * gst-libs/gst/va/meson.build:
+ * sys/va/gstvabasedec.c:
+ * sys/va/gstvabasetransform.c:
+ * sys/va/gstvadeinterlace.c:
+ * sys/va/gstvavpp.c:
+ * sys/va/meson.build:
+ va: Move the vautils into the gst va lib.
+ The context query and handle are common logic for all va related
+ elements. So we move it from va plugins to the common gst va lib.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1256>
+
+2021-10-24 22:07:38 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/codecs/gsth264decoder.h:
+ * gst-libs/gst/codecs/gstmpeg2decoder.h:
+ * sys/d3d11/gstd3d11h264dec.cpp:
+ * sys/d3d11/gstd3d11mpeg2dec.cpp:
+ * sys/nvcodec/gstnvh264dec.c:
+ * sys/v4l2codecs/gstv4l2codech264dec.c:
+ * sys/va/gstvah264dec.c:
+ * sys/va/gstvampeg2dec.c:
+ codecs: Stop claiming constness for refcounted object
+ It's almost pointless and makes little sense as subclass might
+ want to modify refcount of the object or so. And all subclasses
+ are already casting them to non-const version as well.
+ In a general sense, we need to avoid passing refcounted object
+ with const qualifier.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1238>
+
+2022-02-06 01:06:36 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11videosink.cpp:
+ d3d11videosink: Use staging buffer pool for non-d3d11 upstream
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1643>
+
+2022-02-06 00:53:34 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11download.cpp:
+ * sys/d3d11/gstd3d11upload.cpp:
+ d3d11upload,d3d11download: Use staging buffer pool
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1643>
+
+2022-02-05 23:25:12 +0900 Seungha Yang <seungha@centricular.com>
+
+ * sys/d3d11/gstd3d11decoder.cpp:
+ d3d11decoder: Use staging buffer pool for non-d3d11 downstream
+ In specific condition, this can show about 10% ~ 30%
+ performance gain with non-d3d11 downstream element.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1643>
+
+2022-02-05 23:08:48 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/d3d11/gstd3d11.h:
+ * gst-libs/gst/d3d11/gstd3d11_fwd.h:
+ * gst-libs/gst/d3d11/gstd3d11stagingbufferpool.cpp:
+ * gst-libs/gst/d3d11/gstd3d11stagingbufferpool.h:
+ * gst-libs/gst/d3d11/meson.build:
+ d3d11: Add new buffer pool implementation for staging texture
+ staging buffer pool will allocate staging d3d11 texture
+ for upload/download optimization. By using staging buffer,
+ we can avoid per frame staging -> system memory copy operation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1643>
+
+2022-02-02 00:15:34 -0300 Martin Reboredo <yakoyoku@gmail.com>
+
+ * gst-libs/gst/vulkan/gstvkerror.c:
+ * gst-libs/gst/vulkan/gstvkerror.h:
+ gstvulkan: Expose gst_vulkan_result_to_string
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1623>
+
+2022-02-05 17:36:41 +0300 Igor V. Kovalenko <igor.v.kovalenko@gmail.com>
+
+ * meson_options.txt:
+ qroverlay: move to plugins that need external deps
+ qroverlay requires libqrencode dependency, move it next to similar plugins.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1642>
+
+2022-02-04 11:15:47 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ Back to development
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1635>
+
=== release 1.20.0 ===
2022-02-03 19:53:25 +0000 Tim-Philipp Müller <tim@centricular.com>
+ * ChangeLog:
* NEWS:
* README:
* RELEASE:
diff --git a/subprojects/gst-plugins-base/ChangeLog b/subprojects/gst-plugins-base/ChangeLog
index 25fdf7fe73..dbef781da9 100644
--- a/subprojects/gst-plugins-base/ChangeLog
+++ b/subprojects/gst-plugins-base/ChangeLog
@@ -1,7 +1,2828 @@
+2022-10-01 02:33:49 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst/playback/gstplaysink.c:
+ * gst/playback/gstplaysinkaudioconvert.c:
+ * gst/playback/gstplaysinkaudioconvert.h:
+ playsink: Hold a reference to the soft volume element
+ Always hold a reference to the soft volume element
+ provided by the playsinkaudioconvert bin helper, the
+ same as when volume is provided by a sink element,
+ or the soft volume element gets unreffed too soon.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3108>
+
+2022-10-01 04:51:21 +1000 Jan Schmidt <jan@centricular.com>
+
+ * sys/xvimage/xvimageallocator.c:
+ xvimagesink: Don't leak XvShmImage
+ If allocating an XvShmImage generates an X error, but
+ still returns some allocated memory, make sure to free it
+ so it doesn't leak.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3100>
+
+2022-10-01 04:49:16 +1000 Jan Schmidt <jan@centricular.com>
+
+ * sys/xvimage/xvcontext.c:
+ xvimagesink: Zero initialize mask array
+ Clear the stack array before setting bits to pass to
+ XISelectEvents(). Fixes spurious crash from an X error:
+ X Error of failed request: BadValue (integer parameter out of range for operation)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3100>
+
+2022-10-01 04:47:31 +1000 Jan Schmidt <jan@centricular.com>
+
+ * sys/xvimage/xvcontext.c:
+ xvimagesink: Don't leak temporary
+ Use a stack variable instead of a temporarily
+ malloced variable that wasn't being freed
+ properly. Fixes a small leak of a GstXvTouchDevice
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3100>
+
+2022-10-01 04:41:06 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst/playback/gstdecodebin3.c:
+ decodebin3: Make sure event is writable before modifying
+ Make sure we're operating on a private copy of an event when
+ modifying it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3107>
+
+2022-10-01 04:40:09 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst/playback/gsturisourcebin.c:
+ urisourcebin: Make sure event is writable before modifying.
+ Make sure we're operating on a private copy of an event before
+ modifying it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3107>
+
+2022-10-01 04:37:05 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst/playback/gstdecodebin3.c:
+ decodebin3: Don't lose a ref on EOS event
+ Make sure not to give away the ref on the final EOS
+ event for which the probe handler is returning GST_PAD_PROBE_REMOVE
+ when pushing the event manually.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3107>
+
+2022-09-30 00:10:25 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst-libs/gst/pbutils/descriptions.c:
+ * tests/check/libs/pbutils.c:
+ pbutils: descriptions: add meta/x-klv
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3094>
+
+2022-09-30 00:07:07 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst-libs/gst/pbutils/descriptions.c:
+ * tests/check/libs/pbutils.c:
+ pbutils: descriptions: fix gst_pb_utils_get_caps_description_flags()
+ And add a little unit test.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3094>
+
+2022-09-29 09:39:15 +0100 James Cowgill <james.cowgill@blaize.com>
+
+ * gst-libs/gst/tag/gstxmptag.c:
+ xmptag: Call gst_tag_register_musicbrainz_tags during init
+ We need to call this to register the MusixBrainz tags before we use
+ them in an XMP schema.
+ Fixes this critical when attempting to run jpegparse on a JPEG
+ containing MusicBrainz XMP tags:
+ GStreamer-CRITICAL **: 20:41:07.885: gst_tag_get_type: assertion 'info != NULL' failed
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3092>
+
+2022-09-29 14:36:38 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * tests/interactive/test-effect-switch.c:
+ test-effect-switch: Fix some memory leaks and make effect element ownership clearer
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3091>
+
+2018-03-28 17:54:15 +0200 Philipp Zabel <p.zabel@pengutronix.de>
+
+ * gst-libs/gst/audio/gstaudiodecoder.c:
+ * gst-libs/gst/audio/gstaudioencoder.c:
+ * gst-libs/gst/video/gstvideodecoder.c:
+ * gst-libs/gst/video/gstvideoencoder.c:
+ buffer: drop parent meta in deep copy/foreach_metadata
+ The purpose of a deep buffer copy is to be able to release the source
+ buffer and all its dependencies. Attaching the parent buffer meta to
+ the newly created deep copy needlessly keeps holding a reference to the
+ parent buffer.
+ The issue this solves is the fact you need to allocate more
+ buffers, as you have free buffers being held for no reason. In the good
+ cases it will use more memory, in the bad case it will stall your
+ pipeline (since codecs often need a minimum number of buffers to
+ actually work).
+ Fixes #283
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2928>
+
+2022-09-27 13:41:37 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gstdecodebin3.c:
+ decodebin3: Fix memory issues with active selection list
+ This had a couple of issues:
+ * The backing strings (from GstStream) could disappear
+ * The actual list wasn't properly reset/freed when decodebin3 was re-used
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3083>
+
+2022-09-21 19:19:45 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * meson.build:
+ meson: Use implicit builtin dirs in pkgconfig generation
+ Starting with Meson 0.62, meson automatically populates the variables
+ list in the pkgconfig file if you reference builtin directories in the
+ pkgconfig file (whether via a custom pkgconfig variable or elsewhere).
+ We need this, because ${prefix}/libexec is a hard-coded value which is
+ incorrect on, for example, Debian.
+ Bump requirement to 0.62, and remove version compares that retained
+ support for older Meson versions.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1245
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3061>
+
+2022-09-06 17:25:50 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst/videorate/gstvideorate.c:
+ * gst/videorate/gstvideorate.h:
+ * tests/validate/meson.build:
+ * tests/validate/videorate/duplicate_on_eos.validatetest:
+ * tests/validate/videorate/duplicate_on_eos/flow-expectations/log-videorate-sink-expected:
+ * tests/validate/videorate/duplicate_on_eos/flow-expectations/log-videorate-src-expected:
+ * tests/validate/videorate/duplicate_on_eos_disbaled.validatetest:
+ * tests/validate/videorate/duplicate_on_eos_disbaled/flow-expectations/log-videorate-sink-expected:
+ * tests/validate/videorate/duplicate_on_eos_disbaled/flow-expectations/log-videorate-src-expected:
+ * tests/validate/videorate/duplicate_on_eos_half_sec.validatetest:
+ * tests/validate/videorate/duplicate_on_eos_half_sec/flow-expectations/log-videorate-sink-expected:
+ * tests/validate/videorate/duplicate_on_eos_half_sec/flow-expectations/log-videorate-src-expected:
+ videorate: Add a `max-closing-segment-duplication-duration` property
+ This allows users to let videorate fully fill the segments when received
+ EOS or on new segment, removing an arbitrary limit of 25 duplicates which
+ might not be what the user wants (for example on low FPS stream in GES,
+ that sometimes leaded to broken behavior)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3000>
+
+2022-09-12 09:46:43 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * tools/meson.build:
+ meson: Set install_tag on some targets
+ Trying to follow recommendation from Meson documentation:
+ https://mesonbuild.com/Installing.html#installation-tags
+ Move tools into 'bin' or 'bin-devel' categories to keep only libs and
+ plugins in the default 'runtime' category. This simplifies distribution
+ of GStreamer application skipping parts that are not needed, similarly
+ to what Cerbero does by hardcoding huge list of files.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3017>
+
+2022-09-19 08:54:15 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst-libs/gst/video/video-converter.c:
+ video-converter: Fix doc
+ Argument names weren't correct
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3043>
+
+2022-09-09 16:57:18 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst/playback/gstdecodebin2.c:
+ decodebin2: Do not fail if one of the decoders isn't able to output the requested format
+ when expose-all=False
+ When trying to find an decoder in that case, we loop over the different
+ decoder factories, and check that it outputs a format that matches the
+ requested one (through the :caps property), but if we find a decoder
+ that do match but later on some other don't we end up failing
+ autopluging. This patch ensures that we still plug the decoder that can
+ work.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3011>
+
+2022-08-29 10:20:55 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/gl/meson.build:
+ gl:meson: Minor typo fix
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2954>
+
+2022-08-29 10:17:45 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/meson.build:
+ doc: Do not build plugins to build the doc
+ It is not actually necessary
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2954>
+
+2022-09-07 10:36:09 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst-libs/gst/pbutils/gstdiscoverer.c:
+ * gst/playback/gsturidecodebin.c:
+ discoverer: Fix discovering source that expose raw audio/video
+ Exposes a "uridecodebin:post-stream-topology" property as the discoverer
+ needs to have topology information about all streams so we need
+ `uridecodebin` to always plug decodebins for that case.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3009>
+
+2022-09-07 17:11:08 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst/playback/gsturidecodebin.c:
+ uridecodebin: Fix some property documentation syntax
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3009>
+
+2022-09-07 10:39:21 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst/playback/gsturidecodebin.c:
+ * tests/validate/meson.build:
+ * tests/validate/uridecodebin/expose_raw_pad_caps.validatetest:
+ uridecodebin: Ensure that pads caps are set before exposing them
+ We are supposed to guarantee that pads that are exposed have the caps
+ set, but for sources that have pad with "all raw caps" templates, we end
+ up exposing pads that don't have caps set yet, which can break code (in
+ GES for example).
+ To avoid that we let uridecodebin plug a `decodebin` after such pads and
+ let decodebin to handle that for us. In the end the only thing that
+ decodebin does in those cases is to wait for pads to be ready and expose
+ them, after that `uridecodebin` will expose those pads.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3009>
+
+2021-03-24 14:20:18 -0500 Zebediah Figura <z.figura12@gmail.com>
+
+ * meson.build:
+ meson: Build with -Wl,-z,nodelete to prevent unloading of dynamic libraries and plugins
+ GLib made the unfortunate decision to prevent libgobject from ever being
+ unloaded, which means that now any library which registers a static type
+ can't ever be unloaded either (and any library that depends on those,
+ ad nauseam).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/778>
+
+2022-07-06 04:18:37 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/video/video-format.c:
+ video-format: Workaround MSVC build error
+ ../gst-libs/gst/video/video-format.c(6779): error C2219: syntax error:
+ type qualifier must be after '*'
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2719>
+
+2022-09-07 16:35:38 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst/subparse/mpl2parse.c:
+ subparse: fix crash when parsing invalid timestamps in mpl2
+ Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=49245
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2989>
+
+2022-09-01 15:11:31 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * ext/alsa/meson.build:
+ * ext/cdparanoia/meson.build:
+ * ext/gl/meson.build:
+ * ext/libvisual/meson.build:
+ * ext/ogg/meson.build:
+ * ext/opus/meson.build:
+ * ext/pango/meson.build:
+ * ext/theora/meson.build:
+ * ext/vorbis/meson.build:
+ * gst/adder/meson.build:
+ * gst/app/meson.build:
+ * gst/audioconvert/meson.build:
+ * gst/audiomixer/meson.build:
+ * gst/audiorate/meson.build:
+ * gst/audioresample/meson.build:
+ * gst/audiotestsrc/meson.build:
+ * gst/compositor/meson.build:
+ * gst/encoding/meson.build:
+ * gst/gio/meson.build:
+ * gst/overlaycomposition/meson.build:
+ * gst/pbtypes/meson.build:
+ * gst/playback/meson.build:
+ * gst/rawparse/meson.build:
+ * gst/subparse/meson.build:
+ * gst/tcp/meson.build:
+ * gst/typefind/meson.build:
+ * gst/videoconvertscale/meson.build:
+ * gst/videorate/meson.build:
+ * gst/videotestsrc/meson.build:
+ * gst/volume/meson.build:
+ * meson.build:
+ * sys/ximage/meson.build:
+ * sys/xvimage/meson.build:
+ meson: Call pkgconfig.generate in the loop where we declare plugins dependencies
+ Removing some copy pasted code
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-09-01 11:51:48 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/meson.build:
+ * gst-libs/gst/allocators/meson.build:
+ * gst-libs/gst/app/meson.build:
+ * gst-libs/gst/audio/meson.build:
+ * gst-libs/gst/fft/meson.build:
+ * gst-libs/gst/gl/meson.build:
+ * gst-libs/gst/pbutils/meson.build:
+ * gst-libs/gst/riff/meson.build:
+ * gst-libs/gst/rtp/meson.build:
+ * gst-libs/gst/rtsp/meson.build:
+ * gst-libs/gst/sdp/meson.build:
+ * gst-libs/gst/tag/meson.build:
+ * gst-libs/gst/video/meson.build:
+ * meson.build:
+ meson: Namespace the plugins_doc_dep/libraries variables
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-08-31 18:44:14 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * meson.build:
+ meson: Rename plugins list and make them "dependency" objects
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-08-31 14:50:38 +0000 Ádám Balázs <broothy@gmail.com>
+
+ * gst/audioconvert/gstaudioconvert.c:
+ gstaudioconvert: doc: Fix mix-matrix example
+ mix-matrix should contain float elements, modify the example to do so
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2966>
+
+2022-08-30 14:29:41 +0200 Rafael Caricio <rafael@caricio.com>
+
+ * gst-libs/gst/pbutils/gstaudiovisualizer.c:
+ audiovisualizer: fix buffer mapping to not increase refcount
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2953>
+
+2022-08-23 19:12:17 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * sys/ximage/ximagesink.c:
+ * sys/xvimage/xvimagesink.c:
+ x(v)imagesink: Don't create invalid GstNavigationModifierType by simply passing through X11 event states
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2931>
+
+2022-07-22 13:41:17 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst/playback/gstrawcaps.h:
+ playback: add onvif metadata caps to raw caps
+ + remove encoding from x-onvif-metadata caps output by qtdemux
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2889>
+
+2022-08-23 16:02:31 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/videoconvertscale/gstvideoconvertscale.c:
+ videoconvert: fix passthrough on equivalent transfer
+ When the input info and output info are equal, except for the
+ transfer functions that are *not* equivalent, we need to set up
+ a converter as we won't be passthrough.
+ Fixes an assertion in that case.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2929>
+
+2022-08-17 12:53:02 +0200 Guillaume Desmottes <guillaume.desmottes@onestream.live>
+
+ * gst-libs/gst/video/video-converter.c:
+ * gst-libs/gst/video/video-converter.h:
+ * tests/check/libs/video.c:
+ base: video-converter: add accessors for input and output formats
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2905>
+
+2022-08-05 20:52:19 +0900 Seungha Yang <seungha@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst/videoconvertscale/gstvideoconvert.c:
+ * gst/videoconvertscale/gstvideoconvertscale.c:
+ * gst/videoconvertscale/gstvideoconvertscale.h:
+ * gst/videoconvertscale/gstvideoscale.c:
+ videoconvert,videoscale: Do conversion in videoconvert and scaling in videoscale
+ Keep behaving the same as before videoconvertscale port
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2778>
+
+2022-08-05 20:16:00 +0900 Seungha Yang <seungha@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst/videoconvertscale/gstvideoconvert.c:
+ * gst/videoconvertscale/gstvideoconvertscale.c:
+ * gst/videoconvertscale/gstvideoconvertscale.h:
+ * gst/videoconvertscale/gstvideoscale.c:
+ * tests/validate/convertscale/convert_disable_scale.validatetest:
+ * tests/validate/convertscale/convert_disable_scale/flow-expectations/log-converter-src-expected:
+ * tests/validate/convertscale/scale_disable_convert.validatetest:
+ * tests/validate/convertscale/scale_disable_convert/flow-expectations/log-scaler-src-expected:
+ * tests/validate/meson.build:
+ Revert "videoconvertscale: Add properties to disable scaling/converting in videoconvert/videoscale"
+ This reverts commit cd7a91cef1c6a2e24d440126b7f2ab543fb205c5.
+ Reverting properties, scaling in videoconvert and converting in
+ videoscale will be disabled by the other commit
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2778>
+
+2022-08-12 22:42:28 -0700 Khem Raj <raj.khem@gmail.com>
+
+ * gst/subparse/gstssaparse.c:
+ ssaparse: include required system headers for isspace() and sscanf() functions
+ Newer compilers ( clang 15 ) have turned stricter and errors out instead
+ of warning on implicit function declations
+ Fixes
+ gstssaparse.c:297:12: error: call to undeclared library function 'isspace' with type 'int (int)'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
+ while (isspace(*t))
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2879>
+
+2022-08-12 13:16:50 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/rtsp/gstrtspurl.c:
+ * tests/check/libs/rtsp.c:
+ rtspurl: Use gst_uri_join_strings() in gst_rtsp_url_get_request_uri_with_control() instead of a hand-crafted, wrong version
+ For example the query string of the base must not be taken over to the
+ request URL unless there is no control path, and control paths can be
+ absolute and must not be considered relative if they start with a /.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/971
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2868>
+
+2022-08-12 13:15:46 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * tests/check/libs/rtsp.c:
+ rtspurl: Use fail_unless_equals_string() in tests
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2868>
+
+2022-07-27 22:34:42 +1000 Jan Schmidt <jan@centricular.com>
+
+ * ext/pango/gstbasetextoverlay.c:
+ * ext/pango/gstbasetextoverlay.h:
+ basetextoverlay: Don't miscalculate text running times
+ When a new segment event arrives, it immediately updates
+ the current stored segment, which was used for calculating
+ the running time of the current text buffer for every
+ passing video frame. This means a segment that arrives
+ after the text buffer might get used to (mis)calculate
+ the running times subsequently.
+ Instead, calculate and store the right running time
+ using the current segment when storing the buffer. Later
+ the stored segment can get freely updated.
+ This fixes the case where pieces of video and text streams
+ are seamlessly concatenated and fed through the text overlay.
+ Previously, it could lead to the current text buffer suddenly
+ have a massive running time and blocking all further input.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2802>
+
+2022-08-09 18:06:41 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/opus/gstopusenc.c:
+ opusenc: improve inband-fec property documentation
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2853>
+
+2022-06-30 16:14:27 +0300 Jordan Petridis <jordan@centricular.com>
+
+ * ext/alsa/gstalsaplugin.c:
+ gstalsaplugin: return the result of the element registration
+ Previously there were branches that would return FALSE, however
+ it looks like we forgot to return the new result variable.
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/900
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2695>
+
+2022-01-22 02:35:36 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/encoding/gstsmartencoder.c:
+ smartencoder: fix detection of avc1
+ While avc1 is the FourCC, avc is the name used in caps
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1549>
+
+2022-01-22 02:29:54 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/playback/gstdecodebin2.c:
+ decodebin2: don't reverse stream topology order
+ This can be important for instance when a container holds multiple
+ tracks with the same media type, with no indication (eg tags) of
+ which track is the default one.
+ In that case, players usually pick the first track by default.
+ This is especially useful when using smart editing with GES, as
+ it will result in the same ordering as the input file that was
+ used as a template.
+ For reference, this yields the same order as ffprobe.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1549>
+
+2022-01-21 01:02:52 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/encoding/gstsmartencoder.c:
+ gstsmartencoder: don't make calculations for invalid DTS
+ Instead, as the current code relies on having a valid DTS (for lining
+ up passed through and re-encoded segments), simply compute a DTS
+ from the PTS if the DTS was invalid.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1549>
+
+2022-01-21 00:57:16 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst-libs/gst/pbutils/encoding-profile.c:
+ encoding-profile: don't order profiles by stream ID ..
+ when creating a profile from a discoverer info.
+ There is no justification for the existing code, and talking with
+ Thibault he cannot remember why the sort was in place.
+ On the other hand, this allows GES users to not have to implement
+ a callback for the select-tracks-for-object callback when using
+ it to trim a single clip, which the output profile was built from:
+ track elements will be placed in the appropriate track by default,
+ that is the one that will be connected to the matching profile.
+ For multi-clip timelines, the situation doesn't change, users will
+ still have to implement a callback and do the leg work of placing
+ track elements (if any) in a matching track (if any).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1549>
+
+2022-01-21 00:49:33 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst-libs/gst/pbutils/encoding-profile.c:
+ encoding-profile: ignore more output caps fields
+ chroma-format, bit-depth-chroma, bit-depth-luma are all informative
+ fields set by the H265 and H265 parser upon receiving an SPS.
+ They shouldn't be constrained downstream of the parser, instead
+ if a user wants those to ultimately match certain values they
+ should do so by constraining a profile.
+ In this case however, we also always remove the profile constraint
+ in order to let encoders pick a suitable one as a function of the
+ raw input video format and their own capabilities.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1549>
+
+2022-08-01 17:25:56 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gstparsebin.c:
+ parsebin: Avoid crash with unknown streams
+ With the new addition of handling unknown sream types we *could* end up with a
+ chain which doesn't have a current_pad (it's an intermediary one)
+ Fixes #1287
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2822>
+
+2022-05-25 18:40:30 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst-libs/gst/rtsp/gstrtspconnection.c:
+ rtsp+rtmp: Forward warning added to tls-validation-flags to our users
+ With the 2.72 release, glib-networking developers have decided that
+ TLS certificate validation cannot be implemented correctly by them, so
+ they've deprecated it.
+ In a nutshell: a cert can have several validation errors, but there
+ are no guarantees that the TLS backend will return all those errors,
+ and things are made even more complicated by the fact that the list of
+ errors might refer to certs that are added for backwards-compat and
+ won't actually be used by the TLS library.
+ Our best option is to ignore the deprecation and pass the warning onto
+ users so they can make an appropriate security decision regarding
+ this.
+ We can't deprecate the tls-validation-flags property because it is
+ very useful when connecting to RTSP cameras that will never get
+ updates to fix certificate errors.
+ Relevant upstream merge requests / issues:
+ https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2214
+ https://gitlab.gnome.org/GNOME/glib-networking/-/issues/179
+ https://gitlab.gnome.org/GNOME/glib-networking/-/merge_requests/193
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2494>
+
+2022-07-13 22:37:26 +0900 Seungha Yang <seungha@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ compositor: Update plugins cache
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1486>
+
+2022-01-18 21:21:23 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/compositor/compositor.c:
+ compositor: Warn when inputs are SDR/HDR mixed
+ Let user know that the result of mixed SDR/HDR is not guaranteed
+ to be a good visual quality.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1486>
+
+2021-11-24 20:21:52 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/compositor/blend.c:
+ * gst/compositor/blend.h:
+ * gst/compositor/compositor.c:
+ * gst/compositor/compositor.h:
+ compositor: Add support for all formats
+ For formats which we don't have fast-path implementation, compositor
+ will convert it to common unpack formats (AYUV, ARGB, AYUV64 and ARGB64)
+ then blending will happen using the intermediate formats.
+ Finally blended image will be converted back to the selected output format
+ if required.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1486>
+
+2021-11-20 00:41:52 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/compositor/blend.c:
+ * gst/compositor/blend.h:
+ * gst/compositor/compositor.c:
+ compositor: Add support for Y444 high bitdepth formats
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1486>
+
+2021-11-19 16:32:38 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/compositor/blend.c:
+ * gst/compositor/blend.h:
+ * gst/compositor/compositor.c:
+ * gst/compositor/compositororc-dist.c:
+ * gst/compositor/compositororc-dist.h:
+ * gst/compositor/compositororc.orc:
+ compositor: Add support for I420/I422 high bitdepth formats
+ Implementation for {I420,I422}_{10,12}_{LE,BE} formats
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1486>
+
+2021-11-19 21:46:43 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/compositor/blend.c:
+ * gst/compositor/compositor.c:
+ * gst/compositor/compositor.h:
+ compositor: Calculate background color only once
+ ... instead of do that per fill_color() call in case of RGB format.
+ Moreover, respect selected GstVideoColorRange
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1486>
+
+2022-07-27 15:42:44 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/rtsp/gstrtspconnection.c:
+ rtspconnection: protect cancellable by a mutex
+ It is entirely possible for the cancellable to be cancelled (and freed)
+ in gst_rtsp_connection_flush() while there may be an ongoing read/write
+ operation.
+ Nothing prevents gst_rtsp_connection_flush() from waiting for the
+ outstanding read/writes.
+ This could lead to a crash like (where cancellable has been freed
+ within gst_rtsp_connection_flush()):
+ #0 0x00007ffff4351096 in g_output_stream_writev (stream=stream@entry=0x7fff30002950, vectors=vectors@entry=0x7ffe2c6afa80, n_vectors=n_vectors@entry=3, bytes_written=bytes_written@entry=0x7ffe2c6af950, cancellable=cancellable@entry=0x7fff300288a0, error=error@entry=0x7ffe2c6af958) at ../subprojects/glib/gio/goutputstream.c:377
+ #1 0x00007ffff44b2c38 in writev_bytes (stream=0x7fff30002950, vectors=vectors@entry=0x7ffe2c6afa80, n_vectors=n_vectors@entry=3, bytes_written=bytes_written@entry=0x7ffe2c6afb90, block=block@entry=1, cancellable=0x7fff300288a0) at ../subprojects/gst-plugins-base/gst-libs/gst/rtsp/gstrtspconnection.c:1320
+ #2 0x00007ffff44b583e in gst_rtsp_connection_send_messages_usec (conn=0x7fff30001370, messages=messages@entry=0x7ffe2c6afcc0, n_messages=n_messages@entry=1, timeout=timeout@entry=3000000) at ../subprojects/gst-plugins-base/gst-libs/gst/rtsp/gstrtspconnection.c:2056
+ #3 0x00007ffff44d2669 in gst_rtsp_client_sink_connection_send_messages (sink=0x7fffac0192c0, timeout=3000000, n_messages=1, messages=0x7ffe2c6afcc0, conninfo=0x7fffac019610) at ../subprojects/gst-rtsp-server/gst/rtsp-sink/gstrtspclientsink.c:1929
+ #4 gst_rtsp_client_sink_try_send (sink=sink@entry=0x7fffac0192c0, conninfo=conninfo@entry=0x7fffac019610, requests=requests@entry=0x7ffe2c6afcc0, n_requests=n_requests@entry=1, response=response@entry=0x0, code=code@entry=0x0) at ../subprojects/gst-rtsp-server/gst/rtsp-sink/gstrtspclientsink.c:2845
+ #5 0x00007ffff44d3077 in do_send_data (buffer=0x7fff38075c60, channel=<optimized out>, context=0x7fffac042640) at ../subprojects/gst-rtsp-server/gst/rtsp-sink/gstrtspclientsink.c:3896
+ #6 0x00007ffff4281cc6 in gst_rtsp_stream_transport_send_rtp (trans=trans@entry=0x7fff20061f80, buffer=<optimized out>) at ../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-stream-transport.c:632
+ #7 0x00007ffff4278e9b in push_data (stream=0x7fff40019bf0, is_rtp=<optimized out>, buffer_list=0x0, buffer=<optimized out>, trans=0x7fff20061f80) at ../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-stream.c:2586
+ #8 check_transport_backlog (stream=0x7fff40019bf0, trans=0x7fff20061f80) at ../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-stream.c:2645
+ #9 0x00007ffff42793b3 in send_tcp_message (idx=<optimized out>, stream=0x7fff40019bf0) at ../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-stream.c:2741
+ #10 send_func (stream=0x7fff40019bf0) at ../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-stream.c:2776
+ #11 0x00007ffff7d59fad in g_thread_proxy (data=0x7fffbc062920) at ../subprojects/glib/glib/gthread.c:827
+ #12 0x00007ffff7a8ce2d in start_thread () from /lib64/libc.so.6
+ #13 0x00007ffff7b12620 in clone3 () from /lib64/libc.so.6
+ Fix by adding a cancellable lock and returning an extra reference used
+ across all read/write operations. gst_rtsp_connection_flush() can free
+ the in-use cancellable and it will no longer affect any in progress
+ read/write.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2799>
+
+2022-07-22 13:13:42 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/audiomixer/gstaudiointerleave.c:
+ audiointerleave: fix property docs
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2785>
+
+2022-07-23 02:49:20 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst-libs/gst/video/video-chroma.c:
+ video: Fix scaling in 4x horizontal co-sited chroma
+ 4x downscaling of chroma with co-sited chroma has never worked
+ it seems.
+ Fixes incorrect videotestsrc output and videoconvert conversions
+ to Y41B, YUV9, YVU9 and IYU9 with co-sited chroma.
+ e.g.
+ gst-launch-1.0 videotestsrc ! video/x-raw,format=Y41B,width=1280,height=720 ! \
+ videoconvert ! autovideosink
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2789>
+
+2022-07-02 06:08:57 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/video/gstvideoaggregator.c:
+ videoaggregator: Don't force upstream alpha format
+ "video/x-raw,format=RGBA ! some-video-filter ! video/x-raw,format=NV12"
+ is a very common case and therefore such erroring at baseclass
+ does not seem to be a desired behavior.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2703>
+
+2022-07-17 00:30:10 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/video/video-converter.c:
+ video-converter: Use primaries compare function
+ Avoid conversion if both color primaries are functionally equal
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2765>
+
+2022-07-16 23:36:22 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/video/video-color.c:
+ * gst-libs/gst/video/video-color.h:
+ * tests/check/libs/video.c:
+ video-color: Add primaries and colorimetry compare functions
+ SMPTE 170M and 240M use the same RGB and white point coordinates
+ and therefore both primaries can be considered functionally
+ equivalent.
+ Also, some transfer functions have different name but equal
+ gamma functions. Adding another colorimetry compare function
+ to deal with thoes cases at once
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2765>
+
+2022-07-12 14:47:20 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/gl/gstglimagesink.c:
+ glimagesink: only allow setting the GL display/context if it is a valid value
+ Otherwise, when setting the external application context, then the
+ display may be cleared and then not used and the asharing mechanism does
+ not work anymore.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2750>
+
+2022-07-07 23:40:22 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst-libs/gst/gl/gstglupload.c:
+ glupload: Add raw caps to sink pad when needed.
+ When checking if the current upload method can support
+ the requested caps filter in _transform_caps(),
+ make sure the sink pad reports raw caps.
+ Fixes #1311
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2725>
+
+2022-07-07 23:54:44 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst-libs/gst/gl/gstglupload.c:
+ gstglupload: Remove raw caps from individual methods
+ Raw memory upload should always be the least preferred input
+ caps, only added by the raw memory uploader as the last thing
+ in the caps.
+ Caps negotiation should still choose raw data when it needs to,
+ and other upload methods that can accept raw data buffers will still do so.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2725>
+
+2022-07-11 20:12:30 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst-libs/gst/video/gstvideoaggregator.c:
+ videoaggregator: always convert when user provides converter-config
+ The `converter-config` property may be used to perform cropping,
+ conversion should always be performed when the user set the property
+ to a non-NULL value.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2746>
+
+2022-07-08 20:49:21 +0200 Andoni Morales Alastruey <ylatuya@gmail.com>
+
+ * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+ glwindow_cocoa: fix a leak of the GstNSView
+ This leak is also causing a leak of the GstGLCAOpenGLLayer
+ which leaks the GstGLWrappedContext and the GstGLDisplay
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2736>
+
+2022-07-08 20:38:51 +0200 Andoni Morales Alastruey <ylatuya@gmail.com>
+
+ * gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+ gl: Fix leak of the whole CGL context
+ This was leaking the CGL context and several resources
+ allocated in the context, around 70MB for a 1080p clip
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2736>
+
+2022-06-14 12:22:22 +0200 Marc Leeman <m.leeman@televic.com>
+
+ * gst-libs/gst/video/video-format.c:
+ base: lookup RGB format without alpha
+ librfb requests a colour space for depth 32 and bpp 32 with alpha set to
+ 0x0, treat this the same as depth 24 with bpp 32.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2627>
+
+2022-07-04 17:27:50 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst/videoconvertscale/gstvideoconvertscale.c:
+ videoconvertscale: ensure writable caps when fixating format
+ gst_video_convert_scale_get_fixed_format() receives 'othercaps' from
+ basetransforms' fixate_caps() vmethod which explicitly mentions that
+ '`othercaps` may not be writable'.
+ The gst_caps_intersect() call just before may or may not produce new
+ caps. Particularly in cases like EMPTY or ANY caps on either of the
+ inputs, only a ref is taken and returned to the caller.
+ As a result, gst_video_convert_scale_fixate_format() may have attempted
+ to modify a non-writable caps structure.
+ Fix by adding a gst_caps_make_writable().
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2709>
+
+2022-06-30 00:39:50 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/subparse/samiparse.c:
+ samiparse: clean up some GString usage
+ There's no need to re-assign the return value of
+ g_string_append_*() functions and such to the variable
+ holding the GString. These return values are just for
+ convenience so function calls can be chained. The actual
+ GString pointer won't change, it's not a GList after all.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2685>
+
+2022-06-30 00:31:24 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/subparse/samiparse.c:
+ samiparse: micro-optimise entity handling
+ Avoid relocations and hard-code entity string length
+ in the struct, since we basically get it for free here.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2685>
+
+2022-06-30 00:13:19 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/subparse/samiparse.c:
+ * tests/check/elements/subparse.c:
+ samiparse: fix handling of self-closing tags
+ We would check the wrong string (rest of line rather than element)
+ for the / suffix of self-closing tags, which is not only wrong but
+ also has atrocious performance with certain strings like the garbled
+ nonsense clusterfuzz feeds us, which might cause discoverer to time
+ out when processing garbled SAMI files.
+ Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=47461
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2685>
+
+2022-07-01 23:57:08 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst-libs/gst/gl/gstglupload.c:
+ Revert "glupload: Fix caps query with no filter"
+ This reverts commit 6f9ae5d7580763b5d18badb76f2166ff0012886a.
+ The _transform_caps() function can't tell the difference
+ between the caller wanting to know the output caps
+ for the current method, or all possible output caps. If
+ it includes caps for all possible methods, glupload can
+ end up negotiating and sending the wrong output caps
+ downstream.
+ Partially reverts !2687
+ Fixes #1310
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2699>
+
+2022-06-28 09:38:34 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/gl/gstglvideomixer.c:
+ glvideomixer: Only consider property changes a geometry change if there as an actual change
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2669>
+
+2022-06-27 21:28:07 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/gl/gstglvideomixer.c:
+ glvideomixer: Add crop-{left,right,top,bottom} pad properties for cropping inputs
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2669>
+
+2022-06-30 09:02:00 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/sdp/gstsdpmessage.c:
+ sdpmessage: Don't set SDP medias from caps without media/payload/clock-rate fields
+ Previously it would've silently failed reading the payload/clock-rate
+ and instead would've used some random value that happened to be on the
+ stack.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2689>
+
+2022-06-30 12:50:17 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst-libs/gst/gl/gstglupload.c:
+ glupload: Fix caps query with no filter
+ If no filter caps are provided with a caps query, always
+ generate a full set of all caps from all upload methods,
+ not just the configured one. This is needed to handle
+ renegotiation when dealing with raw sysmem caps - as the upload
+ method might accept raw sysmem caps, but only the raw data
+ uploader adds those to the caps query.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2687>
+
+2022-06-30 12:46:31 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst-libs/gst/gl/gstglupload.c:
+ Revert "glupload: allow system memory for dmabuf in transform_caps"
+ This reverts commit f3292dc1561a8d62812c3f1a2bb3de5c5bb6a807.
+ Only the raw data uploader should add sysmem caps to the
+ actual caps query, because we want them to be at the
+ lowest priority. If upstream does select to send raw
+ caps, then the correct upload method will still
+ be chosen because the accept_caps implementation
+ will accept them
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2687>
+
+2022-06-30 18:41:01 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst-libs/gst/gl/gstglupload.c:
+ gl: Don't use the full transform_caps() method for reconfiguration check
+ When checking if we need to reconfigure when uploading, check
+ specifically the output caps of the current method will
+ result in compatible/incompatible caps, not the full set
+ of output caps from all upload methods.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2687>
+
+2022-06-30 08:42:43 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/video/video.h:
+ video: Include new video-sei.h in video.h
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2688>
+
+2022-06-29 10:55:13 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ coding style: allow declarations after statement
+ See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1243/
+ and https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/78
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2683>
+
+2022-06-16 10:19:17 +0000 James Hilliard <james.hilliard1@gmail.com>
+
+ * tests/validate/videorate/change_rate_reverse_playback.validatetest:
+ * tests/validate/videorate/change_rate_while_playing.validatetest:
+ videorate: remove property-value quotes
+ Fixes warnings like:
+ Received a structure string that contains '="0.5"'. Reading as a gdouble value, rather than a string value. This is undesired behaviour, and with GStreamer 1.22 onward, this will be interpreted as a string value instead because it is wrapped in '"' quotes. If you want to guarantee this value is read as a string, before this change, use '=(string)"0.5"' instead. If you want to read in a gdouble value, leave its value unquoted.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2621>
+
+2022-06-25 19:50:10 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * tests/check/meson.build:
+ tests: skip unit tests for dependency-less elements that have been disabled
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1136
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2660>
+
+2022-05-13 12:57:06 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * gst-libs/gst/video/video-frame.c:
+ * gst-libs/gst/video/video-frame.h:
+ * tests/check/libs/video.c:
+ GstVideoFrame: Add g_auto() support
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2412>
+
+2022-06-08 19:18:48 +0300 Vivia Nikolaidou <vivia@ahiru.eu>
+
+ * gst-libs/gst/video/video.c:
+ * gst-libs/gst/video/video.h:
+ avviddec, video.c, h265parse: Workaround for broken field-based interlaced encoders
+ Some encoders (e.g. Makito) have H265 field-based interlacing, but then
+ also specify an 1:2 pixel aspect ratio. That makes it kind-of work with
+ decoders that don't properly support field-based decoding, but makes us
+ end up with the wrong aspect ratio if we implement everything properly.
+ As a workaround, detect 1:2 pixel aspect ratio for field-based
+ interlacing, and check if making that 1:1 would make the new display
+ aspect ratio common. In that case, we override it with 1:1.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2577>
+
+2022-06-12 05:35:27 -0600 James Hilliard <james.hilliard1@gmail.com>
+
+ * gst/playback/gstdecodebin3-parse.c:
+ * gst/playback/gstdecodebin3.c:
+ decodebin3: fix EOS event sequence
+ See docs:
+ https://gstreamer.freedesktop.org/documentation/additional/design/seqnums.html?gi-language=c#seqnums-sequence-numbers
+ Per docs:
+ When a sink element receives an EOS event and creates a new EOS
+ message to post, it should copy the seqnum from the event to the
+ message because the EOS message is a consequence of the EOS event
+ being received.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2588>
+
+2022-04-06 12:56:30 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst-libs/gst/rtsp/gstrtspconnection.c:
+ * gst-libs/gst/video/gstvideodecoder.c:
+ * gst-libs/gst/video/gstvideoencoder.c:
+ * meson.build:
+ * tests/check/elements/audioresample.c:
+ Bump GLib requirement to >= 2.62
+ Can't require 2.64 yet because of
+ https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/323
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2568>
+
+2022-05-16 19:29:10 +0200 Andoni Morales Alastruey <ylatuya@gmail.com>
+
+ * gst-libs/gst/video/meson.build:
+ video: add new video-sei.h header to the list of video_headers
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458>
+
+2022-02-27 18:41:12 +0000 Andoni Morales Alastruey <ylatuya@gmail.com>
+
+ * gst-libs/gst/video/video-sei.c:
+ * gst-libs/gst/video/video-sei.h:
+ Fix documentation
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458>
+
+2022-02-17 15:55:19 +1100 Brad Hards <bradh@frogmouth.net>
+
+ * gst-libs/gst/video/video-sei.c:
+ * gst-libs/gst/video/video-sei.h:
+ h264parse: add unit test for Precision Time Stamp in SEI messages
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458>
+
+2022-02-17 15:55:19 +1100 Brad Hards <bradh@frogmouth.net>
+
+ * gst-libs/gst/video/video-sei.c:
+ h264parse: fix copying of data and UUID
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458>
+
+2021-12-19 19:14:05 +0100 Andoni Morales Alastruey <ylatuya@gmail.com>
+
+ * gst-libs/gst/video/meson.build:
+ * gst-libs/gst/video/video-sei.c:
+ * gst-libs/gst/video/video-sei.h:
+ h264parse: add support Precision Time Stamp in SEI messages
+ Expose User Data Unregistered as a new Meta and add
+ API to parse Precision Time Stamp (ST 0604).
+ Fixes #927
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458>
+
+2022-05-27 14:18:30 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/video/video-info.c:
+ video: Fix NV12_16L32 size calculation
+ The subsampling of the second plane was not taken into account, resulting in a
+ 16bit per pixel buffers instead of 12.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2512>
+
+2022-05-25 02:10:30 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/playback/gstplaybin3.c:
+ playbin3: Configure combiner on pad-added if needed
+ When collection is updated, decodebin3 exposes pad first and then
+ streams-selected message is posted.
+ The condition can cause a situation where playbin3 links non-existing
+ combiner/playsink pads (since streams-selected is not posted yet) with
+ new decodebin output pad. This commit will re-check selected/active
+ streams condition on pad-added and reconfigure output if needed.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2482>
+
+2022-05-23 21:24:40 -0400 Eli Schwartz <eschwartz@archlinux.org>
+
+ * gst-libs/gst/tag/meson.build:
+ meson: use better zlib dependency fallback
+ zlib is required, and if it isn't found it is checked several ways and
+ then forced via subproject(). This code was added in commit
+ b93e37592a3ccc0eaece1c8fef2d362b1e5fe685, to account for systems where
+ zlib doesn't have pkg-config files installed.
+ But Meson already does dependency fallback, and also, since 0.54.0, does
+ the in-between checks for find_library('z') and has_header('zlib.h') via
+ the "system" type dependency. Simplify dependency lookup by marking it
+ as required, which also makes sure that the console log doesn't
+ confusingly list "not found".
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2484>
+
+2022-05-19 12:17:59 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/pbutils/descriptions.c:
+ * gst-libs/gst/pbutils/descriptions.h:
+ pbutils: Add GST_PBUTILS_CAPS_DESCRIPTION_FLAG_METADATA and ONVIF XML Timed MetaData
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2453>
+
+2022-05-15 16:53:12 +0000 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/rtp/gstrtcpbuffer.c:
+ * gst-libs/gst/rtp/gstrtcpbuffer.h:
+ * tests/check/libs/rtp.c:
+ rtcpbuffer: Allow padding on first reduced size packets
+ It is valid to have the padding set to 1 on the first packet and it
+ happens very often from TWCC packets coming from libwebrtc. This means
+ that we were totally ignoring many TWCC packets.
+ Fix test that checked that a first packet with padding was not valid and
+ instead test a single twcc packet with padding to check precisely what
+ this patch was about.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2422>
+
+2022-05-13 13:31:55 +0200 Alicia Boya García <aboya@igalia.com>
+
+ * gst-libs/gst/app/gstappsink.c:
+ * tests/check/elements/appsink.c:
+ appsink: Fix race condition on caps handling
+ Background:
+ Whenever a caps event is received by appsink, the caps are stored in the
+ same internal queue as buffers. Only when enough buffers have been
+ popped from the queue to reach the caps, `priv->sample` gets its caps
+ updated to match, so that they are correct for the following buffers.
+ Note that as far as upstream elements are concerned, the caps of appsink
+ are updated immediately when the CAPS event is sent. Samples pulled from
+ appsink retain the old caps until a later buffer -- one that was sent by
+ upstream elements after the new caps -- is pulled.
+ The race condition:
+ When a flush is received, appsink clears the entire internal queue. The
+ caps of `priv->sample` are not updated as part of this process, and
+ instead remain as those of the sample that was last pulled by the user.
+ This leaves open a race condition where:
+ 1. Upstream sends a new caps event, and possibly some buffers for the
+ new caps.
+ 2. Upstream sends a flush (possibly from a different thread).
+ 3. Upstream sends a new buffer for the new caps. Since as far as
+ upstream is concerned, appsink caps are the new caps already, no new
+ CAPS event is sent.
+ 4. The appsink user pulls a sample, having not pulled before enough
+ samples to reach the buffers sent in step 1.
+ Bug: the pulled sample has the old caps instead of the new caps.
+ Fixing the race condition:
+ To avoid this problem, when a buffer is received after a flush,
+ `priv->sample`'s caps should be updated with the current caps before the
+ buffer is added to the internal queue.
+ Interestingly, before this patch, appsink already had code for this, in
+ gst_app_sink_render_common():
+ /* queue holding caps event might have been FLUSHed,
+ * but caps state still present in pad caps */
+ if (G_UNLIKELY (!priv->last_caps &&
+ gst_pad_has_current_caps (GST_BASE_SINK_PAD (psink)))) {
+ priv->last_caps = gst_pad_get_current_caps (GST_BASE_SINK_PAD (psink));
+ gst_sample_set_caps (priv->sample, priv->last_caps);
+ GST_DEBUG_OBJECT (appsink, "activating pad caps %" GST_PTR_FORMAT,
+ priv->last_caps);
+ }
+ This code assumes `priv->last_caps` is reset when a flush is received,
+ which makes sense, but unfortunately, there was no code in the flush
+ code path resetting it.
+ This patch adds such code, therefore fixing the race condition. A unit
+ test demonstrating the bug and testing its behavior with the fix has
+ also been added.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2413>
+
+2022-05-16 12:34:36 -0400 U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+ * gst-libs/gst/video/gstvideoaggregator.c:
+ videoaggregator: unref temporary caps
+ The "possible_caps" needs unref after finished using to
+ avoid memory leak.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2430>
+
+2022-05-05 02:54:37 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tools/gst-play.c:
+ tools: gst-play: Print position even if duration is unknown
+ Gives better visual feedback regarding position information
+ although duration is unknown, live streams for example.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2365>
+
+2022-05-09 16:21:55 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstglcontext.c:
+ * gst-libs/gst/gl/gstglcontext_private.h:
+ * gst-libs/gst/gl/gstglcontextquirks.c:
+ * gst-libs/gst/gl/meson.build:
+ gl/context: disable timer queries for ARM Mali-G52
+ Performing a timer query with a default framebuffer that is incomplete
+ (from using a surfaceless context) will produce GL errors. Disable the
+ timer query on this platform to avoid the errors.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2396>
+
+2022-05-07 04:43:49 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tools/gst-device-monitor.c:
+ tools: device-monitor: Print string property as-is without serialize
+ gst_value_serialize() does more than what's needed to printf-ing
+ especially when given GValue is already string. Just print string
+ value as-is without gst_value_serialize() to avoid unreadable
+ string print, especially for multi-bytes character encoding cases.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2387>
+
+2022-05-06 09:10:09 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gstplaybin3.c:
+ * gst/playback/gstplaysink.c:
+ * gst/playback/gstplaysink.h:
+ playbin3: Cleanup and refactor combiner sourcecombine
+ * Remove fields no longer used, or that can be replaced by smaller code
+ * Rename "channels" to a more meaningful "input pads"
+ * Directly handle/use combiner pads in the combiners instead of on the playbin3
+ main structure
+ Remove the corresponding combiner sinkpad whenever a uridecodebin3 source pad
+ goes away
+ * If used, store the corresponding combiner sink pad in the SourcePad helper
+ structure
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2384>
+
+2022-05-03 16:25:19 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gstparsebin.c:
+ parsebin: Don't modify inexistant GstStream
+ When handling exposing un-handled streams, we can only replace the GstStream for
+ those we are creating ourselves (i.e. the fallback collection).
+ Fixes assertions when the demuxer creates those streams
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2353>
+
+2022-05-03 16:08:39 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gstdecodebin3.c:
+ playbin3: Don't use unknown types for default selection
+ When creating a fallback default selection from a collection, don't attempt to
+ use unknown stream types
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2353>
+
+2022-05-03 13:37:31 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/audioconvert/gstaudioconvert.c:
+ audioconvert: If no channel-mask can be fixated then use a NONE channel layout
+ Otherwise this is generating caps without a channel-mask, which is
+ invalid for >1 channels and will always fail negotiation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2350>
+
+2022-05-02 14:36:03 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ doc: Update cache for NV12_4L4 and NV12_16LE32 gl support
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190>
+
+2022-04-14 15:02:11 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/gl/egl/gsteglimage.c:
+ * gst-libs/gst/gl/gstglcolorconvert.c:
+ * gst-libs/gst/gl/gstglcolorconvert.h:
+ * gst-libs/gst/gl/gstglformat.c:
+ * gst-libs/gst/gl/gstglmemory.h:
+ opengl: Add NV12_4L4 conversion support
+ This format is produced notably by Hantro G1/G2 HW. Using a shader instead of
+ the Hantro embedded converter helps reduce drastrictly the memory usage at a
+ relatively small GPU overhead.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190>
+
+2022-04-12 14:18:59 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/gl/egl/gsteglimage.c:
+ * gst-libs/gst/gl/gstglcolorconvert.c:
+ * gst-libs/gst/gl/gstglcolorconvert.h:
+ * gst-libs/gst/gl/gstglformat.c:
+ * gst-libs/gst/gl/gstglmemory.h:
+ opengl: Add NV12_16L32S conversion support
+ This adds a first detiling shader with initial support for
+ NV12_16L32S as produced by Mediatek decoders.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190>
+
+2022-04-13 14:54:40 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/gl/gstglsl.c:
+ glsl: Enable GLSL 1.30 if we have OpenGL 3.0/3.1
+ As implemented, we only support OpenGL 3 API from version 3.2. Though, there
+ is no issue enabling GLSL 1.30 even if we are going to restrict our API usage
+ to 2. This allows using texelFetch() on OpenGL 3.0 and 3.1 drivers.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190>
+
+2022-04-12 12:24:03 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/gl/egl/gsteglimage.c:
+ * gst-libs/gst/gl/gstglmemory.c:
+ * gst-libs/gst/gl/gstglutils.c:
+ opengl: Add low level support for tiled formats
+ This adds support for tiled format in stride and plane size
+ code.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190>
+
+2022-04-12 12:16:23 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/video/video-frame.c:
+ video: Port video frame to the new tile size helper
+ This is now moved to the library, so it can be used in multiple
+ places.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190>
+
+2022-04-12 12:14:03 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/video/video-format.c:
+ * gst-libs/gst/video/video-format.h:
+ video: Add a helper to get the tile size information
+ Since the addition of tiling format with subsampled tile size
+ (NV12_16L32S), getting the tile width/height shifts and tile
+ size have become more complex. Add a helper to extract and
+ scale this information for the selected plane and format.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190>
+
+2022-04-12 12:18:06 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/gl/egl/gsteglimage.c:
+ eglimage: Add missing NV21/61 support
+ Caps would allow that, but selecting this format would lead to
+ an "no reached" assertion in the code.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190>
+
+2022-04-27 10:18:39 +0100 Philippe Normand <philn@igalia.com>
+
+ * gst-libs/gst/video/gstvideodecoder.c:
+ videodecoder: release stream lock after handling gap events
+ The stream lock is taken before handling gap events but was not released in all
+ possible runtime situations. This issue was introduced in:
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1274
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2307>
+
+2022-04-28 15:32:27 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst/subparse/samiparse.c:
+ subparse: don't deref a potentially NULL variable
+ If the html SAMI data is malformed, then retrieving the attribute name
+ may fail. We then cannot retrieve the attribute value.
+ Fixes: https://oss-fuzz.com/testcase-detail/4700130671984640
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2317>
+
+2022-04-27 09:22:40 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gstparsebin.c:
+ * tools/gst-play.c:
+ parsebin: Expose streams of unknown type
+ This actually respects the existing `expose-all-streams` property by exposing
+ them and having them present in the stream collection (as streams of type
+ unknown).
+ Fixes #1179
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2309>
+
+2022-04-27 08:23:59 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gstplaybin2.c:
+ playbin2: Remove dead code
+ blacklisted_mimes has been empty for ages. Remove the code "using" it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2306>
+
+2022-04-21 02:04:57 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/pango/gsttimeoverlay.c:
+ * ext/pango/gsttimeoverlay.h:
+ timeoverlay: add support for reference timestamp time mode
+ + update date-time mode to actually use the timestamp that
+ was selected with the time-mode property
+ Co-authored-by: Sebastian Dröge <sebastian@centricular.com>
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2252>
+
+2022-04-27 02:08:00 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst-libs/gst/rtp/gstrtpbasepayload.c:
+ rtpbasepayload: always store input buffer meta before negotiation
+ The decision to store the input buffer depends on whether extensions
+ are to be added to the output buffer, I assume as an optimization.
+ This creates an issue for subclasses that call negotiate(), where
+ header_exts is actually populated, from their handle_buffer()
+ implementation: at chain time, no header extension has been negotiated
+ yet, which means that we don't add extensions to the first batch of
+ buffers that comes out.
+ Keep track of whether negotiate has been called (this is different
+ from the negotiated field) and always store the input buffer until
+ then. This fixes the issue while largely preserving the optimization.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2304>
+
+2022-04-24 23:19:00 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst/videoconvertscale/gstvideoconvertscale.c:
+ videoscale: Fix the src video info error in transfer_colorimetry_from_input()
+ Pipeline such as:
+ gst-launch-1.0 -vf videotestsrc ! video/x-raw,format=NV12,colorimetry=\(string\)bt709 \
+ ! videoscale ! video/x-raw,format=I420 ! fakesink
+ Always trigger a error:
+ ERROR video-info video-info.c:556:gst_video_info_from_caps: no width property given
+ Because it is called before the fixate_size(), the src caps' resolution
+ may be absent or not fixed. That causes that the src video info can not
+ be created correctly and we can not inherit the colorimetry and chroma-site
+ from the input caps.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2289>
+
+2022-04-26 10:58:08 +0200 Guillaume Desmottes <guillaume.desmottes@onestream.live>
+
+ * gst/videorate/gstvideorate.c:
+ videorate: fix assertion when pushing last and only buffer without duration
+ Fixing this pipeline:
+ gst-launch-1.0 filesrc location=sample.png ! pngdec ! videorate ! fakesink
+ - videorate receives a single buffer with pts = 0, duration = invalid;
+ - then it receives eos triggering this buffer to be pushed downstream;
+ - the pushing code was assuming that a duration was set, which is
+ impossible as we received a single buffer and no output framerate was
+ set either. So the best we can do is to push the buffer without
+ duration.
+ Fix #1177
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2296>
+
+2022-04-26 09:29:39 +0200 Edward Hervey <edward@centricular.com>
+
+ * ext/ogg/gstoggstream.c:
+ oggdemux: Protect against invalid framerates
+ This check wasn't done for all mappings.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2295>
+
+2022-03-07 08:46:57 -0500 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * gst-libs/gst/gl/meson.build:
+ Meson: Fix deprecation warnings
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1876>
+
+2022-04-21 11:41:43 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/videorate/gstvideorate.c:
+ Revert "videorate: Update the base time on segment updates"
+ This reverts commit 75b4809ebc23814009bebc70c775ab44d85decf2.
+ See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2186
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2254>
+
+2022-04-21 11:41:36 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * tests/check/elements/videorate.c:
+ Revert "videorate: Add test for segment update"
+ This reverts commit a76f38b2c7ddbed546bb058c32ebcf8a553c003f.
+ See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2186
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2254>
+
+2022-04-21 11:41:25 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/videorate/gstvideorate.c:
+ * tests/check/elements/videorate.c:
+ Revert "videorate: Only "close" the segment if it is discontinous"
+ This reverts commit 6f7922b4dbba5ed780e7b0988669a81848a9e333.
+ See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2186
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2254>
+
+2022-04-21 11:41:15 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/videorate/gstvideorate.c:
+ Revert "videorate: Drop incoming buffers that are outside of the segment"
+ This reverts commit 24fd80344dbc059b72e13d813ca82f414a9d6cce.
+ See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2186
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2254>
+
+2022-04-21 11:40:47 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * tests/check/elements/videorate.c:
+ Revert "videorate: Add unit test for closing a segment and opening a separate one"
+ This reverts commit 98f2a84a289ed4d4cfac9bc5c73182a56eefa99c.
+ See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2186
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2254>
+
+2020-11-26 18:18:52 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst-libs/gst/video/gstvideoaggregator.c:
+ videoaggregator: keep old buffer when processing a MISSING_DATA gap
+ GAP events flagged with MISSING_DATA are transformed into GAP buffers
+ flagged with CORRUPTED.
+ In these cases, it is preferable to simply keep rendering the previous
+ buffer (if there was one) instead of flashing the pad in and out of
+ view.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/708>
+
+2020-11-26 18:16:10 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/compositor/compositor.c:
+ compositor: fix prepare_frame obscuring check
+ A pad without a buffer or with a GAP buffer cannot obscure a
+ pad below it. Ignore those when considering whether a pad should
+ be drawn.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/708>
+
+2020-11-26 15:57:10 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/compositor/compositor.c:
+ compositor: a pad without a frame can't obscure the background
+ Skip those when considering whether the background should be
+ drawn
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/708>
+
+2022-04-20 16:25:49 -0500 Olivier Crête <olivier.crete@collabora.com>
+
+ * tests/check/elements/videoscale.c:
+ videoscale: Add test to ensure that non-scaled metas are kept
+ Just make sure that we're not breaking non-scaled metas
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1630>
+
+2022-02-02 15:28:15 +0000 James Cowgill <james.cowgill@blaize.com>
+
+ * tests/check/elements/videoscale.c:
+ videoscale: Add test for transform_meta function
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1630>
+
+2022-02-02 15:28:21 +0000 James Cowgill <james.cowgill@blaize.com>
+
+ * gst/videoconvertscale/gstvideoconvertscale.c:
+ videoscale: Don't copy scaled metas
+ Returning TRUE from the `transform_meta` function tells
+ GstBaseTransform to copy the meta into the new buffer. If videoscale
+ has already transformed a meta by scaling it, it should always return
+ FALSE to avoid duplicating the meta.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1630>
+
+2022-04-01 15:16:20 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * sys/ximage/ximagesink.c:
+ * sys/xvimage/xvimagesink.c:
+ x11: Fix unused variable warnings
+ These are emitted when XInput 2 is not available.
+ ```
+ ../subprojects/gst-plugins-base/sys/ximage/ximagesink.c: In function ‘gst_x_image_sink_handle_xevents’:
+ ../subprojects/gst-plugins-base/sys/ximage/ximagesink.c:696:29: warning: unused variable ‘state’ [-Wunused-variable]
+ 696 | GstNavigationModifierType state = GST_NAVIGATION_MODIFIER_NONE;
+ | ^~~~~
+ ../subprojects/gst-plugins-base/sys/ximage/ximagesink.c:694:35: warning: unused variable ‘touch_frame_open’ [-Wunused-variable]
+ 694 | gboolean pointer_moved = FALSE, touch_frame_open = FALSE;
+ | ^~~~~~~~~~~~~~~~
+ ../subprojects/gst-plugins-base/sys/xvimage/xvimagesink.c: In function ‘gst_xv_image_sink_handle_xevents’:
+ ../subprojects/gst-plugins-base/sys/xvimage/xvimagesink.c:427:35: warning: unused variable ‘touch_frame_open’ [-Wunused-variable]
+ 427 | gboolean pointer_moved = FALSE, touch_frame_open = FALSE;
+ | ^~~~~~~~~~~~~~~~
+ ../subprojects/gst-plugins-base/sys/xvimage/xvimagesink.c:426:29: warning: unused variable ‘state’ [-Wunused-variable]
+ 426 | GstNavigationModifierType state = GST_NAVIGATION_MODIFIER_NONE;
+ | ^~~~~
+ ```
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2093>
+
+2022-04-21 10:21:37 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * tests/validate/convertscale/convert_disable_scale.validatetest:
+ * tests/validate/convertscale/convert_disable_scale/flow-expectations/log-converter-src-expected:
+ * tests/validate/convertscale/scale_disable_convert.validatetest:
+ * tests/validate/convertscale/scale_disable_convert/flow-expectations/log-scaler-src-expected:
+ tests: convertscale: Do not log EOS events in validateflow
+ We already checked that we are getting an EOS before going back to ready
+ and adding the EOS at the end of the .validateflow is racy as the ERROR
+ message might reach the bus before it is logged.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2264>
+
+2022-04-14 09:48:14 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst/videoconvertscale/gstvideoconvert.c:
+ * gst/videoconvertscale/gstvideoconvertscale.c:
+ * gst/videoconvertscale/gstvideoconvertscale.h:
+ * gst/videoconvertscale/gstvideoscale.c:
+ * tests/validate/convertscale/convert_disable_scale.validatetest:
+ * tests/validate/convertscale/convert_disable_scale/flow-expectations/log-converter-src-expected:
+ * tests/validate/convertscale/scale_disable_convert.validatetest:
+ * tests/validate/convertscale/scale_disable_convert/flow-expectations/log-scaler-src-expected:
+ * tests/validate/meson.build:
+ videoconvertscale: Add properties to disable scaling/converting in videoconvert/videoscale
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/898>
+
+2021-05-21 18:55:25 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst/videoconvertscale/gstvideoconvert.c:
+ * gst/videoconvertscale/gstvideoconvertscale.c:
+ * gst/videoconvertscale/gstvideoconvertscale.h:
+ * gst/videoconvertscale/gstvideoscale.c:
+ videoconvertscale: Don't claim we can support any kind of memory
+ Since d0133a2d11566ff4c0cded7af8dfdff0046e0e8b "videoconvert: Allow
+ passthrough for ANY caps features" videoconvert will always claim that
+ it supports any kind of memory which is true in very specific case (when
+ it is running in passthrough mode). To get elements that autoplug
+ converters depending on the caps running in the pipeline (like
+ autovideoconvert), we need to have converters no lie about what they can
+ do when queried `accept_caps` or `query_caps`.
+ This still accepts any caps feature as before but it introduces
+ a restriction in the way we handle memory capsfeatures.
+ We keep previous behaviour in videoconvert and videoscale.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/898>
+
+2020-04-17 15:23:03 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst/meson.build:
+ * gst/videoconvert/gstvideoconvert.c:
+ * gst/videoconvert/meson.build:
+ * gst/videoconvertscale/README:
+ * gst/videoconvertscale/gstvideoconvert.c:
+ * gst/videoconvertscale/gstvideoconvert.h:
+ * gst/videoconvertscale/gstvideoconvertscale.c:
+ * gst/videoconvertscale/gstvideoconvertscale.h:
+ * gst/videoconvertscale/gstvideoconvertscaleplugin.c:
+ * gst/videoconvertscale/gstvideoscale.c:
+ * gst/videoconvertscale/gstvideoscale.h:
+ * gst/videoconvertscale/meson.build:
+ * gst/videoscale/README:
+ * gst/videoscale/meson.build:
+ * meson_options.txt:
+ Introduce the videocolorscale element
+ Now that videoconvert and videoscale's are both based on
+ GstVideoConverter and are using the exact same code, it makes much more
+ sense to have one element doing the two operation, and it can be
+ more efficient in some cases (one single path for both operations).
+ This removes the `videoscale` and `videoconvert` plugins but keeps the element
+ but makes them also do both operations (adding some APIs to each element).
+ There is a small change in API for the `videoscale:dither` property which
+ was previously a totally unused boolean, it is now an enum and is used.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/898>
+
+2022-04-07 19:36:25 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/sdp/gstsdpmessage.c:
+ sdp: Parse the RFC5576 Source-specific media SDP attributes into caps
+ The format of the caps fields is
+ ssrc-(SSRC_VALUE)-(ATTRIBUTE_NAME)=(ATTRIBUTE_VALUE)
+ .
+ Parsing of the attributes from the caps into the SDP is not implemented
+ as this depends not only a single stream's caps but on the whole rtpbin
+ configuration.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132>
+
+2022-04-18 18:53:45 +0900 Camilo Celis Guzman <camilo@pexip.com>
+
+ * ext/gl/gstglmixerbin.c:
+ gstglmixerbin: minor refactor of _find_element_pad_template
+ As suggested by @slomo, make the loop more readable and prevent returning
+ a garbage value to the caller from the previous implementation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2232>
+
+2022-03-25 10:18:34 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * meson.build:
+ Always define ENABLE_NLS
+ GLib guarantees libintl API is always available, provided by
+ proxy-libintl as last resort. GLib itself unconditionally define
+ ENABLE_NLS.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028>
+
+2022-03-25 10:20:24 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * gst-libs/gst/gettext.h:
+ * gst-libs/gst/gst-i18n-app.h:
+ * gst-libs/gst/gst-i18n-plugin.h:
+ Delete unused i18n headers
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028>
+
+2022-03-25 09:59:23 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * ext/alsa/gstalsaelement.c:
+ * ext/alsa/gstalsaplugin.c:
+ * ext/alsa/gstalsasink.c:
+ * ext/alsa/gstalsasrc.c:
+ * ext/cdparanoia/gstcdparanoiasrc.c:
+ * ext/gl/gstgltestsrc.c:
+ * ext/ogg/gstoggdemux.c:
+ * gst-libs/gst/audio/gstaudiobasesrc.c:
+ * gst-libs/gst/audio/gstaudiocdsrc.c:
+ * gst-libs/gst/gl/gstglbasesrc.c:
+ * gst-libs/gst/pbutils/descriptions.c:
+ * gst-libs/gst/pbutils/missing-plugins.c:
+ * gst-libs/gst/pbutils/pbutils.c:
+ * gst-libs/gst/tag/gsttagdemux.c:
+ * gst-libs/gst/tag/lang.c:
+ * gst-libs/gst/tag/tags.c:
+ * gst/encoding/gstencodebasebin.c:
+ * gst/encoding/gstencodingelements.c:
+ * gst/playback/gstdecodebin2.c:
+ * gst/playback/gstparsebin.c:
+ * gst/playback/gstplaybackelement.c:
+ * gst/playback/gstplaybackplugin.c:
+ * gst/playback/gstplaybin2.c:
+ * gst/playback/gstplaybin3.c:
+ * gst/playback/gstplaysink.c:
+ * gst/playback/gstplaysinkaudioconvert.c:
+ * gst/playback/gstplaysinkconvertbin.c:
+ * gst/playback/gstplaysinkvideoconvert.c:
+ * gst/playback/gsturidecodebin.c:
+ * gst/playback/gsturidecodebin3.c:
+ * gst/playback/gsturisourcebin.c:
+ * gst/tcp/gstmultifdsink.c:
+ * gst/tcp/gstmultihandlesink.c:
+ * gst/tcp/gstmultisocketsink.c:
+ * gst/tcp/gstsocketsrc.c:
+ * gst/tcp/gsttcpclientsink.c:
+ * gst/tcp/gsttcpclientsrc.c:
+ * gst/tcp/gsttcpserversink.c:
+ * gst/tcp/gsttcpserversrc.c:
+ * tools/gst-device-monitor.c:
+ * tools/gst-play.c:
+ Replace gst-i18n-*.h with gi18n-lib.h
+ GLib guarantees libintl is always present, using proxy-libintl as
+ last resort. There is no need to mock gettex API any more.
+ This fix static build on Windows because G_INTL_STATIC_COMPILATION must
+ be defined before including libintl.h, and glib does it for us as part
+ as including glib.h.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028>
+
+2022-03-25 11:21:03 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * tools/gst-play.c:
+ gst-play: Do not split translatable string
+ Concatenating N_() strings does not work with gi18n.h macro, was working
+ only with GStreamer's redefinition.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028>
+
+2021-12-08 11:48:08 +0000 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/gl/meson.build:
+ cuda: Factor out a public GstCUDA library
+ So applications and elements implemented outside GStreamer can reuse
+ our infrastructure
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1472>
+
+2022-04-19 11:05:05 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/video/video-format.c:
+ * gst-libs/gst/video/video-frame.c:
+ video: Fix possible overrun when iterating comp[] array
+ Fix 2 iterations that can overrun the array if the number of component is
+ equal to the size of the array.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2239>
+
+2022-04-19 10:53:15 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/video/video-frame.c:
+ Revert "video-frame: avoid possible out of bound memory access"
+ This reverts commit c4255f08f787ff6a41504b538fa4c2e911d40ec7.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2239>
+
+2022-04-18 15:44:47 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst-libs/gst/sdp/meson.build:
+ meson: Add -Wl,-rpath,${libdir} on macOS
+ We made the gstreamer installation prefix relocatable by picking up
+ plugins relative to the location of libgstreamer-1.0.dylib, similar to
+ how it's done for Windows:
+ https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1627
+ This had a lot of side-effects:
+ https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1051
+ https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/363
+ https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/371
+ https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/362
+ A partial fix for the cerbero side of these was:
+ https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/807
+ However, this relied on the consumers knowing that they need to add
+ `LC_RPATH` entries to the libdir of the prefix. This is done
+ automatically by build systems like Meson, but not by others, such as
+ Autotools, CMake, Cargo, XCode, etc. For those, we need to add the
+ RPATH entries to the gstreamer-1.0.pc file.
+ This also has the side-effect of fixing the loading of gstreamer rust
+ plugins on macOS:
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1159
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1149
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2218>
+
+2022-04-18 18:14:44 +0900 Camilo Celis Guzman <camilo@pexip.com>
+
+ * gst-libs/gst/video/video-frame.c:
+ video-frame: avoid possible out of bound memory access
+ Although the components' initialization code would fill in -1 to all
+ unset components, make the code a bit more defensive and check for an
+ index bound first.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2231>
+
+2021-11-12 20:13:10 +0100 Ruben Gonzalez <rgonzalez@fluendo.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ gst_plugin_load_file: force plugin reload if diff filename
+ If a file includes a new version of a plugin that exits in the
+ registry, the output of gst-inspect is incorrect. The output has the
+ correct version but incorrect filename, and element description.
+ This seems to have also fixed some documentation issues.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1344>
+
+2021-05-25 14:41:51 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
+
+ * gst/playback/gstdecodebin3.c:
+ decodebin3: fix collection leak
+ get_merged_collection() returns an owned stream collection and was
+ leaked in the else block.
+ Fix leak when running:
+ GST_TRACERS=leaks GST_DEBUG="GST_TRACER:7,leaks:6" gst-play-1.0 --use-playbin3 test.mkv
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/954>
+
+2022-04-15 14:03:08 +0900 hoonhee.lee <hoonhee.lee@lge.com>
+
+ * gst/playback/gstplaybin3.c:
+ playbin3: fix missing lock when unknown stream type in pad-removed cb
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2193>
+
+2022-04-14 15:21:48 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gstdecodebin3.c:
+ decodebin3: Don't duplicate stream selections
+ Make sure that the requested stream selection isn't identical to the current
+ one. If that's the case, just carry on as usual.
+ This avoids multiple `streams-selected` posting ... when the selection didn't
+ change.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2185>
+
+2022-04-14 18:44:48 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst-libs/gst/app/gstappsrc.c:
+ appsrc: fix annotations
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2188>
+
+2022-04-15 19:55:34 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/rtp/gstrtpbasepayload.c:
+ rtpbasepayload: Don't write header extensions if there's no corresponding input buffer for the packet
+ The GstRTPHeaderExtension API requires the input buffer to exist.
+ This can happen if the output packet is generated e.g. from a caps or
+ tags event like in the case for rtpgstpay.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2198>
+
+2022-04-14 20:10:46 +1000 Brad Hards <bradh@frogmouth.net>
+
+ * tests/interactive/audio-trickplay.c:
+ * tests/interactive/benchmark-appsink.c:
+ * tests/interactive/benchmark-appsrc.c:
+ * tests/interactive/benchmark-video-conversion.c:
+ * tests/interactive/input-selector-test.c:
+ * tests/interactive/meson.build:
+ * tests/interactive/output-selector-test.c:
+ * tests/interactive/playback/decodetest.c:
+ * tests/interactive/playback/test.c:
+ * tests/interactive/playback/test2.c:
+ * tests/interactive/playback/test3.c:
+ * tests/interactive/playback/test4.c:
+ * tests/interactive/playback/test5.c:
+ * tests/interactive/playback/test6.c:
+ * tests/interactive/playback/test7.c:
+ * tests/interactive/playbin-text.c:
+ * tests/interactive/position-formats.c:
+ * tests/interactive/stress-playbin.c:
+ * tests/interactive/stress-videooverlay.c:
+ * tests/interactive/test-box.c:
+ * tests/interactive/test-colorkey.c:
+ * tests/interactive/test-effect-switch.c:
+ * tests/interactive/test-header-compile:
+ * tests/interactive/test-overlay-blending.c:
+ * tests/interactive/test-resample.c:
+ * tests/interactive/test-reverseplay.c:
+ * tests/interactive/test-scale.c:
+ * tests/interactive/test-textoverlay.c:
+ * tests/interactive/test-videooverlay.c:
+ * tests/meson.build:
+ tests: rename 'icles' subdir to be more descriptive
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2178>
+
+2022-04-12 01:35:43 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tools/meson.build:
+ meson: gst-play: Restore Windows high-resolution timer support
+ Fix regression of the commit 2952a73f4083487f33ae83407bef5245d2f8fef2
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2154>
+
+2022-04-12 01:01:23 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tools/gst-play.c:
+ * tools/meson.build:
+ win32: Enable high-resolution timer for MinGW build
+ timeapi.h is missing in our MinGW toolchain. Include mmsystem.h
+ header instead, which defines struct and APIs in case of our MinGW
+ toolchain. Note that in case of native Windows10 SDK (MSVC build),
+ mmsystem.h will include timeapi.h
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2153>
+
+2022-04-12 15:23:08 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/rtp/gstrtpbasepayload.c:
+ Fix `transfer` gobject-introspection annotation typos
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2160>
+
+2022-04-10 10:55:02 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst/subparse/gstsubparseelement.c:
+ subparse: don't try to index string with -1
+ If the len of the string turns out to be 0, str[len - 1] resolved to
+ str[-1] which is not a good idea.
+ Fixes: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=46543
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2147>
+
+2022-04-08 11:10:49 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/ogg/gstoggstream.c:
+ * ext/ogg/vorbis_parse.c:
+ * ext/ogg/vorbis_parse.h:
+ ogg: fix possible buffer overrun
+ If an ogg stream does not match our expectations of how the end of a
+ buffer may be structured, it was possible to read memory past the end of
+ the buffer parsed by libogg. Include a bounds check for this case and
+ stop parsing.
+ Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3930
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2134>
+
+2022-04-08 01:52:32 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst-libs/gst/rtp/gstrtpbasepayload.c:
+ rtpbasepayload: fix transfer annotation for push and push_list
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2133>
+
+2022-04-07 10:08:37 +0900 hoonhee.lee <hoonhee.lee@lge.com>
+
+ * gst-libs/gst/riff/riff-media.c:
+ riff-media: fix memory leak after usage for g_strjoin
+ This leak is observed with valgrind.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2129>
+
+2022-04-06 18:08:46 +0200 Bastian Krause <bst@pengutronix.de>
+
+ * ext/gl/gstgltransformation.c:
+ * ext/gl/gstgltransformation.h:
+ gltransformation: let graphene alloc its structures memory aligned
+ With NEON instructions enabled, graphene expects the memory passed to it
+ 16-byte-aligned. Otherwise unaligned memory access faults occur causing
+ SIGBUS signals.
+ graphene has alloc functions for its structures that take care of this,
+ so use them.
+ See also: https://github.com/ebassi/graphene/issues/215#issuecomment-794744829
+ Suggested-by: Sebastian Dröge <sebastian@centricular.com>
+ Signed-off-by: Bastian Krause <bst@pengutronix.de>
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1321>
+
+2022-04-04 10:46:24 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst-libs/gst/app/gstappsrc.c:
+ appsrc: Clarify buffer ref semantics in signals
+ The documentation could be read to mean that the caller continuous to
+ 'own' the buffer, and that there is some other mechanism to find out
+ when to unref it.
+ Clarify that "not taking ownership" here means "taking a reference",
+ and specify that you can unref it at any time after calling the
+ function.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2110>
+
+2021-01-21 16:01:38 +0800 Zhao Zhili <quinkblack@foxmail.com>
+
+ * tests/examples/gl/gtk/gstgtk.c:
+ * tests/examples/playback/playback-test.c:
+ examples: fix build on macOS with gtk+-quartz-3.0
+ gdk_quartz_window_get_nsview is not declared in the header file now:
+ error: implicit declaration of function 'gdk_quartz_window_get_nsview'
+ is invalid in C99 [-Werror,-Wimplicit-function-declaration]
+ fixes #979
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2095>
+
+2022-04-01 21:47:59 +0800 Haihua Hu <jared.hu@nxp.com>
+
+ * ext/gl/gstglelement.c:
+ * sys/ximage/ximage.c:
+ * sys/xvimage/xvimage.c:
+ * tests/check/elements/glfilter.c:
+ * tests/check/elements/glimagesink.c:
+ * tests/check/elements/glmixer.c:
+ * tests/check/elements/glstereo.c:
+ * tools/gst-play.c:
+ ximagesink/xvimagesink: use GST_XINITTHREADS to ensure call to XInitThreads
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2098>
+
+2022-03-30 11:06:02 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * meson.build:
+ Use gmodule-no-export-2.0
+ We don't need `-Wl,--export-dynamic`, that's used only for executables
+ that needs to export an API to be used by plugins they load.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031>
+
+2022-03-25 15:00:20 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * ext/alsa/meson.build:
+ * ext/cdparanoia/meson.build:
+ * ext/libvisual/meson.build:
+ * ext/ogg/meson.build:
+ * ext/opus/meson.build:
+ * ext/pango/meson.build:
+ * ext/theora/meson.build:
+ * ext/vorbis/meson.build:
+ * gst-libs/gst/sdp/meson.build:
+ * gst/tcp/meson.build:
+ * gst/videoscale/meson.build:
+ * gst/videotestsrc/meson.build:
+ * gst/volume/meson.build:
+ * meson.build:
+ * sys/ximage/meson.build:
+ * sys/xvimage/meson.build:
+ * tests/check/meson.build:
+ * tests/examples/app/meson.build:
+ * tests/examples/audio/meson.build:
+ * tests/examples/decodebin_next/meson.build:
+ * tests/examples/dynamic/meson.build:
+ * tests/examples/encoding/meson.build:
+ * tests/examples/fft/meson.build:
+ * tests/examples/gio/meson.build:
+ * tests/examples/overlay/meson.build:
+ * tests/examples/playback/meson.build:
+ * tests/examples/playrec/meson.build:
+ * tests/examples/seek/meson.build:
+ * tests/examples/snapshot/meson.build:
+ * tools/meson.build:
+ Remove glib and gobject dependencies everywhere
+ They are part of gst_dep already and we have to make sure to always have
+ gst_dep. The order in dependencies matters, because it is also the order
+ in which Meson will set -I args. We want gstreamer's config.h to take
+ precedence over glib's private config.h when it's a subproject.
+ While at it, remove useless fallback args for gmodule/gio dependencies,
+ only gstreamer core needs it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031>
+
+2022-03-31 12:47:06 +0200 Xabier Rodriguez Calvar <calvaris@igalia.com>
+
+ * gst-libs/gst/gl/gstglcolorconvert.c:
+ glcolorconvert: should copy metadatas from the incoming buffer
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2094>
+
+2022-04-01 10:25:23 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/playback/gstplaybin2.c:
+ * gst/playback/gstplaybin3.c:
+ playbin/playbin3: Allow setting a NULL URI
+ The URI is already initialized to NULL at the beginning and GstPlayer
+ was assuming that it is possible to set to NULL at a later time too.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1124
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2090>
+
+2022-03-31 23:41:41 +0200 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/video/navigation.c:
+ * gst-libs/gst/video/navigation.h:
+ navigation: Rename parse_state to parse_modifier_state
+ `parse_state` sounds a bit weird and `parse_modifier_state` is clearer.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2087>
+
+2022-03-29 17:51:13 +0200 Stéphane Cerveau <scerveau@collabora.com>
+
+ * gst-libs/gst/gl/meson.build:
+ * tests/check/libs/gstglmatrix.c:
+ * tests/check/meson.build:
+ base:gl: add x11 deps to gstglx11_dep
+ On MacOS with homebrew the xlib-xcb.h is in
+ own cellar /opt/homebrew/Cellar/libx11/1.7.3.1/include
+ Need to add the windowing dependencies to gl tests
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2061>
+
+2020-03-30 15:16:29 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * tests/examples/overlay/meson.build:
+ overlay: Fix qt support detection
+ On Ubuntu moc-qt5 command is called moc. This requires Meson 0.54.0 for
+ the new has_tools() method.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2075>
+
+2022-03-29 22:16:14 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tools/gst-play-kb.c:
+ gst-play: Improve Win32 keyboard input handling
+ The console HANDLE will be keep signalled state unless application
+ reads console input buffer immediately. So we should read and flush
+ console input buffer from the thread where the event is signalled,
+ instead of GMain context thread.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2058>
+
+2021-09-11 12:17:56 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * meson.build:
+ * tools/meson.build:
+ tools: Add support for building gstreamer tools against gst-full
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1581>
+
+2022-03-28 18:43:27 +0200 Enrique Ocaña González <eocanha@igalia.com>
+
+ * gst/playback/gstplaysink.c:
+ playsink: improve GL context sharing
+ Configure playsink tried element with the bus of the main pipeline.
+ That tried element can be a gl video sink, which would benefit from being
+ able to propagate context messages to the main pipeline and have other
+ internal pipeline elements configured with it. Having different elements
+ configured with the same GL context allows them to share buffers with
+ video/x-raw(memory:GLMemory) caps and achieving zero-copy.
+ Thanks to Alicia Boya García <aboya@igalia.com> for her work co-debugging
+ the issue and contributing to find a solution.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2056>
+
+2021-06-09 11:25:36 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gsturisourcebin.c:
+ urisourcebin: When streams-aware, remove pads immediately
+ For the same reason we add them immediately
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1905>
+
+2021-06-08 14:31:10 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gsturisourcebin.c:
+ urisourcebin: Don't wait for pads content when streams-aware
+ If the adaptive demux is streams-aware it can add/remove pads at any point in
+ time without the need for no-more-pads or data blocking
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1905>
+
+2021-05-29 07:31:15 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gsturisourcebin.c:
+ urisourcebin: Don't do buffering if source already does
+ Sources that can internally handle buffering shouldn't have yet-another
+ buffering element after it. This can be simply detected by checking if it can
+ answer a TIME BUFFERING query just after creation.
+ If that is the case, we can expose the element source pads directly
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1905>
+
+2021-05-28 07:49:10 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gstdecodebin3.c:
+ decodebin3: Handle upstream selection
+ Detect if upstream handles stream-selection, and if so bypass all stream
+ selection handling (streams are forwarded as-is).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1905>
+
+2022-03-28 12:13:12 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst-libs/gst/pbutils/descriptions.c:
+ pbutils: Fix wmv screen detection
+ strncmp vs !strncmp :)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2050>
+
+2022-03-28 10:10:45 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst-libs/gst/video/video-format.h:
+ video-format: Move NV12_8L128 into the correct position in GST_VIDEO_FORMATS_ALL
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2045>
+
+2022-03-16 10:31:56 +0000 Corentin Damman <c.damman@intopix.com>
+
+ * gst/rawparse/gstrawvideoparse.c:
+ rawvideoparse: set format from caps in gst_raw_video_parse_set_config_from_caps
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1970>
+
+2022-03-27 16:35:14 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/gl/gstglmixerbin.c:
+ glmixerbin: slightly better pad/element creation
+ Use the return value from gst_element_link_pads() and gst_bin_add()
+ Fixes:
+ ../ext/gl/gstglmixerbin.c:305:12: error: variable 'res' set but not used [-Werror,-Wunused-but-set-variable]
+ gboolean res = TRUE;
+ ^
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2038>
+
+2022-03-25 13:00:13 +0100 Stéphane Cerveau <scerveau@collabora.com>
+
+ * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+ gl: cocoa: fix warnings of unused variables
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2026>
+
+2022-03-18 16:59:32 +0000 Thibault Saunier <tsaunier@igalia.com>
+
+ * ext/gl/gstglimagesink.c:
+ * gst-libs/gst/video/navigation.c:
+ * gst-libs/gst/video/navigation.h:
+ * sys/ximage/ximagesink.c:
+ * sys/xvimage/xvimagesink.c:
+ * tests/check/libs/navigation.c:
+ * tests/examples/playback/playback-test.c:
+ navigation: Add support for key Modifiers in all relevant events
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2010>
+
+2022-03-24 13:01:52 +0100 Vivienne Watermeier <vwatermeier@igalia.com>
+
+ * gst-libs/gst/video/navigation.c:
+ * gst-libs/gst/video/navigation.h:
+ navigation: Add missing annotation to send_event_simple
+ Adds the missing "transfer full" annotation for the event argument.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2017>
+
+2022-03-22 21:13:31 +0100 Vivienne Watermeier <vwatermeier@igalia.com>
+
+ * sys/xvimage/meson.build:
+ * sys/xvimage/xvcontext.c:
+ * sys/xvimage/xvcontext.h:
+ * sys/xvimage/xvimagesink.c:
+ xvimagesink: Add touch event support
+ Send touch events for XI_TouchBegin, XI_TouchEnd, and XI_TouchUpdate
+ events, grouping events with identical timestamps into one TOUCH_FRAME.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633>
+
+2022-02-03 15:01:46 +0100 Vivienne Watermeier <vwatermeier@igalia.com>
+
+ * meson_options.txt:
+ * sys/meson.build:
+ * sys/ximage/meson.build:
+ * sys/ximage/ximagesink.c:
+ * sys/ximage/ximagesink.h:
+ ximagesink: Add touch event support
+ Send touch events for XI_TouchBegin, XI_TouchEnd, and XI_TouchUpdate
+ events, grouping events with identical timestamps into one TOUCH_FRAME.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633>
+
+2022-01-31 20:25:23 +0100 Vivienne Watermeier <vwatermeier@igalia.com>
+
+ * gst-libs/gst/video/navigation.c:
+ * gst-libs/gst/video/navigation.h:
+ navigation: Add API for touchscreen events
+ Add 5 new navigation event types for touchscreen events, with the same
+ naming and meaning as in libinput - touch-down, touch-motion, touch-up,
+ touch-frame and touch-cancel - as well as constructors and parse
+ functions for them.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633>
+
+2022-02-14 16:08:23 +0100 Vivienne Watermeier <vwatermeier@igalia.com>
+
+ * ext/gl/gstglimagesink.c:
+ * ext/gl/gstglsinkbin.c:
+ * ext/gl/gstgltransformation.c:
+ * gst/playback/gstplaybin2.c:
+ * gst/playback/gstplaybin3.c:
+ * gst/playback/gstplaysink.c:
+ * gst/videoscale/gstvideoscale.c:
+ * sys/ximage/ximagesink.c:
+ * sys/xvimage/xvimagesink.c:
+ * tests/check/libs/navigation.c:
+ * tests/examples/playback/playback-test.c:
+ all: Use new navigation interface and API
+ Use and implement the new navigation interface in all relevant sink elements,
+ and use API functions everywhere instead of directy accessing the event structure.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633>
+
+2022-02-14 14:22:29 +0100 Vivienne Watermeier <vwatermeier@igalia.com>
+
+ * gst-libs/gst/video/navigation.c:
+ * gst-libs/gst/video/navigation.h:
+ navigation: Add coordinate helper functions
+ Add a function to get x/y coordinates from suitable navigation events,
+ and one to create a copy with given coordinate values.
+ For e.g. translating event coordinates, this avoids having to either
+ switch on the event type to select the right parse function, or
+ having to rely on implementation details of the underlying event
+ structure.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633>
+
+2022-02-14 14:06:12 +0100 Vivienne Watermeier <vwatermeier@igalia.com>
+
+ * gst-libs/gst/video/navigation.c:
+ * gst-libs/gst/video/navigation.h:
+ * tests/check/libs/struct_aarch64.h:
+ * tests/check/libs/struct_arm.h:
+ * tests/check/libs/struct_i386.h:
+ * tests/check/libs/struct_i386_osx.h:
+ * tests/check/libs/struct_ppc32.h:
+ * tests/check/libs/struct_ppc64.h:
+ * tests/check/libs/struct_x86_64.h:
+ navigation: Improve interface to avoid exposing implementation details
+ This deprecates the current send_event interface, and the wrapper
+ functions based on it, replacing it with a send_event_simple interface and
+ wrapper function. Together with the new event constructors, this avoids
+ implementations having to directly access the underlying structure.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633>
+
+2022-03-18 16:34:38 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ doc: Update cache after NV12_8L128 addition
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1379>
+
+2021-08-12 11:00:11 +0800 Ming Qian <ming.qian@nxp.com>
+
+ * gst-libs/gst/video/video-converter.c:
+ * gst-libs/gst/video/video-format.c:
+ * gst-libs/gst/video/video-format.h:
+ * gst-libs/gst/video/video-info.c:
+ * tests/check/elements/videoscale.c:
+ * tests/check/libs/video.c:
+ video: Add support for linear 8x128 NV12 tiles and 10bit BE tiles
+ This adds linear 8x128 NV12 based tiles and NV12 10bit big endian tiles.
+ These formats are used by i.MX 8QXP/8QM VPU and exposed in V4L2.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1379>
+
+2022-03-18 13:42:27 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * meson.build:
+ meson: Bump all meson requirements to 0.60
+ Lots of new warnings ever since
+ https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1934
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1977>
+
+2022-03-18 20:43:24 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/pbutils/gstdiscoverer-types.c:
+ discoverer: chain up to parent finalize methods in all our types
+ Fixes a memory leak:
+ Direct leak of 32 byte(s) in 1 object(s) allocated from:
+ #0 0x5ac5cd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:129:3
+ #1 0x1007007 in g_malloc /work/glib-2.72.0/_builddir/../glib/gmem.c:125:13
+ #2 0xf82e82 in g_data_set_internal /work/glib-2.72.0/_builddir/../glib/gdataset.c:464:8
+ #3 0xf833f7 in g_datalist_id_set_data_full /work/glib-2.72.0/_builddir/../glib/gdataset.c:670:3
+ #4 0xef81be in g_object_notify_queue_freeze /work/glib-2.72.0/_builddir/../gobject/gobject.c:295:7
+ #5 0xef79c6 in g_object_unref /work/glib-2.72.0/_builddir/../gobject/gobject.c:3632:16
+ #6 0x5e58bf in LLVMFuzzerTestOneInput /src/gstreamer/ci/fuzzing/gst-discoverer.c:132:5
+ #7 0x4dd1a2 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15
+ #8 0x4dc98a in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool, bool*) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:514:3
+ #9 0x4de6c4 in fuzzer::Fuzzer::ReadAndExecuteSeedCorpora(std::__Fuzzer::vector<fuzzer::SizedFile, std::__Fuzzer::allocator<fuzzer::SizedFile> >&) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:809:5
+ #10 0x4dea29 in fuzzer::Fuzzer::Loop(std::__Fuzzer::vector<fuzzer::SizedFile, std::__Fuzzer::allocator<fuzzer::SizedFile> >&) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:857:3
+ #11 0x4ce4a0 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:912:6
+ #12 0x4f6f52 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10
+ #13 0x7f1c709980b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x240b2)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1984>
+
+2022-01-17 16:10:37 +0100 Vivienne Watermeier <vwatermeier@igalia.com>
+
+ * ext/gl/gstglvideomixer.c:
+ * tests/check/libs/gstglvideomixerelement.c:
+ * tests/check/meson.build:
+ glvideomixerelement: send translated navigation events to the relevant sink pads
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1495>
+
+2022-01-05 19:33:06 +0100 Vivienne Watermeier <vwatermeier@igalia.com>
+
+ * gst/compositor/compositor.c:
+ * tests/check/elements/compositor.c:
+ compositor: send translated navigation events to the relevant sink pads
+ Fixes #888
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1495>
+
+2022-03-15 13:59:16 +0100 Corentin Noël <tintou@noel.tf>
+
+ * gst-libs/gst/audio/gstaudiodecoder.h:
+ * gst-libs/gst/audio/gstaudioringbuffer.c:
+ * gst-libs/gst/audio/gstaudiosink.h:
+ * gst-libs/gst/audio/gstaudiosrc.h:
+ * gst-libs/gst/video/gstvideoaggregator.h:
+ * gst-libs/gst/video/video-chroma.c:
+ * gst-libs/gst/video/video-scaler.c:
+ gst-plugins-base: Fix several annotations
+ Add annotations for virtual methods when possible.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1965>
+
+2021-12-16 18:41:38 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * ext/opus/gstopusenc.c:
+ opusenc: change default bitrate-type from cbr to constrained-vbr
+ Which is the default in libopus itself as well, with a comment
+ that constrained-vbr is considered "safer for real-time use".
+ Unclear why CBR was the default in the first place.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1451>
+
+2022-03-15 12:57:49 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst-libs/gst/rtp/gstrtpbuffer.c:
+ rtpbuffer: The out args for rtp extension data are optional
+ The code checks that these are != NULL before dereferencing them.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1962>
+
+2022-03-10 10:25:53 +0100 Bastien Nocera <hadess@hadess.net>
+
+ * gst-libs/gst/video/convertframe.c:
+ * meson.build:
+ convertframe: Add support for GL-memory backend GstFrame input
+ Add "gldownload" early in the pipeline so that GL-memory backed raw
+ frames can be downloaded and processed on the CPU.
+ Closes: #1073
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1916>
+
+2022-03-11 18:08:14 -0500 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * gst-libs/gst/gl/meson.build:
+ Meson: Set install_tag on some files
+ Meson tries to guess the tag (runtime, devel, etc) for every installed
+ file, but it cannot guess them all. There is a list at the end of
+ meson-log.txt of files we need to tag manually.
+ See https://mesonbuild.com/Installing.html#installation-tags.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1934>
+
+2022-03-02 03:45:48 +1100 Jan Schmidt <jan@centricular.com>
+
+ * gst/playback/gstplaybin3.c:
+ playbin3: Remove stale code
+ Remove now-unused get_stream_type_for_event() function.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1900>
+
+2022-01-21 16:23:38 +0100 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gstdecodebin3.c:
+ decodebin3: Reset parsebin when new caps arrive
+ Check if parsebin can handle the new caps, and if not reset it so that it can
+ reconfigure itself for the new stream format.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1900>
+
+2022-03-09 10:15:08 +0100 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gstdecodebin3.c:
+ decodebin3: Convert checks to assertions
+ "decodebin.input" is never resetted and should always be present, therefore make
+ it an assertion check
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1900>
+
+2022-01-21 14:52:07 +0100 Edward Hervey <edward@centricular.com>
+
+ * gst/playback/gstparsebin.c:
+ parsebin: Implement ACCEPT_CAPS handling
+ The default query handler would go through typefind, which by default accepts
+ any CAPS. But once configured, parsebin can't reconfigure itself, it should
+ therefore pass through the ACCEPT_CAPS query to the first element after
+ typefind (if any).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1900>
+
+2022-01-18 05:48:08 +1100 Jan Schmidt <jan@centricular.com>
+
+ * gst/playback/gstplaybin3.c:
+ playbin3: Hold playbin lock on pad-added
+ Take the playbin lock when accessing the combiner
+ to add a new pad to link to. Fixes races against
+ streams-selected messages triggering reconfiguration.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1900>
+
+2022-01-18 02:52:47 +1100 Jan Schmidt <jan@centricular.com>
+
+ * gst/playback/gstplaybin3.c:
+ playbin3: Reconfigure on streams-selected message.
+ Don't reconfigure outputs when the select-streams
+ event is sent from the app, as the selection may
+ not take effect for some time. Instead, wait
+ for the pipeline to confirm the new set of
+ selected streams when it sends the message.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1900>
+
+2021-11-11 03:20:23 +1100 Jan Schmidt <jan@centricular.com>
+
+ * gst/playback/gstplaysink.c:
+ playsink: Fix reconfiguration after removing text_sink
+ If we previously had subtitles coming in, the video
+ may be chained through a text overlay block. Before,
+ the code would end up trying to link pads that were
+ already linked and video would not get reconnected
+ properly.
+ To fix that, make sure that the candidate
+ pads are actually unlinked first. If a textoverlay
+ is present and no longer needed, it will be cleaned
+ up later in the reconfiguration sequence.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1900>
+
+2021-08-06 19:27:02 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst/playback/gstplaysink.c:
+ playsink: Complete reconfiguration on pad release.
+ Requesting a new pad can start a reconfiguration cycle, where
+ playsink will block all input pads and wait for data on them
+ before doing internal reconfiguration. If a pad is released,
+ that reconfiguration might never trigger because it's now waiting
+ for a pad that doesn't exist any more.
+ In that case, complete the reconfiguration on pad release.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1180>
+
+2022-03-08 09:46:33 +0100 Edward Hervey <edward@centricular.com>
+
+ * gst-libs/gst/pbutils/codec-utils.c:
+ * gst-libs/gst/pbutils/codec-utils.h:
+ * tests/check/libs/pbutils.c:
+ pbutils: Add function to parse RFC 6381 codecs field
+ This is the opposite of `gst_codec_utils_caps_get_mime_codec()`, which allows
+ elements to get the `GstCaps`
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1894>
+
+2022-03-09 16:02:06 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst-libs/gst/rtp/gstrtpbasepayload.c:
+ * tests/check/libs/rtpbasepayload.c:
+ rtpbasepayload: Remove dead twcc code
+ This feature was removed in 7a53fbad68d702ca4905f7da223f4d2884548edc,
+ but this code was left behind.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1902>
+
+2021-12-14 16:14:56 +0100 Edward Hervey <edward@centricular.com>
+
+ * gst/subparse/gstsubparse.c:
+ subparse: Handle GAP events before buffers
+ Make sure we did initial negotiation and segment pushing if we get GAP events
+ before buffers.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1903>
+
+2021-11-17 15:30:38 +0100 Edward Hervey <edward@centricular.com>
+
+ * gst-libs/gst/tag/gsttagdemux.c:
+ tagdemux: Properly propagate sequence numbers
+ If we received a time segment from upstream, we need to make sure we propagate
+ it downstream with the same sequence number.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1903>
+
+2022-03-02 03:43:00 +1100 Jan Schmidt <jan@centricular.com>
+
+ * gst/playback/gstplaybin3.c:
+ playbin3: Add lock to protect buffering messages
+ Fix a small race where a group can receive stream-start
+ and post a pending buffering message just as another
+ thread posts a different buffering message, causing them
+ to be received by the application out of order. In the
+ worst case, this leads the application receiving a
+ stale 99% buffering message and going back to buffering
+ right after the 100% buffering message.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1840>
+
+2022-03-02 12:15:19 +0800 Hou Qi <qi.hou@nxp.com>
+
+ * gst/encoding/gstencodebasebin.c:
+ encodebasebin: Use GST_DEBUG instead of GST_ERROR when skipping muxer
+ _get_muxer() skips the muxers that do not satisfy the requirement and select
+ the desired one. It should not print error log, so use debug log instead.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1830>
+
+2022-03-04 22:21:13 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/gl/gstgldisplay.c:
+ gldisplay: Reorder GST_GL_WINDOW check for egl-device
+ "egl-device" should be checked before the "egl", otherwise unexpected egl will be picked
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1853>
+
+2022-02-24 01:41:34 +1100 Jan Schmidt <jan@centricular.com>
+
+ * tools/gst-play.c:
+ gst-play: Allow switching to previous tracks
+ Implement case sensitive key-press handling,
+ and make 'V', 'A', 'S' switch to the previous
+ video, audio, or subtitle track. The lower-case
+ keypress cycles to the next track, as before
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1841>
+
+2021-09-01 14:02:29 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/sdp/gstsdpmessage.c:
+ * tests/check/libs/sdp.c:
+ sdp: support multiple rid parameters
+ As specified formally in RFC8851
+ Each rid description is placed in its own caps field in the structure.
+ This is very similar to the already existing extmap-$id sdp<->caps
+ transformations that already exists.
+ The mapping is as follows:
+ a=rid:0 direction ';'-separated params
+ where direction is either 'send' or 'recv'
+ gets put into a caps structure like so:
+ rid-0=(string)<"direction","param1","param2",etc>
+ If there are no rid parameters then the caps structure is generated to
+ only contain the direction as a single string like:
+ rid-0=(string)direction
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1760>
+
+2022-03-02 00:52:22 +1100 Jan Schmidt <jan@centricular.com>
+
+ * gst/playback/gsturidecodebin3.c:
+ uridecodebin3: Remove dead variables
+ Leftover junk from original port
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1820>
+
+2022-02-21 10:49:15 +0100 Sebastian Fricke <sebastian.fricke@collabora.com>
+
+ * gst-libs/gst/tag/licenses.c:
+ Remove the uninstalled term
+ Remove the symbolic link `gst-uninstalled` which points to `gst-env`.
+ The `uninstalled` is the old name and the project should stick to a
+ single name for the procedure.
+ Remove the term from all the files, exceptions are variables from
+ dependencies like `uninstalled_variables` from pkgconfig and
+ `meson-uninstalled`.
+ Adjust mentions of the script in the documentation and README.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1743>
+
+2022-02-23 11:10:11 +0100 Sebastian Fricke <sebastian.fricke@collabora.com>
+
+ * README.md:
+ Maintain build instructions at a single location
+ Do not maintain similar build instructions within each gst-plugins-*
+ subproject and the subproject/gstreamer subproject. Use the build
+ instructions from the mono-repository and link to them via hyperlink.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1743>
+
+2021-12-10 15:51:51 +0100 Célestin Marot <marotcelestin@gmail.com>
+
+ * gst-libs/gst/video/video-info.c:
+ video-info: encoded format can have RGB color-matrix (Fixes #1435)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1435>
+
+2022-02-27 13:19:49 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/video/video-format.c:
+ video-format-info: Use correct parameter name in gst_video_format_info_extrapolate_stride() docs
+ ../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.c:7570: Warning: GstVideo: gst_video_format_info_extrapolate_stride: unknown parameter 'info' in documentation comment, should be 'finfo'
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1803>
+
+2022-02-16 18:49:52 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ * gst-libs/gst/audio/audio-converter.c:
+ * gst-libs/gst/audio/audio-converter.h:
+ * gst/audioconvert/gstaudioconvert.c:
+ * gst/audioconvert/gstaudioconvert.h:
+ audioconvert: Add dithering-threshold property
+ By default, no dithering is applied if the target bit depth is above 20
+ bits. This new property allows to apply dithering nonetheless in these
+ cases.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1730>
+
+2022-02-16 13:28:52 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/audio/audio-quantize.c:
+ audio-quantize: Switch dither PRNG from LCG to xorshift
+ While this is slightly more expensive (~48% slower per random number) it
+ does not cause any measurable difference when running through a complete
+ audio conversion pipeline.
+ On the other hand its random numbers are of much higher quality and on
+ spectrograms for 32 bit to 24 bit conversion the difference is clearly
+ visible.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1729>
+
+2022-01-22 01:30:57 +1100 Jan Schmidt <jan@centricular.com>
+
+ * tools/gst-play.c:
+ gst-play: Fix trick-mode handling.
+ The instant-rate value in the TrickMode enum is a
+ flag, but the other values are not. Move instant-rate
+ to the end of the enum and give it a value large enough
+ for it to be used without modifying the trick-mode
+ setting.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1788>
+
+2022-02-24 10:09:50 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * tests/check/elements/appsrc.c:
+ appsrc: Store strong references to the expected buffers in the tests
+ Otherwise the buffers might already be freed as they were only owned by
+ the GstSample / appsrc and potentially don't survive until the pad
+ probe, as observed in some CI runs of the tests.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1787>
+
+2022-02-22 15:08:48 +0100 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst-libs/gst/video/gstvideoaggregator.c:
+ videoaggregator: Correct use of start_time/end_time
+ When 29713c5d changed most uses of `start_time` and `end_time` to
+ `start_running_time` and `end_running_time`, it missed two.
+ Fixes: 29713c5d40a1d7d1f21dada68f55f7a97f0b7025
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1038
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1779>
+
+2022-02-22 10:54:23 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/rtp/gstrtpbasepayload.c:
+ rtpbasepayload: Copy all buffer metadata instead of just GstMetas for the input meta buffer
+ This gives RTP header extensions some more metadata to work from.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1774>
+
+2022-02-21 14:23:27 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/gl/egl/gstglmemoryegl.c:
+ * gst-libs/gst/gl/egl/gstglmemoryegl.h:
+ * gst-libs/gst/gl/gstglbasememory.c:
+ * gst-libs/gst/gl/gstglbasememory.h:
+ * gst-libs/gst/gl/gstglbuffer.c:
+ * gst-libs/gst/gl/gstglbuffer.h:
+ * gst-libs/gst/gl/gstglmemory.c:
+ * gst-libs/gst/gl/gstglmemory.h:
+ * gst-libs/gst/gl/gstglmemorypbo.c:
+ * gst-libs/gst/gl/gstglmemorypbo.h:
+ * gst-libs/gst/gl/gstglrenderbuffer.c:
+ * gst-libs/gst/gl/gstglrenderbuffer.h:
+ gl: Mark GL memory GType functions as deprecated
+ They can't be used in any useful way. The type of every GstMemory is
+ always GST_TYPE_MEMORY and the subtyping relationship has to be
+ implemented on top of that via the associated allocator and mem_type
+ string.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1764>
+
+2022-02-21 15:12:04 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/gl/gstgldisplay.c:
+ * gst-libs/gst/gl/gstglshaderstrings.c:
+ gl: Add `#ifndef GST_REMOVE_DEPRECATED` for existing deprecated API
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1764>
+
+2022-02-21 15:08:44 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/gl/gstgldisplay.c:
+ gl: Add versioned `Deprecated` marker to gst_gl_display_find_window
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1764>
+
+2022-02-21 15:05:55 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/gl/gstgldisplay.h:
+ * gst-libs/gst/gl/gstglshaderstrings.h:
+ gl: Replace existing G_DEPRECATED_FOR usage with GST_GL_DEPRECATED_FOR
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1764>
+
+2022-02-21 15:02:02 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/gl/gl-prelude.h:
+ gl: Add GST_GL_DEPRECATED
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1764>
+
+2022-02-20 14:05:05 +0100 Sebastian Groß <s3b.gr0ss@gmail.com>
+
+ * gst-libs/gst/pbutils/gstaudiovisualizer.c:
+ audiovisualizer: shader: Fix dframe out of bound write
+ shader_fade_and_move_horiz_out writes a complete stride at the end of its
+ dframe data
+ This led to SIGSEGV since the stride reached into sframe->map[0]->memory
+ which could not be umpapped later on.
+ This is due to `d` is increased twice. Once at the end of the upper loop
+ and at the start of the lower loop.
+ The corresponding dframe stride is therefore skipped.
+ Rewind `d` and start at the correct position.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1702
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1751>
+
+2022-02-20 15:20:07 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * docs/plugins/gst_plugins_cache.json:
+ doc: Add NV12_16L32S into the cache
+ Autogenerated by CI
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1567>
+
+2022-02-18 15:25:17 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * tests/check/libs/video.c:
+ tests: video: Add a unit test for stride extrapolation
+ This is a minimal unit test the show that the stride extrapolation can work
+ with all pixel format we support. This minimal verify that the extrapolation
+ match the stride we set into GstVideoInfo with 320x240 for all the pixel
+ format we support. The tiles formats are skipped, since their stride is
+ set as two 16bit integers, and we also skip over palette planes.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1567>
+
+2022-01-25 14:04:13 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/video/video-format.c:
+ * gst-libs/gst/video/video-format.h:
+ video: Add an helper to extrapolate strides
+ Many of the legacy APIs, specifically in the Linux Kernel, have a
+ single stride for the pictures. In this context, it is common
+ to extrapolate the other strides based on the selected pixel
+ format. Such function have been copy pasted from video4linux2
+ plugin into wayland, kms and v4l2codecs plugins.
+ This patch implements a generalized from of that function and
+ make it available to everyone through the video library.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1567>
+
+2021-12-02 21:46:59 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/video/video-converter.c:
+ * gst-libs/gst/video/video-format.c:
+ * gst-libs/gst/video/video-format.h:
+ * gst-libs/gst/video/video-frame.c:
+ * gst-libs/gst/video/video-info.c:
+ * gst-libs/gst/video/video-tile.h:
+ * tests/check/elements/videoscale.c:
+ * tests/check/libs/video.c:
+ video: Add NV12_16L32S aka Mediatek MM21 support
+ Unlike other simple tiled formats, the Mediatek HW use different tile size
+ per-plane. The tile size is scaled according to the subsampling. Effectively,
+ using the name 16L32S to represent linearly layout tiles of size 16x32 bytes
+ in the Y plane, and 16x16 in the UV plane. In order to make this specificity
+ discoverable, a new SUBTILES flags have been added.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1567>
+
+2022-02-19 01:58:20 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/video/gstvideoaggregator.c:
+ videoaggregator: Use floor() to calculate current position
+ ... instead of round(). Depending on framerate, calculated position
+ may not be clearly represented by using uint64, 30000/1001 for example.
+ Then the result of round() can be sliglhtly larger (1ns) than
+ buffer timestamp. And that will cause unnecessary frame delay.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1747>
+
+2021-10-28 17:09:34 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/audio/gstaudioencoder.c:
+ base: audioencoder: Keep serialize event behind buffers
+ If a serialized event arrives behind a buffer, it should not be send before
+ it. This fixes the pending event handling so that only early pending events,
+ the one that arrrived or was generated while the adapter was empty get send
+ before pushing buffer. All other events are not pushed after.
+ This issue lead the latency tracer to think our audio encoder did not have any
+ latency. This was testing with opusenc in a live pipeline.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1266>
+
+2022-02-06 22:54:42 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/pbutils/missing-plugins.c:
+ gstinfo,ptpclock,libcheck: Use GetCurrentProcessId() instead of getpid() on Windows
+ getpid() shouldn't be used in case of UWP. Use GetCurrentProcessId()
+ instead which provides exactly the same functionality and can be
+ used with UWP as well.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1006>
+
+2021-10-01 20:27:28 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/gl/winrt/gstglwindow_winrt_egl.cpp:
+ * meson.build:
+ * tests/examples/seek/instant-rate-change.c:
+ meson: Do hard build error for some MSVC warnings
+ Handle various MSVC warnings as errors for development version.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1006>
+
+2022-02-08 23:30:00 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tests/examples/seek/instant-rate-change.c:
+ Remove some trailing white spaces
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1006>
+
+2022-01-07 20:02:46 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/video/gstvideoaggregator.c:
+ * tests/check/elements/compositor.c:
+ videoaggregator: Fix for unhandled negative rate
+ Nagative rates have been considered only in
+ gst_video_aggregator_advance_on_timeout(). Update other places
+ to fix broken reverse playback.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1500>
+
+2021-08-25 20:18:20 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/typefind/gsttypefindfunctions.c:
+ * tests/check/gst/typefindfunctions.c:
+ typefindfunctions: Fix WebVTT format detection
+ If WebVTT file consists of "WebVTT" header without body,
+ the file size can be smaller than 10 bytes.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1359>
+
+2022-01-31 13:01:10 +0100 Vivienne Watermeier <vwatermeier@igalia.com>
+
+ * gst-libs/gst/video/navigation.c:
+ * gst-libs/gst/video/navigation.h:
+ navigation: add more constructors for navigation events
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1610>
+
+2022-02-07 09:30:58 +0100 David Svensson Fors <davidsf@axis.com>
+
+ * gst-libs/gst/pbutils/codec-utils.c:
+ codec-utils: Avoid out-of-bounds error
+ For artificial input (in unit tests), all six bytes of
+ constraint_indicator_flags in hevc_caps_get_mime_codec() can be
+ zero. Add a guard against an out-of-bounds error that occurred in that
+ case. Change variables to signed int so comparison with -1 works.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1677>
+
+2020-07-17 14:37:14 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst/videotestsrc/gstvideotestsrc.c:
+ * gst/videotestsrc/gstvideotestsrc.h:
+ videotestsrc: Don't re-render every frame when it's not needed.
+ When the pattern being rendered by videotestsrc doesn't have motion,
+ cache a rendered buffer and output it repeatedly with updated
+ metadata.
+ Based on a patch by Edward Hervey <edward@centricular.com>
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/10
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1293>
+
+2021-12-22 18:46:44 +0000 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst-libs/gst/video/navigation.h:
+ navigation: Fix Since marker for mouse scroll
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1665>
+
+2022-02-03 01:04:40 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst-libs/gst/video/video-color.c:
+ video-color: Fix for missing clipping in PQ EOTF function
+ * Add missing clipping in EOTF
+ * Use pre-calculated values
+ * Update variable names to specification's defined ones
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1629>
+
+2022-02-04 11:15:47 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ Back to development
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1635>
+
=== release 1.20.0 ===
2022-02-03 19:53:25 +0000 Tim-Philipp Müller <tim@centricular.com>
+ * ChangeLog:
* NEWS:
* README:
* RELEASE:
diff --git a/subprojects/gst-plugins-good/ChangeLog b/subprojects/gst-plugins-good/ChangeLog
index 5db352d7e8..d0e9ac9ad0 100644
--- a/subprojects/gst-plugins-good/ChangeLog
+++ b/subprojects/gst-plugins-good/ChangeLog
@@ -1,7 +1,3648 @@
+2022-07-27 11:19:50 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/isomp4/qtdemux.c:
+ qtdemux: Don't stop task when resetting
+ This is a regression that was introduced in
+ cca2f555d14b5751f7f9d466b66127544dad5138 (yes, 9 years ago).
+ The only place where a demuxer streaming thread should be stopped is when the
+ sinkpad is deactivated from pull mode (i.e. PAUSED->READY).
+ Attempting to stop the task in this function would cause this to happen when a
+ FLUSH_STOP or STREAM_START event is received... which can cause deadlocks.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3109>
+
+2022-09-30 18:57:01 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/multifile/gstsplitmuxpartreader.c:
+ splitmuxsrc: don't consider unlinked pads when deactivating part
+ If splitmuxsrc exposes multiple pads, but only one is linked, part pads
+ will never see an EOS event. This shouldn't prevent the part from being
+ eventually deactivated.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3099>
+
+2022-03-01 16:30:10 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst/rtsp/gstrtspsrc.c:
+ rtspsrc: Fix usage of IPv6 connections in SETUP
+ If the SETUP request returns an IPv6 server address in the Transport
+ field, we would generate an incorrect URI, and multiudpsink would fail
+ to initialize:
+ ```
+ rtspsrc gstrtspsrc.c:9780:dump_key_value:<source> key: 'Transport', value: 'RTP/AVP;unicast;source=fe80::dc27:25ff:fe5e:bd13:8080;client_port=62696-62697;server_port=4000-4001'
+ ...
+ rtspsrc gstrtspsrc.c:4595:gst_rtspsrc_stream_configure_udp_sinks:<source> configure RTP UDP sink for fe80::dc27:25ff:fe5e:bd13:8080:4000
+ ...
+ multiudpsink gstmultiudpsink.c:1229:gst_multiudpsink_configure_client:<udpsink0> error: Invalid address family (got 23)
+ ```
+ We can't look at stream->is_ipv6 because we can't rely on the server
+ returning the right value there. In the issue reported about this,
+ server reported itself as `KuP RTSP Server/0.1`, and the SDP was:
+ ```
+ c=IN IP4
+ m=video 54608 RTP/AVP 96
+ a=rtpmap:96 H264/90000
+ ```
+ So we need to parse the string value and figure out the family
+ ourselves.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1058
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1819>
+
+2022-09-27 13:56:54 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/isomp4/qtdemux.c:
+ qtdemux: guard against timestamp calculation overflow in gap event loop
+ Could possibly cause an endless loop.
+ Fixes #1400.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3084>
+
+2022-09-27 00:08:41 +1000 Jan Schmidt <jan@centricular.com>
+
+ * tests/check/elements/dash_mpd.c:
+ dashdemux2: fix mpd unit test expectations
+ Update unit test for some mpd cases that were reporting
+ timestamps including the period start time, while
+ dashdemux2 expects that it needs to add the period
+ start time itself.
+ Fix the tests to not expect the period start time
+ to be included.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3025>
+
+2022-08-23 23:12:44 +0900 Junsoo Park <junsoo81.park@lge.com>
+
+ * ext/adaptivedemux2/dash/gstmpdclient.c:
+ dashdemux2: Set timestamp relative to period start
+ These values will be referred to as timestamp relative to period start
+ so need to subtract period start time from the values.
+ Fixes a problem with determining the start position when playing Live content
+ with SegmentTimeline, presentationTimeOffset and a non-0 period start time.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3025>
+
+2022-09-22 19:02:10 +0200 Jakub Adam <jakub.adam@collabora.com>
+
+ * ext/vpx/gstvp9dec.c:
+ * ext/vpx/gstvp9enc.c:
+ vp9: check if libvpx supports high bit depth
+ Detect at runtime if libvpx is compiled with --enable-vp9-highbitdepth
+ and enable 10bit video formats in element caps accordingly.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3067>
+
+2022-09-21 19:19:45 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * meson.build:
+ meson: Use implicit builtin dirs in pkgconfig generation
+ Starting with Meson 0.62, meson automatically populates the variables
+ list in the pkgconfig file if you reference builtin directories in the
+ pkgconfig file (whether via a custom pkgconfig variable or elsewhere).
+ We need this, because ${prefix}/libexec is a hard-coded value which is
+ incorrect on, for example, Debian.
+ Bump requirement to 0.62, and remove version compares that retained
+ support for older Meson versions.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1245
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3061>
+
+2022-09-21 00:26:38 +0900 Seungha Yang <seungha@centricular.com>
+
+ * ext/adaptivedemux2/gstadaptivedemuxutils.c:
+ adaptivedemux2: Always wake up loop thread on unpause
+ Otherwise loop thread will sleep forever because
+ GstAdaptiveDemuxLoop.paused flag update is not signalled
+ when loop was marked as stopped already from other thread.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3057>
+
+2022-09-16 02:01:58 +1000 Jan Schmidt <jan@centricular.com>
+
+ * ext/adaptivedemux2/gstadaptivedemux-period.c:
+ * ext/adaptivedemux2/gstadaptivedemux-private.h:
+ * ext/adaptivedemux2/gstadaptivedemux-stream.c:
+ * ext/adaptivedemux2/gstadaptivedemux-track.c:
+ * ext/adaptivedemux2/gstadaptivedemux.c:
+ * ext/adaptivedemux2/gstadaptivedemux.h:
+ adaptivedemux2: Rework input download wakeups
+ Change the way streams are woken up to download more data.
+ Instead of checking the level on tracks that are being
+ output as data is dequeued, calculate a 'wakeup time'
+ at which it should download more data, and wake up
+ the stream when the global output position crosses
+ that threshold.
+ For efficiency, compute the earliest wakeup time
+ for all streams and store it on the period, so the
+ output loop can quickly check only a single value
+ to decide if something needs waking up.
+ Does the same buffering as the previous method,
+ but ensures that as we approach the end of
+ one period, the next period continues incrementally
+ downloading data so that it is fully buffered when
+ the period starts.
+ Fixes issues with multi-period VOD content where
+ download of the second period resumes only after
+ the first period is completely drained.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3055>
+
+2022-09-15 09:04:10 +0200 Edward Hervey <edward@centricular.com>
+
+ * ext/adaptivedemux2/hls/gsthlsdemux.c:
+ hlsdemux2: Handle negative time mappings
+ Some servers can return playlists with "old" media playlists and different
+ Discont Sequence.
+ In those cases, the segment stream times would be negative when creating a new
+ time mapping. In order to properly handle such scenarios, shift the values to
+ stored accordingly to end up with non-negative reference stream time.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3054>
+
+2022-09-19 20:48:01 +0300 Mart Raudsepp <mart@leio.tech>
+
+ * ext/shout2/meson.build:
+ shout: fix minimum requirement to libshout >= 2.4.3
+ commit e64c6f0b93ced added usage of the SHOUT_USAGE_UNKNOWN symbol, but this
+ became available in the Icecast-libshout 2.4.3 release, not 2.4.2
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3048>
+
+2022-08-31 11:13:06 +0800 Elliot Chen <elliot.chen@nxp.com>
+
+ * sys/v4l2/gstv4l2videodec.c:
+ v4l2videodec: add cap negotiation fail check in the capture configuration change
+ The capture configuration change may cause negotiation fail.
+ Need to check it to avoid enter the endless loop.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2960>
+
+2022-08-29 10:17:45 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/meson.build:
+ doc: Do not build plugins to build the doc
+ It is not actually necessary
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2954>
+
+2022-09-15 12:14:56 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * tests/check/meson.build:
+ tests: add a few more orc tests
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3029>
+
+2022-09-14 10:15:41 +0200 Edward Hervey <edward@centricular.com>
+
+ * ext/adaptivedemux2/hls/m3u8.c:
+ hlsdemux2: Fix crash on live playlist with single entry
+ If there is a single entry, we would end up computing a minimum distance of 0,
+ and would therefore read entries from after the segment array
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3024>
+
+2021-03-24 14:20:18 -0500 Zebediah Figura <z.figura12@gmail.com>
+
+ * meson.build:
+ meson: Build with -Wl,-z,nodelete to prevent unloading of dynamic libraries and plugins
+ GLib made the unfortunate decision to prevent libgobject from ever being
+ unloaded, which means that now any library which registers a static type
+ can't ever be unloaded either (and any library that depends on those,
+ ad nauseam).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/778>
+
+2022-09-13 00:56:53 +1000 Jan Schmidt <jan@centricular.com>
+
+ * ext/adaptivedemux2/gstadaptivedemux.c:
+ adaptivedemux2: Always check bitrate in live
+ When advancing fragment in live, it's normal to return
+ GST_FLOW_EOS when playing at the live edge of the available
+ fragments. In that case, we still want to adjust bitrate
+ dynamically.
+ Fixes issue with dashdemux2 where the current bitrate of
+ each adaptation set is changed to the lowest one when
+ updating the mpd for a live stream.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3020>
+
+2022-09-12 14:18:47 -0400 Matt Crane <matt@standard.ai>
+
+ * gst/rtpmanager/gstrtpjitterbuffer.c:
+ rtpjitterbuffer: Fix calculation of reference timestamp metadata
+ Add support for RTCP SRs that contain RTP timestamps later than the
+ current timestamps in the RTP stream packet buffers.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3019>
+
+2022-09-08 17:06:26 +0000 Filip Hanes <filip@hanes.tech>
+
+ * docs/gst_plugins_cache.json:
+ * ext/libpng/gstpngenc.c:
+ pngenc: lower minimum width and height to 1x1
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3003>
+
+2022-08-30 11:45:05 +0200 Edward Hervey <edward@centricular.com>
+
+ * ext/adaptivedemux2/dash/gstxmlhelper.c:
+ * tests/check/elements/dash_mpd.c:
+ dashdemux2: Remove bogus limitation checks for duration fields
+ Just like for the seconds field, there are no limitations on the hours and
+ minutes fields. The specification for xml schema duration fields doesn't forbid
+ specifying durations with only (huge) minutes or hours values.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2951>
+
+2022-08-21 03:37:40 +1000 Jan Schmidt <jan@centricular.com>
+
+ * ext/adaptivedemux2/dash/gstdashdemux.c:
+ * ext/adaptivedemux2/dash/gstdashdemux.h:
+ * ext/adaptivedemux2/dash/gstmpdclient.c:
+ * ext/adaptivedemux2/dash/gstmpdclient.h:
+ dashdemux2: Preserve current representation on live manifest updates
+ When updating a manifest during live playback, preserve the current
+ representation for each stream.
+ During update_fragment_info, if the current representation changed
+ because it couldn't be matched, trigger a caps change and new
+ header download.
+ This reverts commit e0e1db212fd0df2239583b9099fc4361adeded05
+ and reapplies "dashdemux: Fix issue when manifest update sets slow start
+ without passing necessary header & caps changes downstream" with
+ changes.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2920>
+
+2022-09-02 17:21:43 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * tests/check/elements/rtpjitterbuffer.c:
+ rtpjitterbuffer: Add test for crash caused by removing timers twice
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2973>
+
+2022-09-02 12:20:58 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/rtpmanager/gstrtpjitterbuffer.c:
+ rtpjitterbuffer: Make it more explicit that update_rtx_timers() takes ownership of the passed in timer
+ It is not valid anymore afterwards and must not be used, otherwise an
+ already freed pointer might be used.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2973>
+
+2022-09-02 12:20:30 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/rtpmanager/gstrtpjitterbuffer.c:
+ rtpjitterbuffer: Don't shadow variable
+ While this didn't cause any problems in this context it is simply
+ confusing.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2973>
+
+2022-09-02 12:19:26 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/rtpmanager/gstrtpjitterbuffer.c:
+ rtpjitterbuffer: Change RTX timer availability checks to assertions
+ It's impossible to end up in the corresponding code without a timer for
+ RTX packets because otherwise it would be an unsolicited RTX packet and
+ we would've already returned early.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2973>
+
+2022-09-02 12:17:39 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/rtpmanager/gstrtpjitterbuffer.c:
+ rtpjitterbuffer: Only unschedule timers for late packets if they're not RTX packets and only once
+ Timers for RTX packets are dealt with later in update_rtx_timers(), and
+ timers for non-RTX packets would potentially also be unscheduled a
+ second time from there so avoid that.
+ Also don't shadow the timer variable from the outer scope but instead
+ make use of it directly.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2973>
+
+2022-07-05 16:15:19 +0200 Patricia Muscalu <patricia@axis.com>
+
+ * gst/rtp/gstrtph265pay.c:
+ * gst/rtp/gstrtph265pay.h:
+ * tests/check/elements/rtph265.c:
+ rtph265: keep delta unit flag
+ Without this patch all buffers that pass the payloader
+ are marked as non-delta-unit buffers.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2969>
+
+2022-09-01 15:11:31 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * ext/aalib/meson.build:
+ * ext/cairo/meson.build:
+ * ext/dv/meson.build:
+ * ext/flac/meson.build:
+ * ext/gdk_pixbuf/meson.build:
+ * ext/gtk/meson.build:
+ * ext/jack/meson.build:
+ * ext/jpeg/meson.build:
+ * ext/lame/meson.build:
+ * ext/libpng/meson.build:
+ * ext/mpg123/meson.build:
+ * ext/pulse/meson.build:
+ * ext/qt/meson.build:
+ * ext/shout2/meson.build:
+ * ext/speex/meson.build:
+ * ext/taglib/meson.build:
+ * ext/twolame/meson.build:
+ * ext/vpx/meson.build:
+ * ext/wavpack/meson.build:
+ * gst/alpha/meson.build:
+ * gst/apetag/meson.build:
+ * gst/audiofx/meson.build:
+ * gst/audioparsers/meson.build:
+ * gst/auparse/meson.build:
+ * gst/autodetect/meson.build:
+ * gst/avi/meson.build:
+ * gst/cutter/meson.build:
+ * gst/debugutils/meson.build:
+ * gst/deinterlace/meson.build:
+ * gst/dtmf/meson.build:
+ * gst/effectv/meson.build:
+ * gst/equalizer/meson.build:
+ * gst/flv/meson.build:
+ * gst/flx/meson.build:
+ * gst/goom/meson.build:
+ * gst/goom2k1/meson.build:
+ * gst/icydemux/meson.build:
+ * gst/id3demux/meson.build:
+ * gst/imagefreeze/meson.build:
+ * gst/interleave/meson.build:
+ * gst/isomp4/meson.build:
+ * gst/law/meson.build:
+ * gst/level/meson.build:
+ * gst/matroska/meson.build:
+ * gst/monoscope/meson.build:
+ * gst/multifile/meson.build:
+ * gst/multipart/meson.build:
+ * gst/replaygain/meson.build:
+ * gst/rtp/meson.build:
+ * gst/rtpmanager/meson.build:
+ * gst/rtsp/meson.build:
+ * gst/shapewipe/meson.build:
+ * gst/smpte/meson.build:
+ * gst/spectrum/meson.build:
+ * gst/udp/meson.build:
+ * gst/videobox/meson.build:
+ * gst/videocrop/meson.build:
+ * gst/videofilter/meson.build:
+ * gst/videomixer/meson.build:
+ * gst/wavenc/meson.build:
+ * gst/wavparse/meson.build:
+ * gst/y4m/meson.build:
+ * meson.build:
+ * sys/directsound/meson.build:
+ * sys/osxaudio/meson.build:
+ * sys/osxvideo/meson.build:
+ * sys/rpicamsrc/meson.build:
+ * sys/v4l2/meson.build:
+ * sys/waveform/meson.build:
+ * sys/ximage/meson.build:
+ meson: Call pkgconfig.generate in the loop where we declare plugins dependencies
+ Removing some copy pasted code
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-09-01 11:51:48 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/meson.build:
+ meson: Namespace the plugins_doc_dep/libraries variables
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-08-31 18:44:14 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * meson.build:
+ meson: Rename plugins list and make them "dependency" objects
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-08-18 17:08:51 +0300 Raul Tambre <raul@tambre.ee>
+
+ * gst/rtpmanager/gstrtpjitterbuffer.c:
+ * tests/check/elements/rtpjitterbuffer.c:
+ rtpjitterbuffer: remove lost timer for out of order packets
+ When receiving old packets remove the running lost timer if present.
+ This fixes incorrect reporting of a lost packet even if it arrived in time.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2922>
+
+2022-08-26 18:42:44 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/rtp/gstrtpvp8depay.c:
+ rtpvp8depay: If configured to wait for keyframes after packet loss, also do that if incomplete frames are detected
+ This can happen if the data inside the packets is incomplete without the
+ seqnums being discontinuous because of ULPFEC being used.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2947>
+
+2022-05-31 15:18:03 +0200 Stéphane Cerveau <scerveau@collabora.com>
+
+ * docs/meson.build:
+ * meson.build:
+ docs: disable in static build
+ Following gst-plugins-base, disable docs if static_build
+ in:
+ - gstreamer
+ - gst-plugins-good
+ - gst-plugins-ugly
+ - gst-libav
+ - gstreamer-vaapi
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2529>
+
+2022-08-24 17:30:34 +0800 Jianhui Dai <jianhui.j.dai@intel.com>
+
+ * sys/v4l2/gstv4l2allocator.c:
+ v4l2allocator: Fix invalid imported dmabuf fd
+ Fix a typo that set userptr to dmabuf fd. It leads to failure of
+ dmabuf-import io-mode.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2935>
+
+2022-07-22 13:41:17 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/isomp4/qtdemux.c:
+ playback: add onvif metadata caps to raw caps
+ + remove encoding from x-onvif-metadata caps output by qtdemux
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2889>
+
+2022-08-23 10:28:30 +0000 zhiyuan.liu <zhiyuan.liu@seraphic-corp.com>
+
+ * gst/isomp4/gstisoff.c:
+ isoff: Fix earliest pts field parse issue
+ earliest pts will be covered by first_offset field on version 0 case.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2927>
+
+2022-08-18 16:36:45 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * ext/adaptivedemux2/downloadhelper.c:
+ adaptivedemux2: Fix download helper with libsoup 3.0.x
+ libsoup 3.0.x dispatches using a single source attached when the session
+ is created, so we need to create the session with the same context that
+ our download thread is later using.
+ 2.74 or 3.1 will dispatch a response using the context which sent the
+ request. However, for any context other than the one that created the
+ session, this will also create and destroy sources, so there's still
+ some slight performance benefit.
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1384
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2913>
+
+2022-08-18 09:48:15 +1000 Jan Schmidt <jan@centricular.com>
+
+ * ext/adaptivedemux2/gstadaptivedemux.c:
+ adaptivedemux2: Implement send_event() vfunc
+ Handle select-streams and seek events in an element
+ level send_event() vfunc, so they can be received
+ before any source pads are created.
+ This allows preferred streams to be selected before
+ segment downloading starts.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2912>
+
+2022-08-17 09:11:52 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst/multifile/gstsplitmuxsrc.c:
+ splitmuxsrc: Stop pad task before cleanup
+ When stopping the element, make sure the pad task
+ is stopped before destroying the part readers.
+ Closes a race where the pad task might access
+ a freed pointer.
+ Also add a guard against this sort of thing
+ by holding a ref to the reader in the pad loop.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2901>
+
+2022-08-12 20:20:43 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst/isomp4/qtdemux.c:
+ qtdemux: Avoid crash on reconfiguring.
+ When reconfiguring a stream that never created
+ an output pad, don't access a NULL GstPad pointer.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2869>
+
+2022-08-16 19:01:19 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/isomp4/qtdemux.c:
+ qtdemux: Set parsed=true on ONVIF Timed Metadata caps
+ Inside MP4 the metadata must be properly parsed into frames and in
+ order.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2897>
+
+2022-08-15 14:30:50 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2/gstv4l2bufferpool.c:
+ v4l2bufferpool: Fix debug trace
+ The tracing of the buffer pointer was done on the secondary pointer, which
+ does not match with other traces of the same buffer. This made the trace
+ confusing and less useful.
+ Fixes #1379
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2893>
+
+2022-08-12 21:57:25 +1000 Jan Schmidt <jan@centricular.com>
+
+ * ext/adaptivedemux2/gstadaptivedemux-stream.c:
+ * ext/adaptivedemux2/gstadaptivedemux.c:
+ adaptivedemux2: Fix for period switching in live streams
+ When playing live, it's possible that one stream reaches
+ the end of the available playback window and goes to sleep
+ waiting for a manifest update, and the manifest update
+ introduces a new period. In that case, the sleeping
+ stream needs to wake up and go 'properly' EOS before we
+ can advance the input to the new period.
+ Accordingly, make sure that a stream's last_ret value
+ is not marked as EOS if it's just sleeping waiting for a live
+ manifest update.
+ Also fix the output loop to go back and re-check if it's
+ time to switch to the next period after dequeuing and
+ discarding an EOS event.
+ https://livesim.dashif.org/livesim/periods_20/testpic_2s/Manifest.mpd
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2895>
+
+2022-08-11 09:34:58 +0900 Hosang Lee <hosang10.lee@lge.com>
+
+ * ext/adaptivedemux2/mss/gstmssdemux.c:
+ mssdemux2: Use gsturi structure to form fragment urls
+ Utilize gsturi to form fragment url paths.
+ A token query may contain the string "manifest" and this would lead
+ to improper url creations.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2859>
+
+2022-08-12 13:20:01 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/rtsp/gstrtspsrc.c:
+ rtspsrc: Consider the actual control base URI also in case the connection URI contains a query string
+ That is, get rid of unnecessary and wrong special-casing.
+ This could always use gst_rtsp_url_get_request_uri_with_control() but as
+ we only have the control base URI as string it is easier to just call
+ gst_uri_join_strings().
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2868>
+
+2022-08-11 18:37:18 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/isomp4/fourcc.h:
+ * gst/isomp4/qtdemux.c:
+ * gst/isomp4/qtdemux.h:
+ * gst/isomp4/qtdemux_types.c:
+ qtdemux: Add reference timestamp meta with UTC times based on the ONVIF Export File Format CorrectStartTime box to outgoing buffers
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2525>
+
+2022-08-11 05:17:05 +1000 Jan Schmidt <jan@centricular.com>
+
+ * ext/adaptivedemux2/hls/gsthlsdemux.c:
+ hlsdemux2: Fix reference leak of variant stream
+ When switching back to the previous variant stream
+ in gst_hls_demux_change_playlist(), fix a couple of
+ paths that would leak a reference to the previous
+ variant.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2873>
+
+2022-08-11 05:07:10 +1000 Jan Schmidt <jan@centricular.com>
+
+ * ext/adaptivedemux2/hls/gsthlsdemux.c:
+ hlsdemux2: Don't leak the datetime in time map structs
+ Add a function to clean up GstHLSTimeMap structs
+ and free the ref on the optional associated GDateTime
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2873>
+
+2022-08-11 05:03:10 +1000 Jan Schmidt <jan@centricular.com>
+
+ * ext/adaptivedemux2/hls/gsthlsdemux.c:
+ hlsdemux2: Fix typefind leak and invalid memory access
+ When typefinding aggregates incoming data to a pending
+ typefind buffer and then succeeds in typefinding, it
+ leaks the aggregated buffer, and leaves the caller
+ accessing an unreffed buffer.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2873>
+
+2022-08-11 05:36:15 +1000 Jan Schmidt <jan@centricular.com>
+
+ * ext/adaptivedemux2/hls/m3u8.c:
+ hlsdemux2: m3u8: Fix memory leaks on parsing
+ Fix memory leaks when parsing of an m3u8 file is
+ incomplete, with EXTINF or EXT-X-PROGRAM-DATE-TIME
+ directives, but no segment url.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2873>
+
+2022-08-11 00:59:50 +1000 Jan Schmidt <jan@centricular.com>
+
+ * ext/adaptivedemux2/hls/m3u8.c:
+ hlsdemux2: m3u8: Fix memory leak
+ Clear the GValue holding intermediate GstStructure field
+ data.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2873>
+
+2022-08-11 01:01:07 +1000 Jan Schmidt <jan@centricular.com>
+
+ * ext/adaptivedemux2/gstadaptivedemuxutils.c:
+ adaptivedemux2: Fix uninitialised memory usage in debug
+ Fix printing uninitialised memory by clearing the
+ GstAdaptiveDemuxClock structure when allocating.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2873>
+
+2022-08-12 02:20:40 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst/rtpmanager/gstrtpst2022-1-fecenc.c:
+ rtpst2022-1-fecenc: Drain column packets on EOS
+ Otherwise we won't send the protection packets for the last few
+ packets when a stream ends.
+ Also send EOS on the FEC src row pad immediately, and on the FEC src
+ column pad after draining is complete. This makes it so that the FEC
+ src pads on rtpbin behave the same way as the RTCP src pads on rtpbin
+ when EOS is received on the send_rtp_sink pad.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2863>
+
+2022-08-11 08:48:08 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/isomp4/qtdemux.c:
+ qtdemux: Don't use invalid values from failed trex parsing
+ If parsing the fragment default values (`trex` atom) failed, don't try to
+ compute a bogus sample_description_id value.
+ Fixes #1369
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2860>
+
+2022-08-09 09:42:23 +0200 Piotr Brzeziński <piotr@centricular.com>
+
+ * docs/gst_plugins_cache.json:
+ * gst/videofilter/gstvideoflip.c:
+ videoflip: Add support for 10/12bit planar formats
+ Implements support for I420, I422 and Y444 in 10/12 bit LE/BE variants.
+ I422 is handled separately from the rest, as it needs to consider
+ the endianness of the current format during most transforms.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2788>
+
+2022-08-04 18:09:52 +0800 Haihua Hu <jared.hu@nxp.com>
+
+ * gst/alpha/gstalpha.c:
+ alpha: fix stride issue when out buffer has padding on right
+ if outbuf has padding on right, need jump to next line use stride,
+ otherwise downstream element will show a wrong picture when use the
+ same stride
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2842>
+
+2022-08-09 00:12:58 +1000 Jan Schmidt <jan@centricular.com>
+
+ * ext/adaptivedemux2/hls/gsthlsdemux.c:
+ hlsdemux2: Requeue header buffer when restarting fragment
+ When returning GST_ADAPTIVE_DEMUX_FLOW_RESTART_FRAGMENT
+ for the first segment data, we might need to requeue the
+ header.
+ This was leading to occasional prerolling stalls on
+ HLS live streams with renditions.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2849>
+
+2022-08-07 20:56:49 +1000 Jan Schmidt <jan@centricular.com>
+
+ * ext/adaptivedemux2/hls/gsthlsdemux.c:
+ hlsdemux2: Fix buffer leak when resynching
+ Unref the buffer in gst_hls_demux_handle_buffer() when
+ returning GST_ADAPTIVE_DEMUX_FLOW_LOST_SYNC
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2849>
+
+2022-08-04 23:54:27 +1000 Jan Schmidt <jan@centricular.com>
+
+ * ext/adaptivedemux2/gstadaptivedemuxutils.c:
+ adaptivedemux2: Fix a small race on shutdown
+ Make sure gst_adaptive_demux_loop_cancel_call()
+ never tries to operate on an invalidated main context. Make
+ sure to clear the main context pointer while holding the lock,
+ and to check it in gst_adaptive_demux_loop_cancel_call()
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2847>
+
+2022-07-22 03:32:39 +1000 Jan Schmidt <jan@centricular.com>
+
+ * ext/adaptivedemux2/gstadaptivedemux-stream.c:
+ adaptivedemux2-stream: Silence a compiler warning
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2839>
+
+2022-07-28 04:17:26 +1000 Jan Schmidt <jan@centricular.com>
+
+ * ext/adaptivedemux2/gstadaptivedemux-private.h:
+ adaptivedemux2: Move internal FLOW_SWITCH return value.
+ Move the internal-only FLOW_SWITCH custom return value
+ to GST_FLOW_CUSTOM_SUCCESS+2 to avoid collision with
+ GST_ADAPTIVE_DEMUX_FLOW_LOST_SYNC
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2839>
+
+2022-07-20 10:57:41 +0200 Edward Hervey <edward@centricular.com>
+
+ * ext/adaptivedemux2/gstadaptivedemux.h:
+ adaptivedemux2: Modify custom sync loss flow return
+ Make it a custom sucess and not an error
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2839>
+
+2022-07-12 10:44:51 +0200 Edward Hervey <edward@centricular.com>
+
+ * ext/adaptivedemux2/hls/m3u8.c:
+ hlsdemux2: Always check DSN if required
+ We don't want to consider the candidate as being before the playlist if the DSN
+ don't match
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2839>
+
+2022-07-11 10:31:42 +0200 Edward Hervey <edward@centricular.com>
+
+ * ext/adaptivedemux2/gstadaptivedemux-stream.c:
+ * ext/adaptivedemux2/hls/gsthlsdemux.c:
+ adaptivedemux2/hlsdemux2: Handle loss of sync when dowloading.
+ Media playlist updates and fragment downloads happen in an interleaved
+ fashion. When a media playlist update fails *while* a segment is being
+ downloaded, this means we lost synchronization.
+ Properly propagate and handle this
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2839>
+
+2022-07-08 10:48:05 +0200 Edward Hervey <edward@centricular.com>
+
+ * ext/adaptivedemux2/hls/gsthlsdemux.c:
+ hlsdemux2: Fix initial playlist setup.
+ There is now only a single case where we setup the initial playlist to 0, which
+ is for the very first variant stream.
+ Rendition streams will have the initial playlist "synchronized" against the
+ variant stream media playlist.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2839>
+
+2022-07-08 10:44:51 +0200 Edward Hervey <edward@centricular.com>
+
+ * ext/adaptivedemux2/hls/gsthlsdemux.c:
+ hlsdemux2: Handle loss of synchronization in live
+ Loss of synchronization happens when the updated media playlist has no
+ relationship to the previous ones. This could happen because of network issues,
+ server issues, etc...
+ When this happens, we take no chance and "reset" ourselves so that we can "seek
+ back to live" against the new updated playlists.
+ Since this happens at the "media playlist update" level, make sure the custom
+ flow return is propagated up.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2839>
+
+2022-07-08 10:40:33 +0200 Edward Hervey <edward@centricular.com>
+
+ * ext/adaptivedemux2/gstadaptivedemux-stream.c:
+ * ext/adaptivedemux2/gstadaptivedemux.c:
+ adaptivedemux2: Handle synchronously to lost sync
+ We are already in the main scheduler thread, therefore we can do the "seek back
+ to live" directly. This also avoids other pending actions to take place.
+ Also handle the loss of sync when doing manifest updates.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2839>
+
+2022-07-06 11:44:57 +0200 Edward Hervey <edward@centricular.com>
+
+ * ext/adaptivedemux2/hls/gsthlsdemux.c:
+ hlsdemux2: Prune time maps when possible
+ Add a new method to prune unused time mappings (i.e. which aren't used by any
+ current media playlist).
+ Do that when doing flushing seeks. Could be used in other places later too.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2839>
+
+2022-06-13 15:26:22 +0200 Edward Hervey <edward@centricular.com>
+
+ * ext/adaptivedemux2/hls/m3u8.c:
+ hlsdemux2: Allow DSN mismatches when re-syncing playlists
+ Some providers provide completely incompatible DSN across bitrates/renditions,
+ but do keep MSN consistent.
+ If we fail to synchronize playlist with DSN, retry without the DSN taken into
+ account.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2839>
+
+2022-07-12 01:58:30 +1000 Jan Schmidt <jan@centricular.com>
+
+ * ext/adaptivedemux2/gstadaptivedemux.c:
+ adaptivedemux2: Fixes for period switching in the output loop
+ Close some race conditions in switching to the next period,
+ by ensuring the tracks are completely drained first and by
+ not outputting EOS events to the output source pad
+ if there is another period pending.
+ Fixes Manifest_MultiPeriod_1080p.mpd some more.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2838>
+
+2022-07-12 01:55:54 +1000 Jan Schmidt <jan@centricular.com>
+
+ * ext/adaptivedemux2/gstadaptivedemux-stream.c:
+ adaptivedemux2: stream: Set period has_next_period flag before EOS
+ Before sending EOS, update the period's has_next_period
+ flag and/or create the next period. This closes a race
+ where the output loop might receive the EOS event
+ and either push it downstream (causing premature EOS),
+ or receive it and try and switch to the next period
+ before that period is completely set up.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2838>
+
+2022-07-12 01:24:31 +1000 Jan Schmidt <jan@centricular.com>
+
+ * ext/adaptivedemux2/gstadaptivedemux.c:
+ * ext/adaptivedemux2/gstadaptivedemux.h:
+ adaptivedemux2: period: Rename 'closed' flag to 'has_next_period'
+ The flag is used to tell the output loop that a
+ next period is present, since the output loop
+ can't call the gst_adaptive_demux_has_next_period()
+ method.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2838>
+
+2022-07-01 02:07:05 +1000 Jan Schmidt <jan@centricular.com>
+
+ * ext/adaptivedemux2/gstadaptivedemux.c:
+ adaptivedemux2: Recheck for a pending track on drain
+ When a track is completely drained and EOS, but
+ there's a pending track on the slot loop again
+ to switch to that track.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2838>
+
+2022-07-01 02:05:36 +1000 Jan Schmidt <jan@centricular.com>
+
+ * ext/adaptivedemux2/gstadaptivedemux-period.c:
+ adaptivedemux2: Check stream selected instead of state
+ When combining stream flows, ignore streams that
+ are not selected, instead of checking whether
+ the stream state has changed yet.
+ Fixes another issue with dashdemux2 where it fails to
+ change to the next period when playing content with
+ several video, audio and text streams, as with
+ Manifest_MultiPeriod_1080p.mpd when seeking to 730
+ just before the end of the first period.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2838>
+
+2022-05-25 18:40:30 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst/rtsp/gstrtspsrc.c:
+ rtsp+rtmp: Forward warning added to tls-validation-flags to our users
+ With the 2.72 release, glib-networking developers have decided that
+ TLS certificate validation cannot be implemented correctly by them, so
+ they've deprecated it.
+ In a nutshell: a cert can have several validation errors, but there
+ are no guarantees that the TLS backend will return all those errors,
+ and things are made even more complicated by the fact that the list of
+ errors might refer to certs that are added for backwards-compat and
+ won't actually be used by the TLS library.
+ Our best option is to ignore the deprecation and pass the warning onto
+ users so they can make an appropriate security decision regarding
+ this.
+ We can't deprecate the tls-validation-flags property because it is
+ very useful when connecting to RTSP cameras that will never get
+ updates to fix certificate errors.
+ Relevant upstream merge requests / issues:
+ https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2214
+ https://gitlab.gnome.org/GNOME/glib-networking/-/issues/179
+ https://gitlab.gnome.org/GNOME/glib-networking/-/merge_requests/193
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2494>
+
+2022-07-22 14:51:11 +0200 Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+ * gst/videobox/gstvideobox.c:
+ videobox: avoid dropping caps fields for passthrough caps transform
+ Fixes potential negotiation failure in case downstream element
+ is a bit picky regarding the fields in question.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2786>
+
+2022-07-27 15:44:09 +0200 Adrian Fiergolski <adrian.fiergolski@fastree3d.com>
+
+ * gst/videofilter/gstvideoflip.c:
+ videoflip: Fix caps negotiation when method is selected
+ The caps negotiation should respect the selected method to the test pipeline below works properly.
+ gst-launch-1.0 videotestsrc ! video/x-raw,width=320,height=600 ! videoflip method=clockwise ! video/x-raw,width=600,height=320 ! fakesink
+ Signed-off-by: Adrian Fiergolski <adrian.fiergolski@fastree3d.com>
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2803>
+
+2022-07-24 23:44:10 -0400 fduncanh <fduncanh@gmail.com>
+
+ * sys/v4l2/gstv4l2object.c:
+ v4l2object.c: add support for Apple's full-range bt709 colorspace variant
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2793>
+
+2022-07-08 18:22:58 +0800 Elliot Chen <elliot.chen@nxp.com>
+
+ * sys/v4l2/gstv4l2bufferpool.c:
+ v4l2: fix the critical log when unreference the buffer with no data
+ In the trick mode, driver may queue a valid buffer follow by an
+ empty buffer which has no valid data to indicate EOS.For the empty
+ buffer whose memory is multi-plane, need to resize it before
+ unreference it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2731>
+
+2022-07-15 13:22:14 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/qt/qtglrenderer.cc:
+ qt: Fix another instance of Qt/GStreamer both defining `GLsync` differently
+ In file included from ../gstreamer1.0-plugins-good/1.20.3-r0/recipe-sysroot/usr/include/gstreamer-1.0/gst/gl/gstglfuncs.h:87,
+ from ../gst-plugins-good-1.20.3/ext/qt/qtglrenderer.cc:14:
+ ../gstreamer1.0-plugins-good/1.20.3-r0/recipe-sysroot/usr/include/gstreamer-1.0/gst/gl/glprototypes/gstgl_compat.h:40:18: error: conflicting declaration 'typedef void* GLsync'
+ 40 | typedef gpointer GLsync;
+ | ^~~~~~
+ In file included from ../gstreamer1.0-plugins-good/1.20.3-r0/recipe-sysroot/usr/include/QtGui/qopengl.h:127,
+ from ../gstreamer1.0-plugins-good/1.20.3-r0/recipe-sysroot/usr/include/QtQuick/qsggeometry.h:44,
+ from ../gstreamer1.0-plugins-good/1.20.3-r0/recipe-sysroot/usr/include/QtQuick/qsgnode.h:43,
+ from ../gstreamer1.0-plugins-good/1.20.3-r0/recipe-sysroot/usr/include/QtQuick/qsgrendererinterface.h:43,
+ from ../gstreamer1.0-plugins-good/1.20.3-r0/recipe-sysroot/usr/include/QtQuick/qquickwindow.h:44,
+ from ../gstreamer1.0-plugins-good/1.20.3-r0/recipe-sysroot/usr/include/QtQuick/QQuickWindow:1,
+ from ../gst-plugins-good-1.20.3/ext/qt/qtglrenderer.cc:6:
+ ../gstreamer1.0-plugins-good/1.20.3-r0/recipe-sysroot/usr/include/QtGui/qopengles2ext.h:24:26: note: previous declaration as 'typedef struct __GLsync* GLsync'
+ 24 | typedef struct __GLsync *GLsync;
+ | ^~~~~~
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2763>
+
+2022-07-15 06:40:05 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * sys/osxaudio/gstosxaudiodeviceprovider.c:
+ * sys/osxaudio/gstosxcoreaudiohal.c:
+ osxaudio: Fix deprecation in macOS 12.0
+ kAudioObjectPropertyElementMaster has been renamed to
+ kAudioObjectPropertyElementMain
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2761>
+
+2022-07-12 21:19:35 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst/multifile/gstsplitmuxsink.c:
+ splitmuxsink: Fix memory leak
+ Fix a leak of the buffer info struct when reaching
+ EOS without data on the reference input.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2751>
+
+2022-06-24 13:32:34 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/rtpmanager/rtpjitterbuffer.c:
+ rtpjitterbuffer: Fix calculation of RFC7273 RTP time period start
+ This has to be based directly on the current estimated clock time and
+ has to allow for negative period starts.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2655>
+
+2022-04-14 01:19:51 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/multifile/gstsplitmuxsink.c:
+ * tests/check/elements/splitmuxsink.c:
+ splitmuxsink: Don't crash on EOS without buffer
+ Fix a case where upstream pushed EOS without buffers.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2174>
+
+2022-06-30 15:15:22 +0000 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst/rtpmanager/gstrtprtxreceive.c:
+ * gst/rtpmanager/gstrtprtxsend.c:
+ * tests/check/elements/rtprtx.c:
+ rtprtx: Fix copying extension headers
+ There was a typo leading to reading memory from the buffer we were
+ writing to.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2696>
+
+2022-05-28 15:04:10 -0400 fduncanh <fduncanh@gmail.com>
+
+ * sys/v4l2/gstv4l2videodec.c:
+ v4l2videodec: replace multiple decoder bug warnings with single one
+ Achieve this by dropping frames after a drain if the driver failed to so.
+ This works around RaspberryPi driver issue [1].
+ [1] https://github.com/raspberrypi/linux/issues/5059#issuecomment-
+ Fixes #1103
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2518>
+
+2022-06-25 19:23:11 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * tests/check/elements/udpsink.c:
+ tests: udpsink: make test work in environments without IPv6
+ Part-fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/939
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2659>
+
+2022-05-28 16:47:42 -0400 fduncanh <fduncanh@gmail.com>
+
+ * sys/v4l2/gstv4l2videodec.c:
+ v4l2videodec: replace multiple decoder bug warnings by a single warning (warning due to incorrectly dropped frames at initial caps adjustment)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2517>
+
+2022-06-29 00:51:28 +1000 Jan Schmidt <jan@centricular.com>
+
+ * ext/adaptivedemux2/gstadaptivedemux-period.c:
+ adaptivedemux2: Ignore stopped stream flow state
+ When calculating the combined stream flow state
+ for a period, don't consider stopped streams.
+ Fixes switching to the next period in DASH streams
+ with multiple video/audio/subtitle streams.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2684>
+
+2022-06-29 01:25:41 +1000 Jan Schmidt <jan@centricular.com>
+
+ * ext/adaptivedemux2/gstadaptivedemux-stream.c:
+ adaptivedemux2: Clean up stream parsebins on finalize
+ Remove the parsebin for a stream from the overall
+ bin when cleaning up the stream, to avoid
+ keeping around old ones when moving between periods
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2676>
+
+2022-06-24 02:54:22 +1000 Jan Schmidt <jan@centricular.com>
+
+ * ext/adaptivedemux2/gstadaptivedemux.c:
+ * ext/adaptivedemux2/gstadaptivedemuxutils.c:
+ adaptivedemux2: Fix memory leaks and use-after-free
+ Fix various small memory leaks, and an invalid
+ access to GstEvent after giving away the ref
+ via gst_pad_push_event()
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2676>
+
+2022-06-24 02:57:54 +1000 Jan Schmidt <jan@centricular.com>
+
+ * ext/adaptivedemux2/hls/gsthlsdemux-util.c:
+ hlsdemux2: Fix potential segfault
+ Fix a potential segfault if we receive a ISO-FF stream
+ with moof before moov.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2676>
+
+2022-06-24 02:57:03 +1000 Jan Schmidt <jan@centricular.com>
+
+ * ext/adaptivedemux2/hls/gsthlsdemux.c:
+ * ext/adaptivedemux2/hls/m3u8.c:
+ hlsdemux2: Fix memory leaks
+ Clean up various memory leaks
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2676>
+
+2022-06-23 19:24:03 +1000 Jan Schmidt <jan@centricular.com>
+
+ * ext/adaptivedemux2/hls/gsthlsdemux.c:
+ hlsdemux2: Free current_segment on finalize
+ Avoid a memory leak by making sure to release the
+ current segment on exit if non-NULL
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2676>
+
+2022-06-29 10:55:13 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ coding style: allow declarations after statement
+ See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1243/
+ and https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/78
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2683>
+
+2022-06-22 03:35:03 +1000 Jan Schmidt <jan@centricular.com>
+
+ * ext/adaptivedemux2/gstadaptivedemux-track.c:
+ adaptivedemux2: track: Fix buffering time calc before output
+ Use the lowest track input time as the output
+ time when calculating track buffering levels
+ before anything has been dequeued.
+ Fixes multi-period DASH not advancing to the
+ next period in some cases.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2650>
+
+2022-06-22 03:34:19 +1000 Jan Schmidt <jan@centricular.com>
+
+ * ext/adaptivedemux2/gstadaptivedemux-period.c:
+ * ext/adaptivedemux2/gstadaptivedemux-track.c:
+ * ext/adaptivedemux2/gstadaptivedemux.c:
+ * ext/adaptivedemux2/gstadaptivedemux.h:
+ adaptivedemux2: track: Add period number to most debug statements
+ Store the period number the track belongs to, and
+ add it in various debug statements
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2650>
+
+2022-06-22 03:30:16 +1000 Jan Schmidt <jan@centricular.com>
+
+ * ext/adaptivedemux2/gstadaptivedemux-stream.c:
+ adaptivedemux2: stream: Don't take TRACKS_LOCK when sending EOS event
+ The stream tracks list can't change while we're
+ iterating it from the scheduling thread,
+ and the event handler immediately takes the
+ tracks lock, causing a deadlock.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2650>
+
+2022-06-08 11:17:09 +0200 Edward Hervey <edward@centricular.com>
+
+ * ext/adaptivedemux2/hls/gsthlsdemux.c:
+ hlsdemux2: Improve media playlist updates
+ * When dealing with rendition streams, we attempt to synchronize the media
+ playlist against the variant stream. This helps with speeding up the correct
+ initial fragment search and avoids issues when streams at activated at a much
+ later time.
+ * Also add checks for variant stream existence before attempting to use them
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2679>
+
+2022-06-08 11:16:15 +0200 Edward Hervey <edward@centricular.com>
+
+ * ext/adaptivedemux2/hls/gsthlsdemux.c:
+ hlsdemux2: Only seek on selected streams
+ When handling seeks, there is no need to seek on unselected streams. If they
+ later get activated they will be properly seek onto
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2679>
+
+2022-06-08 09:33:22 +0200 Edward Hervey <edward@centricular.com>
+
+ * tests/check/elements/hlsdemux_m3u8.c:
+ tests: check: Update hlsdemux2 tests for playlist changes
+ We no longer do auto-magic fallbacks when synchronizing a disconnected
+ playlist. It is handled at a higher level.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2679>
+
+2022-06-03 10:25:34 +0200 Edward Hervey <edward@centricular.com>
+
+ * ext/adaptivedemux2/hls/m3u8.c:
+ hlsdemux2: Fix debug return statement
+ Due to latest commits res could have been NULL.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2679>
+
+2022-06-02 09:46:22 +0200 Edward Hervey <edward@centricular.com>
+
+ * ext/adaptivedemux2/hls/m3u8.c:
+ hlsdemux2: No longer re-add segments from before the playlist
+ When updating playlists, there is a possibility that the playlists don't
+ perfectly align, but the last entry of the previous playlist is *just* before
+ the first entry of the new playlist.
+ In those cases, we still can transfer the timing information from one playlist
+ to another, but we do not want to return that segment as being the matching one.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2679>
+
+2022-06-01 15:45:23 +0200 Edward Hervey <edward@centricular.com>
+
+ * ext/adaptivedemux2/hls/gsthlsdemux.c:
+ hlsdemux2: Use variant stream as support for synchronizing playlists
+ When matching playlists, there is a possibility that rendition streams will not
+ have been updated in time (for example because that stream started later, or
+ playback was paused). This would cause several playback failures and seeking
+ failures.
+ In order to still fall back on our feet, attempt to synchronize that rendition
+ playlist against the current variant playlist. This will attempt to match the
+ stream time using SN/DNS/PDT/...
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2679>
+
+2022-05-23 15:51:23 +0200 Edward Hervey <edward@centricular.com>
+
+ * ext/adaptivedemux2/hls/gsthlsdemux.c:
+ * ext/adaptivedemux2/hls/m3u8.c:
+ * ext/adaptivedemux2/hls/m3u8.h:
+ hlsdemux2: Detect synchronization loss
+ If we have been updating too slowly and have gone out of the current live
+ window, inform the baseclass accordingly.
+ This is different from the case where we have been updating quicker than what
+ the server provides.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2679>
+
+2022-05-23 15:48:16 +0200 Edward Hervey <edward@centricular.com>
+
+ * ext/adaptivedemux2/hls/gsthlsdemux.c:
+ hlsdemux2: More improvement/fixes to position tracking
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2679>
+
+2022-05-23 15:43:04 +0200 Edward Hervey <edward@centricular.com>
+
+ * ext/adaptivedemux2/gstadaptivedemux-private.h:
+ * ext/adaptivedemux2/gstadaptivedemux-stream.c:
+ * ext/adaptivedemux2/gstadaptivedemux.c:
+ * ext/adaptivedemux2/gstadaptivedemux.h:
+ adaptivedemux2: Handle loss of synchronization
+ Add a new custom GstFlowReturn so that subclasses can notify that they have lost
+ live synchronization.
+ When that happens, do a flushing seek back to the live position
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2679>
+
+2022-05-23 09:11:24 +0200 Edward Hervey <edward@centricular.com>
+
+ * ext/adaptivedemux2/gstadaptivedemux.c:
+ adaptivedemux2: Fix SNAP seek handling
+ * Since only flushing seeks are allowed, the "current" position is always the
+ global output position (and not "some" stream current position).
+ * In terms of figuring out to which stream to "snap" to, we can send it to any
+ selected stream. Removes the requirement of this function to a specific output
+ pad.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2679>
+
+2022-05-17 07:16:48 +0200 Edward Hervey <edward@centricular.com>
+
+ * ext/adaptivedemux2/hls/gsthlsdemux.c:
+ * ext/adaptivedemux2/hls/gsthlsdemux.h:
+ hlsdemux2: Fix position tracking
+ Remove the "pending advance" hack and instead rely on the base stream current
+ position to track our position (instead of a potentially NULL "current
+ segment").
+ Also ensure the media playlists are always refreshed with valid stream time,
+ even if there is no current segment.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2679>
+
+2022-05-17 07:11:17 +0200 Edward Hervey <edward@centricular.com>
+
+ * ext/adaptivedemux2/hls/m3u8.c:
+ * ext/adaptivedemux2/hls/m3u8.h:
+ hlsdemux2: Add a new method to synchronize two media playlist
+ This allows transfering the stream time of the playlist to an updated
+ variant/rendition.
+ This allows updating that information without having a "current segment"
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2679>
+
+2022-05-17 07:07:23 +0200 Edward Hervey <edward@centricular.com>
+
+ * ext/adaptivedemux2/gstadaptivedemux-stream.c:
+ * ext/adaptivedemux2/gstadaptivedemux.c:
+ adaptivedemux2: Initialize and use stream start/current position
+ The stream start and current position would be properly set when seeking or
+ activating a stream after playback started. But it would never be properly
+ initialized.
+ Set it to NONE initially to indicate to subclasses that no position has been
+ tracked yet. This will allow them to detect initial stream usage.
+ Futhermore, once the initial streams setup is done, make sure that it is set to
+ a valid initial value:
+ * The minimum stream time in live
+ * Or else the period start
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2679>
+
+2022-05-19 15:51:03 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2/gstv4l2videodec.c:
+ v4l2videodec: Fix activation of internal pool
+ If the driver does not support VIDIOC_CREATE_BUFS ioctl, the pool
+ configuration may get changed, which requires a validation. This would
+ fail to activate a pool in a case it shouldn't normally fail unless we
+ are out of memory.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2456>
+
+2022-06-28 01:29:06 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ext/dv/meson.build:
+ dv, opusparse: fix duplicate symbols in static build
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1262
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2670>
+
+2022-06-25 19:50:10 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * tests/check/meson.build:
+ tests: skip unit tests for dependency-less elements that have been disabled
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1136
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2660>
+
+2022-06-24 12:10:02 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * tests/examples/jack/meson.build:
+ examples: don't try and build jack examples if jack was disabled
+ Fixes meson build ERROR: Unknown variable "libjack_dep".
+ Fixes #1301
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2656>
+
+2022-06-17 14:02:54 +0200 Marc Leeman <m.leeman@televic.com>
+
+ * gst/rtpmanager/rtpsession.c:
+ rtpsession: properly initialise favor-new property
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2625>
+
+2022-05-27 11:20:06 +0200 Edward Hervey <edward@centricular.com>
+
+ * ext/adaptivedemux2/hls/gsthlsdemux-util.c:
+ hlsdemux2: Look for mpegts synchronization point further
+ Some mpeg-ts streams have extra data at the beginning. While it's not ideal, we
+ should be able to cope with it.
+ Therefore increase the initial search window for at least 4 consecutive
+ synchronization points to 1kB.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2626>
+
+2022-05-18 10:23:15 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/matroska/matroska-demux.c:
+ matroskademux: Avoid integer-overflow resulting in heap corruption in WavPack header handling code
+ blocksize + WAVPACK4_HEADER_SIZE might overflow gsize, which then
+ results in allocating a very small buffer. Into that buffer blocksize
+ data is memcpy'd later which then causes out of bound writes and can
+ potentially lead to anything from crashes to remote code execution.
+ Thanks to Adam Doupe for analyzing and reporting the issue.
+ CVE: CVE-2022-1920
+ https://gstreamer.freedesktop.org/security/sa-2022-0004.html
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1226
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2612>
+
+2022-05-30 10:15:37 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/isomp4/qtdemux.c:
+ qtdemux: Fix integer overflows in zlib decompression code
+ Various variables were of smaller types than needed and there were no
+ checks for any overflows when doing additions on the sizes. This is all
+ checked now.
+ In addition the size of the decompressed data is limited to 200MB now as
+ any larger sizes are likely pathological and we can avoid out of memory
+ situations in many cases like this.
+ Also fix a bug where the available output size on the next iteration in
+ the zlib decompression code was provided too large and could
+ potentially lead to out of bound writes.
+ Thanks to Adam Doupe for analyzing and reporting the issue.
+ CVE: tbd
+ https://gstreamer.freedesktop.org/security/sa-2022-0003.html
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1225
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2610>
+
+2022-05-18 11:24:37 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/matroska/matroska-read-common.c:
+ matroskademux: Fix integer overflows in zlib/bz2/etc decompression code
+ Various variables were of smaller types than needed and there were no
+ checks for any overflows when doing additions on the sizes. This is all
+ checked now.
+ In addition the size of the decompressed data is limited to 120MB now as
+ any larger sizes are likely pathological and we can avoid out of memory
+ situations in many cases like this.
+ Also fix a bug where the available output size on the next iteration in
+ the zlib/bz2 decompression code was provided too large and could
+ potentially lead to out of bound writes.
+ Thanks to Adam Doupe for analyzing and reporting the issue.
+ CVE: CVE-2022-1922, CVE-2022-1923, CVE-2022-1924, CVE-2022-1925
+ https://gstreamer.freedesktop.org/security/sa-2022-0002.html
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1225
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2610>
+
+2022-05-18 12:00:48 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/avi/gstavidemux.c:
+ avidemux: Fix integer overflow resulting in heap corruption in DIB buffer inversion code
+ Check that width*bpp/8 doesn't overflow a guint and also that
+ height*stride fits into the provided buffer without overflowing.
+ Thanks to Adam Doupe for analyzing and reporting the issue.
+ CVE: CVE-2022-1921
+ See https://gstreamer.freedesktop.org/security/sa-2022-0001.html
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1224
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2608>
+
+2022-05-19 04:16:25 +0000 Adam Doupe <adamdoupe@gmail.com>
+
+ * gst/smpte/gstmask.c:
+ smpte: Fix integer overflow with possible heap corruption in GstMask creation.
+ Check that width*height*sizeof(guint32) doesn't overflow when
+ allocated user_data for mask, potential for heap overwrite when
+ inverting.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1231
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2603>
+
+2022-06-14 23:03:26 +0200 Piotr Brzeziński <piotr@centricular.com>
+
+ * ext/adaptivedemux2/dash/gstmpd-prelude.h:
+ * ext/adaptivedemux2/dash/gstmpdhelper.h:
+ * ext/adaptivedemux2/dash/gstmpdnode.h:
+ * ext/adaptivedemux2/dash/gstmpdparser.h:
+ * ext/adaptivedemux2/dash/gstxmlhelper.h:
+ * ext/adaptivedemux2/hls/gsthlsdemux.c:
+ * ext/adaptivedemux2/hls/gsthlselement.c:
+ * ext/adaptivedemux2/hls/gsthlselements.h:
+ * ext/adaptivedemux2/hls/m3u8.c:
+ * ext/adaptivedemux2/mss/gstmss-prelude.h:
+ * ext/adaptivedemux2/mss/gstmssdemux.c:
+ * ext/adaptivedemux2/mss/gstmssdemux.h:
+ * ext/adaptivedemux2/mss/gstmssfragmentparser.h:
+ * ext/adaptivedemux2/mss/gstmssmanifest.h:
+ * ext/soup/gstsouploader.c:
+ * ext/soup/gstsouploader.h:
+ * tests/check/elements/hlsdemux_m3u8.c:
+ adaptivedemux2: Prevent duplicate symbols on static builds
+ Uses prelude header files with #defines to rename DASH and MSS
+ symbols duplicated in their old standalone versions.
+ Also redefines soup-related functions when building it for
+ adaptivedemux2 to prevent symbol conflicts there.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2534>
+
+2022-05-12 02:51:00 +1000 Jan Schmidt <jan@centricular.com>
+
+ * ext/adaptivedemux2/gstadaptivedemux-track.c:
+ * ext/adaptivedemux2/gstadaptivedemux.h:
+ adaptivedemux2: Improve reverse playback buffering.
+ In reverse playback, store the lowest running time in each GOP
+ as the input_time for buffering purposes. That means we end up
+ storing at least a complete GOP before declaring buffering
+ 100%
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2510>
+
+2022-04-08 23:06:09 +1000 Jan Schmidt <jan@centricular.com>
+
+ * docs/gst_plugins_cache.json:
+ * ext/adaptivedemux2/gstadaptivedemux-private.h:
+ * ext/adaptivedemux2/gstadaptivedemux-track.c:
+ * ext/adaptivedemux2/gstadaptivedemux.c:
+ adaptivedemux2: reverse playback running times
+ Account for running time moving non-monotonically in
+ reverse playback by tracking the highest running time
+ seen at each point.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2510>
+
+2022-04-06 12:56:30 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ext/adaptivedemux2/hls/m3u8.h:
+ * gst/rtpmanager/gstrtpjitterbuffer.c:
+ * gst/rtpmanager/gstrtpst2022-1-fecenc.c:
+ * gst/udp/gstudpelement.c:
+ * meson.build:
+ Bump GLib requirement to >= 2.62
+ Can't require 2.64 yet because of
+ https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/323
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2568>
+
+2022-06-08 14:11:57 +0200 Marc Leeman <m.leeman@televic.com>
+
+ * docs/gst_plugins_cache.json:
+ * gst/udp/gstmultiudpsink.c:
+ fix trivial distination -> destination
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2573>
+
+2022-04-21 12:47:31 +0200 Ignacio Casal Quinteiro <qignacio@amazon.com>
+
+ * sys/osxaudio/gstosxcoreaudiohal.c:
+ osxaudio: remove usage of goto
+ It is easier to follow the code without the goto now
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2251>
+
+2022-03-30 12:59:46 +0200 Ignacio Casal Quinteiro <qignacio@amazon.com>
+
+ * sys/osxaudio/gstosxcoreaudiohal.c:
+ osxaudio: support hidden devices
+ macOS features hidden devices. These are devices that will
+ not be shown in the macOS UIs and that cannot be retrieved
+ without having the specific UID of the hidden device. There
+ are cases when you might want to have a hidden device, for example
+ when having a virtual speaker that forwards the data to a virtual
+ hidden input device from which you can then grab the audio.
+ The blackhole project supports these hidden devices and
+ this patch provides a way that if the device id is a hidden
+ device it will use it instead of check the hardware list of devices
+ to understand if the device is valid.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2251>
+
+2022-04-20 18:12:02 +0200 Ignacio Casal Quinteiro <qignacio@amazon.com>
+
+ * sys/osxaudio/gstosxcoreaudiohal.c:
+ osx: fix indent
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2251>
+
+2022-03-30 12:48:02 +0200 Ignacio Casal Quinteiro <qignacio@amazon.com>
+
+ * sys/osxaudio/gstosxcoreaudiohal.c:
+ osxaudio: iterate device only if needed
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2251>
+
+2022-03-30 09:59:59 +0200 Ignacio Casal Quinteiro <qignacio@amazon.com>
+
+ * sys/osxaudio/gstosxcoreaudiohal.c:
+ osxaudio: reduce scope of default device id variable
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2251>
+
+2022-06-07 17:31:43 +0200 Bastien Nocera <hadess@hadess.net>
+
+ * ext/gtk/gtkgstglwidget.c:
+ gtk: Fix double-free when OpenGL can't be initialised
+ gtk_gl_area_get_error() doesn't return a copy of the error, but just the
+ error. If initialising OpenGL fails, then GtkGstGLWidget will consume
+ the error, and cause GTK to try and display freed memory.
+ ==50914== Invalid read of size 8
+ ==50914== at 0x4C4CB8A: gtk_gl_area_draw_error_screen (gtkglarea.c:663)
+ ==50914== by 0x4C4CB8A: gtk_gl_area_draw (gtkglarea.c:687)
+ ==50914== by 0x4E061CA: gtk_widget_draw_internal (gtkwidget.c:7084)
+ ==50914== by 0x4BAEFB1: gtk_container_propagate_draw (gtkcontainer.c:3854)
+ ==50914== by 0x4D4B6BF: gtk_stack_render (gtkstack.c:2207)
+ ==50914== by 0x4BB4B03: gtk_css_custom_gadget_draw (gtkcsscustomgadget.c:159)
+ ==50914== by 0x4BBA4C4: gtk_css_gadget_draw (gtkcssgadget.c:885)
+ ==50914== by 0x4D4D780: gtk_stack_draw (gtkstack.c:2119)
+ ==50914== by 0x4E061CA: gtk_widget_draw_internal (gtkwidget.c:7084)
+ ==50914== by 0x4BAEFB1: gtk_container_propagate_draw (gtkcontainer.c:3854)
+ ==50914== by 0x4BAF0C3: gtk_container_draw (gtkcontainer.c:3674)
+ ==50914== by 0x4E061CA: gtk_widget_draw_internal (gtkwidget.c:7084)
+ ==50914== by 0x4BAEFB1: gtk_container_propagate_draw (gtkcontainer.c:3854)
+ ==50914== Address 0x187a0818 is 8 bytes inside a block of size 16 free'd
+ ==50914== at 0x48480E4: free (vg_replace_malloc.c:872)
+ ==50914== by 0x49A5B8C: g_free (gmem.c:218)
+ ==50914== by 0x49C1013: g_slice_free1 (gslice.c:1183)
+ ==50914== by 0x4990DE4: g_error_free (gerror.c:870)
+ ==50914== by 0x4990FE9: g_clear_error (gerror.c:1052)
+ ==50914== by 0x1A489780: _get_gl_context (gtkgstglwidget.c:540)
+ ==50914== by 0x1A4863CB: gst_gtk_invoke_func (gstgtkutils.c:39)
+ ==50914== by 0x49A3834: g_main_context_invoke_full (gmain.c:6137)
+ ==50914== by 0x1A486450: gst_gtk_invoke_on_main (gstgtkutils.c:59)
+ ==50914== by 0x1A48A29E: gtk_gst_gl_widget_init_winsys (gtkgstglwidget.c:632)
+ ==50914== by 0x1A4887E7: gst_gtk_gl_sink_start (gstgtkglsink.c:267)
+ ==50914== by 0x6579810: gst_base_sink_change_state (gstbasesink.c:5662)
+ ==50914== Block was alloc'd at
+ ==50914== at 0x484586F: malloc (vg_replace_malloc.c:381)
+ ==50914== by 0x49A9278: g_malloc (gmem.c:125)
+ ==50914== by 0x49C1BA5: g_slice_alloc (gslice.c:1072)
+ ==50914== by 0x49C3BCC: g_slice_alloc0 (gslice.c:1098)
+ ==50914== by 0x499096B: g_error_allocate (gerror.c:708)
+ ==50914== by 0x4990AF1: UnknownInlinedFun (gerror.c:722)
+ ==50914== by 0x4990AF1: g_error_copy (gerror.c:892)
+ ==50914== by 0x4C4B9F9: gtk_gl_area_set_error (gtkglarea.c:1036)
+ ==50914== by 0x4C4BAF7: gtk_gl_area_real_create_context (gtkglarea.c:346)
+ ==50914== by 0x4B21B28: _gtk_marshal_OBJECT__VOIDv (gtkmarshalers.c:2730)
+ ==50914== by 0x4920B78: UnknownInlinedFun (gclosure.c:893)
+ ==50914== by 0x4920B78: g_signal_emit_valist (gsignal.c:3406)
+ ==50914== by 0x4920CB2: g_signal_emit (gsignal.c:3553)
+ ==50914== by 0x4C4B927: gtk_gl_area_realize (gtkglarea.c:308)
+ Reproduced by running:
+ MESA_GL_VERSION_OVERRIDE=2.7 totem
+ See https://gitlab.gnome.org/GNOME/totem/-/issues/522
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2565>
+
+2022-06-06 12:31:52 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/flv/gstflvdemux.c:
+ * gst/flv/gstflvdemux.h:
+ flvdemux: Make use of the streams API if used in a streams-aware bin
+ This allows adding audio/video streams after 6s.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2559>
+
+2022-06-03 18:35:54 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/audioparsers/gstaacparse.c:
+ aacparse: Avoid mismatch between src_caps and output_header_type
+ If our downstream caps didn't intersect, we attempted to convert between
+ raw and ADTS stream formats, if possible. If the caps still did not
+ intersect, we then used the modified `src_caps` but left the
+ `output_header_type` unmodified.
+ This caused a mismatch between caps and actual stream format.
+ Avoid this by first copying the `src_caps` to `convcaps` for the
+ additional intersection tests, replacing `src_caps` if we succeed.
+ While we're here, clean up the code a bit and remove the `codec_data`
+ field from outgoing ADTS caps.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2550>
+
+2022-06-04 10:27:09 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/flv/gstflvdemux.c:
+ * gst/flv/gstflvelement.c:
+ flvdemux: Actually make use of the debug category
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2552>
+
+2022-06-01 16:14:24 +0200 Stéphane Cerveau <scerveau@collabora.com>
+
+ * ext/soup/gstsoup.c:
+ * ext/soup/gstsoupelement.c:
+ * ext/soup/gstsouploader.c:
+ soup: fix soup debug category
+ Use soup debug category in souploader
+ for soup plugin element load.
+ Inititalize properly soup utils category.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2535>
+
+2022-05-29 06:05:27 +0900 Seungha Yang <seungha@centricular.com>
+
+ * ext/adaptivedemux2/hls/m3u8.c:
+ hlsdemux2: Adjust debug log level
+ HLS manifest might not be represented by a single common caps
+ when different codecs are mixed in a playlist, but it
+ does not seem to be a critical issue we need to warn.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2516>
+
+2022-05-02 16:55:34 +0200 Stéphane Cerveau <scerveau@collabora.com>
+
+ * ext/adaptivedemux2/dash/gstdashdemux.c:
+ * ext/adaptivedemux2/dash/gstdashdemux.h:
+ * ext/adaptivedemux2/gstadaptivedemux.c:
+ * ext/adaptivedemux2/gstadaptivedemuxelement.c:
+ * ext/adaptivedemux2/gstadaptivedemuxelements.h:
+ * ext/adaptivedemux2/hls/gsthlsdemux.c:
+ * ext/adaptivedemux2/hls/gsthlsdemux.h:
+ * ext/adaptivedemux2/meson.build:
+ * ext/adaptivedemux2/mss/gstmssdemux.c:
+ * ext/adaptivedemux2/mss/gstmssdemux.h:
+ * ext/adaptivedemux2/plugin.c:
+ adaptivedemux2: fix plugin/element init
+ In case of per features registration such as the
+ customizable gstreamer-full library, each
+ element should check that the soup library can be loaded to
+ facilitate the element registration.
+ Initialize the debug categories properly
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2348>
+
+2022-05-29 20:27:38 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst/rtpmanager/gstrtpptdemux.c:
+ rtpptdemux: Don't GST_FLOW_ERROR when ignoring invalid packets
+ https://bugzilla.gnome.org/show_bug.cgi?id=741398 changed
+ rtpptdemux in 2014 to not post a GST_ELEMENT_ERROR on the
+ bus when dropping an invalid (non-RTP) packet, but still
+ returned GST_FLOW_ERROR upstream - so the pipeline still
+ stops, but now without a useful bus error.
+ Return GST_FLOW_OK instead, so the pipeline keeps
+ running. Some old telephony equipment can send invalid
+ packets before the real RTP traffic starts.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2520>
+
+2022-05-28 16:46:04 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * ext/jack/gstjackaudiosrc.c:
+ jack: Always use jack_free as specified by the docs
+ Fixes a crash on Windows due to a CRT mismatch. The JACK installation
+ still uses MSVCRT, and we the Universal CRT for both MinGW and MSVC.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2497>
+
+2022-05-26 01:21:43 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * ext/jack/meson.build:
+ jack: Add support for detecting libjack on Windows
+ No source code changes were necessary to get the plugin working on
+ Windows with MSVC.
+ Run QJackCtl and audiotestsrc ! jackaudiosink just works.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2497>
+
+2022-05-24 16:07:13 +0800 Hou Qi <qi.hou@nxp.com>
+
+ * sys/v4l2/gstv4l2object.c:
+ v4l2: Reset transfer in gst_v4l2_object_acquire_format()
+ get_colorspace() checks input caps transfer when mapping V4L2_XFER_FUNC_709
+ back to V4L2_COLORSPACE_BT2020 and GST_VIDEO_TRANSFER_BT2020_12. After
+ receiving source change event, decoder will G_FMT and S_FMT again. So need
+ to reset transfer when acquiring format to avoid using the old transfer.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2475>
+
+2022-05-25 13:00:58 +0200 Piotrek Brzeziński <piotr@centricular.com>
+
+ * gst/cutter/gstcutter.c:
+ * gst/cutter/gstcutter.h:
+ cutter: Include running/stream-time in messages
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2490>
+
+2022-05-03 11:34:15 +0200 Stéphane Cerveau <scerveau@collabora.com>
+
+ * ext/soup/gstsoup.c:
+ * ext/soup/gstsoupelement.c:
+ * ext/soup/gstsoupelements.h:
+ * ext/soup/gstsouphttpclientsink.c:
+ * ext/soup/gstsouphttpsrc.c:
+ soup: Fix plugin/element init
+ In case of per features registration such as the
+ customizable gstreamer-full library, each
+ element should check that the soup library can be loaded to
+ facilitate the element registration.
+ Initialize the debug category properly
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2349>
+
+2022-05-23 21:24:40 -0400 Eli Schwartz <eschwartz@archlinux.org>
+
+ * meson.build:
+ meson: use better zlib dependency fallback
+ zlib is required, and if it isn't found it is checked several ways and
+ then forced via subproject(). This code was added in commit
+ b93e37592a3ccc0eaece1c8fef2d362b1e5fe685, to account for systems where
+ zlib doesn't have pkg-config files installed.
+ But Meson already does dependency fallback, and also, since 0.54.0, does
+ the in-between checks for find_library('z') and has_header('zlib.h') via
+ the "system" type dependency. Simplify dependency lookup by marking it
+ as required, which also makes sure that the console log doesn't
+ confusingly list "not found".
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2484>
+
+2022-05-19 16:33:47 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2/gstv4l2videodec.c:
+ v4l2videodec: Fix missing handling of resolution-change
+ The pool process function may poll and get the resolution-change event
+ whenever it is not possible to share our buffers. This typically happen
+ when downstream does not support GstVideoMeta.
+ Not handling this would cause the decoder thread to exit silently and the
+ pipeline to stall.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2457>
+
+2022-05-19 16:39:14 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2/gstv4l2videodec.c:
+ v4l2videodec: Downgrade to info resolution-change trace
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2457>
+
+2022-05-23 20:23:38 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ext/shout2/gstshout2.c:
+ * ext/shout2/gstshout2.h:
+ * ext/shout2/meson.build:
+ shout2: fix compiler warnings and bump req to libshout >= 2.4.2
+ Fix compiler warnings with latest libshout version (2.4.6).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2473>
+
+2022-05-14 14:58:04 +0200 László Károlyi <laszlo@karolyi.hu>
+
+ * docs/gst_plugins_cache.json:
+ * ext/shout2/gstshout2.c:
+ * ext/shout2/gstshout2.h:
+ shout2send: Adding send-title-info and user-agent options
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2420>
+
+2022-05-19 11:47:57 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/isomp4/qtdemux.c:
+ * gst/isomp4/qtdemux.h:
+ qtdemux: Add support for ONVIF XML Timed MetaData
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2453>
+
+2022-05-19 11:30:20 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/isomp4/fourcc.h:
+ * gst/isomp4/qtdemux_dump.c:
+ * gst/isomp4/qtdemux_types.c:
+ qtdemux: Add parsing/dumping of nmhd / metx boxes
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2453>
+
+2022-05-19 11:06:31 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/isomp4/fourcc.h:
+ * gst/isomp4/qtdemux.c:
+ qtdemux: Parse styp box for informational purposes
+ And include some more details in the debug logs for the ftyp box too.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2453>
+
+2022-05-10 16:20:46 +0800 Hou Qi <qi.hou@nxp.com>
+
+ * sys/v4l2/gstv4l2object.c:
+ v4l2: set default resolution if caps has no such information
+ Output may attemp to set the width and height to zero values if
+ caps has no such information, which will cause capture get invalid
+ dimensions. Then decoder reports negotiation failure.
+ So need to set default resolution if caps has no such information.
+ Real values can be set again until source change event is signaled.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2400>
+
+2022-05-17 05:21:19 +1000 Jan Schmidt <jan@centricular.com>
+
+ * gst/multifile/gstsplitmuxpartreader.c:
+ splitmuxsrc: Re-queue sticky events after probing.
+ When processing the first event after probing the
+ file and being activated, requeue sticky events
+ as there's no requirement that demuxers send tag
+ and other events again after a seek - that's
+ why they're sticky.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2432>
+
+2022-05-16 14:14:46 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/deinterlace/gstdeinterlace.c:
+ deinterlace: Clean up error handling in chain and _push_history
+ - Consistently unref the chained buffer at the end of the chain
+ function, if we're not handing it off to `gst_pad_push`. This avoids a
+ few buffer leaks in the error paths in `_chain` and `_push_history`.
+ - When mapping the video frame fails, return a flow error instead of
+ crashing.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2428>
+
+2022-05-16 14:40:41 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/multifile/gstsplitmuxsink.c:
+ * gst/multifile/gstsplitmuxsink.h:
+ splitmuxsink: When flushing, exit handle_mq_input quickly
+ If we just break the loop, we might run into the `gop != NULL` assert
+ that follows it. Rather, exit immediately with flushing flow.
+ Also use this flushing mechanism when we release a pad. This avoids
+ having an extra flag.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1030>
+
+2021-01-26 16:33:25 +0100 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/multifile/gstsplitmuxsink.c:
+ splitmuxsink: Avoid deadlock on release, harder
+ Unlock after broadcasting and wait for the pad to be free before
+ relocking the muxer, giving the input probe a chance to react to our
+ broadcast.
+ Improves the fix from
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/838.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1030>
+
+2022-05-16 19:31:18 +0900 Shingo Kitagawa <shingogo@hotmail.co.jp>
+
+ * gst/wavparse/gstwavparse.c:
+ wavparse: fix typo in debug message
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2425>
+
+2022-05-13 01:42:21 +0000 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst/rtpmanager/gstrtpbin.c:
+ rtpbin: Avoid holding lock GST_RTP_BIN_LOCK when emitting pad-added
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2411>
+
+2022-05-12 17:11:38 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/isomp4/qtdemux.c:
+ qtdemux: Don't use tfdt for parsing subsequent trun boxes
+ The timestamp in the tfdt refers to the first trun box and if there are
+ multiple trun boxes then the distance between the first timestamps will
+ grow.
+ At some point this distance reaches a threshold and triggers the
+ resetting of the first sample's timestamp of this trun box to be reset
+ to the tfdt.
+ This threshold is implemented for files where there is a jump in the
+ timeline between fragments and where this can be detected via a jump
+ between the end timestamp of the previous fragment and the tfdt of the
+ next. This behaviour is preserved.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2409>
+
+2022-05-11 16:20:42 +0200 Guillaume Desmottes <guillaume.desmottes@onestream.live>
+
+ * ext/vpx/gstvpxenc.c:
+ * ext/vpx/gstvpxenc.h:
+ vpxenc: enforce strictly increasing pts
+ From vpx_codec_encode() documentation:
+ "The presentation time stamp (PTS) MUST be strictly increasing."
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2405>
+
+2022-05-11 15:37:44 +0200 Guillaume Desmottes <guillaume.desmottes@onestream.live>
+
+ * ext/vpx/gstvpxenc.c:
+ vpxenc: conver input pts to running time
+ The input pts needs to be strictly increasing, see vpx_codec_encode() doc, so convert it to
+ running time as we don't want to reset the encoder for each segment.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2405>
+
+2022-05-11 15:18:42 +0200 Guillaume Desmottes <guillaume.desmottes@onestream.live>
+
+ * ext/vpx/gstvpxenc.c:
+ vpxenc: fix crash if encoder produces unmatching ts
+ If for some reason the encoder produces frames with a pts higher than
+ the input one, we were dropping all the video encoder frames and ended
+ up crashing when trying to access the pts of a NULL pointer returned by
+ gst_video_encoder_get_oldest_frame().
+ I hit this scenario by feeding a decreasing timestamp to vp8enc which
+ seem to confuse the encoder.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2405>
+
+2022-04-28 09:19:57 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2/gstv4l2object.c:
+ * sys/v4l2/gstv4l2videoenc.c:
+ v4l2videoenc: Setup crop rectangle if needed
+ Hantro H1 and Rockchip VEPU2 drivers will pad the width/height to a
+ multiple of 16. In order to obtain the right JPEG size, the image needs
+ to be cropped using the S_SELECTION API. This support is added as best
+ effort since older drivers may emulate this by looking at the capture
+ queue width/height.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2329>
+
+2022-05-05 20:36:04 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/isomp4/gstqtmux.c:
+ mp4mux: Disable aggregator's default negotiation
+ mp4mux can't negotiate caps with upstream/downstream and always outputs
+ specific caps based on the input streams. This will always happen before
+ it produces the first buffers.
+ By having the default aggregator negotiation enabled the same caps
+ would be pushed twice in the beginning, and again every time a
+ reconfigure event is received.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2372>
+
+2022-05-05 20:24:57 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/flv/gstflvmux.c:
+ flvmux: Disable aggregator's default negotiation
+ flvmux can't negotiate caps with upstream/downstream and always outputs
+ specific caps based on the input streams. This will always happen before
+ it produces the first buffers.
+ By having the default aggregator negotiation enabled the same caps
+ would be pushed twice in the beginning, and again every time a
+ reconfigure event is received.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2372>
+
+2022-05-03 17:27:32 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst/wavparse/gstwavparse.c:
+ wavparse: ensure that any pending segment is sent before an EOS event is sent
+ Specifically fixes seqnum handling when an aggregator-based element
+ (audiomixer et al) is downstream and a seek is performed that
+ immediately causes an EOS from wavparse.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2356>
+
+2022-04-29 23:33:47 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/rtpmanager/gstrtpjitterbuffer.c:
+ rtpjitterbuffer: Free CNAME/SSRC mappings on finalize and PAUSED->READY
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2336>
+
+2022-04-29 23:13:15 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/rtpmanager/gstrtpbin.c:
+ * gst/rtpmanager/gstrtpjitterbuffer.c:
+ rtpmanager: Refactor RTCP packet loops to fix control flow
+ Mixing C loops with switch statements is a bad idea as break has a
+ different meaning in both. Breaking inside the switch statements wrongly
+ caused further loop iterations.
+ Instead use goto to get out of the loop and continue to do another loop
+ iteration, and never ever use break except for the end of a case.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2336>
+
+2022-04-28 00:58:30 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/rtpmanager/gstrtpjitterbuffer.c:
+ rtpjitterbuffer: Initialize variables
+ Avoid use of uninitialized variable
+ Fixing MSVC warning
+ gstrtpjitterbuffer.c(4733) : warning C4700: uninitialized local variable 'have_sdes' used
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2315>
+
+2022-04-28 10:49:55 +0200 Edward Hervey <edward@centricular.com>
+
+ * ext/adaptivedemux2/mss/gstmssdemux.c:
+ mssdemux2: Don't expose/use streams we can't handle yet
+ Avoids issues further down
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2319>
+
+2022-04-28 10:46:34 +0200 Edward Hervey <edward@centricular.com>
+
+ * ext/adaptivedemux2/mss/gstmssdemux.c:
+ * ext/adaptivedemux2/mss/gstmssmanifest.c:
+ * ext/adaptivedemux2/mss/gstmssmanifest.h:
+ mssdemux2: Ensure stream/track uniqueness
+ If there is more than one track of the same type (say audio), we would end up
+ creating several stream/types with the same name.
+ Instead use the MSS stream name property to make them unique
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2319>
+
+2022-04-27 12:24:23 +0900 dongil.park <dongil.park@lge.com>
+
+ * gst/wavparse/gstwavparse.c:
+ wavparse: Unset DISCONT buffer flag for divided into multiple buffers in push mode
+ In push mode (streaming), if the received chunk buffer size from _chain is bigger
+ than output buffer size, the flags of the divided-buffers are propagated to the
+ DISCONT flag from first received chunk buffer. This unexpected buffers contained DISCONT
+ flags are abnormally transformed when changing the sampling rate by audioresample element.
+ So unset unnecessary DISCONT flag before pad_push().
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2305>
+
+2022-04-26 22:17:51 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * docs/gst_plugins_cache.json:
+ * gst/rtpmanager/gstrtpbin.c:
+ * gst/rtpmanager/gstrtpjitterbuffer.c:
+ rtpjitterbuffer: add the reference timestamp meta in more situations
+ Previously, we only added it when actually performing synchronization
+ based on the NTP time.
+ The information can be useful downstream in other situations too, and
+ we can compute a NTP time as soon as we get a sender report with the
+ relevant information.
+ Co-authored-by: Mathieu Duponchelle <mathieu@centricular.com>
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2252>
+
+2022-04-20 17:35:29 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/rtp/gstrtpgstpay.c:
+ * gst/rtp/gstrtpgstpay.h:
+ rtpgstpay: Don't push packets before the first input buffer is received
+ It's not possible to create a valid RTP timestamp for them, which would
+ cause a potentially very big RTP timestamp discontinuity between those
+ first packets (created from initial events) and the packet based on the
+ first input buffer.
+ As a side-effect, also simplify the packet aggregation code a bit and
+ work with only a single level of buffer lists.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1157
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2250>
+
+2022-04-22 12:19:03 +0200 Havard Graff <havard@pexip.com>
+
+ * gst/rtpmanager/rtptwcc.c:
+ rtptwcc: don't map the buffer twice
+ ...and use the pt extracted rather than the one from RTPPacketInfo
+ when logging.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2271>
+
+2022-04-22 02:41:16 +0000 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst/rtpmanager/rtpsession.c:
+ rtpsession: Emit "notify::stats" when we update stats from RR or SR
+ Sensibily optimizing caching the pspecs and using them directly
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2266>
+
+2022-04-23 01:57:53 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gst/rtp/gstrtpredenc.c:
+ * gst/rtp/gstrtpredenc.h:
+ rtpredenc: quieten warning about ignoring header extensions
+ Turn it into a FIXME, and only log once
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2279>
+
+2021-02-01 10:36:42 +0100 Havard Graff <havard.graff@gmail.com>
+
+ * gst/rtpmanager/gstrtprtxsend.c:
+ * tests/check/elements/rtprtx.c:
+ rtprtxsend: mark RTX buffers with GST_RTP_BUFFER_FLAG_RETRANSMISSION
+ It is useful for elements downstream from rtxsend to know if the RTP
+ buffer they are dealing with is an RTX buffer or not.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2272>
+
+2022-04-19 18:40:31 -0400 Tristan Matthews <tmatth@videolan.org>
+
+ * docs/gst_plugins_cache.json:
+ * gst/isomp4/gstqtmux.c:
+ mp4mux: fix spelling
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2241>
+
+2022-01-21 14:21:18 +0100 Jonas Bonn <jonas@norrbonn.se>
+
+ * gst/udp/gstmultiudpsink.c:
+ multiudpsink: allow binding to IPv6 address
+ When the sink is configured to create sockets with an explicit bind
+ address, then the created socket gets set to the udp_socket field
+ irregardless of whether the bind address indicated that the socket
+ family should be IPv4 or IPv6. When binding to an IPv6 address, this
+ results in the following error:
+ gstmultiudpsink.c:1285:gst_multiudpsink_configure_client:<rtcpsink>
+ error: Invalid address family (got 10)
+ This patch adds a check of the address family being bound to and sets
+ the created socket to used_socket or used_socket_v6, accordingly.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1551>
+
+2022-04-18 18:20:00 +0900 Camilo Celis Guzman <camilo@pexip.com>
+
+ * tests/check/elements/rtphdrextsdes.c:
+ rtphdrextsdes: fixup test trying to g_free a local variable
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2235>
+
+2022-04-21 11:47:55 +0200 Edward Hervey <edward@centricular.com>
+
+ * ext/adaptivedemux2/hls/m3u8.c:
+ hls/m3u8: Fix starting segment for live playlist
+ RFC 8216 6.3.3 "Playing the Media Playlist File" : states that for live media
+ playlists "the client SHOULD NOT choose a segment that starts less than three
+ target durations from the end of the Playlist file"
+ This is an off-by-one error. Since we are looking for the "index" of the
+ segment, we need to subtract 1 from the searched position.
+ Ex: For a playlist with 12 entries, we want to start playback on the 9th segment
+ ... which is at index 8.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2259>
+
+2022-04-20 14:50:35 +0200 Edward Hervey <edward@centricular.com>
+
+ * ext/adaptivedemux2/hls/gsthlsdemux-util.c:
+ hls: Relax webvtt checks
+ If no hour field is present (which is allowed), the remaining data can be less
+ than 15 character.
+ Fix time translation failures if the hour field wasn't present
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2248>
+
+2022-04-20 10:53:16 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/rtpmanager/gstrtpbin.c:
+ * gst/rtpmanager/gstrtpfunnel.c:
+ * gst/rtpmanager/gstrtpjitterbuffer.c:
+ * gst/rtpmanager/gstrtpsession.c:
+ * gst/rtpmanager/gstrtputils.c:
+ * gst/rtpmanager/gstrtputils.h:
+ * gst/rtpmanager/meson.build:
+ * gst/rtpmanager/rtpsession.c:
+ * gst/rtpmanager/rtptwcc.c:
+ rtpmanager: Move some duplicated constant and helper function to a single place
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132>
+
+2022-04-18 16:22:50 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/rtpmanager/gstrtpbin.c:
+ * gst/rtpmanager/gstrtpjitterbuffer.c:
+ rtpbin/rtpjitterbuffer: Don't parse RTCP SRs twice unless needed
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132>
+
+2022-04-18 11:50:48 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * docs/gst_plugins_cache.json:
+ * gst/rtpmanager/gstrtpbin.c:
+ * gst/rtpmanager/gstrtpjitterbuffer.c:
+ rtpjitterbuffer: Add property to throttle handling of RTCP SR / NTP-64 syncing
+ This proxies the "rtcp-sync-interval" property of rtpbin.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132>
+
+2022-04-11 19:14:43 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/rtpmanager/rtpsession.c:
+ * gst/rtpmanager/rtpsession.h:
+ rtpsession: Handle RTCP-SR-REQ (RFC6051) RTCP feedback message
+ This causes an RTCP SR to be sent at the earliest possible time.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132>
+
+2022-04-11 19:25:43 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/rtpmanager/gstrtpbin.c:
+ * gst/rtpmanager/gstrtpjitterbuffer.c:
+ rtpbin/rtpjitterbuffer: Allow syncing to an SR without CNAME if the CNAME is already known
+ The RTCP SR packet might be without SDES in case of a reduced-size RTCP
+ packet. For syncing purposes the CNAME is needed but it might be known
+ already from an earlier RTCP packet or out of band, via the SDP for
+ example.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132>
+
+2022-04-07 18:59:07 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/rtpmanager/gstrtpbin.c:
+ * gst/rtpmanager/gstrtpjitterbuffer.c:
+ rtpbin/jitterbuffer: Use inband 64-bit NTP timestamps according to RFC6051 for faster synchronization
+ When signalled via the caps that the header extension is used, it will
+ be read and used in the same way as the RTP/NTP time mapping from RTCP
+ SRs.
+ If the CNAME of the stream's SSRC is provided out of band via e.g. the
+ SDP then this allows streams to be synchronized immediately on the first
+ packet instead of having to wait for the first RTCP SR to arrive.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/383
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132>
+
+2022-04-09 11:00:52 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/rtpmanager/gstrtpsession.c:
+ rtpsession: Only add send latency to the running time if it is actually known
+ Otherwise we can't know the running time yet if rtcp-sync-send-time is
+ set, and have to wait until the latency is known later.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132>
+
+2022-04-06 15:39:14 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/rtpmanager/gstrtpsession.c:
+ * gst/rtpmanager/rtpsession.c:
+ * gst/rtpmanager/rtpsession.h:
+ * gst/rtpmanager/rtpstats.h:
+ rtpsession: Update 64-bit NTP header extensions with the actual NTP time in senders
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132>
+
+2022-04-05 20:05:57 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * docs/gst_plugins_cache.json:
+ * gst/rtpmanager/gstrtphdrext-ntp.c:
+ * gst/rtpmanager/gstrtphdrext-ntp.h:
+ * gst/rtpmanager/gstrtpmanager.c:
+ * gst/rtpmanager/meson.build:
+ rtpmanager: Add header extension implementation for the 64-bit RFC6051 NTP header extension
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132>
+
+2022-03-25 10:18:34 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * meson.build:
+ Always define ENABLE_NLS
+ GLib guarantees libintl API is always available, provided by
+ proxy-libintl as last resort. GLib itself unconditionally define
+ ENABLE_NLS.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028>
+
+2022-03-25 10:20:24 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * gst-libs/gst/gettext.h:
+ * gst-libs/gst/gst-i18n-plugin.h:
+ Delete unused i18n headers
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028>
+
+2022-03-25 09:59:23 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * ext/adaptivedemux2/gstadaptivedemux-stream.c:
+ * ext/adaptivedemux2/gstadaptivedemux.c:
+ * ext/adaptivedemux2/mss/gstmssdemux.c:
+ * ext/flac/gstflacdec.c:
+ * ext/flac/gstflacelement.c:
+ * ext/jack/gstjackaudiosink.c:
+ * ext/jack/gstjackaudiosrc.c:
+ * ext/jpeg/gstjpegdec.c:
+ * ext/lame/gstlamemp3enc.c:
+ * ext/lame/plugin.c:
+ * ext/libpng/gstpngdec.c:
+ * ext/pulse/gstpulseelement.c:
+ * ext/pulse/pulsesink.c:
+ * ext/shout2/gstshout2.c:
+ * ext/soup/gstsoup.c:
+ * ext/soup/gstsoupelement.c:
+ * ext/soup/gstsouphttpsrc.c:
+ * ext/twolame/gsttwolamemp2enc.c:
+ * ext/wavpack/gstwavpackelement.c:
+ * gst/apetag/gstapedemux.c:
+ * gst/avi/gstavidemux.c:
+ * gst/avi/gstavielement.c:
+ * gst/avi/gstavimux.c:
+ * gst/icydemux/gsticydemux.c:
+ * gst/id3demux/gstid3demux.c:
+ * gst/isomp4/gstisomp4element.c:
+ * gst/isomp4/isomp4-plugin.c:
+ * gst/isomp4/qtdemux.c:
+ * gst/multifile/gstsplitmuxsrc.c:
+ * gst/rtsp/gstrtspelement.c:
+ * gst/rtsp/gstrtspsrc.c:
+ * gst/wavparse/gstwavparse.c:
+ * sys/oss/gstossaudio.c:
+ * sys/oss/gstossaudioelement.c:
+ * sys/oss/gstosshelper.c:
+ * sys/oss/gstosssink.c:
+ * sys/oss/gstosssrc.c:
+ * sys/oss4/oss4-audio.c:
+ * sys/oss4/oss4-sink.c:
+ * sys/oss4/oss4-source.c:
+ * sys/osxaudio/gstosxaudioringbuffer.c:
+ * sys/rpicamsrc/gstrpicamsrcdeviceprovider.c:
+ * sys/v4l2/gstv4l2.c:
+ * sys/v4l2/gstv4l2bufferpool.c:
+ * sys/v4l2/gstv4l2element.c:
+ * sys/v4l2/gstv4l2fwhtenc.c:
+ * sys/v4l2/gstv4l2h263enc.c:
+ * sys/v4l2/gstv4l2h264enc.c:
+ * sys/v4l2/gstv4l2h265enc.c:
+ * sys/v4l2/gstv4l2jpegenc.c:
+ * sys/v4l2/gstv4l2mpeg4enc.c:
+ * sys/v4l2/gstv4l2object.c:
+ * sys/v4l2/gstv4l2radio.c:
+ * sys/v4l2/gstv4l2sink.c:
+ * sys/v4l2/gstv4l2src.c:
+ * sys/v4l2/gstv4l2transform.c:
+ * sys/v4l2/gstv4l2videodec.c:
+ * sys/v4l2/gstv4l2videoenc.c:
+ * sys/v4l2/gstv4l2vp8enc.c:
+ * sys/v4l2/gstv4l2vp9enc.c:
+ * sys/v4l2/v4l2_calls.c:
+ * sys/ximage/gstximagesrc.c:
+ Replace gst-i18n-*.h with gi18n-lib.h
+ GLib guarantees libintl is always present, using proxy-libintl as
+ last resort. There is no need to mock gettex API any more.
+ This fix static build on Windows because G_INTL_STATIC_COMPILATION must
+ be defined before including libintl.h, and glib does it for us as part
+ as including glib.h.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028>
+
+2022-04-19 09:52:51 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * tests/check/elements/dash_mpd.c:
+ tests: dash_mpd: fix linker issues with non-optimizing compilers
+ undefined reference to `download_request_take_buffer'
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2117#note_1344646
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2228>
+
+2021-11-12 20:13:10 +0100 Ruben Gonzalez <rgonzalez@fluendo.com>
+
+ * docs/gst_plugins_cache.json:
+ gst_plugin_load_file: force plugin reload if diff filename
+ If a file includes a new version of a plugin that exits in the
+ registry, the output of gst-inspect is incorrect. The output has the
+ correct version but incorrect filename, and element description.
+ This seems to have also fixed some documentation issues.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1344>
+
+2022-03-11 17:11:50 +0100 Edward Hervey <edward@centricular.com>
+
+ * docs/gst_plugins_cache.json:
+ * docs/meson.build:
+ * ext/adaptivedemux2/dash/gstdash_debug.h:
+ * ext/adaptivedemux2/dash/gstdashdemux.c:
+ * ext/adaptivedemux2/dash/gstdashdemux.h:
+ * ext/adaptivedemux2/dash/gstmpdadaptationsetnode.c:
+ * ext/adaptivedemux2/dash/gstmpdadaptationsetnode.h:
+ * ext/adaptivedemux2/dash/gstmpdbaseurlnode.c:
+ * ext/adaptivedemux2/dash/gstmpdbaseurlnode.h:
+ * ext/adaptivedemux2/dash/gstmpdclient.c:
+ * ext/adaptivedemux2/dash/gstmpdclient.h:
+ * ext/adaptivedemux2/dash/gstmpdcontentcomponentnode.c:
+ * ext/adaptivedemux2/dash/gstmpdcontentcomponentnode.h:
+ * ext/adaptivedemux2/dash/gstmpddescriptortypenode.c:
+ * ext/adaptivedemux2/dash/gstmpddescriptortypenode.h:
+ * ext/adaptivedemux2/dash/gstmpdhelper.c:
+ * ext/adaptivedemux2/dash/gstmpdhelper.h:
+ * ext/adaptivedemux2/dash/gstmpdlocationnode.c:
+ * ext/adaptivedemux2/dash/gstmpdlocationnode.h:
+ * ext/adaptivedemux2/dash/gstmpdmetricsnode.c:
+ * ext/adaptivedemux2/dash/gstmpdmetricsnode.h:
+ * ext/adaptivedemux2/dash/gstmpdmetricsrangenode.c:
+ * ext/adaptivedemux2/dash/gstmpdmetricsrangenode.h:
+ * ext/adaptivedemux2/dash/gstmpdmultsegmentbasenode.c:
+ * ext/adaptivedemux2/dash/gstmpdmultsegmentbasenode.h:
+ * ext/adaptivedemux2/dash/gstmpdnode.c:
+ * ext/adaptivedemux2/dash/gstmpdnode.h:
+ * ext/adaptivedemux2/dash/gstmpdparser.c:
+ * ext/adaptivedemux2/dash/gstmpdparser.h:
+ * ext/adaptivedemux2/dash/gstmpdperiodnode.c:
+ * ext/adaptivedemux2/dash/gstmpdperiodnode.h:
+ * ext/adaptivedemux2/dash/gstmpdprograminformationnode.c:
+ * ext/adaptivedemux2/dash/gstmpdprograminformationnode.h:
+ * ext/adaptivedemux2/dash/gstmpdreportingnode.c:
+ * ext/adaptivedemux2/dash/gstmpdreportingnode.h:
+ * ext/adaptivedemux2/dash/gstmpdrepresentationbasenode.c:
+ * ext/adaptivedemux2/dash/gstmpdrepresentationbasenode.h:
+ * ext/adaptivedemux2/dash/gstmpdrepresentationnode.c:
+ * ext/adaptivedemux2/dash/gstmpdrepresentationnode.h:
+ * ext/adaptivedemux2/dash/gstmpdrootnode.c:
+ * ext/adaptivedemux2/dash/gstmpdrootnode.h:
+ * ext/adaptivedemux2/dash/gstmpdsegmentbasenode.c:
+ * ext/adaptivedemux2/dash/gstmpdsegmentbasenode.h:
+ * ext/adaptivedemux2/dash/gstmpdsegmentlistnode.c:
+ * ext/adaptivedemux2/dash/gstmpdsegmentlistnode.h:
+ * ext/adaptivedemux2/dash/gstmpdsegmenttemplatenode.c:
+ * ext/adaptivedemux2/dash/gstmpdsegmenttemplatenode.h:
+ * ext/adaptivedemux2/dash/gstmpdsegmenttimelinenode.c:
+ * ext/adaptivedemux2/dash/gstmpdsegmenttimelinenode.h:
+ * ext/adaptivedemux2/dash/gstmpdsegmenturlnode.c:
+ * ext/adaptivedemux2/dash/gstmpdsegmenturlnode.h:
+ * ext/adaptivedemux2/dash/gstmpdsnode.c:
+ * ext/adaptivedemux2/dash/gstmpdsnode.h:
+ * ext/adaptivedemux2/dash/gstmpdsubrepresentationnode.c:
+ * ext/adaptivedemux2/dash/gstmpdsubrepresentationnode.h:
+ * ext/adaptivedemux2/dash/gstmpdsubsetnode.c:
+ * ext/adaptivedemux2/dash/gstmpdsubsetnode.h:
+ * ext/adaptivedemux2/dash/gstmpdurltypenode.c:
+ * ext/adaptivedemux2/dash/gstmpdurltypenode.h:
+ * ext/adaptivedemux2/dash/gstmpdutctimingnode.c:
+ * ext/adaptivedemux2/dash/gstmpdutctimingnode.h:
+ * ext/adaptivedemux2/dash/gstxmlhelper.c:
+ * ext/adaptivedemux2/dash/gstxmlhelper.h:
+ * ext/adaptivedemux2/downloadhelper.c:
+ * ext/adaptivedemux2/downloadhelper.h:
+ * ext/adaptivedemux2/downloadrequest.c:
+ * ext/adaptivedemux2/downloadrequest.h:
+ * ext/adaptivedemux2/gstadaptivedemux-period.c:
+ * ext/adaptivedemux2/gstadaptivedemux-private.h:
+ * ext/adaptivedemux2/gstadaptivedemux-stream.c:
+ * ext/adaptivedemux2/gstadaptivedemux-track.c:
+ * ext/adaptivedemux2/gstadaptivedemux.c:
+ * ext/adaptivedemux2/gstadaptivedemux.h:
+ * ext/adaptivedemux2/gstadaptivedemuxutils.c:
+ * ext/adaptivedemux2/gstadaptivedemuxutils.h:
+ * ext/adaptivedemux2/gstisoff.c:
+ * ext/adaptivedemux2/gstisoff.h:
+ * ext/adaptivedemux2/hls/gsthlsdemux-util.c:
+ * ext/adaptivedemux2/hls/gsthlsdemux.c:
+ * ext/adaptivedemux2/hls/gsthlsdemux.h:
+ * ext/adaptivedemux2/hls/gsthlselement.c:
+ * ext/adaptivedemux2/hls/gsthlselements.h:
+ * ext/adaptivedemux2/hls/m3u8.c:
+ * ext/adaptivedemux2/hls/m3u8.h:
+ * ext/adaptivedemux2/hls/meson.build:
+ * ext/adaptivedemux2/meson.build:
+ * ext/adaptivedemux2/mss/gstmssdemux.c:
+ * ext/adaptivedemux2/mss/gstmssdemux.h:
+ * ext/adaptivedemux2/mss/gstmssfragmentparser.c:
+ * ext/adaptivedemux2/mss/gstmssfragmentparser.h:
+ * ext/adaptivedemux2/mss/gstmssmanifest.c:
+ * ext/adaptivedemux2/mss/gstmssmanifest.h:
+ * ext/adaptivedemux2/plugin.c:
+ * ext/meson.build:
+ * ext/soup/gstsouploader.c:
+ * ext/soup/gstsouploader.h:
+ * meson_options.txt:
+ * tests/check/elements/dash_mpd.c:
+ * tests/check/elements/hlsdemux_m3u8.c:
+ * tests/check/meson.build:
+ New HLS, DASH and MSS adaptive demuxer elements
+ This provides new HLS, DASH and MSS adaptive demuxer elements as a single plugin.
+ These elements offer many improvements over the legacy elements. They will only
+ work within a streams-aware context (`urisourcebin`, `uridecodebin3`,
+ `decodebin3`, `playbin3`, ...).
+ Stream selection and buffering is handled internally, this allows them to
+ directly manage the elementary streams and stream selection.
+ Authors:
+ * Edward Hervey <edward@centricular.com>
+ * Jan Schmidt <jan@centricular.com>
+ * Piotrek Brzeziński <piotr@centricular.com>
+ * Tim-Philipp Müller <tim@centricular.com>
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2117>
+
+2022-04-15 09:53:19 +0800 Hou Qi <qi.hou@nxp.com>
+
+ * sys/v4l2/gstv4l2videodec.c:
+ v4l2videodec: copy colorimetry values to output_state caps
+ This is to avoid transcoding negotiation fail between v4l2h265dec
+ and v4l2h264enc caused by colorimetry mismatch.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2192>
+
+2022-04-14 20:10:46 +1000 Brad Hards <bradh@frogmouth.net>
+
+ * tests/interactive/equalizer-test.c:
+ * tests/interactive/gdkpixbufoverlay-test.c:
+ * tests/interactive/gdkpixbufsink-test.c:
+ * tests/interactive/meson.build:
+ * tests/interactive/test-accurate-seek.c:
+ * tests/interactive/test-oss4.c:
+ * tests/interactive/test-segment-seeks.c:
+ * tests/interactive/videobox-test.c:
+ * tests/interactive/videocrop-test.c:
+ * tests/interactive/videocrop2-test.c:
+ * tests/interactive/ximagesrc-test.c:
+ * tests/meson.build:
+ tests: rename 'icles' subdir to be more descriptive
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2178>
+
+2022-04-07 11:12:47 +1000 Havard Graff <havard.graff@gmail.com>
+
+ * gst/isomp4/qtdemux.c:
+ qtdemux: fix leak of channel_mapping
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2179>
+
+2022-04-13 10:17:15 +0800 Ming Qian <ming.qian@nxp.com>
+
+ * docs/gst_plugins_cache.json:
+ doc: Update cache after NV12_8L128 and NV12_10BE_8L128 addition
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2158>
+
+2022-04-12 14:15:01 +0800 Ming Qian <ming.qian@nxp.com>
+
+ * sys/v4l2/gstv4l2object.c:
+ v4l2: Add NV12_8L128 in gst_v4l2_object_get_caps_info
+ It should be included in
+ <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1379>
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2158>
+
+2022-04-12 10:35:26 +0800 Ming Qian <ming.qian@nxp.com>
+
+ * sys/v4l2/gstv4l2object.c:
+ v4l2: Add a missed break
+ Fix a typo that miss a break in the switch statement
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2158>
+
+2022-04-11 13:40:56 +0200 Robert Rosengren <robertr@axis.com>
+
+ * gst/rtpmanager/gstrtpbin.c:
+ rtpbin: Fix division by zero when using ts-offset-smoothing-factor
+ avg_ts_offset may cause division by zero when calculating potential
+ overflow protection. This fix will avoid the division.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2151>
+
+2022-04-06 09:46:30 -0400 Tristan Matthews <tmatth@videolan.org>
+
+ * gst/rtp/gstrtpopusdepay.c:
+ rtpopusdepay: assume 2 channels if sprop-stereo is missing
+ Fixes #1064
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2125>
+
+2022-03-11 15:13:21 +0100 Matthias Fuchs <matthias1.fuchs@zeiss.com>
+
+ * ext/qt/gstqtsrc.cc:
+ * ext/qt/qtwindow.cc:
+ * ext/qt/qtwindow.h:
+ qmlglsrc: Fix deadlock when stopping
+ This fix makes sure that streaming thread stops waiting when the
+ qmlglsrc element transitions from playing to paused.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2115>
+
+2022-03-14 17:20:38 +0100 Matthias Fuchs <matthias1.fuchs@zeiss.com>
+
+ * ext/qt/qtwindow.cc:
+ qmlglsrc: Fix missing depth & stencil buffer
+ Qt Quick primitives which have some kind of alpha blending
+ (transparency, rounded corners) are z-sorted by Qt and rendered in the
+ correct order. For opaque primitives Qt relies on the OpenGL depth
+ buffer to correctly determine the visibility of stacked elements.
+ This change enables the depth buffer to make sure that opaque primitives
+ are correctly z-stacked.
+ https://doc.qt.io/qt-6/qtquick-visualcanvas-scenegraph-renderer.html#opaque-primitives
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2114>
+
+2022-04-06 10:14:19 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/rtpmanager/rtpstats.h:
+ rtpstats: Remove non-existing twcc field docs from RTPPacketInfo and add missing field docs
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2121>
+
+2022-04-05 20:28:36 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/rtpmanager/rtpsession.h:
+ rtpsession: Remove unused twcc fields from the struct
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2121>
+
+2022-03-30 11:06:02 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * meson.build:
+ Use gmodule-no-export-2.0
+ We don't need `-Wl,--export-dynamic`, that's used only for executables
+ that needs to export an API to be used by plugins they load.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031>
+
+2022-03-25 15:00:20 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * ext/qt/meson.build:
+ * ext/soup/meson.build:
+ * gst/imagefreeze/meson.build:
+ * gst/rtsp/meson.build:
+ * gst/shapewipe/meson.build:
+ * meson.build:
+ * tests/check/meson.build:
+ Remove glib and gobject dependencies everywhere
+ They are part of gst_dep already and we have to make sure to always have
+ gst_dep. The order in dependencies matters, because it is also the order
+ in which Meson will set -I args. We want gstreamer's config.h to take
+ precedence over glib's private config.h when it's a subproject.
+ While at it, remove useless fallback args for gmodule/gio dependencies,
+ only gstreamer core needs it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031>
+
+2022-03-31 23:41:41 +0200 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst/debugutils/gstnavigationtest.c:
+ navigation: Rename parse_state to parse_modifier_state
+ `parse_state` sounds a bit weird and `parse_modifier_state` is clearer.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2087>
+
+2022-03-26 01:02:02 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * ext/soup/meson.build:
+ meson: Add some messages when selecting libsoup
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2032>
+
+2022-03-26 00:59:12 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * ext/soup/gstsouphttpsrc.c:
+ soup: Fix usage of symbols / defines that are gone in libsoup3
+ I am not sure about the SOUP_MESSAGE_OVERWRITE_CHUNKS change, but it
+ was definitely already broken when using libsoup-3.0 in a shared
+ build. souphttpsrc probably needs to be ported from SoupMessage to
+ SoupServerMessage when using libsoup-3.0.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1111
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2032>
+
+2022-03-26 00:56:04 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * ext/soup/gstsouploader.c:
+ * ext/soup/gstsouploader.h:
+ soup: Fix pre-processor macros in souploader for libsoup-3.0
+ Some of the preprocessor conditionals in the loader were very broken
+ with libsoup-3.0 + --default-library=static
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1111
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2032>
+
+2022-03-28 18:12:03 +1100 Matthew Waters <matthew@centricular.com>
+
+ * sys/osxaudio/gstosxcoreaudio.c:
+ osxcoreaudio: fix unused-but-set warning
+ ../sys/osxaudio/gstosxcoreaudio.c:480:18: error: variable 'interleaved' set but not used [-Werror,-Wunused-but-set-variable]
+ gboolean sign, interleaved;
+ ^
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046>
+
+2022-03-28 10:10:45 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * docs/gst_plugins_cache.json:
+ video-format: Move NV12_8L128 into the correct position in GST_VIDEO_FORMATS_ALL
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2045>
+
+2022-03-28 13:35:17 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst/deinterlace/tvtime/tomsmocomp/SearchLoopTop.inc:
+ deinterlace: silence unused-but-set werror from imported code
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2042>
+
+2022-03-28 09:50:38 +1100 Matthew Waters <matthew@centricular.com>
+
+ * sys/osxvideo/osxvideosink.m:
+ osxvideosink: fix unused-but-set-variable warning
+ ../sys/osxvideo/osxvideosink.m:859:11: error: variable 'data' set but not used [-Werror,-Wunused-but-set-variable]
+ guint8 *data, *readp, *writep;
+ ^
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2040>
+
+2022-03-25 11:42:03 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst/debugutils/gstnavigationtest.c:
+ * gst/debugutils/gstnavigationtest.h:
+ navigationtest: Add some support for modifiers
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2010>
+
+2022-03-18 16:59:32 +0000 Thibault Saunier <tsaunier@igalia.com>
+
+ * ext/gtk/gtkgstbasewidget.c:
+ * ext/qt/qtitem.cc:
+ navigation: Add support for key Modifiers in all relevant events
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2010>
+
+2021-11-17 17:27:13 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst/rtpmanager/gstrtpptdemux.c:
+ rtpptdemux: fix leak of caps when ignoring a pt
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2025>
+
+2022-02-23 12:53:04 +0100 Vivienne Watermeier <vwatermeier@igalia.com>
+
+ * ext/qt/qtitem.cc:
+ * ext/qt/qtitem.h:
+ qt: Add touch event support
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633>
+
+2022-02-21 20:16:06 +0100 Vivienne Watermeier <vwatermeier@igalia.com>
+
+ * ext/gtk/gtkgstbasewidget.c:
+ gtk: Add touch event support
+ Add a handler for touch events to gtkbasewidget.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633>
+
+2022-02-02 15:46:57 +0100 Vivienne Watermeier <vwatermeier@igalia.com>
+
+ * docs/gst_plugins_cache.json:
+ * gst/debugutils/gstnavigationtest.c:
+ * gst/debugutils/gstnavigationtest.h:
+ navigationtest: Display touchscreen events, log all events
+ Represents touchscreen events as a trail of black squares, one for each
+ reported position. Additionally, this adds the `display-mouse` and
+ `display-touch` properties to toggle visibility of mouse/touchscreen
+ events, since touchscreens often emulate mouse events, as well as
+ logging for all received navigation events.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633>
+
+2022-02-14 16:08:23 +0100 Vivienne Watermeier <vwatermeier@igalia.com>
+
+ * ext/gtk/gstgtkbasesink.c:
+ * ext/gtk/gtkgstbasewidget.c:
+ * ext/qt/gstqtsink.cc:
+ * ext/qt/qtitem.cc:
+ * ext/qt/qtitem.h:
+ * gst/debugutils/gstnavigationtest.c:
+ * gst/debugutils/gstnavseek.c:
+ * gst/videobox/gstvideobox.c:
+ * gst/videocrop/gstvideocrop.c:
+ * gst/videofilter/gstvideoflip.c:
+ all: Use new navigation interface and API
+ Use and implement the new navigation interface in all relevant sink elements,
+ and use API functions everywhere instead of directy accessing the event structure.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633>
+
+2022-03-18 15:20:49 +0100 Stéphane Cerveau <scerveau@collabora.com>
+
+ * gst/wavparse/gstwavparse.c:
+ * tests/check/elements/wavparse.c:
+ wavparse: handle query in any parse state
+ In order to create the stream_id, we need to
+ pass the query to the default query handler.
+ If the parse state is different from GST_WAVPARSE_DATA
+ the query should be passed to the default query
+ handler.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1987>
+
+2020-09-13 02:17:59 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/flv/gstflvmux.c:
+ flvmux: Clean up aggregate's control flow
+ This unifies exits to go through a single out label. It mostly
+ simplifies how EOS is handled.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1035>
+
+2022-03-18 16:34:38 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * docs/gst_plugins_cache.json:
+ doc: Update cache after NV12_8L128 addition
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1379>
+
+2021-10-19 14:41:04 +0800 Ming Qian <ming.qian@nxp.com>
+
+ * sys/v4l2/ext/videodev2.h:
+ * sys/v4l2/gstv4l2object.c:
+ v4l2: Add NV12_8L128 and NV12_10BE_8L128
+ These formats are used by i.MX 8QXP/8QM VPU.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1379>
+
+2021-09-09 23:43:33 +1000 Matthew Waters <matthew@centricular.com>
+
+ * docs/gst_plugins_cache.json:
+ * gst/rtpmanager/gstrtprtxreceive.c:
+ * gst/rtpmanager/gstrtprtxreceive.h:
+ * gst/rtpmanager/gstrtprtxsend.c:
+ * gst/rtpmanager/gstrtprtxsend.h:
+ * tests/check/elements/rtprtx.c:
+ rtpmanager/rtx: implement initial support for reading/writing rid extensions
+ Two RTP Header extensions are very relevant for rtprtxsend/receive.
+ 1. "urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id": will always be removed
+ 2. "urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id": will be written
+ instead of the "rtp-stream-id" header extension.
+ Currently it's only a simple replacement of one header extension for
+ another however a future change would only add the relevant extension
+ based on some heuristics (like, video frames only on one of the rtp key
+ frame buffers, or only until the rtx ssrc has been validated by the peer)
+ in order to reduce the required bandwidth.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1759>
+
+2021-08-25 16:59:40 +1000 Matthew Waters <matthew@centricular.com>
+
+ * tests/check/elements/rtphdrextsdes.c:
+ * tests/check/meson.build:
+ test: add tests for sdes-based RTP header extensions
+ mid, stream id and repaired stream id.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1759>
+
+2021-08-25 16:58:16 +1000 Matthew Waters <matthew@centricular.com>
+
+ * docs/gst_plugins_cache.json:
+ * gst/rtpmanager/gstrtphdrext-repairedstreamid.c:
+ * gst/rtpmanager/gstrtphdrext-repairedstreamid.h:
+ * gst/rtpmanager/gstrtphdrext-streamid.c:
+ * gst/rtpmanager/gstrtphdrext-streamid.h:
+ * gst/rtpmanager/gstrtpmanager.c:
+ * gst/rtpmanager/meson.build:
+ rtpmanager: add support for RFC8852 (rid) RTP header extensions
+ Both for regular RID and for adding on a repaired (RTX) etc stream.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1759>
+
+2021-08-25 16:38:44 +1000 Matthew Waters <matthew@centricular.com>
+
+ * docs/gst_plugins_cache.json:
+ * gst/rtpmanager/gstrtphdrext-mid.c:
+ * gst/rtpmanager/gstrtphdrext-mid.h:
+ * gst/rtpmanager/gstrtpmanager.c:
+ * gst/rtpmanager/meson.build:
+ rtpmanager: add support for writing RFC8843 (BUNDLE mid) RTP header extension
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1759>
+
+2022-03-18 19:33:00 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * docs/gst_plugins_cache.json:
+ * gst/videocrop/gstvideocrop-private.h:
+ * gst/videocrop/gstvideocrop.c:
+ * gst/videocrop/gstvideocrop.h:
+ videocrop: Add support for v210
+ Like UYVY and similar formats this is rounding down to the start of the
+ previous macro-pixel to not mix up the different components.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1988>
+
+2022-03-18 19:06:05 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/videocrop/gstvideocrop.c:
+ videocrop: Use GST_ROUND_DOWN_2 instead of re-defining a local version
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1988>
+
+2022-03-18 19:03:57 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/videocrop/gstvideocrop.c:
+ * gst/videocrop/gstvideocrop.h:
+ videocrop: Rename PACKED_COMPLEX to PACKED_YVYU
+ It's not handling any kind of complex packed format, only formats that
+ are like YVYU.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1988>
+
+2022-03-18 13:42:27 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * meson.build:
+ meson: Bump all meson requirements to 0.60
+ Lots of new warnings ever since
+ https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1934
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1977>
+
+2022-03-15 15:44:17 +0900 Sangchul Lee <sc11.lee@samsung.com>
+
+ * gst/rtpmanager/rtpjitterbuffer.c:
+ rtpjitterbuffer: Fix invalid memory access in rtp_jitter_buffer_pop()
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1973>
+
+2022-03-14 16:19:33 +0800 Hou Qi <qi.hou@nxp.com>
+
+ * sys/v4l2/gstv4l2videodec.c:
+ v4l2videodec: set frame duration according to framerate
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1953>
+
+2022-03-15 13:49:09 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * docs/gst_plugins_cache.json:
+ * gst/rtsp/gstrtspsrc.c:
+ * gst/rtsp/gstrtspsrc.h:
+ rtspsrc: proxy new "add-reference-timestamp-meta" property from rtpjitterbuffer
+ When syncing to an RFC7273 clock this will add the original
+ reconstructed reference clock timestamp to buffers in form
+ of a GstReferenceTimestampMeta.
+ This is useful when we want to process or analyse data based
+ on the original timestamps untainted by any local adjustments,
+ for example reconstruct AES67 audio streams with sample accuracy.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1964>
+
+2022-03-15 11:56:28 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * docs/gst_plugins_cache.json:
+ * gst/rtpmanager/gstrtpbin.c:
+ * gst/rtpmanager/gstrtpbin.h:
+ rtpbin: proxy new "add-reference-timestamp-meta" property from rtpjitterbuffer
+ When syncing to an RFC7273 clock this will add the original
+ reconstructed reference clock timestamp to buffers in form
+ of a GstReferenceTimestampMeta.
+ This is useful when we want to process or analyse data based
+ on the original timestamps untainted by any local adjustments,
+ for example reconstruct AES67 audio streams with sample accuracy.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1964>
+
+2022-03-15 01:35:17 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * docs/gst_plugins_cache.json:
+ * gst/rtpmanager/gstrtpjitterbuffer.c:
+ * gst/rtpmanager/rtpjitterbuffer.c:
+ * gst/rtpmanager/rtpjitterbuffer.h:
+ rtpjitterbuffer: add "add-reference-timestamp-meta" property
+ When syncing to an RFC7273 clock this will add the original
+ reconstructed reference clock timestamp to buffers in form
+ of a GstReferenceTimestampMeta.
+ This is useful when we want to process or analyse data based
+ on the original timestamps untainted by any local adjustments,
+ for example reconstruct AES67 audio streams with sample accuracy.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1964>
+
+2022-03-15 09:49:59 +0800 Hou Qi <qi.hou@nxp.com>
+
+ * sys/v4l2/gstv4l2videodec.c:
+ v4l2videodec: safely retrun from video_dec_loop with stream unlock
+ This is to avoid decoder hang when doing trick play between
+ different resolutions.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1960>
+
+2022-03-14 13:59:37 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/rtpmanager/rtpjitterbuffer.c:
+ rtpjitterbuffer: Improve accuracy of RFC7273 clock time calculations
+ Previously the result of the calculations included inaccuracies caused
+ by the NTP clock estimation, which caused the timestamps to jitter
+ +/- 1/clockrate.
+ By reorganizing the calculations it is possible to get rid of this
+ inaccuracy and calculate deterministic and exact packet timestamps based
+ on the actual NTP clock as long as the estimation is not off by more
+ than 2**31 clockrate units.
+ The only remaining inaccuracy that is introduced now is caused by the
+ conversion from the NTP clock to the pipeline clock.
+ Also split up debug output, demote many messages to the trace debug
+ level and output more intermediate results.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1955>
+
+2022-03-14 12:29:04 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst/rtpmanager/rtpsession.c:
+ * gst/rtpmanager/rtptwcc.c:
+ twcc: Add some logging to debug TWCC feedback
+ This should allow people to debug when TWCC feedback is not enabled
+ because they haven't set the extmap in the caps.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1952>
+
+2022-03-14 13:45:36 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst/rtpmanager/gstrtpsession.c:
+ twcc: Note that packet-loss-pct can count reordering as loss
+ This is difficult to encounter in ordinary networks, but is
+ encountered when using tc-netem to add random delays to packets, and
+ also when your UDP stream is bonded over multiple links with varying
+ characteristics.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1952>
+
+2017-08-11 16:33:23 +0200 Havard Graff <havard.graff@gmail.com>
+
+ * gst/rtpmanager/gstrtprtxsend.c:
+ * tests/check/elements/rtprtx.c:
+ rtprtxsend: don't require clock-rate in caps
+ For multiplexing, the rtpstreams you are multiplexing might not use
+ the same clock-rate.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1881>
+
+2016-11-04 11:47:20 +0100 Havard Graff <havard.graff@gmail.com>
+
+ * gst/rtpmanager/gstrtprtxsend.c:
+ * tests/check/elements/rtprtx.c:
+ rtprtxsend: don't start the task unless we are doing rtx
+ The rtxsend element can do pass-through when not enabled (no pt-map set)
+ and in those cases there is no point in starting an additional task
+ that does absolutely nothing.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1880>
+
+2016-06-27 14:28:06 +0200 Havard Graff <havard.graff@gmail.com>
+
+ * docs/gst_plugins_cache.json:
+ * gst/rtpmanager/gstrtprtxreceive.c:
+ * gst/rtpmanager/gstrtprtxreceive.h:
+ rtprtxreceive: add ssrc-map property
+ Mirroring the rtxsend, this allows the application to "pre-map" the
+ retransmission-ssrcs to the "real" ssrc, if this information is known.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1878>
+
+2019-09-08 15:54:08 +0200 Carlos Rafael Giani <crg7475@mailbox.org>
+
+ * ext/mpg123/gstmpg123audiodec.c:
+ * ext/mpg123/gstmpg123audiodec.h:
+ * gst/audioparsers/gstmpegaudioparse.c:
+ * tests/check/elements/mpg123audiodec.c:
+ * tests/files/sine-1009ms-1ch-32000hz-gapless-with-lame-tag.mp3:
+ mpg123: Add gapless playback support
+ Co-authored-by: Sebastian Dröge <sebastian@centricular.com>
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1028>
+
+2019-09-07 19:15:42 +0200 Carlos Rafael Giani <crg7475@mailbox.org>
+
+ * gst/audioparsers/gstmpegaudioparse.c:
+ * gst/audioparsers/gstmpegaudioparse.h:
+ * tests/check/elements/mpegaudioparse.c:
+ mpegaudioparse: Support gapless playback
+ Gapless playback is handled by adjusting buffer timestamps & durations
+ and by adding GstAudioClippingMeta.
+ Support for "Frankenstein" streams (= poorly stitched together streams)
+ is also added, so that gapless playback support doesn't prevent those
+ from being properly played.
+ Co-authored-by: Sebastian Dröge <sebastian@centricular.com>
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1028>
+
+2022-03-11 10:32:42 +0100 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/deinterlace/tvtime/scalerbob.c:
+ deinterlace: scalerbob: Reduce latency to 0
+ We only need the current field, just like `linear`.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1926>
+
+2022-03-12 17:13:48 +0200 Vivia Nikolaidou <vivia@ahiru.eu>
+
+ * gst/deinterlace/yadif.c:
+ yadif: Fix CHECK macro for YUY2 format
+ Used to make comb artifacts for videotestsrc pattern=ball for YUY2
+ format only (not AYUV).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1938>
+
+2022-03-10 17:03:45 +0900 Damian Hobson-Garcia <dhobsong@igel.co.jp>
+
+ * docs/gst_plugins_cache.json:
+ doc: New cropping parameters added to v4l2src
+ v4l2src add several new parameters to control cropping of
+ the captured video stream. Update the doc cache to reflect
+ this.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1089>
+
+2021-10-15 18:33:50 +0900 Damian Hobson-Garcia <dhobsong@igel.co.jp>
+
+ * tests/examples/v4l2/meson.build:
+ * tests/examples/v4l2/v4l2src-crop.c:
+ examples: v4l2: Add v4l2src crop example
+ Add a simple utility to illustrate how to set input cropping on v4l2src.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1089>
+
+2021-10-14 17:22:19 +0900 Damian Hobson-Garcia <dhobsong@igel.co.jp>
+
+ * sys/v4l2/gstv4l2src.c:
+ * sys/v4l2/gstv4l2src.h:
+ v4l2src: Add support for cropping at capture source input
+ Add properties to control input cropping in the V4L2 device.
+ The input cropping is applied before composing the result to the
+ capture buffer. By default the capture size will be set to the same
+ size as the crop region, but it can be scaled to a different output
+ frame size if supported by the V4L2 device.
+ If scaling is not supported, the cropped image will
+ be composed as is into the top-left corner of the capture buffer.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1089>
+
+2021-10-13 17:33:12 +0900 Damian Hobson-Garcia <dhobsong@igel.co.jp>
+
+ * sys/v4l2/gstv4l2object.c:
+ * sys/v4l2/gstv4l2object.h:
+ v4l2object: Add function to get crop regions from device
+ Get the current crop bounding region from the V4L2 device so
+ that it can be provided to applications and used to validate
+ crop settings. Also make the default crop region available so
+ that it can be used to reset the crop when appropriate.
+ Uses the selection API when available with fallback to the crop
+ API for older kernels.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1089>
+
+2021-09-30 17:56:56 +0900 Damian Hobson-Garcia <dhobsong@igel.co.jp>
+
+ * sys/v4l2/gstv4l2object.c:
+ * sys/v4l2/gstv4l2object.h:
+ * sys/v4l2/gstv4l2transform.c:
+ v4l2object: rename crop function to reflect its usage
+ The gst_v4l2_object_set_crop() is used for removing buffer
+ alignment padding. Give it a name that better reflects
+ that usage. This helps to distinguish from cropping of the
+ input image (e.g. cropping at the image sensor on a captre
+ device), which can be unrelated to the memory buffer padding,
+ especially if scaling is involved.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1089>
+
+2022-03-10 18:43:45 +0900 Sangchul Lee <sc11.lee@samsung.com>
+
+ * gst/rtp/gstrtpvp8depay.c:
+ rtpvp8depay: Fix crash when making 'GstRTPPacketLost' custom event
+ This patch fixes a seg.fault in gst_structure_new() with warnings as below.
+ GLib-GObject-WARNING **:
+ ../gobject/gtype.c:4330: type id '0' is invalid
+ GLib-GObject-WARNING **:
+ can't peek value table for type '<invalid>' which is not currently referenced
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1918>
+
+2022-03-04 18:58:56 +0100 Tomasz Andrzejak <andreiltd@gmail.com>
+
+ * gst/rtpmanager/gstrtpbin.c:
+ rtpbin: allow FEC elements with Always pads
+ This patch enable picking up FEC decoder or enocder that have
+ static repair packets pad.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1860>
+
+2022-03-09 12:17:11 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * ext/soup/gstsouploader.c:
+ soup: Load the runtime library, not the development library
+ libsoup-2.4.so / libsoup-3.0.so are symlinks installed by development
+ packages, they are not available at runtime.
+ Also eliminate G_MODULE_SUFFIX since it's not useful for us, and is
+ actually incorrect on macOS anyway.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1071
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1899>
+
+2019-07-10 17:21:01 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/isomp4/qtdemux.c:
+ qtdemux: Propagate stick events downstream when creating pads
+ If upstream provided a stream collection event before any pads were created,
+ make sure it's propagated downstream when pads are created.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1891>
+
+2021-02-01 16:07:08 +0100 Havard Graff <havard.graff@gmail.com>
+
+ * gst/rtpmanager/gstrtprtxsend.c:
+ rtprtxsend: if no rtx is present, don't expose a rtx-ssrc in caps
+ The point here is that rtpsession will create a new rtpsource when
+ the field "rtx-ssrc" is present, and when not doing rtx, that means
+ a random ssrc will create a new rtpsource that will be included in RTCP
+ messages for the current session.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1882>
+
+2016-06-22 14:48:59 +0200 Havard Graff <havard.graff@gmail.com>
+
+ * gst/rtpmanager/gstrtprtxsend.c:
+ rtprtxsend: don't process or warn if no map is set
+ This makes it more gentle when doing "pass-through"
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1879>
+
+2016-08-23 19:06:49 +0200 Mikhail Fludkov <misha@pexip.com>
+
+ * gst/rtpmanager/gstrtprtxreceive.c:
+ * tests/check/elements/rtprtx.c:
+ rtprtxreceive: fix crash when RTX payload has zero length
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1875>
+
+2016-06-26 22:25:46 +0200 Havard Graff <havard.graff@gmail.com>
+
+ * gst/rtpmanager/gstrtprtxreceive.c:
+ rtprtxreceive: allow passthrough and non-rtp buffers
+ To avoid mapping rtp buffers when RTX is not in use, and to not
+ do a full error on receiving a non-rtp buffer, since you have no control
+ of what a rouge sender might send you.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1874>
+
+2021-02-08 21:40:19 +0100 Havard Graff <havard@pexip.com>
+
+ * gst/rtpmanager/gstrtprtxreceive.c:
+ * gst/rtpmanager/gstrtprtxreceive.h:
+ * gst/rtpmanager/gstrtprtxsend.c:
+ * gst/rtpmanager/gstrtprtxsend.h:
+ rtprtx: don't access type-system per buffer
+ When doing only a single stream of audio/video this hardly matters,
+ but when doing many at the same time, the fact that you have to get
+ a hold of the glib global type-system lock every time you process a buffer,
+ means that there is a limit to how many streams you can process in
+ parallel.
+ Luckily the fix is very simple, by doing a cast rather than a full
+ type-check.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1873>
+
+2020-02-10 14:37:30 +0100 Havard Graff <havard@pexip.com>
+
+ * tests/check/elements/rtprtx.c:
+ rtprtx: signed/unsigned and style fixes
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1872>
+
+2022-03-03 13:47:05 +0800 Hou Qi <qi.hou@nxp.com>
+
+ * sys/v4l2/gstv4l2bufferpool.c:
+ v4l2bufferpool: Fix race condition between qbuf and pool streamoff
+ There is a chance that pool->buffers[index] sets BUFFER_STATE_QUEUED, but
+ it has not been queued yet which makes pool->buffers[index] still NULL.
+ At this time, if pool_streamff release all buffers with BUFFER_STATE_QUEUED
+ state regardless of whether the buffer is NULL or not, it will cause segfault.
+ To fix this, also check buffer when streamoff release buffer.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1842>
+
+2022-03-03 14:22:10 +0800 Hou Qi <qi.hou@nxp.com>
+
+ * gst/flv/gstflvmux.c:
+ flvmux: Add protection when unref GstFlvMuxPad
+ This is to avoid gst_object_unref: assertion 'object != NULL' failed.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1843>
+
+2022-03-04 14:57:30 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * docs/gst_plugins_cache.json:
+ doc: AV1 demuxers now expose their alignment
+ Update the chache accordingly.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1837>
+
+2022-03-02 16:31:24 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/matroska/matroska-demux.c:
+ * gst/matroska/matroska-mux.c:
+ matroska: Fix AV1 alignment to TU
+ Matroska stores AV1 in temporal unit, so that all OBU sharing the same
+ timestamp are put together. This was previously just assumed, which isn't
+ safe now that we have more alignments.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1837>
+
+2022-03-02 16:24:38 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/isomp4/gstqtmuxmap.c:
+ * gst/isomp4/qtdemux.c:
+ isomp4: Fix AV1 default alignment
+ ISOMP4 store TU (temporal units) worth of AV1. Expose this in the
+ caps to reduce overhead in the parser, and in the muxer to avoid
+ storing frames split in the wrong way.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1837>
+
+2022-02-07 17:51:39 -0500 Tristan Matthews <tmatth@videolan.org>
+
+ * gst/matroska/matroska-mux.c:
+ matroskamux: allow width+height caps changes for VP8/9
+ For VP8 and VP9, width+height changes are signalled inband.
+ Refs https://github.com/Kurento/bugtracker/issues/535 and
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1047/diffs?commit
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1657>
+
+2022-02-07 16:41:40 -0500 Tristan Matthews <tmatth@videolan.org>
+
+ * gst/matroska/matroska-mux.c:
+ matroskamux: allow width + height changes for avc3|hev1
+ For avc3 and hev1, the intent was to allow more flexibility for caps changes
+ (see https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1047/diffs?commit_id=9bd8d608d5bae27ec5ff09e733f76ca32b17420c)
+ however width and resolution were previously omitted.
+ avc3 and hev1 specifically support changing stream-parameters on the fly, whereas avc1/hvc1 disallow in-band SPS.
+ This commit allows for changes to width and height for these which is in line with matroskamux's behaviour prior to 1.14.0.
+ Practically speaking, one use case where this is commonly seen is when capturing a WebRTC stream, as the browser will adapt the resolution live.
+ Suggested-by: Mathieu Duponchelle "<mathieu@centricular.com>"
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1657>
+
+2022-03-04 15:36:20 +0100 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/deinterlace/gstdeinterlace.c:
+ deinterlace: Prevent race between _set_method and latency query
+ It's possible that the method is being manipulated while downstream
+ queries our latency, leading to crashes.
+ Prevent that from happening.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1854>
+
+2022-03-03 23:04:36 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * ext/soup/gstsouploader.c:
+ soup: Fix static build with MSVC
+ ../ext/soup/gstsouploader.c(818): error C4098: '_soup_session_send_async': 'void' function returning a value
+ It's technically a false warning, but that's how MSVC works, so fix
+ it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1805>
+
+2022-03-03 00:37:57 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * ext/soup/meson.build:
+ soup: Fix pkgconfig generation and documentation
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1805>
+
+2022-03-02 23:22:39 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * ext/soup/meson.build:
+ soup: Fix static build when default_library=both
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1007
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1805>
+
+2022-03-02 23:11:09 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * ext/soup/meson.build:
+ soup: Don't error out in static build unless option is enabled
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1805>
+
+2022-02-27 15:45:01 +0100 Philippe Normand <philn@igalia.com>
+
+ * ext/soup/gstsouploader.c:
+ soup: Lookup libsoup dylib files on Apple platforms
+ Fixes #1007
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1805>
+
+2021-10-15 15:32:22 +0900 Damian Hobson-Garcia <dhobsong@igel.co.jp>
+
+ * sys/v4l2/gstv4l2object.c:
+ v4l2src: Reset the compose window to the default after setting format
+ When the size of V4L2 capture or output is changes with VIDIOC_S_FMT,
+ the device is only required to update the compisition window to fit
+ inside the new frame size. This can result in captured data only being
+ updated on a portion of the frame after a resize.
+ Update the composition window to the default value determined by the
+ V4L2 device driver whenever the format is changed to make sure that
+ all image data is composed to its full size.
+ Fixes #765
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1806>
+
+2022-03-01 20:59:30 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/matroska/matroska-mux.c:
+ matroska-mux: Handle pixel-aspect-ratio caps field correctly when checking caps equality
+ Not having this field is equivalent with it being 1/1 so consider
+ it like that. The generic caps functions are not aware of these
+ semantics and would consider the caps different, causing a negotiation
+ failure when caps are changing from caps with to caps without or the
+ other way around.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1826>
+
+2022-03-01 20:56:43 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/matroska/matroska-mux.c:
+ matroska-mux: Handle multiview-mode/flags caps fields correctly when checking caps equality
+ Not having these fields is equivalent with them being mono/0 so consider
+ them like that. The generic caps functions are not aware of these
+ semantics and would consider the caps different, causing a negotiation
+ failure when caps are changing from caps with to caps without or the
+ other way around.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1826>
+
+2022-02-27 03:17:26 +1100 Jan Schmidt <jan@centricular.com>
+
+ * gst/matroska/matroska-mux.c:
+ matroska-mux: If a stream has a TITLE tag, use it for the name.
+ If a title tag is pushed to a pad, store it as the Track name.
+ This means that players will use it as the human readable
+ description of the track, instead of something generic like 'Video'
+ or 'Subtitle'
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1798>
+
+2022-02-27 02:39:28 +1100 Jan Schmidt <jan@centricular.com>
+
+ * gst/matroska/matroska-demux.c:
+ * gst/matroska/matroska-demux.h:
+ matroskademux: Don't parse Tracks element twice
+ If the tracks element was parsed from the SeekEntry, don't
+ parse it a second time and recreate tracks, as this
+ loses any tags that were read using the seek table.
+ If a genuinely new Tracks element is found, do read that
+ as it is needed for MSE support.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1798>
+
+2022-02-23 11:10:11 +0100 Sebastian Fricke <sebastian.fricke@collabora.com>
+
+ * README.md:
+ Maintain build instructions at a single location
+ Do not maintain similar build instructions within each gst-plugins-*
+ subproject and the subproject/gstreamer subproject. Use the build
+ instructions from the mono-repository and link to them via hyperlink.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1743>
+
+2022-03-01 00:12:56 +0200 Vivia Nikolaidou <vivia@ahiru.eu>
+
+ * gst/deinterlace/x86/yadif.asm:
+ yadif.asm: Fix improper usage of LOAD macro
+ LOAD macro relies in m7 being zero for interleaving purposes. Using LOAD
+ on the m7 register makes it interleave with its new content instead of
+ with 0.
+ The effect of this bug was bobbing on some static lines that appeared
+ over fast-moving content.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1816>
+
+2022-03-01 00:12:33 +0200 Vivia Nikolaidou <vivia@ahiru.eu>
+
+ * gst/deinterlace/x86/yadif.asm:
+ yadif.asm: Typo fixes in comments
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1816>
+
+2022-02-28 20:39:11 +0200 Vivia Nikolaidou <vivia@ahiru.eu>
+
+ * gst/deinterlace/yadif.c:
+ yadif: Fix bug in C implementation of CHECK
+ It was different compared to the corresponding part in both ffmpeg and
+ the asm implementation. Fixing this makes videotestsrc pattern=spokes
+ not jump at all when not using the asm optimisations.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1816>
+
+2021-10-19 16:10:06 +0800 Ming Qian <ming.qian@nxp.com>
+
+ * sys/v4l2/gstv4l2videodec.c:
+ * sys/v4l2/gstv4l2videodec.h:
+ v4l2videodec : enable resolution change
+ The dynamic resolution changes when
+ the sequence starts when the decoder detects a coded frame with one or
+ more of the following parameters different from those previously
+ established (and reflected by corresponding queries):
+ 1.coded resolution (OUTPUT width and height),
+ 2.visible resolution (selection rectangles),
+ 3.the minimum number of buffers needed for decoding,
+ 4.bit-depth of the bitstream has been changed.
+ Although gstreamer parser has parsed the stream resolution.
+ but there are some case that we need to handle resolution change event.
+ 1. bit-depth is different from the negotiated format.
+ 2. the capture buffer count can meet the demand
+ 3. there are some hardware limitations that the decoded resolution may
+ be larger than the display size. For example, the stream size is
+ 1920x1080, but some vpu may decode it to 1920x1088.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1381>
+
+2021-10-26 10:03:42 +0800 Ming Qian <ming.qian@nxp.com>
+
+ * sys/v4l2/gstv4l2object.c:
+ * sys/v4l2/gstv4l2object.h:
+ * sys/v4l2/gstv4l2videodec.c:
+ v4l2videodec : refactor the setup process of capture
+ v4l2videodec do some refactoring so that it can support
+ dynamic resolution change event.
+ 1.wrap the setup process of capture as a function,
+ as decoder need setup the capture again when
+ dynamic resolution change event is received.
+ 2.move the function "remove_padding"
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1381>
+
+2022-02-22 11:18:53 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/rtp/gstrtpac3pay.c:
+ * gst/rtp/gstrtpamrpay.c:
+ * gst/rtp/gstrtpdvpay.c:
+ * gst/rtp/gstrtpg723pay.c:
+ * gst/rtp/gstrtpg729pay.c:
+ * gst/rtp/gstrtpgstpay.c:
+ * gst/rtp/gstrtph261pay.c:
+ * gst/rtp/gstrtph263pay.c:
+ * gst/rtp/gstrtph263ppay.c:
+ * gst/rtp/gstrtph264pay.c:
+ * gst/rtp/gstrtph265pay.c:
+ * gst/rtp/gstrtpj2kpay.c:
+ * gst/rtp/gstrtpjpegpay.c:
+ * gst/rtp/gstrtpklvpay.c:
+ * gst/rtp/gstrtpmp4apay.c:
+ * gst/rtp/gstrtpmp4gpay.c:
+ * gst/rtp/gstrtpmp4vpay.c:
+ * gst/rtp/gstrtpmpapay.c:
+ * gst/rtp/gstrtpmpvpay.c:
+ * gst/rtp/gstrtpreddec.c:
+ * gst/rtp/gstrtpvp8pay.c:
+ * gst/rtp/gstrtpvp9pay.c:
+ * gst/rtp/gstrtpvrawpay.c:
+ * gst/rtp/rtpulpfeccommon.c:
+ * tests/check/elements/rtpred.c:
+ rtp: In payloaders map the RTP marker flag to the corresponding buffer flag
+ This allows downstream of a payloader to know the RTP header's marker
+ flag without first having to map the buffer and parse the RTP header.
+ Especially inside RTP header extension implementations this can be
+ useful to decide which packet corresponds to e.g. the last packet of a
+ video frame.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1776>
+
+2021-12-06 12:49:18 -0500 Joseph Donofry <rubberduckie3554@gmail.com>
+
+ * sys/osxaudio/gstosxaudiodeviceprovider.c:
+ osxaudiosrc: Support a device as both input and output
+ osxaudiodeviceprovider now probes devices more than once to determine
+ if the device can function as both an input AND and output device.
+ Previously, if the device provider detected that a device had any output
+ capabilities, it was treated solely as an Audio/Sink. This causes issues
+ that have both input and output capabilities (for example, USB interfaces
+ for professional audio have both input and output channels). Such devices
+ are now listed as both an Audio/Sink as well as an Audio/Source.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1385>
+
+2022-02-24 20:28:23 +0530 Sanchayan Maity <sanchayan@asymptotic.io>
+
+ * docs/gst_plugins_cache.json:
+ * gst/rtp/gstrtpldacpay.c:
+ * gst/rtp/gstrtpldacpay.h:
+ rtp: ldac: Set frame count information in payload
+ The RTP payload seems to be required as it carries the frame count
+ information. Also, gst_rtp_base_payload_allocate_output_buffer had
+ the second argument incorrect.
+ Strangely some devices like Shanling MP4 and Sony XM3 would still
+ work without this while some like the Sony XM4 do not.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1797>
+
+2022-02-21 11:37:26 -0500 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * ext/vpx/meson.build:
+ * gst/equalizer/meson.build:
+ * gst/isomp4/meson.build:
+ devenv: Add some missing GStreamer specific env variables
+ This should make "meson devenv" closer to what "gst-env.py" sets.
+ - GST_VALIDATE_SCENARIOS_PATH
+ - GST_VALIDATE_APPS_DIR
+ - GST_OMX_CONFIG_DIR
+ - GST_ENCODING_TARGET_PATH
+ - GST_PRESET_PATH
+ - GST_PLUGIN_SCANNER
+ - GST_PTP_HELPER
+ - _GI_OVERRIDES_PATH
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1768>
+
+2022-02-25 12:44:26 +0100 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/deinterlace/tvtime/greedyh.c:
+ deinterlace: greedyh: Stop adding 2 to cur_field_idx
+ Just a simplification.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1790>
+
+2022-02-24 17:36:40 +0100 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/deinterlace/tvtime/greedyh.c:
+ deinterlace: greedyh: Use _plane in _packed, fix planar formats
+ This greatly reduces code duplication. It also exposed the cause for
+ planar formats not being properly deinterlaced:
+ The planar path was missing the initial offset adjustment that the
+ packed path did to `L2` and `L2P` in the case of an even field, which
+ caused it to select the wrong weave lines every other field.
+ Add those offsets in `_plane`.
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1047
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1790>
+
+2022-02-25 12:39:31 +0100 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/deinterlace/tvtime/greedyh.c:
+ deinterlace: greedyh: Rename _planar_plane to _plane
+ As well as `i` to `plane`.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1790>
+
+2022-02-25 12:36:17 +0100 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/deinterlace/tvtime/greedyh.c:
+ deinterlace: greedyh: Move code from _planar into _planar_plane
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1790>
+
+2022-02-25 12:30:21 +0100 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/deinterlace/tvtime/greedyh.c:
+ deinterlace: greedyh: Move _planar_plane upwards
+ In preparation of refactoring. No functional change.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1790>
+
+2022-02-22 10:13:28 +0100 Guillaume Desmottes <guillaume.desmottes@onestream.live>
+
+ * gst/rtpmanager/rtpsource.c:
+ rtpsource: fix rtp_source_get_nack_deadlines doc
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1775>
+
+2022-02-21 13:27:06 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst/rtp/gstrtpulpfecenc.c:
+ ulpfecenc: slightly safer dispose impl
+ Technically dispose can be called more than once (even if gstelement is
+ not actually set up to do that) so need to protect against that.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1761>
+
+2022-02-21 13:24:07 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst/rtp/gstrtpulpfecenc.c:
+ ulpfecenc: fix unmatched free() call
+ One must always match a g_slice_new with a g_slice_free and a g_new with
+ a g_free. This was not the case for the internal ctx struct.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1761>
+
+2021-11-09 17:37:24 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst/rtp/gstrtpulpfecenc.c:
+ rtpulpfecenc: add some debug logging
+ Like, what configuration we are using or whether a fec packet is
+ generated.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1761>
+
+2022-02-18 15:23:13 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst/matroska/matroska-demux.c:
+ matroska-demux: Emit a warning when no codec data found
+ It is bad if an mkv file does not have codec data for the ProRes
+ variant, so we should emit a warning. ffmpeg does the same thing.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1739>
+
+2022-02-20 15:20:07 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * docs/gst_plugins_cache.json:
+ doc: Add NV12_16L32S into the cache
+ Autogenerated by CI
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1567>
+
+2022-01-26 10:06:50 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2/gstv4l2transform.c:
+ v4l2transform: Handle caps changes
+ As this element is single threaded, we only need to stop the objects to
+ allow changing the format again. Fixes assertion notably on shutdown and
+ on some other situation where the format may be set twice without
+ actually activating the element.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1567>
+
+2022-01-26 09:55:09 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2/gstv4l2object.c:
+ v4l2object: Avoid crash on early failure
+ This happens while an external error lead to an early shutdown.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1567>
+
+2022-01-25 14:34:32 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2/gstv4l2object.c:
+ video4linux2: Add MM21 support
+ This enables mtk-vcodec and MDP driver from mainline Linux kernel.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1567>
+
+2022-01-25 14:08:47 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2/gstv4l2bufferpool.c:
+ * sys/v4l2/gstv4l2object.c:
+ * sys/v4l2/gstv4l2object.h:
+ Port plugins to gst_video_format_info_extrapolate_stride()
+ This reduces code duplication and simplify addition of new
+ pixel formats into related plugins.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1567>
+
+2022-02-02 12:49:29 +0100 Rouven Czerwinski <rouven@czerwinskis.de>
+
+ * sys/v4l2/gstv4l2tuner.c:
+ gstv4l2tuner: return NULL if no norm set
+ If the video4linux device supports norms but has no norm set, norm is
+ returned as an uninitialized variable after the ioctl call, leading to
+ gst_v4l2_tuner_get_norm_by_std_id() returning a random norm from the
+ supported norms. Catch this case and instead return NULL to indicate
+ that no norm is setup.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1625>
+
+2022-01-14 23:42:27 -0600 Tim Mooney <Tim.Mooney@ndsu.edu>
+
+ * sys/v4l2/ext/types-compat.h:
+ v4l2: include <sys/ioccom.h> on Illumos
+ Needed for _IOR/_IORW
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1524>
+
+2022-02-17 17:36:22 +0100 Sebastian Wick <sebastian.wick@redhat.com>
+
+ * gst/matroska/matroska-demux.c:
+ matroska: default prores fourcc apcn
+ If there is no codec private data for prores it should default to Apple
+ ProRes 422 Standard Definition (apcn). Can be tested with
+ strobe_scientist.mkv from
+ https://developers.google.com/media/vp9/hdr-encoding
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1734>
+
+2021-11-16 17:35:25 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/isomp4/qtdemux.c:
+ qtdemux: Do not send unnecessary GAP events
+ Each stream may have its own segment timeline
+ (i.g., different segment.start or segment.base)
+ depending on edit-list and composition-to-decode atom.
+ Make sure whether time position of a stream has been actually
+ far behind than that of current target stream.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1352>
+
+2021-10-01 20:27:28 +0900 Seungha Yang <seungha@centricular.com>
+
+ * meson.build:
+ meson: Do hard build error for some MSVC warnings
+ Handle various MSVC warnings as errors for development version.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1006>
+
+2021-04-08 12:18:09 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/isomp4/gstqtmux.c:
+ qtmux: Don't post an error message if pushing a sample failed with FLUSHING
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1711>
+
+2022-02-11 21:35:54 +0100 Heiko Becker <heirecka@exherbo.org>
+
+ * ext/lame/meson.build:
+ meson: Don't build lame plugin with -Dlame=disabled
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1686>
+
+2022-02-11 23:55:57 +0100 Marek Vasut <marex@denx.de>
+
+ * ext/jpeg/gstjpegdec.c:
+ jpegdec: Pull row_stride from GST_VIDEO_FRAME_PLANE_STRIDE()
+ The libjpeg-turbo internal state might not be correctly initialized for
+ the first frame in a stream, pull the frame stride from gstreamer frame
+ metadata instead, which is correct even for the first frame, and which
+ makes this code consistent with the surrounding lines.
+ Fixes: e6d83d8f96 ("jpegdec: Support libjpeg-turbo colorspace conversion")
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1687>
+
+2022-02-11 23:44:24 +0100 Marek Vasut <marex@denx.de>
+
+ * ext/jpeg/gstjpegdec.c:
+ jpegdec: Call gst_jpeg_turbo_parse_ext_fmt_convert() before jpeg_start_decompress()
+ It is imperative that the libjpeg-turbo state is properly initialized
+ before jpeg_start_decompress() is called. Make sure cinfo.out_color_space
+ and cinfo.raw_data_out are set to their final values matching their peer
+ caps before calling jpeg_start_decompress().
+ Fixes: e6d83d8f96 ("jpegdec: Support libjpeg-turbo colorspace conversion")
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1687>
+
+2022-02-11 23:44:20 +0100 Marek Vasut <marex@denx.de>
+
+ * ext/jpeg/gstjpegdec.c:
+ jpegdec: Factor out gst_jpeg_turbo_parse_ext_fmt_convert()
+ Pull out peer caps checking code into gst_jpeg_turbo_parse_ext_fmt_convert().
+ This code is used by libjpeg-turbo extras to determine whether peer is capable
+ of handling buffers into which libjpeg-turbo can directly decode data. This
+ kind of check must be performed before jpeg_start_decompress() is called in
+ gst_jpeg_dec_prepare_decode() as well as in gst_jpeg_dec_negotiate(), hence
+ the common code.
+ This commit does modify the code a little to make it easier to call from both
+ call sites without much duplication, hence the extra `if (*clrspc)` test.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1687>
+
+2022-02-11 23:29:27 +0100 Marek Vasut <marex@denx.de>
+
+ * ext/jpeg/gstjpegdec.c:
+ Revert "jpegdec: only allow conversions from RGB"
+ This reverts commit 2aa2477208c029b0e1b8232d69f4f99a3bf1d473.
+ The commit is completely wrong, libjpeg-turbo is perfectly capable
+ of decoding I420 (YUV) to RGB. The test case provided alongside the
+ aforementioned commit passes without this revert because it decodes
+ image of JCS_YCrCb color space, so the new `if (clrspc == JCS_RGB)`
+ condition is false on that image, and the libjpeg-turbo decoding
+ does not get used. The real bug is hidden by that commit.
+ The real problem is in the call order of gst_jpeg_dec_prepare_decode()
+ and gst_jpeg_dec_negotiate(). The gst_jpeg_dec_prepare_decode() calls
+ jpeg_start_decompress() which sets up internal state of the libjpeg,
+ however, neither cinfo.out_color_space nor cinfo.raw_data_out are
+ set correctly yet. Those two are set up in gst_jpeg_dec_negotiate()
+ which is called a bit later. Therefore, the real fix is the set up
+ cinfo.out_color_space and cinfo.raw_data_out before calling
+ jpeg_start_decompress(). This is however a separate patch.
+ Fixes: 2aa2477208 ("jpegdec: only allow conversions from RGB")
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1687>
+
+2022-02-01 14:28:24 +0100 Bastien Nocera <hadess@hadess.net>
+
+ * ext/gtk/gtkgstglwidget.c:
+ gtk: Fix rotation not being applied when paused
+ The video wouldn't be redrawn immediately when a rotation was applied
+ but the pipeline was paused, as no new buffers were scheduled to be
+ displayed.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1618>
+
+2022-02-01 14:26:02 +0100 Bastien Nocera <hadess@hadess.net>
+
+ * ext/gtk/gtkgstbasewidget.c:
+ * ext/gtk/gtkgstbasewidget.h:
+ gtk: Add a way to queue redrawing the base GTK widget
+ This will be used to request a redraw of the GTK widget should the
+ display be changed using properties not directly handled by the base GTK
+ widget, but by one of its descendants.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1618>
+
+2022-01-18 17:53:30 +0100 Robert Rosengren <robertr@axis.com>
+
+ * gst/rtpmanager/gstrtpbin.c:
+ rtpbin: Safer ts-offset-smoothing-factor calculation
+ Protect the ts-offset-smoothing-factor calculation from overflow. Output
+ warning and fallback to ts-offset if it is detected.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1409>
+
+2021-11-23 09:03:28 +0100 Robert Rosengren <robertr@axis.com>
+
+ * docs/gst_plugins_cache.json:
+ * gst/rtpmanager/gstrtpbin.c:
+ * gst/rtpmanager/gstrtpbin.h:
+ rtpbin: add ts-offset-smoothing-factor property
+ Add property to set the TS offset smoothing factor and set default value
+ to not use it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1409>
+
+2019-02-26 16:39:55 +0100 Danny Smith <dannys@axis.com>
+
+ * gst/rtpmanager/gstrtpbin.c:
+ rtpbin: applied smoothing to jittery sender time-stamps
+ Applying a moving average filter to the timestamp offsets
+ for smoothing jittery and preventing aggressive skew handling.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1409>
+
+2018-05-29 16:24:02 +0200 Danny Smith <dannys@axis.com>
+
+ * docs/gst_plugins_cache.json:
+ * gst/rtpmanager/gstrtpbin.c:
+ * gst/rtpmanager/gstrtpbin.h:
+ rtpbin: added option for setting min_ts_offset in ntp-sync mode
+ Constantly updating the ts_offset results in audiable glitches
+ when streaming audio using ntp-sync=true. By requiring a minimum
+ offset before updating ts_offset this can be mitigated. Added a
+ parameter which can be used to set min_ts_offset in ntp-sync mode.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1409>
+
+2022-02-04 11:15:47 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * docs/gst_plugins_cache.json:
+ * meson.build:
+ Back to development
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1635>
+
=== release 1.20.0 ===
2022-02-03 19:53:25 +0000 Tim-Philipp Müller <tim@centricular.com>
+ * ChangeLog:
* NEWS:
* README:
* RELEASE:
diff --git a/subprojects/gst-plugins-ugly/ChangeLog b/subprojects/gst-plugins-ugly/ChangeLog
index acaeb60e92..a3f4c40338 100644
--- a/subprojects/gst-plugins-ugly/ChangeLog
+++ b/subprojects/gst-plugins-ugly/ChangeLog
@@ -1,7 +1,241 @@
+2022-09-21 19:19:45 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * meson.build:
+ meson: Use implicit builtin dirs in pkgconfig generation
+ Starting with Meson 0.62, meson automatically populates the variables
+ list in the pkgconfig file if you reference builtin directories in the
+ pkgconfig file (whether via a custom pkgconfig variable or elsewhere).
+ We need this, because ${prefix}/libexec is a hard-coded value which is
+ incorrect on, for example, Debian.
+ Bump requirement to 0.62, and remove version compares that retained
+ support for older Meson versions.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1245
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3061>
+
+2022-08-29 10:17:45 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/meson.build:
+ doc: Do not build plugins to build the doc
+ It is not actually necessary
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2954>
+
+2021-03-24 14:20:18 -0500 Zebediah Figura <z.figura12@gmail.com>
+
+ * meson.build:
+ meson: Build with -Wl,-z,nodelete to prevent unloading of dynamic libraries and plugins
+ GLib made the unfortunate decision to prevent libgobject from ever being
+ unloaded, which means that now any library which registers a static type
+ can't ever be unloaded either (and any library that depends on those,
+ ad nauseam).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/778>
+
+2018-10-18 12:32:03 +0900 Yeongjin Jeong <yeongjin.jeong@navercorp.com>
+
+ * ext/x264/gstx264enc.c:
+ x264enc: Print full option-string applied to x264_encoder in debug log
+ x264 encoder transfers all options applied to the encoder
+ to the SEI payload when the headers(SPS, PPS) is requested.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3014>
+
+2018-10-17 23:38:22 +0900 Yeongjin Jeong <yeongjin.jeong@navercorp.com>
+
+ * ext/x264/gstx264enc.c:
+ x264enc: Don't assume the order of nal unit
+ Just for extra safety, let's check the index of the nal unit
+ through the enum value of the nal type provided by x264.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3014>
+
+2022-09-01 15:11:31 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * ext/a52dec/meson.build:
+ * ext/amrnb/meson.build:
+ * ext/amrwbdec/meson.build:
+ * ext/cdio/meson.build:
+ * ext/dvdread/meson.build:
+ * ext/mpeg2dec/meson.build:
+ * ext/sidplay/meson.build:
+ * ext/x264/meson.build:
+ * gst/asfdemux/meson.build:
+ * gst/dvdlpcmdec/meson.build:
+ * gst/dvdsub/meson.build:
+ * gst/realmedia/meson.build:
+ * gst/xingmux/meson.build:
+ * meson.build:
+ meson: Call pkgconfig.generate in the loop where we declare plugins dependencies
+ Removing some copy pasted code
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-09-01 11:51:48 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/meson.build:
+ meson: Namespace the plugins_doc_dep/libraries variables
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-08-31 18:44:14 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * meson.build:
+ meson: Rename plugins list and make them "dependency" objects
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-05-31 15:18:03 +0200 Stéphane Cerveau <scerveau@collabora.com>
+
+ * docs/meson.build:
+ * meson.build:
+ docs: disable in static build
+ Following gst-plugins-base, disable docs if static_build
+ in:
+ - gstreamer
+ - gst-plugins-good
+ - gst-plugins-ugly
+ - gst-libav
+ - gstreamer-vaapi
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2529>
+
+2022-06-29 10:55:13 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ coding style: allow declarations after statement
+ See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1243/
+ and https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/78
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2683>
+
+2022-06-25 19:50:10 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * tests/check/meson.build:
+ tests: skip unit tests for dependency-less elements that have been disabled
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1136
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2660>
+
+2022-04-06 12:56:30 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ Bump GLib requirement to >= 2.62
+ Can't require 2.64 yet because of
+ https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/323
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2568>
+
+2022-03-25 10:18:34 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * meson.build:
+ Always define ENABLE_NLS
+ GLib guarantees libintl API is always available, provided by
+ proxy-libintl as last resort. GLib itself unconditionally define
+ ENABLE_NLS.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028>
+
+2022-03-25 10:20:24 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * gst-libs/gst/gettext.h:
+ * gst-libs/gst/gst-i18n-plugin.h:
+ Delete unused i18n headers
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028>
+
+2022-03-25 09:59:23 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * ext/cdio/gstcdiocddasrc.c:
+ * ext/dvdread/dvdreadsrc.c:
+ * gst/asfdemux/gstasf.c:
+ * gst/asfdemux/gstasfdemux.c:
+ * gst/asfdemux/gstasfelement.c:
+ Replace gst-i18n-*.h with gi18n-lib.h
+ GLib guarantees libintl is always present, using proxy-libintl as
+ last resort. There is no need to mock gettex API any more.
+ This fix static build on Windows because G_INTL_STATIC_COMPILATION must
+ be defined before including libintl.h, and glib does it for us as part
+ as including glib.h.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028>
+
+2022-04-15 16:53:25 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/x264/gstx264enc.c:
+ x264enc: Don't try to fixate ANY allowed caps
+ Instead fall back to the template caps.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2197>
+
+2022-03-30 11:06:02 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * meson.build:
+ Use gmodule-no-export-2.0
+ We don't need `-Wl,--export-dynamic`, that's used only for executables
+ that needs to export an API to be used by plugins they load.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031>
+
+2022-03-25 15:00:20 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * ext/dvdread/meson.build:
+ * meson.build:
+ Remove glib and gobject dependencies everywhere
+ They are part of gst_dep already and we have to make sure to always have
+ gst_dep. The order in dependencies matters, because it is also the order
+ in which Meson will set -I args. We want gstreamer's config.h to take
+ precedence over glib's private config.h when it's a subproject.
+ While at it, remove useless fallback args for gmodule/gio dependencies,
+ only gstreamer core needs it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031>
+
+2022-03-18 13:42:27 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * meson.build:
+ meson: Bump all meson requirements to 0.60
+ Lots of new warnings ever since
+ https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1934
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1977>
+
+2022-02-23 11:10:11 +0100 Sebastian Fricke <sebastian.fricke@collabora.com>
+
+ * README.md:
+ Maintain build instructions at a single location
+ Do not maintain similar build instructions within each gst-plugins-*
+ subproject and the subproject/gstreamer subproject. Use the build
+ instructions from the mono-repository and link to them via hyperlink.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1743>
+
+2022-02-21 11:37:26 -0500 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * ext/amrnb/meson.build:
+ * ext/x264/meson.build:
+ devenv: Add some missing GStreamer specific env variables
+ This should make "meson devenv" closer to what "gst-env.py" sets.
+ - GST_VALIDATE_SCENARIOS_PATH
+ - GST_VALIDATE_APPS_DIR
+ - GST_OMX_CONFIG_DIR
+ - GST_ENCODING_TARGET_PATH
+ - GST_PRESET_PATH
+ - GST_PLUGIN_SCANNER
+ - GST_PTP_HELPER
+ - _GI_OVERRIDES_PATH
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1768>
+
+2022-02-21 23:29:23 +0100 Ruben Gonzalez <rgonzalez@fluendo.com>
+
+ * docs/gst_plugins_cache.json:
+ * ext/x264/gstx264enc.c:
+ x264enc: Update long-name and description
+ Update x264enc long-name to be more than just the name. Then the
+ description also was updated to be longer than the long-name, and
+ similar to the plugin description.
+ Finally, as I am here, H264 was replaced by H.264 and x264 is only a
+ plugin (not plugins).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1771>
+
+2021-10-01 20:27:28 +0900 Seungha Yang <seungha@centricular.com>
+
+ * meson.build:
+ meson: Do hard build error for some MSVC warnings
+ Handle various MSVC warnings as errors for development version.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1006>
+
+2022-02-04 11:15:47 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ Back to development
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1635>
+
=== release 1.20.0 ===
2022-02-03 19:53:25 +0000 Tim-Philipp Müller <tim@centricular.com>
+ * ChangeLog:
* NEWS:
* README:
* RELEASE:
diff --git a/subprojects/gst-python/ChangeLog b/subprojects/gst-python/ChangeLog
index 47648ab63d..3d9374bc13 100644
--- a/subprojects/gst-python/ChangeLog
+++ b/subprojects/gst-python/ChangeLog
@@ -1,7 +1,177 @@
+2022-09-21 19:19:45 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * meson.build:
+ meson: Use implicit builtin dirs in pkgconfig generation
+ Starting with Meson 0.62, meson automatically populates the variables
+ list in the pkgconfig file if you reference builtin directories in the
+ pkgconfig file (whether via a custom pkgconfig variable or elsewhere).
+ We need this, because ${prefix}/libexec is a hard-coded value which is
+ incorrect on, for example, Debian.
+ Bump requirement to 0.62, and remove version compares that retained
+ support for older Meson versions.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1245
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3061>
+
+2022-09-12 09:46:43 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * gi/overrides/meson.build:
+ meson: Set install_tag on some targets
+ Trying to follow recommendation from Meson documentation:
+ https://mesonbuild.com/Installing.html#installation-tags
+ Move tools into 'bin' or 'bin-devel' categories to keep only libs and
+ plugins in the default 'runtime' category. This simplifies distribution
+ of GStreamer application skipping parts that are not needed, similarly
+ to what Cerbero does by hardcoding huge list of files.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3017>
+
+2022-09-01 15:11:31 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * plugin/meson.build:
+ meson: Call pkgconfig.generate in the loop where we declare plugins dependencies
+ Removing some copy pasted code
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-06-28 16:38:09 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * examples/plugins/python/py_audiotestsrc.py:
+ python: Fix the audiotestsrc example
+ Since 830d1595b94ee855b664b2101f0832fbd0181b9c AudioInfo::from_caps has been hidden in python
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2675>
+
+2022-06-28 16:35:58 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * examples/plugins/python/audioplot.py:
+ * examples/plugins/python/exampleTransform.py:
+ * examples/plugins/python/identity.py:
+ * examples/plugins/python/mixer.py:
+ * examples/plugins/python/py_audiotestsrc.py:
+ * examples/plugins/python/sinkelement.py:
+ * gi/overrides/Gst.py:
+ python: Add a Gst.init_python function to be called from plugins
+ Plugins know that they will be initialized after Gst was initialized
+ so they can call the initialization function dedicated for the python
+ bindings
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2675>
+
+2022-06-28 11:02:37 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gi/overrides/Gst.py:
+ python: Do not call gst_init when it is already is_initialized
+ GStreamer plugins written in python need to call `Gst.init` to ensure
+ that GStreamer is initialized so when loading a python plugin, we might
+ be recursively calling `gst_init` which is not a good idea.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/940
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2675>
+
+2022-04-21 09:51:50 +0200 Stéphane Cerveau <scerveau@collabora.com>
+
+ * plugin/gstpythonplugin.c:
+ pythonplugin: fails silently on plugin issue
+ If a gst python plugin fails to load, the meta plugin
+ should continue to try loading the following.
+ If no plugin can be loaded, the meta plugin should
+ not be blacklisted by returning false.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2253>
+
+2022-04-15 18:58:49 +0200 Fabrice Fontaine <fontaine.fabrice@gmail.com>
+
+ * meson.build:
+ gst-python: fix build on systems without C++ compiler
+ Fix the following build failure on systems without C++ compiler:
+ The following exception(s) were encountered:
+ Running "/home/autobuild/autobuild/instance-0/output-1/host/bin/i686-buildroot-linux-gnu-g++ --version" gave "[Errno 2] No such file or directory: '/home/autobuild/autobuild/instance-0/output-1/host/bin/i686-buildroot-linux-gnu-g++'"
+ Fixes:
+ - http://autobuild.buildroot.org/results/eebf65036f79d21d347714d62afecd0108393308
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2200>
+
+2022-03-30 11:06:02 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * meson.build:
+ Use gmodule-no-export-2.0
+ We don't need `-Wl,--export-dynamic`, that's used only for executables
+ that needs to export an API to be used by plugins they load.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031>
+
+2022-03-25 15:00:20 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * plugin/meson.build:
+ Remove glib and gobject dependencies everywhere
+ They are part of gst_dep already and we have to make sure to always have
+ gst_dep. The order in dependencies matters, because it is also the order
+ in which Meson will set -I args. We want gstreamer's config.h to take
+ precedence over glib's private config.h when it's a subproject.
+ While at it, remove useless fallback args for gmodule/gio dependencies,
+ only gstreamer core needs it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031>
+
+2022-03-29 18:43:56 +0200 Thibault Saunier <tsaunier@igalia.com>
+
+ * testsuite/python.supp:
+ python: Add a suppression file for a leak in PyGObject
+ And ensure that the CI runs GES valgrind test when we change the
+ overrides as many GES tests are implemented in python
+ Proper fix is at: https://gitlab.gnome.org/GNOME/pygobject/-/merge_requests/204
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2060>
+
+2021-12-06 19:27:24 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * examples/plugins/python/sinkelement.py:
+ * gi/overrides/Gst.py:
+ * gi/overrides/gstmodule.c:
+ python: Add support for the GstURIHandlerInterface
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1423>
+
+2022-03-18 13:42:27 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * meson.build:
+ meson: Bump all meson requirements to 0.60
+ Lots of new warnings ever since
+ https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1934
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1977>
+
+2022-03-11 18:08:14 -0500 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * gi/overrides/meson.build:
+ Meson: Set install_tag on some files
+ Meson tries to guess the tag (runtime, devel, etc) for every installed
+ file, but it cannot guess them all. There is a list at the end of
+ meson-log.txt of files we need to tag manually.
+ See https://mesonbuild.com/Installing.html#installation-tags.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1934>
+
+2022-02-04 15:53:45 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * gi/overrides/gstmodule.c:
+ gst-python: gstmodule.c: fix build with 3.11
+ https://docs.python.org/fr/3.10/whatsnew/3.10.html
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1639>
+
+2022-02-21 11:37:26 -0500 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * gi/overrides/meson.build:
+ devenv: Add some missing GStreamer specific env variables
+ This should make "meson devenv" closer to what "gst-env.py" sets.
+ - GST_VALIDATE_SCENARIOS_PATH
+ - GST_VALIDATE_APPS_DIR
+ - GST_OMX_CONFIG_DIR
+ - GST_ENCODING_TARGET_PATH
+ - GST_PRESET_PATH
+ - GST_PLUGIN_SCANNER
+ - GST_PTP_HELPER
+ - _GI_OVERRIDES_PATH
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1768>
+
+2022-02-04 11:15:47 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ Back to development
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1635>
+
=== release 1.20.0 ===
2022-02-03 19:53:25 +0000 Tim-Philipp Müller <tim@centricular.com>
+ * ChangeLog:
* NEWS:
* RELEASE:
* gst-python.doap:
diff --git a/subprojects/gst-rtsp-server/ChangeLog b/subprojects/gst-rtsp-server/ChangeLog
index df039f6d6d..274071d28e 100644
--- a/subprojects/gst-rtsp-server/ChangeLog
+++ b/subprojects/gst-rtsp-server/ChangeLog
@@ -1,7 +1,274 @@
+2022-09-21 19:19:45 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * meson.build:
+ meson: Use implicit builtin dirs in pkgconfig generation
+ Starting with Meson 0.62, meson automatically populates the variables
+ list in the pkgconfig file if you reference builtin directories in the
+ pkgconfig file (whether via a custom pkgconfig variable or elsewhere).
+ We need this, because ${prefix}/libexec is a hard-coded value which is
+ incorrect on, for example, Debian.
+ Bump requirement to 0.62, and remove version compares that retained
+ support for older Meson versions.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1245
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3061>
+
+2021-03-24 14:20:18 -0500 Zebediah Figura <z.figura12@gmail.com>
+
+ * meson.build:
+ meson: Build with -Wl,-z,nodelete to prevent unloading of dynamic libraries and plugins
+ GLib made the unfortunate decision to prevent libgobject from ever being
+ unloaded, which means that now any library which registers a static type
+ can't ever be unloaded either (and any library that depends on those,
+ ad nauseam).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/778>
+
+2022-09-05 13:28:18 +1200 Chris Wiggins <chris@chriswiggins.co.nz>
+
+ * gst/rtsp-server/rtsp-context.c:
+ * gst/rtsp-server/rtsp-context.h:
+ rtsp-server: context: Add method to set the RTSPToken on some RTSPContext
+ Fixes #1399.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2979>
+
+2022-08-24 19:50:19 +0800 Bruce Liang <Bruce.Liang@Abilitycorp.com.tw>
+
+ * gst/rtsp-server/rtsp-server-internal.h:
+ * gst/rtsp-server/rtsp-stream-transport.c:
+ * gst/rtsp-server/rtsp-stream.c:
+ gst-rtsp-server: Fix pushing backlog to client
+ Check back pressure of a stream transport before popping buffer from its backlog.
+ If the stream transport is not experiencing back pressure, the buffer can be popped from backlog and pushed to client.
+ Fixes:#1298
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2936>
+
+2022-09-02 16:31:54 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/rtsp-server/rtsp-stream.c:
+ rtsp-server: stream: Don't loop forever if binding to the multicast address fails
+ The address/port is pre-defined by the caller of the function, so
+ retrying is only going to loop forever.
+ Ideally the multicast address should be checked after allocating but
+ this doesn't happen currently, so it's better to error out cleanly then
+ to loop forever trying the same address.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2975>
+
+2022-09-01 15:11:31 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst/rtsp-sink/meson.build:
+ * meson.build:
+ meson: Call pkgconfig.generate in the loop where we declare plugins dependencies
+ Removing some copy pasted code
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-09-01 11:51:48 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/meson.build:
+ * gst/rtsp-server/meson.build:
+ * meson.build:
+ meson: Namespace the plugins_doc_dep/libraries variables
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-08-31 18:44:14 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * meson.build:
+ meson: Rename plugins list and make them "dependency" objects
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-05-25 18:40:30 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst/rtsp-sink/gstrtspclientsink.c:
+ rtsp+rtmp: Forward warning added to tls-validation-flags to our users
+ With the 2.72 release, glib-networking developers have decided that
+ TLS certificate validation cannot be implemented correctly by them, so
+ they've deprecated it.
+ In a nutshell: a cert can have several validation errors, but there
+ are no guarantees that the TLS backend will return all those errors,
+ and things are made even more complicated by the fact that the list of
+ errors might refer to certs that are added for backwards-compat and
+ won't actually be used by the TLS library.
+ Our best option is to ignore the deprecation and pass the warning onto
+ users so they can make an appropriate security decision regarding
+ this.
+ We can't deprecate the tls-validation-flags property because it is
+ very useful when connecting to RTSP cameras that will never get
+ updates to fix certificate errors.
+ Relevant upstream merge requests / issues:
+ https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2214
+ https://gitlab.gnome.org/GNOME/glib-networking/-/issues/179
+ https://gitlab.gnome.org/GNOME/glib-networking/-/merge_requests/193
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2494>
+
+2022-07-12 16:58:00 +0800 Bruce Liang <Bruce.Liang@Abilitycorp.com.tw>
+
+ * gst/rtsp-server/rtsp-client.c:
+ rtsp-client: Fix url for generating key in media factory
+ The mount point at / can be accessed by both the URL forms rtsp://<IP>:<PORT> and rtsp://<IP>:<PORT>/.
+ To make media factory generating the same key for both the URL forms, the url sent to gst_rtsp_media_factory_construct() needs to be normalized first.
+ This commit creates a new GstRTSPUrl as the normalized url to send to gst_rtsp_media_factory_construct().
+ Fixes:https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1297
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2681>
+
+2022-06-29 10:55:13 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ coding style: allow declarations after statement
+ See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1243/
+ and https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/78
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2683>
+
+2022-06-14 16:18:35 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * docs/meson.build:
+ * docs/plugins/gst_plugins_cache.json:
+ * docs/plugins/index.md:
+ * docs/plugins/sitemap.txt:
+ docs: make sure rtspclientsink plugin docs index page is called index.html
+ .. instead of plugin-index.html.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2592>
+
+2022-04-06 12:56:30 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ Bump GLib requirement to >= 2.62
+ Can't require 2.64 yet because of
+ https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/323
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2568>
+
+2022-05-16 18:06:16 +0200 Patricia Muscalu <patricia@axis.com>
+
+ * gst/rtsp-server/rtsp-media.c:
+ rtsp-media: Correct logic on GstRTSPStreamBlocking message reception
+ We must take into account the receiving streams as well when calculating
+ the expected number of the received GstRTSPStreamBlocking messages.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2429>
+
+2022-04-27 01:13:11 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * tests/check/gst/onvif.c:
+ tests/onvif: improve robustness
+ The previous iteration of the code was inferring the type of the
+ frame by looking at the overall size of the gst-payloaded packet.
+ It is more robust to actually parse the payload and look at the
+ actual data buffers it contains.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2303>
+
+2022-04-27 01:10:46 +0200 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * tests/check/gst/onvif.c:
+ tests/onvif: don't push buffers outside segment
+ segment->stop is exclusive, so in reverse playback mode we do not
+ need to output a buffer at that position as it will simply get
+ clipped in basesink.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2303>
+
+2022-02-15 13:39:43 +0000 Pierre Bourré <pierre.moltess@gmail.com>
+
+ * gst/rtsp-sink/gstrtspclientsink.c:
+ rtspclientsink: fix possible shutdown deadlock collect_streams()
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1696>
+
+2022-04-07 19:14:27 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/rtsp-server/rtsp-sdp.c:
+ rtsp-server: Add RFC5576 Source-specific media attribute to the SDP media for signalling the CNAME
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132>
+
+2022-04-13 14:34:57 +0200 Marc Leeman <m.leeman@televic.com>
+
+ * gst/rtsp-server/rtsp-stream.c:
+ gst-rtsp-server: minor spelling fixes
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2170>
+
+2022-03-25 15:00:20 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * examples/meson.build:
+ * meson.build:
+ Remove glib and gobject dependencies everywhere
+ They are part of gst_dep already and we have to make sure to always have
+ gst_dep. The order in dependencies matters, because it is also the order
+ in which Meson will set -I args. We want gstreamer's config.h to take
+ precedence over glib's private config.h when it's a subproject.
+ While at it, remove useless fallback args for gmodule/gio dependencies,
+ only gstreamer core needs it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031>
+
+2022-03-28 21:03:16 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst/rtsp-server/rtsp-stream.c:
+ rtsp-stream: remove unused variable:
+ Fixes:
+ ../gst/rtsp-server/rtsp-stream.c:2670:9: error: variable 'n_messages' set but not used [-Werror,-Wunused-but-set-variable]
+ guint n_messages = 0;
+ ^
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046>
+
+2022-03-18 13:42:27 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * meson.build:
+ meson: Bump all meson requirements to 0.60
+ Lots of new warnings ever since
+ https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1934
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1977>
+
+2022-02-23 17:39:18 +0100 Vivienne Watermeier <vwatermeier@igalia.com>
+
+ * gst/rtsp-server/rtsp-token.c:
+ documentation: improve misleading wording
+ The documentation for several gst_*_writable_structure functions stated
+ that they would never return NULL, without making clear that the passed
+ object is required to be writable. This changes the wording in those
+ cases to make that requirement more clear.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1784>
+
+2022-02-10 08:01:02 +0100 Branko Subasic <branko@axis.com>
+
+ * examples/test-onvif-server.c:
+ * tests/check/gst/onvif.c:
+ rtponviftimestamp: add support for using reference timestamps
+ Make it posible to configure the element to obtain the timestamps from
+ reference timestamp meta data instead of using the ntp-offset property,
+ or estimating its own offset. Currently the only time format supported
+ is "timestamp/x-unix", i.e. UTC time expressed in the unix time epoch.
+ In addition the custom event GstNtpOffset has been renamed to
+ GstOnvifTimestamp, to reflect that it is not necessarily used to convey
+ the ntp-offset. As a consequence we had to modify a couple of files in
+ the rtsp-server as well.
+ Fixes #984
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1683>
+
+2022-02-18 16:05:53 +0100 Branko Subasic <branko@axis.com>
+
+ * tests/check/gst/onvif.c:
+ * tests/check/gst/rtspserver.c:
+ * tests/check/gst/stream.c:
+ gst-rtsp-server: Plug a few memory leaks in tests
+ Found and fixed a few memory leaks in the gst_rtspserver, gst_onvif and
+ gst_stream tests by running the tests in valgrind.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1742>
+
+2022-03-07 09:14:46 +0100 Branko Subasic <branko@axis.com>
+
+ * gst/rtsp-server/rtsp-client.c:
+ gst-rtsp-server: fix race in rtsp-client
+ When tunneling over HTTP, if connection on the second channel happens
+ before the control timer is created we may trigger an assert in
+ rtsp_ctrl_timeout_remove(). Avoid that by taking the priv->lock before
+ attaching the client thread to the context.
+ Fixes #1025
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1867>
+
+2022-02-04 11:15:47 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * docs/gst_plugins_cache.json:
+ * meson.build:
+ Back to development
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1635>
+
=== release 1.20.0 ===
2022-02-03 19:53:25 +0000 Tim-Philipp Müller <tim@centricular.com>
+ * ChangeLog:
* NEWS:
* RELEASE:
* docs/gst_plugins_cache.json:
diff --git a/subprojects/gstreamer-vaapi/ChangeLog b/subprojects/gstreamer-vaapi/ChangeLog
index 25f336e04f..dbd32b0131 100644
--- a/subprojects/gstreamer-vaapi/ChangeLog
+++ b/subprojects/gstreamer-vaapi/ChangeLog
@@ -1,7 +1,254 @@
+2022-09-21 19:19:45 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * meson.build:
+ meson: Use implicit builtin dirs in pkgconfig generation
+ Starting with Meson 0.62, meson automatically populates the variables
+ list in the pkgconfig file if you reference builtin directories in the
+ pkgconfig file (whether via a custom pkgconfig variable or elsewhere).
+ We need this, because ${prefix}/libexec is a hard-coded value which is
+ incorrect on, for example, Debian.
+ Bump requirement to 0.62, and remove version compares that retained
+ support for older Meson versions.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1245
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3061>
+
+2022-09-01 15:11:31 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * meson.build:
+ meson: Call pkgconfig.generate in the loop where we declare plugins dependencies
+ Removing some copy pasted code
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-09-01 11:51:48 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/meson.build:
+ meson: Namespace the plugins_doc_dep/libraries variables
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-08-31 18:44:14 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * meson.build:
+ meson: Rename plugins list and make them "dependency" objects
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-05-31 15:18:03 +0200 Stéphane Cerveau <scerveau@collabora.com>
+
+ * docs/meson.build:
+ * meson.build:
+ docs: disable in static build
+ Following gst-plugins-base, disable docs if static_build
+ in:
+ - gstreamer
+ - gst-plugins-good
+ - gst-plugins-ugly
+ - gst-libav
+ - gstreamer-vaapi
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2529>
+
+2022-08-11 21:22:12 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * gst-libs/gst/vaapi/gstvaapidisplay.c:
+ * gst/vaapi/gstvaapi.c:
+ * gst/vaapi/gstvaapidecode.c:
+ vaapi: plugin: Handle when no encoders/decoders available.
+ Nouveau driver currently only exposes postproc entry. But
+ vaapidecodebin is registered independent if there are decoders or not,
+ exposing a segmentation fault.
+ This patch removes the encoder/decoder/codec arrays if no entries are
+ found, and if no decoders are found vaapidecodebin is not
+ registered. Also for vaapipostproc if no postproc entry is found.
+ Also, if general decoder, used by vaapidecodebin, doesn't have a sink
+ pad string, don't register the glib type.
+ Fixes: #1349
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2865>
+
+2022-07-27 08:45:45 -0400 U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+ * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
+ vaapi: h265dec: avoid possible NULL deref
+ Check "pi" before attempting to dereference it.
+ Captured by static analysis.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2801>
+
+2022-07-26 12:12:50 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
+ vaapi: h264dec: Remove dead code
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2795>
+
+2022-07-26 12:22:10 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
+ vaapi: h265dec: Refresh our sps/pps copy
+ The decoder uses a copy of the SPS/PPS. Since
+ https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2575
+ the SPS/PPS is updated when the slice header is parsed. As a side
+ effect, the H265 decoder was using an partially filled copy.
+ Fixes: 5ae05bb42a ("codecparsers: Defering computation of pps and sps fields")
+ Fixes: #1343
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2795>
+
+2022-06-09 20:00:35 +0800 He Junyan <junyan.he@intel.com>
+
+ * gst-libs/gst/vaapi/gstvaapifilter.c:
+ vaapi: Do not disable the whole vpp when some va operations not available.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2578>
+
+2022-05-26 12:08:44 -0400 U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+ * tests/check/elements/vaapioverlay.c:
+ tests: vaapi: remove unused header
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2503>
+
+2022-05-26 12:06:43 -0400 U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+ * tests/check/elements/vaapioverlay.c:
+ tests: vaapi: fix memleak in vaapioverlay test
+ Need to unmap the frame to ensure vaapioverlay can destruct/dispose.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2503>
+
+2022-04-12 15:23:08 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/vaapi/gstvaapivalue.c:
+ Fix `transfer` gobject-introspection annotation typos
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2160>
+
+2022-03-30 11:06:02 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * meson.build:
+ Use gmodule-no-export-2.0
+ We don't need `-Wl,--export-dynamic`, that's used only for executables
+ that needs to export an API to be used by plugins they load.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031>
+
+2022-03-25 15:00:20 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * gst-libs/gst/vaapi/gstvaapifilter.c:
+ * meson.build:
+ Remove glib and gobject dependencies everywhere
+ They are part of gst_dep already and we have to make sure to always have
+ gst_dep. The order in dependencies matters, because it is also the order
+ in which Meson will set -I args. We want gstreamer's config.h to take
+ precedence over glib's private config.h when it's a subproject.
+ While at it, remove useless fallback args for gmodule/gio dependencies,
+ only gstreamer core needs it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031>
+
+2021-09-11 12:17:56 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/gst_plugins_cache.json:
+ * meson_options.txt:
+ tools: Add support for building gstreamer tools against gst-full
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1581>
+
+2022-03-18 16:59:32 +0000 Thibault Saunier <tsaunier@igalia.com>
+
+ * tests/check/elements/vaapipostproc.c:
+ navigation: Add support for key Modifiers in all relevant events
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2010>
+
+2022-02-14 16:08:23 +0100 Vivienne Watermeier <vwatermeier@igalia.com>
+
+ * gst/vaapi/gstvaapipostproc.c:
+ * gst/vaapi/gstvaapisink.c:
+ * tests/check/elements/vaapipostproc.c:
+ all: Use new navigation interface and API
+ Use and implement the new navigation interface in all relevant sink elements,
+ and use API functions everywhere instead of directy accessing the event structure.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633>
+
+2022-03-16 13:17:21 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst-libs/gst/vaapi/gstvaapidecoder_av1.c:
+ codecs: av1: Fix state when we show existing keyframe
+ Showing existing keyframe have special meaning in AV1. All the references
+ frame will be refreshed with the original keyframe information. The refresh
+ process (7.20) is implemented by saving data from the frame_header into the
+ state. To fix this special case, load all the relevant information into the
+ frame_header.
+ As there is nothing happening in between this and the loading of the key-frame
+ into the state, this patch also remove the separate API function, using it
+ internally instead.
+ Fixes #1090
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1971>
+
+2022-03-18 13:42:27 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * meson.build:
+ meson: Bump all meson requirements to 0.60
+ Lots of new warnings ever since
+ https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1934
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1977>
+
+2022-03-08 14:54:34 +0800 GuYanjie <yanjie.gu@intel.com>
+
+ * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
+ vaapih265dec: fixed st_rps_bits setting in h265 decoding.
+ According to va_dec_hevc.h, pic_param->st_rps_bits should be set
+ for accelorater to skip parsing the *short_term_ref_pic_set
+ (num_short_term_ref_pic_sets) structure.
+ Also modified fill_picture to get parser info as a parameter,
+ in order to get slide_hdr->short_term_ref_pic_set_size.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1886>
+
+2021-11-19 18:47:24 -0800 Haihao Xiang <haihao.xiang@intel.com>
+
+ * gst-libs/gst/vaapi/gstvaapiblend.c:
+ * gst/vaapi/gstvaapioverlay.c:
+ * gst/vaapi/gstvaapioverlay.h:
+ vaapioverlay: inline sinkpad scaling support
+ Often, users will need to scale inputs (e.g.
+ with vaapipostproc) before they are submitted
+ to the vaapioverlay. However, this results in
+ multiple VPP passes/operations in the pipeline
+ which creates unnecessary process overhead.
+ This change allows for inputs to be submitted
+ at original scale to vaapioverlay with per-sinkpad
+ scale dimensions specified so they can be scaled
+ and blended/composited in a single VPP pass/operation
+ to avoid the unnecessary process overhead.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1380>
+
+2021-11-19 14:46:34 -0800 U. Artie Eoff <ullysses.a.eoff@intel.com>
+
+ * gst-libs/gst/vaapi/gstvaapiblend.c:
+ vaapioverlay: use vpp blend state iif using alpha
+ Don't set VAAPI vpp blend flags if alpha == 1.0,
+ i.e. fully opaque. This can avoid extra processing
+ overhead on some drivers that apply blending
+ unconditionally when flags are present, even if the
+ end result is the same without blend flags (i.e. all
+ opaque alpha channels).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1380>
+
+2022-02-09 06:01:34 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * meson.build:
+ * meson_options.txt:
+ vaapi: Use meson's features for option selection.
+ Modernize option selection, so if a required dependency is missing,
+ produce a meaningful error message.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1676>
+
+2021-09-30 17:42:19 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * meson.build:
+ build: Add libva dependency fallback.
+ Then libva can be subproject and used by either gstreamer-vaapi,
+ va and msdk in gst-plugins-bad.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1397>
+
+2022-02-04 11:15:47 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ Back to development
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1635>
+
=== release 1.20.0 ===
2022-02-03 19:53:25 +0000 Tim-Philipp Müller <tim@centricular.com>
+ * ChangeLog:
* NEWS:
* RELEASE:
* gstreamer-vaapi.doap:
diff --git a/subprojects/gstreamer/ChangeLog b/subprojects/gstreamer/ChangeLog
index da6d04bd92..7da9470ec7 100644
--- a/subprojects/gstreamer/ChangeLog
+++ b/subprojects/gstreamer/ChangeLog
@@ -1,7 +1,1310 @@
+2022-10-03 11:16:25 +0200 Edward Hervey <edward@centricular.com>
+
+ * plugins/elements/gstqueue2.c:
+ queue2: Hold the lock when modifying sinkresult
+ As it's done elsewhere. Avoids a potential race of the field being modified in
+ the meantime.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3110>
+
+2018-03-28 17:54:15 +0200 Philipp Zabel <p.zabel@pengutronix.de>
+
+ * gst/gstbuffer.c:
+ * gst/gstmeta.c:
+ * gst/gstmeta.h:
+ * libs/gst/base/gstadapter.c:
+ * libs/gst/base/gstbasetransform.c:
+ buffer: drop parent meta in deep copy/foreach_metadata
+ The purpose of a deep buffer copy is to be able to release the source
+ buffer and all its dependencies. Attaching the parent buffer meta to
+ the newly created deep copy needlessly keeps holding a reference to the
+ parent buffer.
+ The issue this solves is the fact you need to allocate more
+ buffers, as you have free buffers being held for no reason. In the good
+ cases it will use more memory, in the bad case it will stall your
+ pipeline (since codecs often need a minimum number of buffers to
+ actually work).
+ Fixes #283
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2928>
+
+2022-09-26 14:17:18 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/gsturi.c:
+ gsturi: When setting the same string again do nothing
+ Otherwise code like gst_uri_set_host(uri, gst_uri_get_host(uri)) would
+ first free the string, then create a copy of the freed string and then
+ assigned that.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3076>
+
+2022-09-15 16:22:23 +0200 Edward Hervey <edward@centricular.com>
+
+ * libs/gst/base/gstbasetransform.c:
+ basetransform: Avoid useless codepath
+ If QoS is disabled, skip the whole computation (avoids calculating values which
+ won't be needed)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3034>
+
+2022-09-21 19:19:45 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * meson.build:
+ meson: Use implicit builtin dirs in pkgconfig generation
+ Starting with Meson 0.62, meson automatically populates the variables
+ list in the pkgconfig file if you reference builtin directories in the
+ pkgconfig file (whether via a custom pkgconfig variable or elsewhere).
+ We need this, because ${prefix}/libexec is a hard-coded value which is
+ incorrect on, for example, Debian.
+ Bump requirement to 0.62, and remove version compares that retained
+ support for older Meson versions.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1245
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3061>
+
+2022-09-12 09:46:43 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * data/bash-completion/helpers/meson.build:
+ * data/meson.build:
+ * libs/gst/helpers/meson.build:
+ * tests/validate/meson.build:
+ * tools/meson.build:
+ meson: Set install_tag on some targets
+ Trying to follow recommendation from Meson documentation:
+ https://mesonbuild.com/Installing.html#installation-tags
+ Move tools into 'bin' or 'bin-devel' categories to keep only libs and
+ plugins in the default 'runtime' category. This simplifies distribution
+ of GStreamer application skipping parts that are not needed, similarly
+ to what Cerbero does by hardcoding huge list of files.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3017>
+
+2022-08-31 18:08:08 +0200 Paweł Stawicki <stawel+gstreamer@gmail.com>
+
+ * plugins/elements/gstqueue2.c:
+ queue2: Fix deadlock when deactivate is called in pull mode
+ check is flush was called before waiting on condition
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2967>
+
+2022-09-15 16:23:16 +0200 Edward Hervey <edward@centricular.com>
+
+ * libs/gst/base/gstbaseparse.c:
+ baseparse: If available, return average bitrate upstream
+ Helps improve queue2 buffering for single stream playback (ex: FLAC or mp3)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3033>
+
+2022-08-26 08:43:34 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst/gstelement.c:
+ Build documentation for rust plugins
+ - Update the docker image we use, starting using the standard one adding
+ `gtk4-doc` as required by rust plugins
+ - Update the plugins_doc_caches as required, some more plugins are built
+ with the new image
+ - Install ninja from pip as the version from F31 is too old
+ - Avoid buildings all GSreamer plugins when building the doc as it takes
+ time and resources for no good reason
+ - Stop linking to `GInstanceInitFunc` as it is not present in latest GLib
+ documentation, leading to warnings in hotdoc.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2954>
+
+2022-08-26 08:39:16 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/gst-hotdoc-plugins-scanner.c:
+ docs: plugin-scanner: Minor debug enhancement
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2954>
+
+2021-01-28 08:40:56 +0200 Jordan Petridis <jordan@centricular.com>
+
+ * gst/gst_private.h:
+ * gst/gstelement.c:
+ * gst/gstinfo.c:
+ gstinfo: remove the vasprintf fallback
+ We are always building our printf implementation, even when
+ GST_DEBUG is disabled, since we are exposing api (gst_print*)
+ that's dependant on our printf behavior.
+ We don't need to keep __gst_info_fallback_vasprintf around anymore.
+ Close #640
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/739>
+
+2021-03-24 14:20:18 -0500 Zebediah Figura <z.figura12@gmail.com>
+
+ * meson.build:
+ meson: Build with -Wl,-z,nodelete to prevent unloading of dynamic libraries and plugins
+ GLib made the unfortunate decision to prevent libgobject from ever being
+ unloaded, which means that now any library which registers a static type
+ can't ever be unloaded either (and any library that depends on those,
+ ad nauseam).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/778>
+
+2021-04-19 10:49:42 -0400 Doug Nazar <nazard@nazar.ca>
+
+ * gst/gstregistry.c:
+ registry: skip integration testsuite directory during plugin scan
+ When using an uninstalled development environment and running the
+ validation tests, the number of log files can grow substantially,
+ slowing down startup.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/799>
+
+2022-08-30 10:48:18 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * gst/gstbufferpool.c:
+ doc: Clarify that gst_buffer_pool_acquire_buffer() blocks by default
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2955>
+
+2022-09-01 15:11:31 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * meson.build:
+ * plugins/elements/meson.build:
+ * plugins/tracers/meson.build:
+ meson: Call pkgconfig.generate in the loop where we declare plugins dependencies
+ Removing some copy pasted code
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-09-01 11:51:48 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * docs/meson.build:
+ * gst/meson.build:
+ * libs/gst/base/meson.build:
+ * libs/gst/check/meson.build:
+ * libs/gst/controller/meson.build:
+ * libs/gst/net/meson.build:
+ * meson.build:
+ meson: Namespace the plugins_doc_dep/libraries variables
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-08-31 18:44:14 -0400 Thibault Saunier <tsaunier@igalia.com>
+
+ * meson.build:
+ meson: Rename plugins list and make them "dependency" objects
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
+
+2022-08-31 14:23:59 +0200 Martin Dørum <martid0311@gmail.com>
+
+ * gst/gstpluginloader.c:
+ gstpluginloader: Don't hang on short reads/writes
+ If read_one or write_one was called but the stream closed before it could
+ read/write a whole packet, read_one/write_one would hang indefinitely,
+ consuming 100% CPU. This commit fixes that by treating a short read/write
+ as an error.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2964>
+
+2022-08-31 09:15:08 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * gst/gst.c:
+ gst_init: Initialize static plugins just before dynamic plugins
+ All plugins needs to be initialized after `gst_initialized = TRUE;`
+ otherwise they could complain that gst_init() has not been called.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2962>
+
+2022-05-31 15:18:03 +0200 Stéphane Cerveau <scerveau@collabora.com>
+
+ * docs/meson.build:
+ docs: disable in static build
+ Following gst-plugins-base, disable docs if static_build
+ in:
+ - gstreamer
+ - gst-plugins-good
+ - gst-plugins-ugly
+ - gst-libav
+ - gstreamer-vaapi
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2529>
+
+2022-08-24 12:42:12 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst/gstvalue.c:
+ value: Use g_critical() when trying to serialize things that can't be
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2823>
+
+2022-08-01 14:00:20 -0400 Olivier Crête <olivier.crete@collabora.com>
+
+ * gst/gstvalue.c:
+ * tests/check/gst/gstvalue.c:
+ gstvalue: Don't loop forever when serializing invalid flag
+ The serialization code would loop forever if an invalid flag was sent into it.
+ With unit test for this corner case.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2823>
+
+2022-08-23 19:40:54 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/gstbin.c:
+ bin: Don't propagate state change errors of elements in locked state
+ Theoretically having elements in locked state should not have any effect
+ at all when the surrounding bin is doing state changes. However
+ previously a state change error of a locked element would cause the
+ bin's state change to also fail, which is clearly not intended.
+ State change failures of locked elements are to be handled by whoever
+ set the element to locked state. By always returning them here it is
+ impossible for the owner of the element to handle state change failures
+ gracefully without potentially affecting the whole pipeline's state
+ changes.
+ Non-failure returns are still returned as-is as the distinction between
+ ASYNC/NO_PREROLL/SUCCESS has big consequences on the state changes of
+ the bin and overall pipeline. Theoretically SUCCESS should also be
+ returned in all cases but I can't estimate the effects this would have
+ on the overall pipeline.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2932>
+
+2022-08-17 16:27:36 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * libs/gst/base/gstaggregator.c:
+ aggregator: Improve debug output to better understand why pads are not ready or can't accept more data
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2907>
+
+2022-08-15 20:07:09 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst/gstmeta.c:
+ * gst/gstmeta.h:
+ * tests/check/gst/gstmeta.c:
+ meta: Set the parent refcount of the GstStructure correctly
+ The parent refcount is of the *transformed* buffer, not the input
+ buffer.
+ Also update the docs to clarify that @transbuf is the transformed
+ buffer, and not the buffer on which a transformation is being
+ performed.
+ Due to this bug, modifying the structure of a meta that has been
+ copied to another buffer fails with:
+ gst_structure_set: assertion 'IS_MUTABLE (structure) || field == NULL' failed
+ Add a test for the same.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2890>
+
+2022-07-09 17:04:07 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/gst.c:
+ gst: Protect initialization state with a recursive mutex.
+ Otherwise a gst_init() call from a plugin would deadlock if the plugin
+ is loaded as part of registry updating.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/940
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2740>
+
+2022-07-09 17:02:26 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/gstregistry.c:
+ registry: Remove dead code
+ Initialization/updating of the registry can't possible fail and all code
+ paths always returned TRUE.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2740>
+
+2022-07-09 16:50:54 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/gst.c:
+ gst: Don't fail gst_init() if updating the registry fails
+ Everything is already marked as initialized at that point and by failing
+ no tracers would be loaded or plugin feature rank overrides would be
+ applied.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2740>
+
+2022-08-03 12:32:24 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * plugins/tracers/gstleaks.c:
+ tracers: leaks: delay type name lookup
+ Micro optimisation: Store the quark of the type name when tracking
+ objects and only do the quark to string conversion (hashtable lookup)
+ later when we actually need the string.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2832>
+
+2022-08-03 12:10:02 +0100 Corentin Damman <c.damman@intopix.com>
+
+ * plugins/tracers/gstleaks.c:
+ tracers: leaks: fix potentially invalid memory access when trying to detect object type
+ The is_gst_mini_object_check would sometimes detect a proper GObject
+ as a mini object, and then bad things happen.
+ We know whether a pointer is a proper GObject or a MiniObject here
+ though, so just pass that information to the right code paths and
+ avoid the heuristics altogether.
+ Eliminates all remaining uses of object_is_gst_mini_object().
+ Fixes #1334
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2832>
+
+2022-08-03 12:10:02 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * plugins/tracers/gstleaks.c:
+ tracers: leaks: fix potentially invalid memory access when trying to detect object type
+ The is_gst_mini_object_check would sometimes detect a proper GObject
+ as a mini object, and then bad things happen.
+ We know whether a pointer is a proper GObject or a MiniObject here
+ though, so just pass that information to the right code paths and
+ avoid the heuristics altogether.
+ There are probably more cases where the check should be eliminated.
+ Fixes #1334, maybe
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2832>
+
+2022-07-28 19:44:20 +0000 Rafael Sobral <rafaelsobral@pm.me>
+
+ * libs/gst/base/gstaggregator.c:
+ aggregator: fix reversed active/flushing arguments in debug log output
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2813>
+
+2022-05-26 15:26:40 +0100 Philippe Normand <philn@igalia.com>
+
+ * gst/gstversion.h.in:
+ GST_CHECK_VERSION: Fix unexpected "git = next version" assumption
+ 1.21.0.1 should not satisfy a check for 1.22.0.
+ If someone needs more control they should do a feature check for
+ the symbol in the headers or lib.
+ Based on a similar patch by Tim-Philipp Müller for libnice.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2501>
+
+2022-07-19 04:05:55 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/gststructure.c:
+ * gst/gststructure.h:
+ * tests/check/gst/gststructure.c:
+ gststructure: Add gst_structure_get_flags method
+ We don't prevent setting G_TYPE_FLAGS on GstStructure
+ but no helper method for getting the value.
+ Add a method similar to gst_structure_get_enum()
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2770>
+
+2022-07-18 15:46:21 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * libs/gst/base/gstaggregator.c:
+ aggregator: Reset EOS flag after receiving a stream-start event
+ And also don't assert that there are no buffers queued up when handling
+ an EOS event. The pad's streaming thread might've already received a new
+ stream-start event and queued up a buffer in the meantime.
+ This still leaves a race condition where the srcpad task sees all pads
+ in EOS state and finishes the stream, while shortly afterwards a pad
+ might receive a stream-start event again, but this doesn't seem to be
+ solveable with the current aggregator design.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2769>
+
+2022-07-12 10:49:27 +0000 Corentin Damman <c.damman@intopix.com>
+
+ * plugins/tracers/gstleaks.c:
+ tracers: leaks: fix object-refings.class flags
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2749>
+
+2022-07-09 18:05:58 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/gstdevicemonitor.c:
+ devicemonitor: Use a sync bus handler for the provider to avoid accumulating all messages until the provider is stopped
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/981
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2741>
+
+2022-07-08 16:37:51 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/gstinfo.c:
+ gstinfo: Parse "NONE" as a valid level name
+ This allows using `NONE` in `GST_DEBUG`,
+ `gst_debug_set_threshold_from_string`, etc. It was accessible before,
+ but only via the integer `0`.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2734>
+
+2022-06-29 08:57:42 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/gstpad.c:
+ * gst/gsttracerutils.c:
+ * gst/gsttracerutils.h:
+ tracing: add hooks for gst_pad_chain() / gst_pad_chain_list()
+ This allows tracing buffers when they arrive in a pad instead of just
+ when they are pushed out of a pad.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2682>
+
+2022-06-29 10:55:13 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/gst.c:
+ * meson.build:
+ coding style: allow declarations after statement
+ See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1243/
+ and https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/78
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2683>
+
+2022-06-22 09:43:02 +0200 Jonas Danielsson <jonas.danielsson@spiideo.com>
+
+ * gst/gst.c:
+ gst: add missing define guard
+ If compiled with -Dgstreamer:gst_debug=false and we have
+ GST_REMOVE_DISABLED defined we will get the following compiler error:
+ ```
+ [...]/libgstreamer-1.0.so.0.2100.0.p/gst.c.o: in function `gst_deinit':
+ [...]/gst/gst.c:1258: undefined reference to `_priv_gst_debug_cleanup'
+ [...] hidden symbol `_priv_gst_debug_cleanup' isn't defined
+ ```
+ Add the missing define guard to avoid this.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2648>
+
+2022-06-21 11:51:35 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * tests/check/gst/gstbin.c:
+ bin: Fix race conditions in tests
+ The latency messages are non-deterministic and can arrive before/after
+ async-done or during state-changes as they are posted by e.g. sinks from
+ their streaming thread but bins are finishing asynchronous state changes
+ from a secondary helper thread.
+ To solve this, expect latency messages at any time and assert that we
+ receive one at some point during the test.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2643>
+
+2022-06-20 16:45:19 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/gstelement.c:
+ * tests/check/gst/gstelement.c:
+ element: Fix requesting of pads with string templates
+ Previously it was only possible to request them with the exact template
+ name, e.g. 'src_%s', but not with "instantiated" names that would match
+ this template, e.g.'src_foo_bar'.
+ This is now possible and a test was added for this, in addition to
+ fixing a previously invalid test.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2635>
+
+2022-05-17 10:18:28 -0700 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * gst/gstbuffer.h:
+ * gst/gstmemory.h:
+ Add GstMemoryMapInfo to be used with g_auto()
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2412>
+
+2022-05-13 11:51:09 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * gst/gstbuffer.c:
+ * gst/gstbuffer.h:
+ * tests/check/gst/gstbuffer.c:
+ Add GstBufferMapInfo to be used with g_auto()
+ We need a separate typedef for this feature because GstMapInfo itself
+ can be initialized by gst_memory_map() in which case info.memory should
+ not be unreffed.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2412>
+
+2022-06-20 15:29:21 +0100 Philippe Normand <philn@igalia.com>
+
+ * tools/gst-inspect.c:
+ gst-inspect: Fix inspection of third-party plugins
+ Since commit de57657de1d1916503b4ad451ac13a3e191465f8 inspecting a third-party
+ plugin would trigger a segfault (Address boundary error) due to the missing
+ sentinel in the list of GStreamer modules.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2636>
+
+2022-06-14 16:30:08 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * docs/meson.build:
+ * docs/plugins/coretracers/index.md:
+ * docs/plugins/coretracers/sitemap.txt:
+ docs: ensure coretracers plugin index page is index.html
+ And not blank.html
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2592>
+
+2022-06-12 23:28:21 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * tools/gst-inspect.c:
+ gst-inspect: print link to documentation for gstreamer elements
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2592>
+
+2022-05-19 04:59:58 +0000 Adam Doupe <adamdoupe@gmail.com>
+
+ * libs/gst/base/gstqueuearray.c:
+ queuearray: Fix potential heap overflow when expanding GstQueueArray
+ Check that elt_size*newsize doesn't overflow when expanding a
+ GstQueueArray, which has the potential for a heap overwrite.
+ Co-authored-by: Sebastian Dröge <sebastian@centricular.com>
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1232
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2606>
+
+2022-06-15 12:56:13 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * libs/gst/check/gstharness.c:
+ docs: harness: Fix example
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2602>
+
+2022-06-14 17:29:31 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * plugins/elements/gstmultiqueue.c:
+ multiqueue: fix potential crash on shutdown
+ The mq we get out of the weak ref might be NULL if we're
+ shutting down, which could cause assertion failures or
+ crashes.
+ It might also cause miscompilations where the compiler just
+ optimises away the NULL check because it jumps to a code path
+ that then dereferences the pointer which clearly isn't going
+ to work. Seems like something like this happens with gcc 11.
+ Fixes #1262
+ Co-authored-by: Doug Nazar <nazard@nazar.ca>
+ Co-authored-by: Sebastian Dröge <sebastian@centricular.com>
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2599>
+
+2022-06-14 03:29:41 -0600 James Hilliard <james.hilliard1@gmail.com>
+
+ * plugins/elements/gstmultiqueue.c:
+ multiqueue: fix warning: ‘is_query’ may be used uninitialized in this function
+ Fixes:
+ ../plugins/elements/gstmultiqueue.c: In function ‘gst_multi_queue_loop’:
+ ../plugins/elements/gstmultiqueue.c:2394:19: warning: ‘is_query’ may be used uninitialized in this function [-Wmaybe-uninitialized]
+ 2394 | if (object && !is_query)
+ | ^~~~~~~~~
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2593>
+
+2022-06-10 11:40:18 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * docs/random/moving-plugins:
+ docs: update technical howto in moving-plugins
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2583>
+
+2022-06-08 11:33:22 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst/gst_private.h:
+ * gst/gstclock.c:
+ clock: Use g_atomic_rc_box for refcounting entry clocks
+ g_atomic_rc_box was added in GLib 2.58, and we require 2.62 now, so we
+ can fix the FIXME and use this.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2568>
+
+2022-04-06 12:56:30 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/gstdevicemonitor.c:
+ * meson.build:
+ * tests/check/gst/gsturi.c:
+ Bump GLib requirement to >= 2.62
+ Can't require 2.64 yet because of
+ https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/323
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2568>
+
+2022-06-01 09:25:29 +0200 Guillaume Desmottes <guillaume.desmottes@onestream.live>
+
+ * libs/gst/base/gstbasetransform.c:
+ basetransform: handle gst_base_transform_query_caps() returning NULL
+ If gst_base_transform_transform_caps() returns NULL, gst_base_transform_query_caps()
+ will return NULL as well.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2532>
+
+2022-05-18 17:03:27 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+ * gst/gst_private.h:
+ * gst/gstclock.c:
+ clock: Avoid creating a weakref with every entry
+ Creating and destroying weakrefs takes a write lock on a global
+ `GRWLock`. This makes for a very contended lock when the pipeline has
+ many synchronizing elements.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2530>
+
+2022-05-31 14:27:51 +0200 Guillaume Desmottes <guillaume.desmottes@onestream.live>
+
+ * libs/gst/base/gstbasetransform.c:
+ basetransform: fix critical if transform_caps() returned NULL
+ klass->transform_caps() may return NULL, which was raising this
+ critical:
+ GStreamer-CRITICAL **: 12:23:56.243: gst_caps_is_subset: assertion 'subset != NULL' failed
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2528>
+
+2022-05-29 20:38:38 +1000 tom schuring <tomschuring@gmail.com>
+
+ * gst/gstplugin.c:
+ plugin: add Apache 2 license to known licenses
+ the licence in gstreamer/subprojects/gstreamer/gst/gstplugin.c
+ currently is defined to be one of:
+ LGPL GPL QPL GPL/QPL MPL BSD MIT/X11 0BSD Proprietary
+ The open source project for the kinesis plugin is using an
+ Apache 2.0 license. Because "Apache 2.0" is not one of the
+ supported licenses it automatically falls back to Proprietary.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2514>
+
+2022-01-21 20:31:27 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * gst/gst_private.h:
+ * gst/gststructure.c:
+ * gst/gstvalue.c:
+ * tests/check/gst/gststructure.c:
+ structure: Fix serializing with new format inside arrays/lists
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1554>
+
+2022-05-18 10:04:08 +0800 WANG Xuerui <xen0n@gentoo.org>
+
+ * gst/gstconfig.h.in:
+ gstreamer/gst/gstconfig.h.in: Add support for LoongArch
+ While current and future LoongArch machines that are supposed to run
+ GStreamer all support unaligned accesses, there might be future
+ lower-end cores (e.g. the embedded product line) without such support,
+ and we may not want to penalize these use cases.
+ So, mark LoongArch as not supporting unaligned accesses for now, and
+ hope the compilers do a good job optimizing them. We can always flip
+ switch later.
+ Suggested-by: CHEN Tao <redeast_cn@outlook.com>
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2443>
+
+2022-05-12 20:15:44 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/gstelement.c:
+ element: Add sanity check with a critical warning if a pad is requested for a pad template that is not installed on the element class
+ Various elements are assuming that the pointer matches a pad template
+ they know about, and also randomly created pad templates might be
+ missing some important information that is necessary to create a valid
+ pad.
+ For example, creating a new pad template for audiomixer's sinkpad
+ without providing the correct GType would cause audiomixer to create a
+ GstAggregatorPad. That will then later fail spectacularly because it
+ assumes that it got a GstAudioAggregatorPad.
+ Passing a pad template that does not belong to the element class in here
+ will easily lead to undefined behaviour.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2410>
+
+2022-04-25 11:03:35 +0200 Stéphane Cerveau <scerveau@collabora.com>
+
+ * tests/check/gst/gstcaps.c:
+ tests: test fixed caps
+ Add a test entry to check wether a caps is fixed
+ or not.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2290>
+
+2022-04-25 10:59:21 +0200 Stéphane Cerveau <scerveau@collabora.com>
+
+ * gst/gstcaps.c:
+ * tests/check/pipelines/seek.c:
+ caps: warn with wrong mediatype in gst_caps_new_empty_simple
+ If passing ANY/EMPTY to gst_caps_new_empty_simple
+ as a mediatype, a warning will be displayed to alert
+ on this misuse of the API.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2290>
+
+2022-05-05 20:39:52 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * libs/gst/base/gstaggregator.c:
+ aggregator: Don't send multiple caps events with the same caps
+ Every time aggregator is reconfiguring it will try to negotiate new
+ caps. If these resulting caps are the same as the previously negotiated
+ caps then don't send a new caps event with the same caps again.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2372>
+
+2022-05-05 15:05:43 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * libs/gst/base/gstaggregator.c:
+ aggregator: Only send events up to CAPS event from gst_aggregator_set_src_caps()
+ Otherwise setting the srcpad caps based on the sinkpad caps event will
+ already push a segment event downstream before the upstream segment is
+ known.
+ If the upstream segments are just forwarded when the upstream segment
+ event arrives this would result in two segment events being sent
+ downstream, of which the first one will usually be simply wrong.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2372>
+
+2022-05-05 09:00:17 +0200 Edward Hervey <edward@centricular.com>
+
+ * plugins/elements/gstmultiqueue.c:
+ multiqueue: Increase initial interleave growth rate
+ In the case where not all streams have received any data, growing the interleave
+ by only 100ms is too restrictive and would cause some (valid) mpeg-ts streams to
+ hang.
+ Bump up the interleave growth rate for those use-cases to 500ms per input (still
+ up to the limit of 5s).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2370>
+
+2022-05-02 11:41:52 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * plugins/elements/gstfilesink.c:
+ filesink: fix handling of non-existing paths with musl
+ Fixes #1194
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2341>
+
+2022-04-09 21:07:43 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/gstregistry.c:
+ registry: skip Rust dep builddirs when searching for plugins recursively
+ These artefacts confuse the plugin scanner and may cause noisy warnings
+ (and slow down things).
+ Fixes https://gitlab.freedesktop.org/gstreamer/gst-build/-/issues/68
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2146>
+
+2020-11-26 18:11:12 +0100 Mathieu Duponchelle <mathieu@centricular.com>
+
+ * libs/gst/base/gstaggregator.c:
+ aggregator: forward gap event information to gap buffer
+ When the GAP event was flagged with MISSING_DATA, subclasses
+ may want to adopt a different behaviour, for example by repeating
+ the last buffer.
+ As we turn these gap events into gap buffers, we need to flag
+ those, we do so with a new custom meta.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/708>
+
+2022-02-25 16:54:37 -0500 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * libs/gst/helpers/meson.build:
+ meson: Add PYTHONPATH to load GDB helper module
+ Meson generates a gdbinit file that will automatically load gstreamer
+ script. However that script uses a helper python module that needs
+ PYTHONPATH to be pointing into the right location in the source
+ tree to be able to find gst_gdb.py.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1796>
+
+2022-04-20 09:38:16 +0200 Guillaume Desmottes <guillaume.desmottes@onestream.live>
+
+ * plugins/tracers/gstleaks.c:
+ gstleaks: log the number of alive objects
+ Can help checking if the number of alive objects is growing over time or stays stable.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2245>
+
+2022-04-19 14:05:16 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/gstbuffer.h:
+ gstreamer: Document various caps for the reference timestamp meta
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132>
+
+2022-03-25 10:18:34 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * docs/random/i18n:
+ Always define ENABLE_NLS
+ GLib guarantees libintl API is always available, provided by
+ proxy-libintl as last resort. GLib itself unconditionally define
+ ENABLE_NLS.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028>
+
+2022-03-25 10:20:24 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * docs/meson.build:
+ * gst/gettext.h:
+ * gst/gst-i18n-app.h:
+ * gst/gst-i18n-lib.h:
+ Delete unused i18n headers
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028>
+
+2022-03-25 09:59:23 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * docs/gst-hotdoc-plugins-scanner.c:
+ * gst/gst.c:
+ * gst/gstelement.c:
+ * gst/gsterror.c:
+ * gst/gstpipeline.c:
+ * gst/gstregistry.c:
+ * gst/gsttaglist.c:
+ * gst/gsturi.c:
+ * gst/gstutils.c:
+ * gst/parse/grammar.y.in:
+ * libs/gst/base/gstbasesink.c:
+ * libs/gst/base/gstbasesrc.c:
+ * libs/gst/base/gstbasetransform.c:
+ * plugins/elements/gstcapsfilter.c:
+ * plugins/elements/gstdownloadbuffer.c:
+ * plugins/elements/gstfdsink.c:
+ * plugins/elements/gstfilesink.c:
+ * plugins/elements/gstfilesrc.c:
+ * plugins/elements/gstidentity.c:
+ * plugins/elements/gstqueue.c:
+ * plugins/elements/gstqueue2.c:
+ * plugins/elements/gsttypefindelement.c:
+ * tools/tools.h:
+ Replace gst-i18n-*.h with gi18n-lib.h
+ GLib guarantees libintl is always present, using proxy-libintl as
+ last resort. There is no need to mock gettex API any more.
+ This fix static build on Windows because G_INTL_STATIC_COMPILATION must
+ be defined before including libintl.h, and glib does it for us as part
+ as including glib.h.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028>
+
+2022-04-18 15:44:47 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst/meson.build:
+ * meson.build:
+ meson: Add -Wl,-rpath,${libdir} on macOS
+ We made the gstreamer installation prefix relocatable by picking up
+ plugins relative to the location of libgstreamer-1.0.dylib, similar to
+ how it's done for Windows:
+ https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1627
+ This had a lot of side-effects:
+ https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1051
+ https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/363
+ https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/371
+ https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/362
+ A partial fix for the cerbero side of these was:
+ https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/807
+ However, this relied on the consumers knowing that they need to add
+ `LC_RPATH` entries to the libdir of the prefix. This is done
+ automatically by build systems like Meson, but not by others, such as
+ Autotools, CMake, Cargo, XCode, etc. For those, we need to add the
+ RPATH entries to the gstreamer-1.0.pc file.
+ This also has the side-effect of fixing the loading of gstreamer rust
+ plugins on macOS:
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1159
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1149
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2218>
+
+2021-11-12 20:13:10 +0100 Ruben Gonzalez <rgonzalez@fluendo.com>
+
+ * gst/gstplugin.c:
+ gst_plugin_load_file: force plugin reload if diff filename
+ If a file includes a new version of a plugin that exits in the
+ registry, the output of gst-inspect is incorrect. The output has the
+ correct version but incorrect filename, and element description.
+ This seems to have also fixed some documentation issues.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1344>
+
+2020-05-29 11:29:56 -0300 Tulio Beloqui <tulio.beloqui@pexip.com>
+
+ * gst/gstdevicemonitor.c:
+ gstdevicemonitor: added cleanup of signal handlers and hidden providers list
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2182>
+
+2022-04-15 17:00:24 +0200 Guillaume Desmottes <guillaume.desmottes@onestream.live>
+
+ * plugins/tracers/gstleaks.c:
+ gstleaks: fix pthread_atfork return value check
+ pthread_atfork() returns 0 on success.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2195>
+
+2022-04-13 16:59:50 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * libs/gst/net/gstptpclock.c:
+ ptpclock: Fix wrong condition order from last commit
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2171>
+
+2022-04-12 19:22:51 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * libs/gst/net/gstptpclock.c:
+ ptpclock: Allow at least 100ms delay between Sync/Follow_Up and Delay_Req/Delay_Resp messages
+ It doesn't matter for measurement purposes whether receiving them takes
+ a while and various PTP servers are not prioritizing to send them,
+ causing them to be dropped unnecessarily and preventing proper
+ synchronization with such servers.
+ This is especially a problem if the RTTs in the network are very low
+ compared to the additional delay imposed by the server.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2161>
+
+2022-04-12 01:01:23 +0900 Seungha Yang <seungha@centricular.com>
+
+ * tools/gst-launch.c:
+ * tools/meson.build:
+ win32: Enable high-resolution timer for MinGW build
+ timeapi.h is missing in our MinGW toolchain. Include mmsystem.h
+ header instead, which defines struct and APIs in case of our MinGW
+ toolchain. Note that in case of native Windows10 SDK (MSVC build),
+ mmsystem.h will include timeapi.h
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2153>
+
+2022-04-08 13:44:53 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst/gst.c:
+ gst: remove custom logger for critical/warnings/fatals
+ It's not really needed anymore (only calls out to
+ g_log_default_handler() and interferes with applications using
+ g_log_set_default_handler().
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2135>
+
+2022-04-01 21:47:59 +0800 Haihua Hu <jared.hu@nxp.com>
+
+ * tools/gst-launch.c:
+ ximagesink/xvimagesink: use GST_XINITTHREADS to ensure call to XInitThreads
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2098>
+
+2022-04-02 00:16:29 +1100 Jan Schmidt <jan@centricular.com>
+
+ * libs/gst/base/gstaggregator.c:
+ aggregator: Improve debugging of arriving buffers
+ Log some details about the buffers that are arriving and
+ being enqueued on each sink pad.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2096>
+
+2022-04-02 00:46:21 +1100 Jan Schmidt <jan@centricular.com>
+
+ * gst/gstpad.c:
+ gstreamer: Remove GST_DATAFLOW debug category
+ Nothing has logged anything to this category since event and
+ buffer dataflow was de-unified in 2005.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2097>
+
+2022-03-30 11:06:02 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * meson.build:
+ Use gmodule-no-export-2.0
+ We don't need `-Wl,--export-dynamic`, that's used only for executables
+ that needs to export an API to be used by plugins they load.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031>
+
+2022-03-25 15:00:20 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * docs/meson.build:
+ * libs/gst/base/meson.build:
+ * libs/gst/check/meson.build:
+ * libs/gst/controller/meson.build:
+ * libs/gst/helpers/meson.build:
+ * meson.build:
+ * plugins/elements/meson.build:
+ * tests/benchmarks/meson.build:
+ * tests/check/meson.build:
+ * tests/examples/adapter/meson.build:
+ * tests/examples/controller/meson.build:
+ * tests/examples/helloworld/meson.build:
+ * tests/examples/memory/meson.build:
+ * tests/examples/netclock/meson.build:
+ * tests/examples/ptp/meson.build:
+ * tests/examples/stepping/meson.build:
+ * tests/examples/streamiddemux/meson.build:
+ * tests/examples/streams/meson.build:
+ Remove glib and gobject dependencies everywhere
+ They are part of gst_dep already and we have to make sure to always have
+ gst_dep. The order in dependencies matters, because it is also the order
+ in which Meson will set -I args. We want gstreamer's config.h to take
+ precedence over glib's private config.h when it's a subproject.
+ While at it, remove useless fallback args for gmodule/gio dependencies,
+ only gstreamer core needs it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031>
+
+2022-03-24 14:15:00 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * meson.build:
+ Fix cross build with mingw32
+ At least on Ubuntu 20.04 the x86_64-w64-mingw32-gcc toolchain defaults
+ to WinXP. We require at least Vista for FILE_STANDARD_INFO.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2022>
+
+2020-09-04 20:52:47 -0400 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * data/android/GStreamer.java:
+ * data/meson.build:
+ * gst/gstandroid.c:
+ * gst/meson.build:
+ Android: Implement JNI_OnLoad()
+ When building for Android, chances are that gstreamer is going to be
+ loaded from Java using System.loadLibrary(). In that case we can
+ initialize GStreamer (including static plugins), redirect log functions,
+ etc.
+ This code is copied from cerbero because it can be used with
+ gstreamer-full-1.0 too. Cerbero needs to be adapted to drop that code
+ and generate gst_init_static_plugins() function.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/617>
+
+2021-09-11 12:17:56 -0300 Thibault Saunier <tsaunier@igalia.com>
+
+ * meson.build:
+ * tools/meson.build:
+ tools: Add support for building gstreamer tools against gst-full
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1581>
+
+2022-03-30 10:01:33 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/gstquark.c:
+ * gst/gstquark.h:
+ * gst/gstquery.c:
+ * gst/gstquery.h:
+ query: Add a new stream selection query
+ This new API allows querying whether elements can handle stream selection
+ themselves or not.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1905>
+
+2022-03-18 13:42:27 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * meson.build:
+ meson: Bump all meson requirements to 0.60
+ Lots of new warnings ever since
+ https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1934
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1977>
+
+2022-01-05 19:33:06 +0100 Vivienne Watermeier <vwatermeier@igalia.com>
+
+ * libs/gst/base/gstaggregator.c:
+ compositor: send translated navigation events to the relevant sink pads
+ Fixes #888
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1495>
+
+2022-02-23 17:39:18 +0100 Vivienne Watermeier <vwatermeier@igalia.com>
+
+ * gst/gstevent.c:
+ * gst/gstmessage.c:
+ documentation: improve misleading wording
+ The documentation for several gst_*_writable_structure functions stated
+ that they would never return NULL, without making clear that the passed
+ object is required to be writable. This changes the wording in those
+ cases to make that requirement more clear.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1784>
+
+2022-03-10 18:22:49 +0000 Philippe Normand <philn@igalia.com>
+
+ * gst/gsturi.c:
+ uri: Build doubly-linked list by prepending items
+ As outlined in the API documentation, g_list_append() iterates over the whole
+ list, which can quickly introduce performance issues when the list becomes very
+ big, such as for data URIs for instance.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1909>
+
+2022-03-08 12:04:41 +0000 Philippe Normand <philn@igalia.com>
+
+ * plugins/elements/gsttypefindelement.c:
+ typefind: Skip parsing of data URIs
+ Commit a46ab2ced20d757e0e770d4de1edc3a152cc4f2f introduced a regression,
+ breaking typefinding for media content muxed in mp4 container and serialized to
+ data URIs. For this case it doesn't make sense to look for a file extension, so
+ skip URI parsing.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1909>
+
+2022-03-15 14:00:06 +0100 Corentin Noël <tintou@noel.tf>
+
+ * libs/gst/base/gstbasesink.h:
+ basesink: Fix annotations
+ We should annotate the Class and not the object itself.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1965>
+
+2022-03-11 18:08:14 -0500 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * data/bash-completion/helpers/meson.build:
+ * data/meson.build:
+ * libs/gst/helpers/meson.build:
+ Meson: Set install_tag on some files
+ Meson tries to guess the tag (runtime, devel, etc) for every installed
+ file, but it cannot guess them all. There is a list at the end of
+ meson-log.txt of files we need to tag manually.
+ See https://mesonbuild.com/Installing.html#installation-tags.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1934>
+
+2022-03-02 17:07:37 +0100 Edward Hervey <edward@centricular.com>
+
+ * plugins/elements/gstmultiqueue.c:
+ multiqueue: Fix interleave calculation for data before segment start
+ This commit modifies the interleave calculation to allow growing when incoming
+ data is before the segment start.
+ The rationale is that there is no requirement whatsoever for data before the
+ segment start to be "coherent" on all streams.
+ For example, a demuxer could rightfully send data from the video stream from the
+ previous keyframe (potentially quite a bit before the segment start) and the
+ audio from just before the segment start.
+ This will activate the same logic as growing the interleave when some streams
+ haven't received buffers yet.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1892>
+
+2021-08-06 08:30:39 +0200 Edward Hervey <edward@centricular.com>
+
+ * plugins/elements/gstmultiqueue.c:
+ * plugins/elements/gstmultiqueue.h:
+ multiqueue: Improve interleave calculation at startup and EOS
+ * When a stream receives EOS, it will no longer change, we shouldn't take that
+ stream into account for interleave calculation.
+ * When streams (re)appear, we do not want to grow the initial interleave values
+ to excessive values. Instead of setting it to a default of 5s, progressively
+ grow it to that maximum.
+ * When the status of input streams change (i.e. going to/from "some haven't
+ received data yet" and "all have received data"), update the interleave
+ immediately instead of waiting for (potentially) 5s of data before updating
+ it.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1892>
+
+2021-12-20 17:31:17 +0100 sergei.kovalev <sergei@pexip.com>
+
+ * tests/check/gstreamer.supp:
+ check: Fix valgrind suppression for debug function list
+ Fix suppression to support release and debug builds.
+ Here is the debug build call stack:
+ ```
+ ==10707== by 0x48B5520: g_malloc (gmem.c:106)
+ ==10707== by 0x48D19DC: g_slice_alloc (gslice.c:1069)
+ ==10707== by 0x48D3947: g_slist_copy_deep (gslist.c:619)
+ ==10707== by 0x48D38B8: g_slist_copy (gslist.c:567)
+ ==10707== by 0x4ADC90B: gst_debug_remove_with_compare_func (gstinfo.c:1504)
+ ```
+ In release build `g_slist_copy (gslist.c:567)` got inlined:
+ ```
+ ==15419== by 0x48963E0: g_malloc (gmem.c:106)
+ ==15419== by 0x48AA382: g_slice_alloc (gslice.c:1069)
+ ==15419== by 0x48AB732: g_slist_copy_deep (gslist.c:619)
+ ==15419== by 0x4A39B8F: gst_debug_remove_with_compare_func (gstinfo.c:1504)
+ ```
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1814>
+
+2022-02-21 10:49:15 +0100 Sebastian Fricke <sebastian.fricke@collabora.com>
+
+ * docs/gst/running.md:
+ * docs/index.md:
+ * gst/gstregistry.c:
+ Remove the uninstalled term
+ Remove the symbolic link `gst-uninstalled` which points to `gst-env`.
+ The `uninstalled` is the old name and the project should stick to a
+ single name for the procedure.
+ Remove the term from all the files, exceptions are variables from
+ dependencies like `uninstalled_variables` from pkgconfig and
+ `meson-uninstalled`.
+ Adjust mentions of the script in the documentation and README.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1743>
+
+2022-02-23 11:10:11 +0100 Sebastian Fricke <sebastian.fricke@collabora.com>
+
+ * README.md:
+ Maintain build instructions at a single location
+ Do not maintain similar build instructions within each gst-plugins-*
+ subproject and the subproject/gstreamer subproject. Use the build
+ instructions from the mono-repository and link to them via hyperlink.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1743>
+
+2022-02-23 10:13:54 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/gstbuffer.h:
+ buffer: Clarify that the MARKER flag maps to the corresponding RTP header flag
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1776>
+
+2022-02-27 13:17:40 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/gstregistry.c:
+ registry: Fix multi-line `#warning` compiler warning
+ subprojects/gstreamer/gst/gstregistry.c:1593: unexpected character `"'
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1802>
+
+2022-02-21 11:37:26 -0500 Xavier Claessens <xavier.claessens@collabora.com>
+
+ * libs/gst/helpers/meson.build:
+ devenv: Add some missing GStreamer specific env variables
+ This should make "meson devenv" closer to what "gst-env.py" sets.
+ - GST_VALIDATE_SCENARIOS_PATH
+ - GST_VALIDATE_APPS_DIR
+ - GST_OMX_CONFIG_DIR
+ - GST_ENCODING_TARGET_PATH
+ - GST_PRESET_PATH
+ - GST_PLUGIN_SCANNER
+ - GST_PTP_HELPER
+ - _GI_OVERRIDES_PATH
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1768>
+
+2021-11-03 17:05:07 +1100 Matthew Waters <matthew@centricular.com>
+
+ * libs/gst/check/gsttestclock.c:
+ tests/clock: avoid a race cranking
+ Scenario:
+ - Source 1 requesting and waiting a clock id
+ - Source 2 requesting and waiting on a clock id
+ - Test attempting to crank both sources in the same GstHarness
+ gst_test_clock_crank() originally dropped locks between the retrieving
+ of the next clock id and advancing to the next clock id. This would
+ mean that both sources would race each other attempting to complete
+ their clock waits. Sometimes the operations would be performed in the
+ correct order, other times they would not and a FALSE return value would
+ be produced.
+ This would lead to an assertion in gst_harness_push_from_src() expecting
+ that all clock cranks to succeed.
+ Fix by ensuring that the clock wait produced is dealt with before
+ processing the next by not dropping the relevant locks after retrieving
+ the next clock id.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1299>
+
+2021-11-02 15:58:49 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ doc: Fix doc comment for GstChildProxy
+ This removes warning like:
+ ../subprojects/gstreamer/gst/gstchildproxy.h:57: Error: Gst: identifier not found on the first line:
+ * #GstChildProxyInterface::get_child_by_name:
+ ^
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1297>
+
+2022-02-06 22:54:42 +0900 Seungha Yang <seungha@centricular.com>
+
+ * gst/gstinfo.c:
+ * libs/gst/check/libcheck/libcompat/libcompat.h:
+ * libs/gst/net/gstptpclock.c:
+ gstinfo,ptpclock,libcheck: Use GetCurrentProcessId() instead of getpid() on Windows
+ getpid() shouldn't be used in case of UWP. Use GetCurrentProcessId()
+ instead which provides exactly the same functionality and can be
+ used with UWP as well.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1006>
+
+2022-02-07 02:49:15 +0900 Seungha Yang <seungha@centricular.com>
+
+ * meson.build:
+ * tests/check/elements/fdsrc.c:
+ * tests/check/gst/gstpoll.c:
+ check: Disable some tests if pipe() is unavailable for UWP build
+ pipe() and _pipe() are not allowed on UWP
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1006>
+
+2021-10-01 20:27:28 +0900 Seungha Yang <seungha@centricular.com>
+
+ * meson.build:
+ * tests/check/gst/gstmeta.c:
+ * tests/check/gst/gstpoll.c:
+ * tools/gst-inspect.c:
+ meson: Do hard build error for some MSVC warnings
+ Handle various MSVC warnings as errors for development version.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1006>
+
+2022-02-08 23:30:00 +0900 Seungha Yang <seungha@centricular.com>
+
+ * libs/gst/check/libcheck/libcompat/libcompat.h:
+ Remove some trailing white spaces
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1006>
+
+2022-01-31 13:01:10 +0100 Vivienne Watermeier <vwatermeier@igalia.com>
+
+ * gst/gstevent.c:
+ navigation: add more constructors for navigation events
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1610>
+
+2022-02-08 12:58:52 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst/gstregistry.c:
+ registry: enable relocatable builds for anywhere with dladdr()
+ Such as Linux/BSD's.
+ Matches the Windows/macOS behaviour.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1662>
+
+2021-12-08 22:13:15 +0000 Jose Quaresma <quaresma.jose@gmail.com>
+
+ * gst/gstpluginloader.c:
+ gstpluginloader: show the reason when spawning of gst-plugin-scanner fail
+ This fix helps in cross compiling when the meson tests runs using a qemu wraper
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1578>
+
+2021-10-22 18:40:07 -0300 Martin Reboredo <yakoyoku@gmail.com>
+
+ * gst/gstvalue.c:
+ gstvalue: De/Serialization of GBytes
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1232>
+
+2022-02-08 16:24:13 +1100 Sebastian Mueller <sebastian.mueller@nirovision.com>
+
+ * gst/gstcontext.c:
+ context: fix transfer annotation
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1663>
+
+2020-02-17 21:50:54 -0600 Zebediah Figura <zfigura@codeweavers.com>
+
+ * libs/gst/base/gstbaseparse.c:
+ * tests/check/libs/baseparse.c:
+ baseparse: Don't truncate the duration to milliseconds in gst_base_parse_convert_default().
+ There's no need to do this, and it can make seeking far less accurate.
+ For a specific use case: I am working with a long (45-minute) MPEG-1 layer 3 file, which has a constant bit rate but no seeking tables. Trying to seek the pipeline immediately after pausing it, without the ACCURATE flag, to a location 41 minutes in, yields a location that is potentially over ten seconds ahead of where it should be. This patch improves that drastically.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/374>
+
+2022-02-07 19:33:31 -0600 Zebediah Figura <zfigura@codeweavers.com>
+
+ * libs/gst/base/gstbaseparse.c:
+ baseparse: Trace time with GST_TIME_FORAMT in gst_base_parse_convert_default().
+ Be consistent with how we trace time in general.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/374>
+
+2022-02-07 09:46:46 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/gstbufferpool.c:
+ bufferpool: Deactivate pool and get rid of references to other objects from dispose instead of finalize
+ During dispose the pool will still have a reference count of 1 and all
+ API on it can still be safely called.
+ Subclasses will have already freed their own data before finalize is
+ called but would nonetheless be called into again via the pool
+ deactivation.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1645>
+
+2022-02-07 16:51:25 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst/gstpluginloader.c:
+ * meson.build:
+ pluginloader: support multiple subdirectories for GST_PLUGIN_SUBDIR (libdir)
+ i.e. if GST_PLUGIN_SUBDIR is 'some/lib/path', then the default plugin
+ loading assumed that there was only 'lib' as it only went up a single
+ directory to then find the plugin scanner.
+ Fix to support multiple subdirectories for GST_PLUGIN_SUBDIR (libdir).
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/995
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1644>
+
+2022-02-07 16:36:13 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst/gstregistry.c:
+ registry: check the value of dladdr()
+ info.dli_fname could be NULL.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/994
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1644>
+
+2022-02-07 16:33:03 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst/gstregistry.c:
+ registry: check the return value of g_win32_get_package_installation_directory_of_module()
+ g_win32_get_package_installation_directory_of_module() may return NULL
+ in some circumstances and we need to deal with that.
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/996
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1644>
+
+2022-02-04 11:15:47 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ Back to development
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1635>
+
=== release 1.20.0 ===
2022-02-03 19:53:25 +0000 Tim-Philipp Müller <tim@centricular.com>
+ * ChangeLog:
* NEWS:
* README:
* RELEASE: