platform/upstream/gstreamer.git
6 years agomsdk: vpp: Add dmabuf-export support
Sreerenj Balachandran [Mon, 30 Apr 2018 20:39:52 +0000 (12:39 -0800)]
msdk: vpp: Add dmabuf-export support

Currenly, the dmabuf buffer pool can be negotiated
only through DMABuf capsfeatures.
This will not allow to negotiate dmabuf support with
v4l2src (v4l2src ! msdkvpp) where v4l2src always export
the dmabuf based memory with out using the DMABuf capsfeatures.
So it requires fix based on:
https://bugzilla.gnome.org/show_bug.cgi?id=794817

https://bugzilla.gnome.org/show_bug.cgi?id=794946

6 years agonvdec: Add colorimetry info to the caps
Jan Schmidt [Fri, 27 Apr 2018 15:15:44 +0000 (01:15 +1000)]
nvdec: Add colorimetry info to the caps

Output any colorimetry information extracted from the stream
into the caps.

6 years agonvdec: Use gst_video_info_to_caps to build caps.
Jan Schmidt [Fri, 27 Apr 2018 04:41:14 +0000 (14:41 +1000)]
nvdec: Use gst_video_info_to_caps to build caps.

Don't build caps directly, as that won't add any GstVideoInfo
newer fields (such as colorimetry) automatically.

6 years agokmssink: Add 24bit RGB support
Nicolas Dufresne [Thu, 8 Mar 2018 20:23:05 +0000 (20:23 +0000)]
kmssink: Add 24bit RGB support

https://bugzilla.gnome.org/show_bug.cgi?id=794186

6 years agomsdk: vpp: Add YV12, YUY2 and BGRx formats to template
Sreerenj Balachandran [Wed, 25 Apr 2018 20:26:43 +0000 (12:26 -0800)]
msdk: vpp: Add YV12, YUY2 and BGRx formats to template

6 years agomsdk: Add more video format mapping
Sreerenj Balachandran [Wed, 25 Apr 2018 00:46:20 +0000 (16:46 -0800)]
msdk: Add more video format mapping

BGRx format can be supported with Msdk's RGB4

6 years agomsdk: vpp: Allocation query fixes
Sreerenj Balachandran [Wed, 25 Apr 2018 00:45:24 +0000 (16:45 -0800)]
msdk: vpp: Allocation query fixes

prpose_allocation:
-- always instantiate a pool for for upstream
-- use async_depth + 1 as min buffer count

decide_allocation:
-- always create a new bufferpool for source pad.
Each of the msdk element has to create it's own mfxsurfacepool
which is an msdk contraint. For eg: Each Msdk component (vpp, dec and
enc)
will invoke the external Frame allocator for video-memory usage
So sharing the pool between gst-msdk elements might not be a good idea.

https://bugzilla.gnome.org/show_bug.cgi?id=793705

6 years agorfbsrc: Fix decide_allocation to support NULL pool
Nicolas Dufresne [Wed, 25 Apr 2018 19:05:38 +0000 (15:05 -0400)]
rfbsrc: Fix decide_allocation to support NULL pool

We were assuming that NULL pool meant that downstream didn't reply.
Update the pool index 0 instead of adding at the end. Otherwise we ended
up letting basesrc decide, which would pick the blocksize as a size
(4096) instead of the image size.

https://bugzilla.gnome.org/show_bug.cgi?id=795327

6 years agorfbsrc: Fix support for applevncserver
Nicolas Dufresne [Wed, 25 Apr 2018 17:36:01 +0000 (13:36 -0400)]
rfbsrc: Fix support for applevncserver

This server uses an unknown 003.889 protocol version. This patch fixes
the version validation in order to simply fallback to 3.3 as suggested
by the spec.

6 years agoMeson: Generate pc file for all plugins in bad
Xavier Claessens [Tue, 24 Apr 2018 18:05:30 +0000 (14:05 -0400)]
Meson: Generate pc file for all plugins in bad

https://bugzilla.gnome.org/show_bug.cgi?id=794568

6 years agomeson: use -Wl,-Bsymbolic-functions where supported
Tim-Philipp Müller [Wed, 25 Apr 2018 10:00:00 +0000 (11:00 +0100)]
meson: use -Wl,-Bsymbolic-functions where supported

Just like the autotools build.

6 years agoh264parse: add constrained and progressive profiles
Guillaume Desmottes [Tue, 6 Mar 2018 14:18:46 +0000 (15:18 +0100)]
h264parse: add constrained and progressive profiles

Those profiles have been added in the version 2012-01
and 2011-06 of the AVC spec.

https://bugzilla.gnome.org/show_bug.cgi?id=794127

6 years agocurlhttpsrc: deadlock in multi-instance scenario
Jun Xie [Tue, 27 Feb 2018 02:51:07 +0000 (10:51 +0800)]
curlhttpsrc: deadlock in multi-instance scenario

Fixed queue iterator issue and set context state to
GSTCURL_MULTI_LOOP_STATE_RUNNING in case other
instance are in running state.

https://bugzilla.gnome.org/show_bug.cgi?id=793863

6 years agonvenc: Remove GST_USE_UNSTABLE_API defines
Jan Schmidt [Tue, 24 Apr 2018 16:43:26 +0000 (02:43 +1000)]
nvenc: Remove GST_USE_UNSTABLE_API defines

GstGL is no longer unstable API since moving to -base

6 years agoconfigure: Fix nvenc GL check
Jan Schmidt [Tue, 24 Apr 2018 16:25:16 +0000 (02:25 +1000)]
configure: Fix nvenc GL check

Make the nvenc OpenGL usage rely on the the same condition
that the automake USE_OPENGL conditional checks, as the
USE_OPENGL doesn't actually get set into the configure script,
so it can't check that

6 years agonvenc: Use the HAVE_NVENC_GST_GL define instead of HAVE_GST_GL
Jan Schmidt [Tue, 24 Apr 2018 16:42:43 +0000 (02:42 +1000)]
nvenc: Use the HAVE_NVENC_GST_GL define instead of HAVE_GST_GL

Fix compiling against the GL interop by gating includes
on the right header

6 years agonvh265enc: Add Nvidia GPU based HEVC encoder
Seungha Yang [Fri, 6 Apr 2018 14:22:26 +0000 (23:22 +0900)]
nvh265enc: Add Nvidia GPU based HEVC encoder

https://bugzilla.gnome.org/show_bug.cgi?id=795037

6 years agonvencbase: Define sinkpad template in subclass
Seungha Yang [Fri, 6 Apr 2018 15:05:46 +0000 (00:05 +0900)]
nvencbase: Define sinkpad template in subclass

https://bugzilla.gnome.org/show_bug.cgi?id=795037

6 years agonvenc: Add debug catagory for nvh264enc
Seungha Yang [Fri, 6 Apr 2018 14:49:12 +0000 (23:49 +0900)]
nvenc: Add debug catagory for nvh264enc

https://bugzilla.gnome.org/show_bug.cgi?id=795037

6 years agodocs: mpegts: add atsc docs
Stefan Ringel [Thu, 29 May 2014 14:54:59 +0000 (16:54 +0200)]
docs: mpegts: add atsc docs

https://bugzilla.gnome.org/show_bug.cgi?id=730940

6 years agodecklinkvideosrc: Add support for extracting Closed Caption
Edward Hervey [Fri, 9 Mar 2018 11:23:04 +0000 (12:23 +0100)]
decklinkvideosrc: Add support for extracting Closed Caption

If the "output-cc" property is set to TRUE and there is CC present
in the VBI Ancillary Data, they will be extracted and set on the
outgoing buffer as GstVideoCaptionMeta.

Only CDP packets are supported.

https://bugzilla.gnome.org/show_bug.cgi?id=773863

6 years agoconfigure: look for right version of plugins, not >= 0.11
Tim-Philipp Müller [Sun, 22 Apr 2018 17:28:13 +0000 (18:28 +0100)]
configure: look for right version of plugins, not >= 0.11

Well, just look for same version as we require for -base
which should be good enough. Also use plugins base req
for -base libs.

6 years agoFix code indentation
Tim-Philipp Müller [Sun, 22 Apr 2018 17:27:37 +0000 (18:27 +0100)]
Fix code indentation

6 years agodx9screenscapsrc: consolidate UNLOCK
Tim-Philipp Müller [Sun, 22 Apr 2018 17:25:34 +0000 (18:25 +0100)]
dx9screenscapsrc: consolidate UNLOCK

6 years agotestsrcbin: typo fixes
Tim-Philipp Müller [Sat, 21 Apr 2018 10:03:54 +0000 (11:03 +0100)]
testsrcbin: typo fixes

6 years agotestsrcbin: fix bug setting stream flags
Tim-Philipp Müller [Sat, 21 Apr 2018 10:00:58 +0000 (11:00 +0100)]
testsrcbin: fix bug setting stream flags

We would mark all streams with FLAG_UNSELECT as we would check
the pointer for non-NULLness not the dereferenced stream number
(and the pointer is always non-NULL). The intention here was
presumably to mark the first stream of each type as SELECT and
the others as UNSELECT by default.

CID 1434970.

6 years agotestsrcbin: fix memory leak
Tim-Philipp Müller [Sat, 21 Apr 2018 09:51:03 +0000 (10:51 +0100)]
testsrcbin: fix memory leak

CID 1434971

6 years agodssim: Add a dssim-error-threshold property
Thibault Saunier [Sat, 21 Apr 2018 00:51:34 +0000 (21:51 -0300)]
dssim: Add a dssim-error-threshold property

If that threshold is reached, `iqa` will emit an ERROR message on the
bus, stopping any processing.

This way we can do a simpler comparison with gst-validate and the
process will error out if the specified threshold is reached.

https://bugzilla.gnome.org/show_bug.cgi?id=795428

6 years agomeson: fbdev: fix 'invalid keyword argument' meson warnings
Tim-Philipp Müller [Fri, 20 Apr 2018 10:46:07 +0000 (11:46 +0100)]
meson: fbdev: fix 'invalid keyword argument' meson warnings

Required is not a valid kwarg for cc.has_header()

6 years agotestsrcbin: Do not use G_DECLARE_ as it requires GLib 2.44
Thibault Saunier [Thu, 19 Apr 2018 23:58:55 +0000 (20:58 -0300)]
testsrcbin: Do not use G_DECLARE_ as it requires GLib 2.44

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=795382

6 years agodebugutils: Add a testsrcbin element
Thibault Saunier [Wed, 18 Apr 2018 18:53:34 +0000 (15:53 -0300)]
debugutils: Add a testsrcbin element

This is a simple Bin that will expose audiotestsrc or videotestsrc
based on what is asked by the user either through the GstURIHandler
API or through the "stream-types" property.

This element also provides GstStream and GstStreamCollection
so it is nicely usable from playbin3.

https://bugzilla.gnome.org/show_bug.cgi?id=795366

6 years agokmssink: Add new entry for Xilinx DRM Driver
Devarsh Thakkar [Wed, 18 Apr 2018 10:43:57 +0000 (03:43 -0700)]
kmssink: Add new entry for Xilinx DRM Driver

This adds entry for new DRM driver from xilinx
called "xlnx" which supports atomic modesetting.

We have kept entry for older DRM driver "xilinx_drm"
for backward compatility with a note describing
deprecation.

Signed-off-by: Devarsh Thakkar <devarsht@xilinx.com>
https://bugzilla.gnome.org/show_bug.cgi?id=795228

6 years agowasapisrc: Don't provide a clock based on WASAPI's clock
Nirbheek Chauhan [Wed, 18 Apr 2018 09:33:19 +0000 (15:03 +0530)]
wasapisrc: Don't provide a clock based on WASAPI's clock

The clock seems to have a lot of drift (or we're using it incorrectly)
which causes buffers to be late on the sink and get dropped.

Disable till someone can investigate whether our usage of the API is
incorrect (it looked correct to me) or if something is wrong.

6 years agonvdec/nvenc: Support CUDA Toolkit 9
Snir Sheriber [Thu, 22 Mar 2018 08:18:57 +0000 (10:18 +0200)]
nvdec/nvenc: Support CUDA Toolkit 9

Since cuda-tools 9.0, nvcuvid.h is replaced by dynlink_nvcuvid.h.
This patch changes nvdec to use run-time dynamic linking if
cuda-tools version >= 9.
nvenc does not require any change since its necessary headers are
still available.

https://bugzilla.gnome.org/show_bug.cgi?id=791724

6 years agomsdk: jpegdec: Fix non-interleaved sample decode
Sreerenj Balachandran [Mon, 16 Apr 2018 22:37:21 +0000 (14:37 -0800)]
msdk: jpegdec: Fix non-interleaved sample decode

Using the default value (InterleavedDec == MFX_SCANTYPE_UNKNOWN)
causing issues with non-interleaved sample decode. Ideally the usage
of MFXVideoDECODE_DecodeHeader should fix these type of issue, but
it seems to be not. But hardcoding the InterleaveDec to
MFX_SCANTYPE_NONINTERLEAVED
is fixing the problem and fortunately msdk seems to be taking care of
Interleaved samples
too .So let's hardcode it for now.

https://bugzilla.gnome.org/show_bug.cgi?id=793787

6 years agojpegparse: Fix APP1 marker segment parsing
Sreerenj Balachandran [Mon, 16 Apr 2018 22:00:39 +0000 (14:00 -0800)]
jpegparse: Fix APP1 marker segment parsing

Reposition the bytereader for proper skipping of
APP1 marker segment if it is not Exif.

https://bugzilla.gnome.org/show_bug.cgi?id=795117

6 years agowasapi: Call CoIn/Uninitialize() around prepare()
Nirbheek Chauhan [Mon, 16 Apr 2018 14:05:07 +0000 (19:35 +0530)]
wasapi: Call CoIn/Uninitialize() around prepare()

Seems to be required for exclusive mode and also for all
initialization on Windows 7

https://bugzilla.gnome.org/show_bug.cgi?id=795274

6 years agoAutomatic update of common submodule
Tim-Philipp Müller [Mon, 16 Apr 2018 09:53:07 +0000 (10:53 +0100)]
Automatic update of common submodule

From f0c2dc9 to ed78bee

6 years agowebrtc: fix gtk-doc annotations
Víctor Manuel Jáquez Leal [Mon, 16 Apr 2018 08:44:10 +0000 (10:44 +0200)]
webrtc: fix gtk-doc annotations

6 years agopcapparse: bail out in case of fragmented packets
Antonio Ospite [Sun, 15 Apr 2018 08:06:46 +0000 (10:06 +0200)]
pcapparse: bail out in case of fragmented packets

pcapparse cannot parse fragmented IP packets correctly, in particular it
will get confused when trying to parsing fragments as standalone frames
in two ways:

  1. the first fragment will have the packet length greater than the
     frame size and will always be discarded;

  2. fragments with non-zero offsets will be interpreted as full packets
     and the first part of their raw payload data will be parsed as the
     transport protocol header, resulting in bogus values for addresses
     and ports, thus evading the properties filtering on those values.

This can make it difficult for users to see why the data does not get
downstream.

So be more explicit and just bail out when fragmented packets are
encountered.

https://bugzilla.gnome.org/show_bug.cgi?id=795284

6 years agopcapparse: add some comments about the pcap format headers
Antonio Ospite [Sat, 14 Apr 2018 18:14:35 +0000 (20:14 +0200)]
pcapparse: add some comments about the pcap format headers

Since the code is full of magic add at least some guidance for newbies.

https://bugzilla.gnome.org/show_bug.cgi?id=795284

6 years agoresindvd, uvch264src, dx9screencapsrc: fix clock ref leaks in error paths
Garima Gaur [Tue, 27 Dec 2016 05:44:00 +0000 (11:14 +0530)]
resindvd, uvch264src, dx9screencapsrc: fix clock ref leaks in error paths

https://bugzilla.gnome.org/show_bug.cgi?id=776376

6 years agobluez: avdtpsrc: fix caps leak in error code paths
Garima Gaur [Tue, 27 Dec 2016 08:15:49 +0000 (13:45 +0530)]
bluez: avdtpsrc: fix caps leak in error code paths

https://bugzilla.gnome.org/show_bug.cgi?id=776085

6 years agoh265parse: Make caps writable before modifying them
Seungha Yang [Fri, 6 Apr 2018 14:22:39 +0000 (23:22 +0900)]
h265parse: Make caps writable before modifying them

Fix following assertion failure
GStreamer-CRITICAL **: gst_structure_remove_field: assertion 'IS_MUTABLE (structure)' failed

https://bugzilla.gnome.org/show_bug.cgi?id=795032

6 years agofakevideosink: explicit type cast for max-lateness property setter
Philippe Normand [Tue, 10 Apr 2018 09:20:52 +0000 (10:20 +0100)]
fakevideosink: explicit type cast for max-lateness property setter

g_object_set() expects the parameters values to be the exact type of the
property being set.

6 years agowasapi: Handle return value of WaitForSingleObject
Nirbheek Chauhan [Mon, 9 Apr 2018 23:43:17 +0000 (05:13 +0530)]
wasapi: Handle return value of WaitForSingleObject

The wait could've failed for whatever reason, we should handle that.

6 years agowasapi: Call _Start if the client was _Reset
Nirbheek Chauhan [Mon, 9 Apr 2018 23:39:42 +0000 (05:09 +0530)]
wasapi: Call _Start if the client was _Reset

Otherwise we will wait forever in WaitForSingleObject because we forgot
to start the client again after _Stop is called in reset().

https://bugzilla.gnome.org/show_bug.cgi?id=795114

6 years agofakevideosink: request an extra buffer if enable-last-sample is enabled
Guillaume Desmottes [Mon, 9 Apr 2018 15:54:05 +0000 (17:54 +0200)]
fakevideosink: request an extra buffer if enable-last-sample is enabled

If the 'enable-last-sample' property is enabled, fakevideosink will keep
a reference on last rendered buffer which may lead to buffer starvation
in the pipeline.
Request one extra buffer in this case so we always have a buffer flying
in the pipeline.

https://bugzilla.gnome.org/show_bug.cgi?id=795109

6 years agowasapi: Don't open the device in get_caps()
Nirbheek Chauhan [Mon, 9 Apr 2018 11:46:38 +0000 (17:16 +0530)]
wasapi: Don't open the device in get_caps()

We can just return the template caps till the device is opened when
going from READY -> PAUSED. This fixes a CRITICAL when calling
ELEMENT_ERROR before the ringbuffer is allocated.

Also fixes a couple of leaks in error conditions.

https://bugzilla.gnome.org/show_bug.cgi?id=794611

6 years agowasapi: Only use audioclient3 when low-latency
Nirbheek Chauhan [Fri, 6 Apr 2018 17:31:36 +0000 (23:01 +0530)]
wasapi: Only use audioclient3 when low-latency

Causes glitches on very slow CPU machines or VMs, and our
out-of-the-box experience should be good.

https://bugzilla.gnome.org/show_bug.cgi?id=794497

6 years agowasapi: Don't derive device period from latency time
Nirbheek Chauhan [Wed, 21 Mar 2018 09:23:27 +0000 (14:53 +0530)]
wasapi: Don't derive device period from latency time

This seems to cause glitches on devices with low CPU availability,
such as virtual machines. Maybe even actual machines under high load.

https://bugzilla.gnome.org/show_bug.cgi?id=794497

6 years agomsdk: fix plugin load on implementations with only HW support
U. Artie Eoff [Thu, 5 Apr 2018 01:30:21 +0000 (17:30 -0800)]
msdk: fix plugin load on implementations with only HW support

We can't assume that MSDK always supports SW implementation
on all platforms.  Thus, msdk_is_available should check for
ANY implementation.

https://bugzilla.gnome.org/show_bug.cgi?id=794991

6 years agowasapi: Squelch warning about %x and HRESULT
Nirbheek Chauhan [Wed, 4 Apr 2018 13:02:19 +0000 (18:32 +0530)]
wasapi: Squelch warning about %x and HRESULT

HRESULT is always a 32-bit value, as is guint.

6 years agowasapisrc: Implement loopback recording
Nirbheek Chauhan [Tue, 3 Apr 2018 19:37:14 +0000 (01:07 +0530)]
wasapisrc: Implement loopback recording

Now, when you set loopback=true on wasapisrc, the `device` property
should refer to a sink (render) device for loopback recording.

If the `device` property is not set, the default sink device is used.

6 years agoaudiolatency: Fix wave detection in buffers
Nirbheek Chauhan [Tue, 3 Apr 2018 18:24:41 +0000 (23:54 +0530)]
audiolatency: Fix wave detection in buffers

-1/1000 is 0, so we were *always* detecting a buffer.

6 years agoaudiolatency: Avoid bogus pts values while starting
Nirbheek Chauhan [Tue, 3 Apr 2018 18:23:24 +0000 (23:53 +0530)]
audiolatency: Avoid bogus pts values while starting

6 years agomsdk: fix meson syntax
Tim-Philipp Müller [Tue, 3 Apr 2018 18:21:46 +0000 (19:21 +0100)]
msdk: fix meson syntax

6 years agomsdk: vpp : Add frame rate control
Sreerenj Balachandran [Thu, 22 Mar 2018 16:04:02 +0000 (16:04 +0000)]
msdk: vpp : Add frame rate control

https://bugzilla.gnome.org/show_bug.cgi?id=793705

6 years agomsdk: vpp : Add force-aspect-ratio property
Sreerenj Balachandran [Wed, 21 Mar 2018 18:17:11 +0000 (18:17 +0000)]
msdk: vpp : Add force-aspect-ratio property

https://bugzilla.gnome.org/show_bug.cgi?id=793705

6 years agomsdk: Add more scaling filter algorithms
Sreerenj Balachandran [Wed, 21 Mar 2018 17:57:27 +0000 (17:57 +0000)]
msdk: Add more scaling filter algorithms

https://bugzilla.gnome.org/show_bug.cgi?id=793705

6 years agomsdk: vpp: Add support for horizontal and vertical mirroring
Sreerenj Balachandran [Wed, 21 Mar 2018 17:22:18 +0000 (17:22 +0000)]
msdk: vpp: Add support for horizontal and vertical mirroring

https://bugzilla.gnome.org/show_bug.cgi?id=793705

6 years agomsdk: vpp: Add detail/edge enhancement tuning
Sreerenj Balachandran [Wed, 21 Mar 2018 17:14:04 +0000 (17:14 +0000)]
msdk: vpp: Add detail/edge enhancement tuning

https://bugzilla.gnome.org/show_bug.cgi?id=793705

6 years agomsdk: vpp: Add ProAmp(colorbalance) support
Sreerenj Balachandran [Wed, 21 Mar 2018 14:45:35 +0000 (14:45 +0000)]
msdk: vpp: Add ProAmp(colorbalance) support

Added Hue, Saturation, Brightness and Contrast tuning support.

Fixme: Add GstColorBalanceInterface support

https://bugzilla.gnome.org/show_bug.cgi?id=793705

6 years agomsdk: vpp: Add deinterlacing support
Sreerenj Balachandran [Tue, 6 Mar 2018 13:52:04 +0000 (13:52 +0000)]
msdk: vpp: Add deinterlacing support

https://bugzilla.gnome.org/show_bug.cgi?id=793705

6 years agomsdk: vpp:Add more filters
Sreerenj Balachandran [Tue, 6 Mar 2018 13:51:32 +0000 (13:51 +0000)]
msdk: vpp:Add more filters

-- Add Denoise
-- Add Rotation

https://bugzilla.gnome.org/show_bug.cgi?id=793705

6 years agomsdk: Add VPP element
Sreerenj Balachandran [Tue, 6 Mar 2018 13:51:05 +0000 (13:51 +0000)]
msdk: Add VPP element

https://bugzilla.gnome.org/show_bug.cgi?id=793705

6 years agomeson: mpegts: make internal mpegts lib dep depend on the enumtypes header
Tim-Philipp Müller [Tue, 3 Apr 2018 13:03:17 +0000 (14:03 +0100)]
meson: mpegts: make internal mpegts lib dep depend on the enumtypes header

6 years agohlssink2: Use the new reset-muxer property on splitmuxsink
Sebastian Dröge [Thu, 29 Mar 2018 16:18:23 +0000 (19:18 +0300)]
hlssink2: Use the new reset-muxer property on splitmuxsink

We don't want to reset the muxer, otherwise the continuity counter will
reset after each segment and some software gets confused. We want to
create a continuous stream.

https://bugzilla.gnome.org/show_bug.cgi?id=794816

6 years agompegtsmux: Resend initial segments and header sections after FLUSH_STOP
Sebastian Dröge [Thu, 29 Mar 2018 16:03:45 +0000 (19:03 +0300)]
mpegtsmux: Resend initial segments and header sections after FLUSH_STOP

https://bugzilla.gnome.org/show_bug.cgi?id=794816

6 years agomsdk: dec: rename the function to what it means more exactly.
Hyunjun Ko [Mon, 2 Apr 2018 23:49:59 +0000 (15:49 -0800)]
msdk: dec: rename the function to what it means more exactly.

https://bugzilla.gnome.org/show_bug.cgi?id=793707

6 years agomsdk: allocator: libva: check if it's already using dmabuf when mapping
Hyunjun Ko [Mon, 2 Apr 2018 23:49:32 +0000 (15:49 -0800)]
msdk: allocator: libva: check if it's already using dmabuf when mapping

As long as we negotiate the "DMABuf" capsfeatures for now, map can't be
working. So we need to confirm not to do it if using DMABuf memory.

https://bugzilla.gnome.org/show_bug.cgi?id=793707

6 years agonvbaseenc: fix build warnings with HAVE_NVENC_GST_GL
Daeseok Youn [Mon, 2 Apr 2018 12:43:53 +0000 (21:43 +0900)]
nvbaseenc: fix build warnings with HAVE_NVENC_GST_GL

fix following error:
gstnvbaseenc.c: In function ‘gst_nv_base_enc_set_context’:
gstnvbaseenc.c:451:17: error: unused variable ‘nvenc’ [-Werror=unused-variable]
   GstNvBaseEnc *nvenc = GST_NV_BASE_ENC (element);
                 ^

https://bugzilla.gnome.org/show_bug.cgi?id=794896

6 years agodecklink: Fix MinGW warnings due to MSVC-specific pragmas
Nirbheek Chauhan [Sat, 31 Mar 2018 05:11:32 +0000 (10:41 +0530)]
decklink: Fix MinGW warnings due to MSVC-specific pragmas

https://bugzilla.gnome.org/show_bug.cgi?id=794652#c7

6 years agomsdkdec: use dmabuf if possible
Hyunjun Ko [Fri, 30 Mar 2018 19:06:40 +0000 (11:06 -0800)]
msdkdec: use dmabuf if possible

https://bugzilla.gnome.org/show_bug.cgi?id=793707

6 years agomsdk: dmabuf support
Hyunjun Ko [Fri, 30 Mar 2018 19:06:05 +0000 (11:06 -0800)]
msdk: dmabuf support

This patch includes:
1\ Implements MsdkDmaBufAllocator and allocation of msdk dmabuf memroy.
2\ Each msdk dmabuf memory include its own msdk surface kept by GQuark.
3\ Adds new option GST_BUFFER_POOL_OPTION_MSDK_USE_DMABUF

https://bugzilla.gnome.org/show_bug.cgi?id=793707

6 years agomsdk: adds new function to get dmabuf information from surface.
Hyunjun Ko [Fri, 30 Mar 2018 19:05:16 +0000 (11:05 -0800)]
msdk: adds new function to get dmabuf information from surface.

https://bugzilla.gnome.org/show_bug.cgi?id=793707

6 years agomsdk: allocator: get dmabuf handle during allocation if required
Hyunjun Ko [Fri, 30 Mar 2018 19:03:17 +0000 (11:03 -0800)]
msdk: allocator: get dmabuf handle during allocation if required

https://bugzilla.gnome.org/show_bug.cgi?id=793707

6 years agomsdk: generalize the parameter of msdk video memory functions
Hyunjun Ko [Fri, 30 Mar 2018 19:03:00 +0000 (11:03 -0800)]
msdk: generalize the parameter of msdk video memory functions

There needs to be generalized for the parameter from
GstVideoMsdkVideoMemory to GstMemory.

Thus we can call these functions if using DMABuf memory.

https://bugzilla.gnome.org/show_bug.cgi?id=793707

6 years agomsdk: specify the way to find a proper cached response by request
Hyunjun Ko [Fri, 30 Mar 2018 19:02:26 +0000 (11:02 -0800)]
msdk: specify the way to find a proper cached response by request

The current way to find proper response by just comparing request's
value is wrong.  We need to compare the size of a frame and the
number of suggested frames.

Refer to the sample in https://github.com/Intel-Media-SDK/samples.

https://bugzilla.gnome.org/show_bug.cgi?id=793707

6 years agokmssink: Add support for the Allwinner DRM driver (sun4i-drm)
Paul Kocialkowski [Fri, 30 Mar 2018 11:47:00 +0000 (13:47 +0200)]
kmssink: Add support for the Allwinner DRM driver (sun4i-drm)

This adds the sun4i DRM driver to the list of DRM drivers in kmssink.
The driver allows displaying video in either the main plane or an
overlay plane.

https://bugzilla.gnome.org/attachment.cgi?bugid=794839

6 years agomsdk: dec: remove framerate field from sink caps template
Sreerenj Balachandran [Thu, 29 Mar 2018 21:06:41 +0000 (13:06 -0800)]
msdk: dec: remove framerate field from sink caps template

Removes unessential field framerate for decoder so that negotiation
works even if framerate is not provided from upstream.

https://bugzilla.gnome.org/show_bug.cgi?id=789752

6 years agomsdk: dec: set framerate to the driver only if provided
Hyunjun Ko [Thu, 29 Mar 2018 20:41:48 +0000 (12:41 -0800)]
msdk: dec: set framerate to the driver only if provided

For example, if framerate 0/1 is provided from upstream, the driver
fails to configure and complain about it.

We can let it go and make the driver assuming framerate itself.

https://bugzilla.gnome.org/show_bug.cgi?id=789752

6 years agomsdk: h265dec: remove framerate field from sink caps template
Hyunjun Ko [Thu, 29 Mar 2018 20:40:34 +0000 (12:40 -0800)]
msdk: h265dec: remove framerate field from sink caps template

Removes unessential field framerate for decoder so that negotiation
works even if framerate is not provided from upstream.

https://bugzilla.gnome.org/show_bug.cgi?id=789752

6 years agomsdk: Don't set extended coding options for JPEG encode
Sreerenj Balachandran [Thu, 29 Mar 2018 19:56:19 +0000 (11:56 -0800)]
msdk: Don't set extended coding options for JPEG encode

MJPEG doesn't have support for extended coding options

https://bugzilla.gnome.org/show_bug.cgi?id=793873

6 years agodocs: plugins: remove stale xml data for moved or renamed plugins
Tim-Philipp Müller [Tue, 27 Mar 2018 16:36:27 +0000 (17:36 +0100)]
docs: plugins: remove stale xml data for moved or renamed plugins

rawparse plugin moved to -base, only legacyrawparse remains.
siren plugin was renamed and was listed twice.

https://bugzilla.gnome.org/show_bug.cgi?id=794069

6 years agortponviftimestamp: fix state change function init/reset
Tim-Philipp Müller [Tue, 27 Mar 2018 15:51:30 +0000 (16:51 +0100)]
rtponviftimestamp: fix state change function init/reset

When starting up we need to initialise things *before*
streaming starts, so before we chain up to the parent
class in the state change function. And when we shut
down the element, we need to reset things after streaming
has stopped, so after we chain up to the parent class
in the state change function.

Possibly related to memory leak in:
https://bugzilla.gnome.org/show_bug.cgi?id=794353

6 years agomeson: Add missing optional lrdf dep to ladspa build
Nirbheek Chauhan [Tue, 27 Mar 2018 08:55:24 +0000 (14:25 +0530)]
meson: Add missing optional lrdf dep to ladspa build

https://bugzilla.gnome.org/show_bug.cgi?id=794350

6 years agodecklink: Use g_thread_new instead of g_thread_create
Nirbheek Chauhan [Tue, 27 Mar 2018 07:17:13 +0000 (12:47 +0530)]
decklink: Use g_thread_new instead of g_thread_create

It's deprecated, and causes a build failure in Cerbero because we pass
-DG_DISABLE_DEPRECATED.

6 years agodecklink: fix initialization fails in windows binary
Takeshi Sato [Tue, 27 Mar 2018 03:24:30 +0000 (12:24 +0900)]
decklink: fix initialization fails in windows binary

There is no log of gst_decklink_com_thread () which initializes COM.
The initialization part is not valid with #ifdef MSC_VER.
Windows binaries are built with gcc.
As with other codes, it was avoidable by setting it to G_OS_WIN32
instead of MSC_VER.

https://bugzilla.gnome.org/show_bug.cgi?id=794652

6 years agowasapi: Print the hresult hex value on error
Nirbheek Chauhan [Sun, 25 Mar 2018 12:38:58 +0000 (18:08 +0530)]
wasapi: Print the hresult hex value on error

This helps figure out precisely what error enum value was returned,
which can be necessary when the description is too generic

6 years agoladspa: Fix critical during plugin load on Windows
Nirbheek Chauhan [Fri, 23 Mar 2018 03:45:38 +0000 (09:15 +0530)]
ladspa: Fix critical during plugin load on Windows

https://bugzilla.gnome.org/show_bug.cgi?id=794611

6 years agox265enc: no //-style comments
Tim-Philipp Müller [Mon, 26 Mar 2018 18:52:50 +0000 (19:52 +0100)]
x265enc: no //-style comments

6 years agox265enc: Add "key-int-max" property
James Stevenson [Fri, 23 Mar 2018 14:14:12 +0000 (14:14 +0000)]
x265enc: Add "key-int-max" property

https://bugzilla.gnome.org/show_bug.cgi?id=794623

6 years agogl: Rename gstglutils.h functions to prevent symbol conflicts with static linking
Sebastian Dröge [Sun, 25 Mar 2018 09:53:06 +0000 (12:53 +0300)]
gl: Rename gstglutils.h functions to prevent symbol conflicts with static linking

The gl plugin in -base has the same function.

6 years agoopus: Rename opusheader functions to prevent symbol conflicts with static linking
Sebastian Dröge [Sun, 25 Mar 2018 09:52:32 +0000 (12:52 +0300)]
opus: Rename opusheader functions to prevent symbol conflicts with static linking

The opus plugin in -base has the same functions.

6 years agox265: Fix tagging of keyframes on output buffers
James Stevenson [Fri, 23 Mar 2018 13:42:05 +0000 (13:42 +0000)]
x265: Fix tagging of keyframes on output buffers

https://bugzilla.gnome.org/show_bug.cgi?id=794620

6 years agomeson: webrtc: use gnome.mkenums_simple() to generate enumtypes files
Tim-Philipp Müller [Thu, 22 Mar 2018 14:07:53 +0000 (14:07 +0000)]
meson: webrtc: use gnome.mkenums_simple() to generate enumtypes files

6 years agowebrtc: use right export define in generated enumtypes file
Tim-Philipp Müller [Thu, 22 Mar 2018 13:43:52 +0000 (13:43 +0000)]
webrtc: use right export define in generated enumtypes file

6 years agowebrtc: fix g-ir-scanner complaining about unstable API
Tim-Philipp Müller [Thu, 22 Mar 2018 13:42:31 +0000 (13:42 +0000)]
webrtc: fix g-ir-scanner complaining about unstable API

6 years agomeson: use gnome.mkenums_simple() to generate enumtypes files
Alessandro Decina [Thu, 20 Jul 2017 07:47:55 +0000 (17:47 +1000)]
meson: use gnome.mkenums_simple() to generate enumtypes files

Means we no longer need our custom scripts, nor template files.