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
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
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
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
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
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
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
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
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.
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
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.
Thibault Saunier [Wed, 8 Mar 2017 18:01:13 +0000 (15:01 -0300)]
docs: Port all docstring to gtk-doc markdown
Thibault Saunier [Mon, 27 Mar 2017 18:29:16 +0000 (15:29 -0300)]
rawvideoparse: videoparse now uses GstValueArray and not GValueArray
Thibault Saunier [Wed, 12 Apr 2017 12:35:16 +0000 (09:35 -0300)]
docs: Stop linking to inexistant symbols
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
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.
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
Edward Hervey [Wed, 12 Apr 2017 08:54:05 +0000 (10:54 +0200)]
mpdparser: Run gst-indent
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
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
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
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
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
Tim-Philipp Müller [Mon, 10 Apr 2017 22:49:16 +0000 (23:49 +0100)]
Automatic update of common submodule
From 39ac2f5 to 60aeef6
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Chris Bass [Tue, 21 Mar 2017 14:11:42 +0000 (14:11 +0000)]
ttmlrender: extend UnifiedBlock type
Include a reference to the GstSubtitleStyleSet of the represented block
and a string containing the concatenated text from all elements.
https://bugzilla.gnome.org/show_bug.cgi?id=780402
Chris Bass [Tue, 21 Mar 2017 13:50:12 +0000 (13:50 +0000)]
ttml: add refcounting to GstSubtitleStlyeSet type
https://bugzilla.gnome.org/show_bug.cgi?id=780402
Chris Bass [Tue, 21 Mar 2017 12:15:50 +0000 (12:15 +0000)]
ttmlrender: rename TextRange type and its fields.
https://bugzilla.gnome.org/show_bug.cgi?id=780402
Chris Bass [Tue, 21 Mar 2017 12:12:28 +0000 (12:12 +0000)]
ttmlrender: store PangoLayout in object state
https://bugzilla.gnome.org/show_bug.cgi?id=780402
Chris Bass [Tue, 21 Mar 2017 11:28:31 +0000 (11:28 +0000)]
ttmlrender: put all functions in gst_ttml_render namespace
https://bugzilla.gnome.org/show_bug.cgi?id=780402
Jan Schmidt [Sat, 8 Apr 2017 11:28:58 +0000 (21:28 +1000)]
gl: Remove duplicate typedef of GstGLFramebufferClass
The GstGLFramebufferClass struct is typedeffed in
gstgl_fwd.h, and having a duplicate elsewhere is
breaking the cerbero build on my OSX machine,
even though it seems to be working in CI.
Tim-Philipp Müller [Sat, 8 Apr 2017 09:08:04 +0000 (10:08 +0100)]
tests: dash: don't use deprecated g_object_newv()
Mathieu Duponchelle [Fri, 7 Apr 2017 16:49:52 +0000 (18:49 +0200)]
videoaggregator: Do not mix the same buffer twice when EOS.
When entering this code path, we know that:
We received EOS on this pad.
We consumed all its buffers.
In any case, we want to replace vaggpad->buffer with NULL,
otherwise we will end up mixing the same buffer twice.
https://bugzilla.gnome.org/show_bug.cgi?id=781037
Sebastian Dröge [Fri, 7 Apr 2017 13:32:24 +0000 (16:32 +0300)]
Release 1.11.90
Sebastian Dröge [Fri, 7 Apr 2017 12:31:12 +0000 (15:31 +0300)]
Update .po files
Sebastian Dröge [Fri, 7 Apr 2017 12:06:50 +0000 (15:06 +0300)]
po: Update translations
Sebastian Dröge [Fri, 7 Apr 2017 11:44:54 +0000 (14:44 +0300)]
win32: Update libgsturidownloader.def
Matthew Waters [Fri, 7 Apr 2017 06:32:40 +0000 (16:32 +1000)]
adaptivedemux: add some reasons on warning reporting
Sebastian Dröge [Thu, 6 Apr 2017 13:13:41 +0000 (16:13 +0300)]
directsoundsrc: Correctly calculate segsize and segtotal
segsize should be based on latency-time, and must be a multiple of the
frame size. segtotal should be based on buffer-time and segsize.
This prevents errors caused by outputting buffers that are not a
multiple of the frame size, and actually makes the buffer-time and
latency-time properties do what they're supposed to do.
Sebastian Dröge [Fri, 17 Mar 2017 10:58:06 +0000 (12:58 +0200)]
uridownloader: Use a GWeakRef to the parent to prevent a reference cycle
https://bugzilla.gnome.org/show_bug.cgi?id=780140
Thiago Santos [Wed, 9 Dec 2015 16:19:11 +0000 (13:19 -0300)]
adaptivedemux: set uridownloader's parent
Allows internal http source to request contexts and share cookies
with the pipeline in case the server imposes any restriction based
on cookies.
Thiago Santos [Wed, 9 Dec 2015 16:12:42 +0000 (13:12 -0300)]
uridownloader: add new gst_uri_downloader_set_parent
If set, the parent is used to proxy need-context messages from
uridownloader's http source in order to get cookies/headers
from the pipeline.
Based on a patch from Philippe Normand
https://bugzilla.gnome.org/show_bug.cgi?id=726314
Josep Torra [Sat, 1 Apr 2017 15:00:47 +0000 (17:00 +0200)]
examples: add audiomixmatrix test to .gitignore
Josep Torra [Sat, 1 Apr 2017 14:49:15 +0000 (16:49 +0200)]
glwindow/cocoa: fix warnings reported by XCode 8.1.0
gstglwindow_cocoa.m:345:16: error: unused variable 'window' [-Werror,-Wunused-variable]
GstGLWindow *window = GST_GL_WINDOW (window_cocoa);
^
gstglwindow_cocoa.m:445:11: error: unused variable 'external_view' [-Werror,-Wunused-variable]
NSView *external_view = (__bridge NSView *)priv->external_view;
^
Douglas Bagnall [Fri, 31 Mar 2017 10:40:05 +0000 (23:40 +1300)]
audiointerleave: don't overflow channel map with >64 channels
When there are more than 64 channels, we don't want to exceed the
bounds of the ordering_map buffer, and in these cases we don't want to
remap at all. Here we avoid doing that.
Based on a patch originally for plugins-good/interleave in
https://bugzilla.gnome.org/show_bug.cgi?id=780331
Nicolas Dufresne [Thu, 30 Mar 2017 03:45:21 +0000 (23:45 -0400)]
gldisplay: Fix assert caused by missing debug category
Nicolas Dufresne [Thu, 30 Mar 2017 03:36:50 +0000 (23:36 -0400)]
meson: Fix mplex plugin file name
Meson was creating libgstmplex2.so which didn't match the plugin name
'mplex'.
George Kiagiadakis [Mon, 27 Mar 2017 15:14:54 +0000 (18:14 +0300)]
webrtcechoprobe: return from _read() early if the probe is not configured yet
https://bugzilla.gnome.org/show_bug.cgi?id=780642
Luis de Bethencourt [Tue, 28 Mar 2017 15:04:15 +0000 (16:04 +0100)]
dashdemux: fix typo in implementation notes
s/enveloppe/envelope
Nicolas Dufresne [Tue, 28 Mar 2017 01:15:32 +0000 (21:15 -0400)]
webrtcdsp: Add support to build with meson
Mathieu Duponchelle [Thu, 23 Feb 2017 15:12:38 +0000 (16:12 +0100)]
webrtcdsp: expose voice activity detection.
The element now exposes properties to enable and configure
voice activity detection, and posts "voice-activity" messages
when the return value of stream_has_voice () changes.
https://bugzilla.gnome.org/show_bug.cgi?id=779138
Nicolas Dufresne [Mon, 27 Mar 2017 19:10:45 +0000 (15:10 -0400)]
audiomixmatrix: Don't crash if matrix is unset
Fix a crash ff one set in_channels/out_channels to non-zero, and then
get the matrix property.
Nicolas Dufresne [Mon, 27 Mar 2017 17:34:19 +0000 (13:34 -0400)]
audiomixmatrix: Remove property matrix-value-array
This duplicated property is no longer needed as there is now API to
allow bindings access GST_TYPE_ARRAY (see gst_util_get/set/object_array).
Additionnally, Python has proper overrides which will make this looks
like Python. A 2x2 matrix would be set this way:
element = matrix = Gst.ValueArray(Gst.ValueArray([1.0, -1.0]),
Gst.ValueArray([1.0, -1.0))
Notice that you need to "cast" each arrays to Gst.ValueArray, otherwise
there is an ambiguity between Gst.ValueArray and Gst.ValueList list type.
Fortunatly, Gst.ValueArray implements the Sequence interface, so it can
be indexed like normal python matrix.
Matthew Waters [Wed, 1 Mar 2017 09:51:43 +0000 (20:51 +1100)]
mssdemux: only add live fragments after manifest fragments
A live manifest may have a set (> LookAheadFragmentCount) of fragments
that have already been served and are stored on the server, maybe
indefinitely. Adding the parsed live fragments after the manifest
fragments breaks duration reporting and the seekable range.
Fix by only adding parsed fragments outside the list of fragments which
assumes that the fragment list in the manifest is accurate enough to not
stray too far off what's in the retrieved data.
https://bugzilla.gnome.org/show_bug.cgi?id=779447
Nicolas Dufresne [Fri, 24 Mar 2017 19:43:07 +0000 (15:43 -0400)]
Add missing include path for gst/glib-compat-prive.h
This fixes build failure in mplex and mpeg2enc plugins and most likely
in kate plugin (untested).
Sebastian Dröge [Fri, 24 Mar 2017 12:25:48 +0000 (14:25 +0200)]
decklink: Use GstQueueArray instead of GQueue
Let's save two allocations and frees per frame.
Nirbheek Chauhan [Wed, 22 Mar 2017 21:18:10 +0000 (02:48 +0530)]
meson: Build mpeg2enc and mplex when available
Sebastian Dröge [Wed, 22 Mar 2017 15:38:20 +0000 (17:38 +0200)]
kmssink: Fix compiler warning with gcc 7
gstkmssink.c: In function ‘gst_kms_sink_get_input_buffer’:
gstkmssink.c:1102:29: error: ‘mems[0]’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
kmsmem = (GstKMSMemory *) get_cached_kmsmem (mems[0]);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
Jan Schmidt [Wed, 22 Mar 2017 13:49:43 +0000 (00:49 +1100)]
adaptivedemux: Don't send EOS on pads when there's a pending switch
When there are new pads pending for a bitrate switch, don't allow
EOS through from the old streams. It will be sent when the new pads are
ready, just before the old streams are removed.
This fixes racy bitrate switching with hlsdemux in urisourcebin
where old pads EOS before new pads appear and the entire pipeline can
EOS if those propagate fast enough
Seungha Yang [Wed, 22 Mar 2017 11:10:57 +0000 (20:10 +0900)]
player: Make use of GstStreams API with playbin3
Allow use of playbin3 and GstStreams API by setting
the environment variable "GST_PLAYER_USE_PLAYBIN3"
https://bugzilla.gnome.org/show_bug.cgi?id=775487
Georg Lippitsch [Tue, 21 Mar 2017 17:16:52 +0000 (18:16 +0100)]
decklinkvideosrc: Add read-only "signal" property
https://bugzilla.gnome.org/show_bug.cgi?id=780367
Sebastian Dröge [Wed, 22 Mar 2017 11:22:40 +0000 (13:22 +0200)]
audiobuffersplit: Install srcpad query function on the srcpad, not the sinkpad
Sebastian Dröge [Wed, 22 Mar 2017 10:04:35 +0000 (12:04 +0200)]
dashdemux: In reverse playback mode, if seeking to the beginning of a fragment, start with the previous one instead
There's no point to start downloading a fragment just to output 1ns.
Sebastian Dröge [Tue, 21 Mar 2017 18:37:17 +0000 (20:37 +0200)]
dashdemux: Implement SNAP_NEAREST seeks
Sebastian Dröge [Tue, 21 Mar 2017 18:36:02 +0000 (20:36 +0200)]
dashdemux: Don't use ABS() for calculating differences
We know which number is bigger.
Sebastian Dröge [Tue, 21 Mar 2017 18:27:10 +0000 (20:27 +0200)]
dashdemux: Only snap seeks forwards if the seek position does not happen to be the exact segment position
Sebastian Dröge [Tue, 21 Mar 2017 18:14:53 +0000 (20:14 +0200)]
dashdemux: Use gst_mpdparser_get_segment_end_time() directly instead of calculating it again
It does the exact same calculations.
Sebastian Dröge [Mon, 6 Mar 2017 17:44:02 +0000 (19:44 +0200)]
mpdparser: Refactor to get rid of one level of indentation in seeking code
Also go out of the segment searching loop once segment->start > ts.
We're not going to find any earlier segment anymore.
Sebastian Dröge [Tue, 21 Mar 2017 14:18:15 +0000 (16:18 +0200)]
dashdemux: Fix snap SIDX seeking and report if we're going outside the index
Instead of just going to the first or last fragment, report if we're
going outside the index. This should never happen unless there's a bug
or the stream is broken.
Allow some possibility for inaccuracies here though.
Reynaldo H. Verdejo Pinochet [Tue, 21 Mar 2017 17:20:49 +0000 (10:20 -0700)]
dvb: camutils: drop macro disabling glib deprecation warnings
No longer needed.
Scott D Phillips [Mon, 20 Mar 2017 22:19:08 +0000 (15:19 -0700)]
build: declare dependency from gl on allocators
libgstgl has a dependency on libgstallocators starting with:
ed1e4c1 glupload: Add support for Vivante DirectTexture uploads
The dependency wasn't stated in the Makefile, so the build could
occasionally fail if you got unlucky with the ordering of build
steps.
https://bugzilla.gnome.org/show_bug.cgi?id=780330
Tim-Philipp Müller [Mon, 20 Mar 2017 19:57:32 +0000 (19:57 +0000)]
dvb: fix distcheck
Apparently automake automatically dists README files,
but can't handle when they disappear.
Tim-Philipp Müller [Mon, 20 Mar 2017 17:15:54 +0000 (17:15 +0000)]
Update for 'mad' mp3 decoder removal
https://bugzilla.gnome.org/show_bug.cgi?id=776140
Seungha Yang [Fri, 17 Mar 2017 06:34:33 +0000 (15:34 +0900)]
m3u8: Fix parsing EXT-X-DISCONTINUITY
EXT-X-DISCONTINUITY tag should have no trailing ":" character
https://bugzilla.gnome.org/show_bug.cgi?id=780179
Seungha Yang [Fri, 17 Mar 2017 07:47:07 +0000 (16:47 +0900)]
m3u8: Release m3u8 lock if consistent checking failed
To fix deadlock during live m3u8 update
https://bugzilla.gnome.org/show_bug.cgi?id=780180
Sebastian Dröge [Thu, 16 Mar 2017 10:35:40 +0000 (12:35 +0200)]
dashdemux: Just reset SIDX parser if the index is invalid for the current segment
https://bugzilla.gnome.org/show_bug.cgi?id=780108
Chris Bass [Fri, 23 Dec 2016 11:07:00 +0000 (11:07 +0000)]
ttml: Replace assertions
Remove assertions and replace, where necessary, with code that handles
the error cases.
https://bugzilla.gnome.org/show_bug.cgi?id=776436
Sebastian Dröge [Wed, 15 Mar 2017 11:24:57 +0000 (13:24 +0200)]
dashdemux: If a SIDX seek failed although we're in the correct segment, disable the SIDX usage for this segment
The SIDX apparently does not contain information about the current
segment, so better stop using it instead of using incorrect values.
Sebastian Dröge [Wed, 15 Mar 2017 11:24:04 +0000 (13:24 +0200)]
dashdemux: Keep track of the PTS, not the SIDX index position between representations
There is no guarantee that the index positions are the same between
representations, and assuming this easily causes us to get into invalid
index positions.
Sebastian Dröge [Wed, 15 Mar 2017 11:21:38 +0000 (13:21 +0200)]
dashdemux: When clearing the sidx parser, reset all state
And especially don't keep entry count and index around, we have no
entries anymore after clearing.
Seungha Yang [Wed, 15 Mar 2017 01:17:59 +0000 (10:17 +0900)]
dashdemux: Drain buffer at the end of subfragment
Some of streams such as below have tailing boxes at the end of subfragment.
http://dash.akamaized.net/dash264/TestCases/1a/netflix/exMPD_BIP_TC1.mpd
https://bugzilla.gnome.org/show_bug.cgi?id=776200