platform/upstream/gstreamer.git
13 years agoplugin: remove deprecated methods
Wim Taymans [Tue, 7 Dec 2010 14:31:27 +0000 (15:31 +0100)]
plugin: remove deprecated methods

Remove more deprecated methods and fix unit test.

13 years agocheck: remove deprecated tests
Wim Taymans [Tue, 7 Dec 2010 14:21:06 +0000 (15:21 +0100)]
check: remove deprecated tests

13 years agocheck: fix object unit test
Wim Taymans [Tue, 7 Dec 2010 14:20:12 +0000 (15:20 +0100)]
check: fix object unit test

13 years agoobject: fix docs
Wim Taymans [Tue, 7 Dec 2010 14:19:34 +0000 (15:19 +0100)]
object: fix docs

13 years agoobject: Removed deprecated fields and methods
Wim Taymans [Tue, 7 Dec 2010 10:58:34 +0000 (11:58 +0100)]
object: Removed deprecated fields and methods

Make GstObject extend from GInitiallyUnowned, remove the FLOATING flag and use
GObject methods for managing the floating ref.
Remove class lock, it was a workaround for a glib < 2.8 bug.
Remove the parent-set and parent-unset signals, attempt to implement with notify
but disabled because deadlocks in deep-notify.

13 years agoporting: mention removal of protocol property
Wim Taymans [Mon, 6 Dec 2010 19:03:46 +0000 (20:03 +0100)]
porting: mention removal of protocol property

13 years agolibs: remove deprecated code
Wim Taymans [Mon, 6 Dec 2010 18:40:03 +0000 (19:40 +0100)]
libs: remove deprecated code

13 years agodocs: update porting doc
Wim Taymans [Mon, 6 Dec 2010 18:24:30 +0000 (19:24 +0100)]
docs: update porting doc

13 years agoremove deprecated symbols and methods
Wim Taymans [Mon, 6 Dec 2010 18:18:31 +0000 (19:18 +0100)]
remove deprecated symbols and methods

13 years agoporting: Add porting doc
Wim Taymans [Mon, 6 Dec 2010 12:51:50 +0000 (13:51 +0100)]
porting: Add porting doc

13 years agoplan: fix typo
Wim Taymans [Mon, 6 Dec 2010 12:48:31 +0000 (13:48 +0100)]
plan: fix typo

13 years agoplan: add something about GVariant registry
Wim Taymans [Thu, 11 Nov 2010 09:38:57 +0000 (10:38 +0100)]
plan: add something about GVariant registry

13 years agoadd some use-cases
Wim Taymans [Mon, 8 Nov 2010 17:39:39 +0000 (18:39 +0100)]
add some use-cases

13 years agomore updates
Wim Taymans [Mon, 8 Nov 2010 13:08:36 +0000 (14:08 +0100)]
more updates

13 years agomore updates
Wim Taymans [Mon, 8 Nov 2010 11:14:12 +0000 (12:14 +0100)]
more updates

13 years agomore updates
Wim Taymans [Mon, 8 Nov 2010 10:18:05 +0000 (11:18 +0100)]
more updates

13 years agowork on todo list for 0.11 work
Wim Taymans [Thu, 4 Nov 2010 18:30:58 +0000 (19:30 +0100)]
work on todo list for 0.11 work

13 years agomore 0.10 -> 0.11
Wim Taymans [Mon, 6 Dec 2010 12:21:45 +0000 (13:21 +0100)]
more 0.10 -> 0.11

13 years agoconfigure: open 0.11 branch
Wim Taymans [Mon, 6 Dec 2010 11:03:29 +0000 (12:03 +0100)]
configure: open 0.11 branch

13 years agopoll: return wakeup event in GPollFD
Wim Taymans [Mon, 6 Dec 2010 10:18:01 +0000 (11:18 +0100)]
poll: return wakeup event in GPollFD

13 years agopad: add some debug to fast push path
Mark Nauwelaerts [Mon, 6 Dec 2010 10:07:38 +0000 (11:07 +0100)]
pad: add some debug to fast push path

... so we don't loose track at times it is needed the most.

13 years agobasesink: Don't forget to unref the cached ClockId
Edward Hervey [Sun, 5 Dec 2010 14:58:48 +0000 (15:58 +0100)]
basesink: Don't forget to unref the cached ClockId

13 years agogstcheck: Don't check pad refcount too early
Edward Hervey [Sun, 5 Dec 2010 13:46:28 +0000 (14:46 +0100)]
gstcheck: Don't check pad refcount too early

Because of the new pad caching system, the peer pad might still
have a reference on a pad. We therefore delay the refcount checking
til 'after' we unlink the pad from any potential peer.

13 years agogstbin: Make element names clearer in debug statements
Edward Hervey [Sun, 5 Dec 2010 13:11:45 +0000 (14:11 +0100)]
gstbin: Make element names clearer in debug statements

Replaces confusing messages like:
 "Name name is not unique in bin bin, not adding"
by
 "Name 'name' is not unique in bin 'bin', not adding"

13 years agoregistry: Fix permissions if umask is broken
David Schleef [Sun, 5 Dec 2010 05:06:34 +0000 (21:06 -0800)]
registry: Fix permissions if umask is broken

Fixes: #564056.

13 years agobuild: remove trailing whitespaces after backslash in Makefile.am
Tim-Philipp Müller [Sat, 4 Dec 2010 14:23:59 +0000 (14:23 +0000)]
build: remove trailing whitespaces after backslash in Makefile.am

13 years agoconfigure: fix test so it works with FreeBSD's /bin/sh
Koop Mast [Sat, 4 Dec 2010 13:14:39 +0000 (13:14 +0000)]
configure: fix test so it works with FreeBSD's /bin/sh

Use '=' instead of '=='. Fixes:

configure: working c++ compiler found: yes
test: xyes: unexpected operator

http://bugzilla-attachments.gnome.org/attachment.cgi?id=175692

13 years agoUse g_snprintf() instead of snprintf()
David Schleef [Fri, 3 Dec 2010 19:29:30 +0000 (11:29 -0800)]
Use g_snprintf() instead of snprintf()

13 years agoAdd build system for Android
Benjamin Gaignard [Fri, 3 Dec 2010 15:44:23 +0000 (16:44 +0100)]
Add build system for Android

13 years agoclock: init variables in _reinit()
Wim Taymans [Fri, 3 Dec 2010 15:02:09 +0000 (16:02 +0100)]
clock: init variables in _reinit()

Properly initialize variables in _reinit() too

13 years agoclock: make sync clock wait lockfree
Wim Taymans [Thu, 21 Oct 2010 16:08:51 +0000 (18:08 +0200)]
clock: make sync clock wait lockfree

Make the common case lockfree.

13 years agobinaryregistry: use function introduced in GLib 2.22 unconditionally
Tim-Philipp Müller [Fri, 3 Dec 2010 12:04:23 +0000 (12:04 +0000)]
binaryregistry: use function introduced in GLib 2.22 unconditionally

13 years agopoll: small cleanups
Wim Taymans [Fri, 3 Dec 2010 11:42:10 +0000 (12:42 +0100)]
poll: small cleanups

13 years agopoll: make sure we remove the readfd messages
Wim Taymans [Wed, 3 Nov 2010 17:38:11 +0000 (18:38 +0100)]
poll: make sure we remove the readfd messages

13 years agopoll: add method to get a GPollFD
Wim Taymans [Wed, 3 Nov 2010 17:16:08 +0000 (18:16 +0100)]
poll: add method to get a GPollFD

13 years agopoll: Refactor and make more lockfree
Wim Taymans [Wed, 3 Nov 2010 16:56:24 +0000 (17:56 +0100)]
poll: Refactor and make more lockfree

Refactor the wakeup of the poll thread.
Always make a control socket to make things easier.
Make more methods lockfree.

13 years agopoll: move lock to where it makes more sense
Wim Taymans [Thu, 21 Oct 2010 00:02:29 +0000 (02:02 +0200)]
poll: move lock to where it makes more sense

13 years agopoll: make timer polls lockfree
Wim Taymans [Wed, 20 Oct 2010 23:15:44 +0000 (01:15 +0200)]
poll: make timer polls lockfree

Make sure we don't take a mutex in the normal code path of the timer
poll.

13 years agomultiqueue: return upon input when already eos
Mark Nauwelaerts [Thu, 2 Dec 2010 16:51:58 +0000 (17:51 +0100)]
multiqueue: return upon input when already eos

... rather than hanging incoming thread (as considered full in eos).

13 years agocaps: fix doc typo
Mark Nauwelaerts [Thu, 2 Dec 2010 16:49:04 +0000 (17:49 +0100)]
caps: fix doc typo

13 years agogst-inspect: remove some commented code
Mark Nauwelaerts [Sat, 16 Oct 2010 14:16:17 +0000 (16:16 +0200)]
gst-inspect: remove some commented code

13 years agogstobject: add stdio.h for snprint
Stefan Kost [Fri, 3 Dec 2010 11:52:03 +0000 (13:52 +0200)]
gstobject: add stdio.h for snprint

13 years agopipeline: Use an object as first argument to GST_WARNING_OBJECT
Edward Hervey [Fri, 3 Dec 2010 10:27:17 +0000 (11:27 +0100)]
pipeline: Use an object as first argument to GST_WARNING_OBJECT

13 years agomicro-optim: if (x) is cheaper than if (x > 0) for unsigned integers
Edward Hervey [Sat, 11 Apr 2009 13:04:41 +0000 (15:04 +0200)]
micro-optim: if (x) is cheaper than if (x > 0) for unsigned integers

13 years agogstquery: Use structure property directly, avoid function variable.
Edward Hervey [Fri, 10 Apr 2009 07:01:22 +0000 (09:01 +0200)]
gstquery: Use structure property directly, avoid function variable.

All functions in this file can access the structure field of a query directly.
This avoids having to call gst_query_get_structure() to get it, along with being
able to remove some function variables that were used to store the result of that
function.

13 years agogstinfo: remove useless ternary operator usage.
Edward Hervey [Fri, 10 Apr 2009 06:51:02 +0000 (08:51 +0200)]
gstinfo: remove useless ternary operator usage.

13 years agogstevent: Use structure property directly, avoid function variable.
Edward Hervey [Tue, 14 Sep 2010 11:08:57 +0000 (13:08 +0200)]
gstevent: Use structure property directly, avoid function variable.

All functions in this file can access the structure field of an event directly.
This avoids having to call gst_query_get_structure() to get it, along with being
able to remove some function variables that were used to store the result of that
function.

13 years agopad: add push cache to bufferlists
Wim Taymans [Fri, 3 Dec 2010 10:19:27 +0000 (11:19 +0100)]
pad: add push cache to bufferlists

Add the push cahce for the bufferlist push code path as well.

13 years agopad: don't cache the peer chainfunc
Wim Taymans [Fri, 3 Dec 2010 10:11:24 +0000 (11:11 +0100)]
pad: don't cache the peer chainfunc

There is no need to cache the peer chainfunction as we can just as efficiently
get to it from the peer object. Also not caching the chain function works better
because then we automatically get the new chainfunctions when they change.

13 years agopad: clear pad cache when installing probes
Wim Taymans [Fri, 3 Dec 2010 09:52:39 +0000 (10:52 +0100)]
pad: clear pad cache when installing probes

Move the method to clear the pad cache into _private.h
Clear the pad cache when installing pad probes.

13 years agopad: explicitly inline some functions
Wim Taymans [Wed, 20 Oct 2010 15:11:11 +0000 (17:11 +0200)]
pad: explicitly inline some functions

13 years agopad: remove unused variable
Wim Taymans [Wed, 13 Oct 2010 00:48:56 +0000 (02:48 +0200)]
pad: remove unused variable

13 years agopad: invalidate caches on flush and pad block
Wim Taymans [Wed, 13 Oct 2010 00:42:23 +0000 (02:42 +0200)]
pad: invalidate caches on flush and pad block

13 years agopad: don't unref NULL caps
Wim Taymans [Wed, 13 Oct 2010 00:20:43 +0000 (02:20 +0200)]
pad: don't unref NULL caps

13 years agopad: add invalidate function
Wim Taymans [Wed, 13 Oct 2010 00:17:28 +0000 (02:17 +0200)]
pad: add invalidate function

More small optimisations, remove the unneeded valid boolean.
Add function to invalide the cache.
Invalidate the cache on unlink.

13 years agopad: small cleanup
Wim Taymans [Tue, 12 Oct 2010 23:37:52 +0000 (01:37 +0200)]
pad: small cleanup

13 years agopad: improve pad push caching
Wim Taymans [Tue, 12 Oct 2010 23:25:27 +0000 (01:25 +0200)]
pad: improve pad push caching

Build the cache while we push data. When we don't have a cache, we run the
slowpath and collect cacheable properties. When all conditions are met, keep the
cached data around so that we can more efficiently push data around.

13 years agopad: prototype of pad push cache
Wim Taymans [Tue, 12 Oct 2010 10:29:49 +0000 (12:29 +0200)]
pad: prototype of pad push cache

Prototype of how we can cache the peer and caps for a pad link.

13 years agodocs: fix previous extract.pl commit
Stefan Kost [Fri, 3 Dec 2010 10:23:27 +0000 (12:23 +0200)]
docs: fix previous extract.pl commit

Make it also work in the srcdir=builddir case again.

13 years agotask: avoid task lock for each iteration
Wim Taymans [Wed, 20 Oct 2010 09:58:06 +0000 (11:58 +0200)]
task: avoid task lock for each iteration

Make the task state an atomic variable so that we can avoid taking and releasing
the task lock for each iteration.

13 years agodocs: fix example matching in extract.pl
Stefan Kost [Fri, 3 Dec 2010 08:18:19 +0000 (10:18 +0200)]
docs: fix example matching in extract.pl

When building with $srcdir != $builddir output would contain the builddir path.
Strip the path when scanning the xml for the example markers.

13 years agodocs: query doc improvements
Stefan Kost [Fri, 19 Nov 2010 13:06:05 +0000 (15:06 +0200)]
docs: query doc improvements

More xrefs. Mentioned that some queries need a running pipeline.

13 years agoelementfactory: clarify list item types in comments
Stefan Kost [Fri, 19 Nov 2010 09:43:40 +0000 (11:43 +0200)]
elementfactory: clarify list item types in comments

13 years agopadtemplate: add two FIXME0.11: comments
Stefan Kost [Fri, 19 Nov 2010 08:29:34 +0000 (10:29 +0200)]
padtemplate: add two FIXME0.11: comments

13 years agopadtemplate: allow disablinbg the template name conformance checks
Stefan Kost [Fri, 19 Nov 2010 08:23:54 +0000 (10:23 +0200)]
padtemplate: allow disablinbg the template name conformance checks

13 years agopadtemplate: the supplied caps may not be NULL
Stefan Kost [Thu, 18 Nov 2010 14:31:30 +0000 (16:31 +0200)]
padtemplate: the supplied caps may not be NULL

There is a earlier g_return_val_if_fail check. Also
gst_static_pad_template_get does not have such a check.

13 years agofakesink: Print sink-message events like a message and the GstMessage structure
Andoni Morales Alastruey [Wed, 3 Nov 2010 15:37:10 +0000 (16:37 +0100)]
fakesink: Print sink-message events like a message and the GstMessage structure

13 years agodesign-docs: add html output using asciidoc
Stefan Kost [Mon, 1 Nov 2010 13:32:43 +0000 (15:32 +0200)]
design-docs: add html output using asciidoc

Unify the ad-hoc markup to be asciidoc style in many places. Add a "html" target
to Makefile to generate the output.

13 years agogstobject: more default name generation more efficient
Stefan Kost [Tue, 19 Oct 2010 11:27:20 +0000 (14:27 +0300)]
gstobject: more default name generation more efficient

Save ~2000 malloc/memcpy/free pairs at startup by running to_lower in-place.
Also skip the numbers as we can.

13 years agopluginfeature: use the parent_class from G_DEFINE_TYPE macro and drop extra copy
Stefan Kost [Mon, 18 Oct 2010 11:45:16 +0000 (14:45 +0300)]
pluginfeature: use the parent_class from G_DEFINE_TYPE macro and drop extra copy

13 years agoelementfactory: use g_intern_string for interface names
Stefan Kost [Wed, 20 Oct 2010 11:27:16 +0000 (14:27 +0300)]
elementfactory: use g_intern_string for interface names

13 years agoregistry: also intern the static caps
Stefan Kost [Mon, 18 Oct 2010 10:29:53 +0000 (13:29 +0300)]
registry: also intern the static caps

13 years agoelementfactory: meta-data can be NULL
Stefan Kost [Thu, 2 Dec 2010 22:00:09 +0000 (00:00 +0200)]
elementfactory: meta-data can be NULL

13 years agogstdatetime: Fix handling of timezones
Thiago Santos [Thu, 2 Dec 2010 19:28:43 +0000 (16:28 -0300)]
gstdatetime: Fix handling of timezones

Fix returning of timezones on systems with gdatetime
to use floats on the math expression to avoid
truncating the fractional part.

Also adds a test for covering this case.

13 years agogstdataqueue: Don't break ABI
Edward Hervey [Thu, 2 Dec 2010 18:44:41 +0000 (19:44 +0100)]
gstdataqueue: Don't break ABI

The order of the field was wrong, and the size of the structure didn't
end up being the same.

13 years agobasesink: rework position reporting code
Wim Taymans [Thu, 25 Nov 2010 17:48:09 +0000 (18:48 +0100)]
basesink: rework position reporting code

Unify the different position reporting code paths to make it more
understandable.
Use start_time to get more accurate position reporting in paused.
Fix unit tests for more accurate reporting.

13 years agobasesink: perform wait_preroll in a while loop
Wim Taymans [Thu, 25 Nov 2010 15:06:07 +0000 (16:06 +0100)]
basesink: perform wait_preroll in a while loop

We need to continue calling wait_preroll() as long as the need_preroll variable
is true.

13 years agoutils: return immediately for -1 conversion
Wim Taymans [Wed, 17 Nov 2010 15:46:30 +0000 (16:46 +0100)]
utils: return immediately for -1 conversion

When we are asked to convert -1, we can return immediately with a -1 return
value.

13 years agoutils: a convert query can have a -1 input value
Wim Taymans [Wed, 17 Nov 2010 15:42:00 +0000 (16:42 +0100)]
utils: a convert query can have a -1 input value

It is allowed to pass -1 to the src_val for a convert.

13 years agobasesink: also preroll after a flush with async=false
Wim Taymans [Tue, 16 Nov 2010 11:20:37 +0000 (12:20 +0100)]
basesink: also preroll after a flush with async=false

Make sure to preroll after a flush even when we are async=false.
Add unit test.

Fixes #634965

13 years agoadapter: improve docs a little.
Wim Taymans [Mon, 15 Nov 2010 17:20:27 +0000 (18:20 +0100)]
adapter: improve docs a little.

13 years agocheck: lock src state to avoid error cases
Wim Taymans [Mon, 15 Nov 2010 17:17:36 +0000 (18:17 +0100)]
check: lock src state to avoid error cases

Lock the state of the src element or else the pipeline might go into the error
state when we set it to PAUSED later.

13 years agopipeline: avoid using invalid clock times
Wim Taymans [Mon, 15 Nov 2010 11:49:05 +0000 (12:49 +0100)]
pipeline: avoid using invalid clock times

Be extra careful to not use invalid clock times but give a warning instead. This
should make things work better with faulty clock implementations.

13 years agocaps: improve some comments about the zigzag intersection
Wim Taymans [Thu, 11 Nov 2010 09:41:18 +0000 (10:41 +0100)]
caps: improve some comments about the zigzag intersection

13 years agodocs: Add unused symbols to proper sections
Edward Hervey [Thu, 2 Dec 2010 12:04:30 +0000 (13:04 +0100)]
docs: Add unused symbols to proper sections

13 years agodocs: Add GstDateTime section and update it for latest symbols
Edward Hervey [Thu, 2 Dec 2010 12:03:57 +0000 (13:03 +0100)]
docs: Add GstDateTime section and update it for latest symbols

13 years agoqueue2: Only call update_buffering if needed.
Edward Hervey [Tue, 19 Oct 2010 16:09:53 +0000 (18:09 +0200)]
queue2: Only call update_buffering if needed.

update_buffering is so big it will never be inlined (and shouldn't),
we therefore move the check outside of it.

13 years agoqueue2: Avoid re-checking many times whether an item is a buffer
Edward Hervey [Tue, 19 Oct 2010 15:45:16 +0000 (17:45 +0200)]
queue2: Avoid re-checking many times whether an item is a buffer

Avoids calling 6 times gst_buffer_get_type() for every item coming
through queue2

13 years agoqueue2: Reduce amount of time locks are taken
Edward Hervey [Tue, 19 Oct 2010 15:43:56 +0000 (17:43 +0200)]
queue2: Reduce amount of time locks are taken

13 years agoqueue2: Fixup documentation of some properties
Edward Hervey [Tue, 19 Oct 2010 15:42:39 +0000 (17:42 +0200)]
queue2: Fixup documentation of some properties

13 years agoqueue2: Avoid useless segment_to_running_time() calculations.
Edward Hervey [Tue, 19 Oct 2010 15:40:13 +0000 (17:40 +0200)]
queue2: Avoid useless segment_to_running_time() calculations.

* Cache src and sink time
* Use a boolean to known whether src/sink time needs to be recalculated

Avoids 50% of calls to gst_segment_to_running_time()

13 years agobasesink: Re-using GstClockID instead of constantly recreating one
Edward Hervey [Wed, 20 Oct 2010 15:41:28 +0000 (17:41 +0200)]
basesink: Re-using GstClockID instead of constantly recreating one

Makes _sink_wait_clock at least 2 times faster.

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

13 years agogstclock: New API to re-use a single shot GstClockID
Edward Hervey [Wed, 20 Oct 2010 15:40:43 +0000 (17:40 +0200)]
gstclock: New API to re-use a single shot GstClockID

API: gst_clock_single_shot_id_reinit

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

13 years agobasesink: Pass along miniobject type through various functions
Edward Hervey [Wed, 20 Oct 2010 11:52:02 +0000 (13:52 +0200)]
basesink: Pass along miniobject type through various functions

Avoids doing useless GST_IS_*

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

13 years agobasesink: Switch enable_last_buffer to an atomic int
Edward Hervey [Wed, 20 Oct 2010 11:08:08 +0000 (13:08 +0200)]
basesink: Switch enable_last_buffer to an atomic int

Avoids having to take a lock to read/write it.

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

13 years agoqueue: Remove useless checks from e406f7
Edward Hervey [Tue, 19 Oct 2010 13:53:26 +0000 (15:53 +0200)]
queue: Remove useless checks from e406f7

srcresult was being rechecked in places it couldn't have changed.
queue level was being rechecked in places it couldn't have changed.

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

13 years agogstdataqueue: Only emit g_cond_signal when needed
Edward Hervey [Wed, 13 Oct 2010 11:50:22 +0000 (13:50 +0200)]
gstdataqueue: Only emit g_cond_signal when needed

Keep track of which cond we're waiting for and only emit when needed.

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

13 years agosegment: move g_return_if_fail to where it is needed
Wim Taymans [Wed, 20 Oct 2010 15:12:29 +0000 (17:12 +0200)]
segment: move g_return_if_fail to where it is needed

13 years agoversion: Take nano version into account in GST_CHECK_VERSION()
Sebastian Dröge [Wed, 3 Nov 2010 10:14:03 +0000 (11:14 +0100)]
version: Take nano version into account in GST_CHECK_VERSION()

If the nano is > 0 the current version should be handled the same as
micro + 1.

13 years agopad: Set the event source object if none is set yet in gst_pad_push_event()
Sebastian Dröge [Mon, 1 Nov 2010 15:34:46 +0000 (16:34 +0100)]
pad: Set the event source object if none is set yet in gst_pad_push_event()

Otherwise the source will stay at NULL, the event is passed to the
peerpad via gst_pad_send_event() and then the peerpad is set as
source of the event instead of the originating pad.