platform/upstream/gstreamer.git
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.

6 years agopkgconfig: remove some cruft
Tim-Philipp Müller [Thu, 22 Mar 2018 10:35:25 +0000 (10:35 +0000)]
pkgconfig: remove some cruft

gl has moved to -base, remove leftover files.

6 years agomeson: fix ladspa dependencies
Patrik Nilsson [Mon, 5 Mar 2018 16:43:26 +0000 (17:43 +0100)]
meson: fix ladspa dependencies

There are two issues, both related to dependency checking with the meson
support for the ladspa plugin.

With autotools, lrdf is handled like an optional dependency. But with
meson it is required. This makes the meson support less flexible and
inconsistent with autotools.

When autotools is used it properly checks if ladspa.h is available.
But with meson it does not, instead it treats lrdf as the main
dependency. This could cause a build failure if lrdf is installed, but
the ladspa sdk is not.

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

6 years agomeson: enable bs2b compilation
Patrik Nilsson [Mon, 5 Mar 2018 17:23:09 +0000 (18:23 +0100)]
meson: enable bs2b compilation

Add meson build system support to bs2b plugin.

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

6 years agompegtsmux: Explicitly resend PAT/SI/PMT on force-keyunit events
Sebastian Dröge [Wed, 21 Mar 2018 11:42:30 +0000 (13:42 +0200)]
mpegtsmux: Explicitly resend PAT/SI/PMT on force-keyunit events

And don't randomly change the PCR stream, which would cause a new PMT
version to be generated instead and could confuse players.

6 years agompegtsmux: Deterministically set the PCR stream to the first stream of the program
Sebastian Dröge [Wed, 21 Mar 2018 11:34:17 +0000 (13:34 +0200)]
mpegtsmux: Deterministically set the PCR stream to the first stream of the program

Otherwise it would be randomly set to the first stream of the program
that receives a buffer.

6 years agompegtsmux: Reset a few more fields in mpegtsmux_reset() to their original values
Sebastian Dröge [Wed, 21 Mar 2018 09:05:23 +0000 (11:05 +0200)]
mpegtsmux: Reset a few more fields in mpegtsmux_reset() to their original values

6 years agotsmux: Don't use GST_DEBUG_OBJECT() with non-GObject types
Sebastian Dröge [Wed, 21 Mar 2018 08:59:29 +0000 (10:59 +0200)]
tsmux: Don't use GST_DEBUG_OBJECT() with non-GObject types

6 years agoh264parse: reset internal 'state' variable properly
Brendan Shanks [Tue, 20 Mar 2018 18:49:19 +0000 (11:49 -0700)]
h264parse: reset internal 'state' variable properly

Reset the internal 'state' variable when the parser is started, fixes
errors when parser is being re-used.

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

6 years agoshmsink: Fix compilation with latest GLib
Sebastian Dröge [Tue, 20 Mar 2018 14:16:19 +0000 (16:16 +0200)]
shmsink: Fix compilation with latest GLib

g_object_ref() forwards its arguments type.

gstshmsink.c: In function ‘gst_shm_sink_allocator_alloc_locked’:
/usr/include/glib-2.0/gobject/gobject.h:512:32: error: passing argument 3 of ‘gst_memory_init’ from incompatible pointer type [-Werror=incompatible-pointer-types]
 #define g_object_ref(Obj)      ((__typeof__(Obj)) (g_object_ref) (Obj))
                                ^
gstshmsink.c:292:45: note: in expansion of macro ‘g_object_ref’
     gst_memory_init (memory, params->flags, g_object_ref (self), NULL,
                                             ^~~~~~~~~~~~

6 years agoBack to development
Tim-Philipp Müller [Tue, 20 Mar 2018 09:39:17 +0000 (09:39 +0000)]
Back to development

6 years agoRelease 1.14.0
Tim-Philipp Müller [Mon, 19 Mar 2018 20:24:05 +0000 (20:24 +0000)]
Release 1.14.0

6 years agoUpdate docs
Tim-Philipp Müller [Mon, 19 Mar 2018 20:24:05 +0000 (20:24 +0000)]
Update docs

6 years agowasapi: try to satisfy both mingw and msvc
Tim-Philipp Müller [Sun, 18 Mar 2018 14:11:53 +0000 (14:11 +0000)]
wasapi: try to satisfy both mingw and msvc

Fix-up for previous commit, hopefully.

6 years agokmssink: Add Amlogic upstreamer DRM driver support
Nicolas Dufresne [Sun, 18 Mar 2018 13:50:51 +0000 (09:50 -0400)]
kmssink: Add Amlogic upstreamer DRM driver support

Amlogic Upstream driver is named meson, not to be confuse with the build
system.

6 years agowasapi: fix indentation
Tim-Philipp Müller [Sat, 17 Mar 2018 23:52:31 +0000 (23:52 +0000)]
wasapi: fix indentation

6 years agowasapi: fix unresolved symbol linker error with vs2017 on win10
Tim-Philipp Müller [Sat, 17 Mar 2018 23:48:13 +0000 (23:48 +0000)]
wasapi: fix unresolved symbol linker error with vs2017 on win10

ERROR: unresolved external symbol PKEY_AudioEngine_DeviceFormat

Apparently the order of the header includes matters, and initguid.h
must be included first. Let's hope this doesn't break anything on
the other toolchains.

https://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/ceff4e2d-8f63-4ab6-b09b-fdac65d62a80/pkeyaudioenginedeviceformat-link-error?forum=windowspro-audiodevelopment

6 years agowebrtc: Fix make distcheck for g-i build
Sebastian Dröge [Fri, 16 Mar 2018 17:21:31 +0000 (19:21 +0200)]
webrtc: Fix make distcheck for g-i build

ERROR: ../../../../../gst-libs/gst/webrtc/webrtc-enumtypes.c: no such a file or directory

6 years agowebrtc: Include webrtc-enumtypes in the g-i build
Sebastian Dröge [Fri, 16 Mar 2018 15:00:56 +0000 (17:00 +0200)]
webrtc: Include webrtc-enumtypes in the g-i build

6 years agowebrtcbin: Remove parameter from gst_webrtc_rtp_sender_new()
Sebastian Dröge [Fri, 16 Mar 2018 09:07:01 +0000 (11:07 +0200)]
webrtcbin: Remove parameter from gst_webrtc_rtp_sender_new()

6 years agowebrtc: Remove unused parameter from rtpsender constructor
Sebastian Dröge [Thu, 15 Mar 2018 15:32:24 +0000 (17:32 +0200)]
webrtc: Remove unused parameter from rtpsender constructor

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

6 years agowebrtc: Add some locks to setters and remove non-existing functions from headers
Sebastian Dröge [Thu, 15 Mar 2018 15:31:50 +0000 (17:31 +0200)]
webrtc: Add some locks to setters and remove non-existing functions from headers

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

6 years agowebrtc: Rename GstWebRTCIceRole to GstWebRTCICERole for consistency
Sebastian Dröge [Thu, 15 Mar 2018 14:58:40 +0000 (16:58 +0200)]
webrtc: Rename GstWebRTCIceRole to GstWebRTCICERole for consistency

Everything else is ICE, not Ice.

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

6 years agowebrtc: Fix gobject-introspection build with meson
Sebastian Dröge [Thu, 15 Mar 2018 14:45:46 +0000 (16:45 +0200)]
webrtc: Fix gobject-introspection build with meson

6 years agowebrtc: Add gobject-introspection integration
Sebastian Dröge [Thu, 15 Mar 2018 10:04:00 +0000 (12:04 +0200)]
webrtc: Add gobject-introspection integration

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

6 years agosrt: Add missing gstsrt.h to noinst_HEADERS
Jan Alexander Steffens (heftig) [Wed, 14 Mar 2018 10:42:42 +0000 (11:42 +0100)]
srt: Add missing gstsrt.h to noinst_HEADERS

Reorder the list to match the SOURCES.

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

6 years agomsdk: libva: remove unnecessary code and comments
Hyunjun Ko [Tue, 13 Mar 2018 22:21:40 +0000 (14:21 -0800)]
msdk: libva: remove unnecessary code and comments

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

6 years agomsdk: adds new debug category
Hyunjun Ko [Tue, 13 Mar 2018 22:20:50 +0000 (14:20 -0800)]
msdk: adds new debug category

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

6 years agomsdk: fix typo
Hyunjun Ko [Tue, 13 Mar 2018 22:18:23 +0000 (14:18 -0800)]
msdk: fix typo

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

6 years agomsdk: Fix the I420 video format support
Wang,Fei [Tue, 13 Mar 2018 21:54:17 +0000 (13:54 -0800)]
msdk: Fix the I420 video format support

Make sure I420 surface mapping works as expected by using
YV12 format and swap U/V plane's offset and pitches.

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

6 years agoRelease 1.13.91
Tim-Philipp Müller [Tue, 13 Mar 2018 19:22:10 +0000 (19:22 +0000)]
Release 1.13.91

6 years agoUpdate docs
Tim-Philipp Müller [Tue, 13 Mar 2018 19:22:10 +0000 (19:22 +0000)]
Update docs

6 years agodocs: update api decorators to ignore
Tim-Philipp Müller [Tue, 13 Mar 2018 13:14:58 +0000 (13:14 +0000)]
docs: update api decorators to ignore

6 years agowebrtc: GST_EXPORT -> GST_WEBRTC_API
Tim-Philipp Müller [Tue, 13 Mar 2018 13:11:17 +0000 (13:11 +0000)]
webrtc: GST_EXPORT -> GST_WEBRTC_API

We need different export decorators for the different libs.
For now no actual change though, just rename before the release,
and add prelude headers to define the new decorator to GST_EXPORT.

6 years agowayland: GST_EXPORT -> GST_WAYLAND_API
Tim-Philipp Müller [Tue, 13 Mar 2018 13:09:28 +0000 (13:09 +0000)]
wayland: GST_EXPORT -> GST_WAYLAND_API

We need different export decorators for the different libs.
For now no actual change though, just rename before the release,
and add prelude headers to define the new decorator to GST_EXPORT.

6 years agovideo: GST_EXPORT -> GST_URI_VIDEO_BAD_API
Tim-Philipp Müller [Tue, 13 Mar 2018 13:07:52 +0000 (13:07 +0000)]
video: GST_EXPORT -> GST_URI_VIDEO_BAD_API

We need different export decorators for the different libs.
For now no actual change though, just rename before the release,
and add prelude headers to define the new decorator to GST_EXPORT.

6 years agouridownloader: GST_EXPORT -> GST_URI_DOWNLOADER_API
Tim-Philipp Müller [Tue, 13 Mar 2018 13:05:45 +0000 (13:05 +0000)]
uridownloader: GST_EXPORT -> GST_URI_DOWNLOADER_API

We need different export decorators for the different libs.
For now no actual change though, just rename before the release,
and add prelude headers to define the new decorator to GST_EXPORT.

6 years agoplayer: GST_EXPORT -> GST_PLAYER_API
Tim-Philipp Müller [Tue, 13 Mar 2018 13:02:54 +0000 (13:02 +0000)]
player: GST_EXPORT -> GST_PLAYER_API

We need different export decorators for the different libs.
For now no actual change though, just rename before the release,
and add prelude headers to define the new decorator to GST_EXPORT.

6 years agoopencv: GST_EXPORT -> GST_OPENCV_API
Tim-Philipp Müller [Tue, 13 Mar 2018 12:57:56 +0000 (12:57 +0000)]
opencv: GST_EXPORT -> GST_OPENCV_API

We need different export decorators for the different libs.
For now no actual change though, just rename before the release,
and add prelude headers to define the new decorator to GST_EXPORT.

6 years agompegts: GST_EXPORT -> GST_MPEGTS_API
Tim-Philipp Müller [Tue, 13 Mar 2018 12:47:03 +0000 (12:47 +0000)]
mpegts: GST_EXPORT -> GST_MPEGTS_API

We need different export decorators for the different libs.
For now no actual change though, just rename before the release,
and add prelude headers to define the new decorator to GST_EXPORT.

6 years agoisoff: GST_EXPORT -> GST_ISOFF_API
Tim-Philipp Müller [Tue, 13 Mar 2018 12:43:00 +0000 (12:43 +0000)]
isoff: GST_EXPORT -> GST_ISOFF_API

We need different export decorators for the different libs.
For now no actual change though, just rename before the release,
and add prelude headers to define the new decorator to GST_EXPORT.

6 years agophotography: GST_EXPORT -> GST_PHOTOGRAPHY_API
Tim-Philipp Müller [Tue, 13 Mar 2018 12:41:42 +0000 (12:41 +0000)]
photography: GST_EXPORT -> GST_PHOTOGRAPHY_API

We need different export decorators for the different libs.
For now no actual change though, just rename before the release,
and add prelude headers to define the new decorator to GST_EXPORT.

6 years agoinsertbin: GST_EXPORT -> GST_INSERT_BIN_API
Tim-Philipp Müller [Tue, 13 Mar 2018 12:36:26 +0000 (12:36 +0000)]
insertbin: GST_EXPORT -> GST_INSERT_BIN_API

We need different export decorators for the different libs.
For now no actual change though, just rename before the release,
and add prelude headers to define the new decorator to GST_EXPORT.

6 years agocodecparsers: GST_EXPORT -> GST_CODEC_PARSERS_API
Tim-Philipp Müller [Tue, 13 Mar 2018 12:34:24 +0000 (12:34 +0000)]
codecparsers: GST_EXPORT -> GST_CODEC_PARSERS_API

We need different export decorators for the different libs.
For now no actual change though, just rename before the release,
and add prelude headers to define the new decorator to GST_EXPORT.

6 years agobasecamerabinsrc: GST_EXPORT -> GST_BASE_CAMERA_BIN_SRC_API
Tim-Philipp Müller [Tue, 13 Mar 2018 12:29:08 +0000 (12:29 +0000)]
basecamerabinsrc: GST_EXPORT -> GST_BASE_CAMERA_BIN_SRC_API

We need different export decorators for the different libs.
For now no actual change though, just rename before the release,
and add prelude headers to define the new decorator to GST_EXPORT.

6 years agoaudio: GST_EXPORT -> GST_AUDIO_BAD_API
Tim-Philipp Müller [Tue, 13 Mar 2018 12:21:39 +0000 (12:21 +0000)]
audio: GST_EXPORT -> GST_AUDIO_BAD_API

We need different export decorators for the different libs.
For now no actual change though, just rename before the release,
and add prelude headers to define the new decorator to GST_EXPORT.

6 years agoadaptivedemux: GST_EXPORT -> GST_ADAPTIVE_DEMUX_API
Tim-Philipp Müller [Tue, 13 Mar 2018 12:17:50 +0000 (12:17 +0000)]
adaptivedemux: GST_EXPORT -> GST_ADAPTIVE_DEMUX_API

We need different export decorators for the different libs.
For now no actual change though, just rename before the release,
and add prelude headers to define the new decorator to GST_EXPORT.

6 years agodocs: plugins: add some more elements and plugins
Tim-Philipp Müller [Mon, 12 Mar 2018 20:10:02 +0000 (20:10 +0000)]
docs: plugins: add some more elements and plugins

6 years agowasapi: Minor fixes for debug logging
Nirbheek Chauhan [Sat, 10 Mar 2018 13:21:14 +0000 (18:51 +0530)]
wasapi: Minor fixes for debug logging

6 years agomeson: Add deviceprovider changes to directsoundsrc
Nirbheek Chauhan [Sat, 10 Mar 2018 13:19:59 +0000 (18:49 +0530)]
meson: Add deviceprovider changes to directsoundsrc

These were missed when they were added to Makefile.am

6 years agowasapi: Guard IAudioClient2 structs and enums
Nirbheek Chauhan [Fri, 9 Mar 2018 16:35:49 +0000 (22:05 +0530)]
wasapi: Guard IAudioClient2 structs and enums

These are already defined in the audioclient.h provided by the latest
MinGW headers, and the existing #ifndef were obviously wrong.

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

6 years agodocs: add wasapi elements
Tim-Philipp Müller [Sat, 10 Mar 2018 11:41:54 +0000 (11:41 +0000)]
docs: add wasapi elements

6 years agomeson: fix build when msdk is not found
Tim-Philipp Müller [Fri, 9 Mar 2018 23:59:16 +0000 (23:59 +0000)]
meson: fix build when msdk is not found

6 years agotests: add msdkh264enc element unit test
Wang,Fei [Fri, 9 Mar 2018 19:48:11 +0000 (10:48 -0900)]
tests: add msdkh264enc element unit test

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

6 years agomsdk: Fix the misspelled file name in meson build
Sreerenj Balachandran [Fri, 9 Mar 2018 19:32:40 +0000 (10:32 -0900)]
msdk: Fix the misspelled file name in meson build

6 years agowasapi: ship audioclient3 header in tarballs
Emilio Pozuelo Monfort [Fri, 9 Mar 2018 10:11:40 +0000 (11:11 +0100)]
wasapi: ship audioclient3 header in tarballs

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

6 years agomsdk: enc: fix missing some frames to be encoded
Hyunjun Ko [Thu, 8 Mar 2018 20:39:25 +0000 (11:39 -0900)]
msdk: enc: fix missing some frames to be encoded

There was not handling the end of encoding sequence in encoder.
This patch does drain any remaining internal streams while decoder
already does this.

Document says:
"To mark the end of the encoding sequence, call this function with a
NULL surface
pointer. Repeat the call to drain any remaining internally cached
bitstreams—one
frame at a time—until MFX_ERR_MORE_DATA is returned."

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

6 years agomsdk: dec: fix leaks when flushing
Hyunjun Ko [Thu, 8 Mar 2018 20:38:52 +0000 (11:38 -0900)]
msdk: dec: fix leaks when flushing

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

6 years agomsdk: manage child sessions on parent GstMsdkContext
Hyunjun Ko [Thu, 8 Mar 2018 20:38:30 +0000 (11:38 -0900)]
msdk: manage child sessions on parent GstMsdkContext

Sometimes parent context is released before its children get released.
In this case MFXClose of parent session fails.

To make sure that child sessions are closed before closing a parent
session,
Parent context needs to manage child sessions and close them first when
it's released.

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

6 years agomsdk: dec: remove code to manage buffers with locked surface
Hyunjun Ko [Thu, 8 Mar 2018 20:37:52 +0000 (11:37 -0900)]
msdk: dec: remove code to manage buffers with locked surface

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

6 years agomsdk: manage MSDK surfaces seperately
Hyunjun Ko [Thu, 8 Mar 2018 20:37:12 +0000 (11:37 -0900)]
msdk: manage MSDK surfaces seperately

Currently a gst buffer has one mfxFrameSurface when it's allocated and
can't be changed.
This is based on that the life of gst buffer and mfxFrameSurface would
be same.
But it's not true. Sometimes even if a gst buffer of a frame is finished
on downstream,
mfxFramesurface coupled with the gst buffer is still locked, which means
it's still being used in the driver.

So this patch does this.
Every time a gst buffer is acquired from the pool, it confirms if the
surface coupled with the buffer is unlocked.
If not, replace it with new unlocked one.
In this way, user(decoder or encoder) doesn't need to manage gst buffers
including locked surface.

To do that, this patch includes the following:
1. GstMsdkContext
- Manages MSDK surfaces available, used, locked respectively as the
following:
  1\ surfaces_avail : surfaces which are free and unused anywhere
  2\ surfaces_used : surfaces coupled with a gst buffer and being used
now.
  3\ surfaces_locked : surfaces still locked even after the gst buffer
is released.

- Provide an api to get MSDK surface available.
- Provide an api to release MSDK surface.

2. GstMsdkVideoMemory
- Gets a surface available when it's allocated.
- Provide an api to get an available surface with new unlocked one.
- Provide an api to release surface in the msdk video memory.

3. GstMsdkBufferPool
- In acquire_buffer, every time a gst buffer is acquired, get new
available surface from the list.
- In release_buffer, it confirms if the buffer's surface is unlocked or
not.
  - If unlocked, it is put to the available list.
  - If still locked, it is put to the locked list.

This also fixes bug #793525.

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

6 years agoconfigure.ac: enable largefile support if possible
Michael Tretter [Thu, 8 Mar 2018 09:12:16 +0000 (10:12 +0100)]
configure.ac: enable largefile support if possible

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

6 years agotests: player: disable broken test_play_media_info test
Tim-Philipp Müller [Mon, 5 Mar 2018 19:37:06 +0000 (19:37 +0000)]
tests: player: disable broken test_play_media_info test

Until someone can be bothered to debug + fix it.

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

6 years agoh265parser: allow partial matching on range extension profile
Guillaume Desmottes [Mon, 5 Mar 2018 13:21:14 +0000 (14:21 +0100)]
h265parser: allow partial matching on range extension profile

Best to return a valid profiles rather than no profile if bitstream uses
a not standard profile.

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

6 years agoh265parse: add support for 'Format range extensions profiles'
Guillaume Desmottes [Mon, 26 Feb 2018 16:26:07 +0000 (17:26 +0100)]
h265parse: add support for 'Format range extensions profiles'

Those profiles have been introduced in version 2 of the HEVC spec
(A.3.5).

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

6 years agoh265parser: parse extra profile fields
Guillaume Desmottes [Tue, 27 Feb 2018 10:30:15 +0000 (11:30 +0100)]
h265parser: parse extra profile fields

Those fields have been introduced in version 2 and later to define new
profiles like the format range extensions profiles (A.3.5).

NOTE: This patch breaks the parser ABI, rebuild needed.

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

6 years agoh265parser: decouple GstH265Profile and GstH265ProfileIDC
Guillaume Desmottes [Thu, 1 Mar 2018 10:08:44 +0000 (11:08 +0100)]
h265parser: decouple GstH265Profile and GstH265ProfileIDC

We used to have the same enum to represent H265 profiles and idc values.
Those are no longer the same with extension profiles defined from
version 2 of the spec.
Split those enums so the semantic of each is clearer and we'll be able
to add extension profiles to GstH265Profile.

Also add gst_h265_profile_tier_level_get_profile() to retrieve the
GstH265Profile from the GstH265ProfileTierLevel. It will be used to
implement the detection of extension profiles.

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

6 years agoRelease 1.13.90
Tim-Philipp Müller [Sat, 3 Mar 2018 22:39:27 +0000 (22:39 +0000)]
Release 1.13.90

6 years agoUpdate docs
Tim-Philipp Müller [Sat, 3 Mar 2018 22:39:27 +0000 (22:39 +0000)]
Update docs

6 years agoiqa: Fix build with latest aggregator API changes
Sebastian Dröge [Fri, 2 Mar 2018 19:53:47 +0000 (21:53 +0200)]
iqa: Fix build with latest aggregator API changes

6 years agoRevert "h265parse: early set src caps when input not byte-stream"
Nicolas Dufresne [Fri, 2 Mar 2018 15:37:53 +0000 (10:37 -0500)]
Revert "h265parse: early set src caps when input not byte-stream"

This reverts commit 93d29e80300f566b7a8e7d86beecb578fe03821c.