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
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
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
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
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
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
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
Olivier Crête
7db5848376
webrtcbin: Fix typoe in name of error GstStructure
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104 >
2021-04-12 18:37:27 -04:00
Olivier Crête
7f29486ba4
webrtcbin: Enforce direction on request sink pad with a specific name
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104 >
2021-04-12 17:55:07 -04:00
Olivier Crête
5971a96109
webrtcbin: Try to match an existing transceiver on pad request
...
This should avoid creating extra transceivers that are duplicated.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104 >
2021-04-12 17:55:07 -04:00
Olivier Crête
2ca4cea538
webrtcbin: Validate locked m-lines in set*Description
...
Verify that the remote description match the locked m-lines, otherwise
just reject the SDP.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104 >
2021-04-12 17:55:07 -04:00
Olivier Crête
be84cc2c54
webrtcbin: Remove unused session_mid_map
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104 >
2021-04-12 17:55:07 -04:00
Olivier Crête
08dd305a20
webrtcbin: Enforce m-line restrictions when creating offer
...
First fail the offer creation if the mid of an existing offer doesn't
match a forced m-mline.
Then, for all newly added mlines, first look for a transceiver that
forces this m-line, then add a "floating" one, then the data channel.
And repeat this until we're out of transceivers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104 >
2021-04-12 17:55:07 -04:00
Olivier Crête
ed1f0f33a2
webrtcbin: Remember if a transceiver had a forced m-line
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104 >
2021-04-12 17:55:07 -04:00
Olivier Crête
92d356d4b0
webrtcbin: Enforce same-kind on request sink pad with a specific name
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104 >
2021-04-12 17:55:07 -04:00
Olivier Crête
249b2d54d7
webrtcbin: Enforce compatible caps on pad request
...
If a pad is requested with certain caps and there is already a
transceiver, reject the pad request if the caps don't match.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104 >
2021-04-12 17:55:07 -04:00
Olivier Crête
902e40cae2
webrtcbin: Reject pad request for a specific m-line if it already exists
...
This way, the app developer is in control.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104 >
2021-04-12 17:55:07 -04:00
Olivier Crête
0e2d128bec
webrtcbin: Make request-pad validation an early return
...
This reduces the indendation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104 >
2021-04-12 17:55:07 -04:00
Olivier Crête
0f758a1730
webrtcbin: Add document for webrtcbin itself to generated doc
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104 >
2021-04-12 17:55:07 -04:00
Olivier Crête
3be72a6c86
webrtc: Reset received_caps when releasing pad
...
This is to work around a race where the pad is accessed in the
webrtc main thread while being released.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104 >
2021-04-12 17:55:07 -04:00
Olivier Crête
b6114a7fed
webrtcbin: Split pad name from mline
...
The simple case where this breaks is if you add a
datachannel and want to add a new pad (a new media) after). Another
case where this is broken is if the order of the media is forced to
something different by the peer.
It's more simple to just split both things completely. In practice, the
pads will be named in the order in which they are allocated, so it
shouldn't change the current behaviour, just enable new ones.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104 >
2021-04-12 17:55:06 -04:00
Zhao Zhili
57d8de68d1
srtobject: fix optlen of srt_getsockflag
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2149 >
2021-04-08 20:30:20 +08:00
Olivier Crête
0633bef05d
ldacenc: Emit message on errors
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1875 >
2021-04-08 00:38:47 +00:00
Olivier Crête
e041ff697d
sbc: Return hard error on allocation or mapping error
...
Also post a message on the bus in these cases.wpe: Emit load-progress messages
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1875 >
2021-04-08 00:38:47 +00:00
Olivier Crête
98bd83484c
sbc/ldac: Don't use GST_CAPS_NONE to mean NULL
...
The GST_CAPS_NONE macro actually returns a instance of
a empty caps.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1874 >
2021-04-07 21:14:50 +00:00
Doug Nazar
dbff4c6f06
avtp: Fix log format macros
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2145 >
2021-04-07 04:16:01 -04:00
Sebastian Dröge
337481be32
curlsftpsink: Don't run GST_DEBUG_OBJECT() on a class struct
...
It's supposed to be a GObject.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2141 >
2021-04-06 19:18:45 +03:00
Mathieu Duponchelle
ff3cce38b6
line21dec: relax caps requirements
...
Instead of requiring interlaced video, simply skip CC detection
when the input is progressive.
This allows placing line21decoder unconditionally in pipelines,
without having to worry about whether the input stream will be
interlaced, or even worse interlacing just in case!
+ update doc cache
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1885 >
2021-04-03 00:42:15 +00:00
Mathieu Duponchelle
42586dd536
line21dec: expose mode property
...
That new property can be used to control whether and how
detected CC meta should be inserted in the list of existing
CC meta on the input frame (if there was any).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1885 >
2021-04-03 00:42:14 +00:00
Mathieu Duponchelle
c915cb923e
line21dec: expose ntsc-only property
...
When this is set, the element only tries to detect CC when the
height is 525 or 486 (NTSC resolutions). The height is already
checked.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1885 >
2021-04-03 00:42:14 +00:00
Stéphane Cerveau
1fc9cc06db
flite: allow per feature registration
...
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
<https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038 >
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2123 >
2021-03-30 10:49:49 +00:00
Stéphane Cerveau
26d88d4ed9
dtls: hotfix: allow per feature registration
...
Use of GST_ELEMENT_REGISTER in plugin.c
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2123 >
2021-03-30 10:49:49 +00:00
Stéphane Cerveau
10d245f06c
gs: remove clang formatting
...
remove clang formatting during
the build.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2115 >
2021-03-30 09:51:18 +00:00
Stéphane Cerveau
d73ed3891a
gs: allow per feature registration
...
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2115 >
2021-03-30 09:51:18 +00:00
Stéphane Cerveau
9eb14d2d11
zxing: allow per feature registration
...
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038 >
2021-03-23 14:19:17 +00:00
Stéphane Cerveau
1277fd56b1
zbar: allow per feature registration
...
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038 >
2021-03-23 14:19:17 +00:00
Stéphane Cerveau
42a8702919
x265: allow per feature registration
...
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038 >
2021-03-23 14:19:17 +00:00
Stéphane Cerveau
1fd8b4a6b7
wpe: allow per feature registration
...
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038 >
2021-03-23 14:19:17 +00:00
Stéphane Cerveau
f4c9989782
wildmidi: allow per feature registration
...
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038 >
2021-03-23 14:19:17 +00:00