Seungha Yang
911d840288
wasapi: Fix alloc/free function mismatch
...
... and fix leak in wasapi device provider
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3326
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6169 >
2024-02-21 21:03:32 +00:00
Seungha Yang
06b9864dae
wasapi2: Fix task memory leak
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6169 >
2024-02-21 21:03:32 +00:00
ekwange
0cbb396ab9
mse: Add logging init for mediasource sample map
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6033 >
2024-02-21 18:11:25 +00:00
Kamal Mostafa
ce45e63dcc
tests: cudafilter: actually check for cudascale
...
Actually check for availability of 'cudascale' instead of accidentally
checking for 'cudadownload' twice.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3327
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6158 >
2024-02-21 10:16:02 +00:00
Stéphane Cerveau
977a59a3fb
test: vkimagebufferpool: fix queue leak
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6143 >
2024-02-21 04:50:47 +00:00
Tim-Philipp Müller
9b84d6398a
qsv: use new plugin status message API
...
Minimal example.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3832 >
2024-02-21 00:58:19 +00:00
Seungha Yang
354af30d9f
wasapi2: Respect ringbuffer buffer/latency time
...
Decide buffer size based on configured buffer/latency time
if low-latency is disabled, so that ringbuffer can buffer more
than minimum required size.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2870
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6141 >
2024-02-20 11:37:09 +00:00
Edward Hervey
62b9049d20
mpegst: Fix ownership of return value
...
This inherits from the same rule as gst_buffer_add_meta
```
gst-mpegtspesmetadatameta.h:98: Warning: GstMpegts:
gst_buffer_add_mpegts_pes_metadata_meta: return value: Invalid non-constant
return of bare structure or union; register as boxed type or (skip)
```
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6146 >
2024-02-20 11:33:33 +02:00
Guillaume Desmottes
b4752ef792
docs: initialize values when GST_PLUGIN_API_FLAG_IGNORE_ENUM_MEMBERS is set
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5491 >
2024-02-19 07:50:15 +00:00
Seungha Yang
93f0135798
wasapi2: Fix choppy rendering
...
This reverts questionable commit 009bc15f33
which looks completely wrong.
The GstWasapi2RingBuffer:buffer_size variable is used to
calculate available buffer size we can write
(i.e., available size = buffer_size - padding_size).
But the commit makes the size to be exactly same as buffer period.
Then, it can confuse this element as if the endpoint buffer is full on
I/O event callback (if padding size is equal to buffer period)
but it's not true.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2870
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6132 >
2024-02-19 04:39:25 +00:00
Robert Mader
6b024b50ab
v4l2codecs: h264: Fix a memory leak on renegotiation
...
We only use this anchor when streaming, in which case output_state is
set and needs to get unreffed.
This is in line with how it is handled for all other codecs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6127 >
2024-02-15 22:37:11 +01:00
Tim-Philipp Müller
88412ef100
Back to development
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6126 >
2024-02-15 16:38:53 +00:00
Tim-Philipp Müller
88751d4110
Release 1.23.2
2024-02-15 15:37:17 +00:00
Tim-Philipp Müller
28b64bc28a
Revert "audiobuffersplit: Update out_segment even without discont"
...
This reverts commit c0dc65d40a
.
2024-02-15 15:37:11 +00:00
Jan Alexander Steffens (heftig)
9426eaae6a
videoparseutils: Don't double-attach AFD, Bar or unregistered data
...
We already did this for captions. We also need to do it for the other
meta types to ensure our parsers are idempotent and don't attach
duplicates.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5450 >
2024-02-15 13:32:30 +00:00
Jan Alexander Steffens (heftig)
92017b983e
videoparseutils: Store multiple user data unregistered messages
...
A frame can have multiple unregistered messages attached. We need to
store them all.
For: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3008
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5450 >
2024-02-15 13:32:30 +00:00
Jan Alexander Steffens (heftig)
75f61cba80
videoparsers: Clear user_data_unregistered explicitly in _reset_frame
...
This fits better with the model used by the parser elements. It also
properly resets the data when the parser is reset.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5450 >
2024-02-15 13:32:30 +00:00
Jan Alexander Steffens (heftig)
3577fdec51
videoparsers: Clear user data explicitly in _reset_frame
...
This fits better with the model used by the parser elements. It also
properly resets the data when the parser is reset.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5450 >
2024-02-15 13:32:30 +00:00
Jan Alexander Steffens (heftig)
b3c03cec8d
videoparseutils: Minor improvements to _parse_afd
...
- Add the missing field parameter and put the output parameter at the
end.
- Use a switch to verify valid values instead of hard-to-follow range
checks.
- Don't consider bad values a programming error, just a regular failure.
- Set all data fields at the end so we can pass a pointer to an
uninitialized structure without GCC complaining.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5450 >
2024-02-15 13:32:30 +00:00
Jan Alexander Steffens (heftig)
5c0cad5f02
videoparseutils: Minor improvements to _parse_bar
...
Use the enum type for the argument and loudly complain when not passing
a place to output.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5450 >
2024-02-15 13:32:30 +00:00
Jan Alexander Steffens (heftig)
c0dc65d40a
audiobuffersplit: Update out_segment even without discont
...
We need to forward the segments we get even if we don't see a discont
buffer, or discont was suppressed by gapless mode.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5450 >
2024-02-15 13:32:29 +00:00
Xavier Claessens
d86a6715e1
aja: Replace global semaphore with per-device flock()
...
The global semaphore was never closed/unlinked, causing permission
denied issue if the device is later used by another user. Properly
removing the semaphore when stopping the pipeline would still leave it
open in case of a crash.
With a GStreamer specific name, it was also not preventing other apps to access
the device concurrently.
Finally, if the system has multiple cards, the lock should be per card
and not global (to be confirmed).
Fixes : #3283 .
Sponsored-by: Netflix Inc.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6117 >
2024-02-15 09:30:20 +00:00
Edward Hervey
d26194db0e
libgstplay: Use playbin3 by default
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6120 >
2024-02-15 09:00:45 +01:00
Seungha Yang
d98c922995
h265decoder: Fix DPB size calculation
...
MaxDpbSize specified in A.4.2 tells upper bound of decoded picture
buffer size but does not tell actual required size.
Use max_dec_pic_buffering value as a dpb size. Some backends
such as DXVA and NVDEC might require pre-allocated DPB buffer
and unnecessary large DPB size will result in waste of GPU memory.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6101 >
2024-02-14 15:05:59 +00:00
Mathieu Duponchelle
91317aacaf
webrtcbin, rtpbin: check before setting properties on jitterbuffer
...
In rtpbin we already systematically check for all property names
except latency, correct that.
In webrtcbin we need to check before trying to use the do-retransmission
property.
This is useful for the case where an element like identity gets passed
to rtpbin's request-jitterbuffer property, when the application wants
to use webrtcbin in an SFU situation, with no reordering and no added
latency
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6112 >
2024-02-14 08:52:50 +00:00
Tim-Philipp Müller
6cfe6299d2
gst-plugins-bad: update translations
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6113 >
2024-02-14 04:43:00 +00:00
Daniel Morin
b2098849dc
h264parse: correct NAL mode backlog processing
...
- Only process what is left in backlog when AU was completed, draining or next
nal is AUD.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6093 >
2024-02-13 13:58:13 +00:00
Seungha Yang
cfa8386dd0
nvdecoder: Enable zero-copy only if explicitly enabled
...
Keep pre-1.24 behavior unless user specifies the number of
output surface size. We are calculating output surface size
conservatively, and it can result in over allocation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6102 >
2024-02-13 12:37:07 +00:00
Seungha Yang
59358e439d
nvh265dec: Don't convert unknown video format to string
...
gst_video_format_to_string() method does not allow unknown format
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6102 >
2024-02-13 12:37:06 +00:00
Philippe Normand
080320609c
dashdemux: Basic support for container-specific-track-id tag
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6041 >
2024-02-12 10:37:29 +00:00
Seungha Yang
693dbc9667
d3d12screencapturesrc: Fix choppy display
...
According to recommendation from MS, IDXGIOutputDuplication::ReleaseFrame()
needs to be called just before IDXGIOutputDuplication::AcquireNextFrame()
for performance reasons, so that driver can accumulate dirty rects
and update texture at once. But it seems to cause choppy output.
Do release acquired frame immediately once processing done,
like d3d11 implementation does.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6092 >
2024-02-11 13:13:18 +00:00
Víctor Manuel Jáquez Leal
b485417d03
vulkanh265dec: add H.265 decoder
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6089 >
2024-02-10 17:17:24 +00:00
Víctor Manuel Jáquez Leal
4268268a79
tests: vkvideodecode: add H.265 decoding test
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6089 >
2024-02-10 17:17:24 +00:00
Víctor Manuel Jáquez Leal
8a4a619c32
tests: vkvideodecode: choose the queue's codec
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6089 >
2024-02-10 17:17:24 +00:00
Víctor Manuel Jáquez Leal
d581690f61
tests: vkvideodecode: h264 prefix to global variables
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6089 >
2024-02-10 17:17:24 +00:00
Víctor Manuel Jáquez Leal
a853cc419f
tests: vkvideodecode: refactor functions for later reuse
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6089 >
2024-02-10 17:17:24 +00:00
Víctor Manuel Jáquez Leal
50791d66e1
vulkanh264dec: don't remove graphics queue if it's the same as decoder
...
Since graphics queue is used for the context transference. So lets' keep it with
its own reference.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6089 >
2024-02-10 17:17:23 +00:00
Víctor Manuel Jáquez Leal
5d27f09740
vulkanh264dec: small cleanups
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6089 >
2024-02-10 17:17:23 +00:00
Víctor Manuel Jáquez Leal
2011dec249
vulkan/decoder: fix documentation generation
...
GstVulkanDecoderParameters is an union, not a struct, and that isn't handled by
hotdoc.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6089 >
2024-02-10 17:17:23 +00:00
Víctor Manuel Jáquez Leal
f0c5a853a6
vulkan/decoder: don't initialize function table once
...
Since it has to be associated with the device and it gets destroyed when the
decoder is freed.
Now it's created when the decoder starts and it's flagged.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6089 >
2024-02-10 17:17:23 +00:00
Seungha Yang
36c4ef361b
d3d12: Add VP8 decoder
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6088 >
2024-02-10 21:23:51 +09:00
Seungha Yang
e2eff3e4a3
d3d12decoder: Fix bitstream buffer usage
...
Resource state of a buffer in upload heap should stay in
generic-read although it's effectively in common state. Some drivers
complains about the wrong state.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6088 >
2024-02-10 21:23:28 +09:00
Seungha Yang
b3a29b61c5
dxvavp8decoder: Fix reference frame setting
...
Fixing typo
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6088 >
2024-02-10 21:18:44 +09:00
Tim-Philipp Müller
9fe9e60012
aja: suppress compiler warnings for aja ntv2 subproject
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6087 >
2024-02-10 10:10:06 +00:00
Seungha Yang
c5e241932c
amfcodec: Update plugin cache
...
Adding AV1 encoder documentation (added in 1.22) with various
new properties
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6084 >
2024-02-10 01:18:27 +00:00
Jonas K Danielsson
87ab5adf7e
meson: srt: make sure srt_dep is defined
...
Without this we will get errors when we try to build with srt disabled.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6082 >
2024-02-09 17:45:29 +00:00
Xavier Claessens
561f8b71ee
structure: Allow STRICT flag only in _serialize_full()
...
The STRICT flag makes _serialize() nullable which is an API break for
bindings. Forbid it and add _serialize_full() that accepts it and is
properly annotated.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5829 >
2024-02-09 15:45:33 +00:00
Sebastian Dröge
2c8f232d79
sdpdemux: Add SDP message (aka session) attributes to the caps too
...
They apply to all medias, and if overridden by the specific media then
they would also be overridden just below in the created caps.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6079 >
2024-02-09 14:54:29 +00:00
Seungha Yang
b4ee86d1e7
ksdeviceprovider: Fix crash while probing device caps
...
Ignore unexpected media type reported by driver, instead of abort
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6081 >
2024-02-09 14:09:07 +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