Seungha Yang
74b7493fd3
h264decoder: Drop nonexisting picture silently without error
...
If end_picture() was not successful, we do drop corresponding
GstVideoCodecFrame and therefore gst_video_decoder_get_frame()
will return nullptr which is expected behavior.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4561 >
2023-05-09 17:02:48 +00:00
Yinhang Liu
cb5c0e47c8
msdk: Remove unreachable statement
...
The execution cannot reach the statement: "gst_caps_unref(dma_caps);",
so remove it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4449 >
2023-05-09 05:57:06 +00:00
Philippe Normand
b75114983e
webrtcdatachannel: Bind to parent webrtcbin using a weak reference
...
The previous approach of using a simple pointer could lead to a use-after-free
in case a data-channel was created and its parent webrtcbin was disposed soon
after.
Fixes #2103
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4160 >
2023-05-08 19:20:22 +00:00
Matthew Waters
8ca6547f49
webrtc/nice: support consent-freshness RFC7675
...
As is supported by libwebrtc already. This allows ICE components to
transition to failed if consent to send from the peer is revoked or if
multiple consent packets are lost.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4542 >
2023-05-08 13:50:44 +00:00
Seungha Yang
4449881b08
d3d11: Add support for IPC
...
Adding d3d11ipcsrc and d3d11ipcsink elements so that Direct3D11 textures
can be shared between processes
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4514 >
2023-05-06 03:19:09 +09:00
Seungha Yang
7b6f7e6e36
d3d11memory: Don't clear wrapped texture memory
...
The external texture may hold already rendered scene and therefore
it should not be cleared in alloc method
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4554 >
2023-05-05 13:18:06 +00:00
Ruben Gonzalez
7d9747490b
onnx: Fix typo in documented pipeline
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4552 >
2023-05-05 13:16:42 +02:00
Víctor Manuel Jáquez Leal
6258914b1d
vkdebug: fix type compilation warning
...
Since VkMemoryHeapFlagBits is an enum, while VkMemoryHeapFlags is the expected
alias of VkFlags.
This issue is spotted by warning of gcc 13.1.1
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4547 >
2023-05-05 10:05:40 +00:00
Seungha Yang
ddcc5676d3
mfvideoenc: Allow only even resolution numbers
...
Some H/W vendors support odd resolution if D3D11 texture is used
or via IMF2DBuffer, but not all vendors support it.
Also software MFT does not allow odd resolution.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1165
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2537
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4540 >
2023-05-04 18:06:45 +00:00
Philippe Normand
4db12345d1
webrtcbin: Fix potential deadlock when closing before any data was sent
...
A blocking pad probe is added on new sink pads, it's usually removed after the
caps have been negotiated or the signaling state switched to stable, but if that
never happens and the pad is released we kept the pad probe active, leaving the
pad blocked, preventing clean disposal.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4529 >
2023-05-03 02:29:31 +00:00
Guillaume Desmottes
5a7ed3c89d
srt: assert instead of segfault when passing no error to ERROR_TO_WARNING
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4524 >
2023-05-02 21:01:45 +00:00
Guillaume Desmottes
3a5510f61c
srt: fix segfault if send_headers() failed
...
The error handling code was assuming that 'internal_error' was set,
while we were passing the caller GError.
The internal error is already propagated to the caller later on.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4524 >
2023-05-02 21:01:45 +00:00
Philippe Normand
d9c853f165
dtlstransport: Keep strong ref of dtls encoder/decoder
...
Otherwise get_property() calls for the client, certificate and/or
remote-certificate properties might access moved objects, since the encoder and
decoder are added to the transportsendbin.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4519 >
2023-05-02 03:54:53 +00:00
Mihail Ivanchev
8e64dea5c6
gstcodectimestamper: remove PC file generation from plugin's own meson.build
...
The file generated here is incomplete; it is generated for all plugins in a loop at an upper level.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4518 >
2023-05-01 16:41:32 +00:00
He Junyan
96e576a818
va: h265enc: map the mbbrc to correct enum value in get_property()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4509 >
2023-04-28 16:46:24 +00:00
He Junyan
5d1c35bd16
va: h264enc: map the mbbrc to correct enum value in get_property()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4509 >
2023-04-28 16:46:24 +00:00
Thibault Saunier
187d91627c
rtpsrc: Give better names to internal elements
...
Same name was used for all instances of rtpsrc making debugging more complex
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4484 >
2023-04-28 16:00:47 +00:00
Seungha Yang
c98ad6f249
wasapi2: Allows process loopback capture on Windows 10
...
As per MS documentation[1], it requires Windows 10 Build 20348
but it seems to be supported by old versions too
[1] https://learn.microsoft.com/en-us/windows/win32/api/audioclientactivationparams/
ns-audioclientactivationparams-audioclient_process_loopback_params
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2524
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4505 >
2023-04-28 14:11:16 +00:00
Nirbheek Chauhan
479f0175b5
meson: Add feature options for optional va deps libdrm and gudev
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4428 >
2023-04-28 15:22:31 +05:30
Nirbheek Chauhan
55ee0635d3
meson: Fix libdrm and vaapi configure checks
...
We do not need fallback: for libdrm checks because the wrap file
already has a [provide] section.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4428 >
2023-04-28 15:21:10 +05:30
Víctor Manuel Jáquez Leal
3a09e700e6
vkswapper: missing image barrier after vkCmdClearColorImage
...
After clear color image command the swapper image needs to add a barrier before
copying the buffer to display on it. Otherwise a potential synchronization
problem might occur.
Fixes #2403
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4501 >
2023-04-28 00:59:57 +00:00
Víctor Manuel Jáquez Leal
f12e052e54
vulkan: use VK_QUEUE_FAMILY_IGNORED in barriers
...
Instead of using the valid queue family 0 (zero) if there aren't queue transfers
there's no need to specify a not validated queue family, but just
VK_QUEUE_FAMILY_IGNORED.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4501 >
2023-04-28 00:59:57 +00:00
Seungha Yang
4ed3c46de7
cudamemory: Fix for semi planar YUV memory size decision
...
UV plan of the semi planar format requires only half of Y plane size
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4502 >
2023-04-27 20:55:53 +00:00
Daniel Moberg
4c1de25e9d
webrtc: do not tear down data channel before data is flushed
...
Current implementation can in some cases detect
that all data is sent but in reality it is not,
leading to a push to an unlinked pad.
This is a race between the probe used to track data sent and a
call to close.
This patch sends an EOS before starting the close procedure
and then waits for the EOS event to come through to the
src pad before commencing with tear down.
This ensures that any queued data before EOS is flushed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4462 >
2023-04-27 00:40:18 +00:00
Matthew Waters
262be30b6f
ccutils: generate valid padding in field 1 when needing to generate field 2
...
Fixes CC in Field 2 but not in Field 1 errors.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4490 >
2023-04-26 20:43:13 +00:00
Seungha Yang
4710f45e65
d3d11videosink: Fix for ignored initial render rectangle
...
Application can set target render rect before internal HWND
configuration
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2518
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4480 >
2023-04-26 19:39:09 +00:00
Stéphane Cerveau
40bd8468af
bad: disable dtls test if openssl is not present
...
On MacOS with homebrew, the openssl library is not
properly detected with pkg-config.
So disable the test compilation if openssl
is not properly detected along with libcrypto.
libcrypto is detected but it uses the system one
which leads to the error:
your binary is not an allowed client of /usr/lib/libcrypto.dylib for
architecture x86_64
See more details from Apple:
https://developer.apple.com/forums/thread/124782
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4481 >
2023-04-25 10:01:57 +00:00
Yinhang Liu
35177b81b3
msdk: Fix segfault for OneVPL dispatcher + legacy MSDK runtime path
...
From the spec, the OneVPL dispatcher should be able to work with
legacy MSDK runtime:
https://www.intel.com/content/www/us/en/docs/onevpl/upgrade-from-msdk/2023-1/onevpl-hardware-support-details.html
Currently supported capabilities:
OneVPL dispatcher + OneVPL runtime: dynamic capability
MSDK dispatcher + MSDK runtime: static capability
MSDK dispatcher + OneVPL runtime: static capability
OneVPL dispatcher + legacy MSDK runtime: static capability
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2506
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4466 >
2023-04-25 08:09:29 +00:00
Yinhang Liu
e97b5ad355
msdk: Add NumFilters check for VPP description
...
When NumFilters is equal to 0, the function should return
immediately.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4466 >
2023-04-25 08:09:29 +00:00
Yinhang Liu
ca125bd304
msdk: Add return when creating caps fails for VPP
...
When creating caps fails, the function should return immediately
and should not continue to register the plugin.
This patch fixes the issue of "gst_mini_object_ref: assertion
'mini_object != NULL' failed" in
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2506
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4466 >
2023-04-25 08:09:29 +00:00
Eva Pace
692d4a3a16
webrtcbin: Fix trace log 'from' value
...
`webrtc->signaling_state` (from) and `new_signaling_state` (to) had the
same value when printed in a trace log. This commit adds a
`old_signaling_state` variable to hold the previous value, so that the
print statement works as intented.
Spotted by: Mustafa Asım REYHAN
Fixes #1802
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4362 >
2023-04-25 04:27:02 +00:00
Thibault Saunier
7aaf2b48ef
doc: Avoid shelling out to hotdoc to generate plugins config files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4479 >
2023-04-25 02:57:55 +00:00
Thibault Saunier
6e305a471f
meson: Add CameraBin and Va girs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4479 >
2023-04-25 02:57:55 +00:00
Stéphane Cerveau
cc81e961a0
applemedia: fix missing definition
...
Fix missing kCVPixelFormatType_64RGBALE definition
on Catalina for example
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4478 >
2023-04-24 17:05:03 +00:00
Martin Nordholts
2fed3bf6c4
webrtc: Plug leaks of resolved ICE addresses
...
The addresses we get from `resolve_host_finish()` (via
`resolve_host_async()`, `resolve_host_main_cb()`, `on_resolve_host()`,
`g_resolver_lookup_by_name_finish()`) must be freed. Otherwise we leak
memory.
Leak found and confirmed fixed with GCC AddressSanitizer.
Change-Id: If32d24452d626234f01b253b77a7d6d16eac1cee
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4469 >
2023-04-24 06:23:30 +00:00
Thibault Saunier
b14e675a27
gir: Checkout all .gir files and check that they are updated on the CI
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3010 >
2023-04-22 09:32:32 -04:00
Seungha Yang
3811894d9c
d3d11overlay: Enhance documentation and fix typo
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4455 >
2023-04-20 18:05:27 +00:00
Seungha Yang
c7c380abb1
d3d11memory: Remove redundant bind flag validation
...
It has been validated outside of each function already
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4455 >
2023-04-20 18:05:27 +00:00
Jordan Petridis
63ccf85049
sctp: Avoid old-style function defintions
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4457 >
2023-04-20 09:38:59 +00:00
Nicolas Dufresne
e709e2d97c
meson: Add a wrap file for libgudev
...
And allow fallback to it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4447 >
2023-04-19 22:47:19 +00:00
Edward Hervey
ab458eae56
pcapparse: Add support for Linux "cooked" capture encapsulation v2
...
See https://www.tcpdump.org/linktypes/LINKTYPE_LINUX_SLL2.html
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4451 >
2023-04-19 09:56:47 +02:00
Thibault Saunier
03ac969240
d3d11: Fix typo in interlace mode name in enum
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4414 >
2023-04-18 14:56:41 +00:00
Sebastian Dröge
6a0965cb8a
tsdemux: Set number of channels to 2 for dual mono Opus
...
Instead of leaving it at 0, which will then cause caps creation to fail.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4445 >
2023-04-18 14:56:44 +03:00
Guillaume Desmottes
901383771d
dash: mpdclient: fix divide by 0 if segment has no duration
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4436 >
2023-04-18 06:37:27 +00:00
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
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
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
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
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
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
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
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
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
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
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
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
Jan Schmidt
1b762ba012
mpegpsdemux: Rework gap sending
...
Take the gap logic from mpegtsdemux, and don't
send gap events on a stream that's outputting buffers with
no timestamps. Time isn't advancing, but the stream has
buffers - so it's not sparse.
Fixes #2374
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4333 >
2023-04-06 01:34:03 +00:00
Sebastian Dröge
b90c0bd79b
vulkan: Use new GLib APIs as suggested by comments
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4349 >
2023-04-06 00:26:13 +00:00
Nicolas Dufresne
c883fea19e
h265parse: Don't override upstream framerate
...
The framerate should only be replaced (and corrected for alternating field)
when it is parsed from the bitstream. Otherwise, the upstream framerate
from caps should be trusted and assumed correct.
Related to gst-plugins-bad!2020
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4259 >
2023-04-05 13:33:39 -04:00
Nicolas Dufresne
93904f1921
h265parse: Rename parsed_framerate to framerate_from_caps
...
That meaning of parsed_framerate is ambigious, it is set whenever the
framerate has been parsed from caps, which can be confused with being
parsed from the bitstream. Rename this as framerate_from_caps.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4259 >
2023-04-05 13:33:39 -04:00
Edward Hervey
38dd5deb66
tsdemux: Minor refactoring
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4336 >
2023-04-04 20:54:50 +00:00
Edward Hervey
8e51399334
mpegts: Fix include headers
...
<gst/mpegts/mpegts.h> is the unique header to use
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4336 >
2023-04-04 20:54:50 +00:00
Wojciech Kapsa
8d4916df84
decklink: fix 10 bit RGB (r210) format auto detection
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2391
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4332 >
2023-04-04 20:37:09 +03:00
Seungha Yang
47fda2c51c
d3d11screencapturesrc: Add "window-capture-mode" property
...
... to support capturing only window's client area
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2425
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4324 >
2023-04-03 15:06:47 +00:00
Seungha Yang
1876e5c429
cea608mux: Fix output buffer timestamping
...
Don't assume that input stream starts from zero running time.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4319 >
2023-04-03 13:11:00 +00:00
Aleksandr Slobodeniuk
e683000573
d3d11videosink: fix race conditions in win32 window
...
One race condition is the fact that the window object
can be destroyed while running some routine in the UI
thread (such as resizing). To avoid that situation we make
UI thread hold a reference on the window object while it's
running.
Other probpematic case is when the window handle is reused:
if we stop and start the pipeline very fast,
so the sink creates a new window object that is going to use
the same window handle as the previous one.
And finally the case when the pipeline is stopped immediatelly
right after starting, this one is also handled in this commit.
NOTE: a unit test that reproduces this cases have been added
in the previous commit.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4260 >
2023-04-03 11:19:11 +00:00
Aleksandr Slobodeniuk
fcf4dbf8e3
d3d11videosink: add gstcheck test for win32 window
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4260 >
2023-04-03 11:19:10 +00:00
Matthew Waters
54acb36689
vulkan/wayland: use xdg_wm_base when available
...
wl_shell is deprecated and has been removed from some compositors.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4316 >
2023-04-03 02:36:38 +00:00
Matthew Waters
edffae31dd
vulkan/wayland: provide a dummy registry global_remove function
...
Even if we don't care about any global objects being removed, wayland
will still error if globals are removed without a corresponding listener
set up for them. e.g. wl_output hotplugging
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4316 >
2023-04-03 02:36:38 +00:00
Matthew Waters
21cff6b134
vulkan/wayland: rename debug category to mention wayland instead of XCB
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4316 >
2023-04-03 02:36:38 +00:00
Seungha Yang
7755cd2f7a
d3d11videosink: Enhancement for initial window size decision
...
Use AdjustWindowRect() method to calculate window size so that
video scene can be rendered on client area without black borders
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4323 >
2023-04-02 00:31:58 +09:00
Matthew Waters
b132a44ba5
ccconverter: reintroduce frame count reset on cycle completion
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4308 >
2023-03-31 21:35:21 +00:00
Seungha Yang
55db8367f7
tools: Count argc after parsing GOption on Windows
...
Existing codes rely on modified argc value by g_option_context_parse()
but g_option_context_parse_strv() is used in case of Windows.
Count arguments after the option parsing manually.
Fixing command "gst-inspect-1.0.exe -b"
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4313 >
2023-03-31 18:11:52 +00:00
Brad Hards
4087bb9a55
mpegts: remove stream-type from KLV meta
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4310 >
2023-03-31 07:03:54 +00:00
Brad Hards
6f2eb752c5
mpegts: add support for KLV metadata in PES packets
...
Co-authored-by: Andoni Morales Alastruey <ylatuya@gmail.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1312 >
2023-03-30 12:16:52 +00:00
Brad Hards
4e14bac1ff
mpegts: implement metadata in PES packets
...
Co-authored-by: Andoni Morales Alastruey <ylatuya@gmail.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1312 >
2023-03-30 12:16:52 +00:00
Víctor Manuel Jáquez Leal
e5c38003b8
gsth254picture: move internal API to private header
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4288 >
2023-03-30 11:40:33 +02:00
Víctor Manuel Jáquez Leal
57e0bdb356
h264decoder: use last_output_poc from DPB
...
It seems that `last_output_poc` in `h264decoder` class is a left over of commit
5527cc4a2e
.
This patch removes it but keeps the log message by fetching the `h264picture`'s
`last_output_pic`.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4288 >
2023-03-30 09:38:47 +00:00
Víctor Manuel Jáquez Leal
a31cd75c73
vkmemory: flush whole size
...
Running element_vkcolorconver test with Vulkan validation layer this error is
raised:
Code 0 : Validation Error: [ VUID-VkMappedMemoryRange-size-01390 ] Object 0:
handle = 0x100000000010, type = VK_OBJECT_TYPE_DEVICE_MEMORY;
| MessageID = 0xdd4e6d8b
| vkFlushMappedMemoryRanges: Size in pMemRanges[0] is 0x4, which is not a
multiple of VkPhysicalDeviceLimits::nonCoherentAtomSize (0x40) and offset +
size (0x0 + 0x4 = 0x4) not equal to the memory size (0xb). The Vulkan spec
states: If size is not equal to VK_WHOLE_SIZE, size must either be a multiple of
VkPhysicalDeviceLimits::nonCoherentAtomSize, or offset plus size must equal the
size of memory
The reason of is that the image size used in the test doesn't comply hardware
restrictions. In order to avoid juggling with image size and hardware
restrictions, this patch proposes to use VK_WHOLE_SIZE macro.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4296 >
2023-03-30 00:03:05 +00:00
Víctor Manuel Jáquez Leal
d69e1393f8
tests: vkimage: add VK_IMAGE_USAGE_SAMPLED_BIT usage bit
...
Running tests with Vulkan Validation enabled show an error on vkimage tests:
Code 0 : Validation Error: [ VUID-VkImageViewCreateInfo-image-04441 ]
Object 0: VK_NULL_HANDLE, type = VK_OBJECT_TYPE_COMMAND_BUFFER; Object 1: handle
= 0x50000000005, type = VK_OBJECT_TYPE_IMAGE;
| MessageID = 0xb75da543
| Invalid usage flag for VkImage 0x50000000005[] used by vkCreateImageView(). In
this case, VkImage should have VK_IMAGE_USAGE_SAMPLED_BIT |
VK_IMAGE_USAGE_STORAGE_BIT | VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT |
VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT |
VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT | VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT |
VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR |
VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT |
VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR |
VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR |
VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR |
VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR | VK_IMAGE_USAGE_SAMPLE_WEIGHT_BIT_QCOM
| VK_IMAGE_USAGE_SAMPLE_BLOCK_MATCH_BIT_QCOM set during creation.
The Vulkan spec states: image must have been created with a usage value
containing at least one of the usages defined in the valid image usage list for
image views
This patch adds VK_IMAGE_USAGE_SAMPLED_BIT to the usage bits in test.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4296 >
2023-03-30 00:03:04 +00:00
Víctor Manuel Jáquez Leal
3e194267d1
vkfullscreenquad: set enable_clear as TRUE by default
...
While using the validation layer with this pipeline:
gst-launch-1.0 videotestsrc num-buffers=10 ! vulkanupload ! vulkancolorconvert ! vulkansink
The validation layer throws this message:
Code 0 : Validation Error: [ VUID-VkAttachmentDescription-format-06699 ]
Object 0: handle = 0x5555562e9610, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x52b3229e |
vkCreateRenderPass: pCreateInfo->pAttachments[0] format is
VK_FORMAT_B8G8R8A8_UNORM and loadOp is VK_ATTACHMENT_LOAD_OP_LOAD, but
initialLayout is VK_IMAGE_LAYOUT_UNDEFINED.
The Vulkan spec states: If format includes a color or depth aspect and loadOp is
VK_ATTACHMENT_LOAD_OP_LOAD, then initialLayout must not be VK_IMAGE_LAYOUT_UNDEFINED
When creating the render pass the loadOp can be either
`VK_ATTACHMENT_LOAD_OP_CLEAR` or `VK_ATTACHMENT_LOAD_OP_LOAD` depending on
`enable_clear`. While `enable_clear` is FALSE by default (which means
`VK_ATTACHMENT_LOAD_OP_LOAD`). Nonetheless, its value is explicitly changed by
`vkoverlaycompositor` to FALSE too!
This behavior was introduced in merge request #2470 where
`VK_ATTACHMENT_LOAD_OP_CLEAR` was a fixed value for loadOp. Thus, the bug
consists in a missing initialization of `enable_clear` to TRUE from that merge
request.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4296 >
2023-03-30 00:03:04 +00:00
Erik Fröbrant
456bbad2dd
curlbasesink: error codes in transfer error details
...
There is currently no easy way for an application to distinguish between
different resource write errors being set in the curlbasesink.
Add curl status codes as error details on transfer failure.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4062 >
2023-03-29 10:03:36 +00:00
Erik Fröbrant
8f094a1cc8
curlhttpsink: HTTP code in transfer error details
...
There is currently no easy way for an application to distinguish between
different resource write errors being set in the curlhttpsink.
Add HTTP status code as error details on transfer failure.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4062 >
2023-03-29 10:03:35 +00:00
Matthew Waters
58d1ab4618
vulkanswapper: correctly handle force-aspect-ratio=false
...
It was simply ignored so actually handle it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4278 >
2023-03-27 11:58:46 +00:00
Tim-Philipp Müller
c798f01fae
debugqroverlay: fix string leak
...
g_string_free(.., FALSE) gives us ownership of the string
already, no need to duplicate that again with g_strdup(),
and doing so will leak the string returned by g_string_free()
here. Caught by compiler warnings in newer GLib versions.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4273 >
2023-03-27 07:37:11 +00:00
Tim-Philipp Müller
330836db8e
taglist, plugins: fix compiler warnings with GLib >= 2.76
...
Fix compiler warnings about not using the return value when
freeing the GString segment with g_string_free(.., FALSE):
ignoring return value of ‘g_string_free_and_steal’ declared with attribute ‘warn_unused_result’
which we get with newer GLib versions. These were all harmless.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4273 >
2023-03-27 07:37:11 +00:00
Sebastian Dröge
da198e59b2
av1enc: Use correct enum type with libaom >= 3
...
This fixes, among other things, a compiler warning with clang.
Also add static assertions that our own enum values match with the ones
from libaom.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4223 >
2023-03-25 07:12:53 +00:00
Stéphane Cerveau
f3dfe7b125
openjpegdec: allow multithread decoding only in subframe mode
...
To avoid mis-ordered frames, allow multithread decoding only in
subframe mode.
Fixes #1786
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3948 >
2023-03-25 06:03:02 +00:00
Mathieu Duponchelle
e8c362ee34
cea608mux: advance segment->position when outputting
...
It is the responsibility of the subclass to advance segment->position if
it wants to rely on gst_aggregator_simple_get_next_time() for timeouts
in live mode.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4266 >
2023-03-24 21:17:58 +00:00
Víctor Manuel Jáquez Leal
292d6cdbed
vaencoder: remove display reference in decode picture
...
Since it's possible to grab the VA display from the GstBuffer and
GstMemory, there's no need to keep a reference to it in
GstVaEncodePicture.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3066 >
2023-03-24 14:05:15 +00:00
Víctor Manuel Jáquez Leal
494169aad4
vadecoder: remove display reference in decode picture
...
Since it's possible to grab the VA display from the GstBuffer and
GstMemory, there's no need to keep a reference to it in
GstVaDecodePicture.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3066 >
2023-03-24 14:05:15 +00:00
Víctor Manuel Jáquez Leal
746e81fccf
vkinstance: register GStreamer version as engine version
...
Specification says:
"""
engineVersion is an unsigned integer variable containing the developer-supplied
version number of the engine used to create the application.
"""
Assuming the engine is GStreamer, it would be expected to set its version as
engine version.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4243 >
2023-03-24 04:28:54 +00:00
Seungha Yang
af6dccd6e6
d3d11bufferpool: Fix invalid access in debug print loop
...
Add missing condition check in for loop
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4255 >
2023-03-23 18:15:03 +00:00
Víctor Manuel Jáquez Leal
1ace1a5275
vkinstance: enable GPU assisted validation
...
This allows to check for syncronization issues while using the validation layer.
https://vulkan.lunarg.com/doc/sdk/1.3.239.0/linux/synchronization_usage.html
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4245 >
2023-03-23 16:46:34 +00:00
Matthew Waters
ba81f3597d
vulkanoverlaycompositor: also support RGBA vulkan images
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4184 >
2023-03-23 22:18:47 +11:00
Sebastian Dröge
84e08a377b
mpegtsdemux: Fix handling of explicit Opus channel mapping
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4180 >
2023-03-23 08:46:50 +00:00
Sebastian Dröge
9d2ac6e90b
mpegtsmux: Allow writing arbitrary Opus channel mapping families and up to 255 channels
...
And fix writing of dual-mono special cases.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4180 >
2023-03-23 08:46:50 +00:00
Stéphane Cerveau
23661f0446
vulkan: gl: change symbols to static
...
Change window_proc and subclass_proc to static to avoid symbols
duplication.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4246 >
2023-03-23 00:56:04 +00:00
Stéphane Cerveau
e88e8527ed
sys: avoid double definition of symbol MEDIASUBTYPE_I420
...
Namespace the symbol MEDIASUBTYPE_I420 to avoid double definition
across dshow and mediafoundation plugins.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4246 >
2023-03-23 00:56:04 +00:00
Seungha Yang
96555c7ee9
nvh264encoder: Fix template caps
...
It should include progressive as well
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4236 >
2023-03-22 23:40:58 +00:00
Víctor Manuel Jáquez Leal
c159e40a9f
vulkan: silence gobject-instrospection warnings
...
According with gi annotations [1] the "optional" annotation must be only
for (out) or (inout) parameters.
1. https://gi.readthedocs.io/en/latest/annotations/giannotations.html
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4244 >
2023-03-22 14:19:13 +00:00
Tong Wu
ebc9780c5f
msdkdec: delete use_video_memory
...
Since msdkdec uses video pool as the output buffer pool at all time. The
use_video_memory variable is not useful anymore. Now delete it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4088 >
2023-03-22 05:07:19 +00:00
Tong Wu
8105d2044d
msdkdec: expand retry times to 1s
...
One-frame sleep time is not enough to wait until there is a surface
unlocked from downstream. Now expand it to 1s and add a return when
fail.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4088 >
2023-03-22 05:07:19 +00:00
Tong Wu
123c8d14c1
msdkallocator_d3d: add gst_msdk_frame_free callback function
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4088 >
2023-03-22 05:07:19 +00:00
Tong Wu
abe4d0046a
msdkdec: acquire buffer from video pool on Windows
...
Video memory is available on Windows. This patch is to make the buffers
acquired from d3d11 video pool.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4088 >
2023-03-22 05:07:19 +00:00
Tong Wu
d2902be9eb
msdkdec: add thiz->ds_has_known_allocator for d3d11
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4088 >
2023-03-22 05:07:19 +00:00
Tong Wu
245df2778e
msdkallocator_d3d: add alloc callback function for d3d allocator
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4088 >
2023-03-22 05:07:19 +00:00
Tong Wu
b3e13df8c1
msdkdec: add d3d11 pool during negotiation
...
Enable use_video_memory for Windows and add d3d11 pool.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4088 >
2023-03-22 05:07:19 +00:00
Tong Wu
2b9cda928b
msdkdec: add d3d11 caps for srcpad
...
Set decoder srcpad with D3D11Memory.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4088 >
2023-03-22 05:07:19 +00:00
Aleksandr Slobodeniuk
1f834eaacb
d3d11convert: add "method" property
...
It allows to select the sampling method, same
as "method" property of videoconvert.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4205 >
2023-03-21 12:08:54 +00:00
Aleksandr Slobodeniuk
4c9d4d30cb
d3d11convert: protect 'add-borders' with mutex
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4205 >
2023-03-21 12:08:54 +00:00
Colin Kinloch
1b926e0dcc
gtkwaylandsink: Fix crash when rendering after the window is closed
...
Continuation of https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4197
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4232 >
2023-03-21 08:57:34 +00:00
Mengkejiergeli Ba
9e3faf69f2
msdkvpp: Pass null formats when create va allocator for RGB565
...
Fix https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1780
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4136 >
2023-03-21 05:42:34 +00:00
Víctor Manuel Jáquez Leal
e794fcaa1c
va: add driver description in element metadata
...
In the same spirit of libva-win32 elements this patch shows the driver of each
element in gst-inspect, giving more information to the user. This driver
description is parsed from vaQueryVendorString from mesa and intel drivers,
while copied as is for others. Also appends the render node for multi gpu
systems.
Fixes #2349
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4204 >
2023-03-20 15:27:25 +00:00
Edward Hervey
ee759fb4bf
plugins: Fix wrong enum usage
...
gcc 13 now detects conflicting enum usages. Fix the various cases where it was wrong
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4225 >
2023-03-20 11:40:30 +00:00
Adrien De Coninck
ab69e24d9e
ksdeviceprovider: Fix leak in gst_dshow_device_provider_start
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4224 >
2023-03-20 09:50:37 +00:00
Adrien De Coninck
0aea6a86ac
dshowdeviceprovider: Fix leak in gst_dshow_device_provider_start
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4224 >
2023-03-20 09:50:37 +00:00
Seungha Yang
3bbfab1cf3
va: Return default device from device-path property getter
...
Otherwise application would not be able to know matching element
for wanted device. Typical use case of the read-only device path
(DXGI Adapter LUID, CUDA device index, etc) property is that
application enumerates physical devices and then selects matching
GStreamer element (in null state) via device path property.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4220 >
2023-03-19 17:50:43 +00:00
Sebastian Dröge
ccad9a7338
plugins: Fix various trivial clang compiler warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4210 >
2023-03-18 16:16:55 +02:00
Sebastian Dröge
3851c2da12
tsdemux: Fix reading of extended Opus channel configuration
...
Argument evaluation order is implementation defined in C, and gcc is
evaluating right-to-left (works) while clang is evaluating left-to-right
(does not work).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4210 >
2023-03-18 10:01:25 +00:00
Seungha Yang
0dc5d5ecb1
h264decoder: Fix DPB bumping process
...
As per spec C.4.5.3 "Bumping", if bumping is needed but DPB holds
no "output needed" picture, then a picture that has the smallest
POC should be considered first for output
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4211 >
2023-03-18 08:28:05 +00:00
Nicolas Dufresne
9deb3d6aa4
h264parse: Stop considering NO_NAL as an error
...
The NO_NAL return value simply means that the buffer did not contain
enough data to identity a NAL. This should lead to waiting for more data not
considering the stream as invalid.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3234 >
2023-03-17 21:25:49 +00:00
Nicolas Dufresne
0780e31581
test: h265parser: Test for NAL missing header bytes
...
H.265 NAL always have 2 bytes of headers. Unlike the H.264 parser, this parser
will simply return that there is NO_NAL if some of these bytes are missing.
This is then properly special cased by parsers and decoders. Add a test to
ensure we don't break this in the future.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3234 >
2023-03-17 21:25:49 +00:00
Nicolas Dufresne
dacb2a2b51
h264parser: Fix return value parsing short header
...
The appropriate return value for incomplete NAL header should be
GST_H264_PARSER_NO_NAL_END. This tells the parser element to
gather more data. Previously, it would assume the NAL is corrupted
and would drop the data, potentially causing stream corruption.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3234 >
2023-03-17 21:25:49 +00:00
Seungha Yang
fed252cabd
nvencoder: Fix CQP option setting
...
... and zero initialize LUID and CUDA device list to address
coverity issue
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4215 >
2023-03-17 18:30:19 +00:00
Albert Sjölund
d3f92b9760
webrtc: Fix segfault traversing ice transports
...
Previously, reassigning loop index l in nicestream.c
could cause a segfault if l->data was null, as it could
reassign l to a null variable, triggering the loop
postassignment l->next, which then segfaults due to
l now being null. It is instead moved into the loop.
_delete_transport already performs the reassignment
inline.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4192 >
2023-03-17 14:11:52 +00:00
Colin Kinloch
6ebd7867e0
gtkwaylandsink: Destroy GstWlWindow when parent GtkWindow is destroyed
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4197 >
2023-03-17 04:27:22 +00:00
Tim-Philipp Müller
81716a1097
gst-plugins-bad: re-indent with GNU indent 2.2.12
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4182 >
2023-03-17 03:18:54 +00:00
Seungha Yang
fba06cfc76
wasapi2: Fix potential crash on device activation failure
...
The activation object is live in COM thread already and therefore
self refcount hack is pointless.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4194 >
2023-03-16 19:30:27 +00:00
Albert Sjölund
65bd020754
webrtc: patch leak caused by early return
...
In webrtc_data_channel_send functions, both data and string,
an early return on a non-open datachannel caused it to leak
the buffer used for pushing to appsrc, meaning any buffer
sent after leaving the open state was leaked in full.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4191 >
2023-03-16 15:17:58 +00:00
Seungha Yang
e1a73a723f
d3d11converter: Fix conversion backend selection
...
Intended behavior was selecting video processor only if pixel shader
is disabled, since we prefer shader over video processor
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4179 >
2023-03-16 01:17:27 +00:00
Seungha Yang
e47f08395f
d3d11videosink: Fix tearing in case of fullscreen mode
...
DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING and DXGI_PRESENT_ALLOW_TEARING should
be used only if required, when user wants Vsync off for example.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2376
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4178 >
2023-03-15 22:56:02 +00:00
Nicolas Dufresne
413ceb060f
waylandsink: Add a comment about dmabuf without feature
...
The code does not make it obvious that dmabuf is still supported
without the feature. This documents that it is supported, but
only for formats that are also support by SHM interface.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3476 >
2023-03-15 18:42:54 +00:00
Nicolas Dufresne
5441b77683
waylandsink: Remove unused instance member
...
use_dmabuf is set but never used.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3476 >
2023-03-15 18:42:54 +00:00
Teng, Jin Chung
83364c5729
msdkh264enc: Adding BGRx format DMABuf support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4167 >
2023-03-15 15:06:57 +00:00
Seungha Yang
a1bd4afb8a
d3d11compositor: Fix composition error on release_pad()
...
Composition might be still in progress while it's being released
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4169 >
2023-03-15 04:50:49 +00:00
Seungha Yang
63c854c64b
vadisplay_win32: Query profiles and entry points on init
...
Depending on driver, display can be initialized but
fails on query calls.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4149 >
2023-03-15 01:37:03 +00:00
Seungha Yang
fe63034dd4
va: Don't error out on plugin registration
...
Keep enumerate devices and don't return FALSE on plugin_init()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4149 >
2023-03-15 01:37:03 +00:00
Nirbheek Chauhan
2d6da02653
applemedia: Consolidate GstVideoFormat <-> CVPixelFormat conversion
...
In the process we have changed the color value range from video-range
to full-range, which is probably what people want in the first place.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4135 >
2023-03-14 23:35:16 +00:00
Nicolas Dufresne
6b103061ec
bad: Update doc cache for waylandsink changes
...
A new drm-device property has been added.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3801 >
2023-03-14 21:50:57 +00:00
Colin Kinloch
ed60843c1e
wayladnsink: Add DRM Dumb allocator support
...
If the input is not a DMABuf, attempt to copy into a DRM Dumb
buffer and import it has a DMABuf. This will offload the
compositor from actually doing this copy (needed to handle SHM)
and may allow the software decoded stream to be rendered to
an HW layer, or even reach through some better accelerated
GL import path.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3801 >
2023-03-14 21:50:57 +00:00
Colin Kinloch
755bd9143e
wlvideobufferpool: Add DRM Dumb buffer support
...
This allow the wayland buffer pool to use a GstDRMDumbAllocator
if it has been configured to do so.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3801 >
2023-03-14 21:50:57 +00:00
Nicolas Dufresne
a961838b0a
wlvideoformat: Fix sign issue for DRM fourcc
...
DRM fourcc ared defined as 32bit unsigned in, but the format helper was passing
an int, while using a unsigned int internally. This is a API/ABI break, but
the API is still unstable.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3801 >
2023-03-14 21:50:57 +00:00
Nicolas Dufresne
6ce1b484fd
wllinuxdmabuf: Handle video meta inside the importer
...
This allow simplifying the GstVideoInfo handling in the sinks. Instead
of having to update a video info for the import, the sink can simply pass the
video info associated with the caps and rely on the VideoMeta in the GstBuffer
to obtain the appropriate offset and stride.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3801 >
2023-03-14 21:50:57 +00:00
Nicolas Dufresne
0961606942
gtkwaylandsink: Fix display/wl_window/pool leaks
...
These were leaked in the GTK implementation of the sink.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3801 >
2023-03-14 21:50:57 +00:00
Nicolas Dufresne
965117b400
waylandsink: Refactor internal pool handling
...
This is to make it easier to support more then one allocators
including falling back from one to another.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3801 >
2023-03-14 21:50:57 +00:00
Nicolas Dufresne
9084a960a5
waylandsink: Let the baseclass know when frames are dropped
...
This is using the new GST_BASE_SINK_FLOW_DROPPED return value.
With this change, fpsdisplaysink will properly report the
render and dropped rate.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3801 >
2023-03-14 21:50:57 +00:00
Nicolas Dufresne
018fdf36b1
gtkwaylandsink: Force a redraw on resolution change
...
As we don't render into the widget directly, there is no "initial" draw
happening. As a side effect, the internal aspect ratio adapted display
width/height is never initialize leading to assertions when handling navigation
events.
gst_video_center_rect: assertion 'src->h != 0' failed
Simply queue a redraw after setting the widget format in order to fix the issue.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3801 >
2023-03-14 21:50:57 +00:00
Nicolas Dufresne
3ed0d34065
waylandsink: Stop modifying the display GstVideoInfo
...
The video_info is supposed to match the display dimentions, but as soon as we
get a padded video buffer, we modify it. This has side effect later on and
maybe cause bad frames.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3801 >
2023-03-14 21:50:57 +00:00
Nicolas Dufresne
beaff76dd0
gtkwaylandsink: Remove redefine of GST_CAPS_FEATURE_MEMORY_DMABUF
...
Instead just include the appropriate header file. There is no meson deps
modification as gstallocators_dep is already part of gstwayland_dep.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3801 >
2023-03-14 21:50:57 +00:00
Nicolas Dufresne
37f2d2ac42
kmsallocator: Port to the new DRM Dumb Allocator
...
This ports the KMS allocator to use the DRM Dumb allocator from the allocators
library.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3801 >
2023-03-14 21:50:57 +00:00
Sebastian Dröge
fe580cacb8
androidmedia: Add support for AV1
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4156 >
2023-03-14 11:26:30 +00:00
Alicia Boya García
85b6625150
cudaloader: Initialize logging category
...
gstcudaloader.cpp defines GST_DEBUG_CATEGORY (gst_cudaloader_debug);
but it wasn't initializing it anywhere.
This caused the following error to be logged by gst-plugin-scanner when
libcuda.so.1/nvcuda.dll couldn't be loaded, e.g. in systems without
CUDA:
(gst-plugin-scanner:39618): GStreamer-CRITICAL **: 14:40:22.346:
gst_debug_log_full_valist: assertion 'category != NULL' failed
This patch fixes the bug by initializing the category in
gst_cuda_load_library_once_func() before any logging occurs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4154 >
2023-03-14 03:07:50 +00:00
Nirbheek Chauhan
3b9ce6cb54
avfvideosrc: GL texture cache also supports YUY2 on macOS
...
BGRA gives black frames, and everything else fails to negotiate.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4134 >
2023-03-14 00:00:24 +00:00
Nirbheek Chauhan
a8ed817d30
avfvideosrc: Use frame duration instead of frame rate
...
These days you're can use minFrameDuration and maxFrameDuration which
are CMTime with fractional values. That way we don't need to convert
between double and fractions in a really weird way.
This fixes really odd fractional values exposed in caps, like:
2000000/76923, 1000000/37037, 5000000/178571, 10000000/344827, 10000000/333333
Which are actually just 26/1, 27/1, 28/1, 29/1, 30/1
We can also delete a lot of outdated code for iOS versions older than
7.0 by using newer APIs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4134 >
2023-03-14 00:00:24 +00:00
Seungha Yang
7624871b00
va: Update "device-path" property description for Windows
...
DRM does not make sense on Windows
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4114 >
2023-03-10 13:57:47 +00:00
Seungha Yang
7bc6ba63b2
va: Add Windows specific element type/feature naming support
...
Adapter LUID will be changed per boot. Use different naming rule on Windows
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4114 >
2023-03-10 13:57:47 +00:00
Seungha Yang
c1946c0209
va: Add support for Win32 backend
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4114 >
2023-03-10 13:57:47 +00:00
Seungha Yang
8fc77e5b3d
va: Add Win32 backend GstVaDisplay implementation
...
... and disable derived image on Windows which does not seem to
work
Closes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1750
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4114 >
2023-03-10 13:57:47 +00:00
Seungha Yang
bc8db7bc3e
va: Drop all GSlice bits
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4114 >
2023-03-10 13:57:47 +00:00
Tim-Philipp Müller
99ee8af782
webrtc: fix g-i annotations for allow-none
...
'allow none' doesn't exist, and 'allow-none' is now deprecated.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4146 >
2023-03-10 13:09:25 +00:00
Antonio Rojas
9835032727
zxing: add support for zxing-c++ 2.0
...
format is a C++ string in 2.0
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3693 >
2023-03-10 09:33:35 +00:00
Matthew Waters
a1bfd8668c
vulkanoverlaycompositor: don't do a potential use after free
...
Removing a meta from a buffer means one doesn't have access to it
anymore. Instead use the already reffed composition directly.
Fixes a use-after-free in the following pipeline:
... ! vulkanupload ! timeoverlay ! vulkanoverlaycompositor ! ...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4143 >
2023-03-10 16:54:46 +11:00
Matthew Waters
df939fe332
cea708overlay: support multiple service blocks in the same dtvcc packet
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4137 >
2023-03-10 02:09:56 +00:00
Matthew Waters
22229d9546
cea708overlay: fix HCR interpretation
...
An unsigned counter with a for (i = end; i >= 0; i--), can be optimized to
infinite loop as an unsigned value will always be >= 0.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4133 >
2023-03-09 14:38:13 +11:00
Seungha Yang
ad30fb87c2
h264parse: Validate VUI framerate
...
A few streams contain invalid/wrong framerate in VUI. Do validate
it based on the spec and ignore invalid VUI framerate values.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1753
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4127 >
2023-03-08 11:59:52 +00:00
Matthew Waters
be72fbc334
cccombiner: fix output-padding=false for a cea608 field 1 only stream
...
If we have data that needs outputting but we have to output padding to
meet the alternating field requirements of cea608, then output that
padding anyway.
Also includes a test
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4124 >
2023-03-08 11:11:05 +00:00
Mathieu Duponchelle
2eab37f231
ccconverter: implement field conversion of CEA 608 control codes
...
As specified in EIA/CEA-608-B section 8.4:
When closed captioning is used on line 21, field 2, it shall conform
to all of the applicable specifications and recommended practices as
defined for field 1 services with the following differences:
a) The non-printing character of the miscellaneous control-character pairs
that fall in the range of 14h, 20h to 14h, 2Fh in field 1, shall be replaced
with 15h, 20h to 15h, 2Fh when used in field 2.
b) The non-printing character of the miscellaneous control-character pairs
that fall in the range of 1Ch, 20h to 1Ch, 2Fh in field 1, shall be replaced
with 1Dh, 20h to 1Dh, 2Fh when used in field 2.
This means simply switching the "field" field in the caps isn't enough for
converting raw 608 from one field to another, some control codes also
need to be amended.
+ Adds simple test
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4126 >
2023-03-08 10:13:59 +00:00
Seungha Yang
b6e45d0de8
vavp8dec: Fix return type of decode_picture()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4113 >
2023-03-06 13:39:20 +00:00
Seungha Yang
c5ae00f58c
vajpegdec: Hide gst_jpeg_decoder_get_type() symbol
...
It's not a public symbol yet
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4113 >
2023-03-06 13:39:20 +00:00
Seungha Yang
fbf143b0fd
vabaseenc: Fix return type of encode_frame vfunc
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4113 >
2023-03-06 13:39:19 +00:00