Haihao Xiang [Fri, 31 May 2019 07:21:05 +0000 (15:21 +0800)]
msdk: map GST_VIDEO_FORMAT_Y410 to VA_FOURCC_Y410
Haihao Xiang [Fri, 31 May 2019 07:13:47 +0000 (15:13 +0800)]
msdk: map GST_VIDEO_FORMAT_Y410 to MFX_FOURCC_Y410
Haihao Xiang [Fri, 31 May 2019 04:48:15 +0000 (12:48 +0800)]
msdkh265dec: add support for main-444 profile
The output format is VUYA
Haihao Xiang [Thu, 30 May 2019 03:13:26 +0000 (11:13 +0800)]
msdkh265dec: add support for main-422-10/main-422-10-intra 10bit
The ouput format is Y210
Haihao Xiang [Thu, 30 May 2019 04:20:54 +0000 (12:20 +0800)]
msdk: set right BitDepth and Shift for Y210 mfx frame
BitDepth is 10 and Shitf must be set to 1 when creating Y210 mfx
frame in MSDK
Haihao Xiang [Thu, 30 May 2019 03:10:58 +0000 (11:10 +0800)]
msdk: set parameters in mfxFrameData for a MFX_FOURCC_Y210 frame
Haihao Xiang [Thu, 30 May 2019 03:02:08 +0000 (11:02 +0800)]
msdk: map MFX_FOURCC_Y210 to VA_FOURCC_Y210
Haihao Xiang [Thu, 30 May 2019 01:56:43 +0000 (09:56 +0800)]
msdk: map GST_VIDEO_FORMAT_Y210 to VA_FOURCC_Y210
Haihao Xiang [Thu, 30 May 2019 01:49:22 +0000 (09:49 +0800)]
msdk: map GST_VIDEO_FORMAT_Y210 to MFX_FOURCC_Y210
Haihao Xiang [Tue, 28 May 2019 08:50:59 +0000 (16:50 +0800)]
msdkh265dec: add support for main-422-10/main-422-10-intra 8bit
The output format is YUY2
Jan Schmidt [Fri, 28 Jun 2019 05:46:22 +0000 (15:46 +1000)]
uvch264: Fix autotools build.
Add gstuvch264deviceprovider.c to the Makefile.am missed
in MR 387
Seungha Yang [Wed, 26 Jun 2019 10:53:51 +0000 (19:53 +0900)]
rtp: Fix incompatible type build warning
Use GstURIType instead of guint
../subprojects/gst-plugins-bad/gst/rtp/gstrtpsink.c(575):
warning C4133: '=': incompatible types ...
../subprojects/gst-plugins-bad/gst/rtp/gstrtpsrc.c(725):
warning C4133: '=': incompatible types ...
Juan Navarro [Tue, 25 Jun 2019 18:37:57 +0000 (20:37 +0200)]
dtlsagent: Clear the certificate upon finalize
Cleaning this up was likely just forgotten
Juan Navarro [Tue, 25 Jun 2019 18:37:38 +0000 (20:37 +0200)]
dtlsdec: Avoid duplicate ref when passing certificate property
The agent itself will take a ref on the property setter, so we'll be
left with two references to the certificate object, when actually there
should be only one
Seungha Yang [Mon, 20 May 2019 14:19:19 +0000 (23:19 +0900)]
meson: bluez: Early terminate configure on Windows
This plugin is for linux bluetooth stack. So the early termination can save
configure time on Windows (i.e., we can avoid glib subproject fallback)
Philippe Normand [Wed, 12 Jun 2019 10:12:37 +0000 (11:12 +0100)]
wpe: Port for WPEWebKit 2.25.x
When WPEBackend-fdo >= 1.3.0 is detected, the threaded view now relies on the
wpe_fdo_egl_exported_image API instead of the EGLImageKHR-based API which is
going to be deprecated in 2.26. The GLib sources created by the view now use the
default priority as well, the custom priority is no longer required.
OleksandrKvl [Mon, 24 Jun 2019 15:39:35 +0000 (18:39 +0300)]
pcapparse: Fix handling of TCP payload length
The length of the TCP payload is the IP plus TCP header length
subtracted from the IP datagram length specified in the IP header.
Prior to this, the size was calculated incorrectly, considering
all data after TCP header as a payload till the end of a packet.
Fixes #995
Sebastian Dröge [Mon, 24 Jun 2019 10:50:19 +0000 (13:50 +0300)]
avwait: Make sure to never unref an input buffer we already unreffed before
Sebastian Dröge [Thu, 20 Jun 2019 16:59:16 +0000 (19:59 +0300)]
avwait: Add support for setting an end running time
It was possible to set a start running time and start/end timecode
before, but not an end running time.
Sebastian Dröge [Thu, 20 Jun 2019 14:50:43 +0000 (17:50 +0300)]
avwait: Correctly stop recording and signal recording stop on EOS
If recording is set to FALSE after the last audio or video buffer and
before the EOS event then recording stop is never signalled.
Similarly, we should signal recording stop once both audio and video are
EOS, regardless of the recording property, as there's nothing to be
recorded anymore.
Matthew Waters [Mon, 24 Jun 2019 06:22:47 +0000 (16:22 +1000)]
vkswapper: support rescaling to the output size
Matthew Waters [Mon, 24 Jun 2019 05:32:25 +0000 (15:32 +1000)]
vksink: Don't take vulkan buffer's as input
Matthew Waters [Mon, 24 Jun 2019 05:30:56 +0000 (15:30 +1000)]
tests/vkcolorconvert: remove extra instance/device creation
It's unnecessary.
Sebastian Dröge [Thu, 20 Jun 2019 05:59:22 +0000 (08:59 +0300)]
decklink: Correctly ensure >=16 byte alignment for the buffers we allocate
We'll ensure at least 64 byte alignment for AVX2 but 16 byte alignment
is what is required by the decklink SDK.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/986
Philippe Normand [Sun, 23 Jun 2019 16:03:32 +0000 (17:03 +0100)]
webrtc: Fix data-channel send-string doc
Sebastian Dröge [Thu, 20 Jun 2019 07:04:06 +0000 (10:04 +0300)]
decklinkvideosrc: Notify about signal loss even when dropping no-signal frames
Otherwise the application has no way of knowing that signal loss
happened other than noticing a gap between actual frames.
Matthew Waters [Thu, 20 Jun 2019 04:36:02 +0000 (14:36 +1000)]
vulkan: remove unused downsample AYUV shader
Mathieu Duponchelle [Wed, 19 Jun 2019 17:43:14 +0000 (19:43 +0200)]
webrtcbin: fix DTLS when receivebin is set to DROP
Regression introduced by
b4bdcf15b7237eb5c5943c4f746701a477333000
This commit prevents the handshake from reaching dtlsdec when
the receive state of the receive bin is set to DROP (for example
when transceivers are sendonly).
This preserves the intent of the commit, by blocking the bin
at its sinks until the receive state is no longer BLOCK, but
makes sure the handshake still goes through, by only dropping
data at the src pads, as was the case before.
Matthew Waters [Wed, 19 Jun 2019 15:39:53 +0000 (01:39 +1000)]
vkcolorconvert: add support for RGB<->NV12
Matthew Waters [Wed, 19 Jun 2019 15:36:55 +0000 (01:36 +1000)]
vkbuffermemory: report requested size of the memory
Rather than using Vulkan's much larger aligned sizes. Fixes multi-planer
video with the GstVideoFrame API.
Matthew Waters [Wed, 19 Jun 2019 09:09:21 +0000 (19:09 +1000)]
vulkancolorconvert: support RGB <-> AYUV/YUY2/UYVY
Matthew Waters [Wed, 19 Jun 2019 05:28:42 +0000 (15:28 +1000)]
vktrash: add mini_object_unref destroy function
Matthew Waters [Wed, 19 Jun 2019 05:27:11 +0000 (15:27 +1000)]
vkfullscreenrender: create descriptor sets later
The desciptor sets may be dependant on the caps
Matthew Waters [Wed, 19 Jun 2019 05:25:18 +0000 (15:25 +1000)]
vulkan/shaders: change glslc compilation args based on configurations
Add depfile support so that modifying an #included glsl snippet
rebuilds all the dependant shaders.
Matthew Waters [Thu, 13 Jun 2019 08:05:40 +0000 (18:05 +1000)]
vulkan: add a color conversion element
Currently converts between all 4-component RGBA/RGBx formats.
Matthew Waters [Thu, 13 Jun 2019 07:57:51 +0000 (17:57 +1000)]
vulkan: add some information on vulkan formats
Matthew Waters [Thu, 13 Jun 2019 07:44:22 +0000 (17:44 +1000)]
vkupload: Also implement copying non vulkan memory into vulkan buffers
The only way we can upload things is through our memory so any
non-vulkan memory that appears must be copied into our memory.
Matthew Waters [Thu, 13 Jun 2019 07:05:44 +0000 (17:05 +1000)]
vulkan: add download element
Currently only downloads images into a host-visible buffer and
synchronises immediately.
Matthew Waters [Mon, 10 Jun 2019 16:05:32 +0000 (02:05 +1000)]
vulkan/identity: Split out most rendering code to a base class
A simple base class that renders a 2d fullscreen quad parallel to the
screen surface inside the view frustum.
Matthew Waters [Wed, 12 Jun 2019 08:25:00 +0000 (18:25 +1000)]
vkupload: fix a structure sType
Matthew Waters [Tue, 11 Jun 2019 08:37:59 +0000 (18:37 +1000)]
vulkan: ensure initialization of a couple of debug categories
Needed when some of the context querying functions can be called before
an instance has been created.
Matthew Waters [Tue, 21 May 2019 07:19:00 +0000 (17:19 +1000)]
vksink: Retrieve vulkan queue earlier
Allows using the swapper's queue over upstream's queue. The swapper
will check for the necessary presentation support that upstream may not
consider.
Sebastian Dröge [Wed, 19 Jun 2019 11:13:02 +0000 (14:13 +0300)]
mpegvideoparse: Pass through interlace-mode field from upstream if available
We generally always prefer the information from upstream for other
metadata (pixel-aspect-ration, etc.) and should also do so here.
Other parsers (h264parse) already do the same.
Sebastian Dröge [Wed, 19 Jun 2019 10:31:39 +0000 (13:31 +0300)]
zbar: Include running-time, stream-time and duration in the messages
The timestamp/PTS alone is meaningless without the segment and usually
applications care about the running-time or stream-time.
This also keeps the messages in sync with the spectrum and level
elements.
Seungha Yang [Sat, 4 Nov 2017 11:40:18 +0000 (20:40 +0900)]
tests: hls: Add a test case for EXT-X-MAP tag
https://bugzilla.gnome.org/show_bug.cgi?id=776928
Seungha Yang [Sun, 12 May 2019 10:21:23 +0000 (19:21 +0900)]
tests: Enable hls m3u8 unit test with meson build
Seungha Yang [Sat, 4 Nov 2017 11:39:39 +0000 (20:39 +0900)]
hlsdemux: Set fragment header uri if exists
To allow downloading fragment hearder, set its uri if there is
available "Media Initialization" parsed from EXT-X-MAP tag
https://bugzilla.gnome.org/show_bug.cgi?id=776928
Seungha Yang [Sat, 4 Nov 2017 11:15:33 +0000 (20:15 +0900)]
hls: m3u8: Parsing EXT-X-MAP tag to store initialization data
EXT-X-MAP tag informs media initialization data,
such as moov box in ISOBMFF case and PAT/PMT for MPEG TS stream.
https://bugzilla.gnome.org/show_bug.cgi?id=776928
Seungha Yang [Mon, 30 Jan 2017 05:13:06 +0000 (14:13 +0900)]
hlsdemux: Do not clear/advance fragment by finished header downloading
Header data must be forwarded to downstream, but if demux does not finish
to finding type (e.g., ts, mp4 and etc), this header data can be cleared
by _stream_clear_pending_data(). Moreover, although demux finish downloading
header data, still it has fragment date to be downloaded, fragment sequence
shouldn't be advanced yet at that moment.
https://bugzilla.gnome.org/show_bug.cgi?id=776928
Seungha Yang [Tue, 19 Feb 2019 12:46:43 +0000 (21:46 +0900)]
tests: insertbin: Don't use duplicated variable name
../subprojects/gst-plugins-bad/tests/check/libs/insertbin.c(46): warning C4273:
'mutex': ...
The "mutex" was declared in gstcheck.h already
Matthew Waters [Mon, 17 Jun 2019 04:58:50 +0000 (14:58 +1000)]
applemedia: add the '-fobjc-arc' for darwin/ios
We use ARC so we need to signal that to the compiler.
Thibault Saunier [Mon, 3 Jun 2019 16:18:13 +0000 (12:18 -0400)]
uvch264: Implement device provider
Thibault Saunier [Mon, 3 Jun 2019 16:17:22 +0000 (12:17 -0400)]
uvch264: Factor out checking if v4l2device is uvc compatible
Nicola Murino [Mon, 8 Apr 2019 17:24:00 +0000 (19:24 +0200)]
h265parse: update parser state and header flag when using fallback sps
When sps parsing fails we use a fallback sps from the caps, since we
have got an sps we need to update parser state and header as in the case the
sps was successfully parsed
Nicola Murino [Mon, 26 Nov 2018 16:23:21 +0000 (17:23 +0100)]
h264parse: update parser state and header flag when using fallback sps
When sps parsing fails we use a fallback sps from the caps, since we
have got an sps we need to update parser state and header as in the case the
sps was successfully parsed
Closes #503
Thibault Saunier [Fri, 31 May 2019 14:12:54 +0000 (10:12 -0400)]
h264parse: Post a WARNING when data is broken
Seungha Yang [Wed, 12 Jun 2019 06:47:52 +0000 (15:47 +0900)]
h265parse: Add more string representations of extension profiles
Seungha Yang [Wed, 12 Jun 2019 06:32:17 +0000 (15:32 +0900)]
h265parser: Add more profiles to known type
"High Throughput", "Multiview", "Scalable", "3D", "Screen Content Coding",
and "Scalable format range extensions" profiles can be supported
via h265parser APIs now.
Dong Il Park [Thu, 18 Apr 2019 09:12:34 +0000 (18:12 +0900)]
h265parse: Update framerate when we found vps_timing_info
The timing_info was described at vps or vui parameter.
So we can update the framerate field of GstCaps when we could
parse vps_timing_info parameters.
Dong Il Park [Thu, 18 Apr 2019 07:54:51 +0000 (16:54 +0900)]
h265parser: Use vps_timing_info when not present in vui
The same timing_info will be present at vps or vui.
When the timeing_info is present in the VPS, vui_timing_info
, when present, shall be equal to vps_timing_info, and when
not present, is inferred to be equal to vps_timing_info.
Seungha Yang [Sat, 8 Jun 2019 13:57:21 +0000 (22:57 +0900)]
vulkan: Add support WIN32 for Windows
It's almost a fork of glwindow_win32 implementation.
To build on Windows, Vulkan SDK (at https://vulkan.lunarg.com/sdk/home)
and VK_SDK_PATH environment are required. Note that VK_SDK_PATH environment
setting is a part of the SDK installation.
Arun Raghavan [Wed, 12 Jun 2019 08:12:14 +0000 (10:12 +0200)]
avdtpsrc: Honour initial transport volume setting before connection
We make the binding go from the avdtpsrc to the transport, so that any
initial setting before a connection made is used.
Thibault Saunier [Tue, 11 Jun 2019 16:10:13 +0000 (12:10 -0400)]
uvch264src: Make sure we set our segment
We were not setting self->segment and we are using it
when notifying downstream that we handled a REQUEST_KEY_UNIT
event, leading to all sort of criticals.
Seungha Yang [Tue, 11 Jun 2019 05:28:22 +0000 (14:28 +0900)]
h265parse: Don't miss constraint indicator flags in codec data
Set more unhandled flags to general_constraint_indicator_flags field.
The field is required for building "Codecs" parameter as defined
ISO/IEC 14496-15 Annex E. The resulting "Codecs" string might be used
in various places (e.g., HLS/DASH manifest, browser, player, etc)
Marc Leeman [Fri, 7 Jun 2019 14:12:25 +0000 (14:12 +0000)]
rtpmanagerbad: fix the plugin registration
After compilation, the compiled library needs to be added to the list
of plugin libraries.
.
Also, fix for static builds
Tim-Philipp Müller [Thu, 6 Jun 2019 17:22:43 +0000 (18:22 +0100)]
Remove VDPAU plugin
It's been replaced by NVENC/NVDEC and even NVIDIA doesn't
support VDPAU any longer and hasn't for quite some time.
The plugin has been unmaintained and unsupported for a very
long time, and given the track record over the last 10 years
it seems highly unlikely anyone is going to make it work well,
not to mention adding plumbing for proper zero-copy or
gst-gl integration.
Closes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/828
Tim-Philipp Müller [Thu, 6 Jun 2019 17:36:00 +0000 (18:36 +0100)]
autotools: fix distcheck
Tim-Philipp Müller [Wed, 5 Jun 2019 16:10:19 +0000 (17:10 +0100)]
autotools: remove gst/rtp/ from cruft dir list
Tim-Philipp Müller [Wed, 5 Jun 2019 15:58:32 +0000 (16:58 +0100)]
rtp: fix autotools build some more
Philippe Normand [Wed, 5 Jun 2019 11:47:16 +0000 (12:47 +0100)]
wpe: Fix build with -Werror enabled
Including gl.h from WPEThreadedView.h leads to GST_LEVEL_DEFAULT detected as
redefined. The proposed fix is to include config.h from the CPP implementation
file and disable gl.h inclusion in the header, by using forward declarations.
Sebastian Dröge [Wed, 5 Jun 2019 08:46:49 +0000 (11:46 +0300)]
avwait: Allow start and end timecode to be set back to NULL
And check everywhere if they're NULL before accessing them.
Niels De Graef [Wed, 5 Jun 2019 06:12:10 +0000 (08:12 +0200)]
Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally
Since we started depending on GLib 2.44, we can be sure this macro is
defined (it will be a no-op on compilers that don't support it).
Matthew Waters [Tue, 21 May 2019 04:04:07 +0000 (14:04 +1000)]
tests/vulkan: allow instance creation failures
Usually means that there is no vulkan implementation available.
We skip tests in that case
Matthew Waters [Mon, 20 May 2019 03:54:56 +0000 (13:54 +1000)]
test/vulkan: add simple memory test
Matthew Waters [Mon, 20 May 2019 03:48:27 +0000 (13:48 +1000)]
vkupload: remove debugging error log
Matthew Waters [Mon, 20 May 2019 03:46:56 +0000 (13:46 +1000)]
vulkan: implement the correct memory barriers necessary
Vulkan validation layers are finally silent!
Matthew Waters [Thu, 16 May 2019 12:39:51 +0000 (22:39 +1000)]
vulkan: remove uneeded buffer inheritence information
buffer inheritence informationi is only required for secondary command
buffers which we are not creating
Matthew Waters [Thu, 16 May 2019 09:48:24 +0000 (19:48 +1000)]
vulkan: add a new image copying element
Copies using the graphics pipeline, an input image and renders to an
output image.
Matthew Waters [Thu, 16 May 2019 09:39:20 +0000 (19:39 +1000)]
vkmemory: fix allocation of sizes less than the alignment
Avoids allocating a 0-sized device memory which is invalid vulkan usage
Matthew Waters [Thu, 16 May 2019 09:38:35 +0000 (19:38 +1000)]
vk*pool: expand usage hints to cover use in a renderpass
Matthew Waters [Thu, 16 May 2019 09:36:18 +0000 (19:36 +1000)]
vkformat: fix format conversion for matching vulkan formats
Other formats still need a swizzle or conversion.
Matthew Waters [Thu, 16 May 2019 09:35:11 +0000 (19:35 +1000)]
vkbuffermemory: bufferview's are only for texture-like memory
Matthew Waters [Thu, 16 May 2019 09:34:41 +0000 (19:34 +1000)]
vkupload: add raw->vulkanimage uploader
Matthew Waters [Thu, 16 May 2019 09:33:06 +0000 (19:33 +1000)]
vktrash: add more destruction of vulkan types
Matthew Waters [Thu, 9 May 2019 11:50:47 +0000 (21:50 +1000)]
vulkan: use c99 designated initializers where possible
Makes the code much easier to read and allows removing our terrible
macros for structure initialization.
Matthew Waters [Wed, 8 May 2019 11:26:17 +0000 (21:26 +1000)]
vkswapper: support displaying memory:VulkanImage
Matthew Waters [Wed, 8 May 2019 04:50:29 +0000 (14:50 +1000)]
vkupload: implement buffer to image uploader
Matthew Waters [Wed, 8 May 2019 04:48:43 +0000 (14:48 +1000)]
vkqueue: unly unref the context query if it succeeds
Matthew Waters [Wed, 8 May 2019 04:47:43 +0000 (14:47 +1000)]
vulkansink: Respond to queue queries
Matthew Waters [Thu, 11 Apr 2019 06:52:54 +0000 (16:52 +1000)]
vulkan: large docs update
Matthew Waters [Wed, 10 Apr 2019 04:27:26 +0000 (14:27 +1000)]
vulkan: add a command pool object for tracking
Matthew Waters [Wed, 10 Apr 2019 01:56:59 +0000 (11:56 +1000)]
vkswapper: don't output duplicate formats
Matthew Waters [Mon, 8 Apr 2019 11:35:22 +0000 (21:35 +1000)]
vulkan: make a gstvulkan library out of the existing API
Matthew Waters [Mon, 8 Apr 2019 08:43:50 +0000 (18:43 +1000)]
vkbufferpool: Fix multiplaner allocations
Use the plane width/height and the sizes required by vulkan
Fixes allocation of:
videotestsrc ! video/x-raw,format=I420 ! vulkanupload ! fakesink
Matthew Waters [Mon, 8 Apr 2019 08:42:12 +0000 (18:42 +1000)]
vk*memory: explicitly error out for driver NPOT alignment
Matthew Waters [Thu, 4 Apr 2019 08:30:28 +0000 (19:30 +1100)]
vulkan/image: initialize the requirements struct before using it
Matthew Waters [Thu, 4 Apr 2019 08:27:55 +0000 (19:27 +1100)]
vulkan: don't require every element to have a display
Only sink elements really care about a valid display
Matthew Waters [Thu, 4 Apr 2019 07:38:13 +0000 (18:38 +1100)]
vulkan: remove unused X11 window system references
We use XCB instead
Matthew Waters [Thu, 4 Apr 2019 06:33:34 +0000 (17:33 +1100)]
vulkan: remove unused layer enablement
This is possible now via the vulkan loader
Ali Yousuf [Mon, 20 May 2019 11:34:55 +0000 (16:34 +0500)]
webrtc: Fix log when adding stun server