platform/upstream/gstreamer.git
13 years agobaseparse: seek table and accurate seek support
Mark Nauwelaerts [Wed, 22 Sep 2010 10:13:12 +0000 (12:13 +0200)]
baseparse: seek table and accurate seek support

13 years agobaseparse: proper and more extended segment and seek handling
Mark Nauwelaerts [Tue, 21 Sep 2010 11:57:10 +0000 (13:57 +0200)]
baseparse: proper and more extended segment and seek handling

That is, loop pause handling, segment seek support, newsegment for gaps, etc

13 years agobaseparse: add index support
Mark Nauwelaerts [Tue, 21 Sep 2010 08:57:04 +0000 (10:57 +0200)]
baseparse: add index support

13 years agobaseparse: refactor state reset
Mark Nauwelaerts [Tue, 21 Sep 2010 07:59:56 +0000 (09:59 +0200)]
baseparse: refactor state reset

13 years agobaseparse: prevent indefinite resyncing
Mark Nauwelaerts [Mon, 20 Sep 2010 14:39:37 +0000 (16:39 +0200)]
baseparse: prevent indefinite resyncing

13 years agobaseparse: specific EOS handling if no output so far
Mark Nauwelaerts [Mon, 20 Sep 2010 11:57:55 +0000 (13:57 +0200)]
baseparse: specific EOS handling if no output so far

13 years agobaseparse: adjust _set_frame_prop documentation and set default as claimed
Mark Nauwelaerts [Mon, 20 Sep 2010 11:31:57 +0000 (13:31 +0200)]
baseparse: adjust _set_frame_prop documentation and set default as claimed

13 years agobaseparse: fix bitrate copy-and-paste and update heuristic
Mark Nauwelaerts [Mon, 20 Sep 2010 11:30:54 +0000 (13:30 +0200)]
baseparse: fix bitrate copy-and-paste and update heuristic

13 years agobaseparse: post duration message if average bitrates is updated
Mark Nauwelaerts [Fri, 17 Sep 2010 16:33:29 +0000 (18:33 +0200)]
baseparse: post duration message if average bitrates is updated

13 years agobaseparse: remove is_seekable vmethod and use a set_seek instead
Mark Nauwelaerts [Fri, 17 Sep 2010 16:24:22 +0000 (18:24 +0200)]
baseparse: remove is_seekable vmethod and use a set_seek instead

Seekability, like duration, etc is unlikely to change (frequently), and
the default assumption covers most cases, so let subclass set when needed.
At the same time, allow subclass to indicate if it has seek-metadata (table)
available, and possibly have it provide an average bitrate.

13 years agobaseparse: add another hook for subclass prior to pushing buffer
Mark Nauwelaerts [Fri, 17 Sep 2010 15:21:46 +0000 (17:21 +0200)]
baseparse: add another hook for subclass prior to pushing buffer

... and allow subclass to perform custom segment clipping, or to
emit tags or messages at this time.

13 years agobaseparse: 0 converts to 0 by default
Mark Nauwelaerts [Fri, 17 Sep 2010 15:19:37 +0000 (17:19 +0200)]
baseparse: 0 converts to 0 by default

13 years agobaseparse: refactor conversion using helper function and export default convert
Mark Nauwelaerts [Thu, 16 Sep 2010 16:56:46 +0000 (18:56 +0200)]
baseparse: refactor conversion using helper function and export default convert

13 years agobaseparse: streamline query handling
Mark Nauwelaerts [Thu, 16 Sep 2010 16:35:47 +0000 (18:35 +0200)]
baseparse: streamline query handling

13 years agobaseparse: cleanup struct and remove unused member
Mark Nauwelaerts [Thu, 16 Sep 2010 09:51:20 +0000 (11:51 +0200)]
baseparse: cleanup struct and remove unused member

13 years agobaseparse: Allow chaining of subclass event handlers
Arun Raghavan [Wed, 22 Sep 2010 10:37:24 +0000 (16:07 +0530)]
baseparse: Allow chaining of subclass event handlers

This allows the child class to chain its event handler with
GstBaseParse, so that subclasses don't have to duplicate all the default
event handling logic.

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

13 years agobaseparse: Don't use GST_FLOW_IS_FATAL()
Sebastian Dröge [Fri, 27 Aug 2010 16:35:10 +0000 (18:35 +0200)]
baseparse: Don't use GST_FLOW_IS_FATAL()

Also don't post an error message for UNEXPECTED and do it
for NOT_LINKED.

13 years agobaseparse: non-TIME seek event is simply not handled
Mark Nauwelaerts [Mon, 6 Sep 2010 12:12:00 +0000 (14:12 +0200)]
baseparse: non-TIME seek event is simply not handled

13 years agobaseparse: fix seek event ref handling
Mark Nauwelaerts [Tue, 15 Jun 2010 13:34:05 +0000 (15:34 +0200)]
baseparse: fix seek event ref handling

13 years agobaseparse: prevent arithmetic overflows in pull mode buffer cache handling
Mark Nauwelaerts [Tue, 15 Jun 2010 13:33:37 +0000 (15:33 +0200)]
baseparse: prevent arithmetic overflows in pull mode buffer cache handling

13 years agobaseparse: fix seek handling
Mark Nauwelaerts [Tue, 15 Jun 2010 13:32:34 +0000 (15:32 +0200)]
baseparse: fix seek handling

Allow a few more seek event type combinations, and really use the result
of gst_segment_set_seek to perform the seek.  Also add some debug.

13 years agobaseparse: Don't emit bitrate tags too early
Arun Raghavan [Fri, 26 Mar 2010 18:56:49 +0000 (18:56 +0000)]
baseparse: Don't emit bitrate tags too early

We wait to parse a minimum number of frames (10, arbitrarily) before
emiting bitrate tags so that our early estimates are not wildly
inaccurate for streams that start with a silence. If the stream ends
before that, we just emit the tags anyway.

While it _would_ be nicer to be specify the threshold to start pushing
the tags in terms of duration, this would introduce more complexity than
this merits.

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

13 years agobaseparse: Set the last stop to the buffer starttime if the duration is invalid
Sebastian Dröge [Fri, 26 Mar 2010 17:20:24 +0000 (18:20 +0100)]
baseparse: Set the last stop to the buffer starttime if the duration is invalid

...instead of not setting it at all.

13 years agobaseparse: Send NEWSEGMENT event with correct start and position
Joshua M. Doe [Fri, 26 Mar 2010 17:19:00 +0000 (18:19 +0100)]
baseparse: Send NEWSEGMENT event with correct start and position

Instead of taking the last stop (which could be buffer endtime instead
of starttime) always take the buffer starttime.

Fixes bug #614016.

13 years agoaudioparsers: remove unused GstBaseParseClassPrivate structure
Tim-Philipp Müller [Thu, 25 Mar 2010 17:09:17 +0000 (17:09 +0000)]
audioparsers: remove unused GstBaseParseClassPrivate structure

13 years agoaudioparsers: Add bitrate calculation to baseparse
Arun Raghavan [Thu, 25 Mar 2010 11:22:58 +0000 (11:22 +0000)]
audioparsers: Add bitrate calculation to baseparse

This makes baseparse keep a running average of the stream bitrate, as
well as the minimum and maximum bitrates. Subclasses can override a
vfunc to make sure that per-frame overhead from the container is not
accounted for in the bitrate calculation.

We take care not to override the bitrate, minimum-bitrate, and
maximum-bitrate tags if they have been posted upstream. We also
rate-limit the emission of bitrate so that it is only triggered by a
change of >10 kbps.

13 years agoaudioparsers: rename baseparse GType name to avoid possible conflicts
Mark Nauwelaerts [Thu, 14 Jan 2010 10:50:33 +0000 (11:50 +0100)]
audioparsers: rename baseparse GType name to avoid possible conflicts

13 years agoaudioparsers: documentation fixes
Mark Nauwelaerts [Tue, 5 Jan 2010 14:05:05 +0000 (15:05 +0100)]
audioparsers: documentation fixes

13 years agobaseparse: adjust seek handling and newsegment sending
Mark Nauwelaerts [Mon, 21 Dec 2009 17:18:39 +0000 (18:18 +0100)]
baseparse: adjust seek handling and newsegment sending

Perform sanity check on type of seek, and only perform one that is
appropriately supported.  Adjust downstream newsegment event
to first buffer timestamp that is sent downstream.

13 years agobaseparse: minor refactor cleanup
Mark Nauwelaerts [Mon, 21 Dec 2009 10:59:45 +0000 (11:59 +0100)]
baseparse: minor refactor cleanup

Also add some debug logging.

13 years agobaseparse: implement leftover draining in pull mode
Mark Nauwelaerts [Fri, 18 Dec 2009 20:02:40 +0000 (21:02 +0100)]
baseparse: implement leftover draining in pull mode

13 years agobaseparse: provide default conversion using bps if no fps available
Mark Nauwelaerts [Wed, 16 Dec 2009 17:38:33 +0000 (18:38 +0100)]
baseparse: provide default conversion using bps if no fps available

Also store estimated duration as such, rather than pretending otherwise
(e.g. set by subclass).

13 years agobaseparse: check for remaining data when draining in push mode
Mark Nauwelaerts [Fri, 18 Dec 2009 12:30:29 +0000 (13:30 +0100)]
baseparse: check for remaining data when draining in push mode

13 years agobaseparse: fix pull mode cache size comparison
Mark Nauwelaerts [Fri, 18 Dec 2009 12:30:07 +0000 (13:30 +0100)]
baseparse: fix pull mode cache size comparison

13 years agoaudioparse: fix a format string as reported on irc.
Michael Smith [Fri, 11 Dec 2009 18:25:16 +0000 (10:25 -0800)]
audioparse: fix a format string as reported on irc.

13 years agobaseparse: custom bufferflag indicates not to count frame in stats
Mark Nauwelaerts [Thu, 29 Oct 2009 14:18:37 +0000 (15:18 +0100)]
baseparse: custom bufferflag indicates not to count frame in stats

13 years agoaudioparsers: reference GstBaseParse now lives here
Mark Nauwelaerts [Fri, 27 Nov 2009 16:27:32 +0000 (17:27 +0100)]
audioparsers: reference GstBaseParse now lives here

13 years agoaudioparsers: rename 'aacparse' plugin to generic 'audioparsers' plugin
Mark Nauwelaerts [Sat, 28 Nov 2009 17:13:31 +0000 (18:13 +0100)]
audioparsers: rename 'aacparse' plugin to generic 'audioparsers' plugin

13 years agobaseparse: reset passthrough mode to default (disabled) on activation
Mark Nauwelaerts [Thu, 29 Oct 2009 15:05:00 +0000 (16:05 +0100)]
baseparse: reset passthrough mode to default (disabled) on activation

13 years agobaseparse: ensure buffer metadata is writable
Mark Nauwelaerts [Thu, 29 Oct 2009 14:16:59 +0000 (15:16 +0100)]
baseparse: ensure buffer metadata is writable

13 years agobaseparse: fix/enhance DISCONT marking
Mark Nauwelaerts [Wed, 28 Oct 2009 13:06:13 +0000 (14:06 +0100)]
baseparse: fix/enhance DISCONT marking

In particular, consider DISCONT == !sync, and allow subclass to query
sync state, as it may want to perform additional checks depending
on whether sync was achieved earlier on.
Also arrange for subclass to query whether leftover data is being drained.

13 years agobaseparse: add timestamp handling, and default conversion
Mark Nauwelaerts [Mon, 23 Nov 2009 14:48:25 +0000 (15:48 +0100)]
baseparse: add timestamp handling, and default conversion

In particular, (optionally) provide baseparse with a notion of frames per second
(and therefore also frame duration) and have it track frame and byte counts.
This way, subclass can provide baseparse with fps and have it provide default
buffer time metadata and conversions, though subclass can still install
callbacks to handle such itself.

13 years agobaseparse: documentation fixes
Mark Nauwelaerts [Wed, 28 Oct 2009 11:02:03 +0000 (12:02 +0100)]
baseparse: documentation fixes

13 years agobaseparse: use_fixed_caps for src pad
Mark Nauwelaerts [Wed, 28 Oct 2009 11:00:08 +0000 (12:00 +0100)]
baseparse: use_fixed_caps for src pad

After all, stream is as-is, and there is little molding to downstream's
taste that can be done.  If subclass can and wants to do so, it can
still override as such.

13 years agoaacparse: Fix compilation warnings
Julien Moutte [Fri, 20 Nov 2009 16:32:13 +0000 (17:32 +0100)]
aacparse: Fix compilation warnings

13 years agoaacparse: fix warnings in macosx snow leopard
Josep Torra [Sun, 11 Oct 2009 09:22:11 +0000 (11:22 +0200)]
aacparse: fix warnings in macosx snow leopard

13 years agoaacparse: forego (bogus) parsing of already parsed (raw) input
Mark Nauwelaerts [Fri, 25 Sep 2009 15:02:53 +0000 (17:02 +0200)]
aacparse: forego (bogus) parsing of already parsed (raw) input

13 years agobaseparse: prevent infinite loop when draining
Mark Nauwelaerts [Fri, 7 Aug 2009 11:07:17 +0000 (13:07 +0200)]
baseparse: prevent infinite loop when draining

13 years agobaseparse: fix minor memory leak
Mark Nauwelaerts [Fri, 7 Aug 2009 11:06:28 +0000 (13:06 +0200)]
baseparse: fix minor memory leak

13 years agoaacparse: Add function for the baseparse subclass to push buffers downstream
Sebastian Dröge [Tue, 14 Jul 2009 12:08:04 +0000 (14:08 +0200)]
aacparse: Add function for the baseparse subclass to push buffers downstream

Also handle the case gracefully where the subclass decides to drop
the first buffers and has no caps set yet. It's still required to
have valid caps set when the first buffer should be passed downstream.

13 years agobaseparse: Fix seek event leaking
Sebastian Dröge [Tue, 14 Jul 2009 12:07:44 +0000 (14:07 +0200)]
baseparse: Fix seek event leaking

13 years agobaseparse: propagate return value of GstBaseParse::set_sink_caps()
Tim-Philipp Müller [Mon, 1 Jun 2009 12:56:18 +0000 (13:56 +0100)]
baseparse: propagate return value of GstBaseParse::set_sink_caps()

gst_base_parse_sink_setcaps() presumably should fail if the subclass
returns FALSE from its ::set_sink_caps() function.

13 years agobaseparse: don't try to GST_LOG an already-freed caps string
Tim-Philipp Müller [Mon, 1 Jun 2009 12:47:01 +0000 (13:47 +0100)]
baseparse: don't try to GST_LOG an already-freed caps string

The proper way to log caps is via GST_PTR_FORMAT anyway.

13 years agobaseparse: fix debug category
Mark Nauwelaerts [Tue, 26 May 2009 17:43:53 +0000 (19:43 +0200)]
baseparse: fix debug category

13 years agobaseparse: fix (regression in) newsegment handling
Mark Nauwelaerts [Mon, 27 Apr 2009 20:39:15 +0000 (22:39 +0200)]
baseparse: fix (regression in) newsegment handling

(aacparse, amrparse, flacparse).  Fixes #580133.

13 years agobaseparse: Fix slightly broken buffer-in-segment check (aacparse, amrparse, flacparse)
René Stadler [Tue, 7 Apr 2009 01:53:02 +0000 (04:53 +0300)]
baseparse: Fix slightly broken buffer-in-segment check (aacparse, amrparse, flacparse)

13 years agobaseparse: Fix push mode seeking (aacparse, amrparse)
René Stadler [Sun, 5 Apr 2009 00:50:19 +0000 (03:50 +0300)]
baseparse: Fix push mode seeking (aacparse, amrparse)

Sending the flush-start event forward before taking the stream lock actually
works, in contrast to deadlocking in downstream preroll_wait (hunk 1).

After that we get the chain function being stuck in a busy loop. This is fixed
by updating the minimum frame size inside the synchronization loop because the
subclass asks for more data in this way (hunk 2).

Finally, this leads to a very probable crash because the subclass can find a
valid frame with a size greater than the currently available data in the
adapter. This makes the subsequent gst_adapter_take_buffer call return NULL,
which is not expected (hunk 3).

13 years agobaseparse: Delay newsegment as long as possible.
Mark Nauwelaerts [Tue, 31 Mar 2009 14:07:46 +0000 (16:07 +0200)]
baseparse: Delay newsegment as long as possible.

If newsegment is sent (too) early, caps may not yet be fixed/set,
and downstream may not have been linked.

13 years agobaseparse: revert last change and properly fix
Stefan Kost [Fri, 27 Feb 2009 09:24:37 +0000 (11:24 +0200)]
baseparse: revert last change and properly fix

Baseparse internaly breaks the semantics of a _chain function by calling it with
buffer==NULL. The reson I belived it was okay to remove it was that there is
also an unchecked access to buffer later in _chain. Actually that code is wrong,
as it most probably wants to set discont on the outgoing buffer.

13 years agobaseparse: remove checks for buffer==NULL
Stefan Kost [Thu, 26 Feb 2009 09:02:06 +0000 (11:02 +0200)]
baseparse: remove checks for buffer==NULL

Accordifn to docs for GstPadChainFunction buffer cannot be NULL. If we would
leave the check, we would also need more such check below.

13 years agoFix the return value of the default parse_frame function.
Jan Schmidt [Fri, 30 Jan 2009 18:18:10 +0000 (18:18 +0000)]
Fix the return value of the default parse_frame function.

Fix the return value of the default parse_frame function in both
copies of GstBaseParse

13 years agogst/: Fix baseparse type name.
Stefan Kost [Thu, 13 Nov 2008 14:21:39 +0000 (14:21 +0000)]
gst/: Fix baseparse type name.

Original commit message from CVS:
* gst/aacparse/gstbaseparse.c:
* gst/amrparse/gstbaseparse.c:
Fix baseparse type name.

13 years agoAdd two new baseparse based parsers (aac and amr) from Bug #518857.
Stefan Kost [Thu, 13 Nov 2008 12:59:34 +0000 (12:59 +0000)]
Add two new baseparse based parsers (aac and amr) from Bug #518857.

Original commit message from CVS:
* configure.ac:
* gst/aacparse/Makefile.am:
* gst/aacparse/gstaacparse.c:
* gst/aacparse/gstaacparse.h:
* gst/aacparse/gstbaseparse.c:
* gst/aacparse/gstbaseparse.h:
* gst/amrparse/Makefile.am:
* gst/amrparse/gstamrparse.c:
* gst/amrparse/gstamrparse.h:
* gst/amrparse/gstbaseparse.c:
* gst/amrparse/gstbaseparse.h:
Add two new baseparse based parsers (aac and amr) from Bug #518857.

13 years agoqueue[2]: Make src query MT-safe
Havard Graff [Sat, 19 Mar 2011 23:56:08 +0000 (00:56 +0100)]
queue[2]: Make src query MT-safe

It is possible that the element might be going down while the event arrives

13 years agobasesrc: Make src query MT-safe
Havard Graff [Sat, 19 Mar 2011 23:56:08 +0000 (00:56 +0100)]
basesrc: Make src query MT-safe

It is possible that the element might be going down while the event arrives

13 years agoqueue[2]: Unref events if the parent element disappeared
Sebastian Dröge [Fri, 8 Apr 2011 12:56:37 +0000 (14:56 +0200)]
queue[2]: Unref events if the parent element disappeared

13 years agoqueue[2]: Make upstream events MT-safe
Havard Graff [Mon, 21 Mar 2011 15:01:05 +0000 (16:01 +0100)]
queue[2]: Make upstream events MT-safe

13 years agobase: Unref events if the parent element disappeared
Sebastian Dröge [Fri, 8 Apr 2011 12:55:09 +0000 (14:55 +0200)]
base: Unref events if the parent element disappeared

And also unref events if the basetransform subclass has no
event handler and the event is not forwarded at all.

13 years agobase: Make upstream events MT-safe
Havard Graff [Mon, 21 Mar 2011 15:01:05 +0000 (16:01 +0100)]
base: Make upstream events MT-safe

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.