platform/upstream/gstreamer.git
7 years agoadaptivedemux: Don't create invalid event
Edward Hervey [Thu, 25 May 2017 14:42:03 +0000 (16:42 +0200)]
adaptivedemux: Don't create invalid event

tags could potentially be NULL

7 years agoadaptivedemux: retry download MAX_DOWNLOAD_RETRY_COUNT times before erroring
Matthew Waters [Fri, 2 Dec 2016 06:51:57 +0000 (17:51 +1100)]
adaptivedemux: retry download MAX_DOWNLOAD_RETRY_COUNT times before erroring

What we want is to retry downloading the fragment on 4xx/5xx errors
however returning EOS will cause waiting for a manifest update for live
(which may be a really long time) or stop everything for non-live.

Change that to only return EOS/ERROR once we've reached the error limit.

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

7 years agoglcontext: keep a ref to the active thread
fvanzile [Thu, 23 Feb 2017 23:42:08 +0000 (15:42 -0800)]
glcontext: keep a ref to the active thread

With the macOS/iOS implementations, the active thread can change
multiple times over the life of a pipeline which would expose a race in
the thread tracking.

Fix by taking a ref on the active thread while the context is active.

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

7 years agoqt: Use GST_GL_HAVE_PLATFORM_CGL instead of GST_GL_HAVE_PLATFORM_COCOA
Simon Himmelbauer [Thu, 18 May 2017 12:23:14 +0000 (15:23 +0300)]
qt: Use GST_GL_HAVE_PLATFORM_CGL instead of GST_GL_HAVE_PLATFORM_COCOA

The latter is not used/available anymore since years. Also fix a typo
in the include path for the Cocoa GL display header.

7 years agoamcvideodec: Unref downstream caps after usage
Sebastian Dröge [Thu, 18 May 2017 11:34:04 +0000 (14:34 +0300)]
amcvideodec: Unref downstream caps after usage

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

7 years agoh265parse: Fix calculation of codec_data buffer size
Sebastian Dröge [Thu, 18 May 2017 08:42:17 +0000 (11:42 +0300)]
h265parse: Fix calculation of codec_data buffer size

7 years agoglformat: Add missing GST_GL_RGB565 in some switch statement
Haihua Hu [Wed, 17 May 2017 08:26:38 +0000 (16:26 +0800)]
glformat: Add missing GST_GL_RGB565 in some switch statement

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

7 years agodecklink: Always use the video stream time for audio too
Sebastian Dröge [Wed, 10 May 2017 13:59:42 +0000 (15:59 +0200)]
decklink: Always use the video stream time for audio too

The audio packet times can be completely unrelated to the video stream
time, depending on the card. While this looks like a bug in the driver,
just always using the video stream time (which is correct) works as a
workaround for now.

7 years agococoa: Install gstgldisplay_cocoa.h
Sebastian Dröge [Wed, 17 May 2017 14:38:01 +0000 (17:38 +0300)]
cocoa: Install gstgldisplay_cocoa.h

It's needed by e.g. qmlglsink.

7 years agogl/viv-fb: Fix user-choice string comparisons
Carlos Rafael Giani [Tue, 9 May 2017 21:59:04 +0000 (23:59 +0200)]
gl/viv-fb: Fix user-choice string comparisons

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

7 years agodecklinkvideosink: Copy min(gstreamer_stride, decklink_stride) per line
Sebastian Dröge [Mon, 15 May 2017 13:37:14 +0000 (16:37 +0300)]
decklinkvideosink: Copy min(gstreamer_stride, decklink_stride) per line

Instead of just bpp * width, which might be more than we can copy.

7 years agoh264parse: fix caps leak in renegotiation
Vincent Penquerc'h [Fri, 12 May 2017 09:01:10 +0000 (10:01 +0100)]
h264parse: fix caps leak in renegotiation

7 years agoh265parse: fix caps leak in renegotiation
Vincent Penquerc'h [Fri, 12 May 2017 09:00:56 +0000 (10:00 +0100)]
h265parse: fix caps leak in renegotiation

7 years agojpeg2000parse: fix negotiation with j2c and jpc both allowed upstream
Vincent Penquerc'h [Tue, 9 May 2017 09:32:05 +0000 (10:32 +0100)]
jpeg2000parse: fix negotiation with j2c and jpc both allowed upstream

If upstream supports both, but downstream supports only jpc, j2c
would have been selected as the first in the caps.

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

7 years agodirectsoundsrc: Use a GstClockID to wait instead of Sleep()
Nirbheek Chauhan [Tue, 9 May 2017 10:36:10 +0000 (16:06 +0530)]
directsoundsrc: Use a GstClockID to wait instead of Sleep()

The main advantage is that our sleeps can be interrupted in case of
an src_reset(). Earlier, we would need to wait for a read to complete
before we could do a reset, which could take a long time.

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

7 years agoglmemory: Only use glDrawBuffer if available
Sebastian Dröge [Tue, 9 May 2017 09:25:20 +0000 (11:25 +0200)]
glmemory: Only use glDrawBuffer if available

Otherwise fall back to glDrawBuffers. Also check if glReadBuffer exists
before using it.

glDrawBuffer does not exist for GLES, only glDrawBuffers does.

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

7 years agomeson: Ignore msvc warnings in C++ as well
Scott D Phillips [Mon, 8 May 2017 18:01:39 +0000 (11:01 -0700)]
meson: Ignore msvc warnings in C++ as well

We were only ignoring the listed msvc warnings for C language
files and not C++. This was working by the coincidence that we did
not have any instances of these warnings in C++ files. Lately the
build of decklink has been fixed on windows, and it has an
instance of one of these warnings in a C++ file.

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

7 years agodecklink: Fix linking on MinGW
Nirbheek Chauhan [Thu, 4 May 2017 23:00:59 +0000 (04:30 +0530)]
decklink: Fix linking on MinGW

MinGW does not provide comsupp.lib, so there's no implementation of
_com_util::ConvertBSTRToString. Use a fallback implementation that
uses wcstombs() instead.

On MinGW we also truncate the name to 100 chars which should be fine.

7 years agodecklink: Fix building on Windows
Nirbheek Chauhan [Thu, 4 May 2017 22:32:29 +0000 (04:02 +0530)]
decklink: Fix building on Windows

BSTR is already a pointer to a string

7 years agomeson: Fix decklink building on Windows
Nirbheek Chauhan [Thu, 4 May 2017 22:31:38 +0000 (04:01 +0530)]
meson: Fix decklink building on Windows

Needs comsuppw, and does not need libdl or pthread.

7 years agodirectsoundsrc: Use latency-time and buffer-time settings
Nirbheek Chauhan [Wed, 3 May 2017 17:20:27 +0000 (22:50 +0530)]
directsoundsrc: Use latency-time and buffer-time settings

Earlier, the plugin was ignoring those settings and blindly setting
buffer-time to 2 seconds and latency-time to 200ms, which forced all
pipelines to have a minimum latency of 200ms + sink latency.

The values of segsize and segtotal were also not derived correctly.
Now we obey these values, and you can get close to the previous
behaviour by setting buffer-time and latency-time manually. Note that
they are set in microseconds.

As a consequence, when we haven't received enough data from the
device, we now sleep for a time proportional to the data remaining.
However, Directsound is a deprecated API so it maintains its own
software ringbuffer which updates at arbitrary intervals. Hence we
might have to wait a full segsize to get the last 10% of data. To
avoid tight loops, we clamp our sleep floor at 10ms.

In my testing, this keeps the wakeups not-too-high (proportional to
the latency-time set on the source). Further improvements should be
made by fixing the WASAPI audio source plugin instead of this.
Directsound is deprecated and as the comments explain, it is
impossible to get low latency, decent quality, or good performance
from it.

Based on a patch by Sebastian Dröge <sebastian@centricular.com>

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

7 years agomsdk: use a dummy.cpp file to force c++ linking
Scott D Phillips [Fri, 21 Apr 2017 03:18:30 +0000 (20:18 -0700)]
msdk: use a dummy.cpp file to force c++ linking

Add a dummy.cpp file to force c++ linking as required by libmfx.a.
I'm certain that the meson build worked for me in the past, but I
have no idea how it could have, looking at it now.

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

7 years agoRelease 1.12.0
Sebastian Dröge [Thu, 4 May 2017 12:39:05 +0000 (15:39 +0300)]
Release 1.12.0

7 years agoUpdate .po files
Sebastian Dröge [Thu, 4 May 2017 12:10:52 +0000 (15:10 +0300)]
Update .po files

7 years agopo: Update translations
Sebastian Dröge [Thu, 4 May 2017 10:47:37 +0000 (13:47 +0300)]
po: Update translations

7 years agomeson: hls: libm is required because m3u8.c uses math.h
Ting-Wei Lan [Wed, 3 May 2017 13:13:38 +0000 (21:13 +0800)]
meson: hls: libm is required because m3u8.c uses math.h

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

7 years agoqtkit: drop the qtkitvideosrc element
Josep Torra [Wed, 3 May 2017 11:21:42 +0000 (13:21 +0200)]
qtkit: drop the qtkitvideosrc element

The QTKit framework had been deprecated for long in favour of AVFundation
framework and we already have avfvideosrc that provides the same
functionality.

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

7 years agowebrtcdsp: fix doc string of echo-cancel property
George Kiagiadakis [Fri, 7 Apr 2017 14:13:52 +0000 (17:13 +0300)]
webrtcdsp: fix doc string of echo-cancel property

If the echo probe element is not found, initialization actually fails
instead of silently working with echo-cancel disabled.

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

7 years agoglupload: passthrough composition caps features in directviv upload
Haihua Hu [Tue, 2 May 2017 05:24:30 +0000 (13:24 +0800)]
glupload: passthrough composition caps features in directviv upload

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

7 years agotests: fix link problem on centos7
Tim-Philipp Müller [Thu, 27 Apr 2017 20:21:44 +0000 (21:21 +0100)]
tests: fix link problem on centos7

And put LIBS before -lgstfoo in adaptivedemux Makefile.am

7 years agoRelease 1.11.91
Sebastian Dröge [Thu, 27 Apr 2017 14:30:38 +0000 (17:30 +0300)]
Release 1.11.91

7 years agoUpdate .po files
Sebastian Dröge [Thu, 27 Apr 2017 13:03:28 +0000 (16:03 +0300)]
Update .po files

7 years agopo: Update translations
Sebastian Dröge [Thu, 27 Apr 2017 12:28:44 +0000 (15:28 +0300)]
po: Update translations

7 years agoamcvideodec/enc: Correctly check for no PTS on input buffers
shakin chou [Wed, 26 Apr 2017 09:46:10 +0000 (17:46 +0800)]
amcvideodec/enc: Correctly check for no PTS on input buffers

MediaCodec gives us a presentation timestamp of 0 if it does not know
anything, but GStreamer gives us GST_CLOCK_TIME_NONE. Don't mix up these
two.

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

7 years agottmlparse: Consolidate adjacent co-styled inline elements
Chris Bass [Tue, 25 Apr 2017 14:15:13 +0000 (15:15 +0100)]
ttmlparse: Consolidate adjacent co-styled inline elements

A common subtitling use case is live-generated subtitles, in which each
new word is contained in its own span, and the spans are displayed
sequentially, with the effect that lines of displayed subtitles are
built up word-by-word.

This can, however, cause problems when the number of words in a block is
greater than the number of allowed GstMemorys in a GstBuffer.

Since in this use case each span will have the same styling as adjacent
spans, we can join adjacent spans (and other inline elements, such as
breaks) into a single element containing the concatenated text of each,
thus avoiding the limit of GstMemorys in a GstBuffer and also reducing
the amount of styling/layout metadata that is attached to each buffer.

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

7 years agottmlparse: Don't add GstMemorys to a GstBuffer that is full
Chris Bass [Tue, 25 Apr 2017 14:33:38 +0000 (15:33 +0100)]
ttmlparse: Don't add GstMemorys to a GstBuffer that is full

The parser stores the text from each inline element of a scene in its
own GstMemory, which is inserted in the GstBuffer containing the scene
data. However, GstBuffers can contain only a limited number of
GstMemorys. Therefore, don't add more than the maximum number of
GstMemorys to each buffer, and warn if this is attempted.

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

7 years agottmlparse: Store newline as text of br element
Chris Bass [Tue, 25 Apr 2017 14:10:22 +0000 (15:10 +0100)]
ttmlparse: Store newline as text of br element

When parsing <br> elements, store an actual newline in the text field of
the created TtmlElement. They then don't need to be treated as a
separate case from anon-span elements when being processed.

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

7 years agottmlparse: Replace repeated warning code with a function.
Chris Bass [Tue, 25 Apr 2017 09:17:49 +0000 (10:17 +0100)]
ttmlparse: Replace repeated warning code with a function.

Encapsulates in a function the code that warns of an illegally
positioned element, rather than repeating the same code multiple times.
Also frees a string allocated by ttml_get_element_type_string, which was
previously being leaked.

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

7 years agottmlparse: Remove redundant text_index field of TtmlElement
Chris Bass [Mon, 24 Apr 2017 10:34:41 +0000 (11:34 +0100)]
ttmlparse: Remove redundant text_index field of TtmlElement

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

7 years agottmlparse: Don't leak TtmlElements when deleting GNodes/trees.
Chris Bass [Tue, 25 Apr 2017 09:04:50 +0000 (10:04 +0100)]
ttmlparse: Don't leak TtmlElements when deleting GNodes/trees.

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

7 years agomssdemux: Fix compiler warning
Sebastian Dröge [Tue, 25 Apr 2017 10:22:33 +0000 (13:22 +0300)]
mssdemux: Fix compiler warning

../subprojects/gst-plugins-bad/ext/smoothstreaming/gstmssdemux.c: In function ‘gst_mss_demux_requires_periodical_playlist_update’:
../subprojects/gst-plugins-bad/ext/smoothstreaming/gstmssdemux.c:729:16: error: unused variable ‘mssdemux’ [-Werror=unused-variable]
   GstMssDemux *mssdemux = GST_MSS_DEMUX_CAST (demux);
                ^~~~~~~~
cc1: all warnings being treated as errors

7 years agoadaptivedemux: separate manifest update task from download tasks
Matthew Waters [Fri, 7 Apr 2017 06:33:21 +0000 (16:33 +1000)]
adaptivedemux: separate manifest update task from download tasks

Rationale is to allow the manifest update task to continue running while
seeks are occurring.  Otherwise, if the user reliably performs a seek
before the manifest is updated, then as the manifest task is reset on
seeks (and thus the time to wait between manifest updates), the manifest
would never be updated.

This fix makes the manifest update task free-running and continously
update even during seeks.

7 years agomss: always periodically update the manifest taking the new fragments
Matthew Waters [Fri, 7 Apr 2017 04:42:24 +0000 (14:42 +1000)]
mss: always periodically update the manifest taking the new fragments

Without this, for streams where the content is stored indefinitely and
can be seeked on, the duration would never increase when in paused or,
until we reached near the end of the currently advertised stream (where
the internal fragment parser would see descriptions of new fragments).

7 years agoAutomatic update of common submodule
Tim-Philipp Müller [Mon, 24 Apr 2017 19:28:06 +0000 (20:28 +0100)]
Automatic update of common submodule

From 60aeef6 to 48a5d85

7 years agokmssink: Add msm to the list of drivers
Nicolas Dufresne [Sat, 22 Apr 2017 01:29:05 +0000 (21:29 -0400)]
kmssink: Add msm to the list of drivers

This prevent having to set the driver-name explicitly when running on
Qualcomm/MSM boards.

7 years agottmlparse: Convert tabs to spaces in input
Chris Bass [Thu, 20 Apr 2017 13:43:45 +0000 (14:43 +0100)]
ttmlparse: Convert tabs to spaces in input

The TTML spec has an issue in which tab (U+0009) characters that are
first in a sequence of whitespace characters are not suppressed at the
start and end of line areas. This issue was reported in [1] and the
editor of the TTML specs confirmed that this was not the intention
behind the spec.

The editor has created an issue to fix this in both the TTML1 and TTML2
specs [2], giving a proposal of what the spec should say. This patch
updates ttmlparse to implement the intended behaviour as proposed, in
which tabs in the input are converted to spaces before processing.

[1] https://github.com/w3c/imsc/issues/224
[2] https://github.com/w3c/ttml1/issues/235

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

7 years agottmlparse: Fix potential resource leak identified by coverity.
Chris Bass [Thu, 20 Apr 2017 09:24:30 +0000 (10:24 +0100)]
ttmlparse: Fix potential resource leak identified by coverity.

If multiple styles/regions with the same ID are present in the input
(which is not allowed in TTML), use the last and give a warning.

Fixes CID #1405134.

7 years agottmlrender: Fix potential resource leak identified by coverity
Chris Bass [Thu, 20 Apr 2017 09:22:49 +0000 (10:22 +0100)]
ttmlrender: Fix potential resource leak identified by coverity

Fixes CID #1405133.

7 years agoRevert "decklinkvideo/audiosrc: Add GstReferenceTimestampMeta with the stream time...
Sebastian Dröge [Wed, 19 Apr 2017 18:08:41 +0000 (19:08 +0100)]
Revert "decklinkvideo/audiosrc: Add GstReferenceTimestampMeta with the stream time to each buffer"

This reverts commit d5684d5b145a3eb0e23476f18669d1ffa552c5de.

This shouldn't have been merged before 1.12.

7 years agodecklinkvideo/audiosrc: Add GstReferenceTimestampMeta with the stream time to each...
Sebastian Dröge [Sat, 25 Feb 2017 10:37:46 +0000 (12:37 +0200)]
decklinkvideo/audiosrc: Add GstReferenceTimestampMeta with the stream time to each buffer

This is basically a frame counter provided by the driver and it's
advancing at the speed of the HDMI/SDI input. Having this available on
each buffer allows to know what constant-framerate-based timestamp each
frame is corresponding to and can be used e.g. to write out files
accordingly without having the local pipeline clock timestamps used.

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

7 years agottmlrender: Fix potential problem identified by clang
Chris Bass [Wed, 19 Apr 2017 15:06:52 +0000 (16:06 +0100)]
ttmlrender: Fix potential problem identified by clang

Clang's static analyser found potential code paths in which variables
were being used in comparisons when uninitialised. Fix by properly
handling out-of-range value returned by gst_ttml_get_element_index.

7 years agottmlparse: Fix potential NULL dereference identified by coverity
Chris Bass [Wed, 19 Apr 2017 13:07:06 +0000 (14:07 +0100)]
ttmlparse: Fix potential NULL dereference identified by coverity

Hopefully fixes CID #1405131.

7 years agottmlrender: Fix integer handling issue identified by coverity
Chris Bass [Wed, 19 Apr 2017 13:00:47 +0000 (14:00 +0100)]
ttmlrender: Fix integer handling issue identified by coverity

Fixes CID #1405132.

7 years agohlssink: Remove some unused struct fields
Sebastian Dröge [Wed, 19 Apr 2017 11:36:03 +0000 (12:36 +0100)]
hlssink: Remove some unused struct fields

7 years agonvenc: Stop bitstream thread in ::stop()
Ole André Vadla Ravnås [Mon, 17 Apr 2017 17:25:49 +0000 (19:25 +0200)]
nvenc: Stop bitstream thread in ::stop()

Otherwise we are likely to crash if EOS didn't happen yet.

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

7 years agonvenc: Update to the current gstreamer-gl API
Ole André Vadla Ravnås [Fri, 14 Apr 2017 11:58:21 +0000 (13:58 +0200)]
nvenc: Update to the current gstreamer-gl API

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

7 years agonvenc: Add support for the Cuda 8.0 SDK
Ole André Vadla Ravnås [Fri, 14 Apr 2017 11:57:19 +0000 (13:57 +0200)]
nvenc: Add support for the Cuda 8.0 SDK

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

7 years agodashdemux: Rewrite ISOBMFF & SIDX handling
Sebastian Dröge [Wed, 12 Apr 2017 17:01:40 +0000 (20:01 +0300)]
dashdemux: Rewrite ISOBMFF & SIDX handling

The previous code was handling both as separate steps and then tried to
combine the results, but this resulted in all kinds of bugs which showed
themselves as failures during seeking and offset tracking getting wrong.
This also showed itself with gst-validate on the sample stream.

The rewritten code now parses everything in one go and tracks the
current offset only once, and as a side effect simplifies the code a
lot.

Also added is detection of SIDX that point to other SIDX instead of
actual media segments, e.g. with this stream:
  http://dash.akamaized.net/dash264/TestCases/1a/sony/SNE_DASH_SD_CASE1A_REVISED.mpd
Support for this will have to be added at some point but that should
also be easier with the rewritten code.

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

7 years agotests: dash_mpd: add some inheritance tests
Thiago Santos [Sun, 16 Apr 2017 01:17:29 +0000 (18:17 -0700)]
tests: dash_mpd: add some inheritance tests

Tests regarding inheritance of segment template attributes

7 years agompdparser: Do sanity check of Segment Base Information only at Repesentation level
Seungha Yang [Wed, 12 Apr 2017 07:58:10 +0000 (16:58 +0900)]
mpdparser: Do sanity check of Segment Base Information only at Repesentation level

Spec 5.3.9.2 is saying about the existence of duration and SegmentTimeline
only for Representation level. Other level such as Period or AdaptationSet
might not have the attributes.

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

7 years agompdparser: Allow inherit Segment{Base,Template} from Period
Seungha Yang [Mon, 27 Mar 2017 01:06:30 +0000 (10:06 +0900)]
mpdparser: Allow inherit Segment{Base,Template} from Period

Similar to SegmentList, Representation can inherit Segment{Base,Template}
from Period

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

7 years agoadaptivedemux: Don't hold locks when pushing FLUSH_START
Edward Hervey [Fri, 14 Apr 2017 16:16:28 +0000 (18:16 +0200)]
adaptivedemux: Don't hold locks when pushing FLUSH_START

Some actions (Qos, reconfigure, ...) might take place before we finish pushing out flush_start.

One problem would be that:
1) The QOS handling in adaptivedemux takes the MANIFEST LOCK
  That QOS event comes from basesink with its PREROLL_LOCK taken
2) FLUSH_START is sent from adaptivedemux with the MANIFEST_LOCK taken and the basesink flushing handler needs to take the PREROLL_LOCK

 => deadlock

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

7 years agoadaptivedemux: Fix segment creation/adaptation some more
Edward Hervey [Thu, 13 Apr 2017 11:27:57 +0000 (13:27 +0200)]
adaptivedemux: Fix segment creation/adaptation some more

Take into account the segment stop and the negative rates

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

7 years agomotioncells: Fix cell string generation
Jan Schmidt [Thu, 13 Apr 2017 15:56:50 +0000 (01:56 +1000)]
motioncells: Fix cell string generation

Allow 1 extra char in the tmp buffer where the motion cell
snippets are generated, so that it doesn't leave off a comma
when dealing with cells that have 2 numerals in both indices

7 years agottml: build, but don't autoplug unless GST_TTML_AUTOPLUG env var is set
Tim-Philipp Müller [Thu, 13 Apr 2017 10:33:41 +0000 (11:33 +0100)]
ttml: build, but don't autoplug unless GST_TTML_AUTOPLUG env var is set

Don't hide build behind --enable-experimental. Our goal is to not
autoplug it for now, so let's just always build it if the dependencies
are there and hide autoplugging enablement behind an env var.

7 years agokmssink: if the plane can not scale, retry without scaling and remember
Philipp Zabel [Wed, 19 Oct 2016 12:56:06 +0000 (14:56 +0200)]
kmssink: if the plane can not scale, retry without scaling and remember

Retry the drmModeSetPlane call without scaling if the first try fails,
and remember not to scale anymore.

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

7 years agoRevert "dashdemux: Fix issue when manifest update sets slow start without passing...
Sebastian Dröge [Wed, 12 Apr 2017 17:09:33 +0000 (20:09 +0300)]
Revert "dashdemux: Fix issue when manifest update sets slow start without passing necessary header & caps changes downstream"

This reverts commit c9fbf3459a719b2c68ba69ddabd373ea9bf804a2.

The representation ID comparision here was wrong and triggering always
if the ID did *not* change, causing needless redownloading of the
header. The sample stream provided in the bug does not exist anymore.

7 years agodocs: Port all docstring to gtk-doc markdown
Thibault Saunier [Wed, 8 Mar 2017 18:01:13 +0000 (15:01 -0300)]
docs: Port all docstring to gtk-doc markdown

7 years agorawvideoparse: videoparse now uses GstValueArray and not GValueArray
Thibault Saunier [Mon, 27 Mar 2017 18:29:16 +0000 (15:29 -0300)]
rawvideoparse: videoparse now uses GstValueArray and not GValueArray

7 years agodocs: Stop linking to inexistant symbols
Thibault Saunier [Wed, 12 Apr 2017 12:35:16 +0000 (09:35 -0300)]
docs: Stop linking to inexistant symbols

7 years agoaggregator: Make instance var name match between .c and .h
Thibault Saunier [Wed, 12 Apr 2017 15:06:52 +0000 (12:06 -0300)]
aggregator: Make instance var name match  between .c and .h

Making GI happy

7 years agoRevert "directsoundsrc: Correctly calculate segsize and segtotal"
Sebastian Dröge [Wed, 12 Apr 2017 10:17:24 +0000 (13:17 +0300)]
Revert "directsoundsrc: Correctly calculate segsize and segtotal"

This reverts commit 6d256d9908e292f6c593bf45e69354f6b613cc8b.

It was configuring the period/buffer size in a way that often causes
drop-outs or complete underruns. Needs further investigation.

7 years agompdparser: Fix leak
Edward Hervey [Wed, 12 Apr 2017 08:54:23 +0000 (10:54 +0200)]
mpdparser: Fix leak

The error: location takes care of freeing new_representation

CID #1405027

7 years agompdparser: Run gst-indent
Edward Hervey [Wed, 12 Apr 2017 08:54:05 +0000 (10:54 +0200)]
mpdparser: Run gst-indent

7 years agomeson: add missing gstglrenderbuffer.h header
Claudio Saavedra [Tue, 11 Apr 2017 12:46:19 +0000 (15:46 +0300)]
meson: add missing gstglrenderbuffer.h header

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

7 years agomeson: decklink: fix meson configure error on macOS
Tim-Philipp Müller [Tue, 11 Apr 2017 08:42:49 +0000 (09:42 +0100)]
meson: decklink: fix meson configure error on macOS

"meson encountered an error in file
sys/decklink/meson.build, line 33, column 2:
Invalid use of addition: must be str, not list"

Also remove nonsensical linker flags on windows.

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

7 years agofaceoverlay: Port to GStreamer 1.x
Fabian Orccon [Fri, 30 Dec 2016 19:05:30 +0000 (14:05 -0500)]
faceoverlay: Port to GStreamer 1.x

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

7 years agofaceoverlay: Revert deletion
Fabian Orccon [Wed, 5 Apr 2017 21:03:08 +0000 (16:03 -0500)]
faceoverlay: Revert deletion

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

7 years agodashdemux/mpdparser: Fix wrong false sanity check for manifests with nested SegmentTe...
Jürgen Sachs [Fri, 3 Mar 2017 08:08:06 +0000 (09:08 +0100)]
dashdemux/mpdparser: Fix wrong false sanity check for manifests with nested SegmentTemplate nodes

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

7 years agoAutomatic update of common submodule
Tim-Philipp Müller [Mon, 10 Apr 2017 22:49:16 +0000 (23:49 +0100)]
Automatic update of common submodule

From 39ac2f5 to 60aeef6

7 years agodashdemux: Handle current SIDX before current position in normal mode like in keyunit...
Sebastian Dröge [Mon, 10 Apr 2017 15:46:01 +0000 (18:46 +0300)]
dashdemux: Handle current SIDX before current position in normal mode like in keyunit-only trick mode

Otherwise we'll get into an infinite loop here. Now this is still not
correct and will cause a clean error, but at least it won't hang forever
anymore.

7 years agomeson: gl: set default value of 0 for glconf vars
Scott D Phillips [Fri, 7 Apr 2017 19:19:27 +0000 (12:19 -0700)]
meson: gl: set default value of 0 for glconf vars

meson's configure_file emits only a comment like /* #undef ... */
for values which are unset in the configuration_data. For
gstglconfig.h, this differs from the autotools build where the
preprocessor definitions are always either 0 or 1. So loop over a
list of variables to set to zero as default.

Also sync up the gstglconfig.h.meson file with the additional
macros defined by the autotools build.

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

7 years agogstaggregator: fix event use after free
Vincent Penquerc'h [Fri, 7 Apr 2017 09:19:43 +0000 (10:19 +0100)]
gstaggregator: fix event use after free

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

7 years agomxfmux: fix index entry leak
Vincent Penquerc'h [Fri, 7 Apr 2017 09:39:31 +0000 (10:39 +0100)]
mxfmux: fix index entry leak

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

7 years agotests: fix leak in videoframe-audiolevel test
Vincent Penquerc'h [Fri, 7 Apr 2017 09:36:34 +0000 (10:36 +0100)]
tests: fix leak in videoframe-audiolevel test

also add braces for the else case

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

7 years agoglcontext: fix display leak
Vincent Penquerc'h [Fri, 7 Apr 2017 09:30:09 +0000 (10:30 +0100)]
glcontext: fix display leak

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

7 years agogldisplay: fix list leak
Vincent Penquerc'h [Fri, 7 Apr 2017 09:24:19 +0000 (10:24 +0100)]
gldisplay: fix list leak

Windows aren't always removed in time, and it turns out to be
very, very hard to remove a window in a way that's not racy and
not deadlocky. Since the window itself doesn't leak, freeing
the list on object destruction is enough.

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

7 years agompegts: fix invalid memory access in language descriptor
Vincent Penquerc'h [Fri, 7 Apr 2017 09:43:51 +0000 (10:43 +0100)]
mpegts: fix invalid memory access in language descriptor

Also add a couple sanity asserts/returns

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

7 years agompdparser: Report error if Representation is invalid
Seungha Yang [Mon, 27 Mar 2017 00:56:32 +0000 (09:56 +0900)]
mpdparser: Report error if Representation is invalid

Spec "5.3.5 Representation" is saying that
id and bandwidth attributes are mandatory fields.

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

7 years agoadaptivedemux: Retry downloading a fragment immediately if any in live streaming
Seungha Yang [Fri, 24 Mar 2017 06:04:21 +0000 (15:04 +0900)]
adaptivedemux: Retry downloading a fragment immediately if any in live streaming

At the moment that demux is waiting manifest update, the target sequence
of fragment was advanced already. So, checking stream_has_next_fragment()
means looking for the next fragment of target fragment.
This might cause unexpected buffering if each fragment has
large duration and manifest is listing only limited number of fragments.

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

7 years agodashdemux: Fix SEEK of multi-period On-Demand profile
Seungha Yang [Thu, 23 Mar 2017 23:16:35 +0000 (08:16 +0900)]
dashdemux: Fix SEEK of multi-period On-Demand profile

For each period, media presentation is the relative to the
period-start time. So SIDX seek position should be target seek
position minus period-start. Also, if presentationTimeOffset
is defined, the value should be compensated

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

7 years agottmlparse: push segment events downstream
Chris Bass [Tue, 4 Apr 2017 10:47:55 +0000 (11:47 +0100)]
ttmlparse: push segment events downstream

Without this, subtitles will stop after seeking.

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

7 years agottmlparse: don't filter out untimed whitespace
Chris Bass [Fri, 7 Apr 2017 09:16:46 +0000 (10:16 +0100)]
ttmlparse: don't filter out untimed whitespace

Significant whitespace in elements that don't have begin/end values
should inherit timing from its parent, or if no its parents have no
timing, from the document's Root Temporal Extent. Currently, such
whitespace is removed, which is not spec-compliant. Fix this by
retaining whitespace in content nodes, and assigning a Root Temporal
Extent of 24 hours to any significant whitespace whose parents have no
associated timing.

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

7 years agottmlparse: don't leak caps.
Chris Bass [Wed, 22 Mar 2017 10:41:44 +0000 (10:41 +0000)]
ttmlparse: don't leak caps.

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

7 years agottmlrender: improve function comments/descriptions
Chris Bass [Wed, 22 Mar 2017 10:35:38 +0000 (10:35 +0000)]
ttmlrender: improve function comments/descriptions

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

7 years agottmlrender: relocate type definitions to head of file
Chris Bass [Wed, 22 Mar 2017 10:30:47 +0000 (10:30 +0000)]
ttmlrender: relocate type definitions to head of file

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

7 years agottml: correctly implement lineHeight behaviour
Chris Bass [Wed, 22 Mar 2017 10:21:28 +0000 (10:21 +0000)]
ttml: correctly implement lineHeight behaviour

The specified behaviour in TTML when lineHeight is "normal" is different
from the behaviour when a percentage is given. In the former case, the
line height is a percentage (the TTML spec recommends 125%) of the largest
font size that is applied to the spans within the block; in the latter
case, the line height is the given percentage of the font size that is
applied to the block itself.

The code doesn't correctly implement this behaviour; this patch fixes
that.

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

7 years agottmlrender: apply correct line height to blocks with multiple text sizes
Chris Bass [Wed, 22 Mar 2017 09:21:09 +0000 (09:21 +0000)]
ttmlrender: apply correct line height to blocks with multiple text sizes

In TTML, the height of every line in a block is determined by lineHeight
and fontSize style attributes, and should be the same for each line in
that block, regardless of whether different sized text appears on
different lines. Currently, a single PangoLayout is used to lay out all
the text in a block; however, pango will vary the line height in a
layout depending on the size of text used in each line, which is not
compliant with TTML.

This patch makes ttmlrender lay out the lines in a block itself, rather
than using a PangoLayout to do the work. The code still uses a
PangoLayout to render the text of each element, but the overall layout
of the text in a block is now controlled by ttmlrender itself. By doing
this, ttmlrender is able to ensure that the height of each line in a
block is correct.

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

7 years agottmlrender: add facility to stitch images in both directions
Chris Bass [Tue, 21 Mar 2017 15:05:18 +0000 (15:05 +0000)]
ttmlrender: add facility to stitch images in both directions

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

7 years agottmlrender: extend UnifiedElement type to include font metrics
Chris Bass [Tue, 21 Mar 2017 14:39:39 +0000 (14:39 +0000)]
ttmlrender: extend UnifiedElement type to include font metrics

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