platform/upstream/gstreamer.git
7 years agodecklink: Fix format specifier warnings in logging
Nirbheek Chauhan [Tue, 18 Jul 2017 20:51:42 +0000 (02:21 +0530)]
decklink: Fix format specifier warnings in logging

gstdecklinkvideosrc.cpp:425:7: warning: format '%x' expects argument of type 'unsigned int', but argument 8 has type 'HRESULT {aka long int}' [-Wformat]

[and so on]

7 years agodecklink: Fix build on mingw32 by adding missing WINAPI
Nirbheek Chauhan [Tue, 18 Jul 2017 20:49:47 +0000 (02:19 +0530)]
decklink: Fix build on mingw32 by adding missing WINAPI

gstdecklinkaudiosink.cpp:155:19: error: conflicting type attributes specified for 'virtual HRESULT GStreamerAudioOutputCallback::QueryInterface(const IID&, void**)'
In file included from /var/lib/jenkins/workspace/cerbero-cross-mingw32/workdir/mingw/w32/bin/../lib/gcc/i686-w64-mingw32/4.7.3/../../../../i686-w64-mingw32/include/objbase.h:153:0,
                 from /var/lib/jenkins/workspace/cerbero-cross-mingw32/workdir/mingw/w32/bin/../lib/gcc/i686-w64-mingw32/4.7.3/../../../../i686-w64-mingw32/include/ole2.h:16,
                 from /var/lib/jenkins/workspace/cerbero-cross-mingw32/workdir/mingw/w32/bin/../lib/gcc/i686-w64-mingw32/4.7.3/../../../../i686-w64-mingw32/include/windows.h:94,
                 from /var/lib/jenkins/workspace/cerbero-cross-mingw32/workdir/mingw/w32/bin/../lib/gcc/i686-w64-mingw32/4.7.3/../../../../i686-w64-mingw32/include/rpc.h:16,
                 from win/DeckLinkAPI.h:27,
                 from gstdecklink.h:35,
                 from gstdecklinkaudiosink.h:27,
                 from gstdecklinkaudiosink.cpp:25:
/var/lib/jenkins/workspace/cerbero-cross-mingw32/workdir/mingw/w32/bin/../lib/gcc/i686-w64-mingw32/4.7.3/../../../../i686-w64-mingw32/include/unknwn.h:67:25: error:   overriding 'virtual HRESULT IUnknown::QueryInterface(const IID&, void**)'

(and many more)

https://ci.gstreamer.net/job/cerbero-cross-mingw32/6407/console

7 years agovideo: mark symbols explicitly for export with GST_EXPORT
Tim-Philipp Müller [Tue, 18 Jul 2017 11:46:09 +0000 (12:46 +0100)]
video: mark symbols explicitly for export with GST_EXPORT

7 years agouridownloader: mark symbols explicitly for export with GST_EXPORT
Tim-Philipp Müller [Tue, 18 Jul 2017 11:45:14 +0000 (12:45 +0100)]
uridownloader: mark symbols explicitly for export with GST_EXPORT

7 years agoplayer: mark symbols explicitly for export with GST_EXPORT
Tim-Philipp Müller [Tue, 18 Jul 2017 11:43:26 +0000 (12:43 +0100)]
player: mark symbols explicitly for export with GST_EXPORT

7 years agoopencv: mark symbols explicitly for export with GST_EXPORT
Tim-Philipp Müller [Tue, 18 Jul 2017 00:16:28 +0000 (01:16 +0100)]
opencv: mark symbols explicitly for export with GST_EXPORT

7 years agompegts: mark symbols explicitly for export with GST_EXPORT
Tim-Philipp Müller [Tue, 18 Jul 2017 00:10:56 +0000 (01:10 +0100)]
mpegts: mark symbols explicitly for export with GST_EXPORT

7 years agophotography: mark symbols explicitly for export with GST_EXPORT
Tim-Philipp Müller [Mon, 17 Jul 2017 23:49:41 +0000 (00:49 +0100)]
photography: mark symbols explicitly for export with GST_EXPORT

7 years agoinsertbin: mark symbols explicitly for export with GST_EXPORT
Tim-Philipp Müller [Mon, 17 Jul 2017 23:23:09 +0000 (00:23 +0100)]
insertbin: mark symbols explicitly for export with GST_EXPORT

7 years agocodecparsers: mark symbols explicitly for export with GST_EXPORT
Tim-Philipp Müller [Sat, 20 May 2017 12:19:07 +0000 (13:19 +0100)]
codecparsers: mark symbols explicitly for export with GST_EXPORT

7 years agobasecamerabinsrc: mark symbols explicitly for export with GST_EXPORT
Tim-Philipp Müller [Mon, 17 Jul 2017 23:31:36 +0000 (00:31 +0100)]
basecamerabinsrc: mark symbols explicitly for export with GST_EXPORT

7 years agoaggregator: mark symbols explicitly for export with GST_EXPORT
Tim-Philipp Müller [Mon, 17 Jul 2017 23:30:51 +0000 (00:30 +0100)]
aggregator: mark symbols explicitly for export with GST_EXPORT

7 years agoaudio: mark symbols explicitly for export with GST_EXPORT
Tim-Philipp Müller [Mon, 17 Jul 2017 23:29:56 +0000 (00:29 +0100)]
audio: mark symbols explicitly for export with GST_EXPORT

7 years agoallocators: mark symbols explicitly for export with GST_EXPORT
Tim-Philipp Müller [Mon, 17 Jul 2017 23:27:54 +0000 (00:27 +0100)]
allocators: mark symbols explicitly for export with GST_EXPORT

7 years agoadaptivedemux: mark symbols explicitly for export with GST_EXPORT
Tim-Philipp Müller [Mon, 17 Jul 2017 23:26:23 +0000 (00:26 +0100)]
adaptivedemux: mark symbols explicitly for export with GST_EXPORT

7 years agowebvttenc: Change src pad template to application/x-subtitle-vtt
Seungha Yang [Mon, 10 Jul 2017 07:39:49 +0000 (16:39 +0900)]
webvttenc: Change src pad template to application/x-subtitle-vtt

Use consistent mime-type with subparse element for webvtt format

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

7 years agodashdemux: Add support webvtt subtitle stream
Seungha Yang [Sun, 9 Jul 2017 05:34:21 +0000 (14:34 +0900)]
dashdemux: Add support webvtt subtitle stream

Enable exposing webvtt subtitle streams.

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

7 years agoopenh264enc: set GST_PARAM_MUTABLE_PLAYING for bitrate/max-bitrate properties
Nicola Murino [Mon, 17 Jul 2017 22:52:03 +0000 (00:52 +0200)]
openh264enc: set GST_PARAM_MUTABLE_PLAYING for bitrate/max-bitrate properties

This way is documented that these properties can be changed in any state

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

7 years agoopenh264enc: allow to dynamically change bitrate
Nicola Murino [Mon, 17 Jul 2017 22:49:12 +0000 (00:49 +0200)]
openh264enc: allow to dynamically change bitrate

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

7 years agoopenh264enc: fix indentation
Nicola Murino [Mon, 17 Jul 2017 22:36:27 +0000 (00:36 +0200)]
openh264enc: fix indentation

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

7 years agocruft: add ext/gsettings to the cruft list
Stefan Sauer [Mon, 17 Jul 2017 17:29:39 +0000 (19:29 +0200)]
cruft: add ext/gsettings to the cruft list

7 years agojpeg2000parse: support 2-component images
Aaron Boxer [Tue, 11 Jul 2017 14:09:02 +0000 (10:09 -0400)]
jpeg2000parse: support 2-component images

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

7 years agojpeg2000parse: initial support for JP2 format
Aaron Boxer [Sat, 24 Jun 2017 15:18:06 +0000 (11:18 -0400)]
jpeg2000parse: initial support for JP2 format

This is a simple way of supporting JP2 : we treat is as JPC, and throw
away header info.

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

7 years agojpeg2000parse: Parse colorimetry, interlace-mode, field-order, multiview-mode and...
Aaron Boxer [Thu, 6 Jul 2017 19:14:57 +0000 (15:14 -0400)]
jpeg2000parse: Parse colorimetry, interlace-mode, field-order, multiview-mode and chroma-site

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

7 years agogsm: unmap output buffer when done
Satya Prakash Gupta [Thu, 13 Jul 2017 07:47:57 +0000 (13:17 +0530)]
gsm: unmap output buffer when done

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

7 years agomeson: Fix GLES2 check
Edward Hervey [Mon, 17 Jul 2017 06:06:22 +0000 (08:06 +0200)]
meson: Fix GLES2 check

On systems without pkg-config, we have the the library present but
not the headers

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

7 years agoglwindow_cocoa: fix video overlay support
Philippe Normand [Sat, 15 Jul 2017 16:25:36 +0000 (17:25 +0100)]
glwindow_cocoa: fix video overlay support

Make sure the window handle is configured after the NSWindow was created.

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

7 years agogl/cocoa: keep refs over async operations
Matthew Waters [Sat, 15 Jul 2017 15:17:04 +0000 (01:17 +1000)]
gl/cocoa: keep refs over async operations

Avoids dereferencing dead objects

What happens in the autovideosink case is that context 1 is created and
destroyed before all the async operations hae executed on the associated
window.  When the delayed operations execute, they then reference dead
objects and crash.

We fix this by keeping refs over all async operations so the object
cannot be deleted while async operations are in flight.

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

7 years agogl/window/x11: implement set_render_rectangle support
Matthew Waters [Fri, 14 Jul 2017 15:24:52 +0000 (01:24 +1000)]
gl/window/x11: implement set_render_rectangle support

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

7 years agotests: audiomixer: set all properties at once
Stefan Sauer [Sat, 15 Jul 2017 19:28:38 +0000 (21:28 +0200)]
tests: audiomixer: set all properties at once

7 years agotests: audiomixer: use the buffer helper for other tests too
Stefan Sauer [Sat, 15 Jul 2017 17:33:21 +0000 (19:33 +0200)]
tests: audiomixer: use the buffer helper for other tests too

7 years agomeson: add translations
Tim-Philipp Müller [Sat, 15 Jul 2017 11:52:38 +0000 (12:52 +0100)]
meson: add translations

7 years agodvb: src: consolidate tuning stats gathering
Reynaldo H. Verdejo Pinochet [Thu, 29 Jun 2017 21:35:40 +0000 (14:35 -0700)]
dvb: src: consolidate tuning stats gathering

Additionally: drop unneeded fe_fd variable.

7 years agoaudiomixer: document caps negotiation raciness
Tim-Philipp Müller [Fri, 14 Jul 2017 12:54:31 +0000 (13:54 +0100)]
audiomixer: document caps negotiation raciness

Until we land conversion support in audioaggregator (#773762).

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

7 years agodecklink: Add autotools support on Windows
Nirbheek Chauhan [Fri, 14 Jul 2017 08:44:38 +0000 (14:14 +0530)]
decklink: Add autotools support on Windows

Also add a missing windows file to EXTRA_DIST

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

7 years agopkgconfig: missing GL_CFLAGS in gstreamer-gl-uninstalled.pc.in
Julien Isorce [Fri, 7 Jul 2017 15:33:42 +0000 (16:33 +0100)]
pkgconfig: missing GL_CFLAGS in gstreamer-gl-uninstalled.pc.in

Already present in gstreamer-gl.pc.in

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

7 years agoaudiomixer: add a helper for buffer creation
Stefan Sauer [Fri, 14 Jul 2017 06:09:25 +0000 (08:09 +0200)]
audiomixer: add a helper for buffer creation

This makes the test setup easier to read.

7 years agoaggregator: remove duplicated code fragment
Stefan Sauer [Thu, 13 Jul 2017 20:00:58 +0000 (22:00 +0200)]
aggregator: remove duplicated code fragment

This code already runs above when (event || query).

7 years agoaggregator: code cleanups
Stefan Sauer [Thu, 13 Jul 2017 19:55:55 +0000 (21:55 +0200)]
aggregator: code cleanups

Fix comment typos, some copy'n'paste in logging. Add more doc comments.

7 years agoaudiomixer: use test helper once more
Stefan Sauer [Thu, 13 Jul 2017 19:54:55 +0000 (21:54 +0200)]
audiomixer: use test helper once more

7 years agoadaptivedemux: Workaround for live seek ranges when advancing
Edward Hervey [Thu, 13 Jul 2017 10:57:12 +0000 (12:57 +0200)]
adaptivedemux: Workaround for live seek ranges when advancing

This is a workaround for a regression introduced by
f4190a49c04f1d5d174cebba0bc9a03a7ec721c2
 ( adaptivedemux: Check live seeking range more often )

The goal of the previous commit was to be able to cope with non-1.0
rates on live streams which have a "seeking window" (i.e. the server
keeps around quite a bit of the live stream so you can seek back into
it).

Without that commit, two different kind of issues would happen:
* When doing reverse playback, you would never check whether you
  are outside of the seekable region. And would then continuously
  try to download fragments that are no longer present.
* When doing fast forward, you would end up requesting fragments
  which are not present yet.

In order to determine whether one was *really* outside of the seekable
window, we check whether the current stream position is still
within the seekable region.

The *problem* though with that commit is that it assumes that subclasses
will return continuously updated seeking ranges (i.e. dependent on the
current time), which is *NOT* the case.

For example:
* dashdemux does use the current UTC to determine the seekable region
* hlsdemux uses the values from the last updated manifest

Therefore if one downloads fragments faster than realtime, for HLS
we would end up at the end of the last manifest seekable range, and
the previous commit would consider the stream as being ended... which
is not the case.

In the long run, we need to figure out a way to cope with non-1.0
rates on live streams for all types of stream (including HLS).

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

7 years agodashdemux: update manifest streams correctly if pads aren't exposed
Thiago Santos [Tue, 30 May 2017 05:47:10 +0000 (22:47 -0700)]
dashdemux: update manifest streams correctly if pads aren't exposed

In some cases, it is possible that we need to update the manifest before
pads have been exposed at all. If there are no current pads, just expose
the next prepared streams. This doesn't handle the case where a manifest
update would happen while a live streams is changing periods, which is a
type of use case that we're unaware of real usages yet.

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

7 years agoadaptivedemux: small refactor to avoid repeated code
Thiago Santos [Sat, 13 May 2017 22:17:57 +0000 (15:17 -0700)]
adaptivedemux: small refactor to avoid repeated code

Move segment event update to a function

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

7 years agoadaptivedemux: Handle prepared streams on seeks
Edward Hervey [Tue, 9 May 2017 09:41:49 +0000 (11:41 +0200)]
adaptivedemux: Handle prepared streams on seeks

This is a race that was exposed by the {hls|dash}.scrub_forward_seeking
validate test.

The "race" is that a subclass might want to change format, causing
a new stream to be created (but not exposed/switched yet) and put on the
prepared_streams list. That stream will have values (including pending
segment) from the pre-seek state.

Before the stream is exposed/switched, a new seek comes in and the stream
values get updated ... but the ones that will be changed don't get updated
causing them to push out wrong segments once they are exposed.

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

7 years agoqt: Use a proxy object for access to the QML widget
Jan Schmidt [Wed, 12 Jul 2017 05:29:32 +0000 (15:29 +1000)]
qt: Use a proxy object for access to the QML widget

QML can destroy the video widget at any time, leaving
us with a dangling pointer. Use a lock and a proxy
object to cope with that, and block in the widget
destructor if there are ongoing calls into the widget.

7 years agoglfilter: Remove hard-coded pad templates
Jan Schmidt [Thu, 6 Jul 2017 11:09:50 +0000 (21:09 +1000)]
glfilter: Remove hard-coded pad templates

Add a function to install the default RGBA pad templates,
but don't make them required so that there can be
GstGLFilter sub-classes with different input/output
caps if they want. Remove the hard-coded RGBA restriction in
the set_caps_features call, as it will be taken care
of by intersecting with the pad templates.

Update all the sub-classes to match

7 years agoglupload: Don't throw assertions on invalid allocation query
Jan Schmidt [Fri, 7 Jul 2017 04:41:17 +0000 (14:41 +1000)]
glupload: Don't throw assertions on invalid allocation query

basesrc can send an allocation query with no caps, in which
case we should just fail it without throwing assertions.

7 years agomxfdemux: Create index table arrays with a big enough size
Sebastian Dröge [Tue, 11 Jul 2017 17:54:25 +0000 (20:54 +0300)]
mxfdemux: Create index table arrays with a big enough size

7 years agomxfdemux: Initialize index table entries completely in all cases
Sebastian Dröge [Tue, 11 Jul 2017 17:53:22 +0000 (20:53 +0300)]
mxfdemux: Initialize index table entries completely in all cases

When seeking backwards into a previously unseen location, we wouldn't
fully initialize them and playback would fail later.

7 years agoopenexr: Header are not C++11, force C++98
Olivier Crête [Tue, 11 Jul 2017 16:43:46 +0000 (12:43 -0400)]
openexr: Header are not C++11, force C++98

7 years agodecklinkvideosrc: Add custom memory allocator
Georg Lippitsch [Fri, 12 May 2017 12:39:54 +0000 (14:39 +0200)]
decklinkvideosrc: Add custom memory allocator

The default memory allocator of the decklink library allocates
a fixed pool of buffers, and the number of buffers is unknown.
This makes it impossible do useful queuing downstream. The new
memory allocator can create an unlimited number of buffers,
giving all queuing features one would expect from a live source.

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

7 years agodirectsoundsrc: Properly pass pLockedBuffer by reference when calling IDirectSoundCap...
Philippe Renon [Mon, 10 Jul 2017 15:35:32 +0000 (17:35 +0200)]
directsoundsrc: Properly pass pLockedBuffer by reference when calling IDirectSoundCaptureBuffer_Lock

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

7 years agoaudiomixer: more test cleanups
Stefan Sauer [Mon, 10 Jul 2017 19:08:09 +0000 (21:08 +0200)]
audiomixer: more test cleanups

Port over the test helpers from the adder tests.

7 years agoaudiomixer: refactor test
Stefan Sauer [Mon, 10 Jul 2017 18:16:10 +0000 (20:16 +0200)]
audiomixer: refactor test

Apply cleanups from the adder tests. Use a fixture for common code.

7 years agovulkan: Use the generated version of vkconfig.h
Jussi Kukkonen [Wed, 5 Jul 2017 08:07:05 +0000 (11:07 +0300)]
vulkan: Use the generated version of vkconfig.h

Build fails in ext/vulkan/xcb and ext/vulkan/wayland when:
* building from tarball
* building out-of-tree
* Only one WSI integration (xcb or wayland) is enabled by configure.ac
This is because vkconfig.h from source directory gets used instead
of the generated one.

Add the correct build directory to "-I". Use angle bracket
include in vkapi.h so that it actually looks in the include search
path instead of defaulting to the same (source tree) directory.

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

7 years agovkdisplay: Use ifdef for platform specific defines
Jussi Kukkonen [Wed, 5 Jul 2017 08:00:42 +0000 (11:00 +0300)]
vkdisplay: Use ifdef for platform specific defines

VK_KHR_*_SURFACE_EXTENSION_NAME are only available when corresponding
WSI is enabled.

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

7 years agokmssink: initialize variable
Víctor Manuel Jáquez Leal [Mon, 10 Jul 2017 11:27:40 +0000 (13:27 +0200)]
kmssink: initialize variable

Otherwise clang complains:

gstkmssink.c:1192:7: warning: variable 'buf' is used uninitialized
whenever 'if' condition is true [-Wsometimes-uninitialized]

7 years agoopenjpegdec: support grayscale with alpha channel
Aaron Boxer [Tue, 13 Jun 2017 03:36:05 +0000 (23:36 -0400)]
openjpegdec: support grayscale with alpha channel

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

7 years agojpeg2000parse: allow parsing when current caps are null
Aaron Boxer [Mon, 12 Jun 2017 13:47:49 +0000 (09:47 -0400)]
jpeg2000parse: allow parsing when current caps are null

In this case, we assume that the format is jpc, and we infer the color
space from the number of components. This allows the parser to process a
jpc disk file coming from a filesrc element.

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

7 years agompegdemux: segment seek flag is not relevant when checking for EOS
Mark Nauwelaerts [Sun, 2 Jul 2017 09:55:13 +0000 (11:55 +0200)]
mpegdemux: segment seek flag is not relevant when checking for EOS

It is only relevant in deciding whether or not send SEGMENT_DONE.
In this case, not detecting EOS leads to a busy loop when encountering
the originally recorded end-of-file of a file that is still growing.

7 years agoRevert "adaptivedemux: Allow application to force EOS"
Nicolas Dufresne [Fri, 7 Jul 2017 21:20:38 +0000 (17:20 -0400)]
Revert "adaptivedemux: Allow application to force EOS"

This reverts commit 8a070cf9aff8a122b1a52597441bab61c0476ef9.

7 years agokmssink: Track cached kmsmem and clear them on drain
Nicolas Dufresne [Fri, 7 Jul 2017 16:13:27 +0000 (12:13 -0400)]
kmssink: Track cached kmsmem and clear them on drain

In this patch we keep track of the cached kmsmem in a way
that we can clear the cache during the drain process. This
release the framebuffer before waiting for the next vblank,
hence add support for DRM driver (like Intel one) that release
the associated DMABuf reference asynchronously.

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

7 years agokmssink: Move kmsmem cache code higher
Nicolas Dufresne [Fri, 7 Jul 2017 16:12:38 +0000 (12:12 -0400)]
kmssink: Move kmsmem cache code higher

This will be needed as this API will be used elsewhere to clear
the cache.

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

7 years agokmssink: drop last rendered buffer on ALLOCATION and DRAIN queries
Nicolas Dufresne [Thu, 18 May 2017 09:54:31 +0000 (11:54 +0200)]
kmssink: drop last rendered buffer on ALLOCATION and DRAIN queries

kmssink keeps a reference on the last rendered buffer. If this buffer
refers to an upstream buffer, it should be should be released on DRAIN
and ALLOCATION queries so all upstream buffers can be returned to the
pool if needed. As the buffer may be used for scanout, we copy this
buffer into a dumb buffer prior to let it go.

Based on patch from Guillaume Desmottes <guillaume.desmottes@collabora.com>

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

7 years agokmssink: Don't leak GEM primed from DMABuf
Nicolas Dufresne [Thu, 6 Jul 2017 21:20:56 +0000 (17:20 -0400)]
kmssink: Don't leak GEM primed from DMABuf

This otherwise breaks DMABuf reclaiming. This is not visible from
userspace, but inside the kernel, the DRM driver will hold a ref to the
DMABuf object. With a V4L2 driver allocating those DMABuf, it then
prevent changing the resolution and re-allocation new buffers.

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

7 years agokmssink: Factor out copying to dump buffer
Nicolas Dufresne [Wed, 5 Jul 2017 20:51:12 +0000 (16:51 -0400)]
kmssink: Factor out copying to dump buffer

This will be used to copy any upstream memory in order to return it on
resolution change, allocation query or drain query.

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

7 years agoadaptivedemux: Allow application to force EOS
Nicolas Dufresne [Mon, 3 Jul 2017 19:28:25 +0000 (15:28 -0400)]
adaptivedemux: Allow application to force EOS

Adaptive demuxers are special demuxers that runs their own sources
internally. In this patch we flag the demuxer as being a source in order
to receive the downstream events. We then handle the EOS event by
resetting the internal state and pushing EOS on all pads. This handling
is done asynchronously to avoid blocking user thread.

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

7 years agomeson: Set python3 before plugin subdir()s
Nirbheek Chauhan [Fri, 7 Jul 2017 11:37:31 +0000 (17:07 +0530)]
meson: Set python3 before plugin subdir()s

It's used by the msdk plugin

7 years agomeson: Added meson.build for gsm
Yasushi SHOJI [Fri, 7 Jul 2017 11:20:35 +0000 (20:20 +0900)]
meson: Added meson.build for gsm

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

7 years agomeson: msdk: use python3 from python3 module
Tim-Philipp Müller [Fri, 7 Jul 2017 11:28:14 +0000 (12:28 +0100)]
meson: msdk: use python3 from python3 module

7 years agomeson: find python3 via python3 module
Tim-Philipp Müller [Fri, 7 Jul 2017 10:59:03 +0000 (11:59 +0100)]
meson: find python3 via python3 module

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

7 years agoaggregator: Invalidate pad's tail position ...
Mathieu Duponchelle [Thu, 13 Apr 2017 20:11:55 +0000 (22:11 +0200)]
aggregator: Invalidate pad's tail position ...

when dequeuing a segment event.

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

7 years agoRevert "openjpegdec: support grayscale with alpha channel"
Tim-Philipp Müller [Thu, 6 Jul 2017 08:37:28 +0000 (09:37 +0100)]
Revert "openjpegdec: support grayscale with alpha channel"

This reverts commit 1883ac26b7d02724c11d4f4bad8698c4873b443d.

This breaks the build on older versions of openjpeg:
gstopenjpegdec.c:752:30: error: ‘opj_image_comp_t {aka struct opj_image_comp}’ has no member named ‘alpha’

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

7 years agoopenjpegdec: support grayscale with alpha channel
Aaron Boxer [Tue, 13 Jun 2017 03:36:05 +0000 (23:36 -0400)]
openjpegdec: support grayscale with alpha channel

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

7 years agovideoaggregator: fix gaps at end of streams.
Mathieu Duponchelle [Mon, 10 Apr 2017 23:18:51 +0000 (01:18 +0200)]
videoaggregator: fix gaps at end of streams.

When the pad has received EOS, its buffer may still be mixed
any number of times, when the pad's framerate is inferior
to the output framerate.

This was introduced by my patch in
https://bugzilla.gnome.org/show_bug.cgi?id=782962, this patch
also correctly addresses the initial issue.

7 years agomxfdemux: For intra-only streams, always output DTS=PTS
Sebastian Dröge [Wed, 5 Jul 2017 14:04:46 +0000 (17:04 +0300)]
mxfdemux: For intra-only streams, always output DTS=PTS

7 years agomxfdemux: Fix integer overflow in partition position comparison function
Sebastian Dröge [Wed, 5 Jul 2017 12:48:57 +0000 (15:48 +0300)]
mxfdemux: Fix integer overflow in partition position comparison function

7 years agomxfdemux: Print PTS and DTS in debug output when pushing buffers
Sebastian Dröge [Wed, 5 Jul 2017 12:11:22 +0000 (15:11 +0300)]
mxfdemux: Print PTS and DTS in debug output when pushing buffers

7 years agomxfmetadata: Set field-order correctly for interlaced video
Sebastian Dröge [Wed, 5 Jul 2017 10:59:12 +0000 (13:59 +0300)]
mxfmetadata: Set field-order correctly for interlaced video

7 years agomxfmetadata: Use display width/height instead of stored width/height
Sebastian Dröge [Wed, 5 Jul 2017 10:52:25 +0000 (13:52 +0300)]
mxfmetadata: Use display width/height instead of stored width/height

Stored values contain padding and alignment, and should only be used as
fallback if neither display values nor sampled values exist.

7 years agomxfdemux: Don't include any KLV packets between header metadata and index table segme...
Sebastian Dröge [Tue, 4 Jul 2017 21:48:36 +0000 (00:48 +0300)]
mxfdemux: Don't include any KLV packets between header metadata and index table segments in calculations

Minor fixup of last commit.

7 years agomxfdemux: Allow filler and other KLV packets between index table segments
Sebastian Dröge [Tue, 4 Jul 2017 17:01:37 +0000 (20:01 +0300)]
mxfdemux: Allow filler and other KLV packets between index table segments

While only filler packets should be allowed, for good measure also skip
any other KLV packets in the range where there could be index table
segments.

This fixes parsing of partitions with multiple index table segments,
which are separated by a filler packet, or other packets.

7 years agocodecparsers: h264: flesh out documentation for GST_H264_PARSER_NO_NAL_END
Tim-Philipp Müller [Tue, 4 Jul 2017 14:28:36 +0000 (15:28 +0100)]
codecparsers: h264: flesh out documentation for GST_H264_PARSER_NO_NAL_END

7 years agottml: fix linking to libgstvideo
Tim-Philipp Müller [Mon, 3 Jul 2017 09:11:42 +0000 (10:11 +0100)]
ttml: fix linking to libgstvideo

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

7 years agoaggregator: fix "'aggclass' may be used uninitialized in this function"
Stefan Sauer [Sat, 1 Jul 2017 18:23:25 +0000 (20:23 +0200)]
aggregator: fix "'aggclass' may be used uninitialized in this function"

7 years agoglupload: add GST_CAPS_FEATURE_MEMORY_DMABUF
Julien Isorce [Wed, 9 Mar 2016 22:01:12 +0000 (22:01 +0000)]
glupload: add GST_CAPS_FEATURE_MEMORY_DMABUF

Insert before SystemMemory to advice upstream elements that it is
preferable for them to push dmabuf with the caps feature.

Examples:

/* Discard memory:DMABuf caps feature */
GST_GL_PLATFORM=egl GST_GL_API=gles2 GST_GL_WINDOW=x11 gst-launch-1.0 \
    filesrc location=test.mp4 ! qtdemux ! h264parse ! vaapih264dec ! \
    capsfilter caps="video/x-raw(memory:SystemMemory)" ! glimagesink

/* Force memory:DMABuf caps feature. */
GST_GL_PLATFORM=egl GST_GL_API=gles2 GST_GL_WINDOW=x11 gst-launch-1.0 \
    filesrc location=test.mp4 ! qtdemux ! h264parse ! vaapih264dec ! \
    capsfilter caps="video/x-raw(memory:DMABuf)" ! glimagesink

/* Auto select memory:DMABuf caps feature.  */
GST_GL_PLATFORM=egl GST_GL_API=gles2 GST_GL_WINDOW=x11 gst-launch-1.0 \
    filesrc location=test.mp4 ! qtdemux ! h264parse ! vaapih264dec ! \
    glimagesink

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

7 years agogl: reset gl->DrawBuffer to the necessary values
Matthew Waters [Wed, 28 Jun 2017 04:45:18 +0000 (14:45 +1000)]
gl: reset gl->DrawBuffer to the necessary values

GL_COLOR_ATTACHMENT0 when a framebuffer is bound
GL_BACK if no framebuffer is bound

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

7 years agoglmemory: reset the draw buffer to GL_BACK
Hyunjun Ko [Wed, 28 Jun 2017 03:17:37 +0000 (12:17 +0900)]
glmemory: reset the draw buffer to GL_BACK

The draw buffer should be reset to GL_BACK since the framebuffer is already
unbound.

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

7 years agodvb: src: use correct unit in tuning-timeout prop description
Reynaldo H. Verdejo Pinochet [Wed, 28 Jun 2017 23:17:41 +0000 (16:17 -0700)]
dvb: src: use correct unit in tuning-timeout prop description

Milliseconds was wrong and made use of this timeout quite
confusing. The code uses the value as microsenconds so
any meaningful number was off by orders of magnitude.

7 years agomeson: Allow using glib as a subproject
Thibault Saunier [Fri, 23 Jun 2017 20:18:49 +0000 (16:18 -0400)]
meson: Allow using glib as a subproject

7 years agomeson: Do not use path separator in test names
Thibault Saunier [Tue, 20 Jun 2017 17:44:47 +0000 (13:44 -0400)]
meson: Do not use path separator in test names

Avoiding warnings like:

    WARNING: Target "elements/audioamplify" has a path separator in its name.

7 years agonvdec: Use qdata on memory instead of buffer meta
Per-Erik Brodin [Wed, 28 Jun 2017 01:47:37 +0000 (18:47 -0700)]
nvdec: Use qdata on memory instead of buffer meta

Using a meta can be problematic since the memory contained in the buffer
can be transferred to a new buffer in which case the meta would be lost.

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

7 years agomxfdemux: Include duration in response to SEEKING query
Sebastian Dröge [Tue, 27 Jun 2017 12:41:48 +0000 (15:41 +0300)]
mxfdemux: Include duration in response to SEEKING query

7 years agomxfmux: Write temporal offset and correct keyframe offset into index table
Sebastian Dröge [Tue, 27 Jun 2017 12:01:22 +0000 (15:01 +0300)]
mxfmux: Write temporal offset and correct keyframe offset into index table

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

7 years agomxfdemux: Take temporal reordering from the index table into account
Sebastian Dröge [Tue, 27 Jun 2017 07:47:44 +0000 (10:47 +0300)]
mxfdemux: Take temporal reordering from the index table into account

This is needed to know the PTS, without that we only know the DTS and
using that also for the PTS is wrong unless we have an intra-only codec.

If we can't get the temporal reordering from the index table, don't set
any PTS for non-intra-only codecs and let decoders figure out something.

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

7 years agonvdec: New plugin for NVIDIA hardware video decode
Per-Erik Brodin [Wed, 3 May 2017 00:21:43 +0000 (17:21 -0700)]
nvdec: New plugin for NVIDIA hardware video decode

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

7 years agompegpsmux: remove unnecessary g_return_if_fail()
Eunhae Choi [Mon, 19 Jun 2017 11:35:30 +0000 (20:35 +0900)]
mpegpsmux: remove unnecessary g_return_if_fail()

This should never happen, and should be a g_assert()
if it's a worry. Fixes warnings from source code
checkers about possible caps leaks here.

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

7 years agomeson: fix with-package-name option
Tim-Philipp Müller [Mon, 26 Jun 2017 08:52:24 +0000 (09:52 +0100)]
meson: fix with-package-name option

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

7 years agomeson: Enable netsim unit test
Nicolas Dufresne [Thu, 22 Jun 2017 20:40:07 +0000 (16:40 -0400)]
meson: Enable netsim unit test

7 years agomeson: Add netsim plugin
Nicolas Dufresne [Thu, 22 Jun 2017 18:21:34 +0000 (14:21 -0400)]
meson: Add netsim plugin