Andoni Morales Alastruey
7b408bae69
discoverer: fix segfault in race condition adding a new uri's
...
There is a race condition adding new uri's right after receiving
the `discovered` event. We must wait until we have cleaned-up
the last discovery to start processing the new one
Fix #3758
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7930 >
2024-11-20 21:36:30 +00:00
Thibault Saunier
ec2b3cb200
discoverer: Fix typos
...
discovererd / discoverered -> discovered
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7733 >
2024-10-29 00:17:58 +00:00
Thibault Saunier
5ed2af5083
discoverer: Fix serializing tags StreamInfo on disc
...
When `use-cache` is used, we were serializing the StreamInfo **before**
_ensure_info_tags was called, meaning we were always missing that information.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7733 >
2024-10-29 00:17:58 +00:00
Edward Hervey
38c07a2d01
all: Fix closure annotations
...
This was misused almost everywhere.
See
https://gi.readthedocs.io/en/latest/annotations/giannotations.html#support-for-gobject-closures
and: https://www.bassi.io/articles/2023/02/20/bindable-api-2023/
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7725 >
2024-10-25 08:58:29 +00:00
Diego Nieto
1032450a0e
pbutils: descriptions: add H.266/VVC descriptions
...
Add H.266 descriptions supporting different codec profiles as well
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7652 >
2024-10-15 08:19:27 +00:00
Diego Nieto
6b4caacd19
codec-utils: add H.266/vvc mime type
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7652 >
2024-10-15 08:19:27 +00:00
Olivier Crête
78775079c6
pbutils: Add LCEVC information to H.264 description
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7330 >
2024-10-02 20:33:13 +00:00
Sebastian Dröge
6233eb0ff3
common: Stop using GQuark-based GstStructure field name API
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7432 >
2024-09-26 19:21:29 +03:00
Sebastian Dröge
0c1611d31d
common: Stop using GQuark-based GstStructure name API
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7432 >
2024-09-26 19:21:29 +03:00
Sebastian Dröge
0823c639cc
gst: structure: Stop using private structure name quark field
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7432 >
2024-09-26 19:21:29 +03:00
Sebastian Dröge
396ef0cbcf
video: Don't overshoot QoS earliest time by a factor of 2
...
By setting the earliest time to timestamp + 2 * diff there would be a difference
of 1 * diff between the current clock time and the earliest time the element
would let through in the future. If e.g. a frame is arriving 30s late at the
sink, then not just all frames up to that point would be dropped but also 30s of
frames after the current clock time.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7459 >
2024-09-13 19:52:52 +00:00
Víctor Manuel Jáquez Leal
c27d0842ce
pbutils: descriptions: use subsampling factor to get YUV subsampling
...
The algorithm used to determine the YUV subsampling string uses width and height
subsampling factor, not the raw subsampling. Otherwise all 4:2:0 YUV frames will
be detected as 4:4:4
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7353 >
2024-08-14 19:02:20 +00:00
Jan Schmidt
9dc1d68e2f
codec-utils: Recognise mjpg mime type
...
Add mjpg to gst_codec_utils_caps_from_mime_codec_single()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6969 >
2024-07-30 00:06:50 +00:00
Edward Hervey
2c1c1ec575
encoding-target: Chain up to parent class
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7115 >
2024-07-01 23:19:39 +00:00
Edward Hervey
651568d543
encoding-profile: Chain up to parent class finalize
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7115 >
2024-07-01 23:19:39 +00:00
Edward Hervey
c987eaa427
pbutils: Missing plugin messages can contain the stream-id
...
In order to help users and applications, allow setting the stream-id for which
there is a missing plugin.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6886 >
2024-05-29 11:44:05 +00:00
Thibault Saunier
5be3f255b0
encoding-profile: Add a way to specify a factory-name when specifying caps
...
In some cases you want to ensure that a specific element factory is used
while requiring some specific caps but this was not possible. You can
now do `qtmux:video/x-prores,variant=standard|factory-name=avenc_prores_ks`
to ensure that the `avenc_prores_ks` factory is used to produce the
'standard' variant of prores video stream.
This also enhances a bit the documentation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6875 >
2024-05-17 22:46:52 +00:00
Bill Nottingham
5d7d3c6c0f
pbutils: fix visualization plugins
...
inbuf is persistent, GST_BUFFER_COPY_MEMORY's append behavior is
not what we want.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6800 >
2024-05-07 14:48:47 +00:00
6fd1900d54
pbutils: AV1 mime codec
...
Add basic AV1 mime codec param generation based on the spec at https://aomediacodec.github.io/av1-isobmff/#codecsparam
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6696 >
2024-05-06 12:43:27 +00:00
Sebastian Dröge
ec42cedf63
encoding-profile: Fix nullability of (de)serialization functions
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6775 >
2024-05-01 09:51:35 +00:00
Edward Hervey
ad8c42ba06
encoding-profile: Make (de)serialization functions public
...
This is more convenient and cheaper than going through the `g_value_convert()`
hoops
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6712 >
2024-04-23 14:27:00 +00:00
Sebastian Dröge
4b5a265571
pbutils: descriptions: Don't warn on MPEG-1 audio caps without layer field
...
While this is not ideal and won't give too accurate codec descriptions,
it is what tsdemux produces.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6511 >
2024-04-04 09:39:49 +00:00
Piotr Brzeziński
3243c5fe94
audiovisualizer: Don't wrap temporary memory in buffers
...
Avoids potentially ending up with the buffermemory pointing to already-freed or reused addresses.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6320 >
2024-03-11 18:18:01 +00:00
Edward Hervey
a1cbe351ec
musepack: Prefer using FFmpeg musepack decoder/demuxer
...
* Bump the rank of the musepack v7/v8 FFmpeg demuxers to SECONDARY
* Bump the rank of the musepack v7/v8 FFmpeg audio decoders to SECONDARY
* Demote the rank of the musepackdec element to MARGINAL
This is for two reasons:
* The musepack library is no longer maintained, whereas the FFmpeg
implementation can/will receive fixes
* The `musepackdec` implementation was a all-in-one "parsing and decoding" blob
which doesn't play nicely with decodebin3 and others
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3033
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6074 >
2024-02-09 12:15:14 +00:00
Jimmy Ohn
2c19c92041
encoding-target: Properly free when missing type field in parse_encoding_profile
...
pname and description in parse_encoding_profile function causes
memory leakages when missing the 'type' field for streamprofile.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5744 >
2023-12-01 09:39:47 +00:00
Philippe Normand
986a36273f
pbutils: Don't include default vp9 parameters in resulting codec mime string
...
According to the document defining the vp9 codec string, the optional fields
should all be present only if at least one of them has a non-default value.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5716 >
2023-11-27 10:36:01 +00:00
Thibault Saunier
a2bb04c899
discoverer: Fix accumulating discoverer info when loading from cache
...
With the previous accumualator loading stopped after the first handler,
even if it return NULL which is unexpected, instead we want to use the
first non-value returned by handlers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5665 >
2023-11-14 22:01:04 +00:00
Jonas Kvinge
fa46905aea
discoverer: Only call handle_current_async if still processing
...
When gst_element_set_state is called in _setup_locked and errors, the
callback is already processed before we reach handle_current_async, and
the timer is started even though it's finished processing, which results
in a NULL pointer crash later in async_timeout_cb.
To fix this, we check that it's still processing before calling
handle_current_async.
Fixes #1683
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4936 >
2023-06-30 08:52:38 +03:00
Sebastian Dröge
4cbd8d6fc6
pbutils: discoverer: Mark gst_discoverer_stream_info_get_stream_id() as nullable
...
It can return NULL in certain situations.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4572 >
2023-05-08 15:26:58 +03:00
Thibault Saunier
40a6f2dc91
discover: Avoid double freee when creating info from cache file
...
Passing ownership to the function as the created info is made owner.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3911 >
2023-04-29 06:54:10 -04:00
Thibault Saunier
0f229aa62a
discoverer: Add serializing unknown stream type support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3911 >
2023-04-29 06:54:10 -04:00
Thibault Saunier
9e994ea616
discoverer: Add a signal to retrieve serialized GstDiscovererInfo
...
This allows user to serialize the GstDiscovererInfo in other places
than the default folder, like a database when running web services for
examples.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3911 >
2023-04-29 06:47:55 -04:00
Stéphane Cerveau
61416bc532
pbutils: add video/x-ivf to descriptions
...
Add missing description for video/x-ivf spotted
with gst-discoverer-1.0
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4248 >
2023-04-27 06:45:27 +00:00
Thibault Saunier
b14e675a27
gir: Checkout all .gir files and check that they are updated on the CI
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3010 >
2023-04-22 09:32:32 -04:00
Tobias Rapp
c467ac0869
gst-plugins-base: Add FourCC and type description for FFVHuff video
...
The FFVHuff video codec is a FFmpeg-specific variant of the lossless
HuffYUV codec with increased coverage of supported pixel formats and bit
depths.
Fixes #2389 .
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4250 >
2023-03-23 14:30:59 +00:00
Tim-Philipp Müller
8759b77a50
gst-plugins-base: re-indent with GNU indent 2.2.12
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4182 >
2023-03-17 03:18:53 +00:00
Tim-Philipp Müller
8bf59703a1
libs: pbutils: drop use of GSlice
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695 >
2023-01-24 15:25:06 +00:00
Víctor Manuel Jáquez Leal
f74fb5142d
pbutils: Fix vp9 mime mapping when caps when no chroma-site.
...
It's possible to have 4:2:0 chroma format without chroma-site in caps, but it
isn't validated by the current code. This patch fixes it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3405 >
2022-11-16 01:29:50 +00:00
Edward Hervey
7988144048
pbutils/encoding-profile: Streamline cleanup
...
Cleanup all local variables in one place, and ensure failure cases go through there.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390 >
2022-11-13 06:59:11 +01:00
Edward Hervey
872b0a65cb
pbutils/encoding-profile: Don't leak string array
...
It was never freed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390 >
2022-11-12 10:33:51 +01:00
Sebastian Dröge
40800fa117
discoverer: Annotate DiscovererInfo::get_audio_streams()
and others with the concrete stream info type
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3353 >
2022-11-07 19:04:49 +00:00
Matthew Waters
1c835695a3
pbutils: add correct mime mapping for vp9
...
Based on https://www.webmproject.org/vp9/mp4/#codecs-parameter-string
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3260 >
2022-10-28 00:06:07 +00:00
Sebastian Dröge
366893e9ac
Fix various warnings from gobject-introspection
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3261 >
2022-10-25 09:45:25 +03:00
Sebastian Dröge
533ea9bd7c
pbutils: Add/fix various annotations
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194 >
2022-10-18 08:56:58 +00:00
Tim-Philipp Müller
4c8a621809
pbutils: descriptions: add meta/x-klv
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3094 >
2022-09-30 11:08:45 +03:00
Tim-Philipp Müller
2d53f9f97c
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-30 11:08:45 +03:00
Thibault Saunier
1c4950718f
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-15 19:25:01 +00:00
Thibault Saunier
bc9c1e3956
meson: Namespace the plugins_doc_dep/libraries variables
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970 >
2022-09-01 21:17:35 +00:00
8648f5f7d2
audiovisualizer: fix buffer mapping to not increase refcount
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2953 >
2022-08-30 15:22:42 +00:00
Mathieu Duponchelle
62c303c2e0
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-08-02 15:48:12 +00:00