Havard Graff
0daedb7409
base: Make upstream events MT-safe
2011-04-08 14:57:00 +02:00
Stian Selnes
339df347a0
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.
2011-04-08 14:51:06 +02:00
Sebastian Dröge
ba6054b862
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.
2011-04-08 14:50:10 +02:00
Havard Graff
297407438a
inputselector: Protect against pad-parent disappearing
2011-04-08 14:48:16 +02:00
Stian Selnes
c19f44e1d2
iterator: resync to avoid infinite loop
2011-04-08 14:43:21 +02:00
Sebastian Dröge
b17537d14d
utils: Fix uninitialized variable compiler warnings
2011-04-08 09:20:28 +02:00
Sebastian Dröge
43cdbc17e6
bus: Removed unused GCond
2011-04-08 09:15:56 +02:00
Sebastian Dröge
6d97652903
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.
2011-04-08 09:15:56 +02:00
Sebastian Dröge
80eb160e0f
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
2011-04-08 09:15:56 +02:00
Sebastian Dröge
c41b0ade28
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
2011-04-08 09:15:56 +02:00
Tim-Philipp Müller
5c75330fea
tests: add some basic unit tests for queue2
2011-04-07 20:50:04 +01:00
Tim-Philipp Müller
12249e99c2
queue2: fix buffer leak on eos when using the ring buffer
2011-04-07 20:50:04 +01:00
Idar Tollefsen
46a786cee6
queue2: Fixes memory leak on out_flushing error in gst_queue2_create_read.
...
https://bugzilla.gnome.org/show_bug.cgi?id=646972
2011-04-07 20:50:04 +01:00
Tim-Philipp Müller
419d117851
queue2: fix minor memory leak
2011-04-07 20:50:04 +01:00
Tim-Philipp Müller
01d016e720
funnel: minor element description fix
2011-04-07 20:50:04 +01:00
Stefan Kost
7bb40c3ada
docs: remove file as we have docs/design/part-missing-plugins.txt
2011-04-07 16:09:49 +03:00
Sebastian Dröge
7945821f92
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...
2011-04-07 10:48:04 +02:00
Sebastian Dröge
c7c3e46b08
bla
2011-04-07 10:40:16 +02:00
Sebastian Dröge
1d9cd86af6
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 .
2011-04-07 10:29:41 +02:00
Sebastian Dröge
874d60e589
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 .
2011-04-06 14:18:35 +02:00
Sebastian Dröge
79370d4b17
Revert "bus: Only create the signalling socket pair when required"
...
This reverts commit 4bf8f1524f
.
2011-04-06 14:12:26 +02:00
Sebastian Dröge
2cb3e52351
Revert "bus: Check if pending messages are in the queue"
...
This reverts commit bd1c400114
.
2011-04-06 14:12:26 +02:00
Tim-Philipp Müller
6a5f8a1b2d
checks: make tests_many_bins in bin unit test a bit faster
...
Not doing expensive checks when linking elements makes things
much faster.
2011-04-06 11:41:14 +01:00
Tim-Philipp Müller
da5d6712a2
checks: add some queues to test_many_bins unit test
...
To limit the number of calls in a row per thread.
2011-04-06 11:30:18 +01:00
Sebastian Dröge
bd1c400114
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.
2011-04-06 12:03:18 +02:00
Sebastian Dröge
ec0de993c6
value: GstDate/GDate has a abbreviation now
2011-04-06 11:45:27 +02:00
Tim-Philipp Müller
d7ff4ee6cb
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
2011-04-05 16:30:59 +02:00
Sebastian Dröge
4bf8f1524f
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 .
2011-04-05 16:30:55 +02:00
Sebastian Dröge
5860734aaf
structure: Add date as a type abbreviation of GDate
...
See bug #646696 .
2011-04-05 14:37:55 +02:00
Stefan Kost
95737e2811
Automatic update of common submodule
...
From 1ccbe09 to c3cafe1
2011-04-04 15:56:30 +03:00
Andoni Morales Alastruey
7c6d9c2725
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.
2011-04-04 11:05:45 +02:00
Sebastian Dröge
eba33c1de1
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.
2011-04-04 10:18:14 +02:00
Thomas Kristensen
d0d27e83fe
poll: don't call WSAWaitForMultipleEvents with no events
...
Fixes error caught by Microsoft Application Verifier.
2011-04-04 09:23:57 +02:00
Tim-Philipp Müller
e1ac508cab
docs: add pointer to part-seeking.txt design docs to event seek flags docs
2011-04-03 16:18:54 +01:00
Tim-Philipp Müller
439bbf1fde
checks: ignore new funnel unit test binary
2011-04-03 16:18:14 +01:00
Bastien Nocera
08e189badb
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
2011-04-02 15:12:46 +01:00
Sebastian Dröge
38c07bac1d
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.
2011-04-01 13:58:43 +02:00
Sebastian Dröge
9f3e48b55b
element: Use gint64/guint64 string parsing functions
...
And check that the requested pad names are inside the valid
gint/guint range.
2011-04-01 13:58:43 +02:00
Josep Torra
c40dba242c
element: strto[u]l() returns a g[u]long
2011-04-01 13:58:43 +02:00
Tim-Philipp Müller
0221f842af
design docs: document expected behaviour for ACCURATE and KEY_UNIT seek flags
2011-03-31 19:27:30 +01:00
Sebastian Dröge
f42f2240d0
gstabi: Add some new structures for x86-64
2011-03-31 10:53:03 +02:00
Sebastian Dröge
2714587a96
libsabi: Add lots of new structures for x86-64
2011-03-31 10:46:40 +02:00
Sebastian Dröge
8db570f48c
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.
2011-03-30 10:52:36 +02:00
Andreas Frisch
5368406a57
multiqueue: Set the single queue ID to the ID of the requested pad if one was given by the caller
2011-03-30 10:18:54 +02:00
Sebastian Dröge
b8ea24d466
element: Fix sanity checks for request pad templates without %
2011-03-29 16:22:46 +02:00
Sebastian Dröge
cb3f09a719
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.
2011-03-29 11:57:58 +02:00
Sebastian Dröge
c9238f6f56
element: Check %u too when trying to find a pad template for a request pad
2011-03-29 11:52:06 +02:00
Fraxinas
86bbc85ab1
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
2011-03-29 11:31:03 +02:00
Sebastian Dröge
b6caaf4ead
funnel: Add some more documentation about the behaviour of funnel
2011-03-29 11:20:06 +02:00
Sebastian Dröge
a7b451cc13
funnel: Send a newsegment event after flush-stop
2011-03-29 11:20:06 +02:00