Jan Alexander Steffens (heftig)
88d7141ba4
rtpsink: Return proper pad from _request_new_pad
...
Bizarrely, it returned a pad from the child rtpbin. I noticed because
our application leaked the implicitly created ghost pad. Make an
explicit ghost pad so this works properly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2227 >
2021-05-07 12:07:05 +00:00
Jan Alexander Steffens (heftig)
ddac6ab91d
rist: Plug leak of rtcp_send_addr
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2225 >
2021-05-07 11:06:53 +00:00
Víctor Manuel Jáquez Leal
bd2bbadeb0
va: av1dec: Avoid structure overwrite.
...
VADecPictureParameterBufferAV1.mode_control_fields.bits were filled
twice, overwriting to zeros the first assignation. This patch unifies
both assignations.
Also it makes explicit an enum casting between libva and gstreamer; it
removes the assignation to zero a deprecated parameter; and use an
appropriate assertion.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2223 >
2021-05-07 11:22:33 +02:00
Matthew Waters
a78c907597
webrtc: only add nack pli by default if kind is video
...
Sending/receiving PLI's (Picture Loss Indication) for non-video doesn't
really make sense. This also matches what the browsers do.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2220 >
2021-05-06 12:19:51 +00:00
Matthew Waters
1470660976
webrtc: move webrtc_kind_from_caps() to utils
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2220 >
2021-05-06 12:19:51 +00:00
Seungha Yang
90edef103c
wasapi2: Propagate HRESULT error code everywhere
...
... instead of boolean value which cannot notify the reason
of the operation failure.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2219 >
2021-05-06 08:40:37 +00:00
Sebastian Dröge
da0e6b0afc
hlssink(2): Don't write deprecated EXT-X-ALLOW-CACHE metadata
...
It's deprecated since quite a few versions and various validators
complain about it. Instead of the in-manifest metadata this should be
handled by the normal HTTP caching headers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2221 >
2021-05-06 10:46:15 +03:00
Seungha Yang
81ac09cfda
decklinkvideosrc: Fix crash when mode is not specified
...
In that case, we will get "VideoInputFrameArrived" callback
without "VideoInputFormatChanged"
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2218 >
2021-05-06 01:37:33 +09:00
Nirbheek Chauhan
4c4f031207
h265parse: don't invalidate the last PPS when parsing a new SPS
...
This is a port of https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2019
to h265parse.
When a SPS is received then any previous PPS remains valid. So don't clear
the PPS flag from the parser state.
This is important because there are encoders that don't generated a PPS after
every SPS.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2217 >
2021-05-05 10:02:28 +00:00
François Laignel
ad3d7d34cc
Use gst_element_request_pad_simple...
...
Instead of the deprecated gst_element_get_request_pad.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2180 >
2021-05-05 06:17:14 +00:00
Stéphane Cerveau
eb96f50c45
mxf: check EOS cond with any segment's flag
...
The previous test was preventing the pad to be in EOS
when the segment position was greater than segment stop.
It ended up consuming all the data before getting in EOS.
Regarding GST_SEEK_FLAG_SEGMENT it seems to be
correctly handled later in the method.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2173 >
2021-05-04 19:11:27 +00:00
Stéphane Cerveau
c32f455b7b
mxfdemux: fix keyframe detection in index
...
An index entry should be considered as a keyframe
if the flags allow a random access only.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2173 >
2021-05-04 19:11:27 +00:00
Antonio Rojas
51e96fd2c3
Fix build with OpenEXR 3
...
Add a header that is no longer transitively included
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2195 >
2021-05-04 14:58:49 +00:00
Daniel Almeida
4900e3583a
codecs: gstvp9statefulparser: do not carry over segmentation flags
...
Do not carry over segmentation flags from previous frames. The spec
says in 7.2.10 that the feature data carry over from previous frames
if not updated, but the flags do not.
Consider what would happen if a flag B is to depend on a flag A, and
B carries over as set from another frame. Further consider that A is
now not set in this particular frame. This leads to the invalid state
in which flag B is set but flag A isn't.
This might cause the bitstream to be rejected by accelerators down
the line.
Fix it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2203 >
2021-04-30 16:49:28 +00:00
Seungha Yang
1039d70d18
d3d11desktopdup: Don't ignore error DXGI_ERROR_UNSUPPORTED
...
Although Microsoft's DXGIDesktopDuplication example is considering
the DXGI_ERROR_UNSUPPORTED as an expected error
(See https://github.com/microsoft/Windows-classic-samples/tree/master/Samples/DXGIDesktopDuplication )
it might not be recoverable error if application is
run against a discrete GPU
(See https://docs.microsoft.com/en-US/troubleshoot/windows-client/shell-experience/error-when-dda-capable-app-is-against-gpu )
Do early error out if the error happens while opening device,
instead of retrying it forever.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2208 >
2021-04-30 05:44:39 +00:00
Jakub Adam
fb8ed9e5d2
d3d11desktopdup: Support desktop switches
...
Before creating output duplication interface, call SetThreadDesktop()
with HDESK of the current input desktop in case a desktop switch has
occurred.
This allows d3d11desktopdupsrc to capture Windows User Account Control
(UAC) prompts, which appear on a separate secure desktop. Otherwise
IDXGIOutput1::DuplicateOutput() will return E_ACCESSDENIED and the
element won't produce any frames as long as the UAC screen is active.
Note that in order to access secure desktop the application still has to
run at LOCAL_SYSTEM privileges. For GStreamer applications running with
regular user privileges this change has no effect.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2209 >
2021-04-30 04:47:36 +00:00
Jakub Adam
aac012ce72
dxgicapture: reinitialize duplication interface on ERROR_ACCESS_LOST
...
IDXGIOutputDuplication can become invalid for example when there's
desktop switch, resolution change or Windows User Account Control prompt
appears on screen.
When that happens, try to re-create the duplication interface for the
changed output. Note that in the case of UAC prompt this operation will
fail if the GStreamer process doesn't run at LOCAL_SYSTEM privileges. In
such situation the source element won't create any frames as long as the
output is occupied by UAC screen.
In order to enable UAC access to sufficiently privileged GStreamer
processes, call SetThreadDesktop() with the desktop handle that
currently receives user input before creating our output duplication.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2204 >
2021-04-30 04:06:42 +00:00
Haihao Xiang
6750123d5c
msdk: set correct parameters for BGRx frame
...
Otherwise when mapping BGRx frame onto CPU's memory, CPU will get wrong
data for B, G, R components
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2205 >
2021-04-30 02:12:46 +00:00
Matthew Waters
5835f2aa8d
webrtc: advertise support for transport-cc rtcp-fb by default
...
Still requires explicit enabling by the application through the header
extension on all the relevant payloaders.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2207 >
2021-04-29 22:01:54 +10:00
Matthew Waters
1ab58736df
webrtc/stats: provide the twcc stats when available
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2207 >
2021-04-29 22:01:54 +10:00
Víctor Manuel Jáquez Leal
166082f3c3
va: allocator: Disable derived for Gallium if RGB and reading.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2127 >
2021-04-28 12:08:58 +02:00
Víctor Manuel Jáquez Leal
ced093c738
va: allocator: Disable derived for i965 if YUV and writing.
...
The problem is for uploading YUV frames using derived images, is that
derived images imply tiling, so frames are wrongly uploaded.
Though derived for reading might work we cannot know the Intel graphics
generation to validate the caching. Overall, it's safer to disable derived
images for i965.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2127 >
2021-04-28 12:06:17 +02:00
Víctor Manuel Jáquez Leal
2b0fa73c10
va: display: Fix typo.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2127 >
2021-04-28 11:39:24 +02:00
Víctor Manuel Jáquez Leal
e2ff55b40d
va: allocator: Hack for i965 to get linear RGB DMABufs.
...
i965 driver has a hack to provide linear dmabufs, which is required for RGB
formats, since they are directly uploaded by glupload, ignoring tiled modifiers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2127 >
2021-04-28 11:39:24 +02:00
Víctor Manuel Jáquez Leal
672c977927
va: postproc: Remove unused parameter.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2127 >
2021-04-28 11:39:24 +02:00
Víctor Manuel Jáquez Leal
9365073d50
va: postproc: Set usage hint generic if DMABuf.
...
iHD driver sets a tiled DRM modifier if surface's usage hint is set to
VPP_WRITE. This result in a garbled rendering when using glimagesink.
This patch changes the usage hint to generic if the caps feature is
DMABuf. Either way only iHD driver, so far, uses the usage hint flag.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2127 >
2021-04-28 11:39:24 +02:00
Víctor Manuel Jáquez Leal
b4535093f6
va: postproc: Get info from caps in decide_allocation()
...
decide_allocation() occurs before set_caps(), where out_info is set,
thus setting srcpad_info with zeros or old values. Instead of it, the
caps, from the allocation query, are converted and used.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2127 >
2021-04-28 11:39:24 +02:00
Timo Wischer
2ef4639fe0
avtp: crf: Remove superfluous sink_event variable
...
This variable was introduced by commit 12ad2a4bcd
("avtp: Introduce
the CRF Sync Element") but it was never used:
$ git log -G "sink_event" -- ext/avtp
Signed-off-by: Timo Wischer <timo.wischer@de.bosch.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2201 >
2021-04-28 08:59:14 +00:00
Haihao Xiang
449f0ee52a
msdkh265dec: Add support for error report too
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/909 >
2021-04-28 08:30:38 +00:00
Haihao Xiang
5d891eb40c
msdkh264dec: report error to user
...
Sometimes user want to know what the error is when decoding a stream,
This commit adds a property of report-error to msdkh264dec. When
report-error is TRUE, msdkh264dec may catch bitstream error and frame
corruption, then report the error to application by using GST_ELEMENT_ERROR
Refer to the code in
https://github.com/Intel-Media-SDK/MediaSDK/tree/master/samples
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/909 >
2021-04-28 08:30:38 +00:00
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