Seungha Yang
53dc1b96e2
d3d11compositor: Reconfigure resource only when output caps is changed
...
GstD3D11Converter setup is heavy operation since it requires
shader compile, GPU resource allocation, some math, mutex, etc.
We can avoid it if negotiated caps is not changed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4439 >
2023-04-17 17:30:26 +00:00
Seungha Yang
52cb42f4bb
deinterlace: Add support for high bitdepth planar YUV formats
...
Add C implementation for high bitdepth planar YUV formats
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1476 >
2023-04-18 01:32:25 +09:00
Seungha Yang
aabe9136f6
deinterlace: yadif: Prettify indentation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1476 >
2023-04-18 01:25:45 +09:00
Seungha Yang
c883ab593c
d3d11: Add d3d11overlay element
...
Similar to cairooverlay element but this element emits "draw"
signal with Direct3D11 render target view, so that an application
can render/overlay/blend on the given render target view
without any copy operation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4415 >
2023-04-17 23:22:57 +09:00
Seungha Yang
3d6a609590
d3d11compositor: Add "ignore-inactive-pads" property
...
Same as compositor element
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4438 >
2023-04-17 13:19:15 +00:00
Seungha Yang
7eefdd1b95
d3d11compositor: Skip zero alpha input
...
Blending such input is a waste of resource since nothing will
be rendered
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4438 >
2023-04-17 13:19:15 +00:00
Sebastian Dröge
83106de7e7
video: timecode: Add support for framerates lower than 1fps
...
These are not explicitly defined but the existing calculations can be
extended to also cover that case by inverting them to avoid floating
point calculations.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2465
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4374 >
2023-04-17 10:26:11 +00:00
Edward Hervey
4c6f41a00a
qtdemux: Fix av1C parsing
...
This is a regression introduced by
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3882
The av1c codec configuration parsing would always fail due to an off-by-one
error, the content of an atom starting at offset 8 (i.e. the 9th byte) and not
9 (the 10th byte).
Also introduce a break in order to not get stray warnings
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4433 >
2023-04-17 09:28:43 +02:00
Yinhang Liu
75af296b82
msdkvpp: Enable dynamic capability support
...
Enable dynamic capability support for msdkvpp. The gstmsdkvpp
element can create the sink caps and src caps dynamically for
different platforms.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4177 >
2023-04-17 05:24:06 +00:00
Yinhang Liu
b1ebe93eb2
msdkvpp: Add function to dynamically create sink caps and src caps
...
We need to create the sink caps and src caps dynamically for different
platforms. By default, the vpp init function create static pad template
and the compatibility and flexibility of the platform are too poor.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4177 >
2023-04-17 05:24:06 +00:00
Yinhang Liu
bfbde5ce22
msdkdec: Enable dynamic capability support
...
Enable dynamic capability support for msdkav1dec, msdkh264dec,
msdkh265dec, msdkmjpegdec, msdkmpeg2dec, msdkvc1dec, msdkvp8dec,
msdkvp9dec.
The gstmsdkdec elements can create the sink caps and src caps
dynamically for different platforms.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4177 >
2023-04-17 05:24:06 +00:00
Yinhang Liu
aa59d9828f
msdkdec: Add function to dynamically create sink caps and src caps
...
We need to create the sink caps and src caps dynamically for different
platforms. By default, the dec init function create static pad template
and the compatibility and flexibility of the platform are too poor.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4177 >
2023-04-17 05:24:06 +00:00
Yinhang Liu
a4fc1c5031
msdkenc: Add documented capabilities to expose "stable" caps
...
Although msdkenc supports dynamic caps, it still needs to expose
"stable" caps to users.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4177 >
2023-04-17 05:24:06 +00:00
Yinhang Liu
da4b6f17cf
msdkenc: Support image formats in low power mode for sink caps
...
There are some special image formats in low power mode, these
image formats should be supported in sink caps.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4177 >
2023-04-17 05:24:06 +00:00
Yinhang Liu
3cb9c34030
msdkenc: Remove static templates in format setting
...
The elements have supported dynamic capability query, and it is not
necessary to refer the static templates.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4177 >
2023-04-17 05:24:06 +00:00
Yinhang Liu
30d3ce3a9e
msdkenc: Enable dynamic capability support
...
Enable dynamic capability support for msdkav1enc, msdkh264enc,
msdkh265enc, msdkmjpegenc, msdkvp9enc, msdkmpeg2enc.
The gstmsdkenc elements can create the sink caps and src caps
dynamically for different platforms.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4177 >
2023-04-17 05:24:06 +00:00
Yinhang Liu
7aa0b29da8
msdk: Add function to specify string array parameters
...
Sometimes it is necessary to manually specify string parameters
of multiple options, such as format, interlace-mode, etc.
Add function to support this requirment.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4177 >
2023-04-17 05:24:06 +00:00
Yinhang Liu
1f8d939559
msdkenc: Add function to dynamically create sink caps and src caps
...
We need to create the sink caps and src caps dynamically for different
platforms. By default, the enc init function create static pad template
and the compatibility and flexibility of the platform are too poor.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4177 >
2023-04-17 05:24:05 +00:00
Yinhang Liu
3f47cdaee8
msdk: add function to get the format list
...
This static format list will be used to check the formats
supported by the platform.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4177 >
2023-04-17 05:24:05 +00:00
Yinhang Liu
97e081c9d6
msdk: Register elements based on the codecs supported by the platform
...
By default, msdk plugin will register all encoders and decoders
on any platform, even unsupported encoders and decoders will be
registered. Dynamically register encoders and decoders besed on
the supported codecs on different platforms.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4177 >
2023-04-17 05:24:05 +00:00
Yinhang Liu
f773752bd8
msdk: Add function to get the implementation description
...
Through the implementation description, we can dynamically obtain
the codec capabilities supported by the platform.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4177 >
2023-04-17 05:24:05 +00:00
Yinhang Liu
34a812a0c0
msdk: Add functions to get data members from MsdkSession
...
When getting mfxImplDescription, these data members need to
be used.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4177 >
2023-04-17 05:24:05 +00:00
Yinhang Liu
6242fca526
msdk: Create msdk context without job_type
...
The job_type is not necessary when creating a normal msdk
context. Make the APIs for creating context more flexible.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4177 >
2023-04-17 05:24:05 +00:00
Yinhang Liu
dafb801a18
msdk: Move all _gst_caps_has_feature to gstmsdkcaps.c
...
_gst_caps_has_feature is used by all msdk elements, so
move it to gstmsdkcaps.c
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4177 >
2023-04-17 05:24:05 +00:00
Mathieu Duponchelle
5ac9cf2b60
ci: bump hotdoc dependency
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4408 >
2023-04-13 21:46:59 +00:00
Mathieu Duponchelle
9072424eb3
symbol_index: update with late additions
...
Those symbols were just marked as plugin API but existed already,
we accept that they don't have Since markers
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4408 >
2023-04-13 21:46:59 +00:00
Mathieu Duponchelle
be208b9f50
docs: mark GstVideoConvertScale as plugin API
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4408 >
2023-04-13 21:46:59 +00:00
Mathieu Duponchelle
6c25caa572
docs: mark GstSRTSink and GstSRTSrc as plugin API
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4408 >
2023-04-13 21:46:59 +00:00
Mathieu Duponchelle
6a27fe8955
docs: mark GstRTPMux as plugin API
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4408 >
2023-04-13 21:46:59 +00:00
Mathieu Duponchelle
15102e2eef
docs: mark GstGLSinkBin as plugin API
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4408 >
2023-04-13 21:46:59 +00:00
Nicolas Dufresne
2e76371666
v4l2: Fix use after free of fmtdesc part 2
...
Add missing code in merge commit e890e6e8d8
("v4l2: Fix use after free of fmtdesc"). The v4l2object code was
missing.
Related to https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4317
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4411 >
2023-04-13 13:54:32 -04:00
Andoni Morales Alastruey
083da950f4
vscode: add VSCode IDE integration
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1386 >
2023-04-13 16:36:09 +00:00
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