Seungha Yang [Mon, 22 Jun 2020 11:15:13 +0000 (20:15 +0900)]
nvh264sldec: Remove useless double space
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1357>
Seungha Yang [Fri, 19 Jun 2020 20:57:59 +0000 (05:57 +0900)]
nvcodec: Add H265 stateless codec implementation
Add a new GstCodecs based H265 decoder element
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1357>
Seungha Yang [Thu, 18 Jun 2020 19:50:26 +0000 (04:50 +0900)]
nvcodec: Move common methods to nvdecoder
... and remove all #ifdef from nvh264sldec implementation.
New helper methods will take care of OpenGL specific ones.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1357>
Seungha Yang [Thu, 18 Jun 2020 19:36:15 +0000 (04:36 +0900)]
nvh264sldec: Declare OpenGL related objects unconditionally
GstGLDisplay and GstGLContext are subclass of GstObject so we can
remove #ifdef for such object. This is prework for nvh265sldec.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1357>
Seungha Yang [Thu, 18 Jun 2020 19:10:48 +0000 (04:10 +0900)]
nvh264sldec: Fix for possible wrong device selction
decoder should select assigned CUDA device id
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1357>
Nirbheek Chauhan [Tue, 23 Jun 2020 14:01:42 +0000 (19:31 +0530)]
meson: Add missing pc file for gstphotography
This is supposed to be used by apps like Cheese, and is a public
library.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1365>
Nirbheek Chauhan [Tue, 23 Jun 2020 13:33:12 +0000 (19:03 +0530)]
meson: Add missing pkgconfig files for gsttranscoder
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1365>
Vivia Nikolaidou [Fri, 19 Jun 2020 07:50:12 +0000 (10:50 +0300)]
interlace: Re-indentation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1349>
Vivia Nikolaidou [Thu, 18 Jun 2020 20:52:01 +0000 (23:52 +0300)]
interlace: Don't change field-pattern on PAUSED or PLAYING state
It would otherwise change the caps the element produces and cause the
element to misbehave
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1349>
Vivia Nikolaidou [Thu, 18 Jun 2020 19:56:57 +0000 (22:56 +0300)]
interlace: Don't fail negotiation if capsfilters decide framerate
Try to negotiate if the framerates on either sides of the interlace are
decided using capsfilters and the framerates are correct. Otherwise the
following pipelines would fail to negotiate:
gst-launch-1.0 videotestsrc !
video/x-raw,framerate=24/1,interlace-mode=progressive ! interlace
field-pattern=2 ! video/x-raw,framerate =30/1 ! fakesink
gst-launch-1.0 videotestsrc !
video/x-raw,framerate=60/1,interlace-mode=progressive ! interlace
field-pattern=0 ! video/x-raw,framerate=30/1 ! fakesink
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1349>
Vivia Nikolaidou [Thu, 18 Jun 2020 19:15:08 +0000 (22:15 +0300)]
interlace: Restrict passthrough conditions
Don't do passthrough if interleave-mode=mixed or if we have one of the
telecine modes
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1349>
Vivia Nikolaidou [Thu, 18 Jun 2020 18:10:56 +0000 (21:10 +0300)]
interlace: Add field switching mode for 2:2 field pattern
In the 2:2 field pattern, interlace can switch from bottom-field-first
to top-field-first.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1349>
Vivia Nikolaidou [Thu, 18 Jun 2020 18:11:17 +0000 (21:11 +0300)]
interlace: Only half the framerate for 1:1 field pattern
Keep the framerate for 2:2 field pattern, and completely remove it from
the caps for all others. Otherwise, negotiation will fail if caps on
both sides of the element specify a framerate.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1349>
Vivia Nikolaidou [Thu, 18 Jun 2020 17:41:35 +0000 (20:41 +0300)]
interlace: Add FIXME comment about false passthrough bug
If interlace-mode is missing from upstream caps, we can falsely do
passthrough when in fact we'd have to switch fields.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1349>
Thibault Saunier [Tue, 23 Jun 2020 16:30:51 +0000 (12:30 -0400)]
docs: Update plugins cache
Thibault Saunier [Tue, 23 Jun 2020 15:36:15 +0000 (11:36 -0400)]
openmpt: Namespace enum GType names
Thibault Saunier [Tue, 23 Jun 2020 15:33:45 +0000 (11:33 -0400)]
docs: Unmark wrongly marked plugin API types
Thibault Saunier [Tue, 23 Jun 2020 14:03:04 +0000 (10:03 -0400)]
docs: Document basecamerabinsrc
Mathieu Duponchelle [Tue, 23 Jun 2020 00:51:48 +0000 (02:51 +0200)]
docs: mark more types as plugin API
Mathieu Duponchelle [Mon, 22 Jun 2020 22:12:59 +0000 (00:12 +0200)]
plugins_cache: add base classes
Mathieu Duponchelle [Mon, 22 Jun 2020 22:05:36 +0000 (00:05 +0200)]
meson: mark plugins cache target as always stale
Mathieu Duponchelle [Sat, 20 Jun 2020 23:32:50 +0000 (01:32 +0200)]
docs: mark more types as plugin API
Mathieu Duponchelle [Sat, 20 Jun 2020 23:32:29 +0000 (01:32 +0200)]
docs: generate documentation for libgstopencv
Thibault Saunier [Fri, 19 Jun 2020 23:40:52 +0000 (19:40 -0400)]
doc: Stop documenting properties from parents
Sebastian Dröge [Tue, 23 Jun 2020 06:50:46 +0000 (09:50 +0300)]
audiobuffersplit: Specify in the template caps that only interleaved audio is supported
Needs special support for non-interleaved audio and e.g. use the
GstPlanarAudioAdapter.
See https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/779
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1363>
Sebastian Dröge [Mon, 22 Jun 2020 09:32:50 +0000 (12:32 +0300)]
webrtcbin: Don't call gst_ghost_pad_construct() anymore
It's deprecated, unneeded and doesn't do anything anymore.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1360>
Vivia Nikolaidou [Thu, 18 Jun 2020 18:21:26 +0000 (21:21 +0300)]
Revert "h264parse: Include `interlace-mode` in caps"
This reverts commit
b75a61342f4ea039d922a966f36b02cd9d9c3ad8.
The parser would only set the mode to progressive or mixed, missing the
cases where it should have been interleaved. Interleaved is more
difficult to detect because in h264 it happens per frame. On the other
hand, h264 decoders detect the interlacing information per-frame and set
the caps correctly. By giving potentially incorrect interlacing
information in the parser already, it's being enforced downstream even
after decoding, breaking some use cases (e.g. an encoder can't properly
mark the stream as TFF or BFF). On the other hand, there's no valid use
case for having interlacing information on the caps at the parsing
stage, so after a lot of discussion, it was decided to revert this.
Initial commit message:
=========================
Those are the rules:
In the SPS:
* if frame_mbs_only_flag=1 => all frame progressive
* if frame_mbs_only_flag=0 => field_pic_flag defines if each frame is
progressive or interlaced, thus the mode is 'mixed' in GStreamer
terms.
https://bugzilla.gnome.org/show_bug.cgi?id=779309
=========================
Fixes #1313
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1335>
Seungha Yang [Mon, 22 Jun 2020 09:42:45 +0000 (18:42 +0900)]
d3d11window_win32: Chain up mouse event to parent window
Unlike key event, mouse event will not be chained up to parent window
by DefWindowProc
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1361>
Seungha Yang [Fri, 19 Jun 2020 13:14:29 +0000 (22:14 +0900)]
dxgiscreencapsrc: Load HLSL compiler library using g_module_open
Depending on OS version, available d3dcompiler library name is different.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1355>
Seungha Yang [Fri, 19 Jun 2020 14:02:45 +0000 (23:02 +0900)]
dxgiscreencapsrc: Reorganize debug category usage
Use the same debug category in all dxgiscreencap related source code
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1355>
Seungha Yang [Fri, 19 Jun 2020 12:43:15 +0000 (21:43 +0900)]
winscreencap: Remove trailing whitespaces
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1355>
Seungha Yang [Fri, 19 Jun 2020 12:34:32 +0000 (21:34 +0900)]
d3d11device: Print supported DXGI format for debugging
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1355>
Seungha Yang [Fri, 19 Jun 2020 12:24:59 +0000 (21:24 +0900)]
d3d11: Load HLSL compiler library using g_module_open
Depending on OS version, available d3dcompiler library name is different.
But for UWP, we can still use the current way
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1355>
Seungha Yang [Fri, 19 Jun 2020 11:40:24 +0000 (20:40 +0900)]
d3d11shader: Add missing config.h include
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1355>
Matthew Waters [Sun, 21 Jun 2020 06:02:43 +0000 (16:02 +1000)]
webrtc: fix ice control mode when we offer initially
An initial offer means we have a local description not a remote
description.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1332
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1358>
Seungha Yang [Sun, 24 May 2020 15:15:14 +0000 (00:15 +0900)]
mediafoundation: Add VP9 encoder element
Some Intel GPUs support hardware accelerated VP9 encoding and
Microsoft provides software VP9 encoding implementation as well.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1295>
Vivia Nikolaidou [Thu, 18 Jun 2020 09:15:09 +0000 (12:15 +0300)]
fdkaacenc: Add missing SURROUND mappings
SURROUND is more to spec according to the FIXME comments, so add this.
Also add SIDE for 5 and 5.1 because of ffmpeg compatibility, because the
following pipeline downmixes to mono otherwise:
gst-launch-1.0 audiotestsrc num-buffers=1 ! audio/x-raw, channels=6 !
avenc_ac3 ! avdec_ac3 ! audioconvert ! fdkaacenc ! fakesink -v
Fixes #1327
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1352>
Matthew Waters [Sun, 14 Jun 2020 15:38:03 +0000 (01:38 +1000)]
vulkan: log extension/layers available/enabled on instance/device creation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1341>
Matthew Waters [Sun, 14 Jun 2020 15:26:08 +0000 (01:26 +1000)]
vulkan/device: expose extension/layer choices
Extensions and layers can be enabled before calling
gst_vulkan_device_open(). The available extensions are stored in
GstVulkanPhysicalDevice.
Defaults are still the same.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1341>
Matthew Waters [Sun, 14 Jun 2020 11:04:37 +0000 (21:04 +1000)]
vulkan/instance: privatise defult debug callback
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1341>
Matthew Waters [Sun, 14 Jun 2020 11:00:06 +0000 (21:00 +1000)]
vulkan/instance: expose extension/layer choices
Extensions and layers can be enabled before calling
gst_vulkan_instance_open() but after calling
gst_vulkan_instance_fill_info().
Use the list of available extensions to better choose a default display
implementation to use based on the available Vulkan extensions for surface
output.
Defaults are still the same.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1341>
Matthew Waters [Sat, 13 Jun 2020 07:40:02 +0000 (17:40 +1000)]
vulkan/physical-device: dump some more information to logs
Also dump the Vulkan 1.1 and Vulkan 1.2 device properties/features
where supported.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1341>
Matthew Waters [Sat, 13 Jun 2020 07:31:07 +0000 (17:31 +1000)]
vulkan/instance: add vulkan API version selection and checking
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1341>
Matthew Waters [Sat, 13 Jun 2020 07:29:57 +0000 (17:29 +1000)]
vulkan/wayland: initialise debug category before debug logging
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1341>
Nicolas Dufresne [Fri, 19 Jun 2020 16:15:53 +0000 (12:15 -0400)]
nalutils: Improve slightly the error trace
Until now, bound check would simply trace the values and the range. This
enhances the trace by also tracing the name of the variable that was to be set
or read. This is not magically perfect in all cases, but greatly speed the
debugging work. Here's an example before and after this change:
Before: gst_h264_parser_parse_slice_hdr: value not in allowed range. value: 819183, range -87-77
After: gst_h264_parser_parse_slice_hdr: value for 'slice->slice_qp_delta' not in allowed range. value: 819183, range -87-77
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1356>
Jan Alexander Steffens (heftig) [Thu, 12 Dec 2019 11:58:24 +0000 (12:58 +0100)]
Revert "errorignore: Added convert-error signal"
The introduced API has [some problems][1] and [a better solution][2] was
found that made the feature obsolete.
This reverts commit
f7626c1f2ac14a34991723df6c28f54af38fcbc4.
[1]: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/736#note_357702
[2]: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/736#note_238830
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/916
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/916>
Tim-Philipp Müller [Fri, 19 Jun 2020 23:28:22 +0000 (00:28 +0100)]
Back to development
Tim-Philipp Müller [Fri, 19 Jun 2020 18:22:18 +0000 (19:22 +0100)]
Release 1.17.1
Tim-Philipp Müller [Fri, 19 Jun 2020 16:20:02 +0000 (17:20 +0100)]
srt: add "empty" subclasses for deprecated srt{client,server}{src,sink}
The doc system gets confused when we register the exact same
class as multiple elements, so make a subclass for each.
Also wrap registration of deprecated elements with #ifndef GST_REMOVE_DEPRECATED.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1354>
Tim-Philipp Müller [Fri, 19 Jun 2020 14:31:04 +0000 (15:31 +0100)]
x265: ignore tune property when diffing generated docs
Unfortunately it means those tune enums don't show up in
the docs then, but if that's how it's gotta be..
(Problem at hand is that on Tim's machine x265enc gets an
tune=animation and on the CI machine this doesn't show up.)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1354>
Tim-Philipp Müller [Fri, 19 Jun 2020 12:08:10 +0000 (13:08 +0100)]
docs: update plugins cache
Add some more plugins, update for new markers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1354>
Tim-Philipp Müller [Fri, 19 Jun 2020 12:05:38 +0000 (13:05 +0100)]
Mark more plugin GTypes as plugin API
To appease the CI gods.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1354>
Antonio Ospite [Wed, 17 Jun 2020 07:31:09 +0000 (09:31 +0200)]
gst-project-maker: use $0 for the program name in usage and help text
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/184>
Antonio Ospite [Fri, 17 Jan 2020 16:49:47 +0000 (17:49 +0100)]
gst-project-maker: set up a meson project instead of an autotools one
Now that autotools has been removed generate a meson project template in
gst-project-maker.
There are some differences with the autotools project
1. gstreamer-controller-1.0 is not added to the default dependencies.
2. The '-Wall' option is not set explicitly, meson can handle that.
3. The flags in GST_PLUGIN_LDFLAGS have not been ported to meson as
they are not necessary anymore.
The generated project requires meson 0.53.0 for the 'fs' module. It's up
to the user to remove that part in case compatibility with older
versions of meson is desired.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/184>
Antonio Ospite [Fri, 1 Feb 2019 16:05:23 +0000 (17:05 +0100)]
gst-project-maker: fix comment referring to plug-in instead of program
Fix the comment in $basedir/tools/Makefile.am which wrongly refers to
plug-in while the file in tool/ is about the executable program.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/184>
Antonio Ospite [Fri, 1 Feb 2019 16:04:19 +0000 (17:04 +0100)]
gst-app-maker: fix program name and arguments in usage text and help text
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/184>
Seungha Yang [Mon, 15 Jun 2020 15:12:03 +0000 (00:12 +0900)]
mfvideosrc: Add support for jpeg on Win32 application
Enable reading jpeg data from webcam if it's supported.
Note that this would be enabled only for Win32.
For UWP, we need to research more about how to support jpeg.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1342>
Seungha Yang [Mon, 15 Jun 2020 15:11:03 +0000 (00:11 +0900)]
mfvideosrc: Fix wrong casting
Don't cast ISoftwareBitmap to IMFMediaBuffer
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1342>
Seungha Yang [Sat, 13 Jun 2020 19:12:42 +0000 (04:12 +0900)]
mfvideosrc: Add support YUY2 format for UWP
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1342>
Seungha Yang [Sat, 13 Jun 2020 18:13:04 +0000 (03:13 +0900)]
mediafoundation: Drop IMFCaptureEngine implementation
It was introduced for later use of its enhanced feature over IMFSourceReader
such as taking photo with video preview, audio/video capturing at
the same time, etc. But currently it's not our use case, and it would
be maintenance burden.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1342>
Hosang Lee [Wed, 17 Jun 2020 01:57:00 +0000 (10:57 +0900)]
mssdemux: ignore unrecognized stream
Only create pads for steams with caps that can be recognized
from the fourcc.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1348>
Jan Schmidt [Tue, 7 Apr 2020 11:47:22 +0000 (21:47 +1000)]
dvbsubenc: Add DVB Subtitle encoder
Add an element that converts AYUV video frames to a DVB
subpicture stream.
It's fairly simple for now. Later it would be good to support
input via a stream that contains only GstVideoOverlayComposition
meta.
The element searches each input video frame for the largest
sub-region containing non-transparent pixels and encodes that
as a single DVB subpicture region. It can also do palette
reduction of the input frames using code taken from
libimagequant.
There are various FIXME for potential improvements for now, but
it works.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1227>
Seungha Yang [Tue, 16 Jun 2020 10:26:13 +0000 (19:26 +0900)]
d3d11: Don't assume response of context query has valid d3d11 device context
Peer elements should return FALSE if d3d11 device context is unavailable
but it might happen for some reason (e.g., wrong implementation or so)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1347>
Seungha Yang [Mon, 15 Jun 2020 12:10:09 +0000 (21:10 +0900)]
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>
Seungha Yang [Fri, 12 Jun 2020 11:34:49 +0000 (20:34 +0900)]
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>
Seungha Yang [Fri, 12 Jun 2020 11:18:53 +0000 (20:18 +0900)]
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>
Seungha Yang [Fri, 12 Jun 2020 10:07:07 +0000 (19:07 +0900)]
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>
Seungha Yang [Fri, 12 Jun 2020 11:11:29 +0000 (20:11 +0900)]
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>
Seungha Yang [Fri, 12 Jun 2020 10:44:01 +0000 (19:44 +0900)]
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>
Seungha Yang [Fri, 12 Jun 2020 10:08:34 +0000 (19:08 +0900)]
d3d11window: Fix typo "configureed"
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1339>
Jun-ichi OKADA [Thu, 21 Nov 2019 04:50:21 +0000 (13:50 +0900)]
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>
Xu Guangxin [Thu, 14 May 2020 03:03:49 +0000 (11:03 +0800)]
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>
Matthew Waters [Fri, 12 Jun 2020 05:48:14 +0000 (15:48 +1000)]
vulkan/shaders: add explicit license headers
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1338>
Matthew Waters [Fri, 12 Jun 2020 05:47:01 +0000 (15:47 +1000)]
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>
Seungha Yang [Thu, 11 Jun 2020 19:59:47 +0000 (04:59 +0900)]
codecs: h265picture: Don't leak pic_list GArray
Equivalent to the commit
7b8c071f9c4a675f6b53e373c346d9e1f866f818
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1337>
Tim-Philipp Müller [Thu, 11 Jun 2020 18:35:29 +0000 (19:35 +0100)]
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>
Seungha Yang [Wed, 10 Jun 2020 16:47:14 +0000 (01:47 +0900)]
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>
Vivia Nikolaidou [Thu, 11 Jun 2020 10:50:38 +0000 (13:50 +0300)]
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>
Seungha Yang [Tue, 9 Jun 2020 13:38:28 +0000 (22:38 +0900)]
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>
Thibault Saunier [Tue, 9 Jun 2020 19:31:56 +0000 (15:31 -0400)]
docs: Update plugins cache
Haihua Hu [Tue, 9 Jun 2020 02:53:17 +0000 (10:53 +0800)]
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>
Thibault Saunier [Mon, 8 Jun 2020 18:56:31 +0000 (14:56 -0400)]
srt: doc: Add missing gst_type_mark_as_plugin_api
Thibault Saunier [Mon, 8 Jun 2020 17:03:09 +0000 (13:03 -0400)]
docs: Mark lv2 runtime generated enums as plugins API types
Thibault Saunier [Mon, 8 Jun 2020 16:30:59 +0000 (12:30 -0400)]
docs: Add some more plugin API types
And allow creating vulkan device object without specifying an instance
so it can be introspected.
Thibault Saunier [Mon, 8 Jun 2020 13:52:30 +0000 (09:52 -0400)]
docs: Update plugins cache
Nicolas Dufresne [Tue, 9 Jun 2020 14:48:06 +0000 (10:48 -0400)]
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
037730a787c6cdeeee5779c1834315c1ca764505
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1330>
Seungha Yang [Mon, 8 Jun 2020 14:46:43 +0000 (23:46 +0900)]
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>
Seungha Yang [Mon, 8 Jun 2020 10:22:07 +0000 (19:22 +0900)]
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>
Edward Hervey [Tue, 19 May 2020 08:27:18 +0000 (10:27 +0200)]
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>
Seungha Yang [Sun, 10 May 2020 16:53:11 +0000 (01:53 +0900)]
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>
Seungha Yang [Wed, 27 May 2020 20:09:47 +0000 (05:09 +0900)]
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>
Seungha Yang [Mon, 25 May 2020 20:17:41 +0000 (05:17 +0900)]
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>
Seungha Yang [Sat, 6 Jun 2020 12:15:34 +0000 (21:15 +0900)]
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>
Seungha Yang [Sat, 6 Jun 2020 12:01:24 +0000 (21:01 +0900)]
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>
Mathieu Duponchelle [Fri, 5 Jun 2020 22:40:42 +0000 (00:40 +0200)]
plugins: uddate gst_type_mark_as_plugin_api() calls
Seungha Yang [Fri, 5 Jun 2020 13:39:54 +0000 (22:39 +0900)]
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>
cketti [Thu, 4 Jun 2020 11:33:59 +0000 (13:33 +0200)]
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>
Matthew Waters [Tue, 2 Jun 2020 08:07:10 +0000 (18:07 +1000)]
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>
Matthew Waters [Tue, 2 Jun 2020 07:35:00 +0000 (17:35 +1000)]
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>
Matthew Waters [Tue, 2 Jun 2020 07:33:07 +0000 (17:33 +1000)]
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>