Commit graph

2011 commits

Author SHA1 Message Date
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