platform/upstream/gstreamer.git
10 years agotests: multiqueue: fix eos count on test for not-linked case
Thiago Santos [Fri, 14 Mar 2014 16:32:17 +0000 (13:32 -0300)]
tests: multiqueue: fix eos count on test for not-linked case

From the test case:

/* This test creates a multiqueue with 2 streams. One receives
 * a constant flow of buffers, the other only gets one buffer, and then
 * new-segment events, and returns not-linked. The multiqueue should not fill.
 */

If one of the queues goes EOS and the other returns NOT_LINKED the stream
can be considerered EOS as a NOT_LINKED means that one of the branches has no
sink downstream that will block the EOS message posting.

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

10 years agoadapter: Adapt gst_adapter_copy() for bindings
Sebastian Rasmussen [Sat, 1 Mar 2014 22:18:44 +0000 (23:18 +0100)]
adapter: Adapt gst_adapter_copy() for bindings

This is done by introducing a new gst_adapter_copy_bytes() call that
returns a GBytes structure.

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

10 years agodocs: fix multiqueue docs for new template names foo_%d -> foo_%u
Tim-Philipp Müller [Fri, 14 Mar 2014 18:40:31 +0000 (18:40 +0000)]
docs: fix multiqueue docs for new template names foo_%d -> foo_%u

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

10 years agodocs: update plugin docs
Tim-Philipp Müller [Tue, 11 Mar 2014 21:55:46 +0000 (21:55 +0000)]
docs: update plugin docs

10 years agopad: simplify gst_pad_link_get_name() and fix Since marker
Tim-Philipp Müller [Tue, 11 Mar 2014 21:44:39 +0000 (21:44 +0000)]
pad: simplify gst_pad_link_get_name() and fix Since marker

Has added benefit that compiler might warn if more values
are added to the enum.

10 years agopad: add debug helper for GstPadLinkReturn names
Stefan Sauer [Tue, 11 Mar 2014 20:46:14 +0000 (21:46 +0100)]
pad: add debug helper for GstPadLinkReturn names

Add a helper like gst_flow_get_name() for GstPadLinkReturn. Use this in core.
API: gst_pad_link_get_name()

10 years agotee: use store_sticky events add add more logging
Stefan Sauer [Tue, 11 Mar 2014 20:12:15 +0000 (21:12 +0100)]
tee: use store_sticky events add add more logging

Use the pad as object for logging to get more context. Use
gst_pad_store_sticky_event() instead of sending the event. This avoids a warning
as here the pad is not yet linked and we actually don't want to send anyway.

10 years agoqueue2: if buffering is disabled while buffering, post 100% message
Thiago Santos [Mon, 10 Mar 2014 13:00:28 +0000 (10:00 -0300)]
queue2: if buffering is disabled while buffering, post 100% message

Avoids stall waiting for buffering to reach 100%

10 years agoqueue2: remove unused variable
Thiago Santos [Mon, 10 Mar 2014 12:49:09 +0000 (09:49 -0300)]
queue2: remove unused variable

buffering_iteration was never used

10 years agoqueue: queue2: preserve last flow result when pushing events
Thiago Santos [Mon, 10 Mar 2014 12:49:07 +0000 (09:49 -0300)]
queue: queue2: preserve last flow result when pushing events

Avoids mistakenly returning _OK when downstream is still
_NOT_LINKED on subsequent received pad pushes

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

10 years agomultiqueue: if buffering is disabled while buffering, post 100% message
Thiago Santos [Mon, 10 Mar 2014 12:49:05 +0000 (09:49 -0300)]
multiqueue: if buffering is disabled while buffering, post 100% message

Avoids stall waiting for buffering to reach 100%

10 years agomultiqueue: do not reset last push result when pushing events
Thiago Santos [Mon, 10 Mar 2014 12:48:58 +0000 (09:48 -0300)]
multiqueue: do not reset last push result when pushing events

Use the last result as a default when pushing a item from a single queue,
otherwise the status gets reset to _OK when pushing events.

This causes problems when mistakenly activating a not-linked stream
that is being ignored upstream as it is not being used (adaptive
scenarios), it will make the multiqueue post a buffering message
on a pad that won't receive buffers

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

10 years agobuffer: invert meaning of GST_BUFFER_FLAG_TAG_MEMORY
Tim-Philipp Müller [Fri, 7 Mar 2014 20:43:44 +0000 (20:43 +0000)]
buffer: invert meaning of GST_BUFFER_FLAG_TAG_MEMORY

It's nicer to only have it set when something noteworthy
happened and otherwise unset.

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

10 years agopad: fix gst_pad_add_probe() return value docs
Stefan Sauer [Thu, 6 Mar 2014 21:51:57 +0000 (22:51 +0100)]
pad: fix gst_pad_add_probe() return value docs

Also fix comment typos and add more detail in the logs.

10 years agofakesink, identity, fakesrc: fix debug printing if TAG_MEMORY buffer flag
Tim-Philipp Müller [Thu, 6 Mar 2014 20:40:46 +0000 (20:40 +0000)]
fakesink, identity, fakesrc: fix debug printing if TAG_MEMORY buffer flag

The IN_CAPS flag does not exist any more.

10 years agoghostpad: use gst_pad_get_peer to acquire a reference to the target pad
George Kiagiadakis [Thu, 6 Mar 2014 11:01:40 +0000 (13:01 +0200)]
ghostpad: use gst_pad_get_peer to acquire a reference to the target pad

This ensures that the lock of the internal pad is held while referencing
it's peer (= the target pad), which ensures that the peer is not
going to be unlinked/destroyed in the meantime.

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

10 years agoghostpad: hold a reference to the target pad while unlinking it
George Kiagiadakis [Thu, 6 Mar 2014 10:40:23 +0000 (12:40 +0200)]
ghostpad: hold a reference to the target pad while unlinking it

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

10 years ago.gitignore: Ignore gcov intermediate files
Sebastian Rasmussen [Sun, 2 Mar 2014 04:08:24 +0000 (05:08 +0100)]
.gitignore: Ignore gcov intermediate files

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

10 years agodocs: Fix typos and remove unknown annotations
Sebastian Rasmussen [Sun, 2 Mar 2014 16:55:45 +0000 (17:55 +0100)]
docs: Fix typos and remove unknown annotations

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

10 years agodocs: use the new markdown for ordered list.
Stefan Sauer [Fri, 28 Feb 2014 19:53:38 +0000 (20:53 +0100)]
docs: use the new markdown for ordered list.

This was plain text that had all list items one after the other (including a
repeated number). Now it will atleast look good when processed with gtk-doc
1.20.

10 years agoAutomatic update of common submodule
Sebastian Dröge [Fri, 28 Feb 2014 08:34:19 +0000 (09:34 +0100)]
Automatic update of common submodule

From fe1672e to bcb1518

10 years agodocs: fix problems introduced by c068b225fef5a9bf0
Reynaldo H. Verdejo Pinochet [Fri, 28 Feb 2014 01:26:30 +0000 (22:26 -0300)]
docs: fix problems introduced by c068b225fef5a9bf0

- Fix failing build
- Drop added trailing whitespace

10 years agobuffer: add return values to g_return_if_fail
Stefan Sauer [Thu, 27 Feb 2014 17:27:37 +0000 (18:27 +0100)]
buffer: add return values to g_return_if_fail

FIxes previous commit.

10 years agodocs: convert the examples to use gtk-doc markup, instead of docbook
Stefan Sauer [Thu, 27 Feb 2014 17:06:56 +0000 (18:06 +0100)]
docs: convert the examples to use gtk-doc markup, instead of docbook

The gtk-doc markup is less intrusive and better handled when creating docs for
language bindings. The titles (where used) where not adding much.

10 years agodocs: add some more new API do docs
Wim Taymans [Thu, 27 Feb 2014 15:46:11 +0000 (16:46 +0100)]
docs: add some more new API do docs

10 years agobufferpool: only release buffers with writable memory
Wim Taymans [Thu, 27 Feb 2014 15:40:34 +0000 (16:40 +0100)]
bufferpool: only release buffers with writable memory

Check if the memory is writable before releasing the buffer into the
pool again.
Add unit test for this scenario.

10 years agobuffer: add function to check writability of memory
Wim Taymans [Thu, 27 Feb 2014 15:39:50 +0000 (16:39 +0100)]
buffer: add function to check writability of memory

Check if memory is writable in a buffer and thus is exclusively owned by
this buffer.

10 years agobufferpool: Use TAG_MEMORY to check memory before releasing
Wim Taymans [Thu, 27 Feb 2014 14:14:59 +0000 (15:14 +0100)]
bufferpool: Use TAG_MEMORY to check memory before releasing

Tag allocated buffers with TAG_MEMORY. When they are released later,
only add them back to the pool if the tag is still there and the memory
has not been changed, otherwise throw the buffer away.
Add unit test to check various scenarios.

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

10 years agobuffer: add a new flag to track memory changes
Wim Taymans [Thu, 27 Feb 2014 13:35:09 +0000 (14:35 +0100)]
buffer: add a new flag to track memory changes

Add a flag to check if the memory changed in a buffer.

10 years agobuffer: remove wrong comment
Wim Taymans [Wed, 26 Feb 2014 14:36:42 +0000 (15:36 +0100)]
buffer: remove wrong comment

Refcount and writability are not related for memory objects.

10 years agobufferpool: refactor free_buffer
Wim Taymans [Tue, 25 Feb 2014 16:46:49 +0000 (17:46 +0100)]
bufferpool: refactor free_buffer

Make a do_free_buffer method to also decrements the number of allocated
buffers. Stop will now be successful when all buffers are freed.

10 years agoAutomatic update of common submodule
Stefan Sauer [Wed, 26 Feb 2014 21:10:28 +0000 (22:10 +0100)]
Automatic update of common submodule

From 1a07da9 to fe1672e

10 years agodebugutils: add a legend to pipeline dumps
Stefan Sauer [Wed, 26 Feb 2014 19:24:41 +0000 (20:24 +0100)]
debugutils: add a legend to pipeline dumps

We use a couple of symbols to represent states/flags. Add a short explanation for them.

10 years agodebugutils: Print if there is a task started from a pad
Olivier Crête [Wed, 31 Jul 2013 07:26:26 +0000 (09:26 +0200)]
debugutils: Print if there is a task started from a pad

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

10 years agostructure: Use get_uint64() in gst_structure_get_clock_time()
Sebastian Dröge [Tue, 25 Feb 2014 15:11:20 +0000 (16:11 +0100)]
structure: Use get_uint64() in gst_structure_get_clock_time()

Its code is identical.

10 years agostructure: Add getters for int64 and uint64 values
Sebastian Dröge [Tue, 25 Feb 2014 14:41:45 +0000 (15:41 +0100)]
structure: Add getters for int64 and uint64 values

10 years agobasesrc: Do not send eos when seeking after last buffer
Thiago Santos [Thu, 20 Feb 2014 00:17:27 +0000 (21:17 -0300)]
basesrc: Do not send eos when seeking after last buffer

If pushing the last buffer triggers a seek from downstream, do not
go into EOS if a new segment was requested.

Contains unit test

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

10 years agogst-uninstalled: remove insanity and the old gst-openmax
Tim-Philipp Müller [Fri, 21 Feb 2014 09:03:50 +0000 (09:03 +0000)]
gst-uninstalled: remove insanity and the old gst-openmax

10 years agogst-uninstalled: Add paths to gst-devtools/validate
Thibault Saunier [Thu, 20 Feb 2014 17:47:42 +0000 (18:47 +0100)]
gst-uninstalled: Add paths to gst-devtools/validate

10 years agomultiqueue: If we only have a single pad, don't consider all pads not linked and...
Sebastian Dröge [Thu, 20 Feb 2014 14:34:36 +0000 (15:34 +0100)]
multiqueue: If we only have a single pad, don't consider all pads not linked and grow the queue indefinitely

10 years agocheck: also use the glob on GST_CHECKS when forcing to run broken tests
Stefan Sauer [Wed, 19 Feb 2014 09:57:33 +0000 (10:57 +0100)]
check: also use the glob on GST_CHECKS when forcing to run broken tests

GST_CHECKS can be simply "test*" to run run all tests (including those that are
marked broken). Update the sparse comments a bit to tell how this works.

10 years agoqueue2: don't truncate the temp file on shutdown
Wim Taymans [Tue, 18 Feb 2014 14:46:32 +0000 (15:46 +0100)]
queue2: don't truncate the temp file on shutdown

We want to keep the downloaded file untruncated so that we can use it
again later.

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

10 years agoqueue2: Fix merging of ranges
Wim Taymans [Tue, 18 Feb 2014 13:21:20 +0000 (14:21 +0100)]
queue2: Fix merging of ranges

Make a method to get the seeking threshold. If data is further away from
this threshold we want to perform a seek upstream.
When the current downloaded range can merge with the next range,
actually include the data of the next range into the current range
instead of discarding it. Also decide if we seek to the write position
of the merged range or continue reading.

10 years agobasesrc: in automatic_eos mode, don't modify the size
Wim Taymans [Tue, 18 Feb 2014 10:49:37 +0000 (11:49 +0100)]
basesrc: in automatic_eos mode, don't modify the size

Don't set the size to -1 in automatic_eos mode (which also updates the
duration to -1). We only want automatic_eos mode influence the maxsize
calculations without any side effects.

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

10 years agopwg: Update raw properties
Jan Alexander Steffens (heftig) [Mon, 17 Feb 2014 10:37:30 +0000 (11:37 +0100)]
pwg: Update raw properties

Using info from gst-plugins-base/docs/design .

Encoded streams might make use of the raw properties, so list them all under foo/* .
For foo/raw, only note which of these properties are mandatory.

I didn't take a closer look at the raw formats yet. Those might still be out-of-date.

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

10 years agoscripts: create-uninstalled-setup: remove dead http links
Tim-Philipp Müller [Mon, 17 Feb 2014 17:28:38 +0000 (17:28 +0000)]
scripts: create-uninstalled-setup: remove dead http links

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

10 years agodocs: add the boxed types to the .types.in
Stefan Sauer [Sat, 15 Feb 2014 21:34:33 +0000 (22:34 +0100)]
docs: add the boxed types to the .types.in

This makes them show up in the object hierarchy.

10 years agodocs: gtkdoc is not good at parsing inline functions in headers
Stefan Sauer [Sat, 15 Feb 2014 20:22:45 +0000 (21:22 +0100)]
docs: gtkdoc is not good at parsing inline functions in headers

Mark the inline function, so that gtkdoc skips them. Avoids some warnings about
unparsable declarations.

10 years agobasesrc: Add gst_base_src_set_automatic_eos() API
Sebastian Dröge [Thu, 13 Feb 2014 11:07:50 +0000 (12:07 +0100)]
basesrc: Add gst_base_src_set_automatic_eos() API

This defaults to TRUE and if it is set to FALSE it is the subclasses
responsibility to return GST_FLOW_EOS from the create() vmethod once
the stream is done.

10 years agodocs: Fix location of plugins and registry in home directories
William Manley [Tue, 11 Feb 2014 16:30:31 +0000 (16:30 +0000)]
docs: Fix location of plugins and registry in home directories

Fixes out of date documentation left over since 0.10.  In 1.0 plugins are
stored in $XDG_DATA_HOME and the registry in $XDG_CACHE_HOME conformant
with the XDG Base Directory Specification[1].

[1]: http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html

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

10 years agoerror: GST_RESOURCE_ERROR_NOT_AUTHORIZED will be available since 1.2.4
Sebastian Dröge [Tue, 11 Feb 2014 12:27:25 +0000 (13:27 +0100)]
error: GST_RESOURCE_ERROR_NOT_AUTHORIZED will be available since 1.2.4

10 years agoerror: Add RESOURCE_NOT_AUTHORIZED error
Sebastian Dröge [Tue, 11 Feb 2014 12:09:11 +0000 (13:09 +0100)]
error: Add RESOURCE_NOT_AUTHORIZED error

This allows to distinguish normal read failures from read failures
where we miss authorization.

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