platform/upstream/gstreamer.git
10 years agogst-inspect: Fix yet another compiler warning
Sebastian Dröge [Mon, 10 Feb 2014 16:09:59 +0000 (17:09 +0100)]
gst-inspect: Fix yet another compiler warning

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

10 years agodocs: add missing seqnum file for distribution
Sebastian Rasmussen [Mon, 10 Feb 2014 07:00:36 +0000 (08:00 +0100)]
docs: add missing seqnum file for distribution

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

10 years agodocs: document GST_TAG_*ENCODING environment variables
Tim-Philipp Müller [Sun, 9 Feb 2014 16:53:55 +0000 (16:53 +0000)]
docs: document GST_TAG_*ENCODING environment variables

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

10 years agodocs: enable parallel build of subdirectories
Tim-Philipp Müller [Sun, 9 Feb 2014 16:47:53 +0000 (16:47 +0000)]
docs: enable parallel build of subdirectories

We can build gtk docs, ADM, PWG and FAQ in parallel.

10 years agocheck: add support for blacklisting checks via GST_CHECKS_IGNORE
Tim-Philipp Müller [Sun, 9 Feb 2014 16:38:10 +0000 (16:38 +0000)]
check: add support for blacklisting checks via GST_CHECKS_IGNORE

10 years agotests: fix leak in baseparse test
Tim-Philipp Müller [Sun, 9 Feb 2014 00:25:14 +0000 (00:25 +0000)]
tests: fix leak in baseparse test

Or rather make it not show up any more by moving
it from 'definitely lost' into 'possibly lost'.

10 years agotests: fix leak in systemclock test
Tim-Philipp Müller [Sat, 8 Feb 2014 23:39:03 +0000 (23:39 +0000)]
tests: fix leak in systemclock test

10 years agogst-inspect: Make clang happy with our g_vprintf() wrapper
Sebastian Dröge [Sat, 8 Feb 2014 15:42:55 +0000 (16:42 +0100)]
gst-inspect: Make clang happy with our g_vprintf() wrapper

10 years agowindows: Make GStreamer installation relocatable
Chun-wei Fan [Thu, 6 Feb 2014 06:18:31 +0000 (14:18 +0800)]
windows: Make GStreamer installation relocatable

Use the technique that is now done in GTK+ so that the plugins do not have
to be installed in c:\gstreamer\lib\<debug>\gstreamer-$(GSTApiVersion),
but can be installed in
<parent_folder_of_gstreamer_main_dll>\lib\<debug>\gstreamer-$(GSTApiVersion),
or as per g_win32_get_package_installation_directory_of_module() allows.

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

10 years agogst: clear floating references for GstTask, GstTaskPool and GstCollectPads
Brendan Long [Wed, 30 Oct 2013 22:02:35 +0000 (17:02 -0500)]
gst: clear floating references for GstTask, GstTaskPool and GstCollectPads

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

10 years agodocs: gst_pad_new_from_*_template and gst_buffer_pool_new constructors return floatin...
Brendan Long [Wed, 30 Oct 2013 22:02:02 +0000 (17:02 -0500)]
docs: gst_pad_new_from_*_template and gst_buffer_pool_new constructors return floating references

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

10 years agocheck: Remove a minor leak in unit test
Edward Hervey [Wed, 5 Feb 2014 09:11:43 +0000 (10:11 +0100)]
check: Remove a minor leak in unit test

Makes valgrind happy

10 years agomanual: Fix build by using the correct C file name
Sebastian Dröge [Tue, 4 Feb 2014 21:23:06 +0000 (22:23 +0100)]
manual: Fix build by using the correct C file name

10 years agomanual: Clean up code a bit to be suitable for the docs
Sebastian Dröge [Tue, 4 Feb 2014 20:36:18 +0000 (21:36 +0100)]
manual: Clean up code a bit to be suitable for the docs

10 years agomanual: Replace manual's effectswitch.c with newer test-effect-switch.c
Todd Agulnick [Fri, 3 Jan 2014 15:25:37 +0000 (07:25 -0800)]
manual: Replace manual's effectswitch.c with newer test-effect-switch.c

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

10 years agotests: add caps features unit tests
Matthieu Bouron [Wed, 29 Jan 2014 14:39:19 +0000 (14:39 +0000)]
tests: add caps features unit tests

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

10 years agocaps: When getting capsfeatures and none are there, store sysmem capsfeatures
Sebastian Dröge [Tue, 4 Feb 2014 17:42:02 +0000 (18:42 +0100)]
caps: When getting capsfeatures and none are there, store sysmem capsfeatures

... instead of returning a reference to a global instance. The caller might
want to change the global instance otherwise, which causes funny effects like
all global instances being changed and at the same time nothing in the caps
being changed.

As the caps might be immutable while we do this we have to do some magic
with atomic operations.

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

10 years agocaps: Don't get us sysmem capsfeatures if we just check for fixed caps
Sebastian Dröge [Tue, 4 Feb 2014 17:03:47 +0000 (18:03 +0100)]
caps: Don't get us sysmem capsfeatures if we just check for fixed caps

10 years agocapsfeatures: Make sure that the static ANY/EMPTY capsfeatures are never mutable
Sebastian Dröge [Tue, 4 Feb 2014 16:48:54 +0000 (17:48 +0100)]
capsfeatures: Make sure that the static ANY/EMPTY capsfeatures are never mutable

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

10 years agodocs: fix more gtk-doc warnings
Stefan Sauer [Fri, 31 Jan 2014 08:14:41 +0000 (09:14 +0100)]
docs: fix more gtk-doc warnings

10 years agodocs: unhide docs for allocator
Stefan Sauer [Fri, 31 Jan 2014 07:35:41 +0000 (08:35 +0100)]
docs: unhide docs for allocator

Unhinde the class docs. Tech gtk-doc about GST_EXPORTS.

10 years agobufferpool: more tests and small doc fixes
Stefan Sauer [Fri, 31 Jan 2014 07:08:37 +0000 (08:08 +0100)]
bufferpool: more tests and small doc fixes

10 years agotools: Support non-ASCII tags
Sebastian Dröge [Thu, 30 Jan 2014 20:24:21 +0000 (21:24 +0100)]
tools: Support non-ASCII tags

By calling setlocale() to get us multi-byte/UTF-8 support.

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

10 years agooutputselector: respect the 'negotiation-mode' property
Thiago Santos [Thu, 30 Jan 2014 06:22:56 +0000 (03:22 -0300)]
outputselector: respect the 'negotiation-mode' property

If the segment event is allowed to be pushed to all pads it
will lead to an assertion of 'sticky event misordering:
segment received before caps' in case the pad-negotiation-mode
is set to 'active' or 'none'.

This patch fixes this by making all sticky events follow the
property like the caps event to prevent misordering warnings.

When a new pad is activated the current sticky events on the
sinkpad are forwarded to it in the proper order.

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

10 years agopoolstress: print speedup
Stefan Sauer [Thu, 30 Jan 2014 11:54:20 +0000 (12:54 +0100)]
poolstress: print speedup

10 years agobufferpool: misc cleanups
Stefan Sauer [Thu, 30 Jan 2014 11:42:02 +0000 (12:42 +0100)]
bufferpool: misc cleanups

Review the documentation, comments and logging. Set the initial size to 16 as
the size is rounded up to the next power of two anyway.

10 years agobufferpool: add a new testsuite or the pool
Stefan Sauer [Thu, 30 Jan 2014 07:11:12 +0000 (08:11 +0100)]
bufferpool: add a new testsuite or the pool

Start with some basic tests.

10 years agobufferpool: avoid excessive GstPoll activity
Wim Taymans [Thu, 30 Jan 2014 11:26:05 +0000 (12:26 +0100)]
bufferpool: avoid excessive GstPoll activity

Keep an extra write ref on the control socket. This ensures that we
avoid a read/write on the socket when going from non-empty->empty->not-empty.
We remove the write ref only when we actually are empty and we need to
wait for flushing or a new buffer.

This makes the bufferpool benchmark about 30% faster than the pure
malloc implementation.

10 years agopoll: improve debug
Wim Taymans [Thu, 30 Jan 2014 11:25:33 +0000 (12:25 +0100)]
poll: improve debug

Add object pointer in debug lines.

10 years agoAutomatic update of common submodule
Edward Hervey [Thu, 30 Jan 2014 09:43:36 +0000 (10:43 +0100)]
Automatic update of common submodule

From d48bed3 to 1a07da9

10 years agopart-toc: emphasize that the later chapters are design draft ideas
Stefan Sauer [Wed, 29 Jan 2014 21:46:48 +0000 (22:46 +0100)]
part-toc: emphasize that the later chapters are design draft ideas

10 years agopart-toc: add format specific information
Stefan Sauer [Wed, 29 Jan 2014 19:20:56 +0000 (20:20 +0100)]
part-toc: add format specific information

10 years agopoolstress: code cleanups
Stefan Sauer [Wed, 29 Jan 2014 17:21:34 +0000 (18:21 +0100)]
poolstress: code cleanups

Add a few comments. Tell in the results, which number are from which test.

10 years agogst-uninstalled: use print as function
Nicola Murino [Wed, 29 Jan 2014 12:20:19 +0000 (13:20 +0100)]
gst-uninstalled: use print as function

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

10 years agotests: capsfilter: add test for pending_events pushing
Thiago Santos [Tue, 28 Jan 2014 14:58:53 +0000 (11:58 -0300)]
tests: capsfilter: add test for pending_events pushing

make sure that pending events are pushed when caps are already
set when a buffer is received

10 years agocapsfilter: do not forget to push pending events
Thiago Santos [Tue, 28 Jan 2014 14:12:56 +0000 (11:12 -0300)]
capsfilter: do not forget to push pending events

Push pending events before buffers if caps is already
set

10 years agomultiqueue: do not reduce single queue below current level
Arnaud Vrac [Fri, 24 Jan 2014 18:19:08 +0000 (19:19 +0100)]
multiqueue: do not reduce single queue below current level

When the single queue size was just bumped by 1 to allow more buffers to
be added, the buffers limit could be reduced to the current level when
setting the max-size-buffers property. This would result in a stall
since the queue would not grow anymore at this point.

Prevent this by not reducing a single queue size below the current
number of buffers + 1.

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

10 years agobasesrc: do not forget to clear the forced_eos flag
Thiago Santos [Fri, 24 Jan 2014 16:20:49 +0000 (13:20 -0300)]
basesrc: do not forget to clear the forced_eos flag

otherwise it will always use the seqnum of the event
sent by the application

10 years agobasesrc: preserve seqnum of eos events sent by the user
Thiago Santos [Thu, 23 Jan 2014 18:52:51 +0000 (15:52 -0300)]
basesrc: preserve seqnum of eos events sent by the user

Store the eos event seqnum and use it when creating the
new eos event to be pushed downstream. To know if the eos
was caused by the eos events received on send_event, a
'forced_eos' flag is used to use the correct seqnum on
the event pushed downstream.

Useful if the application wants to check if the EOS message
was generated from its own pushed EOS or from another source
(stream really finished).

Also adds a test for this

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

10 years agodocs: design: add part-seqnums
Thiago Santos [Thu, 23 Jan 2014 18:34:27 +0000 (15:34 -0300)]
docs: design: add part-seqnums

Hopefully clarifies how seqnums should be used and copied from
events to events/messages when those are handled.

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

10 years agomultiqueue: Break the loop immediately if we found an empty queue
Sebastian Dröge [Fri, 24 Jan 2014 08:28:05 +0000 (09:28 +0100)]
multiqueue: Break the loop immediately if we found an empty queue

No need to continue looking at all the others

10 years agomultiqueue: Allow growing a queue if all other queues are not linked
Per x Johansson [Thu, 23 Jan 2014 14:47:23 +0000 (15:47 +0100)]
multiqueue: Allow growing a queue if all other queues are not linked

In the case where one singlequeue is full and all other are not linked, the
growing of the full queue does not work correctly. The result depends on if
the full queue is last in the queue list or not.

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

10 years agopad: Minor code cleanup
Sebastian Dröge [Wed, 22 Jan 2014 10:10:01 +0000 (11:10 +0100)]
pad: Minor code cleanup

!check_sticky()==GST_FLOW_OK is a bit confusing, compared to
check_sticky()!=GST_FLOW_OK.

10 years agoparse: Additional tests for parser
Fabian Kirsch [Mon, 20 Jan 2014 14:26:54 +0000 (15:26 +0100)]
parse: Additional tests for parser

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

10 years agoiterator: Properly copy mutexes around when creating a copy of a filter iterator
Sebastian Dröge [Sat, 18 Jan 2014 13:48:35 +0000 (14:48 +0100)]
iterator: Properly copy mutexes around when creating a copy of a filter iterator

10 years agoiterator: Add unit tests for filtering, recursive filtering and locking
Sebastian Dröge [Sat, 18 Jan 2014 13:34:45 +0000 (14:34 +0100)]
iterator: Add unit tests for filtering, recursive filtering and locking

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

10 years agoiterator: Preserve the master lock when creating recursive iterator filters with...
Stewart Brodie [Sat, 18 Jan 2014 13:43:20 +0000 (14:43 +0100)]
iterator: Preserve the master lock when creating recursive iterator filters with the same lock

This way we make sure that a) the lock is always taken when checking
the cookie and calling the iterator's next functions and b) it is
not taken while calling any of the iterator filter functions.

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

10 years agopad: fix sticky event leak after sticky_events_foreach
Thiago Santos [Sat, 18 Jan 2014 01:53:01 +0000 (22:53 -0300)]
pad: fix sticky event leak after sticky_events_foreach

events_foreach adds an extra ref when giving the event to the
user function. In case it was unrefed by the user, this extra ref
disappeared, but events_foreach still should unref again to
lose its own ref before removing the event from the array.

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

10 years agoinfo: move some env-var checks from gst to gstinfo as well
Stefan Sauer [Thu, 16 Jan 2014 19:11:03 +0000 (20:11 +0100)]
info: move some env-var checks from gst to gstinfo as well

We were doing some log related initialisation in gst.c after calling
_priv_gst_debug_init(). Just move it there for consistency.

10 years agocapsfilter: Only set caps on the srcpad if it's activated in push mode
Sebastian Dröge [Thu, 16 Jan 2014 17:16:35 +0000 (18:16 +0100)]
capsfilter: Only set caps on the srcpad if it's activated in push mode

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

10 years agoparse: Some minor fixes
Fabian Kirsch [Thu, 16 Jan 2014 11:28:47 +0000 (12:28 +0100)]
parse: Some minor fixes

Fix destructor segfaulting
Expect 0 grammar-ambiguities
Fix order of bin-properties assignment

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

10 years agoinputselector: removing duplicate field position
Thiago Santos [Wed, 15 Jan 2014 22:28:01 +0000 (19:28 -0300)]
inputselector: removing duplicate field position

It is already stored inside the GstSegment struct and
was only duplicating information. Also removed some
weird positon if/else that would possibly change the
segment that was going to be pushed downstream

10 years agomultiqueue: prevent buffering forever with playbin
Thiago Santos [Wed, 15 Jan 2014 03:12:26 +0000 (00:12 -0300)]
multiqueue: prevent buffering forever with playbin

When prerolling/buffering, multiqueue has its buffers limit set
to 0, this means it can take an infinite amount of buffers.

When prerolling/buffering finishes, its limit is set back to 5, but
only if the current level is lower than 5. It should (almost) never be
and this will cause prerolling/buffering to need to wait to reach the
hard bytes and time limits, which are much higher.

This can lead to a very long startup time. This patch fixes this
by setting the single queues to the max(current, new_value) instead
of simply ignoring the new value and letting it as infinite(0)

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

10 years agosegment: gst_segment_offset_running_time() will be available in 1.2.3
Sebastian Dröge [Wed, 15 Jan 2014 10:12:08 +0000 (11:12 +0100)]
segment: gst_segment_offset_running_time() will be available in 1.2.3

10 years agodoc: Update sections with the new rounding macros
Nicolas Dufresne [Tue, 14 Jan 2014 21:15:21 +0000 (16:15 -0500)]
doc: Update sections with the new rounding macros

10 years agoutil: Add GST_ROUND_UP_N and GST_ROUND_DOWN_N
Nicolas Dufresne [Tue, 14 Jan 2014 21:15:02 +0000 (16:15 -0500)]
util: Add GST_ROUND_UP_N and GST_ROUND_DOWN_N

These are generic rounding macro that works for any power of two.

10 years agotee: Add unit test for requesting pad names
Sebastian Dröge [Tue, 14 Jan 2014 15:47:38 +0000 (16:47 +0100)]
tee: Add unit test for requesting pad names

10 years agotee: Make sure to give pads the name that was requested
Sebastian Dröge [Tue, 14 Jan 2014 15:45:53 +0000 (16:45 +0100)]
tee: Make sure to give pads the name that was requested

Also check for uniqueness and make sure we create a new
pad index properly if some were requested with names but
the new one is not.

10 years agoparse: Make sure to create and link chains in the order as written
Sebastian Dröge [Tue, 14 Jan 2014 14:52:26 +0000 (15:52 +0100)]
parse: Make sure to create and link chains in the order as written

Make this work again:
audiotestsrc ! tee name=t  t.src_0 ! queue ! fakesink  t.src_1 ! queue ! fakesink
and this fail again:
audiotestsrc ! tee name=t  t.src_1 ! queue ! fakesink  t.src_0 ! queue ! fakesink

as tee just counts itself and does not care about the pad names we request
from it.

10 years agoparse: Remove some C99-style comments
Sebastian Dröge [Tue, 14 Jan 2014 12:45:34 +0000 (13:45 +0100)]
parse: Remove some C99-style comments

10 years agoparse: Use GSlice for allocating and freeing links and chains
Sebastian Dröge [Tue, 14 Jan 2014 12:44:11 +0000 (13:44 +0100)]
parse: Use GSlice for allocating and freeing links and chains

10 years agoparse: Add comment about why we disable the "tracing"
Sebastian Dröge [Tue, 14 Jan 2014 12:42:20 +0000 (13:42 +0100)]
parse: Add comment about why we disable the "tracing"

It did not print anything useful before anyway, everything
was commented out.

Also remove some unneeded struct members.

10 years agoparse-launch: Add some more failing pipelines
Sebastian Dröge [Tue, 14 Jan 2014 12:36:24 +0000 (13:36 +0100)]
parse-launch: Add some more failing pipelines

Also convert some comments about valgrind warnings to
FIXME comments. These were leaking since some time already.

10 years agoparse: Refactor grammar, make it more consistent and fix conflicts
Fabian Kirsch [Fri, 10 Jan 2014 20:10:17 +0000 (21:10 +0100)]
parse: Refactor grammar, make it more consistent and fix conflicts

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

10 years agodocs: ensure GstBufferPools shows up as with GObject features
Stefan Sauer [Mon, 13 Jan 2014 19:48:32 +0000 (20:48 +0100)]
docs: ensure GstBufferPools shows up as with GObject features

GstBufferPool is a GstObject, add the _get_type function to the types file.

10 years agotests: baseparse: add test for reverse playback on passthrough
Thiago Santos [Mon, 13 Jan 2014 11:37:37 +0000 (08:37 -0300)]
tests: baseparse: add test for reverse playback on passthrough

Baseparse stores buffers for reverse playback to push on the next
DISCONT, the issue was that it wouldn't ever check for a discont
on passthrough mode as it skips all real parsing. This test
was create to verify this issue and prevent it from happening again

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

10 years agotests: baseparse: add basic test for baseparse
Thiago Santos [Sat, 11 Jan 2014 13:49:17 +0000 (10:49 -0300)]
tests: baseparse: add basic test for baseparse

Just a small test to check that basic playback works

10 years agobaseparse: do not accumulate buffers on passthrough mode
Thiago Santos [Fri, 10 Jan 2014 12:10:06 +0000 (09:10 -0300)]
baseparse: do not accumulate buffers on passthrough mode

If on passthrough during reverse playback, do not accumulate buffers as
baseparse will never check for DISCONT flag to push those buffers.
So just push buffers downstream as if it was forward playback.

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

10 years agobasesrc: don't confuse GST_PAD_MODE_NONE and PULL
Stefan Sauer [Mon, 6 Jan 2014 20:47:22 +0000 (21:47 +0100)]
basesrc: don't confuse GST_PAD_MODE_NONE and PULL

Use a switch-case to explicitly handle all pad-modes. This way we don't log an error when the pad is not yet activated.

10 years agogstobject: add FIXME and docs for the disabled notify on parent
Stefan Sauer [Thu, 9 Jan 2014 06:56:55 +0000 (07:56 +0100)]
gstobject: add FIXME and docs for the disabled notify on parent

We haven't found a way to re-enable emitting notify and deep-notify for parent
changes. Add a FIXME-2.0 and a doc blob on the property. See #693281.

10 years agobaseparse: do not ignore TIME segments
Thiago Santos [Wed, 8 Jan 2014 19:28:54 +0000 (16:28 -0300)]
baseparse: do not ignore TIME segments

TIME segments are being ignored and a standard initialized
segment is used instead. This causes issues as not properly detecting
reverse playback or not cliping output based on the segment.

This seems to be a regression from one of the GstSegment/GstEvent
redesigns on the 0.10 -> 1.0 transition

10 years agotests: improve check, also check stream-time
Wim Taymans [Wed, 8 Jan 2014 14:47:10 +0000 (15:47 +0100)]
tests: improve check, also check stream-time

10 years agotests: add unit test for segment _offset_running_time()
Wim Taymans [Wed, 8 Jan 2014 14:31:28 +0000 (15:31 +0100)]
tests: add unit test for segment _offset_running_time()

Add a unit test to check that positive and negative offsets are applied
correctly in various cases.

10 years agosegment: take offset into account in _to_position()
Wim Taymans [Wed, 8 Jan 2014 14:23:00 +0000 (15:23 +0100)]
segment: take offset into account in _to_position()

Take the offset into account when converting between running-time and
segment positions.

10 years agopad: use new segment offset method to apply the offset
Wim Taymans [Wed, 8 Jan 2014 13:57:04 +0000 (14:57 +0100)]
pad: use new segment offset method to apply the offset

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

10 years agosegment: add method to offset the segment running-time
Wim Taymans [Wed, 8 Jan 2014 13:54:47 +0000 (14:54 +0100)]
segment: add method to offset the segment running-time

Add a method that can apply an offset to the calculated running-time of
a segment.

10 years agocollectpads: take offset into account for expected segment position
Wim Taymans [Wed, 8 Jan 2014 13:52:04 +0000 (14:52 +0100)]
collectpads: take offset into account for expected segment position

The firt valid segment position is start + offset.
Also add some more debug and a FIXME

10 years agoinfo: debug segment offset field as well
Wim Taymans [Wed, 8 Jan 2014 13:50:29 +0000 (14:50 +0100)]
info: debug segment offset field as well

10 years agomultiqueue: Allow growing a queue if all other queues are not linked
Sebastian Dröge [Wed, 8 Jan 2014 08:53:09 +0000 (09:53 +0100)]
multiqueue: Allow growing a queue if all other queues are not linked

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

10 years agofilesrc: don't try to seek to -1 offset
Wim Taymans [Tue, 7 Jan 2014 15:18:37 +0000 (16:18 +0100)]
filesrc: don't try to seek to -1 offset

The offset can be -1 when we are configured in TIME format. Instead of
failing the seek and erroring, do what and offset of -1 is supposed to
do and simply read from the current offset.

10 years agobasesrc: demote error to warning
Stefan Sauer [Mon, 6 Jan 2014 20:04:32 +0000 (21:04 +0100)]
basesrc: demote error to warning

This is not an error. A subclass returning FALSE for is_seekable() is one way of
saying that we can't operate in pull mode.

10 years agomultiqueue: Fix hanging if shut down while handling a serialized query
YanpingZhang [Fri, 3 Jan 2014 03:47:23 +0000 (11:47 +0800)]
multiqueue: Fix hanging if shut down while handling a serialized query

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

10 years agobaseparse: remove pending_segment as it was being misused
Thiago Santos [Thu, 2 Jan 2014 19:22:37 +0000 (16:22 -0300)]
baseparse: remove pending_segment as it was being misused

It wasn't required, instead baseparse was using it to check the media
caps to identify if it was handling audio or video.

The pending_segment was removed and a checked_media boolean
replaced it for a more accurate naming.

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

10 years agobaseparse: push pending events before GAP event
Thiago Santos [Thu, 2 Jan 2014 16:43:54 +0000 (13:43 -0300)]
baseparse: push pending events before GAP event

A GAP event is handled as an empty buffer by sinks and they expect
to receive start up events before GAP events (like a segment).

This is important specially if there is a GAP at the beginning of
a stream (before any buffers) so that the segment event can be
pushed downstream before the GAP

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

10 years agobaseparse: refactor pending events pushing
Thiago Santos [Thu, 2 Jan 2014 16:41:25 +0000 (13:41 -0300)]
baseparse: refactor pending events pushing

Refactor code repeated 3 times to a common function

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

10 years agodesign/part-toc.txt: update design docs
Stefan Sauer [Thu, 2 Jan 2014 19:17:58 +0000 (20:17 +0100)]
design/part-toc.txt: update design docs

10 years agopad: Add unit test for adding/removing blocking probes while a pad is blocked
Sebastian Dröge [Thu, 2 Jan 2014 12:34:52 +0000 (13:34 +0100)]
pad: Add unit test for adding/removing blocking probes while a pad is blocked

And make sure that these new probes are actually called if they should
instead of silently blocking the pad forever.

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

10 years agopad: Check if new probes need to be called when adding/removing some
Sebastian Dröge [Thu, 2 Jan 2014 12:33:20 +0000 (13:33 +0100)]
pad: Check if new probes need to be called when adding/removing some

This allows blocking a pad, add a new blocking probe, removing
the first probe and then having the second probe called. Which
could then decide that data-flow should actually continue
instead of blocking now.

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

10 years agotee: Remove dyn lock
Sebastian Dröge [Thu, 2 Jan 2014 10:13:27 +0000 (11:13 +0100)]
tee: Remove dyn lock

It was used for pad-alloc in 0.10 but currently is completely unused
and not necessary. All pad access is protected by the tee object lock
and keeping another reference to the current pad.

10 years agotee: Keep another ref to our one and only srcpad around while pushing
Sebastian Dröge [Thu, 2 Jan 2014 10:09:59 +0000 (11:09 +0100)]
tee: Keep another ref to our one and only srcpad around while pushing

A pad probe on that pad might otherwise just release the pad, drop
the last reference and cause great misery.

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

11 years agopad: Keep an extra ref of the pad when calling an IDLE probe immediately
Sebastian Dröge [Mon, 30 Dec 2013 18:03:22 +0000 (19:03 +0100)]
pad: Keep an extra ref of the pad when calling an IDLE probe immediately

The callback might destroy the pad.

11 years agopad: Only call IDLE probes if we are actually idle
Sebastian Dröge [Mon, 30 Dec 2013 17:44:24 +0000 (18:44 +0100)]
pad: Only call IDLE probes if we are actually idle

Also only check the data types for non-IDLE probes. When we
are idle, we have no data type obviously.

Previously we were calling IDLE probes during data flow whenever
a non-blocking probe would be called. The pad was usually not idle
at that time.

11 years agonettimeprovider: remove unnecessary NULL check
Tim-Philipp Müller [Mon, 30 Dec 2013 16:10:08 +0000 (16:10 +0000)]
nettimeprovider: remove unnecessary NULL check

Error is never NULL when we break out of the loop.

COVERITY CID 1037151

11 years agoRevert "nettimeprovider: Remove dead code"
Tim-Philipp Müller [Mon, 30 Dec 2013 16:05:47 +0000 (16:05 +0000)]
Revert "nettimeprovider: Remove dead code"

This reverts commit 9649cd4ca19a75d0319117a77a7609e4b8c96533.

This is not right, and it's also not what coverity
is complaining about.

11 years agoqueue: Remove unneeded checks
Edward Hervey [Mon, 30 Dec 2013 15:47:32 +0000 (16:47 +0100)]
queue: Remove unneeded checks

item is guaranteed to be non-null.

COVERITY CID 1037152
COVERITY CID 1037153

11 years agonettimeprovider: Remove dead code
Edward Hervey [Mon, 30 Dec 2013 15:34:08 +0000 (16:34 +0100)]
nettimeprovider: Remove dead code

err is always NULL by the point we reach this line

COVERITY CID 1037151

11 years agotaglist: fix since marker again (1.3 -> 1.4)
Stefan Sauer [Mon, 30 Dec 2013 13:47:19 +0000 (14:47 +0100)]
taglist: fix since marker again (1.3 -> 1.4)

Since markers should point to the appropriate stable version.

11 years agotaglist: fix since-marker in docs (we're in 1.3.X)
Stefan Sauer [Mon, 30 Dec 2013 13:40:40 +0000 (14:40 +0100)]
taglist: fix since-marker in docs (we're in 1.3.X)

11 years agotaglist: add a tag for midi base note numbers
Stefan Sauer [Mon, 30 Dec 2013 13:22:37 +0000 (14:22 +0100)]
taglist: add a tag for midi base note numbers

Audio files containing sampled instruments can have metadata describing the note
that was played on the instrument.

11 years agopad: Don't ignore probe callback return value when immediately calling IDLE probe
Sebastian Dröge [Mon, 30 Dec 2013 09:01:39 +0000 (10:01 +0100)]
pad: Don't ignore probe callback return value when immediately calling IDLE probe

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