Commit graph

27212 commits

Author SHA1 Message Date
Haihao Xiang
b6eca79557 msdkdec: allow sub class to add extra parameters for additional configuration
MSDK allows user add extended buffers to a bitstream for additional
configuration. This commit is to support this feature in this plugin

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/909>
2021-04-28 08:30:38 +00:00
Seungha Yang
957034d71a d3d11: Handle device change
If incoming buffer holds other d3d11 device, and user wants any device
(i.e., adapter index wasn't specified explicitly) update our device
with that of buffer.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2191>
2021-04-28 16:26:58 +09:00
Seungha Yang
227aaed8d4 d3d11videosink: Delay window setup as much as possible
... so that videosink can handle device update with
d3d11 device of the first buffer

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2191>
2021-04-28 16:26:53 +09:00
Seungha Yang
70c96cf0dd d3d11: Don't accept buffer pool which holds different device
At the moment, d3d11 plugin doesn't support texture sharing between
different device

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2191>
2021-04-28 00:25:57 +09:00
Seungha Yang
41218dacec d3d11decoder: Run gst-indent
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2191>
2021-04-28 00:25:56 +09:00
Aaron Boxer
f71eb29497 onnx: add plugin to apply ONNX neural network models to video
This MR provides a transform element that leverage ONNX runtime
to run AI inference on a broad range of neural network toolkits, running
on either CPU or GPU. ONNX supports 16 different providers at the
moment, so with ONNX we immediately get support for Nvidia, AMD, Xilinx
and many others.

For the first release, this plugin adds a gstonnxobjectdetector element to
detect objects in video frames. Meta data generated by the model is
attached to the video buffer as a custom GstObjectDetectorMeta meta.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1997>
2021-04-27 13:05:21 +00:00
Sebastian Dröge
f1ec6ddd5e decklinkvideosrc: Fix AFD/Bar VANC size check
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2193>
2021-04-26 15:03:34 +00:00
Sebastian Dröge
56af02f9c8 decklinkvideosrc: Automatically detect widescreen vs. normal NTSC/PAL
Based on the AFD aspect ratio flag the source can detect (in mode=auto)
whether this NTSC/PAL mode is actually a normal or a widescreen one and
select the caps according to that.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2193>
2021-04-26 15:03:34 +00:00
Olivier Crête
4b47b96ae1 jpegparse: Don't generate timestamp for 0/1 framerates
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2194>
2021-04-23 17:54:30 +00:00
Seungha Yang
00e1561bf2 d3d11decoder: Set flushing to internal pool on flush event
d3d11 decoders use internal pool for DPB texture and
Gst*Decoder::new_picture() will be blocked if internal pool is full.
We should be able to unblock in on flush-start event as expected.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2192>
2021-04-24 01:37:01 +09:00
Seungha Yang
e4fe65a03e d3d11: Fix wrong GstD3D11BufferPool type check
Fix typos

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2190>
2021-04-23 16:54:15 +09:00
Thibault Saunier
788dfdbfa6 rtpsrc: Fix wrong/NULL URI handling
We can reset the URI to NULL and this fix a deadlock in that case or
when the URI was invalid.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2132>
2021-04-23 01:23:03 +00:00
Nazar Mokrynskyi
fe190fb5eb webrtcbin: downgrade "dropping ICE candidates from SDP" from warning to debug level
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2187>
2021-04-23 00:15:26 +00:00
Olivier Crête
c690be3e03 webrtcbin: Attach rtpbin even for data channels
This is required because the same transport may later be used for RTP.
In which case the RTCP needs to flow bi-directionnally already.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2172>
2021-04-22 22:15:31 +00:00
Frederich Munch
6f2c010360 Fix missing unref of nice-agent causing sockets to never close.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1960>
2021-04-22 21:14:49 +00:00
Doug Nazar
4e29ba9fce webrtc: Fix sctp task's return type.
GstWebRTCBinFunc expects a GstStructure* return type.

Fixes segfault on PowerPC.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2188>
2021-04-22 16:14:41 -04:00
Seungha Yang
08b792d24c mfvideoenc: Fix UWP build
Add missing GST_MF_HAVE_D3D11 define guard

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2185>
2021-04-22 15:50:15 +09:00
Seungha Yang
2616fcfbac wasapi2: Fix UWP build
KSAUDIO_SPEAKER_* defines are WINAPI_PARTITION_DESKTOP only

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2185>
2021-04-22 15:42:23 +09:00
Mathieu Duponchelle
0fb7392131 tsdemux: fix truncated output segment when seeking with a stop
In disabling the stop adjustment for negative rates in
03031037fa , two instructions
were inverted resulting in the stop always being adjusted by
0

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2182>
2021-04-21 21:40:26 +00:00
Doug Nazar
be2996c48e tests/netsim: Set src caps before creating buffers
GstHarness requires the source pad caps to be set before
buffer allocations.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2179>
2021-04-21 09:05:44 +00:00
Seungha Yang
817544860d d3d11: Add support for BGRx and RGBx formats
For such formats, we can re-use existing BGRA/RGBA implementations
but ignoring alpha channel

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2174>
2021-04-21 05:45:59 +00:00
Seungha Yang
33078bf54a wasapi2: Implement default audio channel mask
Some capture devices might not provide channel mask value which will
result in capturing failure because of unknown channel mask in case
that device generates more than 2 channels. Although it might not
be correct, we can assume channel mask with the given number of channels.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2177>
2021-04-21 05:18:49 +00:00
Seungha Yang
f0ac468fb4 wasapi2clinet: Simplify set caps
Don't need to iterate all structure to set identical values

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2177>
2021-04-21 05:18:49 +00:00
Seungha Yang
6b7e08df90 wasapi2client: Run gst-indent
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2177>
2021-04-21 05:18:49 +00:00
Olivier Crête
bc817f340c webrtcbin test: Don't fail if data channel is created
In tests that voluntarily create a data channel.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2168>
2021-04-21 03:21:55 +00:00
Olivier Crête
813a320c06 webrtcbin: Filter caps isn't fixed
Fix an assertion because the filter paramter passed to
gst_caps_is_equal_fixed() wasn't fixed. So use the regular
gst_caps_is_equal() instead.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2175>
2021-04-19 19:06:50 -04:00
Seungha Yang
f72df7d4c4 d3d11: Update plugin doc cache
Updating for removed d3d11videosink wrapper bin and the change of
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2113

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2169>
2021-04-20 02:23:03 +09:00
Seungha Yang
094bfbedfc d3d11: Remove d3d11videosink wrapper bin
Drop d3d11videosink wrapper bin and handle texture upload
in d3d11videosink.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2169>
2021-04-20 02:01:30 +09:00
Philippe Normand
8b1051cdea webrtcdsp: Propagate VAD to audio level meta
Whenever the voice activity changed on the stream, update or create an
AudioLevelMeta and associate it to the corresponding buffer.

Fixes #1073

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2170>
2021-04-19 15:51:32 +00:00
Sebastian Dröge
c2635c154d cccombiner: Use correct enum when registering the max-scheduled property
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2171>
2021-04-19 13:51:57 +03:00
Thibault Saunier
a6c591b339 wpe: Remove code targeting WebKit < 2.24
We already depend on wk >= 2.24

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2165>
2021-04-15 14:06:59 -04:00
Thibault Saunier
f9ce3946a1 wpe: Make threaded view singleton creation thread safe
It was leading to interesting failures.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2165>
2021-04-15 13:29:43 -04:00
Seungha Yang
41879b20c2 d3d11: pluginutils: Fix wrong gst_memory_unmap() on _map() failure
It was obvious typo

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2164>
2021-04-15 00:05:03 +09:00
Doug Nazar
edbf0a6622 tests/avtp: increase timeout of test_depayloader_fragmented_big
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2160>
2021-04-14 07:05:13 +00:00
Doug Nazar
6faff99596 check: fix dash_mpdparser_check_mpd_client_set_methods test.
Setting guint64 valist properties without type specifier fails
on 32bit archs.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2161>
2021-04-14 06:35:25 +00:00
Doug Nazar
63b5ae0ffe line21enc: fix remove-caption-meta property test
It's possible for the same address to be allocated to the decoded
metadata. Switch test to actual detect if it was removed.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2159>
2021-04-13 16:34:15 -04:00
Doug Nazar
a1535a4dc3 tests: fix shm test deadlock
Stopping the consumer first would occasionally allow the producer
to fill the shm segment causing it to block in send() and unable
to be stopped.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2158>
2021-04-13 11:59:35 +00:00
Doug Nazar
a930b62afc check: Fix test dash_mpdparser_xlink_period
Test used http://404/ERROR/XML.period as an invalid url. Curl now
interprets that as an 32bit int and tries an actual connect which
timesout. Use .invalid as an IANA reserved domain for invalid DNS.

curl -v http://404/ERROR/XML.period
*   Trying 0.0.1.148:80...

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2157>
2021-04-13 10:17:47 +00:00
He Junyan
9bcb18ebce va: allocator: Fix an unmap typo in _va_copy.
No need to unmap the the src memory when failing to allocate the
dst mem. It has not been mapped yet.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2156>
2021-04-13 15:46:17 +08:00
Haihao Xiang
39538adfd6 msdk: don't fall back to the default device
Ohterwise when user set a wrong device, the warning message doesn't get
printed if user doesn't set a right debug level in the environment, this
behavior might mislead user that the wrong device is being used.

This fixed https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1567

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2138>
2021-04-13 01:23:43 +00:00
Olivier Crête
d67dcb2227 webrtcbin: Simplify answer_caps intersection code a little
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
2021-04-12 18:37:27 -04:00
Olivier Crête
474c4bf08f webrtcbin test: Wait for set-local-desc & set-remote-desc to continue
To avoid racing betwen the SDPs being set and the next step of the
test, let's wait for setting the SDP both locally and remotely to succeed.
of the test

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
2021-04-12 18:37:27 -04:00
Olivier Crête
12ab469ad3 webrtcbin: Move GstPromise reply to operation framework
This makes it possible to reply to all promises in a consistent way
without having to do a unlock/relock that is always risky.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
2021-04-12 18:37:27 -04:00
Olivier Crête
38ef12063d webrtcbin: Make sure PC_LOCK is release when replying to promise
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
2021-04-12 18:37:27 -04:00
Olivier Crête
913383166b webrtcbin: Take PC lock around all entry points
All of those action signals change the internal state, so
protect it by using the PC_LOCK

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
2021-04-12 18:37:27 -04:00
Olivier Crête
572c2b6783 webrtcbin: Take PC_LOCK when requesting new pad
This is needed to avoid having the state change under us.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
2021-04-12 18:37:27 -04:00
Olivier Crête
4a48e291ff webrtcbin test: Add for the case where a second m-line is renegotiated
This is for the case where there answerer forces a specific media type
for a m-line, but he origin offer only has the other media type. In this
case, we will create a second transceiver on receiving the offer and add
the desired media type using renegotiation.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
2021-04-12 18:37:27 -04:00
Olivier Crête
c7107fd940 webrtcbin: Ensure that query caps method returns valid caps
This means rejecting any caps that aren't fixed. Also, use a filter
that will create unfixed caps if the other side just returns ANY.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
2021-04-12 18:37:27 -04:00
Olivier Crête
09c65fe534 webrtcbin: Associate the stream with a new transceiver
Otherwise, this newly created transceiver has no stream and it
aborts later when it tries to connect the input pad.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
2021-04-12 18:37:27 -04:00
Olivier Crête
83e546f935 webrtcbin: Match unassociated transceiver by kind too
When a new m-line comes in that doesn't have a transceiver, only match
existing transceivers of the same kind.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
2021-04-12 18:37:27 -04:00