platform/upstream/gstreamer.git
9 years agodashdemux: default timescale is 1
Florin Apostol [Wed, 15 Jul 2015 12:02:54 +0000 (13:02 +0100)]
dashdemux: default timescale is 1

default timescale value should be 1, not 0.

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

9 years agodashdemux: free prop_string only after it's no longer needed
Florin Apostol [Wed, 15 Jul 2015 12:41:37 +0000 (13:41 +0100)]
dashdemux: free prop_string only after it's no longer needed

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

9 years agoUpdate mailing list address from sourceforge to freedesktop
Tim-Philipp Müller [Thu, 16 Jul 2015 16:21:51 +0000 (17:21 +0100)]
Update mailing list address from sourceforge to freedesktop

9 years agogtkgstwidget: Add missing break in get_property
Nicolas Dufresne [Wed, 15 Jul 2015 15:47:51 +0000 (11:47 -0400)]
gtkgstwidget: Add missing break in get_property

9 years agogtksinks: Remove undefined private structure
Nicolas Dufresne [Wed, 15 Jul 2015 15:44:30 +0000 (11:44 -0400)]
gtksinks: Remove undefined private structure

The classes contains a private structure which are not defined,
hence unused.

9 years agoglupload: memcpy on raw data upload
Matthew Waters [Tue, 14 Jul 2015 07:40:32 +0000 (17:40 +1000)]
glupload: memcpy on raw data upload

Anything else requires keeping track of the GstVideoFrame mapping
across possible multiple buffers to ensure correct data pointer
usage.

9 years agoglbasebuffer: add some debug and zero the data pointers on init
Matthew Waters [Tue, 14 Jul 2015 07:39:59 +0000 (17:39 +1000)]
glbasebuffer: add some debug and zero the data pointers on init

9 years agompegtsmux: don't wait for data on sparse inputs like metadata or subtitle streams
Tim-Philipp Müller [Fri, 10 Jul 2015 00:00:15 +0000 (01:00 +0100)]
mpegtsmux: don't wait for data on sparse inputs like metadata or subtitle streams

9 years agompegtsmux: add basic support for asynchronous KLV metadata streams
Tim-Philipp Müller [Sun, 9 Nov 2014 19:16:29 +0000 (19:16 +0000)]
mpegtsmux: add basic support for asynchronous KLV metadata streams

This is defined in SMPTE Rp 217. In this case the
metadata PES packets carry no timestamps of their
own and no Metadata Access Unit Wrappers are used.

9 years agovtdec: handle non-consecutive GstBuffer input without copying
Ilya Konstantinov [Sun, 28 Jun 2015 23:42:06 +0000 (02:42 +0300)]
vtdec: handle non-consecutive GstBuffer input without copying

CMBlockBuffer offers a model similar to GstBuffer, as it can
consist of multiple non-consecutive memory blocks.

Prior to this change, what we were doing was:

 1) Incorrect:

   CMBlockBufferCreateWithMemoryBlock does not copy the data,
   but we gst_buffer_unmap'd right away.

 2) Inefficient:

   If the GstBuffer consisted of non-contiguous memory blocks,
   gst_buffer_map resulted in malloc / memcpy.

With this change, we construct a CMBlockBuffer out of individual mapped
GstMemory objects. CMBlockBuffer is made to retain the GstMemory
objects (through the use of CMBlockBufferCustomBlockSource), so the
original GstBuffer can be unref'd.

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

9 years agoapplemedia/avsample: fix unconditional use of OSX 10.10 API
Matthew Waters [Mon, 13 Jul 2015 13:22:00 +0000 (23:22 +1000)]
applemedia/avsample: fix unconditional use of OSX 10.10 API

We can just not use the error/status properties

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

9 years agoconfigure: try harder to find the right Qt5 build tools
Tim-Philipp Müller [Fri, 10 Jul 2015 18:05:41 +0000 (19:05 +0100)]
configure: try harder to find the right Qt5 build tools

First check for Qt build tools in the host_bins directory
from the Qt5Core pkg-config file. This fixes the situation
where both Qt4 and Qt5 are installed but the global moc/uic/etc.
are the Qt4 version, which would result in build failures.

9 years agoconfigure/qt: Fix build without Qt5X11Extras
Edward Hervey [Fri, 10 Jul 2015 12:01:43 +0000 (14:01 +0200)]
configure/qt: Fix build without Qt5X11Extras

9 years agompdparse: g_slice_new() can't return NULL
Sebastian Dröge [Fri, 10 Jul 2015 10:26:51 +0000 (13:26 +0300)]
mpdparse: g_slice_new() can't return NULL

It will abort() if allocation fails.

9 years agompdparser: Don't allow network access when reading the XML data
Sebastian Dröge [Fri, 10 Jul 2015 10:19:40 +0000 (13:19 +0300)]
mpdparser: Don't allow network access when reading the XML data

9 years agoqt: don't error out if Qt X11 could not be found
Matthew Waters [Fri, 10 Jul 2015 09:22:08 +0000 (19:22 +1000)]
qt: don't error out if Qt X11 could not be found

PCK_CHECK_MODULES default error-if-not-found implementation errors
so override it with a simple notice that we couldn't find the library.

9 years agonew qt5 qml GL video sink
Matthew Waters [Mon, 6 Jul 2015 13:10:51 +0000 (23:10 +1000)]
new qt5 qml GL video sink

Very much in the same spirit as the Gtk GL sink

Two things are provided
1. A QQuickItem subclass that renders out RGBA filled GstGLMemory
   buffers that is instantiated from qml.
2. A sink element that will push buffers into (1)

To use
1. Declare the GstGLVideoItem in qml with an appropriate
   objectName property set.
2. Get the aforementioned GstGLVideoItem from qml using something like

QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));

QObject *rootObject = engine.rootObjects().first();
QQuickItem *videoItem = rootObject->findChild<QQuickItem *> ("videoItem");

3. Set the videoItem on the sink

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

9 years agobluez: Fix make dist while bluez >= 5 is not available
Rico Tzschichholz [Wed, 8 Jul 2015 15:17:18 +0000 (17:17 +0200)]
bluez: Fix make dist while bluez >= 5 is not available

9 years agompegtsbase: Fix previous commit
Edward Hervey [Thu, 9 Jul 2015 16:31:34 +0000 (18:31 +0200)]
mpegtsbase: Fix previous commit

We only want to do a hard reset of the observations if we're working
with TIME segments in push mode. For BYTE segment we want to keep
the observations (in order to do seeks in push-mode).

9 years agompegtsbase: Flush more on DISCONT buffers in push mode
Edward Hervey [Thu, 9 Jul 2015 14:59:16 +0000 (16:59 +0200)]
mpegtsbase: Flush more on DISCONT buffers in push mode

When in push mode, we want to discard all previous observations from the
mpegtspacketizer when we get a DISCONT buffer.

This avoids trying to calculate bogus timestamps (estimating them using old
PCR observations).

We only do a hard reset in push-mode. In pull-mode we still need the observations
(in order to seek properly)

9 years agogitignore: Add new generated files
Edward Hervey [Thu, 9 Jul 2015 09:07:29 +0000 (11:07 +0200)]
gitignore: Add new generated files

9 years agobluez: Include new file in dist'ed files
Edward Hervey [Thu, 9 Jul 2015 09:05:10 +0000 (11:05 +0200)]
bluez: Include new file in dist'ed files

Fixes make distcheck and tarball generation

9 years agogtk: add to the generic/states test
Matthew Waters [Thu, 9 Jul 2015 03:03:23 +0000 (13:03 +1000)]
gtk: add to the generic/states test

9 years agoGstGtkGLSink: Ensure widget has a toplevel parent
Xavier Claessens [Wed, 17 Jun 2015 13:36:57 +0000 (09:36 -0400)]
GstGtkGLSink: Ensure widget has a toplevel parent

Checking for a parent is not enough, it must have a toplevel one.
If widget has no toplevel parent then add it in a GtkWindow, that
make it usable from gst-launch-1.0.

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

9 years agoGstGtkGLSink: Post error if widget gets destroyed
Xavier Claessens [Wed, 17 Jun 2015 13:36:40 +0000 (09:36 -0400)]
GstGtkGLSink: Post error if widget gets destroyed

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

9 years agoGstGtkGLSink: fix possible warning in finalize
Xavier Claessens [Tue, 16 Jun 2015 20:21:26 +0000 (16:21 -0400)]
GstGtkGLSink: fix possible warning in finalize

If the element is finalized before going in READY state
the widget could still be NULL.

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

9 years agompdparser: Fix some memory leaks in the MPD parser and unit test
Sebastian Dröge [Wed, 8 Jul 2015 20:14:13 +0000 (23:14 +0300)]
mpdparser: Fix some memory leaks in the MPD parser and unit test

9 years agodashdemux: tests: added unit tests to test all functions
Florin Apostol [Tue, 7 Jul 2015 15:59:52 +0000 (16:59 +0100)]
dashdemux: tests: added unit tests to test all functions

Added unit tests for all functions. Code coverage:
Overall coverage rate:
  lines......: 83.8% (1941 of 2316 lines)
  functions..: 100.0% (141 of 141 functions)

9 years agopngparse: fix a GstCaps object leak
Roman Donchenko [Wed, 8 Jul 2015 14:08:56 +0000 (17:08 +0300)]
pngparse: fix a GstCaps object leak

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

9 years agotsdemux: remove unnecessary check
Tim-Philipp Müller [Thu, 26 Mar 2015 11:34:10 +0000 (11:34 +0000)]
tsdemux: remove unnecessary check

This is not public API, use g_assert() instead of
g_return_if_fail(), so that it's compiled out in
releases. It's only called from our code, with &foo.

9 years agotsdemux: add support for KLV metadata streams
Tim-Philipp Müller [Mon, 30 Jun 2014 12:20:12 +0000 (13:20 +0100)]
tsdemux: add support for KLV metadata streams

There's no timestamps for these streams though, we
might want to make some up based on the last/next
video PTS or so.

9 years agoRevert "Revert "dashdemux: fixed gst_mpd_client_advance_segment to return GST_FLOW_EOS""
Sebastian Dröge [Wed, 8 Jul 2015 13:31:48 +0000 (16:31 +0300)]
Revert "Revert "dashdemux: fixed gst_mpd_client_advance_segment to return GST_FLOW_EOS""

This reverts commit 4875ddf5855a26f349df7b385b68eb692e314bfa.

This was based on a misunderstanding of the code.

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

9 years agogl/eagl: Don't call anything synchronously from the main thread
Sebastian Dröge [Mon, 6 Jul 2015 10:28:05 +0000 (13:28 +0300)]
gl/eagl: Don't call anything synchronously from the main thread

This will deadlock if the main thread is the one who creates the GstGLContext.
All things we call from the main thread should be possible from any thread.

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

9 years agobluez: remove unnecessary goto
Luis de Bethencourt [Wed, 8 Jul 2015 11:16:35 +0000 (12:16 +0100)]
bluez: remove unnecessary goto

All goto fail happen before ret is set. ret must be NULL, and the only
thing the fail statement block does is return NULL. Replacing the jumps to
do this return directly.

CID #1311329

9 years agodashdemux: remove redundant else statement
Luis de Bethencourt [Wed, 8 Jul 2015 10:32:58 +0000 (11:32 +0100)]
dashdemux: remove redundant else statement

Else statement is redundant when the if block finishes with an return.

9 years agoandroidmedia: Add support for H265/HEVC
Sebastian Dröge [Wed, 8 Jul 2015 08:42:48 +0000 (11:42 +0300)]
androidmedia: Add support for H265/HEVC

9 years agovtdec: fix refcount error in error handling
Ilya Konstantinov [Mon, 29 Jun 2015 09:40:55 +0000 (12:40 +0300)]
vtdec: fix refcount error in error handling

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

9 years agoadaptivedemux: Explicitly check for CUSTOM_ERROR when converting errors to EOS
Sebastian Dröge [Tue, 7 Jul 2015 16:48:23 +0000 (19:48 +0300)]
adaptivedemux: Explicitly check for CUSTOM_ERROR when converting errors to EOS

We use things like CUSTOM_SUCCESS* in other places, and those are not errors
but should just be handled like OK.

9 years agoRevert "dashdemux: fixed gst_mpd_client_advance_segment to return GST_FLOW_EOS"
Sebastian Dröge [Tue, 7 Jul 2015 16:26:00 +0000 (19:26 +0300)]
Revert "dashdemux: fixed gst_mpd_client_advance_segment to return GST_FLOW_EOS"

This reverts commit dfe37ffc59fdf5f4075696976d98ec8d6db73138.

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

9 years agompdparser: Fix off-by-one in has-next-segment calculation
Sebastian Dröge [Tue, 7 Jul 2015 16:25:28 +0000 (19:25 +0300)]
mpdparser: Fix off-by-one in has-next-segment calculation

9 years agoadaptivedemux: If downloading the last fragment fails, consider this as EOS and not...
Sebastian Dröge [Tue, 7 Jul 2015 15:37:24 +0000 (18:37 +0300)]
adaptivedemux: If downloading the last fragment fails, consider this as EOS and not ERROR

Sometimes the last fragment does not exist because of rounding errors with the
durations. Just finish the stream gracefully instead of erroring out instead.

9 years agodownload: only start a download transfer for sysmem caps features
Matthew Waters [Tue, 7 Jul 2015 12:35:47 +0000 (22:35 +1000)]
download: only start a download transfer for sysmem caps features

9 years agodashdemux: tests: added indentation in xml strings to improve readability
Florin Apostol [Mon, 6 Jul 2015 11:08:52 +0000 (12:08 +0100)]
dashdemux: tests: added indentation in xml strings to improve readability

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

9 years agodashdemux: added parsing of bitstreamSwitching@AdaptationSet
Florin Apostol [Fri, 3 Jul 2015 15:17:58 +0000 (16:17 +0100)]
dashdemux: added parsing of bitstreamSwitching@AdaptationSet

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

9 years agodashdemux: regrouped functions in gstmpdparser.h file
Florin Apostol [Fri, 3 Jul 2015 14:31:35 +0000 (15:31 +0100)]
dashdemux: regrouped functions in gstmpdparser.h file

Moved gst_mpd_client_get_next_segment_availability_end_time and
gst_mpd_client_add_time_difference functions to be grouped with
functions from the same category.

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

9 years agodashdemux: tests: corrected code layout
Florin Apostol [Mon, 6 Jul 2015 13:21:17 +0000 (14:21 +0100)]
dashdemux: tests: corrected code layout

deleted the empty line between gst_mpd_parse call and its check so that
the assert is next to the function it is testing

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

9 years agompegvideometa: add meta transform function
Hyunjun Ko [Tue, 7 Jul 2015 01:56:47 +0000 (10:56 +0900)]
mpegvideometa: add meta transform function

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

9 years agoglsyncmeta: transform func: return FALSE if not supported or failed
Hyunjun Ko [Tue, 7 Jul 2015 01:57:26 +0000 (10:57 +0900)]
glsyncmeta: transform func: return FALSE if not supported or failed

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

9 years agodashdemux: fixed gst_mpd_client_advance_segment to return GST_FLOW_EOS
Florin Apostol [Mon, 6 Jul 2015 13:14:12 +0000 (14:14 +0100)]
dashdemux: fixed gst_mpd_client_advance_segment to return GST_FLOW_EOS

Fixed gst_mpd_client_advance_segment to return GST_FLOW_EOS if the
new index is out of range.

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

9 years agoandroid: add missing egl.h include
Matthew Waters [Tue, 7 Jul 2015 06:39:09 +0000 (16:39 +1000)]
android: add missing egl.h include

9 years agogltransformation: correct vao usage
Matthew Waters [Tue, 7 Jul 2015 05:30:17 +0000 (15:30 +1000)]
gltransformation: correct vao usage

keep the vao bound after uploading the new vertex data

fixes a mesa GL error "no vertex array object bound" on caps changes

9 years agogl: consolidate egl header includes to egl-only headers
Matthew Waters [Tue, 16 Jun 2015 07:49:34 +0000 (07:49 +0000)]
gl: consolidate egl header includes to egl-only headers

They may conflict with other headers.

9 years agogtkglsink: Release the widget lock when trying to get the GL context
Thibault Saunier [Mon, 6 Jul 2015 17:33:35 +0000 (19:33 +0200)]
gtkglsink: Release the widget lock when trying to get the GL context

Otherwise we might be waiting for the lock on the main loop (for
example in the ->render vmethod) and thus we will deadlock.

9 years agovideoaggregator: Remove pixel-aspect-ratio field from the caps returned by getcaps
Thibault Saunier [Mon, 6 Jul 2015 16:51:07 +0000 (18:51 +0200)]
videoaggregator: Remove pixel-aspect-ratio field from the caps returned by getcaps

Avoiding not negotiated error while negotiating as we anyway force 1/1
as output

9 years agocurlsshsink: remove redundant else statement
Luis de Bethencourt [Mon, 6 Jul 2015 14:24:06 +0000 (15:24 +0100)]
curlsshsink: remove redundant else statement

Else statement is redundant when the if block finishes with an return.

9 years agodashdemux: fixed segment start when specified by SegmentTimeline
Florin Apostol [Thu, 2 Jul 2015 14:17:51 +0000 (15:17 +0100)]
dashdemux: fixed segment start when specified by SegmentTimeline

@t attribute in segment Timeline is relative to the period start.
Corrected the code to take this into account when computing segment
timestamp.

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

9 years agodashdemux: wrong segment duration computed by gst_mpd_client_setup_representation
Florin Apostol [Fri, 3 Jul 2015 16:00:31 +0000 (17:00 +0100)]
dashdemux: wrong segment duration computed by gst_mpd_client_setup_representation

Corrected computation of segment start and duration.

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

9 years agodashdemux: corrected search for audio languages
Florin Apostol [Fri, 3 Jul 2015 15:10:20 +0000 (16:10 +0100)]
dashdemux: corrected search for audio languages

Corrected the initialisation of mimeType in
gst_mpdparser_get_list_and_nb_of_audio_language: the variable is used
in a loop, so it must be set to NULL at the beginning of each iteration.

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

9 years agoAutomatic update of common submodule
Stefan Sauer [Fri, 3 Jul 2015 19:58:26 +0000 (21:58 +0200)]
Automatic update of common submodule

From f74b2df to 9aed1d7

9 years agoglvideomixer, glmixer: Add description and klass
Olivier Crête [Fri, 3 Jul 2015 16:17:42 +0000 (12:17 -0400)]
glvideomixer, glmixer: Add description and klass

9 years agobuild: Fix broken BlueZ configure check
Arun Raghavan [Fri, 3 Jul 2015 13:54:58 +0000 (19:24 +0530)]
build: Fix broken BlueZ configure check

The previous commit left an extra set of brackets, and missed removing
the explicit dbus check (which is no longer needed since we're using
gdbus).

9 years agobuild: remove support for bluez4
Nick Stoughton [Tue, 13 Jan 2015 18:31:41 +0000 (10:31 -0800)]
build: remove support for bluez4

9 years agobluez: refactor to use glib and add connection state tracking
Nick Stoughton [Tue, 30 Dec 2014 15:21:44 +0000 (07:21 -0800)]
bluez: refactor to use glib and add connection state tracking

9 years agopcapparse: fix another regression
Tim-Philipp Müller [Mon, 15 Jun 2015 22:40:44 +0000 (23:40 +0100)]
pcapparse: fix another regression

Introduced by c4c9fe60b pcapparse: Take buffer directly from the adapter

Using gst_adapter_take_buffer_fast() can lead to buffers that are
made up of multiple memories with the first memory smaller than the
RTP header size, which violates assumptions GstRtpBaseDepayloader
makes, namely that the complete RTP header will be in the first
memory. This leads to such packets being dropped when feeding
them from pcapparse to RTP depayloaders. Use take_buffer() so
we get buffers with a single memory.

9 years agotests: pcapparse: add unit test for frames with eth padding
Stian Selnes [Thu, 2 Jul 2015 11:45:04 +0000 (13:45 +0200)]
tests: pcapparse: add unit test for frames with eth padding

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

9 years agopcapparse: fix regression when handling packets with eth padding
Tim-Philipp Müller [Mon, 15 Jun 2015 11:55:39 +0000 (12:55 +0100)]
pcapparse: fix regression when handling packets with eth padding

Introduced by c4c9fe60b pcapparse: Take buffer directly from the adapter

Flush any trailing bytes after the payload from the adapter as well,
otherwise we'll read a bogus packet size from the adapter next and
then everything goes downhill from there.

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

9 years agoopenh264dec: Unref video frames and codec state in all cases
Sebastian Dröge [Thu, 2 Jul 2015 16:51:09 +0000 (18:51 +0200)]
openh264dec: Unref video frames and codec state in all cases

9 years agogl: initialize output params to 0 before calling gl functions
Julien Isorce [Thu, 2 Jul 2015 09:26:18 +0000 (10:26 +0100)]
gl: initialize output params to 0 before calling gl functions

The client side API of the Chromium's GPU Process has asserts
in debug mode that check that output params are initialized to 0.

9 years agogl: Don't leak pool if set_config failed
Nicolas Dufresne [Fri, 26 Jun 2015 19:34:35 +0000 (15:34 -0400)]
gl: Don't leak pool if set_config failed

9 years agoglfilter: Don't cache buffer pool
Nicolas Dufresne [Fri, 26 Jun 2015 19:33:33 +0000 (15:33 -0400)]
glfilter: Don't cache buffer pool

Caching and sharing to multiple element the same pool prevents
renegotiation from passthrough to not passthrough.

9 years agoopenh264dec: Uninitializing the decoder can't fail and will always return 0 == cmResu...
Sebastian Dröge [Thu, 2 Jul 2015 12:15:05 +0000 (14:15 +0200)]
openh264dec: Uninitializing the decoder can't fail and will always return 0 == cmResultSuccess

... but when we cast cmResultSuccess to a gboolean it will be FALSE, and make
GstVideoDecoder::stop() fail for no reason.

9 years agoglimagesink: use g_clear_error instead of g_error_free
Vineeth TM [Thu, 2 Jul 2015 08:08:26 +0000 (17:08 +0900)]
glimagesink: use g_clear_error instead of g_error_free

replace g_error_free with g_clear_error, as it internally
checks if error variable is valid or not.

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

9 years agoamc: fix check whether we managed to acquire a buffer
Vineeth TM [Thu, 2 Jul 2015 07:27:06 +0000 (16:27 +0900)]
amc: fix check whether we managed to acquire a buffer

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

9 years agosrtpdec: Add config for the replay window size
Miguel París Díaz [Tue, 30 Jun 2015 13:52:18 +0000 (15:52 +0200)]
srtpdec: Add config for the replay window size

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

9 years agodashdemux: corrected parsing of %u in segment templates
Florin Apostol [Tue, 30 Jun 2015 12:20:43 +0000 (13:20 +0100)]
dashdemux: corrected parsing of %u in segment templates

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

9 years agodashdemux: corrected recognition of $$$ in segment templates
Florin Apostol [Mon, 29 Jun 2015 21:18:38 +0000 (22:18 +0100)]
dashdemux: corrected recognition of $$$ in segment templates

fixed recognition of $$ after a $ that ends an identifier, eg $Time$$$

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

9 years agoandroidmedia: Call initialize_classes() also when we got the Java VM from the app
Sebastian Dröge [Mon, 29 Jun 2015 16:50:09 +0000 (18:50 +0200)]
androidmedia: Call initialize_classes() also when we got the Java VM from the app

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

9 years agogl: add missing break
Luis de Bethencourt [Mon, 29 Jun 2015 15:10:39 +0000 (16:10 +0100)]
gl: add missing break

gst_gl_view_convert_element_set_property() is missing a break at the end
of the PROP_OUTPUT_DOWNMIX_MODE case. Adding it.

CID #1308949

9 years agoglimagesink: Don't leak pool
Nicolas Dufresne [Fri, 26 Jun 2015 18:12:22 +0000 (14:12 -0400)]
glimagesink: Don't leak pool

gst_query_add_allocation_pool is transfer none. Also unref
if there was a configuration error.

9 years agompegdemux: check pointer before dereferencing
Sangkyu Park [Fri, 26 Jun 2015 06:58:25 +0000 (15:58 +0900)]
mpegdemux: check pointer before dereferencing

gst_ps_demux_get_stream() could return NULL when it is unknown stream,
check this hasn't happened before dereferencing the returned pointer.

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

9 years agodashdemux: corrected next fragment duration validation
Florin Apostol [Fri, 26 Jun 2015 12:09:54 +0000 (13:09 +0100)]
dashdemux: corrected next fragment duration validation

Before returning the next fragment duration value, the
gst_mpd_client_get_next_fragment_duration function tries to validate it.
But the condition was incorrect.

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

9 years agoadaptivedemux: Move unref() into the right scope
Sebastian Dröge [Thu, 25 Jun 2015 21:49:10 +0000 (23:49 +0200)]
adaptivedemux: Move unref() into the right scope

9 years agoadaptivedemux: Properly handle presentationTimeOffset for seeking and multi-period...
Sebastian Dröge [Thu, 25 Jun 2015 21:32:10 +0000 (23:32 +0200)]
adaptivedemux: Properly handle presentationTimeOffset for seeking and multi-period streams

Segment start/time/position/base should only be modified if this is the first
time we send a segment, otherwise we will override values from the seek
segment if new streams have to be exposed as part of the seek.

Segment base should be calculated from the segment start based on the stream's
own segment, not the demuxer's segment. Both might differ slightly because of
the presentationTimeOffset.

Always add the presentationTimeOffset (relative to the period start, not
timestamp 0) to the segment start after resetting the stream's segment based
on the demuxer's segment (i.e. after seeks or stream restart). Also make sure
to keep the stream's segment up to date and not just send a new segment event
without storing the segment in the stream.

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

9 years agodashdemux: Subtract the period start time from the presentation offset
Sebastian Dröge [Thu, 25 Jun 2015 21:24:50 +0000 (23:24 +0200)]
dashdemux: Subtract the period start time from the presentation offset

We're interested in the offset between the period start timestamp and the
actual media timestamp so that we can properly correct for it. The absolute
presentation offset to timestamp 0 is useless as the only thing we really
care about is the offset between the current fragment timestamp and the
media timestamp.

9 years agodashdemux: Subtract the period start when seeking based on a template
Sebastian Dröge [Thu, 25 Jun 2015 18:19:34 +0000 (20:19 +0200)]
dashdemux: Subtract the period start when seeking based on a template

Otherwise we will look for segments after the period usually. The seek
timestamp is relative to the start of the first period and we have to
select a segment relative to the current period's start.

9 years agodashdemux: Include the period start in the fragment timestamps in all cases
Sebastian Dröge [Thu, 25 Jun 2015 18:09:14 +0000 (20:09 +0200)]
dashdemux: Include the period start in the fragment timestamps in all cases

We didn't do this for fragments that are generated on demand from a template,
only for the other cases when they were all generated upfront. This caused
fragment timestamps to start from 0 again for each new period.

9 years agodashdemux: Seek on the new streams if the seek caused a period switch
Sebastian Dröge [Thu, 25 Jun 2015 21:23:58 +0000 (23:23 +0200)]
dashdemux: Seek on the new streams if the seek caused a period switch

Seeking on the old streams is pointless, they are going to be freed on the
next opportunity.

9 years agodash: Correct check for valid timeShiftBufferDepth
Florin Apostol [Thu, 25 Jun 2015 14:05:20 +0000 (15:05 +0100)]
dash: Correct check for valid timeShiftBufferDepth

If not set, the timeShiftBufferDepth has a default value of -1.
The standard says that this should be interpreted as infinite.

The gst_mpd_client_check_time_position function incorrectly compares
timeShiftBufferDepth with 0 instead of -1 to determine if it was set.

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

9 years agodocs: decodebin2 -> decodebin
Luis de Bethencourt [Thu, 25 Jun 2015 10:02:41 +0000 (11:02 +0100)]
docs: decodebin2 -> decodebin

9 years agoapplemedia: enable sharing of CMBlockBuffer data
Ilya Konstantinov [Mon, 27 Apr 2015 12:09:18 +0000 (15:09 +0300)]
applemedia: enable sharing of CMBlockBuffer data

Instead of wrapping with GST_MEMORY_FLAG_NO_SHARE, we make the GstMemory
object retain the underlying CMBlockBuffer.

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

9 years agoapplemedia: CMBlockBuffer can be non-contiguous
Ilya Konstantinov [Mon, 27 Apr 2015 12:02:59 +0000 (15:02 +0300)]
applemedia: CMBlockBuffer can be non-contiguous

CMBlockBufferGetDataLength would return the entire data length, while
size of individual blocks can be smaller. Iterate over the block buffer
and add the individual (possibly non-contiguous) memory blocks.

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

9 years agodashdemux: Corrected duration argument for gst_mpd_client_add_media_segment call
Florin Apostol [Wed, 24 Jun 2015 16:16:46 +0000 (17:16 +0100)]
dashdemux: Corrected duration argument for gst_mpd_client_add_media_segment call

The last parameter of gst_mpd_client_add_media_segment function is a
duration. But when called from gst_mpd_client_setup_representation, the
last argument was wrongly set to PeriodEnd

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

9 years agodashdemux: incorrect use of period start
Florin Apostol [Wed, 24 Jun 2015 20:42:32 +0000 (21:42 +0100)]
dashdemux: incorrect use of period start

The period start information, calculated in gst_mpd_client_setup_media_presentation
function is stored in stream_period->start. The information read from
xml file and stored in stream_period->period->start is not changed.

If the xml file does not contain the period start information,
stream_period->period->start will be -1.

The function gst_mpd_client_get_next_segment_availability_end_time wants to
use period start time, but incorrectly uses stream_period->period->start
(value from xml file, which could be -1) instead of stream_period->start
(computed value)

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

9 years agotests: dashdemux: renamed functions
Florin Apostol [Mon, 15 Jun 2015 16:18:41 +0000 (17:18 +0100)]
tests: dashdemux: renamed functions

Renamed 2 testcase functions:
- dash_mpdparser_program_information
- dash_mpdparser_base_URL

9 years agoBack to development
Sebastian Dröge [Wed, 24 Jun 2015 22:04:32 +0000 (00:04 +0200)]
Back to development

9 years agoRelease 1.5.2
Sebastian Dröge [Wed, 24 Jun 2015 21:37:26 +0000 (23:37 +0200)]
Release 1.5.2

9 years agoUpdate .po files
Sebastian Dröge [Wed, 24 Jun 2015 21:01:24 +0000 (23:01 +0200)]
Update .po files

9 years agotests: dashdemux: added explicit type conversions
Florin Apostol [Mon, 15 Jun 2015 16:30:26 +0000 (17:30 +0100)]
tests: dashdemux: added explicit type conversions

flexelint (http://www.gimpel.com/html/flex.htm) static code analyser
complained about implicit conversions from unsigned to signed, so I added
explicit conversions.

Ideally, the size parameter of gst_mpd_parse function should be unsigned,
but I don't want to change the API.

9 years agotests: dashdemux: corrected return type for duration_to_ms function
Florin Apostol [Mon, 15 Jun 2015 15:59:33 +0000 (16:59 +0100)]
tests: dashdemux: corrected return type for duration_to_ms function

The duration_to_ms function converts a time specified by year, month, day,
hour, minute, second, millisecond to a millisecond value. Because all the
arguments are positive numbers, the result must also be positive.

This patch changes the returned value from a gint64 to a guint64 type.

9 years agopo: Update translations
Sebastian Dröge [Wed, 24 Jun 2015 09:15:46 +0000 (11:15 +0200)]
po: Update translations