Seungha Yang
ce4f0d5746
avviddec: Fix AVPacket leak
...
av_packet_unref() does not release allocated memory.
av_packet_free() is the correct free function.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6545 >
2024-04-05 10:28:22 +01:00
Sebastian Dröge
984b1f413a
wavpackparse: Use an unsigned integer for the block size calculations
...
It's never negative.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6541 >
2024-04-04 17:33:48 +01:00
Sebastian Dröge
078ef786d2
wavpackparse: Fix potential integer overflow on ID_ODD_SIZE blocks
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6541 >
2024-04-04 17:33:48 +01:00
Sebastian Dröge
99bdbd78ca
wavpackparse: Explicitly handle ID_WVX_NEW_BITSTREAM
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6541 >
2024-04-04 17:33:48 +01:00
Sebastian Dröge
ef72daea70
typefind: Handle WavPack block sizes > 131072
...
These are valid nowadays.
Also handle ID_ODD_SIZE and ID_WVX_NEW_BITSTREAM. The parser already
handles the former but not the latter.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3440
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6541 >
2024-04-04 17:33:48 +01:00
Robert Mader
81a800ab9e
jpegparse: turn some bus warnings into object ones
...
For some cameras `gst_jpeg_parse_app0()` fails on a invalid segment.
While this is likely a driver or firmware bug that should be addressed
accordingly, it's not fatal and likely does not deserve a bus message on
every frame, flooding journals.
Turn down the volume of the warnings by turning them into object
warnings. If we conclude that in some cases we'd still want bus
warnings, they can be done more fine-grained in the
`gst_jpeg_parse_appX()` functions.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6539 >
2024-04-04 15:14:06 +01:00
Sebastian Dröge
22315a435d
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/6538 >
2024-04-04 12:45:54 +01:00
Chris Spencer
f85d1efafb
vkbufferpool: correct usage flags type
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6528 >
2024-04-03 19:20:23 +00:00
Víctor Manuel Jáquez Leal
d2aa3829b8
vkh265dec: add missing VPS parameter
...
and fix coded size
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6534 >
2024-04-03 18:26:05 +00:00
Víctor Manuel Jáquez Leal
56ac5e9041
vkh26xdec: implement close() vmethod
...
Since a validation layer error is signaled at EOS because it's required to wait
for the last frame to be processed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6534 >
2024-04-03 18:26:05 +00:00
Víctor Manuel Jáquez Leal
9301f64d72
vkh26xdec: remove unused variables
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6534 >
2024-04-03 18:26:05 +00:00
Víctor Manuel Jáquez Leal
85a78f56dc
vkh265dec: fix resource info structure when layered DPB
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6534 >
2024-04-03 18:26:05 +00:00
Víctor Manuel Jáquez Leal
6f7d62eb73
msdk: sink context reference
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6527 >
2024-04-03 16:34:26 +00:00
Víctor Manuel Jáquez Leal
db387f1b13
gtk: sink reference of internal wayland pool
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6527 >
2024-04-03 16:34:26 +00:00
Víctor Manuel Jáquez Leal
124ceabafe
wayland: sink reference to internal pool
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6527 >
2024-04-03 16:34:26 +00:00
Víctor Manuel Jáquez Leal
e1fa26e16f
dash: sink references of all MDP objects
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6527 >
2024-04-03 16:34:26 +00:00
Víctor Manuel Jáquez Leal
1d7b7b04d1
va: sink reference at instantiation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6527 >
2024-04-03 16:34:26 +00:00
Víctor Manuel Jáquez Leal
4a51579cb2
vulkan: sink references at instantiation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6527 >
2024-04-03 16:34:26 +00:00
Xavier Claessens
4836312360
clocksync: Proxy allocation queries
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6525 >
2024-04-03 15:06:40 +00:00
eri
648a1cb03a
play: Update video_snapshot
to support playbin3
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6526 >
2024-04-03 13:48:13 +00:00
Guillaume Desmottes
5fcc15514f
examples: set perfect-timestamp=true on opusenc
...
Fix audio streaming on Chrome, see https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1524
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6523 >
2024-04-03 11:35:08 +00:00
Matthew Waters
d556c02aa8
glcaopengllayer: NULL some fields when freed
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6524 >
2024-04-03 10:28:08 +01:00
Matthew Waters
6f0ad951c3
glwindow/cocoa: keep a window reference across an async callback
...
Esnures that the window is alive when the callback is fired.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6524 >
2024-04-03 10:28:08 +01:00
Matthew Waters
651ccd0175
glimagesink: avoid a possible critical on shutdown
...
It is possible that the close callback can be called after glimagesink
is changing state to NULL. Protect against that by taking the glimagesink
lock and some NULL checking.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6524 >
2024-04-03 10:28:08 +01:00
Matthew Waters
0bf962dbdf
glimagesink: unref the potential last ref outside of the glimagesink lock
...
Avoids a deadlock between the state change removing the last ref and
the destructer calling the window's on_close handler and trying to
take the glimagesink lock.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6524 >
2024-04-03 10:28:08 +01:00
Matthew Waters
e5b4f09172
glbufferpool: protect release_buffer from multiple concurrent access
...
If two different threads attempt to release buffers at the same time, then the
keep-alive-slightly-longer GQueue may become corrupted. Guard against that with
some locking.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6524 >
2024-04-03 10:28:08 +01:00
Matthew Waters
9cedabae5a
gl/context/cocoa: ensure pixel format lives as long as the context
...
Under some circumstances, the CGLPixelFormatObj was being destroyed too
early which could lead to potential use-after-frees.
Fix by returning a reference when asked for the pixel format.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3154
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6524 >
2024-04-03 10:28:08 +01:00
Xavier Claessens
e47f9e8f87
videorate: Reset last_ts when a new segment is received
...
This fix all buffers being droped when a new segment is received and
average-period property is set.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6522 >
2024-04-03 00:33:15 +01:00
He Junyan
3fe9a6dc8c
va: av1enc: Avoid reopen encoder or renegotiate
...
If parameters remain similar enough to avoid either encoder reopening
or downstream renegotiation, avoid it.
This is going to be useful for dynamic parameters setting.
To check if the stream parameters changed, so the internal encoder has
to be closed and opened again, are required two steps:
1. If input caps, format, profile, chroma or rate control mode have changed.
2. If any of the calculated variables and element properties have changed.
Later on, only if the output caps also changed, the pipeline
is renegotiated.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6519 >
2024-04-02 21:45:33 +00:00
L. E. Segovia
a1c30bc6a6
gst: clock: Block futex_time64 usage on Android API level < 30
...
This syscall is seccomp blocked on all lower API levels:
ee7bc3002d
While at it, also fix all direct tests on __NR_futex_time64 and
__NR_futex so that they refer to the results available in
config.h.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6518 >
2024-04-02 20:15:57 +00:00
Chao Guo
25dc99f81f
glcolorconvert: Ensure glcolorconvert does not miss supported RGB formats
...
Add RGB16 and other RGB formats to rgb_formats to ensure glcolorconvert
does not miss the RGB formats it supports
Signed-off-by: Chao Guo <chao.guo@nxp.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6517 >
2024-04-02 19:30:00 +01:00
Seungha Yang
11eb88178b
meson: d3d11: Add support for MinGW DirectXMath package
...
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3428
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6503 >
2024-04-02 12:55:24 +00:00
Seungha Yang
092c0eec66
subprojects: directxmath: Update to 3.1.9
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6503 >
2024-04-02 12:55:24 +00:00
He Junyan
ac23e04236
va: av1enc: Improve the LAST reference assignment
...
The last frame which has the smallest diff should be consider as
the first choice rather than the golden frame. Especially when only
one reference available, this way can improve the BD rate about 5
percentage.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6507 >
2024-04-02 09:57:51 +01:00
He Junyan
c4bb6d301e
va: av1enc: Fix the reference number setting bug
...
The current way will let the total reference number surplus the
reference number set by the "ref-frames" property.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6507 >
2024-04-02 09:57:51 +01:00
Alexander Slobodeniuk
f1d28fdcf7
d3d11videosink: disconnect signals before releasing the window
...
It might happen that the key event arrives when the d3d11videosink
is stopping. In case of GstD3D11WindowWin32 it can raise a
navigation event even when the sink is already freed, because the
window object's refcount may reach 0 in the window thread. In
other words sometimes the GstD3D11WindowWin32 lives few ms more
then the GstD3D11VideoSink, because it's freed asynchronously.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6492 >
2024-03-30 19:06:31 +00:00
Ruben Gonzalez
ca97570da5
wpe: avoid crash with G_DEBUG=fatal_criticals and static build
...
No plugin filenames if static build.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6488 >
2024-03-30 11:15:17 +00:00
Hou Qi
1dc3fe831c
encodebin: Add the parser before timestamper to tosync list
...
Also need to sync the state of the parser before timestamper with
parent.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6486 >
2024-03-29 19:45:23 +00:00
Ruben Gonzalez
e6e3ed5679
ristsrc: Clean caps instead of unref
...
Fix issue unrefering null caps. Better solution than
```
if (src->caps)
gst_caps_unref (src->caps);
```
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6485 >
2024-03-29 19:04:52 +00:00
Tim-Philipp Müller
d2aeaeb73f
tests: rtpred: fix out-of-bound writes
...
Don't write more data to the buffer than we allocated
space for.
Fixes #3312
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6478 >
2024-03-29 00:22:16 +00:00
Haihua Hu
bb43b96d2c
v4l2src: need maintain the caps order in caps compare when fixate
...
if the calculated "distance" of caps A and B from the preference are
equal, need to keep the original order instead of swap them
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6473 >
2024-03-28 20:05:27 +00:00
Seungha Yang
98ed7a8201
meson: d3d11: Disable library build if DirectXMath header was not found
...
DirectXMath header library is a hard dependency
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6472 >
2024-03-28 19:06:57 +00:00
Nicolas Dufresne
fa44d14d2b
v4l2codecs: alphadecoder: Explicitly pass 64 bit integers as such through varargs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6469 >
2024-03-28 11:16:28 +00:00
Sebastian Dröge
c42d3fc6e3
alphadecodebin: Explicitly pass 64 bit integers as such through varargs
...
Maybe fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3422
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6469 >
2024-03-28 11:16:28 +00:00
Taruntej Kanakamalla
5f499b7932
net/gstptpclock: fix double free of domain data during deinit
...
The attempt to free the domain data is happeing twice during the ptp deinit.
Once while iterating through the list domain_data and second while iterating
through the list domain_clocks, so this is crashing the application
trying to gst_ptp_deinit
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6457 >
2024-03-28 00:06:45 +00:00
Sebastian Dröge
91ded3fa77
basesrc: Clear submitted buffer lists consistently with buffers
...
And handle the case of a NULL buffer being returned cleanly, which is
valid as long as a buffer list is returned instead. Previously this
would cause an assertion because of calling gst_buffer_unref() with
NULL.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6463 >
2024-03-27 20:32:34 +00:00
Jan Schmidt
2980981618
rtpmp4adepay: Set duration on outgoing buffers
...
If we can calculate timestamps for buffers, then set the duration
on outgoing buffers based on the number of samples depayloaded.
This can fix the muxing to mp4, where otherwise the last packet
in a muxed file will have 0 duration in the mp4 file.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6456 >
2024-03-27 19:48:43 +00:00
Arnaud Vrac
0d04d702bd
inputselector: fix possible clock leak on shutdown
...
Avoid leaking a GstClock object on shutdown, bail out before taking the ref when
not playing.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6455 >
2024-03-27 17:31:15 +00:00
Piotr Brzeziński
4020144a65
vtdec: Fix caps criticals during negotiation
...
Calling gst_pad_peer_query_caps() without a filter can give us EMPTY caps, whereas all the code below
assumes that's not the case. Replacing query+intersect with a filtered query ensures we always get a subset
of the template caps back.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6454 >
2024-03-27 16:24:07 +00:00
Víctor Manuel Jáquez Leal
6eab0524ca
jpegparse: avi1 tag can be progressive
...
AVI1 tag in APP0 is trivalue: 0 not interleaved, 1 odd, 2 even.
So if avi1 is zero then the frame is progressive.
Also, this patch adds a couple log messages.
Fixes : #3414
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6453 >
2024-03-27 14:59:38 +00:00