platform/upstream/gstreamer.git
9 years agoaudiomixer: fix deadlock when G_DISABLE_ASSERT is not defined
Tim-Philipp Müller [Sat, 26 Sep 2015 09:21:41 +0000 (10:21 +0100)]
audiomixer: fix deadlock when G_DISABLE_ASSERT is not defined

This makes the audiomixer unit test time out in master.
Broke with 587e7c4

9 years agodash: Fix unit test after internal API change
Sebastian Dröge [Sat, 26 Sep 2015 08:49:31 +0000 (10:49 +0200)]
dash: Fix unit test after internal API change

9 years agosfdec: Fix typo in goto variable name
Jimmy Ohn [Tue, 25 Aug 2015 08:39:30 +0000 (17:39 +0900)]
sfdec: Fix typo in goto variable name

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

9 years agodashdemux: create src pads for subtitle streams.
Chris Bass [Tue, 18 Aug 2015 13:16:11 +0000 (14:16 +0100)]
dashdemux: create src pads for subtitle streams.

Create src pads for Representations that contain timed-text subtitles,
both when the subtitles are encapsulated in ISO BMFF (i.e., the
Representation has mimeType "application/mp4") and when they are
unencapsulated (i.e., the Representation has mimeType
"application/ttml+xml").

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

9 years agoaudioaggregator: Stop using deprecated gst_segment_to_position()
Sebastian Dröge [Fri, 25 Sep 2015 22:17:55 +0000 (00:17 +0200)]
audioaggregator: Stop using deprecated gst_segment_to_position()

9 years agoaggregator: Don't forward QOS events to sinkpads that had no buffer yet
Sebastian Dröge [Mon, 31 Aug 2015 13:12:40 +0000 (16:12 +0300)]
aggregator: Don't forward QOS events to sinkpads that had no buffer yet

Otherwise they will receive a QOS event that has earliest_time=0 (because we
can't have negative timestamps), and consider their buffer as too late

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

9 years agodashdemux: Implement lazy-loading of external periods
Sebastian Dröge [Tue, 22 Sep 2015 14:17:38 +0000 (16:17 +0200)]
dashdemux: Implement lazy-loading of external periods

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

9 years agompdparser: Load OnLoad external resources immediately instead of on demand
Sebastian Dröge [Mon, 21 Sep 2015 19:05:03 +0000 (21:05 +0200)]
mpdparser: Load OnLoad external resources immediately instead of on demand

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

9 years agompdparser: Add support for loading external SegmentLists
Sebastian Dröge [Tue, 8 Sep 2015 10:36:23 +0000 (13:36 +0300)]
mpdparser: Add support for loading external SegmentLists

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

9 years agompdparser: Add support for loading external AdaptationSets
Sebastian Dröge [Tue, 8 Sep 2015 10:04:11 +0000 (13:04 +0300)]
mpdparser: Add support for loading external AdaptationSets

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

9 years agompdparser: Implement loading of external Period nodes
Sebastian Dröge [Fri, 21 Aug 2015 13:40:10 +0000 (16:40 +0300)]
mpdparser: Implement loading of external Period nodes

The same has to be done for AdaptationSet and SegmentList nodes still.

Also this does not correctly implement the semantics: by default Period (and
other nodes) should only be loaded when needed, not in the very beginning. We
need to implement lazy loading for them, which means adjusting
gst_mpd_client_setup_media_presentation().

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

9 years agompdparser: Store an URI downloader in the parser for downloading additional MPD resou...
Sebastian Dröge [Fri, 21 Aug 2015 09:06:07 +0000 (12:06 +0300)]
mpdparser: Store an URI downloader in the parser for downloading additional MPD resources if needed

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

9 years agompdparser: Parse xlink attributes from Period, AdaptationSet and SegmentList
Sebastian Dröge [Fri, 10 Jul 2015 15:56:29 +0000 (18:56 +0300)]
mpdparser: Parse xlink attributes from Period, AdaptationSet and SegmentList

We still have to do something useful with them, like actually loading the
content behind the URL.

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

9 years agodashdemux: Properly handle relative and non-HTTP URIs for the headers/indices
Sebastian Dröge [Wed, 16 Sep 2015 21:38:24 +0000 (23:38 +0200)]
dashdemux: Properly handle relative and non-HTTP URIs for the headers/indices

gst_uri_join_strings() will return the second parameter if it is an absolute
URI. No need to do a (wrong) check if the URI is absolute or not beforehand.

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

9 years agompdparser: If no Initialization is present in the SegmentBase, assume it is before...
Sebastian Dröge [Wed, 16 Sep 2015 21:12:54 +0000 (23:12 +0200)]
mpdparser: If no Initialization is present in the SegmentBase, assume it is before the indexRange

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

9 years agoBack to development
Sebastian Dröge [Fri, 25 Sep 2015 21:51:20 +0000 (23:51 +0200)]
Back to development

9 years agoRelease 1.6.0
Sebastian Dröge [Fri, 25 Sep 2015 21:33:37 +0000 (23:33 +0200)]
Release 1.6.0

9 years agoUpdate .po files
Sebastian Dröge [Fri, 25 Sep 2015 21:01:35 +0000 (23:01 +0200)]
Update .po files

9 years agoglfilter: use GL_ELEMENT_ARRAY_BUFFER for vbo indices
Julien Isorce [Fri, 25 Sep 2015 09:32:00 +0000 (10:32 +0100)]
glfilter: use GL_ELEMENT_ARRAY_BUFFER for vbo indices

Fixes this error with chromium gpu process:
GL_INVALID_OPERATION, glBindBuffer: buffer bound to more than 1 target

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

9 years agoglmemory: fix texture leak in _gl_mem_copy
Julien Isorce [Thu, 17 Sep 2015 13:17:09 +0000 (14:17 +0100)]
glmemory: fix texture leak in _gl_mem_copy

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

9 years agogtk: Only run from the main thread in stop() if we created the window
Sebastian Dröge [Thu, 24 Sep 2015 16:51:39 +0000 (18:51 +0200)]
gtk: Only run from the main thread in stop() if we created the window

We're not doing anything at all from the main thread in other cases.

9 years agogtk: When setting format check if pending format changed
Thibault Saunier [Thu, 24 Sep 2015 13:52:40 +0000 (15:52 +0200)]
gtk: When setting format check if pending format changed

In case the format changed fast and the pending format is different
than the currently set but the currently set is equal to the pending
one we could end up having mismatch between the finally set format
and the data stream format.

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

9 years agogtk: Do not forget to release OBJECT_LOCK on error path
Thibault Saunier [Thu, 24 Sep 2015 13:51:28 +0000 (15:51 +0200)]
gtk: Do not forget to release OBJECT_LOCK on error path

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

9 years agogtk: Factor out a function to run a function on main thread
Thibault Saunier [Thu, 24 Sep 2015 09:37:04 +0000 (11:37 +0200)]
gtk: Factor out a function to run a function on main thread

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

9 years agogtk: Marshall state changes in the main thread
Thibault Saunier [Thu, 24 Sep 2015 08:51:31 +0000 (10:51 +0200)]
gtk: Marshall state changes in the main thread

Gtk is not MT safe thus we need to make sure that everything is done
in the main thread when working with it.

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

9 years agodecklink: Add a clock epoch that is used as offset whenever restarting the clock
Sebastian Dröge [Wed, 23 Sep 2015 13:56:26 +0000 (15:56 +0200)]
decklink: Add a clock epoch that is used as offset whenever restarting the clock

Otherwise we're going to return times starting at 0 again after shutting down
an element for a specific input/output and then using it again later.

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

9 years agodecklink: Disable inputs/outputs in PAUSED->READY to allow going to PAUSED again...
Sebastian Dröge [Tue, 22 Sep 2015 17:35:00 +0000 (19:35 +0200)]
decklink: Disable inputs/outputs in PAUSED->READY to allow going to PAUSED again from there

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

9 years agogtksink: Do not show window until we reach the PAUSED state
Thibault Saunier [Wed, 23 Sep 2015 09:42:51 +0000 (11:42 +0200)]
gtksink: Do not show window until we reach the PAUSED state

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

9 years agompdparser: Only check stream->segments for a repeated last segment if we have a stati...
Sebastian Dröge [Tue, 22 Sep 2015 12:43:44 +0000 (14:43 +0200)]
mpdparser: Only check stream->segments for a repeated last segment if we have a static list of segments

Otherwise we'll crash, trying to derefence NULL. And if we have no static list
of segments, we can't have repeated segments anyway.

Regression introduced by cfe2871a5e3c5b1db20470927642b776e055a87a

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

9 years agox265enc: Drop incorrect stream-format="avc" in template caps
Arun Raghavan [Mon, 21 Sep 2015 13:32:08 +0000 (19:02 +0530)]
x265enc: Drop incorrect stream-format="avc" in template caps

9 years agogtksink: Do not re destroy the GtkWindow if destroyed by the user
Thibault Saunier [Mon, 21 Sep 2015 08:47:15 +0000 (10:47 +0200)]
gtksink: Do not re destroy the GtkWindow if destroyed by the user

Otherwise we will get an ASSERT.

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

9 years agogl/dispmanx: fix rendering with recent resize state tracking
Matthew Waters [Mon, 21 Sep 2015 08:04:40 +0000 (08:04 +0000)]
gl/dispmanx: fix rendering with recent resize state tracking

557ca6fda5f831be4aba5819bf7b30b296e575cd didn't change to the
necessary gst_gl_window_resize() call for the dispmanx backend.

9 years agogtkglsink: Hide and clean the GtkWindow we might create
Thibault Saunier [Sat, 19 Sep 2015 09:46:37 +0000 (11:46 +0200)]
gtkglsink: Hide and clean the GtkWindow we might create

When stopping the sink we should always hide the window.

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

9 years agoRelease 1.5.91
Sebastian Dröge [Fri, 18 Sep 2015 17:51:49 +0000 (19:51 +0200)]
Release 1.5.91

9 years agoUpdate .po files
Sebastian Dröge [Fri, 18 Sep 2015 17:31:06 +0000 (19:31 +0200)]
Update .po files

9 years agoaudioaggregator: Only skip the remaining part of a GAP buffer
Sebastian Dröge [Fri, 18 Sep 2015 16:00:05 +0000 (18:00 +0200)]
audioaggregator: Only skip the remaining part of a GAP buffer

We might've queued up a GAP buffer that is only partially inside the current
output buffer (i.e. we received it too late!). In that case we should only
skip the part of the GAP buffer that is inside the current output buffer, not
also the remaining part. Otherwise we forward this pad too far into the future
and break synchronization.

9 years agovtdec: disable the texture cache on OSX
Matthew Waters [Fri, 18 Sep 2015 11:14:46 +0000 (21:14 +1000)]
vtdec: disable the texture cache on OSX

This a workaround until the incompatibility with CVOpenGLTextureCache
and opengl3 contexts is fixed.

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

9 years agoaggregator: Keep at least two buffers in the queue in live mode
Olivier Crête [Thu, 17 Sep 2015 23:42:34 +0000 (19:42 -0400)]
aggregator: Keep at least two buffers in the queue in live mode

When in live mode, the queue needs to hold the currently processed
buffer and one more at least.

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

9 years agopo: Update translations
Sebastian Dröge [Fri, 18 Sep 2015 09:55:37 +0000 (11:55 +0200)]
po: Update translations

9 years agovtdec: gst-indent file
Matthew Waters [Fri, 18 Sep 2015 05:28:27 +0000 (15:28 +1000)]
vtdec: gst-indent file

9 years agodvdspu: pgs: fix printf format/argument mismatch in debug statements
Tim-Philipp Müller [Thu, 17 Sep 2015 18:56:47 +0000 (19:56 +0100)]
dvdspu: pgs: fix printf format/argument mismatch in debug statements

Fixes compiler warnings when extra debugging is enabled at compile time.

9 years agoadaptivedemux: remove unprefix STATISTICS_MESSAGE_NAME after all
Tim-Philipp Müller [Thu, 17 Sep 2015 16:54:36 +0000 (17:54 +0100)]
adaptivedemux: remove unprefix STATISTICS_MESSAGE_NAME after all

It was only added during 1.5.x so we might just as well remove it
immediately.

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

9 years agoadaptivedemux: prefix the statistics message name macro
Philippe Normand [Mon, 7 Sep 2015 14:57:05 +0000 (16:57 +0200)]
adaptivedemux: prefix the statistics message name macro

Keep old define around for now.

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

9 years agopcapparse: Hook up the recently added change_state vfunc.
Jan Schmidt [Thu, 17 Sep 2015 14:10:10 +0000 (00:10 +1000)]
pcapparse: Hook up the recently added change_state vfunc.

The state change function was implemented, but not installed,
making the compiler complain about the unused function.

9 years agoDon't throw compiler warnings with G_DISABLE_ASSERT
Jan Schmidt [Thu, 17 Sep 2015 14:20:13 +0000 (00:20 +1000)]
Don't throw compiler warnings with G_DISABLE_ASSERT

Disable code that warns about unused variables when G_DISABLE_ASSERT
is defined, as it is in tarballs and pre-releases.

9 years agogl/caopengllayer: fix non-existent selector warning
Matthew Waters [Thu, 17 Sep 2015 12:17:24 +0000 (22:17 +1000)]
gl/caopengllayer: fix non-existent selector warning

557ca6fda5f831be4aba5819bf7b30b296e575cd introduced the queueResize
call without implementing the selector

9 years agoglwindow: Fix g_return_val_if_fail in a void function
Jan Schmidt [Thu, 17 Sep 2015 11:31:39 +0000 (21:31 +1000)]
glwindow: Fix g_return_val_if_fail in a void function

9 years agoapplemedia/vtdec: fix negotiation errors when resizing glimagesink
Matthew Waters [Thu, 17 Sep 2015 05:06:31 +0000 (15:06 +1000)]
applemedia/vtdec: fix negotiation errors when resizing glimagesink

GstVideoDecoder has its own logic for detecting when to reconfigure
which ultimately calls decide_allocation and results in a new
texture cache that has not been configured from our reconfigure check.

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

9 years agoglimagesink: request a resize on caps/3d mode changes
Matthew Waters [Thu, 17 Sep 2015 07:22:47 +0000 (17:22 +1000)]
glimagesink: request a resize on caps/3d mode changes

Fixes incorrect aspect ratio on OSX when changing caps or the 3d
output mode.

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

9 years agoglwindow: add API to request a resize event on the next draw
Matthew Waters [Thu, 17 Sep 2015 07:06:37 +0000 (17:06 +1000)]
glwindow: add API to request a resize event on the next draw

- glimagesink needs to be able to resize the viewport on aspect ratio
  changes resulting from either caps changes or 3d output mode changes.
- Performing a glViewport outside the GstGLWindow::resize callback
  will not have the winsys' stack of viewports required to correctly
  place the output frame.

Provide a function to request a resize on the next draw event from the
winsys.

Also track size changes inside the base GstGLWindow class rather
than in each subclass.

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

9 years agogl/uploadelement: fail earlier if we could not upload the buffer
Matthew Waters [Thu, 17 Sep 2015 06:55:11 +0000 (16:55 +1000)]
gl/uploadelement: fail earlier if we could not upload the buffer

9 years agogl/x11: store the correct dimension from the resize events
Matthew Waters [Thu, 17 Sep 2015 06:05:21 +0000 (16:05 +1000)]
gl/x11: store the correct dimension from the resize events

small typo s/width/height/

9 years agoavdtputil: fix GError memory leak during failures
Vineeth T M [Thu, 17 Sep 2015 04:47:23 +0000 (13:47 +0900)]
avdtputil: fix GError memory leak during failures

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

9 years agogl: Fix GError leaks during failures
Vineeth T M [Thu, 17 Sep 2015 04:35:02 +0000 (13:35 +0900)]
gl: Fix GError leaks during failures

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

9 years agointervideosink: render preroll frames as well
Tim-Philipp Müller [Tue, 15 Sep 2015 23:19:35 +0000 (00:19 +0100)]
intervideosink: render preroll frames as well

Derive from GstVideoSink so that preroll frames will automatically
get rendered too, unless the show-preroll-frame property is set to
FALSE. Fixes intervideosrc only picking up frames if intervideosink
is in PLAYING state.

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

9 years agodvbsuboverlay: Check if downstream supports GstVideoOverlayComposition.
Jan Schmidt [Wed, 16 Sep 2015 14:01:58 +0000 (00:01 +1000)]
dvbsuboverlay: Check if downstream supports GstVideoOverlayComposition.

Fix the negotiation of GstVideoOverlayComposition by checking
intersection with the peer caps, rather than just accept-caps,
which might only check the pad template.

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

9 years agompdparser: support for negative repeat count in segments
Vincent Penquerc'h [Wed, 9 Sep 2015 13:49:17 +0000 (14:49 +0100)]
mpdparser: support for negative repeat count in segments

Implements negative repeat segment fields, defined in 5.3.9.6.1.

9 years agompdparser: properly read signed r values for S elements
Vincent Penquerc'h [Tue, 8 Sep 2015 14:14:13 +0000 (15:14 +0100)]
mpdparser: properly read signed r values for S elements

The spec defines these as signed in 5.3.9.6.1.
Since we don't support this behavior, warn and default to 0
(non repeating), which is the spec's default when the value
is not present.

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

9 years agomdpparser: catch failures to parse
Vincent Penquerc'h [Wed, 9 Sep 2015 10:05:35 +0000 (11:05 +0100)]
mdpparser: catch failures to parse

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

9 years agoglimagesink: avoid updating the viewport in the draw loop
Matthew Waters [Wed, 16 Sep 2015 07:28:05 +0000 (17:28 +1000)]
glimagesink: avoid updating the viewport in the draw loop

Fixes flashes/incorrect aspect ratio when resizing glimagesink on OSX.

9 years agoadaptivedemux: Fix playback of live streams
Sebastian Dröge [Tue, 15 Sep 2015 19:50:19 +0000 (21:50 +0200)]
adaptivedemux: Fix playback of live streams

dashdemux seeks each live stream to its current fragment in the beginning, but
the base class does not know about this. Update the demuxer segment with this
seek so we generate the correct SEGMENT event and can actually play the
stream.

This needs some refactoring at some point.

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

9 years agoopusdec: remove check for number of channels
Thiago Santos [Tue, 15 Sep 2015 18:39:11 +0000 (15:39 -0300)]
opusdec: remove check for number of channels

opus decoder can convert from different number of channels, no
need to check, just let it negotiate and create a new decoder if
needed.

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

9 years agoadaptivedemux: Only overwrite last return if it was OK
Thiago Santos [Tue, 15 Sep 2015 13:00:43 +0000 (10:00 -0300)]
adaptivedemux: Only overwrite last return if it was OK

Prevents overwriting other conditions that would be more important,
such as EOS.

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

9 years agodashdemux: fix return when trying to advance in subfragmented stream
Thiago Santos [Tue, 15 Sep 2015 12:58:20 +0000 (09:58 -0300)]
dashdemux: fix return when trying to advance in subfragmented stream

Even if it doesn't actually advance the subfragment in the default way
for streams that have subfragments, it can help the base class to return
EOS when there is no more fragments instead of signaling it that it should
continue downloading.

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

9 years agogl: bufferpool take into account video stride alignment requirements
Tim-Philipp Müller [Tue, 15 Sep 2015 10:34:12 +0000 (11:34 +0100)]
gl: bufferpool take into account video stride alignment requirements

when allocating memory. Fixes crashes with avdec_h265 in the AVX2
code path which requires 32-byte stride alignment, but the
GstAllocationParams only specified a 16-byte alignment.

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

9 years agopitch: Set seqnum on newly created segment event
Thibault Saunier [Tue, 15 Sep 2015 11:40:58 +0000 (13:40 +0200)]
pitch: Set seqnum on newly created segment event

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

9 years agoaudioaggregator: Fix mixup of running times and segment positions
Sebastian Dröge [Fri, 11 Sep 2015 19:37:08 +0000 (21:37 +0200)]
audioaggregator: Fix mixup of running times and segment positions

We have to queue buffers based on their running time, not based on
the segment position.

Also return running time from GstAggregator::get_next_time() instead of
a segment position, as required by the API.

Also only update the segment position after we pushed a buffer, otherwise
we're going to push down a segment event with the next position already.

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

9 years agoaudioaggregator: Use stream time in the position query instead of segment position
Sebastian Dröge [Fri, 11 Sep 2015 14:56:40 +0000 (16:56 +0200)]
audioaggregator: Use stream time in the position query instead of segment position

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

9 years agovideoaggregator: Fix mixup of running times and segment positions
Sebastian Dröge [Fri, 11 Sep 2015 10:22:51 +0000 (12:22 +0200)]
videoaggregator: Fix mixup of running times and segment positions

We have to queue buffers based on their running time, not based on
the segment position.

Also return running time from GstAggregator::get_next_time() instead of
a segment position, as required by the API.

Also only update the segment position after we pushed a buffer, otherwise
we're going to push down a segment event with the next position already.

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

9 years agoaggregator: Document that get_next_time() should return running time
Sebastian Dröge [Fri, 11 Sep 2015 10:21:50 +0000 (12:21 +0200)]
aggregator: Document that get_next_time() should return running time

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

9 years agompdparser: Don't consider period start times in periods with segment lists either
Sebastian Dröge [Thu, 3 Sep 2015 11:20:00 +0000 (14:20 +0300)]
mpdparser: Don't consider period start times in periods with segment lists either

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

9 years agompdparser: Fix unit test that assumed that fragment timestamps should include the...
Sebastian Dröge [Thu, 3 Sep 2015 07:26:03 +0000 (10:26 +0300)]
mpdparser: Fix unit test that assumed that fragment timestamps should include the period start timestamp

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

9 years agodashdemux: Export the period start time to the base class
Sebastian Dröge [Wed, 2 Sep 2015 15:33:51 +0000 (18:33 +0300)]
dashdemux: Export the period start time to the base class

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

9 years agoadaptivedemux: Properly implement timestamping of multi-period streams
Sebastian Dröge [Wed, 2 Sep 2015 15:29:43 +0000 (18:29 +0300)]
adaptivedemux: Properly implement timestamping of multi-period streams

Each period will start again with pts 0 + period presentation offset, which is
also going to be the presentation time inside the container stream if any.
However all periods together should form a continuous timeline, with regard to
stream time and running time.

For making this possible we keep track of the "user requested segment", i.e.
the seek events, inside the demuxer without adjusting anything and taking this
demuxer segment only as orientation for modified segments per stream.

This per stream segments will have their segment.start at pts that would be
produced for this stream in this period, and the segment.base/time adjusted so
that this pts maps to the running and stream time this period should have in
the context of all other periods.

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

9 years agoRevert "dashdemux: Subtract the period start time from the presentation offset"
Sebastian Dröge [Tue, 1 Sep 2015 10:13:58 +0000 (13:13 +0300)]
Revert "dashdemux: Subtract the period start time from the presentation offset"

This reverts commit 626a8f0a74f8ea748b811b74ba9e7ae2baea2cca.

This allows us to get the plain presentation offset and the period start time
separately. We have to adjust the timestamp by the presentation offset, but
the period start time should only adjust the stream time and running time.

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

9 years agoRevert "dashdemux: Include the period start in the fragment timestamps in all cases"
Sebastian Dröge [Tue, 1 Sep 2015 10:12:45 +0000 (13:12 +0300)]
Revert "dashdemux: Include the period start in the fragment timestamps in all cases"

This reverts commit e671ad25a989cb21c62c7a5867c2090890ce49ba.

The timestamps should restart at 0 again for each period, but we have to
adjust the segment to map those timestamps to the actual stream time and
running time of that period.

Otherwise we would have timestamps that conflict with the ones from the tfdt
inside the MP4 container, which are restarting at 0 for each period.

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

9 years agompdparser: Consider the repeat count when checking if a segment is the last one
Sebastian Dröge [Mon, 14 Sep 2015 17:03:10 +0000 (19:03 +0200)]
mpdparser: Consider the repeat count when checking if a segment is the last one

Otherwise we play only the first repetition of the last segment and then EOS.

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

9 years agodashdemux: also check for subfragments on has_next_fragment
Thiago Santos [Mon, 14 Sep 2015 16:56:10 +0000 (13:56 -0300)]
dashdemux: also check for subfragments on has_next_fragment

In dash isombff profile the fragment is split into subframents where
bitrate switching is possible. Also take that into consideration
when checking if a stream has next fragments.

9 years agoopusenc: improve deprecated properties docs
Miguel París Díaz [Fri, 11 Sep 2015 09:22:35 +0000 (11:22 +0200)]
opusenc: improve deprecated properties docs

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

9 years agoopusenc: do not throw g_warning when getting deprecated properties
Miguel París Díaz [Fri, 11 Sep 2015 09:11:09 +0000 (11:11 +0200)]
opusenc: do not throw g_warning when getting deprecated properties

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

9 years agovideoaggregator: fix caps query to properly handle alpha formats
Thiago Santos [Wed, 9 Sep 2015 22:51:18 +0000 (19:51 -0300)]
videoaggregator: fix caps query to properly handle alpha formats

Only accept alpha if downstream has alpha as well. It could
theoretically accept alpha unconditionally if blending is
properly implemented for handle it but at the moment this
is a missing feature.

Improves the caps query by also comparing with the template
caps to filter by what the subclass supports.

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

9 years agovtdec: Use R/RG textures for NV12 when the context provides them
Jan Schmidt [Fri, 11 Sep 2015 14:51:52 +0000 (00:51 +1000)]
vtdec: Use R/RG textures for NV12 when the context provides them

Fixes playback to GL memory on iOS, where the colours are messed
up by passing Luminance/LuminanceAlpha textures where
color convert expects R/RG textures.

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

9 years agovtdec: Prefer GL output caps.
Jan Schmidt [Tue, 8 Sep 2015 07:17:36 +0000 (17:17 +1000)]
vtdec: Prefer GL output caps.

Prefer GL caps by putting them first in the pad template and
intersecting using GST_CAPS_INTERSECT_FIRST.

9 years agocodecparsers: h265: Fix the selection of Active Ref Pic Set
Sreerenj Balachandran [Thu, 10 Sep 2015 16:02:12 +0000 (19:02 +0300)]
codecparsers: h265: Fix the selection of Active Ref Pic Set

If short_term_ref_pic_set_sps_flag is FALSE, the ShortTermRefPicSet
structure is supposed to derive from slice header. Which means,
CurrRpsIdx is equal to num_short_term_ref_pic_sets. But the number
of refpicsets communicated via sps header is only num_short_term_ref_pic_sets - 1.
And we are using slice_header structure to reference the last entry, which is
ShortTermRefPicSet[num_short_term_ref_pic_sets].

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

9 years agocodecparsers: h265 : Fix default scaling list values
Sreerenj Balachandran [Thu, 10 Sep 2015 13:28:31 +0000 (16:28 +0300)]
codecparsers: h265 : Fix default scaling list values

Fix the default_scaling_list values based on Table 7-6

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

9 years agodecklinkvideosink: less-than-zero comparison of an unsigned value is never true
Sebastian Dröge [Thu, 10 Sep 2015 11:11:58 +0000 (14:11 +0300)]
decklinkvideosink: less-than-zero comparison of an unsigned value is never true

Use the correct type, GstClockTimeDiff, instead.

CID 1323742

9 years agogtk, qt: more specifically define the compile time requirements
Matthew Waters [Wed, 9 Sep 2015 14:07:18 +0000 (00:07 +1000)]
gtk, qt: more specifically define the compile time requirements

Otherwise we could include headers/configurations that will
never been installed.

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

9 years agobuild/qt: indent configure file
Matthew Waters [Wed, 2 Sep 2015 13:42:34 +0000 (23:42 +1000)]
build/qt: indent configure file

don't mix tabs and spaces

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

9 years agoqt: use our function table instead of directly calling gl functions
Matthew Waters [Wed, 9 Sep 2015 14:00:11 +0000 (00:00 +1000)]
qt: use our function table instead of directly calling gl functions

Otherwise when building with --as-needed we would need to link to
a GL or GLES library.

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

9 years agogl/api: use public rather than private define
Matthew Waters [Wed, 9 Sep 2015 13:53:57 +0000 (23:53 +1000)]
gl/api: use public rather than private define

HAVE_IOS is only defined for the build of this module so
attempting to use gstgl in iOS would result in incorrect GL
includes.
Use GST_GL_HAVE_PLATFORM_EAGL instead for choosing the iOS GL
header.

9 years agodecklinkvideosink: Handle pipelines where the running time does not start around...
Sebastian Dröge [Thu, 3 Sep 2015 13:36:57 +0000 (16:36 +0300)]
decklinkvideosink: Handle pipelines where the running time does not start around 0 properly

We were converting all times to our internal running times, that is the time
the sink itself spent in PLAYING already. But forgot to do that for the
running time calculated from the buffer timestamps. As such, all buffers were
scheduled much later if the pipeline's running time did not start at 0.

This happens for example if a base time is explicitly set on the pipeline.

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

9 years agodecklinkvideosink: Consider pipeline latency, render delay and ts offset when schedul...
Sebastian Dröge [Mon, 7 Sep 2015 10:36:19 +0000 (13:36 +0300)]
decklinkvideosink: Consider pipeline latency, render delay and ts offset when scheduling frames

Without this, we will schedule all frames too late in live pipelines.

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

9 years agodirectsoundsrc: fix build error for 64bit Windows build by MinGW
Kouhei Sutou [Wed, 9 Sep 2015 04:58:05 +0000 (13:58 +0900)]
directsoundsrc: fix build error for 64bit Windows build by MinGW

Casting to UINT from HMIXER generates the following warning with
64bit Windows target MinGW:

    gstdirectsoundsrc.c: In function 'gst_directsound_src_mixer_find':
    gstdirectsoundsrc.c:733:30: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
         mmres = mixerGetDevCaps ((UINT) dsoundsrc->mixer,
                                  ^
    cc1: all warnings being treated as errors

We can use portable GPOINTER_TO_UINT() macro for this propose.

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

9 years agogl/eagl: Also unbind renderbuffer after setting up framebuffer
Sebastian Dröge [Wed, 9 Sep 2015 06:33:01 +0000 (09:33 +0300)]
gl/eagl: Also unbind renderbuffer after setting up framebuffer

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

9 years agogl/eagl: Don't make context uncurrent just to make it current again in the next line
Sebastian Dröge [Wed, 9 Sep 2015 06:27:17 +0000 (09:27 +0300)]
gl/eagl: Don't make context uncurrent just to make it current again in the next line

Also binding the framebuffer again is unnecessary then as it was just bound a
few lines before while the context was current.

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

9 years agompdparser: fix period start time scaling
Vincent Penquerc'h [Mon, 7 Sep 2015 11:09:41 +0000 (12:09 +0100)]
mpdparser: fix period start time scaling

This GstStreamPeriod start value is expressed in nanoseconds,
and the glib time addition function expects microseconds.
There seems to have been a confusion with GstPeriodNode's start
field, which is expressed in milliseconds.

Additionally, add a warning if the timestamp modification did
not succeed, and NULL was returned.

9 years agofaac: Add bitrate info to the tags output.
Jan Schmidt [Sat, 5 Sep 2015 13:38:44 +0000 (23:38 +1000)]
faac: Add bitrate info to the tags output.

Makes it possible for muxers to know the target bitrate as soon
as encoding starts, which flvmux now uses.

9 years agocompositor: Ensure all arguments to CLAMP are signed int
Nirbheek Chauhan [Fri, 4 Sep 2015 20:20:41 +0000 (01:50 +0530)]
compositor: Ensure all arguments to CLAMP are signed int

If any of the arguments to CLAMP are unsigned integers, the comparison causes
an automatic conversion of the signed int to unsigned, which causes -1 to become
UINT_MAX and get clamped to the high value of the CLAMP instead of 0.

See 716 at http://c0x.coding-guidelines.com/6.3.1.8.html

Also add a test for this.

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

9 years agogtk: Do not consider GtkEvents as handled
Thibault Saunier [Fri, 4 Sep 2015 13:43:40 +0000 (15:43 +0200)]
gtk: Do not consider GtkEvents as handled

Applications might still want to use them
after the sink transformed them into
GstNavigation events

9 years agovideoaggregator: lift restriction of changing pixel-aspect-ratio
Thiago Santos [Wed, 2 Sep 2015 22:16:56 +0000 (19:16 -0300)]
videoaggregator: lift restriction of changing pixel-aspect-ratio

The videoaggregator can convert PAR, there is no reason for
restricting it.

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