platform/upstream/gstreamer.git
7 years agodashdemux: Drain remaining buffer in adapter
Seungha Yang [Wed, 21 Dec 2016 14:24:48 +0000 (23:24 +0900)]
dashdemux: Drain remaining buffer in adapter

Previous patch allows sidx box parsing from incoming buffers.
Since the incoming buffer boundary might be over sidx box,
there can be remaining buffer in isobmff parser adapter.

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

7 years agoconfigure: Remove left-over file
Sebastian Dröge [Wed, 21 Dec 2016 11:31:18 +0000 (13:31 +0200)]
configure: Remove left-over file

7 years agocheck: Use non-deprecated API
Edward Hervey [Wed, 21 Dec 2016 11:05:35 +0000 (12:05 +0100)]
check: Use non-deprecated API

7 years agoplayer: Add deprecated compatibility functions for the audio/video/subtitle stream...
Sebastian Dröge [Wed, 21 Dec 2016 09:38:11 +0000 (11:38 +0200)]
player: Add deprecated compatibility functions for the audio/video/subtitle stream getters

7 years agoplayer: Move audio/video/subtitle stream list getters into the correct namespace
Sebastian Dröge [Wed, 21 Dec 2016 09:32:52 +0000 (11:32 +0200)]
player: Move audio/video/subtitle stream list getters into the correct namespace

7 years agoplayer: Add get track number media info API
Lyon Wang [Tue, 20 Dec 2016 10:20:02 +0000 (18:20 +0800)]
player: Add get track number media info API

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

7 years agoRemove various unported plugins
Sebastian Dröge [Wed, 21 Dec 2016 09:00:47 +0000 (11:00 +0200)]
Remove various unported plugins

If they were not ported after 4+ years it seems unlikely that anybody is
ever going to need them again. They're still in the GIT history if
needed.

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

7 years agogst: Fix memory leaks in usage of gst_element_get_request_pad() API
Garima Gaur [Wed, 21 Dec 2016 08:11:16 +0000 (13:41 +0530)]
gst: Fix memory leaks in usage of gst_element_get_request_pad() API

The return value has to be unreffed at some point.

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

7 years agotools: dist gst-project-maker script
Daniel Garbanzo [Tue, 20 Dec 2016 21:45:12 +0000 (15:45 -0600)]
tools: dist gst-project-maker script

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

7 years agodashdemux: Always parsing sidx for On-Demand profile
Seungha Yang [Tue, 20 Dec 2016 02:16:11 +0000 (11:16 +0900)]
dashdemux: Always parsing sidx for On-Demand profile

The indexRange attribute is optional and if it's not present, we should
extract the sidx box from incoming buffers.

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

7 years agodash: Split gst_isoff_sidx_parser_add_buffer() function
Seungha Yang [Sat, 17 Dec 2016 06:56:07 +0000 (15:56 +0900)]
dash: Split gst_isoff_sidx_parser_add_buffer() function

To parsing sidx box itself with isobmff parser,
split gst_isoff_sidx_parser_add_buffer() into two parts.

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

7 years agohlsdemux: Extract ID3 tags, strip them from the output and provide them as tags
Sebastian Dröge [Mon, 19 Dec 2016 09:40:28 +0000 (11:40 +0200)]
hlsdemux: Extract ID3 tags, strip them from the output and provide them as tags

They often don't only contain the PCR information but also other
metadata, like title. Give this information to the pipeline.

Also strip the tags from the stream as we a) already parsed them now and
b) decoders don't like these tags to happen in the middle of the stream
(i.e. the start of each fragment) and tagdemux only can strip them off
the beginning and end.

7 years agotsdemux: Don't leak a taglist if a taglist has already been created
Graham Leggett [Sun, 18 Dec 2016 19:18:23 +0000 (19:18 +0000)]
tsdemux: Don't leak a taglist if a taglist has already been created

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

7 years agoqt: improve element and property descriptions a bit
Tim-Philipp Müller [Sat, 17 Dec 2016 13:42:34 +0000 (13:42 +0000)]
qt: improve element and property descriptions a bit

7 years agowin32: fix distcheck
Tim-Philipp Müller [Fri, 16 Dec 2016 22:45:06 +0000 (22:45 +0000)]
win32: fix distcheck

7 years agowin32: remove generation of pre-made config.h for msvc builds
Tim-Philipp Müller [Fri, 16 Dec 2016 19:15:36 +0000 (19:15 +0000)]
win32: remove generation of pre-made config.h for msvc builds

This is no longer needed with the Meson build.

7 years agoRemove generated .spec file
Tim-Philipp Müller [Fri, 16 Dec 2016 17:22:29 +0000 (17:22 +0000)]
Remove generated .spec file

Likely extremely bitrotten, and we should not ship this anyway.

7 years agogl/format: use the unsized format for RGB on GLES2
Matthew Waters [Fri, 16 Dec 2016 14:00:00 +0000 (01:00 +1100)]
gl/format: use the unsized format for RGB on GLES2

In GLES2 GL_RGB8 doesn't exist so we cannot use it, use GL_RGB
instead.

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

7 years agomirror: Fix documentation for the mirror mode
Daniel Shahaf [Fri, 16 Dec 2016 11:25:58 +0000 (13:25 +0200)]
mirror: Fix documentation for the mirror mode

Using the wrong enum there causes it to be randomly mixed with the docs
of the other enums.

https://bugs.debian.org/848297

7 years agogl/window: remove unused priv variable
Matthew Waters [Thu, 15 Dec 2016 13:22:41 +0000 (00:22 +1100)]
gl/window: remove unused priv variable

https://ci.gstreamer.net/job/GStreamer-master/7989/console

7 years agogl/window: remove use of main_context_push/pop_thread_default()
Matthew Waters [Wed, 14 Dec 2016 13:59:45 +0000 (00:59 +1100)]
gl/window: remove use of main_context_push/pop_thread_default()

No-one's using/depending on it (it would have criticalled and not worked)
and it's causing more problems than it's solving.  Store the GMainContext
in the public struct instead for subclasses to optionally use instead of
relying on the push/pop state to be correct.

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

7 years agogl/effects: use non-PBO GLMemory for internal textures
Haihua Hu [Wed, 7 Dec 2016 08:51:27 +0000 (16:51 +0800)]
gl/effects: use non-PBO GLMemory for internal textures

middle textures in gleffects do not need to use GstGLMemoryPBO as they
aren't transfering data to/from the GPU. This will cost too much DMA
memory and cause performance issue. Change the allocator to use non-PBO
GstGLMemory.

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

7 years agoamcaudiodec: Set "is-adts" to 1 for ADTS AAC
Sebastian Dröge [Thu, 15 Dec 2016 12:05:09 +0000 (14:05 +0200)]
amcaudiodec: Set "is-adts" to 1 for ADTS AAC

Otherwise it fails to decode.

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

7 years agoglvideomixer: Reject multiview video
Sebastian Dröge [Wed, 14 Dec 2016 13:53:41 +0000 (15:53 +0200)]
glvideomixer: Reject multiview video

glvideomixer does not support it currently and it needs special support
for handling this correctly, and is rather non-trivial to implement for
all formats.

7 years agocompositor: Reject multiview video
Sebastian Dröge [Wed, 14 Dec 2016 13:36:14 +0000 (15:36 +0200)]
compositor: Reject multiview video

Compositor does not support it currently and it needs special support
for handling this correctly, and is rather non-trivial to implement for
all formats.

7 years agovideoaggregator: Remove unlock() if set_info() fails
Sebastian Dröge [Wed, 14 Dec 2016 13:35:42 +0000 (15:35 +0200)]
videoaggregator: Remove unlock() if set_info() fails

There is not mutex locked here that needs to be unlocked.

7 years agosys: Fix caps memory leak from pad template creation
Garima Gaur [Wed, 14 Dec 2016 07:40:18 +0000 (13:10 +0530)]
sys: Fix caps memory leak from pad template creation

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

7 years agogme: Forward other non-EOS events downstream
Jan Schmidt [Wed, 14 Dec 2016 02:10:46 +0000 (13:10 +1100)]
gme: Forward other non-EOS events downstream

Allow most events through as-is so at least we don't
warn about missing stream-start. Drop segment and caps,
as those are sent internally.

7 years agogst: Don't declare variables inside the for loop header
Sebastian Dröge [Tue, 13 Dec 2016 20:39:01 +0000 (22:39 +0200)]
gst: Don't declare variables inside the for loop header

This is a C99 feature.

7 years agodashdemux: Don't declare variables inside the for loop header
Sebastian Dröge [Tue, 13 Dec 2016 20:21:25 +0000 (22:21 +0200)]
dashdemux: Don't declare variables inside the for loop header

This is a C99 feature.

7 years agogme: Free decoder instance when going from PAUSED to READY
Sebastian Dröge [Tue, 13 Dec 2016 18:42:44 +0000 (20:42 +0200)]
gme: Free decoder instance when going from PAUSED to READY

We only ever cleaned it up before on errors.

7 years agomsdk: add mjpeg decoder
Scott D Phillips [Tue, 22 Nov 2016 21:55:00 +0000 (13:55 -0800)]
msdk: add mjpeg decoder

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

7 years agomsdk: add mjpeg encoder
Scott D Phillips [Wed, 5 Oct 2016 22:32:43 +0000 (15:32 -0700)]
msdk: add mjpeg encoder

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

7 years agomsdk: Add H.265 decoder
Scott D Phillips [Tue, 29 Nov 2016 03:14:20 +0000 (19:14 -0800)]
msdk: Add H.265 decoder

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

7 years agomsdk: Add H.264 decoder
Scott D Phillips [Mon, 7 Nov 2016 20:32:38 +0000 (12:32 -0800)]
msdk: Add H.264 decoder

The decoder only supports system memory output presently.

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

7 years agoadaptivedemux: Avoid using unset GError
Edward Hervey [Mon, 12 Dec 2016 14:09:36 +0000 (15:09 +0100)]
adaptivedemux: Avoid using unset GError

gst_uri_handler_set_uri() doesn't guarantee the GError will be set
if it returns FALSE.

7 years agottmlrender: Fix segfault on _render_text_region()
Seungha Yang [Mon, 12 Dec 2016 01:43:43 +0000 (10:43 +0900)]
ttmlrender: Fix segfault on _render_text_region()

Fix invalid memory access

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

7 years agottmlparse: Transform caps event
Seungha Yang [Mon, 12 Dec 2016 05:42:39 +0000 (14:42 +0900)]
ttmlparse: Transform caps event

For autoplugging, decodebin/parsebin refers to the caps event.

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

7 years agoqml: Fix egl being deinitialized on display cleanup
Sergey Borovkov [Thu, 8 Dec 2016 09:37:25 +0000 (12:37 +0300)]
qml: Fix egl being deinitialized on display cleanup

Use the with_egl_display() variant in order to not destroy the
EGLDisplay on destruction.

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

7 years agodvbsrc: fix unconditional use of FEC 2/5
Reynaldo H. Verdejo Pinochet [Thu, 8 Dec 2016 20:07:31 +0000 (12:07 -0800)]
dvbsrc: fix unconditional use of FEC 2/5

It is not defined for < v5 minor 7

7 years agodvbsrc: add delivery system to missing modulation check message
Reynaldo H. Verdejo Pinochet [Tue, 6 Dec 2016 23:40:38 +0000 (15:40 -0800)]
dvbsrc: add delivery system to missing modulation check message

A tuning operation can spawn multiple checks. Being
able to differentiate between them makes debugging
easier.

7 years agodvb/parsechannels: drop trailing whitespace
Reynaldo H. Verdejo Pinochet [Tue, 6 Dec 2016 00:51:10 +0000 (16:51 -0800)]
dvb/parsechannels: drop trailing whitespace

7 years agoplayer: Don't try to cache the GQuark for GST_PLAYER_ERROR
Arun Raghavan [Thu, 8 Dec 2016 05:52:38 +0000 (11:22 +0530)]
player: Don't try to cache the GQuark for GST_PLAYER_ERROR

This is potentially racy (in the unlikely scenario that we get two
first-time calls to gst_player_error_quark() at the same time). This
should not impact anything in terms of performance since it's only on
the error path.

The call itself could just be inlined by making GST_PLAYER_ERROR be
defined to the g_quark_from_static_string() call, but this feels ugly
from an API perspective.

7 years agofdkaac: fix the build for older fdkaac versions
Stefan Sauer [Wed, 7 Dec 2016 15:06:48 +0000 (16:06 +0100)]
fdkaac: fix the build for older fdkaac versions

Support for 7.1 was added in 0.1.14.

7 years agoqml/item: also unref the display on destruction
Matthew Waters [Wed, 7 Dec 2016 11:55:46 +0000 (22:55 +1100)]
qml/item: also unref the display on destruction

Leaking objects (and a thread!) is never a good idea.

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

7 years agotests/examples/qmlsink: scope QApplication/Engine
Matthew Waters [Wed, 7 Dec 2016 11:58:29 +0000 (22:58 +1100)]
tests/examples/qmlsink: scope QApplication/Engine

So they are destroyed before gst_deinit() is run and the leaks tracer
doesn't show false-positives.

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

7 years agochromaprint: Fix compilation with chromaprint 1.4
Sebastian Dröge [Wed, 7 Dec 2016 08:26:59 +0000 (10:26 +0200)]
chromaprint: Fix compilation with chromaprint 1.4

It takes const int16_t * as argument now, while before it was void *. To
make this work with both versions without #ifdef, we omit the const.

7 years agodvbsrc: drop needless wrapper around DVB API's dvb_diseqc_master_cmd
Reynaldo H. Verdejo Pinochet [Tue, 6 Dec 2016 07:38:53 +0000 (23:38 -0800)]
dvbsrc: drop needless wrapper around DVB API's dvb_diseqc_master_cmd

Its only purpose was to hold a wait time that was always 0

7 years agodvbsrc: drop supperfluous wait in diseqc_send_msg()
Reynaldo H. Verdejo Pinochet [Tue, 6 Dec 2016 07:18:38 +0000 (23:18 -0800)]
dvbsrc: drop supperfluous wait in diseqc_send_msg()

It is always zero.

7 years agovmncdec: Sanity-check rectangle sizes a bit more thorough
Sebastian Dröge [Tue, 6 Dec 2016 05:58:25 +0000 (07:58 +0200)]
vmncdec: Sanity-check rectangle sizes a bit more thorough

The x/y coordinates could already be bigger than the configured
width/height, and adding the rectangle width/height could cause an
overflow.

7 years agodvbsrc: fix unconditional use of SYS_DVBC_ANNEX_C
Reynaldo H. Verdejo Pinochet [Mon, 5 Dec 2016 23:56:36 +0000 (15:56 -0800)]
dvbsrc: fix unconditional use of SYS_DVBC_ANNEX_C

It is not defined for < v5 minor 6

7 years agodvbsrc: fix value for DVB-C annex B field in adapter structure
Reynaldo H. Verdejo Pinochet [Mon, 5 Dec 2016 23:53:10 +0000 (15:53 -0800)]
dvbsrc: fix value for DVB-C annex B field in adapter structure

7 years agorawvideoparse: fix typos in property description
Tim-Philipp Müller [Mon, 5 Dec 2016 18:17:30 +0000 (18:17 +0000)]
rawvideoparse: fix typos in property description

7 years agodtls: Set openssl's threadid the 1.0.x way
Scott D Phillips [Mon, 28 Nov 2016 23:57:33 +0000 (15:57 -0800)]
dtls: Set openssl's threadid the 1.0.x way

For pre-1.1.x openssl, a callback to set the thread id needs to be
provided to openssl. In 0.9.x the thread id was an unsigned long. In
1.0.x it was expanded to be able to hold a void*. Here we change to use
the 1.0.x API so that the thread id can always hold a GThread*, even on
platforms like msvc x64 where unsigned long is only 32 bits.

All of this is still #ifdef'd out of existence when building with
openssl 1.1.x or later which changed the thread API again, and does not
need a thread id callback.

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

7 years agosegmentation: Port to GstOpencvVideoFilter base class
Nicolas Dufresne [Sun, 4 Dec 2016 19:42:47 +0000 (14:42 -0500)]
segmentation: Port to GstOpencvVideoFilter base class

7 years agograbcut: Port to GstOpencvVideoFilter base class
Nicolas Dufresne [Sun, 4 Dec 2016 03:40:11 +0000 (22:40 -0500)]
grabcut: Port to GstOpencvVideoFilter base class

7 years agoretinex: Port to GstOpencvVideoFilter base class
Nicolas Dufresne [Sun, 4 Dec 2016 03:02:23 +0000 (22:02 -0500)]
retinex: Port to GstOpencvVideoFilter base class

This allow reducing slightly the code. It also fixes a bug caused by
in-place buffer being mapped and never unmapped.

7 years agoAutomatic update of common submodule
Edward Hervey [Sat, 3 Dec 2016 07:19:37 +0000 (08:19 +0100)]
Automatic update of common submodule

From d015674 to 39ac2f5

7 years agoopencv/meson: check presence of required opencv_contrib headers
Nicolas Dufresne [Fri, 2 Dec 2016 03:02:51 +0000 (22:02 -0500)]
opencv/meson: check presence of required opencv_contrib headers

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

7 years agoedgedetect: Avoid extra copy of the output image
Nicolas Dufresne [Fri, 2 Dec 2016 02:55:04 +0000 (21:55 -0500)]
edgedetect: Avoid extra copy of the output image

Simply produce the result into the output image provided by the base
class. This avoid useless copy. This also removes unchecked buffer map
and ensure that GstVideoMeta is respected (for stride mostly).

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

7 years agoedgedetect: Remove redundant CAPS event handler
Nicolas Dufresne [Fri, 2 Dec 2016 02:51:31 +0000 (21:51 -0500)]
edgedetect: Remove redundant CAPS event handler

There is already a cv_set_caps() implemented, so just do the
entire work there.

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

7 years agocvlaplace: Avoid extra copy of the output image
Nicolas Dufresne [Fri, 2 Dec 2016 02:45:53 +0000 (21:45 -0500)]
cvlaplace: Avoid extra copy of the output image

Simply produce the result into the output image provided by the base
class. This avoid useless copy. This also removes unchecked buffer map
and ensure that GstVideoMeta is respected (for stride mostly).

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

7 years agocvlaplace: Remove redundant CAPS event handler
Nicolas Dufresne [Fri, 2 Dec 2016 02:43:04 +0000 (21:43 -0500)]
cvlaplace: Remove redundant CAPS event handler

There is already a cv_set_caps() implemented, so just do the
entire work there.

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

7 years agocvsobel: Avoid extra copy of the output image
Nicolas Dufresne [Fri, 2 Dec 2016 02:36:13 +0000 (21:36 -0500)]
cvsobel: Avoid extra copy of the output image

Simply produce the result into the output image provided by the base
class. This avoid useless copy. This also removes unchecked buffer map
and ensure that GstVideoMeta is respected (for stride mostly).

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

7 years agocvsobel: Remove redundant CAPS event handler
Nicolas Dufresne [Fri, 2 Dec 2016 02:28:31 +0000 (21:28 -0500)]
cvsobel: Remove redundant CAPS event handler

There is already a cv_set_caps() implemented, so just do the
entire work there.

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

7 years agoopencv: Remove uneeded buffer writability check
Nicolas Dufresne [Fri, 2 Dec 2016 02:13:23 +0000 (21:13 -0500)]
opencv: Remove uneeded buffer writability check

When set to in_place, the BaseTransform class will guaranty that buffers
passed to transform_ip() function are writable.

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

7 years agogstglupload: relax EGL context check
Julien Isorce [Thu, 1 Dec 2016 09:24:18 +0000 (09:24 +0000)]
gstglupload: relax EGL context check

Check for GST_GL_PLATFORM_EGL enum instead of type GstGLContextEGL.

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

7 years agogstglcontext: is_shared should return FALSE if no group
Julien Isorce [Wed, 30 Nov 2016 09:22:17 +0000 (09:22 +0000)]
gstglcontext: is_shared should return FALSE if no group

If a sub class of GstGLContext does not create a group
then it currently crashes:

0 g_atomic_int_get (&share->refcount)
1 _context_share_group_is_shared (context->priv->sharegroup)
2 gst_gl_context_is_shared
3 _default_set_sync_gl

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

7 years agomeson/ttml: Add missing math library dependency
Nicolas Dufresne [Thu, 1 Dec 2016 03:40:45 +0000 (22:40 -0500)]
meson/ttml: Add missing math library dependency

This code call 'round' which may require linking against the math library
on some compilers.

7 years agokmssink: post error message if start() fails
Víctor Manuel Jáquez Leal [Wed, 30 Nov 2016 18:53:30 +0000 (19:53 +0100)]
kmssink: post error message if start() fails

It is expected to post an error message in the bus if the device cannot
be started.

7 years agokmssink: configure display mode during set_caps
Michael Tretter [Thu, 20 Oct 2016 10:37:48 +0000 (12:37 +0200)]
kmssink: configure display mode during set_caps

Configure the display mode when setting the negotiated caps instead of
during showing the first frame.

A framebuffer is required to set the mode. Allocate a buffer object
according to the negotiated caps and use it to set the mode. This buffer
object cannot be freed until another page flip happened on the crtc
(i.e., until the first frame is rendered).

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

Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7 years agokmssink: add parameter force-modesetting
Michael Tretter [Tue, 18 Oct 2016 12:57:25 +0000 (14:57 +0200)]
kmssink: add parameter force-modesetting

The force-modesetting parameter forces the kmssink to ignore already
configured display modes, to configure the display mode itself and use
the base plane for output.

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

7 years agokmssink: allow only supported resolutions
Michael Tretter [Tue, 8 Nov 2016 14:27:51 +0000 (15:27 +0100)]
kmssink: allow only supported resolutions

If the input buffers have a different size than the display, the frames
would have to be scaled or positioned on the display. The kmssink cannot
decide which behaviour would be appropriate for which use case.

In order to avoid scaling or positioning of the input stream, allow only
the supported connector resolutions in the sink caps.

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

Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7 years agokmssink: set mode based on framebuffer configuration
Michael Tretter [Tue, 8 Nov 2016 14:26:40 +0000 (15:26 +0100)]
kmssink: set mode based on framebuffer configuration

Displays usually support multiple modes. Therefore, the kmssink should
not only support the preferred mode, but any mode that is supported by
the display.

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

7 years agokmssink: add mode setting and base plane rendering
Michael Tretter [Fri, 14 Oct 2016 14:03:08 +0000 (16:03 +0200)]
kmssink: add mode setting and base plane rendering

The kmssink assumed that the mode was already set by another application
and used an overlay plane for displaying the frames.

Use the preferred mode of the monitor and render to the base plane if
the crtc does not have a valid mode.

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

Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7 years agointerlace: Writing field-order into the src caps
Vivia Nikolaidou [Wed, 30 Nov 2016 15:22:21 +0000 (17:22 +0200)]
interlace: Writing field-order into the src caps

Writing top-field-first vs bottom-field-first into the src caps

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

7 years agodocs: add aggregator _get_type functions for signals + properties
Tim-Philipp Müller [Wed, 30 Nov 2016 09:35:27 +0000 (09:35 +0000)]
docs: add aggregator _get_type functions for signals + properties

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

7 years agoglmemoryegl: remove spurious #if GST_GL_HAVE_DMABUF conditions
Matthew Waters [Wed, 30 Nov 2016 08:26:51 +0000 (19:26 +1100)]
glmemoryegl: remove spurious #if GST_GL_HAVE_DMABUF conditions

8c2118823b3d42840cc6f48cbdc0e1b342f90b80 had some incorrect preprocessor
conditions that aren't actually needed.  Remove them.

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

7 years agogst: Fix caps leak
Garima Gaur [Wed, 30 Nov 2016 05:10:42 +0000 (10:40 +0530)]
gst: Fix caps leak

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

7 years agoopencv: check presence of required opencv_contrib headers
Philippe Renon [Wed, 23 Nov 2016 17:30:40 +0000 (18:30 +0100)]
opencv: check presence of required opencv_contrib headers

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

7 years agoopencv: add opencv image format documentation
Philippe Renon [Sat, 26 Nov 2016 15:53:24 +0000 (16:53 +0100)]
opencv: add opencv image format documentation

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

7 years agoopencv: account for sparse/padded formats when converting caps to cv image type
Philippe Renon [Sat, 26 Nov 2016 12:34:26 +0000 (13:34 +0100)]
opencv: account for sparse/padded formats when converting caps to cv image type

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

7 years agoopencvvideofilter: Don't parse the caps twice
Nicolas Dufresne [Wed, 30 Nov 2016 02:09:14 +0000 (21:09 -0500)]
opencvvideofilter: Don't parse the caps twice

The GstVideoFilter already provide caps parsed into GstVideoInfo. Avoid
doing that twice by splitting the helper.

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

7 years agoopencvfilter: Properly port to GstVideoFilter
Nicolas Dufresne [Tue, 29 Nov 2016 02:54:57 +0000 (21:54 -0500)]
opencvfilter: Properly port to GstVideoFilter

This is a subblass of VideoFilter but yet does not use any of it's
features. This also fixes issue in case the incoming images have custom
strides as the VideoMeta is no longer ignored.

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

7 years agomssdemux: fix meson build
Philippe Normand [Tue, 29 Nov 2016 14:18:43 +0000 (15:18 +0100)]
mssdemux: fix meson build

Follow-up of 73721ad4e9e2d32e1c8b6a3b4aaa98401530e58a.
Forgot to add the fragment parser in the meson build file.

7 years agomssdemux: improved live playback support
Philippe Normand [Tue, 29 Nov 2016 13:43:41 +0000 (14:43 +0100)]
mssdemux: improved live playback support

When a MSS server hosts a live stream the fragments listed in the
manifest usually don't have accurate timestamps and duration, except
for the first fragment, which additionally stores timing information
for the few upcoming fragments. In this scenario it is useless to
periodically fetch and update the manifest and the fragments list can
be incrementally built by parsing the first/current fragment.

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

7 years agodecklink: Fix compiler warning
Sebastian Dröge [Tue, 29 Nov 2016 13:35:09 +0000 (15:35 +0200)]
decklink: Fix compiler warning

gstdecklink.cpp: In member function ‘virtual HRESULT GStreamerDecklinkInputCallback::VideoInputFrameArrived(IDeckLinkVideoInputFrame*, IDeckLinkAudioInputPacket*)’:
gstdecklink.cpp:766:34: error: ‘base_time’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
         capture_time -= base_time;
                                  ^

7 years agocodecparsers: h264parse: improve documentation commentary
Anton Eliasson [Tue, 29 Nov 2016 10:08:14 +0000 (11:08 +0100)]
codecparsers: h264parse: improve documentation commentary

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

7 years agocodecparsers: h264parse: docs spellcheck
Anton Eliasson [Tue, 29 Nov 2016 10:06:43 +0000 (11:06 +0100)]
codecparsers: h264parse: docs spellcheck

Spell checks, correct capitalization and some rewording to
better fit the terms used in the H.264 spec.

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

7 years agoschro: #include math.h before schroedinger headers
Scott D Phillips [Tue, 29 Nov 2016 00:02:03 +0000 (16:02 -0800)]
schro: #include math.h before schroedinger headers

The schroedinger headers unconditionally #define over C99's rint when
compiling with msvc which messes up the later inclusion of math.h.
Including math.h before schroedinger headers avoids getting syntax
errors in math.h

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

7 years agomeson: Rework opencv plugin checks
Nirbheek Chauhan [Mon, 28 Nov 2016 20:11:28 +0000 (01:41 +0530)]
meson: Rework opencv plugin checks

a) Use get_pkgconfig_variable() to get the opencv prefix
b) Place an upper limit on the opencv version
c) Ensure that headers are available

(b) and (c) just copy what the configure.ac checks do.

7 years agompegtssection: Fix off-by-one in PMT parsing
Sebastian Dröge [Mon, 28 Nov 2016 18:05:02 +0000 (20:05 +0200)]
mpegtssection: Fix off-by-one in PMT parsing

7 years agompegtssection: Don't assert if the given section length is longer than the PMT actual...
Sebastian Dröge [Mon, 28 Nov 2016 17:52:24 +0000 (19:52 +0200)]
mpegtssection: Don't assert if the given section length is longer than the PMT actually is

Instead error out cleanly and just assert that we didn't read more than
the available data.

7 years agodecklink: Correctly set top-field-first/bottom-field-first
Sebastian Dröge [Mon, 28 Nov 2016 15:17:43 +0000 (17:17 +0200)]
decklink: Correctly set top-field-first/bottom-field-first

First of all, all the HD and UHD modes should be top-field-first, as
also returned by the Decklink mode iterator API.

Then we should include the caps field "field-order" in the caps of the
source (not the sink due to negotiation problems with optional fields).

And finally we should set the TFF flag on interlaced buffers that are
top-field-first.

7 years agodecklinksrc: Add property to drop frames that are marked as having no input signal
Sebastian Dröge [Fri, 25 Nov 2016 13:03:08 +0000 (15:03 +0200)]
decklinksrc: Add property to drop frames that are marked as having no input signal

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

7 years agodecklinksrc: Add property to skip the first N seconds of capture
Sebastian Dröge [Fri, 25 Nov 2016 12:57:15 +0000 (14:57 +0200)]
decklinksrc: Add property to skip the first N seconds of capture

On some hardware the first few frames are bogus and not very useful.
Their timestamps are off, they have no timecodes, or there are spurious
black frames / no-signal frames. After a few frames this stabilizes
though.

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

7 years agodecklinksrc: Set GAP flag on buffers that are captured without signal
Sebastian Dröge [Fri, 25 Nov 2016 12:36:37 +0000 (14:36 +0200)]
decklinksrc: Set GAP flag on buffers that are captured without signal

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

7 years agodecklinksrc: Keep track of a window of capture/stream time mappings and calculate...
Sebastian Dröge [Thu, 24 Nov 2016 17:19:36 +0000 (19:19 +0200)]
decklinksrc: Keep track of a window of capture/stream time mappings and calculate relationship

Based on this we calculate the actual capture time, which should get us
rid of any capturing jitter by averaging it out.

Also add a output-stream-time property which forces the elements to
output the stream time directly instead of doing any conversion to the
pipeline clock. Use with care.

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

7 years agodecklinksrc: Stop using the "hardware" timestamps and directly use the pipeline clock
Sebastian Dröge [Tue, 22 Nov 2016 17:30:27 +0000 (19:30 +0200)]
decklinksrc: Stop using the "hardware" timestamps and directly use the pipeline clock

The hardware timestamps have no relation to when frames were produced,
only when frames arrived somewhere in the hardware. Especially there is
no guarantee that audio and video will have the same hardware timestamps
although they belong together, and even more important: the rate with
which the hardware timestamps increase is completely unrelated to the
rate with which the frames are captured!

As such we can as well use the pipeline clock directly and stop doing
complicated calculations. Also as a side effect this allows now running
without any pipeline clock, by directly making use of the stream times
as reported by the driver.

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

7 years agorawparse: Whitespace cleanup
Sebastian Dröge [Mon, 28 Nov 2016 12:25:49 +0000 (14:25 +0200)]
rawparse: Whitespace cleanup