Update ChangeLogs for 1.19.90

This commit is contained in:
Tim-Philipp Müller 2022-01-28 14:28:28 +00:00
parent 0b068c9015
commit 12fe353a31
12 changed files with 3120 additions and 1 deletions

View file

@ -1,7 +1,45 @@
2022-01-27 11:25:00 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* meson_options.txt:
* validate/gst-libs/gst/video/meson.build:
gst-devtools: Add a cairo option for the cairo dep
So that it can be explicitly disabled to avoid pulling in pixman which
doesn't build on Windows ARM64 yet.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1570>
2022-01-07 22:26:16 +0100 Mathieu Duponchelle <mathieu@centricular.com>
* validate/launcher/loggable.py:
validate: loggable: fix Callable import
Since 3.3 importing Callable from collections is deprecated,
it should be imported from collections.abc .
Since 3.10 the alias has been removed altogether.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1504>
2022-01-05 02:07:59 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* debug-viewer/meson.build:
* meson.build:
meson: Add explicit check: kwarg to all run_command() calls
This is required since Meson 0.61.0, and causes a warning to be
emitted otherwise:
https://github.com/mesonbuild/meson/commit/2c079d855ed87488bdcc6c5c06f59abdb9b85b6c
https://github.com/mesonbuild/meson/issues/9300
This exposed a bunch of places where we had broken run_command()
calls, unnecessary run_command() calls, and places where check: true
should be used.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1507>
2021-11-03 18:44:03 +0000 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
Back to development
=== release 1.19.3 ===
2021-11-03 15:43:36 +0000 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* gst-devtools.doap:

View file

@ -1,7 +1,57 @@
2022-01-24 19:44:32 +0200 Sebastian Dröge <sebastian@centricular.com>
* ges/meson.build:
ges: Include ges-image-source.h in the installed headers
It's referenced by `ges.h` and was previously available, so removing it
is an API change.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/963
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1563>
2022-01-05 02:07:59 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* docs/meson.build:
* meson.build:
meson: Add explicit check: kwarg to all run_command() calls
This is required since Meson 0.61.0, and causes a warning to be
emitted otherwise:
https://github.com/mesonbuild/meson/commit/2c079d855ed87488bdcc6c5c06f59abdb9b85b6c
https://github.com/mesonbuild/meson/issues/9300
This exposed a bunch of places where we had broken run_command()
calls, unnecessary run_command() calls, and places where check: true
should be used.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1507>
2021-11-11 19:11:25 +0000 Tim-Philipp Müller <tim@centricular.com>
* ges/ges-multi-file-source.c:
docs: fix unnecessary ampersand, < and > escaping in code blocks
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1340>
2021-11-08 11:08:45 -0300 Thibault Saunier <tsaunier@igalia.com>
* ges/meson.build:
meson:ges: Fix typo adding ges gir to libs list
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1322>
2021-11-05 11:36:11 -0300 Thibault Saunier <tsaunier@igalia.com>
* tests/check/ges/mixers.c:
tests:ges: Take TIMEOUT_FACTOR into account
This env var is set in the CI so we grow the timeout as required
(when running in valgrind for example).
See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/jobs/15449209
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1315>
2021-11-03 18:44:03 +0000 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
Back to development
=== release 1.19.3 ===
2021-11-03 15:43:36 +0000 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* gst-editing-services.doap:

View file

@ -1,7 +1,43 @@
2022-01-17 01:33:47 +0800 Xi Ruoyao <xry111@mengyan1223.wang>
* ext/libav/gstavauddec.c:
* ext/libav/gstavaudenc.c:
* ext/libav/gstavcodecmap.c:
* ext/libav/gstavutils.c:
* ext/libav/gstavviddec.c:
* ext/libav/gstavvidenc.c:
gst-libav: fix build with ffmpeg-5.0.0
Latest ffmpeg has removed avcodec_get_context_defaults(), and its
documentation says a new AVCodecContext should be allocated for this
purpose. The pointer returned by avcodec_find_decoder() is now
const-qualified so we also need to adjust for it. And, AVCOL_RANGE_MPEG
is now rejected with strict_std_compliance > FF_COMPLIANCE_UNOFFICIAL.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1531>
2022-01-05 02:07:59 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* docs/meson.build:
* meson.build:
meson: Add explicit check: kwarg to all run_command() calls
This is required since Meson 0.61.0, and causes a warning to be
emitted otherwise:
https://github.com/mesonbuild/meson/commit/2c079d855ed87488bdcc6c5c06f59abdb9b85b6c
https://github.com/mesonbuild/meson/issues/9300
This exposed a bunch of places where we had broken run_command()
calls, unnecessary run_command() calls, and places where check: true
should be used.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1507>
2021-11-03 18:44:03 +0000 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
Back to development
=== release 1.19.3 ===
2021-11-03 15:43:36 +0000 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* gst-libav.doap:

View file

@ -1,7 +1,26 @@
2022-01-05 02:07:59 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* meson.build:
meson: Add explicit check: kwarg to all run_command() calls
This is required since Meson 0.61.0, and causes a warning to be
emitted otherwise:
https://github.com/mesonbuild/meson/commit/2c079d855ed87488bdcc6c5c06f59abdb9b85b6c
https://github.com/mesonbuild/meson/issues/9300
This exposed a bunch of places where we had broken run_command()
calls, unnecessary run_command() calls, and places where check: true
should be used.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1507>
2021-11-03 18:44:03 +0000 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
Back to development
=== release 1.19.3 ===
2021-11-03 15:43:36 +0000 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* gst-omx.doap:

File diff suppressed because it is too large Load diff

View file

@ -1,7 +1,388 @@
2022-01-27 14:22:26 +0200 Sebastian Dröge <sebastian@centricular.com>
* gst-libs/gst/rtp/gstrtphdrext.c:
rtphdrext: Return non-floating references from `gst_rtp_header_extension_create_from_uri()`
The header extension objects are never getting a parent object and using
floating references only complicates usage, especially via dynamic API
like signals.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1582>
2022-01-27 14:26:26 +0200 Sebastian Dröge <sebastian@centricular.com>
* gst-libs/gst/rtp/gstrtphdrext.c:
rtphdrext: Use `set_metadata()` instead of `set_static_metadata()`
The latter needs a static string.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1583>
2022-01-26 00:02:49 +0100 Mathieu Duponchelle <mathieu@centricular.com>
* gst-libs/gst/audio/audio-info.c:
* gst-libs/gst/audio/audio-info.h:
* gst-libs/gst/video/video-info.c:
* gst-libs/gst/video/video-info.h:
VideoInfo, AudioInfo: fix usage with python bindings
* Expose an actual constructor from caps
* Error out in overrides for code that was using the "manual
allocation" pattern which only worked by chance. Direct
the script writer to the new_from_caps constructor instead.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-python/-/issues/47
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1571>
2022-01-27 01:38:12 +0000 Tim-Philipp Müller <tim@centricular.com>
* po/de.po:
* po/fr.po:
* po/ro.po:
gst-plugins-base: update translations
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1579>
2022-01-24 12:26:25 +0200 Vivia Nikolaidou <vivia@ahiru.eu>
* gst-libs/gst/audio/gstaudioaggregator.c:
audioaggregator: Return NOT_NEGOTIATED when the configuration is invalid
Otherwise we just end up outputting garbage.
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/957
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1558>
2022-01-26 11:12:34 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* gst-libs/gst/video/gstvideoaggregator.h:
videoaggregator: Remove extra semicolon in macro usage
This is usually necessary to allow gst-indent to treat it as
a statement, but we do not run gst-indent on headers and we do not
have extra semicolons in other places that this macro is used in the
header. Fixes warnings when using the header:
```
In file included from gstreamer/subprojects/gst-plugins-base/gst-libs/gst/video/video.h:185,
from XYZ:9001:
gstreamer/subprojects/gst-plugins-base/gst-libs/gst/video/gstvideoaggregator.h:206:78: warning: ISO C does not allow extra ; outside of a function [-Wpedantic]
206 | G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstVideoAggregatorConvertPad, gst_object_unref);
| ^
gstreamer/subprojects/gst-plugins-base/gst-libs/gst/video/gstvideoaggregator.h:214:181: warning: ISO C does not allow extra ; outside of a function [-Wpedantic]
214 | G_DECLARE_DERIVABLE_TYPE (GstVideoAggregatorParallelConvertPad, gst_video_aggregator_parallel_convert_pad, GST, VIDEO_AGGREGATOR_PARALLEL_CONVERT_PAD, GstVideoAggregatorConvertPad);
| ^
```
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1572>
2022-01-24 12:57:10 +0200 Vivia Nikolaidou <vivia@ahiru.eu>
* gst/audiotestsrc/gstaudiotestsrc.c:
audiotestsrc: Produce a default channel mask if possible
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/957
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1560>
2021-12-10 20:09:42 +0900 Seungha Yang <seungha@centricular.com>
* gst-libs/gst/video/video-converter.c:
video-converter: Fix for broken gamma remap with high bitdepth YUV output
Scale down the matrix before calculating RGB -> YUV matrix
otherwise offset values will be wrong
Fixing pipeline
videotestsrc ! video/x-raw,format=ARGB ! videoconvert gamma-mode=remap ! \
video/x-raw,format=P010_10LE,colorimetry="bt2020"
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1432>
2022-01-23 13:38:37 +0200 Sebastian Dröge <sebastian@centricular.com>
* gst-libs/gst/video/gstvideodecoder.c:
videodecoder: Fix property description for new properties
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1556>
2022-01-19 02:42:35 +0100 Mathieu Duponchelle <mathieu@centricular.com>
* gst/playback/gstdecodebin2.c:
decodebin2: raise multiqueue max-size-bytes
The earlier size of 2 MB was set back in 2009, it doesn't
seem unreasonable to raise it to 8 MB these days. The use
case at hand is matroskademux containing both a video stream
with a very low amount of compression but no decoding latency,
and a H265 stream.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1538>
2021-12-27 03:35:29 +0900 Seungha Yang <seungha@centricular.com>
* gst-libs/gst/video/gstvideodecoder.c:
Revert "videodecoder: Forward hdr-format info downstream"
This reverts commit 9b852181d8a1fa2fb1bf3ba898c6ffa04eea3fd4.
It's leftover commit which should've been reverted as a part of
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1148
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1475>
2022-01-20 03:17:58 +0900 Seungha Yang <seungha@centricular.com>
* tools/gst-play.c:
* tools/meson.build:
tools: gst-play: Enable Windows high-resolution clock
Apply https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/817
to gst-play as well, especially for better high-framerate
(60fps or higher) video support, because
15ms default clock precision (actual value is system dependent)
is not sufficient for such scenario.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1541>
2022-01-15 19:03:33 +0100 Tomasz Andrzejak <andreiltd@gmail.com>
* gst-libs/gst/sdp/gstsdpmessage.c:
* tests/check/libs/sdp.c:
Add FEC SDP message test
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1527>
2022-01-15 17:02:52 +0100 Tomasz Andrzejak <andreiltd@gmail.com>
* gst-libs/gst/sdp/gstsdpmessage.c:
sdpmessage: fix mapping single char fmtp params
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1527>
2022-01-19 11:05:26 +0200 Sebastian Dröge <sebastian@centricular.com>
* gst-libs/gst/pbutils/codec-utils.c:
codec-utils: Mark various string return values as `nullable`
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1539>
2022-01-18 23:17:49 +0000 Tim-Philipp Müller <tim@centricular.com>
* gst-libs/gst/rtp/gstrtphdrext.h:
rtphdrext: increase GstRTPHeaderExtensionClass padding to LARGE
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/748#note_1223253
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1537>
2022-01-15 10:06:23 +0000 Philippe Normand <philn@igalia.com>
* gst-libs/gst/pbutils/codec-utils.c:
* gst-libs/gst/pbutils/encoding-profile.c:
* gst-libs/gst/pbutils/encoding-target.c:
* gst-libs/gst/pbutils/install-plugins.c:
* gst-libs/gst/pbutils/missing-plugins.c:
* gst-libs/gst/pbutils/pbutils.c:
pbutils: Define one debug category per module
Follow-up of https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1505
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1526>
2022-01-07 18:25:00 +0900 Seungha Yang <seungha@centricular.com>
* gst/compositor/compositor.c:
compositor: Always draw if all input buffers are GAP
Otherwise output buffers will contain random scene
(previously rendered or arbitrary initial values) since we don't
draw onto output buffer at all.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1498>
2022-01-06 22:10:18 +0900 Seungha Yang <seungha@centricular.com>
* gst-libs/gst/video/gstvideoaggregator.c:
videoaggregator: Don't pass GAP buffer to prepare_frame_start()
Likewise we do check the same condition in prepare_frames_finish(),
ignore GAP buffer (zero size with GST_BUFFER_FLAG_GAP flag) without
any further processing.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1498>
2022-01-13 23:00:41 +0900 Seungha Yang <seungha@centricular.com>
* gst/playback/gsturidecodebin.c:
uridecodebin: Fix critical warnings
Don't pass non-GstObject object to there.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1519>
2022-01-09 09:39:32 +0000 Philippe Normand <philn@igalia.com>
* gst-libs/gst/pbutils/codec-utils.c:
pbutils: Simplify h264_caps_structure_get_profile_flags_level a bit
Refactoring, removing one level of indentation from the function.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1505>
2022-01-08 14:57:00 +0000 Philippe Normand <philn@igalia.com>
* gst-libs/gst/pbutils/codec-utils.c:
* tests/check/libs/pbutils.c:
pbutils: H.265 support for gst_codec_utils_caps_get_mime_codec()
The codec_data caps payload is parsed and a MIME codec string is generated
according to the ISO/IEC 14496-15 specification.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1505>
2022-01-08 14:56:06 +0000 Philippe Normand <philn@igalia.com>
* gst-libs/gst/pbutils/codec-utils.c:
* gst-libs/gst/pbutils/encoding-profile.c:
* gst-libs/gst/pbutils/encoding-target.c:
* gst-libs/gst/pbutils/pbutils.c:
* tests/check/libs/pbutils.c:
* tests/check/libs/profile.c:
pbutils: Add a pbutils debug category
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1505>
2022-01-07 14:17:46 +0200 Jordan Petridis <jordan@centricular.com>
gstglutils: introspection annotations fixups
* gst_gl_ensure_element_data: specify the type for the element arg
* gst_gl_handle_set_context: correctly annotate the display and
gl_ctx as just (out) instead of (inout)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1501>
2022-01-09 14:07:12 +0200 Sebastian Dröge <sebastian@centricular.com>
* gst-libs/gst/pbutils/codec-utils.c:
codec-utils: Use nullable annotation instead of allow-none for various Opus functions
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1506>
2022-01-09 14:05:48 +0200 Sebastian Dröge <sebastian@centricular.com>
* gst-libs/gst/pbutils/codec-utils.c:
codec-utils: Annotate out parameters for Opus functions as (optional)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1506>
2022-01-09 14:05:11 +0200 Sebastian Dröge <sebastian@centricular.com>
* gst-libs/gst/pbutils/codec-utils.c:
codec-utils: Add missing annotations to gst_codec_utils_h264_get_profile_flags_level()
And fix some minor typos.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1506>
2022-01-05 02:07:59 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* docs/meson.build:
* meson.build:
meson: Add explicit check: kwarg to all run_command() calls
This is required since Meson 0.61.0, and causes a warning to be
emitted otherwise:
https://github.com/mesonbuild/meson/commit/2c079d855ed87488bdcc6c5c06f59abdb9b85b6c
https://github.com/mesonbuild/meson/issues/9300
This exposed a bunch of places where we had broken run_command()
calls, unnecessary run_command() calls, and places where check: true
should be used.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1507>
2021-12-20 21:43:25 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* gst-libs/gst/audio/gstaudioaggregator.c:
* gst/audioresample/gstaudioresample.c:
audio: Add logging that was useful in figuring out the last commit
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1461>
2021-12-20 21:37:18 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* gst-libs/gst/audio/audio-converter.c:
* gst-libs/gst/audio/audio-resampler.c:
audio-converter: Fix resampling when there's nothing to output
Sometimes we can't output anything because we don't have enough
incoming frames. In that case, the resampler was trying to call
do_quantize() and do_resample() in a loop forever because there would
never be samples to output (so chain->samples would always be NULL).
Fix this by not calling chain->make_func() in a loop -- seems
completely unnecessary since calling it over and over won't change
anything if the make_func() can't output samples.
Also add some checks for the input and / or output being NULL when
doing conversion or quantization. This will happen when we have
nothing to output.
We can't bail early, because we need resampler->samples_avail to be
updated in gst_audio_resampler_resample(), so we must call that and
no-op everything along the way.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1461>
2021-12-16 16:43:37 +0100 Mark Nauwelaerts <mnauw@users.sourceforge.net>
* gst/playback/gsturidecodebin.c:
uridecodebin: use non-floating object as signal argument
... as was the case with source-setup signal until change of order
in commit 52bca104e447309898ca8904b3914211ec7d4114
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1457>
2021-12-13 16:19:44 +0900 Seungha Yang <seungha@centricular.com>
* gst-libs/gst/video/video-info.c:
video-info: Don't assume colorimetry of UHD resolution as BT.2020
BT.2020 color primaries are designed to cover much wider range of
CIE chromaticity than BT.709, and also it's used for both SDR and HDR
contents. So, the incorrect assumption (i.e., BT.709 as a BT.2020)
is risky and resulting image color tends to be visually very wrong.
Unless there's obvious clue, don't consider color space of high resolution
video stream as BT.2020
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1445>
2021-12-03 01:45:49 +0000 Thibault Saunier <tsaunier@igalia.com>
* gst-libs/gst/meson.build:
* gst-libs/gst/sdp/gstsdpmessage.c:
* gst-libs/gst/sdp/meson.build:
* tests/check/libs/sdp.c:
sdp: Handle level-asymmetry-allowed for H264 streams
The ["level-asymmetry-allowed"] field states that the peer wants the
profile specified in the "profile-level-id" fields but doesn't care
about the level. To express this in GStreamer caps term, we add a
"profile" field in the caps, which reuses the usual "profile" semantics
for H.264 streams and, and remove "profile-level-id" and
"level-asymmetry-allowed" fields.
["level-asymmetry-allowed"]: https://www.iana.org/assignments/media-types/video/H264
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1410>
2021-11-19 00:09:03 +0100 Thomas Klausner <tk@giga.or.at>
* gst/tcp/gstmultifdsink.c:
tcp: fix build on Solaris
Add missing header.
From Claes Nästén via http://gnats.netbsd.org/56509
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1364>
2021-11-16 13:14:25 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* gst/playback/gsturidecodebin3.c:
uridecodebin3: Nullify current item after all play items are freed.
There's a potential race condition with this sort of pipelines on
certain systems (depends on the processing load):
GST_DEBUG_DUMP_DOT_DIR=/tmp \
gst-launch-1.0 uridecodebin3 uri=file://stream.mp4 ! glupload ! \
glimagesink --gst-debug=*:4
Right after the pipeline passes from PAUSED to READY, bin_to_dot_file
dumps uridecodebin3 properties, but current uri and suburi might be
already freed, causing a potential use-after-freed.
This patch makes NULL the current item right after all the play items
are freed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1353>
2021-11-12 18:26:58 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* gst-libs/gst/audio/audio-resampler.c:
audio-resampler: Fix segfault when we can't output any frames
Sometimes the resampler has enough space to store all the incoming
samples without outputting anything. When this happens,
gst_audio_resampler_get_out_frames() returns 0.
In that case, the resampler should consume samples and just return.
Otherwise, we get a segfault when gst_audio_resampler_resample() tries
to resample into a NULL 'out' pointer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1343>
2021-11-11 19:11:25 +0000 Tim-Philipp Müller <tim@centricular.com>
* gst-libs/gst/pbutils/gstpluginsbaseversion.c:
* gst-libs/gst/pbutils/install-plugins.c:
* gst-libs/gst/video/video-frame.c:
* gst-libs/gst/video/videooverlay.c:
docs: fix unnecessary ampersand, < and > escaping in code blocks
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1340>
2021-11-09 12:10:50 +0000 Jiri Uncovsky <jiri.uncovsky@amit.cz>
* gst-libs/gst/gl/egl/gstglcontext_egl.c:
glcontext/egl: add missing unref
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1328>
2021-11-09 12:01:13 +0100 Guillaume Desmottes <guillaume.desmottes@onestream.live>
* gst-libs/gst/app/gstappsrc.c:
appsrc: log when segment changes
We were logging when it does not change but not when it does, which is
confusing when reading logs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1327>
2021-11-03 18:44:03 +0000 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
Back to development
=== release 1.19.3 ===
2021-11-03 15:43:36 +0000 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* gst-plugins-base.doap:

View file

@ -1,7 +1,725 @@
2022-01-28 15:47:44 +0200 Sebastian Dröge <sebastian@centricular.com>
* ext/soup/gstsouphttpclientsink.c:
souphttpsink: Protect against spurious wakeups during startup
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1594>
2022-01-28 15:33:04 +0200 Sebastian Dröge <sebastian@centricular.com>
* ext/soup/gstsouphttpclientsink.c:
* ext/soup/gstsouphttpsrc.c:
* ext/soup/gstsouputils.c:
* ext/soup/gstsouputils.h:
souphttpsrc: Don't use the source element after setup from the session thread
The source element might be gone already if the session is shared with
other source elements.
As a consequence, do all logging via the session object instead of using
the source element.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1594>
2022-01-28 15:31:55 +0200 Sebastian Dröge <sebastian@centricular.com>
* ext/soup/gstsouphttpsrc.c:
souphttpsrc: Don't abort all pending operations on the session if shutting down a source with a shared session
Only do it for a non-shared session. Other sources would otherwise get
their requests cancelled unexpectedly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1594>
2022-01-28 15:31:25 +0200 Sebastian Dröge <sebastian@centricular.com>
* ext/soup/gstsouphttpsrc.c:
souphttpsrc: Don't set boolean to FALSE right after checking that it is FALSE
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1594>
2022-01-28 15:30:56 +0200 Sebastian Dröge <sebastian@centricular.com>
* ext/soup/gstsouphttpsrc.c:
souphttpsrc: soup_session_new_with_options() can't fail with NULL
So don't check for it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1594>
2022-01-27 16:28:48 +0100 Stéphane Cerveau <scerveau@collabora.com>
* gst/autodetect/gstautodetect.h:
autodetect: fix debug init category
Since the split of elements, the debug category
was default for autodetect.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1590>
2022-01-21 16:09:30 +0100 Daniel Kolesa <dkolesa@igalia.com>
* ext/soup/gstsouphttpsrc.c:
* ext/soup/gstsouphttpsrc.h:
* ext/soup/gstsouploader.c:
* ext/soup/gstsouploader.h:
soup: move libsoup session into its own thread
Starting with libsoup3, there is no attempt to handle thread safety
inside the library, and it was never considered fully safe before
either. Therefore, move all session handling into its own thread.
The libsoup thread has its own context and main loop. When some
request is made or a response needs to be read, an idle source
is created to issue that; the gstreamer thread issuing that waits
for that to be complete. There is a per-src condition variable to
deal with that.
Since the thread/loop needs to be longer-lived than the soup
session itself, a wrapper object is provided to contain them. The
soup session only has a single reference, owned by the wrapper
object.
It is no longer possible to force an external session, since this
does not seem to be used anywhere within gstreamer and would be
tricky to implement; this is because one would not have to provide
just a session, but also the complete thread arrangement made in
the same way as the system currently does internally, in order to
be safe.
Messages are still built gstreamer-side. It is safe to do so until
the message is sent on the session. Headers are also processed on
the gstreamer side, which should likewise be safe.
All requests as well as reads on the libsoup thread are issued
asynchronously. That allows libsoup to schedule things with as
little blocking as possible, and means that concurrent access
to the session is possible, when sharing the session.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/947
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1555>
2022-01-27 01:38:39 +0000 Tim-Philipp Müller <tim@centricular.com>
* po/de.po:
* po/fr.po:
* po/ro.po:
gst-plugins-good: update translations
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1579>
2022-01-26 11:22:31 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* gst/rtsp/gstrtspsrc.c:
rtspsrc: Fix critical while serializing timeout element message
The "cause" field wasn't registered as a GEnumValue, so do that.
Fixes this critical in gst_structure_to_string():
`gst_value_serialize: assertion 'G_IS_VALUE (value)' failed`
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1573>
2022-01-24 10:45:33 +0200 Sebastian Dröge <sebastian@centricular.com>
* gst/multifile/gstsplitmuxsink.c:
splitmuxsink: Warn when calculating the next fragment time in timecode mode fails
But only if timecode mode is enabled as it will fail all the time
otherwise.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1557>
2022-01-25 15:05:47 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* tests/examples/qt/qmlsink-multisink/videoitem/videoitem.cpp:
qt: Retain compatibility with Qt 5.9
QSharedPointer.get() was added in Qt 5.11, and it does the same thing
as .data()
https://doc.qt.io/qt-5/qsharedpointer.html#get
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/867
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1565>
2022-01-21 14:13:12 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* sys/v4l2/ext/types-compat.h:
* sys/v4l2/ext/v4l2-common.h:
* sys/v4l2/ext/v4l2-controls.h:
* sys/v4l2/ext/videodev2.h:
video4linux2: Sync kernel headers against 5.16.0
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/965>
2022-01-17 11:44:47 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* sys/v4l2/gstv4l2videodec.c:
v4l2videdec: Fix race condition between drain and state changes
This is due to an unsafe usage of the pad task. We didn't ensure proper
ownership of the task. That race involved the task being released too early,
and was detected, luckily, by the glib mutex implementationt that
reported the mutex being disposed while being locked.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1478>
2022-01-16 14:41:41 +0000 Philippe Normand <philn@igalia.com>
* ext/soup/gstsoup.c:
* ext/soup/gstsouploader.c:
* ext/soup/gstsouploader.h:
* ext/soup/gstsouputils.h:
* ext/soup/meson.build:
soup: Reintroduce compile-time libsoup dependency for static builds
On Android (especially) and for static builds in general it is safer to link
against libsoup and have the dynamic custom loading disabled. For those cases we
can safely assume the application will use either libsoup2 or libsoup3 and not
both.
Fixes #939
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1536>
2022-01-16 14:40:11 +0000 Philippe Normand <philn@igalia.com>
* ext/soup/gstsoupelement.c:
soup: Initialize debug category before use
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1536>
2022-01-16 14:39:42 +0000 Philippe Normand <philn@igalia.com>
* ext/soup/gstsouploader.c:
soup: Fix return types for a couple VTable functions
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1536>
2022-01-14 19:53:29 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* ext/cairo/meson.build:
meson: Build cairo subproject when unavailable on the system
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/952
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1523>
2022-01-20 17:59:30 +0100 Aleksandar Topic <aleks@qtec.com>
* gst/imagefreeze/gstimagefreeze.c:
imagefreeze: Fix example launch line format issue
The currently shown example launch line will not run, because it
cannot handle png images.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1547>
2021-05-07 18:22:06 +0200 Bastien Nocera <hadess@hadess.net>
* docs/gst_plugins_cache.json:
* ext/gtk/gstgtkbasesink.c:
* ext/gtk/gstgtkbasesink.h:
* ext/gtk/gtkgstbasewidget.c:
* ext/gtk/gtkgstbasewidget.h:
gtk: Add "video-aspect-ratio-override" property
Allow front-ends to override the pixel aspect ratio found inside the
video file itself, or most likely, missing from the video file.
This is a long-standing feature of totem.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1137>
2021-10-13 15:33:14 +0200 Bastien Nocera <hadess@hadess.net>
* ext/gtk/gtkgstbasewidget.c:
gtk: Remove _update_par() forward declaration
No functional changes.
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1137/diffs#note_1102782
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1137>
2021-10-13 15:38:52 +0200 Bastien Nocera <hadess@hadess.net>
* ext/gtk/gtkgstbasewidget.c:
gtk: Mark properties as changeable in the PLAYING state
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1137#note_1102789
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1137>
2021-05-11 11:28:57 +0200 Bastien Nocera <hadess@hadess.net>
* docs/gst_plugins_cache.json:
* ext/gtk/gstgtkbasesink.c:
* ext/gtk/gtkgstbasewidget.c:
gtk: Fix "pixel-aspect-ratio" property range
Fix the arguments passed to gst_param_spec_fraction in the incorrect
order.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1137>
2021-05-07 18:19:55 +0200 Bastien Nocera <hadess@hadess.net>
* ext/gtk/gstgtkbasesink.c:
* ext/gtk/gtkgstbasewidget.c:
gtk: Rename display pixel aspect ratio related constants
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1137>
2021-05-07 18:16:30 +0200 Bastien Nocera <hadess@hadess.net>
* ext/gtk/gtkgstbasewidget.c:
gtk: Make "pixel-aspect-ratio" changes immediate
Schedule a resize when the display's pixel aspect ratio has changed, if
one isn't already scheduled.
Closes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/883
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1137>
2022-01-05 02:07:59 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* docs/meson.build:
* meson.build:
meson: Add explicit check: kwarg to all run_command() calls
This is required since Meson 0.61.0, and causes a warning to be
emitted otherwise:
https://github.com/mesonbuild/meson/commit/2c079d855ed87488bdcc6c5c06f59abdb9b85b6c
https://github.com/mesonbuild/meson/issues/9300
This exposed a bunch of places where we had broken run_command()
calls, unnecessary run_command() calls, and places where check: true
should be used.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1507>
2021-12-30 16:31:33 +0000 Heinrich Kruger <heinrich.kruger@sohonet.com>
* gst/rtp/gstrtphdrext-colorspace.c:
rtp-hdrext-colorspace: Fix color range encoding
The color space RTP header extension encodes color range as specified in
https://www.webmproject.org/docs/container/#Range. In other words:
0: Unspecified,
1: Broadcast Range,
2: Full range,
3: Defined by matrix coefficients and transfer characteristic.
This does not match the values of GstVideoColorRange, so it is not
correct to just write the colorimetry.range value to the header
extension.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1482>
2021-12-24 14:52:38 +0900 Jeongki Kim <jeongki.kim@jeongki.kim>
* gst/rtp/gstrtpg726depay.c:
rtpg726depay: fix endian conversion
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1469>
2021-12-23 14:29:55 +0000 Corentin Damman <c.damman@intopix.com>
* tests/check/elements/rtpjitterbuffer.c:
rtpjitterbuffer: fix typo in tests
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1466>
2021-12-20 09:28:50 +0000 Florian Zwoch <fzwoch@gmail.com>
* ext/aalib/gstaatv.c:
aatv: Fixes for rain-mode
Some rain-mode properties tried to read float from int value.
Initialize rain after setting rain-mode. Rain was non-functional if
width/height were left at default values.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1459>
2021-12-07 23:48:39 +0100 Mathieu Duponchelle <mathieu@centricular.com>
* docs/gst_plugins_cache.json:
* gst/rtp/gstrtpreddec.c:
* gst/rtp/gstrtpreddec.h:
reddec: implement support for the BUNDLE case
When multiple streams are bundled together, there may be more
than one red payload type to handle.
In addition, as the red decoder works by filling in gaps in
the seqnums, there needs to be one rtp_history queue per sequence
domain.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1429>
2021-12-07 23:43:21 +0100 Mathieu Duponchelle <mathieu@centricular.com>
* docs/gst_plugins_cache.json:
* gst/rtpmanager/gstrtpbin.c:
rtpbin: add new request-fec-decoder-full signal for BUNDLE
When multiple streams are bundled together, the application needs
to know about the payload type in order to instantiate the appropriate
FEC decoder.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1429>
2021-12-03 02:52:06 +0100 Mathieu Duponchelle <mathieu@centricular.com>
* gst/rtp/gstrtpredenc.c:
* gst/rtp/gstrtpredenc.h:
* gst/rtp/gstrtpulpfecenc.c:
* gst/rtp/gstrtpulpfecenc.h:
* tests/check/elements/rtpred.c:
rtp/redenc|ulpfecenc: add support for TWCC
In redenc, when input buffers have a header for the TWCC extension,
we now add one to our wrapper buffers.
In ulpfecenc we add one in that case to our protection buffers.
This makes TWCC functional when UlpRed is used in webrtcbin.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1414>
2021-12-02 13:32:33 +0000 Thibault Saunier <tsaunier@igalia.com>
* gst/rtp/gstrtph264pay.c:
* gst/rtp/gstrtph264pay.h:
rtph264pay: Handle 'profile' field
In order to allow "level-asymmetry-allowed" we now handle a new
"profile" field, which as the same semantics as the "profile" field in
H.264 stream so that we can force payloaded stream to have the right
format when using the `gst_sdp_media_get_caps_from_media` to set caps
filter after the payloader. This allows a simple negotiation in standard
RTP negotiation based on SDPs (like webrtc) for that particular case,
closely respecting the specs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1410>
2021-12-10 16:08:27 +0100 Jakub Adam <jakub.adam@collabora.com>
* sys/ximage/gstximagesrc.c:
ximagesrc: avoid blocking wait for X events
XNextEvent() blocks indefinitely in absence of X11 events, which can
prevent the pipeline from stopping.
This can cause problems when ximagesrc is used in "remote desktop"
scenarios and the GStreamer application itself, through which the user
is viewing and controlling the machine, is the only source of input
events.
Replace the call with non-blocking XCheckTypedEvent().
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1438>
2021-12-10 17:36:30 +0100 Célestin Marot <marotcelestin@gmail.com>
* gst/multifile/gstmultifilesrc.c:
multifilesrc: fix caps leak
since `gst_caps_replace()` and `gst_pad_set_caps()` both ref the caps and neither of them takes the ownership of the caps -> it must be unreffed in `gst_multi_file_src_set_property()`
to test the leak (on Unix): `echo coucou > /tmp/file.txt && GST_TRACERS=leaks GST_DEBUG="GST_TRACER:7" gst-launch-1.0 multifilesrc location=/tmp/file.txt caps='txt' ! fakesink`
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1436>
2021-12-06 15:37:06 +0100 Guillaume Desmottes <guillaume.desmottes@onestream.live>
* ext/jpeg/gstjpegdec.c:
jpegdec: only allow conversions from RGB
libjpeg-turbo only supports converting from RGB to other RGB formats.
Fix runtime error when trying to convert from a YUV format for example.
Fix #916
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1421>
2021-11-29 15:35:36 +0100 Wim Taymans <wtaymans@redhat.com>
* sys/v4l2/gstv4l2object.c:
v4l2: handle 0x0 sizes gracefully
Also ignore 0x0 sizes in the fallback case and assume the size can be
anything between 1x1 and MAXxMAX.
This fixes the case where a width=0, height=0 caps are created. Whith
this patch the caps will contain width=[1,MAX], height=[1,MAX].
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1396>
2021-11-23 20:54:57 +0100 Mathieu Duponchelle <mathieu@centricular.com>
* gst/rtpmanager/gstrtpfunnel.c:
* tests/check/elements/rtpfunnel.c:
rtpfunnel: fix extmap handling on accept-caps
Follow-up on 97d83056b315c56834eaa6776ae4c6a0848b5ef9, only check
for intersection with the current srccaps when checking if a sinkpad
can accept caps.
I must have been lucky in my firefox testing then, and always entered
the code path with audio getting negotiated first, thus not failing
the is_subset check when srccaps had been negotiated as
application/x-rtp, and an accept-caps query was made for the video
caps with a defined extmap.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1384>
2021-11-12 13:54:59 +0100 Jean Felder <jean.felder@gmail.com>
* ext/taglib/gstid3v2mux.cc:
id3v2mux: Map GST_TAG_MUSICBRAINZ_RELEASETRACKID
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1342>
2021-11-12 13:51:56 +0100 Jean Felder <jean.felder@gmail.com>
* ext/taglib/gstid3v2mux.cc:
id3v2mux: Map GST_TAG_MUSICBRAINZ_RELEASEGROUPID
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1342>
2021-11-18 16:27:17 +0000 Tobias Reineke <tobi@g3th.net>
* ext/shout2/gstshout2.c:
shout2: Add compatibility for libshout >= 2.4.2
In libshout >=2.4.2 shout_open() can return SHOUTERR_RETRY in addition
to SHOUTERR_BUSY.
The nonblocking example in libshout fixes the problem in a similar
way, as mentioned by the author in this issue:
https://gitlab.xiph.org/xiph/icecast-libshout/-/issues/2316
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/848
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1363>
2021-11-15 14:39:14 +1100 Matthew Waters <matthew@centricular.com>
* ext/qt/qtitem.cc:
qmlglsink: fix another resize case
If qt asks us to redraw before we have both set a buffer and caps we
would attempt to use the new caps with the old buffer which could result
in bad things happening.
Only update caps from new_caps once the buffer has actually been set.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1346>
2021-11-01 10:08:32 +0700 Trung Do <trung1.dothanh@toshiba.co.jp>
* sys/v4l2/gstv4l2object.c:
v4l2: Update fmt if padded height is greater than fmt height
If padded height is greater, buffer bytesused could be larger than plane length,
and cause VIDIOC_QBUF failure.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1355>
2021-11-09 19:41:14 +0100 Mathieu Duponchelle <mathieu@centricular.com>
* gst/rtpmanager/gstrtpfunnel.c:
* tests/check/elements/rtpfunnel.c:
rtpfunnel: don't enforce twcc during upstream negotiation
A previous patch has caused rtpfunnel to output twcc-related
information downstream, however this leaked into upstream
negotiation (through funnel->srccaps), causing payloader to
negotiate twcc caps even when not prompted to do so by the user.
Fix this by only enforcing that upstream sends us application/x-rtp
caps as was the case originally.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1278>
2021-10-30 01:18:18 +0200 Mathieu Duponchelle <mathieu@centricular.com>
* gst/rtpmanager/rtptwcc.c:
rtptwcc: complete bufferlist fix
When dealing with bufferlists, we need to store one "SentPacket"
structure per buffer, not one per buffer list!
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1278>
2021-11-12 17:59:22 +0200 Sebastian Dröge <sebastian@centricular.com>
* gst/isomp4/qtdemux.c:
qtdemux: Log cslg_shift that was determined
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1294>
2021-11-12 13:00:56 +0200 Sebastian Dröge <sebastian@centricular.com>
* gst/isomp4/qtdemux.c:
qtdemux: Use a composition time offset of 0 for "no decode samples" for the time being
This needs codec-specific handling, but using 0 instead of G_MININT32 at
least gives somewhat reasonable behaviour.
See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/883
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1294>
2021-11-12 12:46:56 +0200 Sebastian Dröge <sebastian@centricular.com>
* gst/isomp4/qtdemux.c:
qtdemux: Always check ctts for unreasonably large offsets
If this happens then ignore the whole ctts. Previously we only did this
if the PTS/DTS shift was determined from the ctts instead of the cslg.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1294>
2021-11-12 12:39:17 +0200 Sebastian Dröge <sebastian@centricular.com>
* gst/isomp4/qtdemux_dump.c:
qtdemux: Dump composition time offsets in trun as signed integers
Just like we do for ctts without regard of the version of the box.
Huge offsets are interpreted as negative offsets by qtdemux so this
works.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1294>
2021-11-12 11:36:31 +0200 Sebastian Dröge <sebastian@centricular.com>
* gst/isomp4/qtdemux.h:
qtdemux: Add a comment why only positive cslg shifts are considered
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1294>
2021-11-02 18:38:39 +0200 Sebastian Dröge <sebastian@centricular.com>
* gst/isomp4/qtdemux.c:
qtdemux: Only adjust segment.stop by cslg_shift if stop is not -1
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1294>
2021-11-02 18:29:53 +0200 Sebastian Dröge <sebastian@centricular.com>
* gst/isomp4/qtdemux.c:
qtdemux: Handle negative composition offsets in the trun box the same way as for non-fragmented streams
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1294>
2021-11-02 17:43:17 +0200 Sebastian Dröge <sebastian@centricular.com>
* gst/isomp4/qtdemux.c:
qtdemux: Parse ctts version
Negative composition time offsets are only allowed with version 1 of the
box, however we parse it as a signed value also for version 0 boxes as
unfortunately there are such files out there and it's unlikely to have
(valid) huge composition offsets.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1294>
2021-11-02 17:41:01 +0200 Sebastian Dröge <sebastian@centricular.com>
* gst/isomp4/qtdemux.c:
* gst/isomp4/qtdemux.h:
* gst/isomp4/qtdemux_dump.c:
qtdemux: Add support for version 1 cslg boxes
They use 64 bit fields instead of 32 bit.
Also parse offset as a signed integer (in both versions) and clamp it to
a positive value as negative values don't really interest us here.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1294>
2021-11-02 17:54:46 +0200 Sebastian Dröge <sebastian@centricular.com>
* gst/isomp4/qtdemux.c:
qtdemux: Don't free cslg data that we don't own on corrupt files
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1294>
2021-05-07 10:44:15 +0200 Rafał Dzięgiel <rafostar.github@gmail.com>
* gst/matroska/matroska-demux.c:
* gst/matroska/matroska-read-common.c:
matroska: Ref index table when updating track info
Track index table array was being lost during track info update.
Ref it over to updated info, so it can be used for finding
nearest seek points.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1203>
2021-11-12 11:28:23 +0100 Rafał Dzięgiel <rafostar.github@gmail.com>
* gst/matroska/ebml-read.c:
* gst/matroska/matroska-demux.c:
* gst/matroska/matroska-ids.c:
* gst/matroska/matroska-read-common.c:
matroska: Use g_array_unref everywhere
Instead of using g_array_free which is not thread safe use g_array_unref instead
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1203>
2021-11-11 19:11:25 +0000 Tim-Philipp Müller <tim@centricular.com>
* ext/cairo/gstcairooverlay.c:
* gst/equalizer/gstiirequalizernbands.c:
docs: fix unnecessary ampersand, < and > escaping in code blocks
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1340>
2021-11-12 03:17:44 +0100 Mathieu Duponchelle <mathieu@centricular.com>
* gst/rtpmanager/gstrtpst2022-1-fecdec.c:
st2022-1-fecdec: fix packet trimming
g_sequence_remove_range's end iter is exclusive, so if one
wants to remove that item as well, it should be called with
the next iter.
This could in theory fix an issue where:
* The sequence isn't entirely trimmed, with an old item lingering
* Following FEC packets are immediately discarded because they
arrived later than corresponding media packets, long enough for
seqnums to wrap around
* We now try to reconstruct a media packet with a completely obsolete
FEC packet, chaos ensues.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1341>
2021-11-11 15:49:19 +1100 Matthew Waters <matthew@centricular.com>
* ext/qt/qtitem.cc:
qmlsink: support caps changes better
We need to hold onto the last buffer until the next buffer arrives.
Before, if a caps change comes we would remove the currently rendering
buffer. if Qt asks use to render something, we would render the dummy
black texture.
Fixes a period of black output when upstream is e.g. changing resolution
as in hls adaptive bitrate scenarios.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1338>
2021-09-27 16:52:22 +0100 James Cowgill <james.cowgill@blaize.com>
* sys/v4l2/gstv4l2bufferpool.c:
* sys/v4l2/gstv4l2bufferpool.h:
v4l2: Record buffer states in pool to fix dequeue race
The `gst_v4l2_buffer_pool_dqbuf` function contains this ominous comment:
/* get our GstBuffer with that index from the pool, if the buffer was
* outstanding we have a serious problem.
*/
outbuf = pool->buffers[group->buffer.index];
Unfortunately it is common for buffers in _output_ buffer pools to be
both queued and outstanding at the same time. This can happen if the
upstream element keeps a reference to the buffer, or in an encoder
element itself when it keeps a reference to the input buffer for each
frame.
Since the current code doesn't handle this case properly we can end up
with crashes in other elements such as:
(gst-launch-1.0:32559): CRITICAL **: 17:33:35.740: gst_video_frame_map_id: assertion 'GST_IS_BUFFER (buffer)' failed
and:
(gst-launch-1.0:231): GStreamer-CRITICAL **: 00:16:20.882: write map requested on non-writable buffer
Both these crashes are caused by a race condition related to releasing
the same buffer twice from two different threads. If a buffer is queued
and outstanding this situation is possible:
**Thread 1**
- Calls `gst_buffer_unref` decrementing the reference count to zero.
- The core GstBufferPool object marks the buffer non-outstanding.
- Calls the V4L2 release buffer function.
- If the buffer is _not_ queued:
- Release it back to the free pool (containing non-queued buffers).
**Thread 2**
- Dequeues the queued output buffer.
- Marks the buffer as not queued.
- If the buffer is _not_ outstanding:
- Calls the V4L2 release buffer function.
- Release it back to the free pool (containing non-queued buffers).
If both of these threads run at exactly the same time there is a small
window where the buffer is marked both not outstanding and not queued
but before it has been released. In this case the buffer will be freed
twice causing the above crashes.
Unfortunately the variable recording whether a buffer is outstanding is
part of the core `GstBuffer` object and is managed by `GstBufferPool` so
it's not as straightforward as adding a mutex. Instead we can fix this
by additionally recording the buffer state in `GstV4l2BufferPool`, and
handle "internal" and "external" buffer release separately so we can
detect when a buffer becomes not outstanding.
In the new solution:
- The "external" buffer pool release and the "dqbuf" functions
atomically update the buffer state and determine if a buffer is still
queued or outstanding.
- Subsequent code and a new
`gst_v4l2_buffer_pool_complete_release_buffer` function can proceed to
release (or not) a buffer knowing that it's not racing with another
thread.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1010>
2021-11-09 15:10:06 +1100 Matthew Waters <matthew@centricular.com>
* gst/rtpmanager/gstrtpbin.c:
rtpbin: separate out the two fec decoder locations
The pipeline flow for receiving looks like this:
rtpsession ! rtpssrcdemux ! session_fec_decoder ! rtpjitterbuffer ! \
rtpptdemux ! stream_fec_decoder ! ...
There are two places where a fec decoder could be placed.
1. As requested from the 'request-fec-decoder' signal: after rtpptdemux
for each ssrc/pt produced
2. after rtpssrcdemux but before rtpjitterbuffer: added for the
rtpst2022-1-fecenc/dec elements,
However, there was some cross-contamination of the elements involved and
the request-fec-decoder signal was also being used to request the fec
decoder for the session_fec_decoder which would then be cached and
re-used for subsequent fec decoder requests. This would cause the same
element to be attempted to be linked to multiple elements in different
places in the pipeline. This would fail and cause all kinds of havoc
usually resulting in a not-linked error being returned upstream and an
error message being posted by the source.
Fix by not using the request-fec-decoder signal for requesting the
session_fec_decoder and instead solely rely on the added properties for
that case.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1300>
2021-11-09 21:20:19 +0800 Zhao, Gang <gang.zhao.42@gmail.com>
* gst/isomp4/qtdemux.c:
qtdemux: Fix can not demux Opus track made by qtmux
Opus stream info is read from dOps box [1]. The offset of dOps box in Opus box is different in mp4a version 1 and 0 [2]. Calculate the offset of dOps box according to mp4a version.
[1] https://opus-codec.org/docs/opus_in_isobmff.html
[2] subprojects/gst-plugins-good/gst/isomp4/atoms.c:sample_entry_mp4a_copy_data:2146
Fixed: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/918
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1329>
2021-11-09 13:36:28 +0800 Haihua Hu <jared.hu@nxp.com>
* sys/v4l2/gstv4l2bufferpool.c:
v4l2bufferpool: set video alignment of video meta
need apply video alignment info on video meta, downstream
element can get buffer alignment from video meta
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1326>
2021-11-06 16:48:20 +0800 Zhao, Gang <gang.zhao.42@gmail.com>
* ext/vpx/gstvpxdec.c:
vpxdec: Skip check of key frame when open GOP
Valid stream [1] might has no key frame.
Fixed: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/890
[1] https://storage.googleapis.com/downloads.webmproject.org/test_data/libvpx/vp90-2-16-intra-only.webm
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1316>
2021-10-05 18:07:06 +0100 Joe Todd <joextodd@gmail.com>
* sys/osxaudio/gstosxcoreaudio.h:
osxaudio: Increase max channels to 64
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1059>
2021-11-05 15:17:20 +0530 Sanchayan Maity <sanchayan@asymptotic.io>
* gst/imagefreeze/gstimagefreeze.c:
imagefreeze: Only set caps if they do not match current caps
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1311>
2021-11-04 16:04:30 +0200 Sebastian Dröge <sebastian@centricular.com>
* sys/v4l2/v4l2_calls.c:
v4l2: Support bools for setting extra-controls
They're just mapped to 0 / 1 and can already be set as integers, but
being able to set them as booleans seems useful.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1308>
2021-11-03 18:44:03 +0000 Tim-Philipp Müller <tim@centricular.com>
* docs/gst_plugins_cache.json:
* meson.build:
Back to development
=== release 1.19.3 ===
2021-11-03 15:43:36 +0000 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* docs/gst_plugins_cache.json:

View file

@ -1,7 +1,34 @@
2022-01-27 01:39:28 +0000 Tim-Philipp Müller <tim@centricular.com>
* po/LINGUAS:
* po/ro.po:
gst-plugins-ugly: update translations
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1579>
2022-01-05 02:07:59 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* docs/meson.build:
* meson.build:
meson: Add explicit check: kwarg to all run_command() calls
This is required since Meson 0.61.0, and causes a warning to be
emitted otherwise:
https://github.com/mesonbuild/meson/commit/2c079d855ed87488bdcc6c5c06f59abdb9b85b6c
https://github.com/mesonbuild/meson/issues/9300
This exposed a bunch of places where we had broken run_command()
calls, unnecessary run_command() calls, and places where check: true
should be used.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1507>
2021-11-03 18:44:03 +0000 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
Back to development
=== release 1.19.3 ===
2021-11-03 15:43:36 +0000 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* gst-plugins-ugly.doap:

View file

@ -1,7 +1,69 @@
2022-01-26 00:02:49 +0100 Mathieu Duponchelle <mathieu@centricular.com>
* gi/overrides/GstAudio.py:
* gi/overrides/GstVideo.py:
* gi/overrides/meson.build:
VideoInfo, AudioInfo: fix usage with python bindings
* Expose an actual constructor from caps
* Error out in overrides for code that was using the "manual
allocation" pattern which only worked by chance. Direct
the script writer to the new_from_caps constructor instead.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-python/-/issues/47
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1571>
2022-01-05 02:07:59 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* meson.build:
* testsuite/meson.build:
meson: Add explicit check: kwarg to all run_command() calls
This is required since Meson 0.61.0, and causes a warning to be
emitted otherwise:
https://github.com/mesonbuild/meson/commit/2c079d855ed87488bdcc6c5c06f59abdb9b85b6c
https://github.com/mesonbuild/meson/issues/9300
This exposed a bunch of places where we had broken run_command()
calls, unnecessary run_command() calls, and places where check: true
should be used.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1507>
2021-11-16 23:36:10 -0300 Thibault Saunier <tsaunier@igalia.com>
* gi/overrides/gstmodule.c:
python: Avoid treating float as int
Since python 3.10 implicit conversion to integers using `__int__` as
been completely removed (was deprecated behavior in 3.9) so we need
to cleanly handle it now.
See https://gitlab.gnome.org/GNOME/pitivi/-/issues/2589
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1358>
2021-11-15 22:09:28 -0300 Thibault Saunier <tsaunier@igalia.com>
* gi/overrides/Gst.py:
* gi/overrides/GstPbutils.py:
* testsuite/common.py:
gst: Fix license headers and add SPDX
Fixes https://gitlab.freedesktop.org/gstreamer/gst-python/-/issues/57
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1351>
2021-11-10 13:38:04 -0500 Xavier Claessens <xavier.claessens@collabora.com>
* meson.build:
* meson_options.txt:
gst-python: Add option to disable python plugin
It is not always needed, at least Ubuntu package it separately and don't
install it by default. Also when doing a static build there is an
unavoidable warning otherwise.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1337>
2021-11-03 18:44:03 +0000 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
Back to development
=== release 1.19.3 ===
2021-11-03 15:43:36 +0000 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* gst-python.doap:

View file

@ -1,7 +1,72 @@
2022-01-20 17:13:36 -0600 Michael Gruner <michael.gruner@ridgerun.com>
* examples/test-appsrc2.c:
gst-rtsp-server: Fix leak in appsrc2 example
In the need-data appsrc callback, a buffer is pulled from the
appsink. This buffer is then copied so that metadata is writable.
The copy is pushed to the appsrc but it doesn't take ownership
of the buffer so we need to manually unref it. The original buffer
is finally unreffed when the sample is freed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1548>
2022-01-05 02:07:59 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* docs/meson.build:
* meson.build:
meson: Add explicit check: kwarg to all run_command() calls
This is required since Meson 0.61.0, and causes a warning to be
emitted otherwise:
https://github.com/mesonbuild/meson/commit/2c079d855ed87488bdcc6c5c06f59abdb9b85b6c
https://github.com/mesonbuild/meson/issues/9300
This exposed a bunch of places where we had broken run_command()
calls, unnecessary run_command() calls, and places where check: true
should be used.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1507>
2021-12-20 13:03:34 +0100 Fabrice Fontaine <fontaine.fabrice@gmail.com>
* gst/rtsp-server/meson.build:
rtsp-server: add gst_dep to gst_rtsp_server_deps
Add gst_dep to gst_rtsp_server_deps, in the context of buildroot, this
will avoid the following build failure, because the correct girdir
location will be retrieved from gstreamer-1.0.pc:
/home/giuliobenetti/autobuild/run/instance-3/output-1/host/riscv32-buildroot-linux-gnu/sysroot/usr/bin/g-ir-compiler gst/rtsp-server/GstRtspServer-1.0.gir --output gst/rtsp-server/GstRtspServer-1.0.typelib --includedir=/usr/share/gir-1.0
Could not find GIR file 'Gst-1.0.gir'; check XDG_DATA_DIRS or use --includedir
error parsing file gst/rtsp-server/GstRtspServer-1.0.gir: Failed to parse included gir Gst-1.0
If the above error message is about missing .so libraries, then setting up GIR_EXTRA_LIBS_PATH in the .mk file should help.
Typically like this: PKG_MAKE_ENV += GIR_EXTRA_LIBS_PATH="$(@D)/.libs"
Fixes:
- http://autobuild.buildroot.org/results/04af6b22cfa0cffb6a3109a3b32b27137ad2e0b0
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1460>
2021-12-16 21:04:53 +0100 Mathieu Duponchelle <mathieu@centricular.com>
* gst/rtsp-server/rtsp-stream.c:
rtsp-stream: fix get_rates raciness
Prior to this patch, we considered that a stream was blocking
whenever a pad probe was triggered for either the RTP pad or
the RTCP pad.
This led to situations where we subsequently unblocked and expected
to find a segment on the RTP pad, which was racy.
Instead, we now only consider that the stream is blocking when
the pad probe for the RTP pad has triggered with a blockable object
(buffer, buffer list, gap event).
The RTCP pad is simply blocked without affecting the state of the
stream otherwise.
Fixes #929
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1452>
2021-11-03 18:44:03 +0000 Tim-Philipp Müller <tim@centricular.com>
* docs/gst_plugins_cache.json:
* meson.build:
Back to development
=== release 1.19.3 ===
2021-11-03 15:43:36 +0000 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* docs/gst_plugins_cache.json:

View file

@ -1,7 +1,79 @@
2022-01-05 02:07:59 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* docs/meson.build:
* meson.build:
meson: Add explicit check: kwarg to all run_command() calls
This is required since Meson 0.61.0, and causes a warning to be
emitted otherwise:
https://github.com/mesonbuild/meson/commit/2c079d855ed87488bdcc6c5c06f59abdb9b85b6c
https://github.com/mesonbuild/meson/issues/9300
This exposed a bunch of places where we had broken run_command()
calls, unnecessary run_command() calls, and places where check: true
should be used.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1507>
2022-01-04 16:19:44 +0800 He Junyan <junyan.he@intel.com>
* gst-libs/gst/vaapi/gstvaapiprofile.c:
vaapi: av1dec: Use named profiles to replace the numeric ones.
Use named AV1 profiles (i.e., main, high) to replace the old "0"
and "1" profiles.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1491>
2021-12-01 15:36:44 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* gst/vaapi/gstvaapidecodebin.c:
vaapidecodebin: Misc enhancements.
- Use GST_WARNING rather than g_critical
- Replace gst_ghost_pad_new_from_template() with
gst_ghost_pad_new() to avoid using the template.
- Declare extern variable
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1405>
2021-12-01 12:26:11 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* gst/vaapi/gstvaapidecode.c:
vaapidecode: Autogenerate caps template.
vaapidecode is used in vaapidecodebin and it exposes all the
theoretically supported caps, but that slows down autoplug. With this
autplug is negotiated faster, giving more option to decodebin to select
other decoder.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1405>
2021-11-16 17:18:28 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
vaapi: libs: Use unsized arrays as parameters.
Instead of defining a sized array for function signature, use it
unsized (a pointer alias, basically). In this way clang warning is
silenced:
warning: fill_profiles accessing 64 bytes in a region of size 12 [-Wstringop-overflow=]
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1357>
2021-11-16 17:21:52 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* meson.build:
vaapi: meson: Fail if static build.
And initialize the plugin array.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1357>
2021-11-15 16:38:34 +0800 Ung, Teng En <teng.en.ung@intel.com>
* gst/vaapi/gstvaapipostproc.c:
vaapipostproc: fix mising metadata when using system
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1325>
2021-11-03 18:44:03 +0000 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
Back to development
=== release 1.19.3 ===
2021-11-03 15:43:36 +0000 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* gstreamer-vaapi.doap:

View file

@ -1,7 +1,246 @@
2021-12-23 00:24:03 +0100 Mathieu Duponchelle <mathieu@centricular.com>
* libs/gst/base/gstaggregator.c:
aggregator: don't forward reconfigure events
Those will cause us to renegotiate at the next aggregate cycle,
and while at that point we may decide to reconfigure upstream
branches (in practice we don't as this is inherently racy,
and that's the reason why mixer subclasses perform conversion
internally), we certainly don't want to just forward the event
willy-nilly to all our sinkpads.
An actual issue this is fixing is when caps downstream of a
compositor are changed at every samples-selected signal emission,
for the purpose of interpolating the output geometry, and the
compositor has a non-zero latency, the reconfigure events were
forwarded to basesrc, which triggered an allocation query, which
in turn caused aggregator to have to drain (thus not being able
to queue <latency> frames), leading to disastrous effects
(choppy output as compositor couldn't consume frames fast enough,
the higher the latency the choppier the output)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1464>
2022-01-27 01:37:18 +0000 Tim-Philipp Müller <tim@centricular.com>
* po/LINGUAS:
* po/de.po:
* po/fr.po:
* po/ro.po:
gstreamer: update translations
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1579>
2022-01-26 02:46:49 +0900 Seungha Yang <seungha@centricular.com>
* gst/gstplugin.c:
gstplugin: Fix for UWP build
SetThreadErrorMode() API is available on UWP but flag values
are desktop API only. Since error dialogs don't exist on UWP,
we don't need to suppress it
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1569>
2022-01-20 10:59:56 +0200 Sebastian Dröge <sebastian@centricular.com>
* gst/gstcapsfeatures.c:
gstreamer: capsfeatures: Fix docs of `gst_caps_features_new_single()`
They were just a copy of the `new_any()` docs before.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1542>
2022-01-19 20:58:36 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* gst/gstplugin.c:
gstplugin: Better warnings on plugin load failure on Windows
It is an extremely common mistake on Windows to have incorrect PATH
values when loading a plugin, and the error from g_module_error()
(which just calls FormatMessageW()) is very confusing in this case:
The specified module could not be found.
https://docs.microsoft.com/en-us/windows/win32/debug/system-error-codes--0-499-#ERROR_MOD_NOT_FOUND
It implies the plugin itself could not be found. The actual issue is
that a DLL dependency could not be found. We need to detect this case
and print a more useful error message.
We should still print the error fetched from FormatMessage() so that
people are able to google for it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1540>
2022-01-14 04:45:08 +0900 Seungha Yang <seungha@centricular.com>
* gst/gstpluginfeature.c:
pluginfeature: Fix object leak
Need to release GstPluginFeature object after use
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1521>
2022-01-05 02:07:59 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* docs/meson.build:
* gst/parse/meson.build:
* meson.build:
meson: Add explicit check: kwarg to all run_command() calls
This is required since Meson 0.61.0, and causes a warning to be
emitted otherwise:
https://github.com/mesonbuild/meson/commit/2c079d855ed87488bdcc6c5c06f59abdb9b85b6c
https://github.com/mesonbuild/meson/issues/9300
This exposed a bunch of places where we had broken run_command()
calls, unnecessary run_command() calls, and places where check: true
should be used.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1507>
2021-12-20 21:43:25 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* libs/gst/base/gstaggregator.c:
audio: Add logging that was useful in figuring out the last commit
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1461>
2021-12-08 12:27:04 +0100 Corentin Noël <corentin.noel@collabora.com>
* gst/gstelementfactory.c:
elementfactory: Annotate create_full and make_full to take arrays
We need the array annotation for it to be usable from the introspection side.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1427>
2018-04-25 14:30:51 +0200 Danny Smith <dannys@axis.com>
* libs/gst/net/gstnetclientclock.c:
gstnetclockclient: signal lost sync if remote time resets
When detecting the remote time has been reset which may occur if remote
device providing the clock server has been power reset, then clock is
no longer synced. Setting clock state will trigger a signal to client
informing on sync lost making it possibility to take appropriate action.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/975>
2021-11-26 10:13:08 +0100 Corentin Noël <corentin.noel@collabora.com>
* libs/gst/base/gstbasesink.h:
basesink: Add missing annotations
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1392>
2021-11-26 10:12:50 +0100 Corentin Noël <corentin.noel@collabora.com>
* libs/gst/base/gstpushsrc.h:
pushsrc: Add missing annotations
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1392>
2021-11-26 10:12:32 +0100 Corentin Noël <corentin.noel@collabora.com>
* libs/gst/base/gstbitwriter.c:
bitwriter: Add missing annotations
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1392>
2021-11-26 10:11:53 +0100 Corentin Noël <corentin.noel@collabora.com>
* libs/gst/base/gstbaseparse.c:
* libs/gst/base/gstbaseparse.h:
baseparse: Add missing annotations
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1392>
2021-11-23 08:08:36 +0100 Corentin Noël <corentin.noel@collabora.com>
* libs/gst/base/gstbasesrc.h:
basesrc: Add annotation to virtual methods with (out) parameters
This allows to actually use these virtual methods from the GObject introspection.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1376>
2021-10-21 19:04:43 +0900 Seungha Yang <seungha@centricular.com>
* docs/gst-hotdoc-plugins-scanner.c:
* gst/gstelement.c:
* gst/gstelementfactory.c:
* gst/gstelementfactory.h:
gst: Add APIs to allow documentation for element to be skipped
Dynamically registered elements (hardware element in most cases)
may or may not be available on a system and properties may be different
per system.
This new API will make documentation skipping possible in programmable way.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1360>
2021-11-16 18:05:09 +0200 Sebastian Dröge <sebastian@centricular.com>
* gst/gstinfo.c:
* gst/gstinfo.h:
gstinfo: Add gst_debug_log_literal() function
This takes a plain message string and not a format string, and as a
result doesn't have to be passed through vasprintf() and lead to further
unnecessary allocations. It can also contain literal `%` because of
that.
The new function is mostly useful for bindings that would have to pass a
full string to GStreamer anyway and would do formatting themselves with
language-specific functionality.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1356>
2021-11-15 11:04:25 +0100 Daniel Knobe <daniel-knobe@web.de>
* gst/gstcaps.c:
caps: fix type of return value if string is null in gst_caps_from_string
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1348>
2021-11-11 19:11:25 +0000 Tim-Philipp Müller <tim@centricular.com>
* gst/gst.c:
* gst/gstelementfactory.c:
* gst/gstinfo.c:
* gst/gstiterator.c:
* gst/gstmessage.c:
* gst/gstpadtemplate.c:
* gst/gstquery.c:
* gst/gsttypefindfactory.c:
* libs/gst/base/gstbasesink.c:
* libs/gst/base/gstbasesrc.c:
docs: fix unnecessary ampersand, < and > escaping in code blocks
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1340>
2021-11-08 15:28:06 +0200 Sebastian Dröge <sebastian@centricular.com>
* gst/gstbin.c:
bin: Don't check twice for adding a bin to itself or removing it from itself
This is already covered by a `g_return_val_if_fail()` in the calling
function.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1320>
2021-11-08 15:30:18 +0200 Sebastian Dröge <sebastian@centricular.com>
* gst/gstbin.c:
bin: Switch `g_warning()`s to `GST_WARNING_OBJECT()`s when adding/removing an element to a bin fails
The failure conditions can be overidden by subclasses, and a boolean
return value is provided to the caller whether adding/removing the child
element has actually worked. The caller can then handle this
accordingly but flooding stderr with this is not very useful.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1320>
2021-09-24 08:19:51 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* gst/gstinfo.c:
gstinfo: Fix leak in generate_backtrace_trace
Spotted by Laurent Pinchart.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/901>
2021-11-04 13:24:57 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* libs/gst/helpers/gst-ptp-helper.c:
gst-ptp-helper: Do not disable multicast loopback
Otherwise we cannot run gst-ptp-helper if the PTP master is on the
same device.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1306>
2021-11-04 09:30:31 +0000 Marcin Kolny <marcin.kolny@gmail.com>
* plugins/elements/gsttypefindelement.c:
typefind: fix reading file extension from URI
Currently reading extension relies on the fact that everything after the
last"." character is a file extension. Whereas that works fine for most
of the cases, it breaks when the URI contains a query part.
E.g.: `http://url.com/file.mp4?param=value` returns `mp4?param=value`
instead of `mp4`.
In this commit we use URI parser to read the path of the URI (in the example
above, that is `/file.mp4`) and read extension from that path.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1305>
2021-11-03 18:44:03 +0000 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
Back to development
=== release 1.19.3 ===
2021-11-03 15:43:36 +0000 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* gstreamer.doap: