platform/upstream/gstreamer.git
13 years agotools: remove SIGUSR* handling from gst-launch
Tim-Philipp Müller [Sat, 4 Jun 2011 13:41:16 +0000 (14:41 +0100)]
tools: remove SIGUSR* handling from gst-launch

Remove SIGUSR* handling from gst-launch, since it might interfere
with other things (e.g. libleaks), and should be done differently
anyway (either via support for simple timed-commands scripting or
remote control via DBus or so).

13 years agotools: remove gst-xmlinspect
Tim-Philipp Müller [Sat, 4 Jun 2011 13:28:08 +0000 (14:28 +0100)]
tools: remove gst-xmlinspect

People should just query the registry themselves or write a small
python script if they need this functionality (which is likely
less work than parsing the XML that this script outputs, and I'm
not aware of anything using the xml2text xsl either).

13 years agotools: remove gst-feedback
Tim-Philipp Müller [Sat, 4 Jun 2011 13:22:05 +0000 (14:22 +0100)]
tools: remove gst-feedback

It's not really that useful, and no one's been using it for years.

13 years agotools, tests: fix some unused-but-set-variable compiler warnings
Tim-Philipp Müller [Sat, 4 Jun 2011 13:13:07 +0000 (14:13 +0100)]
tools, tests: fix some unused-but-set-variable compiler warnings

13 years agogstpad: Small doc fixup
Edward Hervey [Fri, 3 Jun 2011 16:10:24 +0000 (18:10 +0200)]
gstpad: Small doc fixup

13 years agowin32: Update .def for latest APi changes
Edward Hervey [Fri, 3 Jun 2011 13:53:21 +0000 (15:53 +0200)]
win32: Update .def for latest APi changes

13 years agopad: clean up probe flags
Wim Taymans [Fri, 3 Jun 2011 15:24:45 +0000 (17:24 +0200)]
pad: clean up probe flags

13 years agodocs: first version of probes document
Wim Taymans [Fri, 3 Jun 2011 15:24:21 +0000 (17:24 +0200)]
docs: first version of probes document

13 years agopad: check flushing in pullrange too
Wim Taymans [Fri, 3 Jun 2011 14:46:26 +0000 (16:46 +0200)]
pad: check flushing in pullrange too

13 years agopad: cleanups
Wim Taymans [Fri, 3 Jun 2011 11:56:04 +0000 (13:56 +0200)]
pad: cleanups

Use defines instead of hardcoded values for masks.

13 years agostructure: fix some more 0.11 fixmes
Wim Taymans [Fri, 3 Jun 2011 11:25:54 +0000 (13:25 +0200)]
structure: fix some more 0.11 fixmes

don't allow spaces in structure names and fix unit tests.

13 years agodocs: update bufferpool design doc
Wim Taymans [Fri, 3 Jun 2011 10:43:32 +0000 (12:43 +0200)]
docs: update bufferpool design doc

Move the bufferpool design doc from draft to part and merge it with
the allocation draft.

13 years agobufferpool: make the default behaviour to wait
Wim Taymans [Fri, 3 Jun 2011 10:40:56 +0000 (12:40 +0200)]
bufferpool: make the default behaviour to wait

The most common case is to not specify any flags when doing the allocation. Make
the allocation from a pool with a maximum amount of buffers block by default for
this reason.

13 years agodocs: update porting doc
Wim Taymans [Fri, 3 Jun 2011 09:15:30 +0000 (11:15 +0200)]
docs: update porting doc

13 years agobaseparse: use caps event instead of setcaps
Wim Taymans [Thu, 2 Jun 2011 17:24:26 +0000 (19:24 +0200)]
baseparse: use caps event instead of setcaps

13 years agoghostpad: remove setcaps functions
Wim Taymans [Thu, 2 Jun 2011 17:23:47 +0000 (19:23 +0200)]
ghostpad: remove setcaps functions

Remove the setcaps functions, it is now handled with the caps event.

13 years agobuffer: pass the right alignment
Wim Taymans [Thu, 2 Jun 2011 16:28:54 +0000 (18:28 +0200)]
buffer: pass the right alignment

13 years agomemmory: small cleanup
Wim Taymans [Thu, 2 Jun 2011 16:28:17 +0000 (18:28 +0200)]
memmory: small cleanup

13 years agomemory: fix alignment calculations
Wim Taymans [Thu, 2 Jun 2011 16:13:33 +0000 (18:13 +0200)]
memory: fix alignment calculations

Fix the alignment calculation.
Improve documentation.

13 years agopool: debug the config
Wim Taymans [Thu, 2 Jun 2011 16:13:10 +0000 (18:13 +0200)]
pool: debug the config

13 years agoutils: remove some macros now in glib
Wim Taymans [Thu, 2 Jun 2011 13:38:43 +0000 (15:38 +0200)]
utils: remove some macros now in glib

We depend on the right glib now

13 years agostructure: fix a FIXME
Wim Taymans [Thu, 2 Jun 2011 13:38:29 +0000 (15:38 +0200)]
structure: fix a FIXME

13 years agoutils: use g_printerr() as stated in the FIXME
Wim Taymans [Thu, 2 Jun 2011 13:38:04 +0000 (15:38 +0200)]
utils: use g_printerr() as stated in the FIXME

13 years agoelement: small cleanups
Wim Taymans [Thu, 2 Jun 2011 13:37:41 +0000 (15:37 +0200)]
element: small cleanups

13 years agoelement: inline the recursice state lock
Wim Taymans [Thu, 2 Jun 2011 12:09:46 +0000 (14:09 +0200)]
element: inline the recursice state lock

13 years agopad: inline the recursive stream lock
Wim Taymans [Thu, 2 Jun 2011 11:46:26 +0000 (13:46 +0200)]
pad: inline the recursive stream lock

13 years agopad: remove unused fields and methods and signals
Wim Taymans [Thu, 2 Jun 2011 11:35:52 +0000 (13:35 +0200)]
pad: remove unused fields and methods and signals

13 years agopad: use new gst_value_fixate instead
Wim Taymans [Thu, 2 Jun 2011 11:23:53 +0000 (13:23 +0200)]
pad: use new gst_value_fixate instead

Use the new gst_value_fixate() function instead of our own version.

13 years agovalue: add function to fixate a value
Wim Taymans [Thu, 2 Jun 2011 11:21:55 +0000 (13:21 +0200)]
value: add function to fixate a value

Add a function to fixate a GValue. This is the same function as is in GstPad.

13 years agocaps: remove some custom refcounting methods
Wim Taymans [Thu, 2 Jun 2011 11:18:39 +0000 (13:18 +0200)]
caps: remove some custom refcounting methods

Remove some custom made refcounting methods and use the miniobject ones instead.

13 years agopad: optimize linking
Wim Taymans [Thu, 2 Jun 2011 10:40:05 +0000 (12:40 +0200)]
pad: optimize linking

Optimize linking by only releasing the pad locks when there are link functions
installed on the pads.
Add some G_LIKELY here and there.
Move error paths out of the main code flow.

13 years agopad: remove deprecated have-data signal
Wim Taymans [Thu, 2 Jun 2011 10:39:34 +0000 (12:39 +0200)]
pad: remove deprecated have-data signal

13 years agopad: add idle probe for pull method too
Wim Taymans [Thu, 2 Jun 2011 09:21:09 +0000 (11:21 +0200)]
pad: add idle probe for pull method too

13 years agopad: more cleanups
Wim Taymans [Thu, 2 Jun 2011 09:01:31 +0000 (11:01 +0200)]
pad: more cleanups

Use miniobject unref when we can
Reuse existing data type identifier instead of an extra boolean.

13 years agoMerge branch 'master' into 0.11
Wim Taymans [Wed, 1 Jun 2011 17:47:10 +0000 (19:47 +0200)]
Merge branch 'master' into 0.11

Conflicts:
plugins/elements/gstoutputselector.c

13 years agopad: further improve probes and pad blocking
Wim Taymans [Wed, 1 Jun 2011 17:27:55 +0000 (19:27 +0200)]
pad: further improve probes and pad blocking

Keep track of installed number of probes to shortcut emission.
Allow NULL callbacks, this is useful for blocking probes.
Improve probe selection based on the mask, an empty mask for the data or the
scheduling flags equals that all probes match.
Add some more debug info.
Don't check the flushing flag in the probe callback handler, this needs to be
done before calling the handler.
Fix blocking probes.
Fix unit tests

13 years agopad: implement pad block with probes
Wim Taymans [Tue, 31 May 2011 17:16:09 +0000 (19:16 +0200)]
pad: implement pad block with probes

13 years agoutils: remove _full variants of probes
Wim Taymans [Mon, 30 May 2011 17:03:38 +0000 (19:03 +0200)]
utils: remove _full variants of probes

Remove the _full variants and add the destroy notify to the regular methods.

13 years agocheck/abi: Ignore GstXML* on arm when not present
Edward Hervey [Wed, 1 Jun 2011 13:29:20 +0000 (15:29 +0200)]
check/abi: Ignore GstXML* on arm when not present

13 years agobasetransform: Use local priv variable instead of trans->priv
Edward Hervey [Tue, 31 May 2011 16:31:53 +0000 (18:31 +0200)]
basetransform: Use local priv variable instead of trans->priv

13 years agogstsegment: Remove dead assignment
Edward Hervey [Tue, 31 May 2011 16:30:50 +0000 (18:30 +0200)]
gstsegment: Remove dead assignment

base is unconditionally written a couple of lines below

13 years agogst: Remove obvious dead assignments
Edward Hervey [Tue, 31 May 2011 16:30:30 +0000 (18:30 +0200)]
gst: Remove obvious dead assignments

13 years agooutputselector: Remove dead assignment
Edward Hervey [Tue, 31 May 2011 11:43:47 +0000 (13:43 +0200)]
outputselector: Remove dead assignment

13 years agopad: Rework pad blocking, another attempt
Wim Taymans [Mon, 30 May 2011 16:29:06 +0000 (18:29 +0200)]
pad: Rework pad blocking, another attempt

Make the PadBlock callback take a GstBlockType parameter to handle the different
kind of stages in the pad block. This provides for more backwards compatibility
in the pad block API.
Separate blocking and unblocking into different methods, only blocking can do a
callback, unblock is always immediately. Also removed synchronous blocking, it
can always be implemented with a callback.

13 years agoRevert "pad: rework pad blocking, first part"
Wim Taymans [Mon, 30 May 2011 11:40:04 +0000 (13:40 +0200)]
Revert "pad: rework pad blocking, first part"

This reverts commit 415da89f3c9fe46fc3361236df9a3b76e607e138.

Conflicts:

gst/gstpad.c

13 years agopad: improve debugging
Wim Taymans [Mon, 30 May 2011 10:27:31 +0000 (12:27 +0200)]
pad: improve debugging

13 years agovalue: Consider "1" and "{1}" as equal in gst_value_compare()
Sebastian Dröge [Mon, 30 May 2011 09:33:57 +0000 (11:33 +0200)]
value: Consider "1" and "{1}" as equal in gst_value_compare()

Previously this was only done in the is_subset() check but
having it only there brings us into definition-hell where
"1" and "{1}" are subset of each other but not equal.

13 years agogst-launch: Don't access the GstMessage structure directly
Sebastian Dröge [Mon, 30 May 2011 05:44:50 +0000 (07:44 +0200)]
gst-launch: Don't access the GstMessage structure directly

13 years agoMerge branch 'master' into 0.11
Sebastian Dröge [Mon, 30 May 2011 05:41:13 +0000 (07:41 +0200)]
Merge branch 'master' into 0.11

13 years agocaps: Fix subset check for equivalent lists and scalar values
Sebastian Dröge [Mon, 30 May 2011 05:36:58 +0000 (07:36 +0200)]
caps: Fix subset check for equivalent lists and scalar values

For example "{ 1 }" and "1" are not strictly equal but
both are a subset of each other. Also add a unit test
for this.

13 years agodocs: fix bugzilla URL
Tim-Philipp Müller [Sun, 29 May 2011 18:28:34 +0000 (19:28 +0100)]
docs: fix bugzilla URL

htpp -> http

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

13 years agodocs: xrefs more api around GstStateChange and GstStateChangeReturn.
Stefan Kost [Sat, 28 May 2011 07:24:37 +0000 (10:24 +0300)]
docs: xrefs more api around GstStateChange and GstStateChangeReturn.

13 years agodocs: xref the async messages to GstStateChange
Stefan Kost [Sat, 28 May 2011 06:51:45 +0000 (09:51 +0300)]
docs: xref the async messages to GstStateChange

13 years agopad: rework pad blocking, first part
Wim Taymans [Fri, 27 May 2011 15:20:56 +0000 (17:20 +0200)]
pad: rework pad blocking, first part

Make pad block call the callback as soon as the pad is not in use. This makes it
possible to make sure that when the callback is called, no activity is happening
on the pad and that no activity will ever happen until the pad is unblocked
again. This makes pad blocking work when there is no dataflow or after EOS and
greatly helps dynamic pipelines.
Move the probe handling right where we wait on the pad block. The two are
related but not the same and the probe can eventually influence the pad
blocking as we'll se later.
Fix up some broken unit tests or tests that fail with the new behaviour.

13 years agobasesrc: remove deprecated clean shutdown method
Wim Taymans [Fri, 27 May 2011 15:18:00 +0000 (17:18 +0200)]
basesrc: remove deprecated clean shutdown method

13 years agotee: deactivate the pad after removing it
Wim Taymans [Fri, 27 May 2011 12:00:56 +0000 (14:00 +0200)]
tee: deactivate the pad after removing it

When releasing the request pad, first remove it from the element and then
deactivate it. If we do it the other way around, a gst_pad_push on the element
might return wrong-state before we had a chance to detect the removed pad in the
chain function.

13 years agotools: catch and print missing-plugin messages in gst-launch
Tim-Philipp Müller [Fri, 27 May 2011 14:14:32 +0000 (15:14 +0100)]
tools: catch and print missing-plugin messages in gst-launch

So that users get some feedback if they're using a pipeline
like  src ! decodebin2 ! sink  and are missing an element.

13 years agobasesrc: Fix for SEGMENT event API changes
Sebastian Dröge [Fri, 27 May 2011 12:02:03 +0000 (14:02 +0200)]
basesrc: Fix for SEGMENT event API changes

13 years agoMerge branch 'master' into 0.11
Sebastian Dröge [Fri, 27 May 2011 11:58:26 +0000 (13:58 +0200)]
Merge branch 'master' into 0.11

13 years agocaps: Add gst_caps_is_subset_structure()
Sebastian Dröge [Fri, 27 May 2011 11:55:31 +0000 (13:55 +0200)]
caps: Add gst_caps_is_subset_structure()

API: gst_caps_is_subset_structure()

This allows to check if a structure is a subset of given
caps without allocating a new caps instance for it.

13 years agostructure: Add gst_structure_is_subset()
Sebastian Dröge [Fri, 27 May 2011 11:47:11 +0000 (13:47 +0200)]
structure: Add gst_structure_is_subset()

API: gst_structure_is_subset()

13 years agocaps: Optimize gst_caps_is_subset()
Sebastian Dröge [Fri, 27 May 2011 11:38:51 +0000 (13:38 +0200)]
caps: Optimize gst_caps_is_subset()

..and as a result gst_caps_is_equal() and others.

This now only checks if for every subset structure there is
a superset structure in the superset caps. Previously we were
subtracting one from another, creating completely new caps
and then even simplified them.

The new implemention now is about 1.27 times faster and doesn't
break the -base unit tests are anything anymore.

13 years agocaps: Fix subset check in gst_caps_merge()
Sebastian Dröge [Fri, 27 May 2011 11:37:06 +0000 (13:37 +0200)]
caps: Fix subset check in gst_caps_merge()

Caps A are a subset of caps B even if caps B doesn't
have all fields of caps A.

Also add a unit test for this.

13 years agoRevert "caps: Optimize gst_caps_is_subset()"
Sebastian Dröge [Fri, 27 May 2011 10:56:03 +0000 (12:56 +0200)]
Revert "caps: Optimize gst_caps_is_subset()"

This reverts commit 32248a9b852bcb568a5b642299ecc8e5bf48ea13.

This breaks some tests in -base and the failures should
be fixed first.

13 years agocaps: Optimize gst_caps_is_subset()
Sebastian Dröge [Fri, 27 May 2011 10:45:59 +0000 (12:45 +0200)]
caps: Optimize gst_caps_is_subset()

..and as a result gst_caps_is_equal() and others.

This now only checks if for every subset structure there is
a superset structure in the superset caps. Previously we were
subtracting one from another, creating completely new caps
and then even simplified them.

The new implemention now is about 1.27 times faster.

13 years agopad: Drop sticky events pushed on flushing srcpads instead of activating them immediately
Sebastian Dröge [Fri, 27 May 2011 09:45:16 +0000 (11:45 +0200)]
pad: Drop sticky events pushed on flushing srcpads instead of activating them immediately

13 years agobasetransform: Pass the complete caps to transform_caps
Sebastian Dröge [Thu, 26 May 2011 12:56:12 +0000 (14:56 +0200)]
basetransform: Pass the complete caps to transform_caps

Instead of passing it structure by structure. This allows
better optimized transform_caps functions and allows better
transformation decisions.

See bug #619844.

13 years agobasesrc: Send an update NEWSEGMENT event downstream if the duration changes
Sebastian Dröge [Fri, 27 May 2011 07:05:46 +0000 (09:05 +0200)]
basesrc: Send an update NEWSEGMENT event downstream if the duration changes

This allows streaming the complete file for files that have grown since
streaming started.

Fixes bug #647940.

13 years agopad: refactor _push_event
Wim Taymans [Thu, 26 May 2011 17:45:14 +0000 (19:45 +0200)]
pad: refactor _push_event

Rework _push_event() a little so that it drops events on blocking pads.
Make sure that events are forwarded when we unblock.
Add counter on the pad to keep track of busy pads.

13 years agopad: refactor pre and post chain code
Wim Taymans [Thu, 26 May 2011 16:21:09 +0000 (18:21 +0200)]
pad: refactor pre and post chain code

13 years agopad: keep counter for active pads
Wim Taymans [Thu, 26 May 2011 15:50:15 +0000 (17:50 +0200)]
pad: keep counter for active pads

Keep a counter to mark the amount of threads currently pushing data on the pad.

13 years agopad: refactor pre push code
Wim Taymans [Thu, 26 May 2011 15:39:17 +0000 (17:39 +0200)]
pad: refactor pre push code

Refactor the code that is executed as the first step of a push operation where
we check the probes and blocking and resolve the peer.

13 years agopad: remove pad cache
Wim Taymans [Thu, 26 May 2011 15:08:03 +0000 (17:08 +0200)]
pad: remove pad cache

Remove the pad cache as this is going to be reworked for new pad blocking and
probes.

13 years agopad: simplify handling of buffer lists
Wim Taymans [Thu, 26 May 2011 14:48:14 +0000 (16:48 +0200)]
pad: simplify handling of buffer lists

Implement a default buffer-list function in case the element doesn't implement
one.
Also pass buffer-lists to the have-data signal, this allows us to remove some
backward compatibility code.

13 years agopad: remove old gst_pad_set_blocked methods
Wim Taymans [Thu, 26 May 2011 14:15:52 +0000 (16:15 +0200)]
pad: remove old gst_pad_set_blocked methods

13 years agopushsrc: Fix infinite recursion in pushsrc query handler
Sebastian Dröge [Thu, 26 May 2011 12:14:13 +0000 (14:14 +0200)]
pushsrc: Fix infinite recursion in pushsrc query handler

13 years agoMerge branch 'master' into 0.11
Sebastian Dröge [Thu, 26 May 2011 11:36:48 +0000 (13:36 +0200)]
Merge branch 'master' into 0.11

13 years agogst: we can now use GLib 2.24 API unconditionally
Tim-Philipp Müller [Wed, 25 May 2011 15:02:10 +0000 (16:02 +0100)]
gst: we can now use GLib 2.24 API unconditionally

13 years agoconfigure: bump GLib requirement to >= 2.24
Tim-Philipp Müller [Wed, 25 May 2011 14:54:01 +0000 (15:54 +0100)]
configure: bump GLib requirement to >= 2.24

http://gstreamer.freedesktop.org/wiki/ReleasePlanning/GLibRequirement

13 years agodocs: update release instructions for gnome change
Tim-Philipp Müller [Wed, 25 May 2011 14:38:30 +0000 (15:38 +0100)]
docs: update release instructions for gnome change

13 years agosystemclock: Placate gcc by defining EWOULDBLOCK to something
Руслан Ижбулатов [Wed, 25 May 2011 09:40:30 +0000 (13:40 +0400)]
systemclock: Placate gcc by defining EWOULDBLOCK to something

13 years agopoll: Fix WAKE_EVENT() to behave posixly on Windows
Руслан Ижбулатов [Wed, 25 May 2011 08:47:51 +0000 (12:47 +0400)]
poll: Fix WAKE_EVENT() to behave posixly on Windows

13 years agoregistrybinary: small cleanups
Stefan Kost [Tue, 24 May 2011 17:28:18 +0000 (20:28 +0300)]
registrybinary: small cleanups

Remove unneeded braces from string define. Small doc improvement.

13 years agopreset: use guint for the version number parts
Stefan Kost [Tue, 24 May 2011 17:27:02 +0000 (20:27 +0300)]
preset: use guint for the version number parts

Use unsigned integers for extra safety (like we do in plugin version parsing).

13 years agoremove some more deprecated methods
Wim Taymans [Tue, 24 May 2011 16:39:41 +0000 (18:39 +0200)]
remove some more deprecated methods

13 years agopadtemplate: remove unused flag
Wim Taymans [Tue, 24 May 2011 16:29:48 +0000 (18:29 +0200)]
padtemplate: remove unused flag

13 years agofeature: use object name
Wim Taymans [Tue, 24 May 2011 16:17:24 +0000 (18:17 +0200)]
feature: use object name

Remove the name property from the plugin feature and port code to use the object
name instead.

13 years agoremove old glib check
Wim Taymans [Tue, 24 May 2011 16:16:36 +0000 (18:16 +0200)]
remove old glib check

13 years agoMerge branch 'master' into 0.11
Wim Taymans [Tue, 24 May 2011 15:43:36 +0000 (17:43 +0200)]
Merge branch 'master' into 0.11

13 years agoscheduling: port to new scheduling query
Wim Taymans [Tue, 24 May 2011 15:36:24 +0000 (17:36 +0200)]
scheduling: port to new scheduling query

13 years agoquery: add SCHEDULING query
Wim Taymans [Tue, 24 May 2011 10:52:09 +0000 (12:52 +0200)]
query: add SCHEDULING query

Add a new query to replace the checkgetrange function.

13 years agocheck: add fail_unless_equals_int64
Debarshi Ray [Tue, 24 May 2011 14:13:58 +0000 (19:43 +0530)]
check: add fail_unless_equals_int64

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

13 years agooutputselector: Forward sticky events to newly created srcpads
Sebastian Dröge [Tue, 24 May 2011 14:14:57 +0000 (16:14 +0200)]
outputselector: Forward sticky events to newly created srcpads

13 years agotee: Forward sticky events to newly created srcpads
Sebastian Dröge [Tue, 24 May 2011 14:13:22 +0000 (16:13 +0200)]
tee: Forward sticky events to newly created srcpads

13 years agopad: Add gst_pad_sticky_events_iterate() function
Sebastian Dröge [Tue, 24 May 2011 14:08:41 +0000 (16:08 +0200)]
pad: Add gst_pad_sticky_events_iterate() function

13 years agodebugutils: Fix for GstIterator API changes
Sebastian Dröge [Tue, 24 May 2011 11:27:09 +0000 (13:27 +0200)]
debugutils: Fix for GstIterator API changes

13 years agoRevert "debugutils: Fix for GstIterator API changes"
Sebastian Dröge [Tue, 24 May 2011 11:28:00 +0000 (13:28 +0200)]
Revert "debugutils: Fix for GstIterator API changes"

This reverts commit e1cc3176d6fb8023bbe0c733615b2a8c420a2077.

This is not the 0.11 branch...

13 years agodebugutils: Fix for GstIterator API changes
Sebastian Dröge [Tue, 24 May 2011 11:27:09 +0000 (13:27 +0200)]
debugutils: Fix for GstIterator API changes

13 years agoMerge branch 'master' into 0.11
Wim Taymans [Tue, 24 May 2011 07:48:44 +0000 (09:48 +0200)]
Merge branch 'master' into 0.11

Conflicts:
gst/gstpad.h

13 years agoclock: improve the GST_TIME_FORMAT/ARGS docs
Kipp Cannon [Mon, 23 May 2011 21:26:40 +0000 (00:26 +0300)]
clock: improve the GST_TIME_FORMAT/ARGS docs