platform/upstream/gstreamer.git
7 years agomeson: Added meson.build for audiomixmatrix and timecode
Vivia Nikolaidou [Thu, 23 Feb 2017 23:28:35 +0000 (01:28 +0200)]
meson: Added meson.build for audiomixmatrix and timecode

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

7 years agoglmemory: Use glBlitFramebuffer() instead of glCopyTexImage2D() if available
Sebastian Dröge [Wed, 22 Feb 2017 12:09:45 +0000 (14:09 +0200)]
glmemory: Use glBlitFramebuffer() instead of glCopyTexImage2D() if available

glBlitFramebuffer() is new GLES3/GL3 API. They are probably often
implemented in terms of each other, and glBlitFramebuffer() can
potentially be implemented more flexible. Let's use it if available.

Also it actually works on imx6 with DirectVIV textures.

Based on a patch by Haihua Hu <jared.hu@nxp.com> from
https://github.com/Freescale/meta-freescale/blob/master/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/

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

7 years agoaudiomixmatrix: New element that mixes audio channels
Vivia Nikolaidou [Mon, 16 Jan 2017 17:36:07 +0000 (19:36 +0200)]
audiomixmatrix: New element that mixes audio channels

This element transforms a given number of input channels into a given number of
output channels according to a given transformation matrix. The matrix
coefficients must be between -1 and 1. In the auto mode, input/output channels
are automatically negotiated and the transformation matrix is a truncated or
zero-padded identity matrix.

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

7 years agotimecodestamper: Remove clock-source property
Georg Lippitsch [Wed, 22 Feb 2017 21:31:17 +0000 (22:31 +0100)]
timecodestamper: Remove clock-source property

Remove clock-source property, because the GST clock usually starts at
some random value and is thus uselsess for creating a timecode from it.

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

7 years agotimecodestamper: First timecode from current system time
Georg Lippitsch [Wed, 22 Feb 2017 21:30:17 +0000 (22:30 +0100)]
timecodestamper: First timecode from current system time

Add a new flag which automatically sets this first timecode to the
current system time in local time zone.

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

7 years agotimecodestamper: First timecode property
Georg Lippitsch [Wed, 22 Feb 2017 21:26:57 +0000 (22:26 +0100)]
timecodestamper: First timecode property

Add an new property to start from a given timecode
instead of zero.

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

7 years agowebrtcdsp: expose new properties.
Mathieu Duponchelle [Wed, 22 Feb 2017 01:17:35 +0000 (02:17 +0100)]
webrtcdsp: expose new properties.

This gives the user more control over the gain control
and experimental gain control behaviour.

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

7 years agobluez: Chain up to basesrc query instead of override pad query function
Arun Raghavan [Fri, 17 Feb 2017 10:39:53 +0000 (16:09 +0530)]
bluez: Chain up to basesrc query instead of override pad query function

Overriding the pad query function completely overrides all the default
query handling implemented in basesrc, including caps etc. The correct
thing to do is just override the basesrc query vfunc and then chain up
for the queries we don't handle.

7 years agoaudiobuffersplit: Add strict-buffer-size property
Vivia Nikolaidou [Mon, 20 Feb 2017 16:58:11 +0000 (18:58 +0200)]
audiobuffersplit: Add strict-buffer-size property

If set to TRUE, any last audio samples too small to fill a buffer will
be discarded.

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

7 years agowaylandsink: consider buffer size when copying to wl shm pool
Fabien Dessenne [Mon, 30 Jan 2017 10:04:32 +0000 (11:04 +0100)]
waylandsink: consider buffer size when copying to wl shm pool

When the sink receives a buffer that is neither a wl_shm one nor a
dmabuf one, this buffer is copied to an internal wl_shm buffer before
being sent to the display.
In that case, the actual size of the received buffer (which may differ
from the one negotiated in the caps) must be used.

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

7 years agohlsdemux: Fix GHashTable leak
Seungha Yang [Fri, 17 Feb 2017 12:25:21 +0000 (21:25 +0900)]
hlsdemux: Fix GHashTable leak

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

7 years agorawbaseparse: Drop incomplete frames at EOS
Sebastian Dröge [Sat, 18 Feb 2017 18:18:50 +0000 (20:18 +0200)]
rawbaseparse: Drop incomplete frames at EOS

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

This would ideally be solved in baseparse but that requires further
thought at this point, and in the meantime it would be good to have
rawbaseparse not assert on this but handle it gracefully instead.

7 years agoconfigure: Remove unused Mali EGL/fbdev_window support
Sebastian Dröge [Thu, 16 Feb 2017 18:08:35 +0000 (20:08 +0200)]
configure: Remove unused Mali EGL/fbdev_window support

This existed a long time ago but there's no actual code for this
anymore.

7 years agopkgconfig: fix uninstalled .pc files for codecparsers + mpegts
Tim-Philipp Müller [Wed, 15 Feb 2017 19:07:32 +0000 (19:07 +0000)]
pkgconfig: fix uninstalled .pc files for codecparsers + mpegts

Really need to include the srcdir for codecparsers, and build dir
for mpegts.

7 years agoFix distcheck
Tim-Philipp Müller [Tue, 14 Feb 2017 23:00:06 +0000 (23:00 +0000)]
Fix distcheck

Don't use wildcards in Makefile.am, buildbot doesn't seem
to like them.

7 years agowin32: remove disted enumtypes files which are no longer used
Tim-Philipp Müller [Tue, 14 Feb 2017 20:23:12 +0000 (20:23 +0000)]
win32: remove disted enumtypes files which are no longer used

7 years agomeson: dist meson build files
Tim-Philipp Müller [Tue, 14 Feb 2017 20:19:44 +0000 (20:19 +0000)]
meson: dist meson build files

Ship meson build files in tarballs, so people who use tarballs
in their builds can start playing with meson already.

7 years agoBuilds for MacOS
Nick Kallen [Tue, 14 Feb 2017 12:04:01 +0000 (13:04 +0100)]
Builds for MacOS

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

7 years agoapplemedia: free videotexturecache texture in gl thread
Nick Kallen [Fri, 10 Feb 2017 10:32:23 +0000 (11:32 +0100)]
applemedia: free videotexturecache texture in gl thread

The cached texture was treated as user_data passed to GstGLBaseMemory
and freed with a GDestroyNotify function. However, this data must
be treated specially: it must be destroyed in the GL thread.

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

7 years agoGstGLSinkBin: fixed sink property leak
Juan Pablo Ugarte [Fri, 10 Feb 2017 13:29:49 +0000 (10:29 -0300)]
GstGLSinkBin: fixed sink property leak

No need to keep an extra reference to sink since an indirect one is added by gst_bin_add()

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

7 years agoshm: Change example pipelines to something that actually works
Sebastian Dröge [Mon, 13 Feb 2017 11:32:14 +0000 (13:32 +0200)]
shm: Change example pipelines to something that actually works

Enforce exactly the same raw video format on both sides, include a
videoconvert and queue before the video sink and make the shm area a
little bit bigger so that things don't get stuck.

7 years agoadaptivedemux: Convert premature EOS on non-exposed pads to ERROR
Jan Schmidt [Wed, 8 Feb 2017 14:12:56 +0000 (01:12 +1100)]
adaptivedemux: Convert premature EOS on non-exposed pads to ERROR

If we need to send EOS on a pad that hasn't prerolled, generate
an error on the bus instead, otherwise the app will have no idea.

Fixes the HLS testFragmentNotFound test, which is waiting
for either EOS or an error.

7 years agoadaptivedemux: Handle errors from prepared_streams too
Jan Schmidt [Wed, 8 Feb 2017 13:54:07 +0000 (00:54 +1100)]
adaptivedemux: Handle errors from prepared_streams too

Check both active and prepared_streams when we receive an
error on the bus, so we post errors for streams that are
still pre-rolling

7 years agoadaptivedemux: Allow that
Jan Schmidt [Wed, 8 Feb 2017 13:16:33 +0000 (00:16 +1100)]
adaptivedemux: Allow that

7 years agoadaptivedemux: Fix tests for delayed pad exposure.
Jan Schmidt [Wed, 8 Feb 2017 11:59:49 +0000 (22:59 +1100)]
adaptivedemux: Fix tests for delayed pad exposure.

Make the unit tests handle the fact that pads don't appear
immediately. Before, the test assumed pads are exposed before the
internal source element is created, which is no longer true.

7 years agoamcvideoenc: Encoder output is generally not properly parsed
Sebastian Dröge [Tue, 7 Feb 2017 17:44:54 +0000 (19:44 +0200)]
amcvideoenc: Encoder output is generally not properly parsed

Don't claim it is and let h264parse and other parsers do their job.

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

7 years agoamcvideoenc: Set timestamps on header buffers too
Sebastian Dröge [Tue, 7 Feb 2017 17:42:47 +0000 (19:42 +0200)]
amcvideoenc: Set timestamps on header buffers too

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

7 years agoamcvideoenc: Encoded H264 is generally not AU aligned
Sebastian Dröge [Tue, 7 Feb 2017 17:42:00 +0000 (19:42 +0200)]
amcvideoenc: Encoded H264 is generally not AU aligned

Claiming that it is, can cause h264parse to skip some parsing steps and
the output stays unaligned.

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

7 years agoadaptivedemux: Fix bitrate printed in debug
Jan Schmidt [Fri, 13 Jan 2017 12:10:52 +0000 (23:10 +1100)]
adaptivedemux: Fix bitrate printed in debug

The download bitrate is already in bits per second,
no need to multiply it by 8 again when printing it
for debug.

7 years agohlsdemux: Redo typefind after stripping tags
Jan Schmidt [Wed, 11 Jan 2017 01:34:58 +0000 (12:34 +1100)]
hlsdemux: Redo typefind after stripping tags

When stripping the ID3 header, redo typefinding so
we set audio caps instead of still setting id3
caps and plugging a useless id3demux

7 years agoadaptivedemux: Preroll streams before exposing them
Jan Schmidt [Sat, 7 Jan 2017 03:12:05 +0000 (12:12 +0900)]
adaptivedemux: Preroll streams before exposing them

To ensure that pads have caps when they are exposed, do
the exposing when all pending streams have prerolled an
output buffer, and only then EOS and remove any old pads.

Improves the switching sequence by making caps available
as soon as a pad appears.

With fixes from Seungha Yang <sh.yang@lge.com>

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

7 years agoopencv: allow compilation against 3.2.0
Nicola Murino [Fri, 3 Feb 2017 14:35:15 +0000 (15:35 +0100)]
opencv: allow compilation against 3.2.0

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

7 years agowaylandsink: set video surface opaque
Fabien Dessenne [Thu, 2 Feb 2017 15:47:52 +0000 (16:47 +0100)]
waylandsink: set video surface opaque

Unless the video format has an alpha component (ARGB, ...), set the
video_surface opaque.
In the usual case where the black area_surface has the same size as the
video_surface (eg: run gst-play-1.0 video.mp4), this makes the black
surface totally occluded which makes weston compositor's life easier
since it can ignore that surface.
Also unconditionally set the black area_surface opaque.

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

7 years agoavwait: Fix potential deadlock when flushing / shutting down audio
Vivia Nikolaidou [Thu, 2 Feb 2017 13:25:09 +0000 (15:25 +0200)]
avwait: Fix potential deadlock when flushing / shutting down audio

The mutex must be unlocked in the error case

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

7 years agodecklinkvideosink: Show video frames synchronously in PAUSED
Sebastian Dröge [Wed, 1 Feb 2017 15:11:37 +0000 (17:11 +0200)]
decklinkvideosink: Show video frames synchronously in PAUSED

Otherwise we will only show the preroll frame once PLAYING is reached,
which is rather suboptimal for e.g. seeking in PAUSED.

7 years agodecklinkvideosink: Do nothing if set_caps() is called with basically the same caps...
Sebastian Dröge [Wed, 1 Feb 2017 14:45:53 +0000 (16:45 +0200)]
decklinkvideosink: Do nothing if set_caps() is called with basically the same caps again

and error out here already otherwise. We currently don't support
reconfiguration here and it can't happen really either unless the auto
mode is selected.

7 years agodecklinkaudiosrc: Fix get_caps returning EMPTY
Vivia Nikolaidou [Wed, 1 Feb 2017 13:13:32 +0000 (15:13 +0200)]
decklinkaudiosrc: Fix get_caps returning EMPTY

If get_caps is called before negotiation, channels_found will be 0 and
therefore won't intersect with the template caps.

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

7 years agodewarp: Store C++ types as pointers in C structs
Sebastian Dröge [Wed, 1 Feb 2017 11:44:37 +0000 (13:44 +0200)]
dewarp: Store C++ types as pointers in C structs

Otherwise the destructor will never be called, and we would have to call
the constructors manually at some point... which we never did, so
calling release() on it before it got otherwise initialized caused a
crash. For example when running gst-inspect-1.0.

7 years agovkwindow: fix build error on i386
Matthew Waters [Wed, 1 Feb 2017 05:05:23 +0000 (16:05 +1100)]
vkwindow: fix build error on i386

Vulkan handles are either pointers (64-bit) or 64-bit integer
handles (32-bit). Cast the type in failure cases.

vkwindow.c:229:561: error: return makes integer from pointer without a cast [-Werror=int-conversion]
vkwindow.c:231:194: error: return makes integer from pointer without a cast [-Werror=int-conversion]

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

7 years agompegdemux: Add stream-format to the H.264 caps.
Jan Schmidt [Wed, 1 Feb 2017 03:44:32 +0000 (14:44 +1100)]
mpegdemux: Add stream-format to the H.264 caps.

H.264 in MPEG-PS is always byte-stream

7 years agompegdemux: Add extra length checks to TS scanning.
Jan Schmidt [Wed, 1 Feb 2017 03:37:29 +0000 (14:37 +1100)]
mpegdemux: Add extra length checks to TS scanning.

Add some missing size checks to the timestamp scanning
fast path.

7 years agopsdemux: Rewrite PSM parsing using GstByteReader
Jan Schmidt [Wed, 1 Feb 2017 03:25:32 +0000 (14:25 +1100)]
psdemux: Rewrite PSM parsing using GstByteReader

Avoid possible buffer overflows and ignore invalid PSM packets better
by using GstByteReader.

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

7 years agodecklink: Add to the meson Windows build
Sebastian Dröge [Fri, 27 Jan 2017 17:26:06 +0000 (19:26 +0200)]
decklink: Add to the meson Windows build

7 years agodecklink: Fix indentation
Sebastian Dröge [Fri, 27 Jan 2017 17:24:03 +0000 (19:24 +0200)]
decklink: Fix indentation

7 years agodecklink: Fix compilation on Windows by properly using COM strings there
Sebastian Dröge [Fri, 27 Jan 2017 17:23:48 +0000 (19:23 +0200)]
decklink: Fix compilation on Windows by properly using COM strings there

7 years agodecklink: Fix compilation with MSVC
Axel Menzel [Fri, 27 Jan 2017 17:15:28 +0000 (19:15 +0200)]
decklink: Fix compilation with MSVC

7 years agodecklink: Include stdint.h for int32_t, etc as needed by the Decklink headers
Sebastian Dröge [Fri, 27 Jan 2017 17:11:02 +0000 (19:11 +0200)]
decklink: Include stdint.h for int32_t, etc as needed by the Decklink headers

7 years agodecklink: Add "extern C" forward declaration for CreateDeckLinkIteratorInstance()
Sebastian Dröge [Fri, 27 Jan 2017 17:09:13 +0000 (19:09 +0200)]
decklink: Add "extern C" forward declaration for CreateDeckLinkIteratorInstance()

7 years agodecklink: Update Windows SDK to a newer version
Axel Menzel [Fri, 27 Jan 2017 17:03:33 +0000 (19:03 +0200)]
decklink: Update Windows SDK to a newer version

7 years agoadaptivedemux: Handle SEEK event only once
Seungha Yang [Sun, 1 Jan 2017 05:06:28 +0000 (14:06 +0900)]
adaptivedemux: Handle SEEK event only once

send_event() of parent class (i.e., GstBinClass) iterates srcpads
to send SEEK event. And performing it per srcpad is inefficient.
So, let's drop duplicated SEEK event by checking seqnum

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

7 years agotests: hlsdemux: Fix live startup sequence and seek range
Seungha Yang [Thu, 26 Jan 2017 23:38:28 +0000 (08:38 +0900)]
tests: hlsdemux: Fix live startup sequence and seek range

To satisfy follwing restriction of HLS spec 6.3.3,
select startup fragment sequence to 4th from end of playlist.
Also, seek range should exclude last three fragment in playlist.

"the client SHOULD NOT choose a segment which starts less than
three target durations from the end of the Playlist file."

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

7 years agohls: m3u8: Set sequence position for live
Seungha Yang [Thu, 26 Jan 2017 23:50:10 +0000 (08:50 +0900)]
hls: m3u8: Set sequence position for live

hls live starts playback from the allowed latest fragment,
but its "sequence position" is set to zero, and so stream
time is also set to zero.

This does not make sense, because hls live allows seeking to past position,
and it's negative stream time from downstream element's point of view.
Note that, allowed seekable range (and seeking query) is
from the first fragment of playlist to the allowed latest fragment.

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

7 years agohls: Exclusion of last three fragment in case of live playback
Seungha Yang [Tue, 24 Jan 2017 12:32:13 +0000 (21:32 +0900)]
hls: Exclusion of last three fragment in case of live playback

HLS spec 6.3.3 is saying that
"the client SHOULD NOT choose a segment which starts less than
three target durations from the end of the Playlist file."

To ensure above statement, the third fragment from the end of playlist
should be excluded from seekable range and also from available starting fragment.
(i.e., the fourth fragment from end of playlist is the starting fragment).

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

7 years agohlsdemux: Consider timestamp of the first fragment in playlist when live seeking
Seungha Yang [Tue, 24 Jan 2017 11:21:19 +0000 (20:21 +0900)]
hlsdemux: Consider timestamp of the first fragment in playlist when live seeking

During live playback, the first fragment in a updated
playlist can be advanced from that of startup playlist.
Meanwhile, since hlsdemux finds target seek position
by just accumulating fragment's duration, the base should
be adjusted to the updated first fragment's timestamp.

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

7 years agomotioncells: fix mingw build
Nicola Murino [Mon, 30 Jan 2017 10:17:53 +0000 (11:17 +0100)]
motioncells: fix mingw build

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

7 years agoapplemedia: Fix some compiler warnings on iOS
Sebastian Dröge [Fri, 27 Jan 2017 16:11:15 +0000 (18:11 +0200)]
applemedia: Fix some compiler warnings on iOS

7 years agodecklinkaudiosrc: Fix compilation on OSX
Sebastian Dröge [Fri, 27 Jan 2017 15:24:20 +0000 (17:24 +0200)]
decklinkaudiosrc: Fix compilation on OSX

15:18:47 gstdecklinkaudiosrc.cpp:745:45: error: cannot initialize a parameter of type 'int64_t *' (aka 'long long *') with an rvalue of type 'gint64 *' (aka 'long *')
15:18:47           (BMDDeckLinkMaximumAudioChannels, &self->channels_found);
15:18:47                                             ^~~~~~~~~~~~~~~~~~~~~
15:18:47 ./linux/DeckLinkAPI.h:970:87: note: passing argument to parameter 'value' here
15:18:47     virtual HRESULT GetInt (/* in */ BMDDeckLinkAttributeID cfgID, /* out */ int64_t *value) = 0;
15:18:47                                                                                       ^

7 years agoavwait: Rename timecodewait to avwait, add modes
Vivia Nikolaidou [Wed, 25 Jan 2017 11:06:28 +0000 (13:06 +0200)]
avwait: Rename timecodewait to avwait, add modes

Renamed timecodewait to avwait. Added running-time and video-first
modes. Default mode is timecode (the previous behaviour).

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

7 years agodecklinkaudiosrc: Option to use max channels supported by device
Vivia Nikolaidou [Wed, 18 Jan 2017 15:53:00 +0000 (17:53 +0200)]
decklinkaudiosrc: Option to use max channels supported by device

Query the device for the maximum number of channels supported and have
an option to use that. Default is still 2.

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

7 years agoapplemedia: Fail cleanly instead of crashing if obtaining a GL display failed
Sebastian Dröge [Thu, 26 Jan 2017 13:35:11 +0000 (15:35 +0200)]
applemedia: Fail cleanly instead of crashing if obtaining a GL display failed

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

7 years agovkimagememory: use the correct enum for RGB16/BGR16 formats
Matthew Waters [Thu, 26 Jan 2017 08:52:07 +0000 (19:52 +1100)]
vkimagememory: use the correct enum for RGB16/BGR16 formats

vkimagememory.c:64:14: warning: implicit conversion from enumeration type 'GstVideoGLTextureType' to different enumeration type 'VkFormat' (aka 'enum VkFormat') [-Wenum-conversion]
     return GST_VIDEO_GL_TEXTURE_TYPE_RGB16;

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

7 years agompeg2enc: Fix compiler warning with clang
Sebastian Dröge [Wed, 25 Jan 2017 18:54:35 +0000 (20:54 +0200)]
mpeg2enc: Fix compiler warning with clang

gstmpeg2enc.cc:224:5: warning: variable 'n' is incremented both in the loop header and in the loop body [-Wfor-loop-analysis]
    n++;
    ^
gstmpeg2enc.cc:221:29: note: incremented here
  for (n = 0; fpss[n] != 0; n++) {
                            ^

7 years agodecklink: Fix compiler warning with clang
Sebastian Dröge [Wed, 25 Jan 2017 18:48:58 +0000 (20:48 +0200)]
decklink: Fix compiler warning with clang

gstdecklink.cpp:821:11: warning: variable 'dtc' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
      if (m_input->videosrc) {
          ^~~~~~~~~~~~~~~~~
gstdecklink.cpp:837:41: note: uninitialized use occurs here
          stream_time, stream_duration, dtc, no_signal);
                                        ^~~
gstdecklink.cpp:821:7: note: remove the 'if' if its condition is always true
      if (m_input->videosrc) {
      ^~~~~~~~~~~~~~~~~~~~~~~
gstdecklink.cpp:810:29: note: initialize the variable 'dtc' to silence this warning
      IDeckLinkTimecode *dtc;
                            ^
                             = NULL

7 years agoqt: The code requires at least C++11
Sebastian Dröge [Wed, 25 Jan 2017 17:21:03 +0000 (19:21 +0200)]
qt: The code requires at least C++11

... and clang requires this to be specified on the commandline while gcc
nowadays defaults to C++11 or even newer.

7 years agotsdemux: Set caps/tags in the GstStream object before pushing the stream-start event
Sebastian Dröge [Tue, 24 Jan 2017 21:10:19 +0000 (23:10 +0200)]
tsdemux: Set caps/tags in the GstStream object before pushing the stream-start event

Otherwise downstream will get a more or less empty GstStream although we
already know a lot about it at this point.

7 years agoopenh264: add "qp-min" and "qp-max" properties
Tim-Philipp Müller [Tue, 24 Jan 2017 14:39:35 +0000 (14:39 +0000)]
openh264: add "qp-min" and "qp-max" properties

7 years agoiqa: Move AM_CONDITIONAL(HAVE_DSSIM) outside of the iqa check block
Lars Wendler [Fri, 20 Jan 2017 06:45:43 +0000 (07:45 +0100)]
iqa: Move AM_CONDITIONAL(HAVE_DSSIM) outside of the iqa check block

or else configure fails with

  error: conditional "HAVE_DSSIM" was never defined.

when iqa is not installed.

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

7 years agomeson: Build GIR files
Thibault Saunier [Mon, 23 Jan 2017 15:12:06 +0000 (12:12 -0300)]
meson: Build GIR files

7 years agopkg-config: Directly link the library with -l instead of the .la file
Sebastian Dröge [Mon, 23 Jan 2017 13:10:40 +0000 (15:10 +0200)]
pkg-config: Directly link the library with -l instead of the .la file

Which might not exist, like on most modern Linux distributions.

7 years agomsdk: Propagate GstFlowReturn values
Scott D Phillips [Fri, 20 Jan 2017 19:11:50 +0000 (11:11 -0800)]
msdk: Propagate GstFlowReturn values

In some places a GST_FLOW_FLUSHING result was return as a FALSE
gboolean and then returned from a parent function as
GST_FLOW_ERROR. This prevented seeking from working.

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

7 years agofdk-aac: fix version number
Stefan Sauer [Fri, 20 Jan 2017 15:44:42 +0000 (16:44 +0100)]
fdk-aac: fix version number

As pointed out on irc, the version was menat to be 0.1.4.

7 years agotsdemux: Don't leak pad name and template for Opus
Sebastian Dröge [Fri, 20 Jan 2017 12:34:10 +0000 (14:34 +0200)]
tsdemux: Don't leak pad name and template for Opus

It's set again (the same way) further below, overwriting the previously
allocated memory without freeing.

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

7 years agomxfdemux: Set stream tags to NULL after unreffing
Sebastian Dröge [Fri, 20 Jan 2017 05:51:09 +0000 (07:51 +0200)]
mxfdemux: Set stream tags to NULL after unreffing

Otherwise we might try to unref them a second time a little bit later.

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

7 years agohlsdemux: Detect media sequence number inconsistencies and fail
Sebastian Dröge [Thu, 5 Jan 2017 17:10:52 +0000 (19:10 +0200)]
hlsdemux: Detect media sequence number inconsistencies and fail

Without failing, we would play back random parts of the stream which is
arguably a worse user experience, and failing is also recommended by the
spec here.

And also handle live streams without any media sequence numbers at all
properly, that is, make sure the sequence numbers are increasing instead
of starting again at 0 every time.

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

7 years agodashdemux: Do pending seek when SIDX is found
Seungha Yang [Tue, 17 Jan 2017 13:27:46 +0000 (22:27 +0900)]
dashdemux: Do pending seek when SIDX is found

Parsing SIDX box was allowed even if "indexRange" attribute does not appear
for On-Demand profile. However, actual seeking using SIDX index did not happen
since download loop keep working on.
To use SIDX index in that case, demux should try it in the next download loop.

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

7 years agodashdemux: Fix issue when manifest update sets slow start without passing necessary...
WeiChungChang [Tue, 17 Jan 2017 02:33:03 +0000 (10:33 +0800)]
dashdemux: Fix issue when manifest update sets slow start without passing necessary header & caps changes downstream

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

7 years agoglmixer: ensure caps are writable after intersection
Matthew Waters [Wed, 18 Jan 2017 04:03:48 +0000 (15:03 +1100)]
glmixer: ensure caps are writable after intersection

gst_caps_intersect () may return an increased reference of one of the
input caps.

Fixes critical in the simple-launch-lines test:

Unexpected critical/warning: gst_caps_set_features: assertion 'IS_WRITABLE (caps)' failed

7 years agodvdspu: Handle vob display rect starting on an odd line
Jan Schmidt [Wed, 18 Jan 2017 00:05:21 +0000 (11:05 +1100)]
dvdspu: Handle vob display rect starting on an odd line

DVDs always have subpictures that start on an even Y
coordinate, but gstspu does more generic vobsubs these
days, so handle ones that start on an odd vertical position.

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

7 years agoplayer: Add support for selecting a specific video sink
Lyon Wang [Tue, 27 Dec 2016 09:13:58 +0000 (17:13 +0800)]
player: Add support for selecting a specific video sink

- Add overlay video renderer "video-sink" property, so that can be set
- In create_video_sink, it returns video sink instead of always NULL
- Add new renderer_new_with_sink() API to set video sink

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

7 years agoplayer: Add missing documentation for deprecated functions
Sebastian Dröge [Tue, 17 Jan 2017 11:07:57 +0000 (13:07 +0200)]
player: Add missing documentation for deprecated functions

7 years agoplayer: Add get video snapshot API
Lyon Wang [Tue, 10 Jan 2017 08:38:21 +0000 (16:38 +0800)]
player: Add get video snapshot API

Add get video snapshot API:
  gst_player_get_video_snapshot()

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

7 years agompdparser: Fix compilation with GST_DISABLE_GST_DEBUG
Edward Hervey [Thu, 12 Jan 2017 15:14:57 +0000 (16:14 +0100)]
mpdparser: Fix compilation with GST_DISABLE_GST_DEBUG

7 years agoandroidmedia: Use proper instance name
Edward Hervey [Fri, 13 Jan 2017 13:46:12 +0000 (14:46 +0100)]
androidmedia: Use proper instance name

7 years agomeson: bump version
Tim-Philipp Müller [Fri, 13 Jan 2017 12:39:21 +0000 (12:39 +0000)]
meson: bump version

7 years agoamcvideodec: fix build error from change in libgstgl
Matthew Waters [Fri, 13 Jan 2017 10:17:33 +0000 (21:17 +1100)]
amcvideodec: fix build error from change in libgstgl

gstamcvideodec.c: In function 'gst_amc_video_dec_src_query':
gstamcvideodec.c:2412:55: error: 'self' undeclared (first use in this function)
       if (gst_gl_handle_context_query ((GstElement *) self, query,

7 years agogl: update sys dependants for function removals
Matthew Waters [Fri, 13 Jan 2017 01:49:37 +0000 (12:49 +1100)]
gl: update sys dependants for function removals

4315a4b54d9 forgot to change the androidmedia/videotoolbox/caopengllayer
sources as required.

7 years agoglslstage: define GL constants if needed instead of using #ifdef
Juan Pablo Ugarte [Wed, 11 Jan 2017 13:37:34 +0000 (10:37 -0300)]
glslstage: define GL constants if needed instead of using #ifdef

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

7 years agogl/examples/gtk: fixed compilation on systems without GL_GEOMETRY_SHADER
Juan Pablo Ugarte [Wed, 11 Jan 2017 13:32:23 +0000 (10:32 -0300)]
gl/examples/gtk: fixed compilation on systems without GL_GEOMETRY_SHADER

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

7 years agoglutils: document functions
Matthew Waters [Fri, 13 Jan 2017 00:08:10 +0000 (11:08 +1100)]
glutils: document functions

7 years agoglutils: privatise matrix multiplication/videoaffinetransformation retrieval
Matthew Waters [Fri, 13 Jan 2017 00:06:39 +0000 (11:06 +1100)]
glutils: privatise matrix multiplication/videoaffinetransformation retrieval

7 years agogl/utils: also take care of the local GL context in query functions
Matthew Waters [Thu, 12 Jan 2017 10:35:25 +0000 (21:35 +1100)]
gl/utils: also take care of the local GL context in query functions

Simplifies a deduplicates a lot of code in elements retrieving/setting
the local OpenGL context.

7 years agoglutils: remove trivial helper function
Matthew Waters [Wed, 11 Jan 2017 14:57:29 +0000 (01:57 +1100)]
glutils: remove trivial helper function

gst_gl_caps_replace_all_caps_features() is only used in two places and can
be trivially reproduced.

7 years agogl/docs: add symbols from -unused.txt
Matthew Waters [Wed, 11 Jan 2017 05:09:31 +0000 (16:09 +1100)]
gl/docs: add symbols from -unused.txt

7 years agogl/docs: some type fixes of type names
Matthew Waters [Wed, 11 Jan 2017 05:09:03 +0000 (16:09 +1100)]
gl/docs: some type fixes of type names

7 years agoBack to development
Sebastian Dröge [Thu, 12 Jan 2017 14:32:49 +0000 (16:32 +0200)]
Back to development

7 years agoopencv: Fix build with OpenCV < 3
Sebastian Dröge [Thu, 12 Jan 2017 13:55:52 +0000 (15:55 +0200)]
opencv: Fix build with OpenCV < 3

We only need the opencv2/bgsegm.hpp header for OpenCV >= 3 and have
compat code for older versions.

7 years agottml: Link with -lm for round()
Sebastian Dröge [Thu, 12 Jan 2017 13:38:18 +0000 (15:38 +0200)]
ttml: Link with -lm for round()

7 years agoRelease 1.11.1
Sebastian Dröge [Thu, 12 Jan 2017 13:39:06 +0000 (15:39 +0200)]
Release 1.11.1

7 years agoUpdate .po files
Sebastian Dröge [Thu, 12 Jan 2017 12:42:29 +0000 (14:42 +0200)]
Update .po files

7 years agopo: Update translations
Sebastian Dröge [Thu, 12 Jan 2017 12:36:46 +0000 (14:36 +0200)]
po: Update translations