platform/upstream/gstreamer.git
13 years agogstqueue, gstqueue2: check if parent of pad is NULL in _getcaps
Stian Selnes [Tue, 29 Mar 2011 09:57:06 +0000 (11:57 +0200)]
gstqueue, gstqueue2: check if parent of pad is NULL in _getcaps

Parent of the pad (the queue) may be set to NULL while there is
a buffer alloc going on.

13 years agoinputselector: Fix getcaps and event function from last commit
Sebastian Dröge [Fri, 8 Apr 2011 12:50:10 +0000 (14:50 +0200)]
inputselector: Fix getcaps and event function from last commit

Return ANY caps if the parent disappeared, i.e. the template caps
and don't leak events if the parent disappeared.

13 years agoinputselector: Protect against pad-parent disappearing
Havard Graff [Fri, 1 Apr 2011 06:46:14 +0000 (08:46 +0200)]
inputselector: Protect against pad-parent disappearing

13 years agoiterator: resync to avoid infinite loop
Stian Selnes [Tue, 14 Dec 2010 15:06:46 +0000 (16:06 +0100)]
iterator: resync to avoid infinite loop

13 years agoutils: Fix uninitialized variable compiler warnings
Sebastian Dröge [Fri, 8 Apr 2011 07:20:28 +0000 (09:20 +0200)]
utils: Fix uninitialized variable compiler warnings

13 years agobus: Removed unused GCond
Sebastian Dröge [Fri, 8 Apr 2011 07:15:10 +0000 (09:15 +0200)]
bus: Removed unused GCond

13 years agomultiqueue: Add another check for the flushing flag after taking the lock
Sebastian Dröge [Fri, 8 Apr 2011 07:07:59 +0000 (09:07 +0200)]
multiqueue: Add another check for the flushing flag after taking the lock

This prevents another potential deadlock when flushing the pad
at exactly the right time.

13 years agobus: Immediately drop messages after calling the sync handler if this is a synchronou...
Sebastian Dröge [Thu, 7 Apr 2011 09:24:35 +0000 (11:24 +0200)]
bus: Immediately drop messages after calling the sync handler if this is a synchronous bus

Otherwise we might wait forever for the message to be popped from
the queue if a sync handler returned GST_BUS_ASYNC.

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

13 years agobus: Use a construct-only property to distinguish between child buses and normal...
Sebastian Dröge [Thu, 7 Apr 2011 09:19:57 +0000 (11:19 +0200)]
bus: Use a construct-only property to distinguish between child buses and normal buses

This allows to only create the socketpair when it is really required instead
of always creating it and immediately destroying it again for child buses.

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

13 years agotests: add some basic unit tests for queue2
Tim-Philipp Müller [Thu, 7 Apr 2011 19:47:25 +0000 (20:47 +0100)]
tests: add some basic unit tests for queue2

13 years agoqueue2: fix buffer leak on eos when using the ring buffer
Tim-Philipp Müller [Thu, 7 Apr 2011 19:45:22 +0000 (20:45 +0100)]
queue2: fix buffer leak on eos when using the ring buffer

13 years agoqueue2: Fixes memory leak on out_flushing error in gst_queue2_create_read.
Idar Tollefsen [Tue, 11 Jan 2011 13:27:35 +0000 (14:27 +0100)]
queue2: Fixes memory leak on out_flushing error in gst_queue2_create_read.

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

13 years agoqueue2: fix minor memory leak
Tim-Philipp Müller [Thu, 7 Apr 2011 18:44:44 +0000 (19:44 +0100)]
queue2: fix minor memory leak

13 years agofunnel: minor element description fix
Tim-Philipp Müller [Thu, 7 Apr 2011 16:34:10 +0000 (17:34 +0100)]
funnel: minor element description fix

13 years agodocs: remove file as we have docs/design/part-missing-plugins.txt
Stefan Kost [Thu, 7 Apr 2011 13:08:34 +0000 (16:08 +0300)]
docs: remove file as we have docs/design/part-missing-plugins.txt

13 years agobasesrc: Handle tag and custom downstream events the same
Sebastian Dröge [Thu, 7 Apr 2011 08:48:04 +0000 (10:48 +0200)]
basesrc: Handle tag and custom downstream events the same

Especially drop tag events when flushing to not send them over
and over again.

Should've been in the last commit already but I forgot to call
git rebase --continue...

13 years agobla
Sebastian Dröge [Thu, 7 Apr 2011 08:40:16 +0000 (10:40 +0200)]
bla

13 years agobasesrc: Send syncronized custom downstream/both events downstream from the streaming...
Sebastian Dröge [Thu, 7 Apr 2011 08:29:41 +0000 (10:29 +0200)]
basesrc: Send syncronized custom downstream/both events downstream from the streaming thread

Instead of just silently dropping them. The same was done for tag events
before already.

Fixes bug #635718.

13 years agobus: Add private API to set a GstBus in child mode
Sebastian Dröge [Wed, 6 Apr 2011 12:06:49 +0000 (14:06 +0200)]
bus: Add private API to set a GstBus in child mode

This is used by GstBin to create a child bus without
a socketpair because child buses will always work
synchronous. Otherwise too many sockets could be
created and the limit of file descriptors for the
process could be reached.

Fixes bug #646624.

13 years agoRevert "bus: Only create the signalling socket pair when required"
Sebastian Dröge [Wed, 6 Apr 2011 11:56:49 +0000 (13:56 +0200)]
Revert "bus: Only create the signalling socket pair when required"

This reverts commit 4bf8f1524f6e3374b3f3bc57322337723d06b928.

13 years agoRevert "bus: Check if pending messages are in the queue"
Sebastian Dröge [Wed, 6 Apr 2011 11:56:46 +0000 (13:56 +0200)]
Revert "bus: Check if pending messages are in the queue"

This reverts commit bd1c40011434c1efaa696dc98ef855ef9cce9b28.

13 years agochecks: make tests_many_bins in bin unit test a bit faster
Tim-Philipp Müller [Wed, 6 Apr 2011 10:38:57 +0000 (11:38 +0100)]
checks: make tests_many_bins in bin unit test a bit faster

Not doing expensive checks when linking elements makes things
much faster.

13 years agochecks: add some queues to test_many_bins unit test
Tim-Philipp Müller [Wed, 6 Apr 2011 10:30:18 +0000 (11:30 +0100)]
checks: add some queues to test_many_bins unit test

To limit the number of calls in a row per thread.

13 years agobus: Check if pending messages are in the queue
Sebastian Dröge [Wed, 6 Apr 2011 10:03:18 +0000 (12:03 +0200)]
bus: Check if pending messages are in the queue

We can't rely completely on the poll fd because the fd might be
created after messages were posted to the bus.

13 years agovalue: GstDate/GDate has a abbreviation now
Sebastian Dröge [Wed, 6 Apr 2011 09:45:27 +0000 (11:45 +0200)]
value: GstDate/GDate has a abbreviation now

13 years agochecks: add GstBin unit test that creates a lot of bins
Tim-Philipp Müller [Sun, 3 Apr 2011 15:11:50 +0000 (16:11 +0100)]
checks: add GstBin unit test that creates a lot of bins

Currently fails (in normal circumstances) because we create a
socket pair for each bin's bus and exhaust the number of available
file descriptors.

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

13 years agobus: Only create the signalling socket pair when required
Sebastian Dröge [Tue, 5 Apr 2011 14:22:48 +0000 (16:22 +0200)]
bus: Only create the signalling socket pair when required

Otherwise a new one would be created for every single bus and
the process could easily run out of file descriptors.

Fixes bug #646624.

13 years agostructure: Add date as a type abbreviation of GDate
Sebastian Dröge [Tue, 5 Apr 2011 12:36:43 +0000 (14:36 +0200)]
structure: Add date as a type abbreviation of GDate

See bug #646696.

13 years agoAutomatic update of common submodule
Stefan Kost [Mon, 4 Apr 2011 12:56:30 +0000 (15:56 +0300)]
Automatic update of common submodule

From 1ccbe09 to c3cafe1

13 years agogstpoll: retry reading the control socket to release properly all wakeups
Andoni Morales Alastruey [Mon, 4 Apr 2011 01:33:46 +0000 (03:33 +0200)]
gstpoll: retry reading the control socket to release properly all wakeups

if set->control_pending is set to 0 but we didn't not succed reading
the control socket, future calls to gst_poll_wait() will be awaiken
by the control socket which will not be released properly because
set->control_pending is already 0, causing an infinite loop.

13 years agostructure: Don't allow invalid GDates in all structures and don't allow NULL GDates...
Sebastian Dröge [Mon, 4 Apr 2011 08:18:14 +0000 (10:18 +0200)]
structure: Don't allow invalid GDates in all structures and don't allow NULL GDates in taglists

Some code (e.g. gstvorbistag.c) assumes non-NULL GDates in taglists and
explodes otherwise and NULL or invalid GDates don't make much sense anyway.

13 years agopoll: don't call WSAWaitForMultipleEvents with no events
Thomas Kristensen [Fri, 25 Mar 2011 14:56:07 +0000 (15:56 +0100)]
poll: don't call WSAWaitForMultipleEvents with no events

Fixes error caught by Microsoft Application Verifier.

13 years agodocs: add pointer to part-seeking.txt design docs to event seek flags docs
Tim-Philipp Müller [Sun, 3 Apr 2011 15:18:54 +0000 (16:18 +0100)]
docs: add pointer to part-seeking.txt design docs to event seek flags docs

13 years agochecks: ignore new funnel unit test binary
Tim-Philipp Müller [Sun, 3 Apr 2011 15:18:14 +0000 (16:18 +0100)]
checks: ignore new funnel unit test binary

13 years agoutils: Avoid using "type" as name for a variable and a macro argument in GST_BOILERPLATE
Bastien Nocera [Sat, 2 Apr 2011 13:51:18 +0000 (14:51 +0100)]
utils: Avoid using "type" as name for a variable and a macro argument in GST_BOILERPLATE

This caused "re-declaration" problems.
./clutter-gst-video-sink.c: In function ‘clutter_gst_video_sink_init_interfaces’:
./clutter-gst-video-sink.c:231:1: warning: declaration of ‘ClutterGstVideoSink’ shadows a global declaration [-Wshadow]
./clutter-gst-video-sink.h:64:44: warning: shadowed declaration is here [-Wshadow]

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

13 years agoelement: When requesting an existing pad print a g_critical() instead of using an...
Sebastian Dröge [Fri, 1 Apr 2011 11:56:09 +0000 (13:56 +0200)]
element: When requesting an existing pad print a g_critical() instead of using an assertion

Some applications are requesting the same pad name multiple times
and the behaviour is undefined and different from element to element
but we don't want to break applications that work just fine.

In 0.11 this check should be an assertion again, although elements
have to do manual checking if the pad already exists again because
it can't be done in a threadsafe way here.

13 years agoelement: Use gint64/guint64 string parsing functions
Sebastian Dröge [Fri, 1 Apr 2011 11:53:39 +0000 (13:53 +0200)]
element: Use gint64/guint64 string parsing functions

And check that the requested pad names are inside the valid
gint/guint range.

13 years agoelement: strto[u]l() returns a g[u]long
Josep Torra [Fri, 1 Apr 2011 11:51:31 +0000 (13:51 +0200)]
element: strto[u]l() returns a g[u]long

13 years agodesign docs: document expected behaviour for ACCURATE and KEY_UNIT seek flags
Tim-Philipp Müller [Thu, 31 Mar 2011 18:25:30 +0000 (19:25 +0100)]
design docs: document expected behaviour for ACCURATE and KEY_UNIT seek flags

13 years agogstabi: Add some new structures for x86-64
Sebastian Dröge [Thu, 31 Mar 2011 08:53:03 +0000 (10:53 +0200)]
gstabi: Add some new structures for x86-64

13 years agolibsabi: Add lots of new structures for x86-64
Sebastian Dröge [Thu, 31 Mar 2011 08:46:40 +0000 (10:46 +0200)]
libsabi: Add lots of new structures for x86-64

13 years agomultiqueue: Make assignment of queue IDs and pad names threadsafe
Sebastian Dröge [Wed, 30 Mar 2011 08:48:47 +0000 (10:48 +0200)]
multiqueue: Make assignment of queue IDs and pad names threadsafe

Also add a test for naming pads by the caller and return NULL
when requesting an already existing pad.

13 years agomultiqueue: Set the single queue ID to the ID of the requested pad if one was given...
Andreas Frisch [Tue, 29 Mar 2011 21:58:43 +0000 (23:58 +0200)]
multiqueue: Set the single queue ID to the ID of the requested pad if one was given by the caller

13 years agoelement: Fix sanity checks for request pad templates without %
Sebastian Dröge [Tue, 29 Mar 2011 14:22:46 +0000 (16:22 +0200)]
element: Fix sanity checks for request pad templates without %

13 years agoelement: Add some more sanity checks to the pad name checking of request pads in...
Sebastian Dröge [Tue, 29 Mar 2011 09:57:58 +0000 (11:57 +0200)]
element: Add some more sanity checks to the pad name checking of request pads in all cases

Especially check if a pad with that name already exists.

13 years agoelement: Check %u too when trying to find a pad template for a request pad
Sebastian Dröge [Tue, 29 Mar 2011 09:52:06 +0000 (11:52 +0200)]
element: Check %u too when trying to find a pad template for a request pad

13 years agomultiqueue: Fix arbitrary sink + source pad naming
Fraxinas [Mon, 28 Mar 2011 19:01:13 +0000 (21:01 +0200)]
multiqueue: Fix arbitrary sink + source pad naming

Use the string provided by the caller for the sinkpad name
if possible. Note that all sanity checking for this name
is already done in GstElement.

Fixes Bug #645931

13 years agofunnel: Add some more documentation about the behaviour of funnel
Sebastian Dröge [Tue, 29 Mar 2011 09:18:36 +0000 (11:18 +0200)]
funnel: Add some more documentation about the behaviour of funnel

13 years agofunnel: Send a newsegment event after flush-stop
Sebastian Dröge [Tue, 29 Mar 2011 09:08:57 +0000 (11:08 +0200)]
funnel: Send a newsegment event after flush-stop

13 years agofunnel: Some random cleanup
Sebastian Dröge [Tue, 29 Mar 2011 09:07:48 +0000 (11:07 +0200)]
funnel: Some random cleanup

13 years agofunnel: Use a GstPad subclass for the sinkpads instead of using the pad's element...
Sebastian Dröge [Tue, 29 Mar 2011 08:56:00 +0000 (10:56 +0200)]
funnel: Use a GstPad subclass for the sinkpads instead of using the pad's element private data

13 years agofunnel: Integrate into the build system and rename the types
Sebastian Dröge [Tue, 29 Mar 2011 08:42:31 +0000 (10:42 +0200)]
funnel: Integrate into the build system and rename the types

13 years agofunnel: Import funnel element from farsight2
Sebastian Dröge [Tue, 29 Mar 2011 08:39:42 +0000 (10:39 +0200)]
funnel: Import funnel element from farsight2

13 years agobasesrc: Return FALSE if we don't handle an event
Arun Raghavan [Mon, 28 Mar 2011 15:51:00 +0000 (21:21 +0530)]
basesrc: Return FALSE if we don't handle an event

basesrc's default event handler returns TRUE regardless of whether the
event is handled or not. This fixes the handler to conform with the
expected behaviour (which is to only return TRUE when the event has
actually benn handled). gst_bin_do_latency_func() depended on this
(incorrect) behaviour, and is now modified as well.

(Remaining 1-liner change in gstbasesrc.c is to keep gst-indent happy)

13 years agoAutomatic update of common submodule
Sebastian Dröge [Fri, 25 Mar 2011 21:08:41 +0000 (22:08 +0100)]
Automatic update of common submodule

From 193b717 to 1ccbe09

13 years agoAutomatic update of common submodule
Stefan Kost [Fri, 25 Mar 2011 12:55:39 +0000 (14:55 +0200)]
Automatic update of common submodule

From b77e2bf to 193b717

13 years agoAutomatic update of common submodule
Sebastian Dröge [Fri, 25 Mar 2011 08:27:58 +0000 (09:27 +0100)]
Automatic update of common submodule

From d8814b6 to b77e2bf

13 years agoAutomatic update of common submodule
Sebastian Dröge [Fri, 25 Mar 2011 07:59:37 +0000 (08:59 +0100)]
Automatic update of common submodule

From 6aaa286 to d8814b6

13 years agoAutomatic update of common submodule
Stefan Kost [Thu, 24 Mar 2011 16:48:41 +0000 (18:48 +0200)]
Automatic update of common submodule

From 6aec6b9 to 6aaa286

13 years agodocs: fix some gtk-doc warnings
Stefan Kost [Thu, 24 Mar 2011 16:27:09 +0000 (18:27 +0200)]
docs: fix some gtk-doc warnings

Document the queue leaky enums.

13 years agoqueue2: set max value for to the matching one for the datatype
Stefan Kost [Thu, 24 Mar 2011 16:25:08 +0000 (18:25 +0200)]
queue2: set max value for to the matching one for the datatype

The property is guint64, so use G_MAXUINT64 instead of G_MAXUINT.

13 years agodocs: cleanup and xref fixes
Stefan Kost [Thu, 24 Mar 2011 11:22:57 +0000 (13:22 +0200)]
docs: cleanup and xref fixes

Deal with the hints from gtk-doc and fix the xrefs. Apply a work-around for ()
precedence over @. Move "MT Safe" text to doc body in many places. Trim eol
whitespaces.

13 years agobasesink: print flow return as a name in debug log
Stefan Kost [Wed, 23 Mar 2011 14:42:24 +0000 (16:42 +0200)]
basesink: print flow return as a name in debug log

13 years agodocs: do xrefs for non installed books too
Stefan Kost [Wed, 23 Mar 2011 15:13:58 +0000 (17:13 +0200)]
docs: do xrefs for non installed books too

Get the xrefs from the builddir for the books in the same packages. This fixes
the cross references if one does not have the docs already installed.

13 years agobasesrc: Keep downstream caps order when fixating
Edward Hervey [Mon, 19 Apr 2010 18:39:53 +0000 (20:39 +0200)]
basesrc: Keep downstream caps order when fixating

This allows use to use the first intersecting format prefered by downstream.

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

13 years agobasetransform: Retain caps order when getting caps
Edward Hervey [Mon, 19 Apr 2010 18:40:56 +0000 (20:40 +0200)]
basetransform: Retain caps order when getting caps

If the element gave us caps in a specific order, let's retain that
by intersecting against the template but retaining the order given
by the element.

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

13 years agotests: caps: Tests for the new caps intersection mode
Thiago Santos [Fri, 25 Feb 2011 13:25:26 +0000 (10:25 -0300)]
tests: caps: Tests for the new caps intersection mode

Adds test cases for the caps 'first' intersect mode
Adds another test for the 'zigzag' mode

Fixes #617045

13 years agogstcaps: new API : gst_caps_intersect_full
Edward Hervey [Fri, 25 Feb 2011 11:50:12 +0000 (08:50 -0300)]
gstcaps: new API : gst_caps_intersect_full

Just like gst_caps_intersect, but adds a new parameter 'mode'
that allows selecting the intersection algorithm to use.

Currently we have GST_CAPS_INTERSECT_MODE_ZIG_ZAG (default) and
GST_CAPS_INTERSECT_MODE_FIRST.

API: gst_caps_intersect_full
API: GstCapsIntersectMode
API: GST_CAPS_INTERSECT_MODE_ZIG_ZAG
API: GST_CAPS_INTERSECT_MODE_FIRST

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

13 years agotests: add libscpp unit test to make sure g++ likes our library headers
Tim-Philipp Müller [Sat, 12 Mar 2011 17:01:39 +0000 (17:01 +0000)]
tests: add libscpp unit test to make sure g++ likes our library headers

13 years agobytereader, bytewriter: fix up inline functions to make g++ happy
Tim-Philipp Müller [Sat, 12 Mar 2011 16:58:01 +0000 (16:58 +0000)]
bytereader, bytewriter: fix up inline functions to make g++ happy

gstbytereader.h: In function ‘guint8* gst_byte_reader_dup_data_unchecked(GstByteReader*, guint)’:
gstbytereader.h:249:75: error: invalid conversion from ‘void*’ to ‘guint8*’
gstbytewriter.h: In function ‘gboolean _gst_byte_writer_ensure_free_space_inline(GstByteWriter*, guint)’:
gstbytewriter.h:196:75: error: invalid conversion from ‘void*’ to ‘guint8*’

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

13 years agogstelement: Fix typo in the docs
Thiago Santos [Tue, 22 Mar 2011 19:26:56 +0000 (16:26 -0300)]
gstelement: Fix typo in the docs

GST_ELEMENT_INFO will post a INFO message, not a WARNING

13 years agotagsetter: Removing unused debug category
Thiago Santos [Fri, 18 Mar 2011 11:22:23 +0000 (08:22 -0300)]
tagsetter: Removing unused debug category

tagsetter's debug category had a typo and was unused. Removing it.

13 years agoautogen: wingo signed comment
Luis de Bethencourt [Fri, 18 Mar 2011 18:34:57 +0000 (19:34 +0100)]
autogen: wingo signed comment

13 years agomultiqueue: Don't leak objects when flushing after dequeueing and before pushing...
Sebastian Dröge [Tue, 22 Mar 2011 10:04:20 +0000 (11:04 +0100)]
multiqueue: Don't leak objects when flushing after dequeueing and before pushing the object

13 years agomultiqueue: Really remove unused variable
Sebastian Dröge [Mon, 21 Mar 2011 16:54:10 +0000 (17:54 +0100)]
multiqueue: Really remove unused variable

13 years agomultiqueue: Increment unique item counter with atomic operations
Sebastian Dröge [Mon, 21 Mar 2011 16:52:13 +0000 (17:52 +0100)]
multiqueue: Increment unique item counter with atomic operations

Before it was only protected by the stream lock but every pad
has its own stream lock, making the protection rather useless.

13 years agomultiqueue: Unblock all waiting pads when shutting down
Sebastian Dröge [Mon, 21 Mar 2011 16:17:22 +0000 (17:17 +0100)]
multiqueue: Unblock all waiting pads when shutting down

13 years agomultiqueue: Remove unused variable
Sebastian Dröge [Mon, 21 Mar 2011 11:39:34 +0000 (12:39 +0100)]
multiqueue: Remove unused variable

13 years agomultiqueue: Exit loop function if the pad is flushing
Sebastian Dröge [Mon, 21 Mar 2011 15:28:37 +0000 (16:28 +0100)]
multiqueue: Exit loop function if the pad is flushing

Fixes possible deadlocks when flushing an unlinked pad that waits
for other pads to advance.

13 years agobuild: fix build with -Werror with GCC 4.6.0
Jason D. Clinton [Sat, 19 Mar 2011 22:06:12 +0000 (17:06 -0500)]
build: fix build with -Werror with GCC 4.6.0

This touches three areas of code, removes unused variables and discards
return values from two functions with (void).

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

13 years agoevent: Add since marker to GST_EVENT_SINK_MESSAGE
Sebastian Dröge [Sat, 19 Mar 2011 09:39:28 +0000 (10:39 +0100)]
event: Add since marker to GST_EVENT_SINK_MESSAGE

13 years agoinputselector: Stop waiting for a pad switch when the pad is flushing
Sebastian Dröge [Sat, 19 Mar 2011 07:55:57 +0000 (08:55 +0100)]
inputselector: Stop waiting for a pad switch when the pad is flushing

13 years agoinputselector: Move locking and signalling macros from the header to the source file
Sebastian Dröge [Sat, 19 Mar 2011 07:50:06 +0000 (08:50 +0100)]
inputselector: Move locking and signalling macros from the header to the source file

13 years agotask: fix GST_TASK_BROADCAST
Tim-Philipp Müller [Thu, 17 Mar 2011 23:42:48 +0000 (23:42 +0000)]
task: fix GST_TASK_BROADCAST

Surprisingly enough, you can't "breadcast" on a GCond.

Spotted by Rune Sætre.

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

13 years agoinputselector: Hold the selector lock while reading properties of the active pad
Sebastian Dröge [Thu, 17 Mar 2011 13:21:17 +0000 (14:21 +0100)]
inputselector: Hold the selector lock while reading properties of the active pad

13 years agoinputselector: Make sure that EOS is always sent downstream for the active pad
Sebastian Dröge [Thu, 17 Mar 2011 13:10:49 +0000 (14:10 +0100)]
inputselector: Make sure that EOS is always sent downstream for the active pad

It can happen that the currently active pad got the EOS event
before it was activated and the previously active pad got the
EOS event after it was deactivated. In that case we have to
send the EOS event from an inactive pad downstream.

13 years agoinputselector: Return GST_FLOW_OK until the selected pad pushed something downstream
Sebastian Dröge [Wed, 16 Mar 2011 17:19:11 +0000 (18:19 +0100)]
inputselector: Return GST_FLOW_OK until the selected pad pushed something downstream

This makes sure that during switches at no point in time all pads
have returned not-linked, which can happen when playing an audio-only
file with playbin2 and switching between the streams for example.

Fixes bug #644935.

13 years agopad: Document that pad blocks only make sense for sink pads in pull mode and src...
Sebastian Dröge [Wed, 16 Mar 2011 11:01:21 +0000 (12:01 +0100)]
pad: Document that pad blocks only make sense for sink pads in pull mode and src pads in push mode

See bug #644907.

13 years agoghostpad: The internally linked pad of the proxypad is the ghostpad
Sebastian Dröge [Wed, 16 Mar 2011 10:53:53 +0000 (11:53 +0100)]
ghostpad: The internally linked pad of the proxypad is the ghostpad

Previously we were returning the peerpad, which is the target
of the ghostpad.

13 years agobufferlist: Use a GQueue instead of a GList
Jonas Holmberg [Fri, 25 Feb 2011 15:20:49 +0000 (16:20 +0100)]
bufferlist: Use a GQueue instead of a GList

Adding a buffer to the end of a GstBufferList is supposed to be a fast
operation, but it was not since the iterator does not advance its
nextpointer when adding buffers and GList does not have a tail pointer.
Using a GQueue to store the buffers makes it easier to add buffers to
the end of the list and this operation will now be much more efficient.

Adding an entire GList of buffers using
gst_buffer_list_iterator_add_list() will however have to iterate over
the list being added to be able to update the tail pointer in the
GQueue.

13 years agoutils: fix ABI break when compiling gstreamer with -DGST_DISABLE_DEPRECATED
Tim-Philipp Müller [Thu, 10 Mar 2011 17:48:26 +0000 (17:48 +0000)]
utils: fix ABI break when compiling gstreamer with -DGST_DISABLE_DEPRECATED

GST_DISABLE_DEPRECATED should only affect visibility of declarations in headers,
not actually remove symbols. See GitDeveloperGuidelines and DeprecatingAPI
pages in wiki.

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

13 years agowin32: Update .def file for API addition
Edward Hervey [Thu, 10 Mar 2011 15:46:04 +0000 (16:46 +0100)]
win32: Update .def file for API addition

13 years agopwg: fix element name "videodrop" to "videorate"
Stefan Kost [Wed, 9 Mar 2011 14:15:33 +0000 (16:15 +0200)]
pwg: fix element name "videodrop" to "videorate"

13 years agotest: add tests for new element_factory api.
Stefan Kost [Tue, 8 Mar 2011 10:11:08 +0000 (12:11 +0200)]
test: add tests for new element_factory api.

13 years agogstutils: replace gst_element_factory_can_{sink,src}_caps
Thijs Vermeir [Wed, 23 Jun 2010 20:00:04 +0000 (22:00 +0200)]
gstutils: replace gst_element_factory_can_{sink,src}_caps

Add new functions to clarify how the caps are compared to the template caps of
the element factory. Improve the docs to point out the difference.

Deprecate: gst_element_factory_can_{src|sink}_caps
API: add gst_element_factory_can_{src|sink}_{any|all}_capps

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

13 years agotests: add a unit test for gst_caps_new_simple
Stefan Kost [Mon, 7 Mar 2011 21:13:56 +0000 (23:13 +0200)]
tests: add a unit test for gst_caps_new_simple

Add a test for the crash in bug #642271.

13 years agotests: add test to create a factory
Stefan Kost [Tue, 8 Mar 2011 09:55:29 +0000 (11:55 +0200)]
tests: add test to create a factory

13 years agotests: start a new test suite for element factories
Stefan Kost [Tue, 8 Mar 2011 08:36:30 +0000 (10:36 +0200)]
tests: start a new test suite for element factories

Move one test from gstelement suite.

13 years agopadtemplate: add missing ; in example (and trim whitespace)
Stefan Kost [Tue, 8 Mar 2011 09:34:19 +0000 (11:34 +0200)]
padtemplate: add missing ; in example (and trim whitespace)

13 years agostructure: gst_structure_empty_new() does better error checking
Stefan Kost [Tue, 8 Mar 2011 07:58:55 +0000 (09:58 +0200)]
structure: gst_structure_empty_new() does better error checking

No need to check for media_type!=NULL as the function we call that actual create
the structure does a full check anyway.