Nicolas Dufresne
e890e6e8d8
v4l2: Fix use after free of fmtdesc
...
The decoder needs to force another enumeration of the format. For
this it was clearing the v4l2object insternal list, leaving a fmtdesc
pointer pointing to freed memory. This patch clears the fmtdesc pointer
that has just been free. It also makes sure the probe function does not
use the cached formats list. The probe function will restore the current
fmtdesc pointer based on the currently configured pixelformat.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4317 >
2023-04-13 15:32:14 +00:00
Nicolas Dufresne
3a17200638
v4l2: videodec: Prefer acquired caps over anything downstream
...
As we don't have anything smart in the fixation process, we may endup with
a format that has a lower bitdepth, even if downstream can handle higher
depth. it is notably the case when negotiating with deinterlace, which places
is non-passthrough caps before its passthrough one. This makes the generic
fixation prefer the formats natively supported by deinterlace element over
the HW 10bit format. As some HW can downscale 10bit to 8bit, this can break
10bit decoding.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4317 >
2023-04-13 15:32:13 +00:00
Nicolas Dufresne
89854fd2f3
v4l2: videodec: Remove leading space in comment
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4317 >
2023-04-13 15:32:13 +00:00
Sebastian Dröge
6378ebbdcd
ptp-helper: Add a feature option for the PTP support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4410 >
2023-04-13 12:43:25 +00:00
Sebastian Dröge
2e84603b02
ptp-helper: Convert various meson message() to warning()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4410 >
2023-04-13 12:43:25 +00:00
Sebastian Dröge
7cba04f2c6
ptp-helper: Don't check for a Rust compiler on unsupported platforms
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4410 >
2023-04-13 12:43:25 +00:00
Sebastian Dröge
b35d598003
ptp-helper: Check for the required Rust toolchain version via meson
...
If an older version is found that gives a more useful output than a
compiler error at a later time.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4410 >
2023-04-13 12:43:25 +00:00
Seungha Yang
acdf70e576
pluginloader-win32: Fix for pipe connection error
...
Don't error out on WAIT_IO_COMPLETION. It means queued APC job
was executed but the job may not be our callback.
For example, user or system might be able to schedule APC on
gst_init() thread or so.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4405 >
2023-04-13 07:08:09 +00:00
Tim-Philipp Müller
bbb0a30f32
docs: update old gstreamer-sdk media urls
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4406 >
2023-04-13 03:20:36 +00:00
Jan Alexander Steffens (heftig)
ac83e121a7
imagesequencesrc: Properly set default location
...
Noticed this because the generic_states test kept segfaulting at random.
GLibC 2.37 can crash when NULL is supplied as a format string.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4109 >
2023-04-13 01:55:23 +00:00
Sebastian Dröge
16ce61fb57
gst: tracer: Initialize tracing infrastructure even if the debug system is not compiled in
...
There is a separate #define for the tracing infrastructure.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2467
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4402 >
2023-04-13 01:14:18 +00:00
Seungha Yang
af86c4b80e
d3d11videosink: Remove pointless GetDC call
...
We don't use the Win32 device context handle at all.
Removing code which was copied from GL code blindly
in early d3d11 implementation stage a long time ago
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4407 >
2023-04-12 19:54:31 +00:00
Tim-Philipp Müller
b020d399cb
multifile: error out if no filename was set
...
Fixes #2483
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4404 >
2023-04-12 18:55:26 +00:00
Michael Olbrich
fe6b76c64e
srtpdec: fix "srtp-key" check
...
The original code was:
if (!gst_structure_get (s, "srtp-key", GST_TYPE_BUFFER, &buf, NULL) || !buf) {
goto error;
} else {
stream->key = buf;
}
So use "srtp-key" if it is set so a non NULL buffer. The condition was
incorrectly inverted in ad7ffe64a6
to:
if (gst_structure_get (s, "srtp-key", GST_TYPE_BUFFER, &buf, NULL) || !buf) {
stream->key = buf;
} ...
Fix the condition so it works as originally intended and avoid accessing
'buf' uninitialised.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4401 >
2023-04-12 18:16:21 +00:00
Jan Alexander Steffens (heftig)
77bc9b4a33
tests: allocators: Fix fdmem test with recent GLib
...
The test failed with recent GLib, where `g_close` emits a critical
warning on EBADF. Remove the `g_close` check from `test_fdmem` and add
another version that tests `GST_FD_MEMORY_FLAG_DONT_CLOSE`.
We will depend on the Valgrind test run to warn us about leaked FDs.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2480
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4381 >
2023-04-12 17:17:37 +00:00
Seungha Yang
9489fb3f54
sdpdemux: Add support for RFC4570 SDP source filters
...
Parse source-filter attributes and configure udpsrc accordingly
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3485 >
2023-04-12 16:32:07 +00:00
Seungha Yang
5765eb8dce
sdpmessage: Don't set "source-filter" to caps
...
Multiple "source-filter" can exist, and it requires special handling
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3485 >
2023-04-12 16:32:07 +00:00
Seungha Yang
3374f2f44d
udpsrc: Add support for IGMPv3 SSM
...
Adding "multicast-source" property to support Source Specific Muliticast
RFC 4604. The source can be multiple address with '+' (for positive
filter) or '-' (negative filter) prefix, or URI query can be used.
Note that negative filter is not implemented yet and it will be
ignored
Example:
gst-launch-1.0 uridecodebin \
uri=udp://{ADDRESS}:PORT?multicast-source=+SOURCE0+SOURCE1
Inspired by:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2620
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3485 >
2023-04-12 16:32:07 +00:00
Thibault Saunier
5797fa09af
codectimestamper: Implement QUERY_CAPS support
...
This is required to ensure that downstream restrcitions are also
propagated upstream.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4341 >
2023-04-12 15:07:28 +00:00
Thibault Saunier
dbc6afd874
codectimestamper: Use accept-intersect and accept-template caps
...
We should behave similarly to video parsers so we can use:
- accept-template as we can also accept caps with missing fields.
- accept-intersect to do quick check with the pad template caps as it is
enough. Users should have figured the appropriate full caps on a
previous caps query
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4341 >
2023-04-12 15:07:28 +00:00
Thibault Saunier
6646184791
validate: flow: Handle ignored fields for caps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4341 >
2023-04-12 15:07:28 +00:00
Seungha Yang
9be36adaa3
cea608mux: Add support for seeking
...
The "start_time" should be cleared per flush in order to apply
new offset time to each output buffer. Also, input running time
must be compared with output running time, not output position.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4398 >
2023-04-12 08:57:03 +00:00
Seungha Yang
a3fd3ad4d7
cea608mux: Implement GstAggregator::clip
...
Drop buffers if it's outside of segment
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4398 >
2023-04-12 08:57:03 +00:00
Guillaume Desmottes
df3b2e2d41
adaptivedemux2: fix critical when using an unsupported URI
...
adaptivedemux2 only supports http(s), trying to use it with, say,
file:// was raising a CRITICAL in libsoup.
Fix #2476
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4396 >
2023-04-12 06:33:39 +00:00
Arun Raghavan
d0d40c7845
x264enc: Check more video info fields to decide whether to reconfigure encoder
...
The encoder is also initialised using interlace mode, colorimetry, chroma-site
and multiview mode, so let's make sure we only skip reinitialising the encoder
in set_format() if none of those have changed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4395 >
2023-04-12 00:24:25 +00:00
Matthias Fuchs
15b7c7ea25
glvideoflip: fix leaked caps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4394 >
2023-04-11 21:31:45 +00:00
Matthias Fuchs
769cc48e49
glcontext_wgl: fix missing unref
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4392 >
2023-04-11 20:05:17 +00:00
Matthias Fuchs
884dbb4ace
qtwindow: unref caps in destructor
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4393 >
2023-04-11 18:39:02 +00:00
Philippe Normand
4e4cb3bcf5
glbasesrc: Reverse order of error/debug messages
...
Addressing follow-up review from Tim in !4222 , the first string is meant to be
shown to the user and should be translatable. The second one is more suited for
debugging purposes and should not be translated.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4389 >
2023-04-11 12:28:27 +01:00
Tim-Philipp Müller
da4aa00d5b
gst-plugins-base: update translations
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4388 >
2023-04-11 09:21:18 +00:00
Tim-Philipp Müller
f7fd71be89
gstreamer: update translations
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4388 >
2023-04-11 09:21:18 +00:00
Mengkejiergeli Ba
471f3b3b93
msdkcontext: Remove unused codes in msdkcontext
...
We don't maintain three list (i.e. avail, locked and used) surfaces
as the old way did to achieve memory management, so remove the
correcponding codes for old memory management.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4276 >
2023-04-11 06:59:33 +00:00
Mengkejiergeli Ba
ec2ef6e2d3
msdk: Remove unused gstmsdkbufferpool and memory
...
GstMsdkBufferPool, GstMsdkVideoMemory and GstMsdkSystemMemory are no
longer used in msdk plugins, instead we use va/d3d11 pool for memory
allocation. So, remove the codes of unused stuffs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4276 >
2023-04-11 06:59:33 +00:00
Mengkejiergeli Ba
ef1397cbe3
msdk: Remove the func gst_msdk_is_msdk_buffer
...
Since we use va/d3d11 pool to allocate memory, the old msdk bufferpool
stuffs are not used anymore, so we don't need to check if an input
buffer is msdk buffer using gst_msdk_is_msdk_buffer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4276 >
2023-04-11 06:59:33 +00:00
Edward Hervey
0fa3c5c561
typefindhelper: Avoid dead assignment
...
Move variables within the loop (where they are actually used)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4387 >
2023-04-11 07:23:48 +02:00
Tim-Philipp Müller
a40c38eddf
avmux: fix element leak
...
Fixes #2473
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4384 >
2023-04-10 18:06:17 +01:00
Tim-Philipp Müller
c723d9a1e0
avdeinterlace: fix element leak
...
Fixes #2473
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4384 >
2023-04-10 17:59:30 +01:00
Seungha Yang
bb5c151336
h264decoder: Enable low-latency bumping in case of pic_order_cnt_type 2
...
In case of POC type 2, output order is equal to decoding order
(no frame reordering)
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2447
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4357 >
2023-04-10 13:42:31 +00:00
Seungha Yang
73daa0e0ad
h264decoder: Fix for latency report
...
The minimum latency answered by an element should be the maximum
latency from the element's perspective. Also consider max_reorder_frames
update as a sequence change
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4357 >
2023-04-10 13:42:31 +00:00
Seungha Yang
e0c2578f73
h264decoder: Ignore invalid max_num_reorder_frames in VUI
...
It's not fatal and can be ignored
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4357 >
2023-04-10 13:42:31 +00:00
Seungha Yang
f439481d8e
h265decoder: Fix for latency report when src caps is not configured
...
Depending on subclass, negotiation might not happen on new_sequence()
Fixing regression introduced by the commit
4a4823b972
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4357 >
2023-04-10 13:42:31 +00:00
Seungha Yang
560fd4834c
h264decoder: Fix for latency report when src caps is not configured
...
Depending on subclass, negotiation might not happen on new_sequence()
Fixing regression introduced by the commit
4a4823b972
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4357 >
2023-04-10 13:42:31 +00:00
Wang Chuan
d7d0c969df
gstd3d11window: fix memory leak
...
GstStructure may leak when using external HWND
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4373 >
2023-04-10 12:12:27 +00:00
Edward Hervey
7e619f7e83
twcc: Better handle duplicate packets
...
The previous code would only check if two packets in a row were duplicates. If
not (i.e. a packet is a duplicate of a packet received slightly before) the code
would generate completely bogus FCI because it assumes there were no duplicates
present in the array.
In order to be efficient, just store all received packets and remove the
duplicates just before the FCI is generated once the array of observations have
been sorted by seqnum.
Fixes TWCC usage with moderate to high packet duplication.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4328 >
2023-04-10 09:37:51 +00:00
Seungha Yang
ba8f944df7
amfencoder: Set output DTS
...
AMF runtime does not provide correct DTS. Although GetPts() seems to
be returning DTS, it still needs to be adjusted to meet DTS <= PTS
requirement. Do calculate DTS in baseclass instead
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4092 >
2023-04-08 23:11:32 +09:00
Evgeny Pavlov
6f62128433
amfcodec: Add options for B-frames for amfh264enc plugin
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4092 >
2023-04-08 23:11:28 +09:00
Seungha Yang
7117cba831
decklinkaudiosink: Fix playback when video caps is configured before audio
...
Scheduled playback starts on videosink's state change or on caps
but it's possible that audiosink is configure without caps yet.
Try start scheduled playback on audiosink's caps event as well
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4364 >
2023-04-07 18:59:17 +00:00
Dario Marino Saccavino
07cf7b2a29
wasapi2: Add option to monitor loopback device's mute state
...
When loopback recording from a render device, the wasapi2src element
captures audio even if the device is muted. This change adds the
'loopback-silence-on-device-mute' property that, when set to `true`,
causes wasapi2src to inject silence in the pipeline when
the device is muted.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1306
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4337 >
2023-04-07 17:19:33 +00:00
Sebastian Dröge
9d25a5075e
ptp-helper: Set a process priority / nice value of -5 on UNIX platforms
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3889 >
2023-04-07 15:49:02 +00:00
Sebastian Dröge
572d344482
ptp-helper: Set thread priority to time-critical on Windows
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3889 >
2023-04-07 15:49:02 +00:00