platform/upstream/gstreamer.git
9 years agoopengl: don't add --tag=CC twice to LIBTOOLFLAGS
Tim-Philipp Müller [Tue, 24 Feb 2015 19:52:59 +0000 (19:52 +0000)]
opengl: don't add --tag=CC twice to LIBTOOLFLAGS

9 years agoopengl: Add --tag=CC to LIBTOOLCLFAGS
Nicolas Dufresne [Tue, 24 Feb 2015 19:35:37 +0000 (14:35 -0500)]
opengl: Add --tag=CC to LIBTOOLCLFAGS

This is required for static build.

9 years agojpegparse: interlaced doesn't mean progressive scan
Luis de Bethencourt [Tue, 24 Feb 2015 18:50:03 +0000 (18:50 +0000)]
jpegparse: interlaced doesn't mean progressive scan

Removing interlaced variable since it is meant to mean progressive scan
and that isn't used.

9 years agoRevert "tests: check jpegparse for progressive marker"
Luis de Bethencourt [Tue, 24 Feb 2015 18:38:31 +0000 (18:38 +0000)]
Revert "tests: check jpegparse for progressive marker"

This reverts commit 1c77d12ce8770f0e065e9c00c35d711fdef1c9f8.

"interlaced" in the caps don't mean the same thing as the SOF2 marker in the
JPEG format. This test passes because of broken behaviour.

9 years agotests: check jpegparse for progressive marker
Luis de Bethencourt [Tue, 24 Feb 2015 17:41:43 +0000 (17:41 +0000)]
tests: check jpegparse for progressive marker

9 years agoglwindow: Deactivate window before changing handle
Edward Hervey [Tue, 24 Feb 2015 13:01:04 +0000 (14:01 +0100)]
glwindow: Deactivate window before changing handle

When setting a new window handle, we need to ensure all implementations
will detect the change.

For that we deactivate the context before setting the window handle, then
reactivate the context

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

9 years agogl/egl: Detect window handle changes
Edward Hervey [Tue, 24 Feb 2015 12:58:26 +0000 (13:58 +0100)]
gl/egl: Detect window handle changes

When (re)activating the context, the backing window handle might have changed.
If that happened, destroy the previous surface and create a new one

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

9 years agogl: remove docbook related warnings
Luis de Bethencourt [Tue, 24 Feb 2015 14:20:42 +0000 (14:20 +0000)]
gl: remove docbook related warnings

9 years agomodplug: remove unused variable
Luis de Bethencourt [Tue, 24 Feb 2015 13:51:24 +0000 (13:51 +0000)]
modplug: remove unused variable

9 years agomodplug: not using deprecated API anymore
Luis de Bethencourt [Tue, 24 Feb 2015 13:36:00 +0000 (13:36 +0000)]
modplug: not using deprecated API anymore

9 years agomodplug: update example pipeline command
Luis de Bethencourt [Tue, 24 Feb 2015 13:16:21 +0000 (13:16 +0000)]
modplug: update example pipeline command

9 years agompegts: Fix a compiler warning
Arun Raghavan [Tue, 24 Feb 2015 13:33:43 +0000 (19:03 +0530)]
mpegts: Fix a compiler warning

Causes the following warning on clang:

gst-dvb-section.c:567:36: error: format specifies type 'unsigned long' but the argument has type 'int' [-Werror,-Wformat]
          descriptors_loop_length, end - 4 - data);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~

9 years agovtdec: only attempt use of the texture cache with GLMemory caps features
Matthew Waters [Tue, 24 Feb 2015 12:54:13 +0000 (23:54 +1100)]
vtdec: only attempt use of the texture cache with GLMemory caps features

Otherwise we send rectangle textures to glimagesink

9 years agocaopengllayersink: render black when we don't have a texture to display
Matthew Waters [Tue, 24 Feb 2015 12:52:39 +0000 (23:52 +1100)]
caopengllayersink: render black when we don't have a texture to display

Like when the winsys asks us to redraw before the pipeline has started

9 years agoglmemory: allow sharing between buffers
Matthew Waters [Tue, 24 Feb 2015 13:00:48 +0000 (00:00 +1100)]
glmemory: allow sharing between buffers

There was no real reason why the flag was set.  We should be able
to handle it.  Fixes last-sample handling on gl sinks

9 years agoglsyncmeta: add compat definition for gles2
Matthew Waters [Tue, 24 Feb 2015 09:34:35 +0000 (20:34 +1100)]
glsyncmeta: add compat definition for gles2

9 years agod3dvideosink: Don't initialize the render window swap chain while the device is lost...
Sebastian Dröge [Tue, 24 Feb 2015 09:19:04 +0000 (11:19 +0200)]
d3dvideosink: Don't initialize the render window swap chain while the device is lost and we're waiting for reset

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

9 years agod3dvideosink: Deactivate the fallback buffer pool when replacing it during caps changes
Sebastian Dröge [Tue, 24 Feb 2015 09:18:38 +0000 (11:18 +0200)]
d3dvideosink: Deactivate the fallback buffer pool when replacing it during caps changes

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

9 years agonew caopengllayersink element
Matthew Waters [Thu, 29 Jan 2015 06:41:19 +0000 (17:41 +1100)]
new caopengllayersink element

renders gstreamer gl scene/video frames to a caopengllayer retreivable
from the "layer" property.

9 years agoapplemedia: new AVSampleBufferLayerSink
Matthew Waters [Mon, 19 Jan 2015 01:43:23 +0000 (12:43 +1100)]
applemedia: new AVSampleBufferLayerSink

Renders buffers using the CALayer subclass AVSampleBufferDisplayLayer
which can be placed inside a Core Animation render tree.

9 years agogl/calayer: don't use the async callback to render
Matthew Waters [Tue, 24 Feb 2015 08:06:18 +0000 (19:06 +1100)]
gl/calayer: don't use the async callback to render

not until we can provide equivalent functionality for other window
implementations.

9 years agoglsyncmeta: also supported with gles3
Matthew Waters [Mon, 23 Feb 2015 14:20:23 +0000 (01:20 +1100)]
glsyncmeta: also supported with gles3

9 years agolibgstgl: eagl: handle CALayer resize
Alessandro Decina [Tue, 24 Feb 2015 03:23:49 +0000 (14:23 +1100)]
libgstgl: eagl: handle CALayer resize

9 years agoglmemory: Fix transfer_pbo memory leak
Vasilis Liaskovitis [Mon, 23 Feb 2015 15:13:31 +0000 (16:13 +0100)]
glmemory: Fix transfer_pbo memory leak

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

9 years agogl/cocoa: reduce custom main loop latency
Julien Isorce [Sun, 22 Feb 2015 10:03:54 +0000 (10:03 +0000)]
gl/cocoa: reduce custom main loop latency

This fix a very slow rendering rate regression that only
happens when using gst-launch, i.e. in the case where
the main thread does not run any NSApp loop.

Git bisect reported it has been introduced by the commit
e10d2417e2fe7aa4733c076984339b0d61caa169:
"move to CGL and CAOpenGLLayer for rendering".

Then the commit 7d463576271e5a4cc1070780ba1a69c971e8be1d:
"gstglwindow_cocoa: fix slow render rate" attempted to fix
the slow rendering rate problem when using gst-launch.

At least for me it does not work. I tried several
combinations, for example to flush CA transactions in the
custom app loop, as mentioned in the doc, but the only solution
that fixes the slow rendering is by reducing the loop latency.
From what I tested, no need to put less than 60ms, even if the
framerate has an interval much lower (16.6ms for 60 fps).

9 years agoglmixer: fix some compiler warnings
Julien Isorce [Tue, 17 Feb 2015 23:50:51 +0000 (23:50 +0000)]
glmixer: fix some compiler warnings

i686-apple-darwin11-llvm-gcc-4.2

gstglmixer.h:43: error: redefinition of typedef ‘GstGLMixer’
gstglmixerpad.h:32: error: previous declaration of ‘GstGLMixer’ was here
gstglmixer.h:46: error: redefinition of typedef ‘GstGLMixerFrameData’
gstglmixerpad.h:33: error: previous declaration of ‘GstGLMixerFrameData’ was here

9 years agodocs: update
Tim-Philipp Müller [Sat, 21 Feb 2015 19:07:29 +0000 (19:07 +0000)]
docs: update

9 years agodocs: add opus elements to documentation
Tim-Philipp Müller [Sat, 21 Feb 2015 19:07:14 +0000 (19:07 +0000)]
docs: add opus elements to documentation

9 years agomxf-example: don't quit on Warning
Luis de Bethencourt [Sat, 21 Feb 2015 18:52:00 +0000 (18:52 +0000)]
mxf-example: don't quit on Warning

Don't quit on Warning.
Print out a message when there is an Error or Warning.

9 years agomxf-example: always show gtk window
Luis de Bethencourt [Sat, 21 Feb 2015 18:47:29 +0000 (18:47 +0000)]
mxf-example: always show gtk window

Show gtk window even when there are no tags, to always have visual feedback
about the pipeline running.

9 years agomxf-example: merge returns in g_value_to_string()
Luis de Bethencourt [Sat, 21 Feb 2015 17:35:03 +0000 (17:35 +0000)]
mxf-example: merge returns in g_value_to_string()

9 years agomxf-example: make bus_callback consistent
Luis de Bethencourt [Sat, 21 Feb 2015 17:25:51 +0000 (17:25 +0000)]
mxf-example: make bus_callback consistent

Simplify the bus_callback to make it consisten with other examples.

9 years agomxf-example: fix usage of argc and argv
Luis de Bethencourt [Sat, 21 Feb 2015 17:18:02 +0000 (17:18 +0000)]
mxf-example: fix usage of argc and argv

9 years agocamerabin examples: remove unneeded variable
Luis de Bethencourt [Sat, 21 Feb 2015 17:02:09 +0000 (17:02 +0000)]
camerabin examples: remove unneeded variable

ret is only used once, we don't need to store it in a variable for that.

9 years agogstglmemory: Remove now unused transfer_upload function.
Mathieu Duponchelle [Sat, 21 Feb 2015 13:42:05 +0000 (14:42 +0100)]
gstglmemory: Remove now unused transfer_upload function.

9 years agoglmemory: disable automatic pbo upload
Matthew Waters [Sat, 21 Feb 2015 12:29:22 +0000 (23:29 +1100)]
glmemory: disable automatic pbo upload

until we can track where the data is/or is going to be.

9 years agohlsdemux: select correct starting position for live streams
Alex Ashley [Fri, 20 Feb 2015 13:55:05 +0000 (13:55 +0000)]
hlsdemux: select correct starting position for live streams

When playing live HLS streams, the media playback starts from the
beginning of the media playlist. When playing a live HLS stream,
media playback should start from 3 fragments from the end of the
playlist.

See section 6.3.3. of the HLS draft [1]

This commit changes the logic to select 3 fragments from the end when
playing a live stream.

[1] http://tools.ietf.org/html/draft-pantos-http-live-streaming-12#page-29

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

9 years agoglememory: only store and act on the map flags on first/last map/unmap
Matthew Waters [Fri, 20 Feb 2015 07:42:23 +0000 (18:42 +1100)]
glememory: only store and act on the map flags on first/last map/unmap

Anytime else, we have no idea how to match up map and unmaps.
We also don't know exactly how the calling code is using us.
Also fixes the case where we're trying to transfer while someone else
is accessing our data pointer or texture resulting in mismatched video
frames.

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

9 years agoaggregator: Use src_lock to protect latency related members
Olivier Crete [Fri, 20 Feb 2015 02:21:56 +0000 (21:21 -0500)]
aggregator: Use src_lock to protect latency related members

One has to use the src_lock anyway to protect the min/max/live so they
can be notified atomically to the src thread to wake it up on changes,
such as property changes. So no point in having a second lock.

Also, the object lock was being held across a call to
GST_ELEMENT_WARNING, guaranteeing a deadlock.

9 years agoaggregator: Remove untrue comment
Olivier Crête [Thu, 19 Feb 2015 23:53:32 +0000 (18:53 -0500)]
aggregator: Remove untrue comment

9 years agoaggregator: Don't try to push tags while flush seeking
Olivier Crête [Thu, 19 Feb 2015 23:30:35 +0000 (18:30 -0500)]
aggregator: Don't try to push tags while flush seeking

The downstream segment could have been flushed already, so
need to re-send the segment event before re-sending the tags.

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

9 years agohlssink: reduce playlist's EXT-X-VERSION to 3
Guillaume Seguin [Thu, 19 Feb 2015 13:34:23 +0000 (14:34 +0100)]
hlssink: reduce playlist's EXT-X-VERSION to 3

We are not using any features greater than the 3rd version,
so reduce to what we actually use to make it compatible with
more players

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

9 years agortpopuspay: default encoding name to OPUS
Vincent Penquerc'h [Thu, 19 Feb 2015 14:30:10 +0000 (14:30 +0000)]
rtpopuspay: default encoding name to OPUS

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

9 years agortpopuspay: make caps writable before truncating them
Vincent Penquerc'h [Thu, 19 Feb 2015 14:05:06 +0000 (14:05 +0000)]
rtpopuspay: make caps writable before truncating them

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

9 years agortpopuspay: negotiate the encoding name
Vincent Penquerc'h [Thu, 5 Feb 2015 10:27:51 +0000 (10:27 +0000)]
rtpopuspay: negotiate the encoding name

Chrome uses a different encoding name that gstreamer.

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

9 years agosimplevideomarkdetect: move offset calculations out of inner loops
Vineeth T M [Thu, 19 Feb 2015 11:51:46 +0000 (17:21 +0530)]
simplevideomarkdetect: move offset calculations out of inner loops

the calculations for detecting the videomark is being repeated
in for loop unnecessarily. Moving this outside of for loop
such that the code need not be executed evertime the loop is executed.

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

9 years agoaggregator: Use the sinkpads iterator directly to query upstream latencies
Sebastian Dröge [Thu, 19 Feb 2015 09:04:28 +0000 (11:04 +0200)]
aggregator: Use the sinkpads iterator directly to query upstream latencies

While gst_aggregator_iterate_sinkpads() makes sure that every pad is only
visited once, even when the iterator has to resync, this is not all we have
to do for querying the latency. When the iterator resyncs we actually have
to query all pads for the latency again and forget our previous results. It
might have happened that a pad was removed, which influenced the result of
the latency query.

9 years agoaggregator: Move gst_aggregator_get_latency_unlocked() a bit
Sebastian Dröge [Thu, 19 Feb 2015 08:57:09 +0000 (10:57 +0200)]
aggregator: Move gst_aggregator_get_latency_unlocked() a bit

It was between another function and its helper function before, which was
confusing when reading the code as it had nothing to do with the other
functions.

9 years agorsninputselector: Fail the latency query if one of the upstream queries fails
Sebastian Dröge [Wed, 18 Feb 2015 23:28:30 +0000 (01:28 +0200)]
rsninputselector: Fail the latency query if one of the upstream queries fails

9 years agoliveadder: Fail the latency query if one of the upstream queries fails
Sebastian Dröge [Wed, 18 Feb 2015 23:28:20 +0000 (01:28 +0200)]
liveadder: Fail the latency query if one of the upstream queries fails

9 years agoaggregator: Fail the latency query if one of the upstream queries fails
Sebastian Dröge [Wed, 18 Feb 2015 23:28:06 +0000 (01:28 +0200)]
aggregator: Fail the latency query if one of the upstream queries fails

9 years agoavfvideosrc: Only set latency if we already know our caps
Sebastian Dröge [Wed, 18 Feb 2015 17:06:09 +0000 (19:06 +0200)]
avfvideosrc: Only set latency if we already know our caps

Otherwise we might set bogus values or GST_CLOCK_TIME_NONE.

Also make sure to reset the caps field to NULL after unreffing
the caps to prevent accidential use afterwards, and unref any
old caps before we remember new caps.

9 years agoaggregator: Document locking order
Olivier Crête [Wed, 18 Feb 2015 20:53:53 +0000 (15:53 -0500)]
aggregator: Document locking order

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

9 years agoaggregator: Rename confusinly named SRC_STREAM_LOCK macros to SRC_LOCK
Olivier Crête [Wed, 18 Feb 2015 20:11:14 +0000 (15:11 -0500)]
aggregator: Rename confusinly named SRC_STREAM_LOCK macros to SRC_LOCK

This will match the name of the lock itself. It is also not a stream
lock as it not recursive and not held while pushing.

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

9 years agoaggregator: Rename confusingly named stream lock to flush lock
Olivier Crête [Wed, 18 Feb 2015 20:06:01 +0000 (15:06 -0500)]
aggregator: Rename confusingly named stream lock to flush lock

This lock is not what is commonly known as a "stream lock" in GStremer,
it's not recursive and it's taken from the non-serialized FLUSH_START event.

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

9 years agoaggregator: Fix macro indendation
Olivier Crête [Wed, 18 Feb 2015 20:04:04 +0000 (15:04 -0500)]
aggregator: Fix macro indendation

Changes no code

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

9 years agogltransform: Fix includes of graphene headers
Nicolas Dufresne [Wed, 18 Feb 2015 22:10:48 +0000 (17:10 -0500)]
gltransform: Fix includes of graphene headers

The graphene-1.0 part should not be in the source code. This directory
is part of the cflags include. This is similar to gstreamer-1.0/
directory. This break compilation if the include directory where
graphene is installed is not in your include path.

9 years agomxfdemux: remove unneeded values
Luis de Bethencourt [Wed, 18 Feb 2015 19:07:42 +0000 (19:07 +0000)]
mxfdemux: remove unneeded values

No need to store the GstFlowReturn when we can check if it is not OK directly

9 years agomxfdemux: renaming GstFlowReturn variable
Luis de Bethencourt [Wed, 18 Feb 2015 18:33:20 +0000 (18:33 +0000)]
mxfdemux: renaming GstFlowReturn variable

Having a variable named ret in a static void function is very confusing since
this usually is to store what the function will return.

9 years agomxfdemux: remove ignored value
Luis de Bethencourt [Wed, 18 Feb 2015 18:00:48 +0000 (18:00 +0000)]
mxfdemux: remove ignored value

Value stored in ret will be ovewritten in the next iteration of the loop. Which
means it is never used.

Plus a style issue to make gst-indent happy and allow the commit.

9 years agoopusenc: Remove g_warnings() for the deprecated audio property
Sebastian Dröge [Wed, 18 Feb 2015 15:41:25 +0000 (17:41 +0200)]
opusenc: Remove g_warnings() for the deprecated audio property

Otherwise there are g_warnings() already when just using gst-inspect or
dumping a pipeline graph.

9 years agodashdemux: protect against malformed isombff format
Thiago Santos [Mon, 16 Feb 2015 02:16:52 +0000 (23:16 -0300)]
dashdemux: protect against malformed isombff format

Be more careful around malformed mpds that announce using
isombff profile but actually are regular mpds

9 years agod3dvideosink: Deactivate the fallback pool and unref the fallback buffer when resetting
Sebastian Dröge [Wed, 18 Feb 2015 10:45:22 +0000 (12:45 +0200)]
d3dvideosink: Deactivate the fallback pool and unref the fallback buffer when resetting

Otherwise we will still have a reference to the surface left, which would
prevent activating the sink again later. E.g. after we lost the device.

Hopefully fixes https://bugzilla.gnome.org/show_bug.cgi?id=744615

9 years agohlsdemux: remove unused define
Thiago Santos [Tue, 17 Feb 2015 14:53:49 +0000 (11:53 -0300)]
hlsdemux: remove unused define

9 years agomssdemux: use correct function to clear fragment info
Thiago Santos [Tue, 17 Feb 2015 14:41:27 +0000 (11:41 -0300)]
mssdemux: use correct function to clear fragment info

Just freeing the url won't reset the byte ranges and can lead to wrong
ranges being used.

9 years agodashdemux: depracate bandwidth-usage in favor of bitrate-limit
Thiago Santos [Tue, 17 Feb 2015 13:50:59 +0000 (10:50 -0300)]
dashdemux: depracate bandwidth-usage in favor of bitrate-limit

Bitrate-limit is already available in the baseclass and, even though
the bandwidth-usage name is better, hls and mss already used
bitrate-limit. This patch deprecates the bandwidth-usage and maps
it to the baseclass bitrate-limite.

9 years agoadaptivedemux: add bitrate-limit property
Thiago Santos [Tue, 17 Feb 2015 13:40:06 +0000 (10:40 -0300)]
adaptivedemux: add bitrate-limit property

Move the property from subclasses to adaptivedemux, it allows
selecing the percentage of the measured bitrate to be used when
selecting stream bitrates

9 years agohlssink: allow creation of 'infinite' playlist
Thiago Santos [Tue, 17 Feb 2015 13:04:30 +0000 (10:04 -0300)]
hlssink: allow creation of 'infinite' playlist

Allow the playlist-length to accept '0' as a value, indicating
that no segment should be removed from the playlist. This allows
generating playlists to be used as VOD when complete.

9 years agohlssink: remove unused attribute
Thiago Santos [Tue, 17 Feb 2015 13:04:27 +0000 (10:04 -0300)]
hlssink: remove unused attribute

the GFile attribute is never used

9 years agoadaptivedemux: add connection-speed property
Thiago Santos [Tue, 17 Feb 2015 13:03:44 +0000 (10:03 -0300)]
adaptivedemux: add connection-speed property

Allows to set a bitrate directly instead of measuring it internally
based on the received chunks. The connection-speed was removed from
mssdemux and hlsdemux as it is now in the base class

9 years agobasecamerabinsrc: don't use private GMutex implementation details
Tim-Philipp Müller [Tue, 17 Feb 2015 00:34:55 +0000 (00:34 +0000)]
basecamerabinsrc: don't use private GMutex implementation details

Don't use private GMutex implementation details to check
whether it has been freed already or not. Just clear mutex
and GCond unconditionally in free function, they are always
inited anyway, and the free function can't be called multiple
times either.

9 years agoaudiovisualizer: don't use private GMutex implementation details
Tim-Philipp Müller [Mon, 16 Feb 2015 23:54:28 +0000 (23:54 +0000)]
audiovisualizer: don't use private GMutex implementation details

Don't use private GMutex implementation details to check
whether it has been freed already or not. Just turn dispose
function into finalize function which will only be called
once, that way we can just clear the mutex unconditionally.

9 years agogl/cocoa: don't deadlock if the dispatch_sync is called from the main thread
Matthew Waters [Tue, 17 Feb 2015 07:17:59 +0000 (18:17 +1100)]
gl/cocoa: don't deadlock if the dispatch_sync is called from the main thread

Provide a helper function to check whether we are being called from
the main thread and act appropriately.

9 years agogl/calayer: only start drawing if the parent gl context is ready
Matthew Waters [Tue, 17 Feb 2015 05:41:17 +0000 (16:41 +1100)]
gl/calayer: only start drawing if the parent gl context is ready

otherwise we may try to use GstGLFuncs * that hasn't been set yet

9 years agogl/cocoa: small refactor of layer/view creation into the window
Matthew Waters [Tue, 17 Feb 2015 05:39:56 +0000 (16:39 +1100)]
gl/cocoa: small refactor of layer/view creation into the window

9 years agoglwindow: Remove assertion in gst_gl_window_show() for subclasses not implementing it
Sebastian Dröge [Mon, 16 Feb 2015 23:04:38 +0000 (01:04 +0200)]
glwindow: Remove assertion in gst_gl_window_show() for subclasses not implementing it

On Android and iOS we can't create a window ourselves, so also can't just show
one. That's not a problem and an assertion is not really needed here.

9 years agovtenc: Check if VTSessionCopyProperty() succeeds before using the result
Sebastian Dröge [Mon, 16 Feb 2015 10:35:09 +0000 (12:35 +0200)]
vtenc: Check if VTSessionCopyProperty() succeeds before using the result

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

9 years agoaggregator: drop GAP events until we handle them properly
Tim-Philipp Müller [Fri, 13 Feb 2015 23:45:20 +0000 (23:45 +0000)]
aggregator: drop GAP events until we handle them properly

9 years agosimplevideomark: refactor code
Vineeth T M [Thu, 12 Feb 2015 06:34:44 +0000 (12:04 +0530)]
simplevideomark: refactor code

the calculations for drawing the videomark is being repeated
in for loop unnecessarily. Moving this outside of for loop
such that the code need not be executed evertime the loop is executed.

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

9 years agotsdemux: Fix segment and segment event handling during seeking
Thiago Santos [Mon, 9 Feb 2015 14:21:35 +0000 (11:21 -0300)]
tsdemux: Fix segment and segment event handling during seeking

Always update the segment and not only for accurate seeking and always
send a new segment event after seeks.

For non-accurate force a reset of our segment info to start from
where our seek led us as we don't need to be accurate

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

9 years agoaudiomixer: use new gst_aggregator_pad_drop_buffer()
Tim-Philipp Müller [Fri, 13 Feb 2015 16:06:34 +0000 (16:06 +0000)]
audiomixer: use new gst_aggregator_pad_drop_buffer()

9 years agovideoaggregator: use new gst_aggregator_pad_drop_buffer()
Tim-Philipp Müller [Fri, 13 Feb 2015 16:03:53 +0000 (16:03 +0000)]
videoaggregator: use new gst_aggregator_pad_drop_buffer()

9 years agoaggregator: use new gst_aggregator_pad_drop_buffer()
Tim-Philipp Müller [Fri, 13 Feb 2015 15:53:19 +0000 (15:53 +0000)]
aggregator: use new gst_aggregator_pad_drop_buffer()

9 years agoaggregator: add gst_aggregator_pad_drop_buffer()
Tim-Philipp Müller [Fri, 13 Feb 2015 15:49:50 +0000 (15:49 +0000)]
aggregator: add gst_aggregator_pad_drop_buffer()

steal_buffer() + unref seems to be a wide-spread idiom
(which perhaps indicates that something is not quite
right with the way aggregator pad works currently).

9 years agoaggregator: only post latency message if anything changed
Tim-Philipp Müller [Thu, 12 Feb 2015 13:32:39 +0000 (13:32 +0000)]
aggregator: only post latency message if anything changed

Perhaps we should check for element state as well and
only post it if in PLAYING state.

9 years agotests: remove GST_DISABLE_PARSE guards from two tests that don't require it
Tim-Philipp Müller [Thu, 12 Feb 2015 15:48:07 +0000 (15:48 +0000)]
tests: remove GST_DISABLE_PARSE guards from two tests that don't require it

9 years agoopensles: Make debug category naming a bit more consistent
Arun Raghavan [Wed, 28 Jan 2015 06:42:26 +0000 (12:12 +0530)]
opensles: Make debug category naming a bit more consistent

9 years agoapplemedia: avfvideosrc: fix crash when non-GL memory is used
Alessandro Decina [Fri, 13 Feb 2015 08:12:20 +0000 (19:12 +1100)]
applemedia: avfvideosrc: fix crash when non-GL memory is used

9 years agoadaptivedemux: Fix logic in fragment_download_finish.
Mathieu Duponchelle [Thu, 5 Feb 2015 17:10:15 +0000 (18:10 +0100)]
adaptivedemux: Fix logic in fragment_download_finish.

This was preventing us from surfacing a meaningful error.

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

9 years agodashdemux: Fix handling of live streams with timeshift buffers.
Mathieu Duponchelle [Thu, 12 Feb 2015 21:06:17 +0000 (22:06 +0100)]
dashdemux: Fix handling of live streams with timeshift buffers.

By implementing get_live_seek_range.

As shown by :

gst-validate-1.0 playbin \
uri=http://dev-iplatforms.kw.bbc.co.uk/dash/news24-avc3/news24.php

This patch handles live seeking, by setting a live seek range
comprised between now - timeShiftBufferDepth and now.

The inteersting thing with this stream is that one can actually
ask fragments up to availabilityStartTime, but it seems quite clear
in the spec that content is only guaranteed to exist up to
timeShiftBufferDepth.

One can test live seeking this way :

gst-validate-1.0 playbin \
uri=http://dev-iplatforms.kw.bbc.co.uk/dash/news24-avc3/news24.php \
--set-scenario seek_back.scenario

with scenario being:

description, seek=true
seek, playback-time=position+5.0, start="position-600.0",
flags=accurate+flush

This example will play the stream, wait for five seconds, then seek back
to a position 10 minutes earlier.

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

9 years agoadaptivedemux: Set first segment time to segment start.
Mathieu Duponchelle [Thu, 12 Feb 2015 21:04:10 +0000 (22:04 +0100)]
adaptivedemux: Set first segment time to segment start.

Otherwise as long as a seek wasn't executed, the position was
reported incorrectly:

gst-validate-1.0 playbin \
uri=http://dev-iplatforms.kw.bbc.co.uk/dash/news24-avc3/news24.php

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

9 years agoglimagesink: Fix debug statement
Edward Hervey [Thu, 12 Feb 2015 16:33:50 +0000 (17:33 +0100)]
glimagesink: Fix debug statement

9 years agogl: Add/Update more debug statements
Edward Hervey [Thu, 12 Feb 2015 14:02:31 +0000 (15:02 +0100)]
gl: Add/Update more debug statements

Where possible, use the _OBJECT variants in order to track better from
which object the debug statement is coming from

Define (and use) GST_CAT_DEFAULT where applicable

Use GST_PTR_FORMAT where applicable

9 years agogl: Make glcontext debug category used in more places
Edward Hervey [Thu, 12 Feb 2015 13:58:14 +0000 (14:58 +0100)]
gl: Make glcontext debug category used in more places

As a bonus it makes the egl context debug messages visible now :)

9 years agoglimagesink: Sprinkle more debug
Edward Hervey [Thu, 12 Feb 2015 13:56:12 +0000 (14:56 +0100)]
glimagesink: Sprinkle more debug

9 years agodashdemux: set proper stream type to streams
Thiago Santos [Thu, 12 Feb 2015 14:15:31 +0000 (11:15 -0300)]
dashdemux: set proper stream type to streams

strncmp returns 0 when it compares equal and not a
boolean

9 years agoaudiomixer: calculate stream_time used to sync pad values correctly
Tim-Philipp Müller [Thu, 12 Feb 2015 11:26:44 +0000 (11:26 +0000)]
audiomixer: calculate stream_time used to sync pad values correctly

Use pad (input) segment to calculate the stream time from the
input timestamp, not the aggregator (output) segment.

9 years agoavfvideosrc: Only use the duration of the sample if it is valid
Sebastian Dröge [Thu, 12 Feb 2015 09:11:19 +0000 (11:11 +0200)]
avfvideosrc: Only use the duration of the sample if it is valid

9 years agoadaptivedemux: track per-fragment bitrates.
Mathieu Duponchelle [Tue, 27 Jan 2015 12:48:42 +0000 (13:48 +0100)]
adaptivedemux: track per-fragment bitrates.

And use the average to go up in resolution, and the last fragment
bitrate to go down.

This allows the demuxer to react rapidly to bitrate loss, and
be conservative for bitrate improvements.

+ Add a construct only property to define the number of fragments
  to consider when calculating the average moving bitrate.

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

9 years agox265enc: Add support for 10bit 4:2:0 and 4:4:4 formats
Sebastian Dröge [Wed, 11 Feb 2015 13:44:16 +0000 (14:44 +0100)]
x265enc: Add support for 10bit 4:2:0 and 4:4:4 formats