Guillaume Desmottes
bde69a4fab
taglist: add _gst_tag_list_structure() as internal API
...
Will be needed to implement hash on GValue.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8518 >
2025-04-01 14:37:26 +02:00
Guillaume Desmottes
76e9e4ceb6
gstvalue: rename internal table to gst_value_hash_table
...
Will use the gst_value_hash symbol to implement a new method.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8518 >
2025-04-01 14:37:26 +02:00
Jochen Henneberg
96970fe33b
camerabin: Ensure that test record pipeline does not see caps change
...
Depending on the system load the test 'video_capture_with_tags' may
fail or not. Reason is that 'videotestsrc' may emit a buffer before
the final caps negotiation on the recording pipeline has happened
after dynamic linking.
In that case there would be a caps change and because videorate does
no longer drop old buffers and caps on change but pushes duplicates if
required qtmux will notice a caps change and fail to link.
The problem is a synchronization problem in 'camerabin' which became
obvious with the changed behaviour of 'videorate'.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8579 >
2025-04-01 10:15:34 +00:00
Jochen Henneberg
6f623af4d7
videorate: Revive 'new-pref' property
...
The 'new-pref' property sets the preference to use the new (next)
instead of the old (previous) buffer. The default is set to 0.5 to get
a similar behaviour as before the change.
Value 0.0 makes sure that only frames are shown where it's known that
the frame content is visible at that time, always show the old frame
until the new frame timestamp is reached.
Then, if the next buffer replaces the previous buffer the new buffer
is pushed as often as possible until PTS is reached. Before the new
buffer was only pushed once the new next buffer arrived.
Use GstClockTimeDiff because it's known that the current buffer time
is inside the time interval of previous buffer and next buffer the
calculation can be done with building absolute values. Special macros
are not needed here.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8579 >
2025-04-01 10:15:34 +00:00
Seungha Yang
3a4990d965
h264ccextractor,h265ccextractor: Handle gap with unknown pts
...
Fixing critical warngins
gst_event_new_gap: assertion 'GST_CLOCK_TIME_IS_VALID (timestamp)' failed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8741 >
2025-04-01 08:16:13 +00:00
Guillaume Desmottes
e8038d2994
codecalpha: name both queues
...
Make it easier to debug from logs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8744 >
2025-03-31 15:15:28 +00:00
Doug Nazar
6e5937f9b5
vulkan/wayland: Init debug category before usage
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8738 >
2025-03-31 13:20:31 +00:00
Alexander Slobodeniuk
a776793969
audioaggregator: fix chaining up to parent class (again)
...
An error was added in !8416 , it was calling to the
wrong parent class
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8740 >
2025-03-31 11:29:03 +00:00
Philippe Normand
18f6fec49f
webrtcbin: Make mid optional in offers and answers
...
The mid attribute is not strictly required. Two new tests cover this change,
they remove the mid and group attributes from the SDP offers and answers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8729 >
2025-03-31 10:51:08 +01:00
Artem Martus
36c983ccd5
webrtcbin: ensure RTX entry for all formats
...
Properly implement RFC 4588 by ensuring each media format
has its own RTX payload type with unique 'apt' parameter,
rather than only mapping the first format.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8663 >
2025-03-31 06:40:35 +00:00
Sebastian Dröge
3ac5bb2d36
va: Skip codecs that report maximum width or height lower than minimum
...
This happens on F42 with the JPEG decoders for some reason and trying to
actually use them with any resolution simply gives a "resolution not supported"
error.
A minimum of 64 is correctly reported though and trying to create caps with an
int range of [64, 0] gives critical warnings.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8736 >
2025-03-30 11:00:08 +00:00
Doug Nazar
6e9667b65c
matroskademux: Add support for relative position cues
...
Cueing data can contain the block number within a cluster and/or
a relative offset into the cluster.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5535 >
2025-03-28 17:47:27 -04:00
Doug Nazar
3578b23ba2
matroskamux: Add support for chroma siting
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5534 >
2025-03-28 11:44:13 -04:00
Doug Nazar
123a7a515f
matroskamux: Add support for interlaced field order
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5534 >
2025-03-28 11:44:13 -04:00
Doug Nazar
671dd6a61e
matroskamux: Always use v4 for DocType version
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5534 >
2025-03-28 11:43:50 -04:00
Doug Nazar
8e6ec1fc34
matroskademux: Handle chroma site color information
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5534 >
2025-03-28 11:22:39 -04:00
Víctor Manuel Jáquez Leal
03c129d4d3
tests: y4menc: padded frame test
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8654 >
2025-03-27 14:29:40 +01:00
Víctor Manuel Jáquez Leal
d59ce45789
y4menc: use start() vmethod rather than change_state()
...
Also it wil call negotiate() vmethod at set_format()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8654 >
2025-03-27 14:29:40 +01:00
Víctor Manuel Jáquez Leal
0f0a4d6ab3
y4menc: enable y4menc debugging category
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8654 >
2025-03-27 14:29:40 +01:00
Víctor Manuel Jáquez Leal
2fb3dddd51
y4menc: handle padded frames
...
Since y4menc inherits from GstVideoEncoder, it negotiates upstream buffer pools
with GstVideoMeta support. Thus, certain decoders might use that meta for
frames with padded memory. Nonetheless y4menc assumes only linear memory video
frames, without padding.
This patch will copy frames using gst_video_frame_copy() if buffer has
GstVideoMeta or its video info is padded with its custom video info. Otherwise,
it ill call the agnostic gst_buffer_copy() for a shallow copy.
Supersedes: !5042
Fixes : #2765
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8654 >
2025-03-27 14:28:03 +01:00
Víctor Manuel Jáquez Leal
fb0bea8fef
y4menc: create an output video info without padding
...
The unpadded strides and offsets calculations for the video info are inspired
from y4mdec.
A boolean flags is toggled if the video info is padded for the given resolution.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8654 >
2025-03-27 14:05:43 +01:00
Arun Raghavan
c5733c84b1
qt6: Add a missing newline in unsupported platform message
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8702 >
2025-03-27 10:02:47 +00:00
Jan Schmidt
3ed710932a
gst-docs: Fix URL for personal_access_tokens page
...
The gitlab url seems to have moved since the docs were written
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8681 >
2025-03-27 09:44:55 +00:00
Doug Nazar
86161c084e
tracer: Free various props before being set
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Doug Nazar
7998076e76
rtspclientsink: Free various props during cleanup
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Doug Nazar
a33e1c7563
rtspsrc: Free various props during cleanup
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Doug Nazar
1d2bd1df6c
ximagesrc: Free various props during cleanup
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Doug Nazar
e3818d0e1b
qtmoovrecover: Free various props during cleanup
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Doug Nazar
b808153d15
jack: Free various props during cleanup
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Doug Nazar
12932ecc90
uridecodebin3: Free various props before being set
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Doug Nazar
5a19c4a4ae
theoraenc: Free various props before being set
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Doug Nazar
3a20c0bca3
gl: Free various props during cleanup
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Doug Nazar
a7dce91f0d
alsamidisrc: free ports during finalize()
...
If the element is never start/stopped the ports variable will leak.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Doug Nazar
ecccd6a8cf
a2dpsink: Free various props during cleanup
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Doug Nazar
108cd906fa
aja: Free various props during cleanup
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Doug Nazar
2e96ed13de
rfbsrc: Free various props before being set & during cleanup
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Doug Nazar
c2cb94a421
frei0r: Free various props before being set
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Doug Nazar
afd979c9e4
faceoverlay: Free various props during cleanup
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Doug Nazar
8f99e22822
waylandsink: Free various props before being set
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Doug Nazar
765a6a963f
qroverlay: Free various props before set & during cleanup
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Doug Nazar
e7d8bf8563
openalsrc: Free various props before being set
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Doug Nazar
efb08c2ada
lcevcencoder: Free various props before during cleanup
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Doug Nazar
6279c4bab7
dash: Free various props before set & during cleanup
...
In addition several members were being freed via xmlFree() even though
being created via g_value_dup_string(). Switch to g_free().
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Doug Nazar
2f11f7e434
curlhttpsrc: Free various props before set & during cleanup
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Doug Nazar
5f90a4ae67
all: Annotate *_set_property() contructor only props without free
...
Properties that are marked constructor only aren't required to be freed
before g_value_dup_string() as they can only be called once during construction.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Víctor Manuel Jáquez Leal
ca04a4cd44
gl: eglimage: warn the reason of export failure
...
So people debugging could know what's happening at debugging.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8672 >
2025-03-27 08:10:53 +00:00
Víctor Manuel Jáquez Leal
146b49fd9e
gl: eglExportDMABUFImageQueryMESA expects modifiers to be an array
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8672 >
2025-03-27 08:10:53 +00:00
Guillaume Desmottes
1ea4632668
tracers: dots: fix debug log
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8699 >
2025-03-27 04:09:51 +00:00
Sebastian Dröge
fbdd1aa800
dashsink: Make sure to use a non-NULL pad name when requesting a pad from splitmuxsink
...
If the caller passed in "audio_%u" instead of a concrete pad name into
gst_element_request_pad_simple() then the pad name will be NULL. In that case
use the pad template name for requesting the pad from splitmuxsink.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8697 >
2025-03-27 02:36:30 +00:00
Andoni Morales Alastruey
05347a3c03
ges: fix frame position for sources with par > 1
...
A source with 1920x1080 and par 16:15 has a natural size of
2048x1080. The current code is incorrectly setting the natural
width as height resulting in 1920x2048.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8693 >
2025-03-27 01:46:23 +00:00