Seungha Yang
bc99ea1e30
d3d11decoder: Disable zero-copy for blacklisted device
...
Should enable it for verified devices. For now, Xbox is blacklisted
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1339 >
2020-06-16 10:49:02 +00:00
Seungha Yang
1144cdc63a
d3d11decoder: Adjust alignment constraint for Xbox device
...
XBox doesn't seem to support 128 bytes alignment for 4K HEVC
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1339 >
2020-06-16 10:49:02 +00:00
Seungha Yang
fe361ecc25
d3d11window: Do not configure video processor for Xbox device
...
Disable video processor for Xbox until it's verified
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1339 >
2020-06-16 10:49:02 +00:00
Seungha Yang
d12c0c4c7b
d3d11utils: Add a helper method for checking Xbox device
...
Required for some cases to work around device specific issue
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1339 >
2020-06-16 10:49:02 +00:00
Seungha Yang
b5c8889d4f
d3d11videosink: Use GPU memory copy if possible
...
Even if fallback buffer is required (e.g., shader resource view is unavailable),
use direct GPU memory copy if possible. It must be much faster than
system memory copy approach.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1339 >
2020-06-16 10:49:02 +00:00
Seungha Yang
73b39407a6
d3d11videosink: Ensure shader resource view of fallback buffer
...
SRV must be configured for color conversion
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1339 >
2020-06-16 10:49:02 +00:00
Seungha Yang
4471788e4a
d3d11window: Fix typo "configureed"
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1339 >
2020-06-16 10:49:02 +00:00
Jun-ichi OKADA
d43c5b6485
winscreencap: Add dxgiscreencapsrc element.
...
This element uses the Desktop Duplication API to capture the desktop screen at high speed.
It supports Windows 8 or later.
It has the following features compared to other elements:
* Runs faster.
* It works in High DPI environment.
* Draws an accurate mouse cursor.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/863 >
2020-06-16 10:30:13 +09:00
Xu Guangxin
610e477565
msdkdec: hold a reference for the surfaces locked by msdk
...
previous code releases GstBuffer too earlier. so we will see
ERROR default gstmsdkvideomemory.c:77:gst_msdk_video_allocator_get_surface: failed to get surface available
ERROR msdkbufferpool gstmsdkbufferpool.c:270:gst_msdk_buffer_pool_alloc_buffer:<msdkbufferpool0> failed to create new MSDK memory
We need to hold GstBuffer reference for msdk if the surfaced locked by msdk.
step to reproduce.
1. ffmpeg -f lavfi -i testsrc=duration=10:size=320x240:rate=30 -pix_fmt yuv420p -c:v libx265 test.265
2. GST_GL_PLATFORM=egl gst-launch-1.0 -v filesrc location=test.265 ! h265parse ! msdkh265dec ! queue ! glimagesink
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1277 >
2020-06-15 02:46:53 +00:00
Matthew Waters
3cf0abddbb
vulkan/shaders: add explicit license headers
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1338 >
2020-06-12 15:52:44 +10:00
Matthew Waters
1f44cb0519
vulkan/shaders: manually indent bin2array
...
Looks much nicer with some semblance of code formatting
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1338 >
2020-06-12 15:52:44 +10:00
Seungha Yang
a2f2ebbe01
codecs: h265picture: Don't leak pic_list GArray
...
Equivalent to the commit 7b8c071f9c
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1337 >
2020-06-11 23:42:47 +00:00
Tim-Philipp Müller
c7095abd31
yadif: remove plugin, there's now deinterlace method=yadif
...
Plugin code was still the GPL version, and the
functionality has now been moved into the deinterlace
element in gst-plugins-good as method=yadif (and LGPL).
See https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/444
and https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/621
Closes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/216
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/463
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1336 >
2020-06-11 21:52:49 +01:00
Seungha Yang
2e1bec7ff6
wasapi2: Fallback to IAudioClient interface if IAudioClient3 API is unavailable
...
When default device is selected, IAudioClient3 API doesn't look like
available.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1332 >
2020-06-11 12:40:44 +00:00
Vivia Nikolaidou
969e647925
interlace: Fix crash with empty caps in setcaps
...
If the src_peer_caps are EMPTY (e.g. negotiation failed somewhere), the
assertion inside gst_video_info_from_caps would fail and the whole
pipeline would crash. Check for gst_caps_is_empty before
gst_video_info_from_caps and gracefully fail if it's empty.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1333 >
2020-06-11 12:06:17 +00:00
Seungha Yang
7ab51e85ab
wasapi: Fix possible deadlock while downwards state change
...
IAudioClient::Stop() doesn't seem to wake up the event handle,
then read() or write() could be blocked forever by WaitForSingleObject.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1329 >
2020-06-11 11:40:26 +00:00
Thibault Saunier
3e507dc073
docs: Update plugins cache
2020-06-10 10:40:56 -04:00
Haihua Hu
d77de13ca6
waylandsink: add wl_registry.global_remove listener
...
when hotplug display, wayland client will call this listener
to notify client do clean up. Temporarily set a dummy function
here to avoid app abort
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1327 >
2020-06-09 19:54:24 +00:00
Thibault Saunier
ebababae03
srt: doc: Add missing gst_type_mark_as_plugin_api
2020-06-09 12:28:13 -04:00
Thibault Saunier
af26b95c29
docs: Mark lv2 runtime generated enums as plugins API types
2020-06-09 12:28:13 -04:00
Thibault Saunier
60fba5f380
docs: Add some more plugin API types
...
And allow creating vulkan device object without specifying an instance
so it can be introspected.
2020-06-09 12:28:13 -04:00
Thibault Saunier
3a98a37375
docs: Update plugins cache
2020-06-09 12:28:13 -04:00
Nicolas Dufresne
483539f45c
v4l2slh264dec: Fix reading mode and start code type
...
These two controls are not pointer based, so we don't need to pass any size or
pointer and need to copy the values afterward. This fixes H264 decoding
regression with Hantro and RKVDEC drivers.
Fixes 037730a787
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1330 >
2020-06-09 10:52:44 -04:00
Seungha Yang
52a82f5b84
mftransform: Fix deadlock when MFT requests processing output twice
...
This sequence of event/data flow might happen
1) Initially we have one pending output event
1-1) Then, process the pending output data
2) No pending input event, then we should wait new pending input event
2-1) Wakeup by new pending event (but it's pending output event)
In above case, MFT will not report new pending input event
if pending output is not processed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1325 >
2020-06-08 23:46:43 +09:00
Seungha Yang
309c679c43
mftransform: Add some debug log
...
Add some trace level log for debugging
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1325 >
2020-06-08 23:42:22 +09:00
Edward Hervey
9a335105f8
adaptivedemux: Handle live duration queries
...
Handle it the same way live sources would, that it by handling the query and
return an unknown duration.
Fixes #566
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1279 >
2020-06-08 08:44:27 +00:00
Seungha Yang
57c8ad1dbc
tests: wasapi2: Add unit test for reusing wasapisrc
...
Test state change between playing and null and playing again
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1264 >
2020-06-08 03:10:05 +00:00
Seungha Yang
a6a4267c7b
wasapi2: Add device provider implementation
...
Similar to device provider implementation of wasapi plugin,
this implementation supports only static probing.
But we can implement runtime device add/remove/update
monitoring using DeviceWatcher interface later.
See https://docs.microsoft.com/en-us/uwp/api/windows.devices.enumeration.devicewatcher
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1264 >
2020-06-08 03:10:05 +00:00
Seungha Yang
2778457678
wasapi2: Introduce new WASAPI plugin
...
Add a new wasapi implementation mainly to support UWP application.
Basically the core logic of this plugin is almost identical to
existing wasapi plugin, but main target is Windows 10 (+ UWP).
Since this plugin uses WinRT APIs, this plugin most likely might not
work Windows 8 or lower.
Compared with existing wasapi plugin, additional features of this plugin are
* Fully compatible with both Windows 10 desktop and UWP application
* Supports automatic stream routing (auto fallback when device was removed)
* Support device level mute/volume control
But some features of existing wasapi plugin are not implemented
in this plugin yet
* Exclusive streaming mode is not supported
* Loopback feature is not implemented
* Cross-compile is not possible with current mingw toolchain
(meaning that MSVC and Windows 10 SDK are required to build this plugin)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1264 >
2020-06-08 03:10:05 +00:00
Seungha Yang
0f74785b8e
mfvideoenc: Set PAR to output IMFMediaType
...
We've set it to input IMFMediaType but not for output.
So, if PAR is not 1:1, the input IMFMediaType will be accepted
by MFT (default is 1:1).
The PAR of input/output IMFMediaType must be identical
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1322 >
2020-06-06 21:19:48 +09:00
Seungha Yang
cec6858401
mftransform: Don't try to drain if MFT is not running
...
Otherwise MFT will be blocked forever as no event can be generated by
IMFMediaEventGenerator.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1322 >
2020-06-06 21:03:05 +09:00
Mathieu Duponchelle
a048ce81d4
plugins: uddate gst_type_mark_as_plugin_api() calls
2020-06-06 00:40:42 +02:00
Seungha Yang
a38ac7a865
d3d11overlaycompositor: Fix wrong Y position calculation
...
The Y coordinate of vertex and screen/image are opposite
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1319 >
2020-06-05 13:47:49 +00:00
cketti
2408fbe92d
curlsmtpsink: Use correct email date format
...
See https://www.rfc-editor.org/rfc/rfc5322.html#section-3.3
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1317 >
2020-06-05 08:22:34 +00:00
Matthew Waters
8396e16f85
ccconverter: signal cea608 padding as invalid
...
Outputting a valid but null cea608 byte pair may cause some issues with
some checksum packets.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1318 >
2020-06-05 07:36:22 +00:00
Matthew Waters
bfd03537f0
ccconverter: also copy buffer metadata when draining
...
Fixes buffers without PTS/DTS/meta/etc when receiving an EOS with data
still stored in the internal scratch buffer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1318 >
2020-06-05 07:36:22 +00:00
Matthew Waters
00bbaff371
ccconverter: Output the limit hit in debug lines
...
Fix two case of the input triplet limit not applying in cea608 -> cdp
conversion.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1318 >
2020-06-05 07:36:22 +00:00
Thibault Saunier
a7c8e5a010
doc: Require hotdoc >= 0.11.0
2020-06-04 13:33:16 -04:00
Thibault Saunier
d9ffa3b3b2
doc: Fix spelling of GstWebRTCICE
2020-06-04 13:33:16 -04:00
Sebastian Dröge
01bbcb3642
docs: Update gst_plugins_cache.json
2020-06-04 13:33:16 -04:00
Sebastian Dröge
a5b1e1e96d
clockselect: Don't register GstClockSelectClockId multiple times
2020-06-04 13:33:16 -04:00
Sebastian Dröge
74f2f733be
plugins: Use gst_type_mark_as_plugin_api() for all non-element plugin types
2020-06-04 13:33:16 -04:00
Peter Workman
b98712c44a
srtobject: continue polling or report error on failed receive
...
fixes #1277
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1260 >
2020-06-03 09:31:42 +00:00
Seungha Yang
c4a2fd7683
d3dvideosink: Use secondary rank
...
d3dvideosink will be replaced by d3d11videosink
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1311 >
2020-06-03 17:57:40 +09:00
Seungha Yang
116d7453cb
d3d11videosink: Assign primary rank
...
d3d11videosink has an advantage over d3dvideosink, such as
* Zero-copy playback with d3d11 decoders
* HDR rendering with 10-bit format/swapchain support
* UWP support
* Any system memory alignment/padding can be supported
* User can select target GPU device
And old d3dvideosink's functionality (e.g., navigation event, overlaycomposition)
can be covered by d3d11videosink
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1311 >
2020-06-03 17:57:41 +09:00
Sebastian Dröge
ab82893941
webrtc: Add Since: 1.18
markers to the new datachannel library API
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1315 >
2020-06-03 10:32:00 +03:00
Jan Alexander Steffens (heftig)
a1bc9d4319
srt: Make logging regarding callers more useful
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1273 >
2020-06-03 04:23:14 +00:00
Sebastian Dröge
b25d153c34
webrtc: Add GstWebRTCDataChannel to the library API
...
This makes it more discoverable for bindings and allows bindings to
generate static API for the signals and functions.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1168
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1313 >
2020-06-02 21:04:37 +00:00
Matthew Waters
a4d900332b
vulkanimagememory: fix use-after-free releasing a view
...
If the view has the last reference to the image, then
gst_clear_mini_object will destroy the image and the lock used in the
next line.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1314 >
2020-06-02 13:58:13 +10:00
Matthew Waters
dd44bc3a2d
vkimagememory: actually check the length of a ptr array
...
Not it's value is > 0 which should always be true.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1314 >
2020-06-02 13:58:13 +10:00