Seungha Yang
8ec4452d67
h264decoder: Fix for unhandled low-delay decoding case
...
Baseclass calls get_preferred_output_delay() in a chain of
sequence header parsing and then new_sequence() is called
with required DPB size (includes render-delay) information.
Thus latency query should happen before the sequence header
parsing for subclass to report required render-delay accordingly
via get_preferred_output_delay() method.
(e.g., zero delay in case of live pipeline)
This commit is to fix wrong liveness signalling in case of
upstream packetized format.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2363 >
2022-05-05 14:54:54 +00:00
Seungha Yang
ad136cb2c5
h265decoder: Fix for unhandled low-delay decoding case
...
Baseclass calls get_preferred_output_delay() in a chain of
sequence header parsing and then new_sequence() is called
with required DPB size (includes render-delay) information.
Thus latency query should happen before the sequence header
parsing for subclass to report required render-delay accordingly
via get_preferred_output_delay() method.
(e.g., zero delay in case of live pipeline)
This commit is to fix wrong liveness signalling in case of
upstream packetized format.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2364 >
2022-05-05 14:10:39 +00:00
Seungha Yang
58c94eed84
nvh264dec,nvh265dec: Don't realloc bitstream buffer per slice
...
Allocated memory size has not been updated which results in
realloc per slice. Fixing it and also release bitstream buffer
on ::close(), not finalize.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2361 >
2022-05-05 12:15:27 +00:00
Edward Hervey
db758558e3
multiqueue: Increase initial interleave growth rate
...
In the case where not all streams have received any data, growing the interleave
by only 100ms is too restrictive and would cause some (valid) mpeg-ts streams to
hang.
Bump up the interleave growth rate for those use-cases to 500ms per input (still
up to the limit of 5s).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2370 >
2022-05-05 09:02:05 +02:00
Jakub Adam
03b6dab006
d3d11screencapture: Set viewport when drawing mouse cursor
...
If there weren't any moved/dirty regions in the captured frame, the
viewport of the ID3D11DeviceContext would be left at whatever previous
value it had, which could lead to the cursor being drawn in a wrong
position and/or in an incorrect size.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2362 >
2022-05-04 17:18:32 +02:00
Matthew Waters
f4f342aa78
wavparse: ensure that any pending segment is sent before an EOS event is sent
...
Specifically fixes seqnum handling when an aggregator-based element
(audiomixer et al) is downstream and a seek is performed that
immediately causes an EOS from wavparse.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2356 >
2022-05-04 08:00:02 +00:00
Edward Hervey
17aa70b888
parsebin: Don't modify inexistant GstStream
...
When handling exposing un-handled streams, we can only replace the GstStream for
those we are creating ourselves (i.e. the fallback collection).
Fixes assertions when the demuxer creates those streams
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2353 >
2022-05-04 07:26:39 +00:00
Edward Hervey
4be8b1b0a1
playbin3: Don't use unknown types for default selection
...
When creating a fallback default selection from a collection, don't attempt to
use unknown stream types
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2353 >
2022-05-04 07:26:39 +00:00
Olivier Crête
0e0c14c822
subprojects: Update libnice to 0.1.19
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2354 >
2022-05-03 18:49:36 -04:00
Seungha Yang
33e77782c6
nvcodec: Add AV1 decoder
...
Adding GstCodecs based AV1 decoder element
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1453 >
2022-05-04 01:23:25 +09:00
Seungha Yang
07cd1dcc6b
av1decoder: Add support for render delay
...
Sync up with other decoder baseclass implementations
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1453 >
2022-05-04 01:23:25 +09:00
Seungha Yang
1b4121fded
av1decoder: Hold OBU temporal and spatial id in picture struct
...
NVDEC API requires the information
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1453 >
2022-05-04 01:23:11 +09:00
Seungha Yang
1444dd91c5
meson: nvcodec: Remove unnecessary override option and fix build with non-MSVC
...
cpp_std=c++11 was hack for macOS build but we don't build this plugin
for Apple device anymore. And add "-Wno-deprecated-declarations"
compile option for gcc/clang
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1453 >
2022-05-04 01:10:07 +09:00
Seungha Yang
fe4d6bb469
nvcodec: Bump SDK header version to 11.1
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1453 >
2022-05-03 23:56:34 +09:00
Seungha Yang
29aab904a8
nvdecoder: Handle DPB size margin in a single place
...
... instead of each subclass
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2343 >
2022-05-03 14:17:49 +00:00
Seungha Yang
a8b2fbf77f
d3d11decoder: Handle DPB size margin in a single place
...
... instead of each subclass
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2343 >
2022-05-03 14:17:49 +00:00
Seungha Yang
6a4c42c03f
codecs: Signal required DPB size for AV1,MPEG2,VP8, and VP9 via new_sequence()
...
Make all codecs consistent so that subclass can know additional DPB
size requirement depending on render-delay configuration regardless
of codec. Note that render-delay feature is not implemented for AV1
yet but it's planned.
Also, consider new_sequence() is mandatory requirement, not optional
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2343 >
2022-05-03 14:17:49 +00:00
Sebastian Dröge
2eee3f4ca4
audioconvert: If no channel-mask can be fixated then use a NONE channel layout
...
Otherwise this is generating caps without a channel-mask, which is
invalid for >1 channels and will always fail negotiation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2350 >
2022-05-03 13:41:07 +03:00
Nicolas Dufresne
f35a507b19
doc: Update cache for NV12_4L4 and NV12_16LE32 gl support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190 >
2022-05-02 19:10:43 +00:00
Nicolas Dufresne
79ea87f256
opengl: Add NV12_4L4 conversion support
...
This format is produced notably by Hantro G1/G2 HW. Using a shader instead of
the Hantro embedded converter helps reduce drastrictly the memory usage at a
relatively small GPU overhead.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190 >
2022-05-02 19:10:43 +00:00
Nicolas Dufresne
39615e4f3c
opengl: Add NV12_16L32S conversion support
...
This adds a first detiling shader with initial support for
NV12_16L32S as produced by Mediatek decoders.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190 >
2022-05-02 19:10:43 +00:00
Nicolas Dufresne
77a88c4572
glsl: Enable GLSL 1.30 if we have OpenGL 3.0/3.1
...
As implemented, we only support OpenGL 3 API from version 3.2. Though, there
is no issue enabling GLSL 1.30 even if we are going to restrict our API usage
to 2. This allows using texelFetch() on OpenGL 3.0 and 3.1 drivers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190 >
2022-05-02 19:10:43 +00:00
Nicolas Dufresne
4b4d607f4c
opengl: Add low level support for tiled formats
...
This adds support for tiled format in stride and plane size
code.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190 >
2022-05-02 19:10:43 +00:00
Nicolas Dufresne
ab839f3642
v4l2codecs: Port to the new tile size helper
...
This will complete the scaling of width/height shift scaling
as only a partial implementation was made.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190 >
2022-05-02 19:10:43 +00:00
Nicolas Dufresne
6a6c3687f1
video: Port video frame to the new tile size helper
...
This is now moved to the library, so it can be used in multiple
places.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190 >
2022-05-02 19:10:43 +00:00
Nicolas Dufresne
8fcfc44c15
video: Add a helper to get the tile size information
...
Since the addition of tiling format with subsampled tile size
(NV12_16L32S), getting the tile width/height shifts and tile
size have become more complex. Add a helper to extract and
scale this information for the selected plane and format.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190 >
2022-05-02 19:10:43 +00:00
Nicolas Dufresne
04339c8df5
eglimage: Add missing NV21/61 support
...
Caps would allow that, but selecting this format would lead to
an "no reached" assertion in the code.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190 >
2022-05-02 19:10:43 +00:00
Thibault Saunier
dd585ecfcc
cuda: Fix introspection warnings
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1183
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2344 >
2022-05-02 18:30:22 +00:00
Seungha Yang
1fb3804408
Revert "cuda: Fix GstCudaContext refcount bug"
...
This reverts commit df7ee0e215
.
We should not unref it since gst_message_new_have_context()
takes ownership of the GstContext.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2342 >
2022-05-02 17:19:13 +00:00
Tim-Philipp Müller
5687568144
filesink: fix handling of non-existing paths with musl
...
Fixes #1194
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2341 >
2022-05-02 16:46:44 +00:00
Edward Hervey
89780341e8
tsdemux: Demote warning to simple debug
...
That issue is actually handled, so don't pollute the logs with such warning.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2340 >
2022-05-02 09:15:57 +02:00
Tim-Philipp Müller
1fbf1b30b3
registry: skip Rust dep builddirs when searching for plugins recursively
...
These artefacts confuse the plugin scanner and may cause noisy warnings
(and slow down things).
Fixes https://gitlab.freedesktop.org/gstreamer/gst-build/-/issues/68
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2146 >
2022-04-30 08:48:22 +00:00
Sebastian Dröge
bf89c80d74
interlace: Also handle a missing "interlace-mode" field as progressive
...
Otherwise caps negotiation will fail in situations that are supposed
to work, like:
"video/x-raw,framerate=(fraction)60/1" ! interlace field-pattern=0 ! "video/x-raw,framerate=(fraction)30/1"
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2335 >
2022-04-29 23:08:50 +00:00
Sebastian Dröge
c7db9ce70b
interlace: Add some more debug output to the getcaps function
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2335 >
2022-04-29 23:08:50 +00:00
Myles Inglis
df7ee0e215
cuda: Fix GstCudaContext refcount bug
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2334 >
2022-04-29 22:22:25 +00:00
Ludvig Rappe
26263c194e
webrtc: Fix memory leak in icestream
...
Since both g_value_set_object() and g_weak_ref_get() takes a reference
there will be two new references to the GstWebRTCICE object when there
should be only one. g_value_take_object() has the same functionality as
g_value_set_object() but does not take a reference.
Without this change, the GstWebRTCICE object will be leaked.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2333 >
2022-04-29 21:52:43 +00:00
Seungha Yang
9cd6f9d51e
cuda: Correct CUDA device id field in GstContext structure
...
device id is unsigned int, not signed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2311 >
2022-04-29 21:21:04 +00:00
Sebastian Dröge
7466444b63
rtpjitterbuffer: Free CNAME/SSRC mappings on finalize and PAUSED->READY
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2336 >
2022-04-29 23:33:47 +03:00
Sebastian Dröge
2c405da921
rtpmanager: Refactor RTCP packet loops to fix control flow
...
Mixing C loops with switch statements is a bad idea as break has a
different meaning in both. Breaking inside the switch statements wrongly
caused further loop iterations.
Instead use goto to get out of the loop and continue to do another loop
iteration, and never ever use break except for the end of a case.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2336 >
2022-04-29 23:13:15 +03:00
Seungha Yang
6619f1611f
rtpjitterbuffer: Initialize variables
...
Avoid use of uninitialized variable
Fixing MSVC warning
gstrtpjitterbuffer.c(4733) : warning C4700: uninitialized local variable 'have_sdes' used
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2315 >
2022-04-28 12:37:13 +00:00
Víctor Manuel Jáquez Leal
245e5e3dfd
codecs: h265decoder: Fix documentation.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2328 >
2022-04-28 11:58:20 +00:00
Edward Hervey
7c9eb0335f
mssdemux2: Don't expose/use streams we can't handle yet
...
Avoids issues further down
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2319 >
2022-04-28 10:45:37 +00:00
Edward Hervey
2ec79418df
mssdemux2: Ensure stream/track uniqueness
...
If there is more than one track of the same type (say audio), we would end up
creating several stream/types with the same name.
Instead use the MSS stream name property to make them unique
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2319 >
2022-04-28 10:45:37 +00:00
Edward Hervey
10f72da504
mpegts: Handle "empty" PMT gracefully
...
Some streams have 2 PMT sections in a single TS packet. The first one is "valid"
but doesn't contain/define any streams. That causes an unrecoverable issue when
we try to activate the 2nd (valid) PMT.
Instead of doing that, pre-emptively refuse to process PMT without any streams
present within. We still do post that section on the bus to inform applications.
Fixes #1181
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2310 >
2022-04-28 09:36:54 +00:00
Stéphane Cerveau
853963ba21
pythonplugin: fails silently on plugin issue
...
If a gst python plugin fails to load, the meta plugin
should continue to try loading the following.
If no plugin can be loaded, the meta plugin should
not be blacklisted by returning false.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2253 >
2022-04-28 08:57:47 +00:00
Stéphane Cerveau
fcc6fa21e9
srtp: fix flaky unit test
...
Use different port for each test to avoid other UDP
packet to be received.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2294 >
2022-04-28 07:53:19 +00:00
Philippe Normand
b8e3d167ea
videodecoder: release stream lock after handling gap events
...
The stream lock is taken before handling gap events but was not released in all
possible runtime situations. This issue was introduced in:
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1274
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2307 >
2022-04-28 07:12:28 +00:00
Matthew Waters
0f9f179bec
subparse: don't deref a potentially NULL variable
...
If the html SAMI data is malformed, then retrieving the attribute name
may fail. We then cannot retrieve the attribute value.
Fixes: https://oss-fuzz.com/testcase-detail/4700130671984640
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2317 >
2022-04-28 15:35:12 +10:00
Seungha Yang
4047653275
d3d11h265dec: Assign PRIMARY + 1 rank
...
Promote d3d11h265dec to be default one if available
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2314 >
2022-04-27 20:06:53 +00:00
Seungha Yang
dce45586e8
nvvp9sldec: Increase DPB size to cover render delay
...
This should've included in the previous MR
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/987
already, but missed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2313 >
2022-04-27 18:35:07 +00:00