Wim Taymans
85d5a29b40
bin: reorganize _remove_func to avoid races
...
Make the gst_bin_remove_func more like the add_func. Check if the element we try
to remove from the bin has the bin as the parent and set the parent flag to NULL
immediately, this allows us to avoid concurrent remove operations without using
the UNPARENTING element flag. After we unparented the element from the bin, we
update the bin state and remove the element from the list. Finally we unlink
all the pads.
This avoids a race condition where the element could still claim to have the
bin as the parent while the bin didn't have a pointer to the element anymore.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=647759
2012-06-11 15:41:58 +02:00
Matej Knopp
b3cee7155a
typefindelement: Only send caps when pad is being activated
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677819
2012-06-11 10:47:40 +02:00
Matej Knopp
a362b844f8
gstelement: Start over if subclass removed the next pad too
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677818
2012-06-11 10:43:34 +02:00
Tim-Philipp Müller
bfe1cf9926
datetime: remove fallback code for old GLibs
2012-06-09 18:05:14 +01:00
Tim-Philipp Müller
98ecc35d30
scripts: add create-uninstalled-setup script
...
Little script that sets up things in ~/gst and clones
the main modules and prints some instructions.
From http://gstreamer.freedesktop.org/wiki/UninstalledSetup
2012-06-09 17:15:03 +01:00
Sebastian Dröge
8d6ead8038
elements: Use gst_pad_set_caps() and don't ignore its return value
2012-06-08 15:45:38 +02:00
Sebastian Dröge
aee0d2a2b3
basesrc: Don't ignore the return value of gst_pad_set_caps() and call it after the vfunc
2012-06-08 15:41:17 +02:00
Sebastian Dröge
ec7a0a7cf2
basesink: Use gst_pad_set_caps() instead of the manual event fiddling
2012-06-08 15:36:40 +02:00
Sebastian Dröge
183cc7e3bf
basetransform: Don't return the return value of gst_pad_set_caps()
...
e.g. it returns FALSE if incompatible caps are set on the pad.
2012-06-08 15:33:34 +02:00
Edward Hervey
915ca4685c
gstutils: Faster read macros
...
On platforms that can do unaligned read/write, we can read/write much faster
by just casting.
https://bugzilla.gnome.org/show_bug.cgi?id=599546
2012-06-08 14:58:00 +02:00
Edward Hervey
502ee3d092
check: Add a test for GST_READ_* macros
2012-06-08 14:58:00 +02:00
Edward Hervey
b86a17b7e0
Update common submodule
2012-06-08 14:58:00 +02:00
Wim Taymans
56f9d3782d
basetransform: fix reconfigure
...
Use the pad methods to set and check the reconfigure flags
Clear the reconfigure flag before we negotiate so that we don't miss any
reconfigure events while negotiating
2012-06-07 17:59:39 +02:00
Sebastian Dröge
21a69f54af
Back to development
2012-06-07 15:56:44 +02:00
Sebastian Dröge
2160d7c0cc
Release 0.11.92
2012-06-07 15:56:17 +02:00
Sebastian Dröge
b5d51b8577
Update .po files
2012-06-07 15:53:49 +02:00
Wim Taymans
80ff9dfb3d
basesrc: release the object lock sooner
...
Release the object lock before we get the time of the clock because that code
might take other locks.
Fix potential clock refcount error because we released the object lock but
didn't ref the clock.
2012-06-07 15:32:27 +02:00
Wim Taymans
42e755f7c3
basesrc: remove 0.11 fixme
...
We always require elements to have an unlock_stop vmethod.
2012-06-07 15:32:27 +02:00
Edward Hervey
cdf1cc0cf5
registry: We name the registry after the target cpu
...
And not the host cpu
Conflicts:
gst/gstregistry.c
2012-06-07 10:57:31 +02:00
Edward Hervey
ad1136b5a5
Automatic update of common submodule
...
From 1fab359 to 03a0e57
2012-06-06 18:18:18 +02:00
Wim Taymans
11edb59462
tests: fix unit test after event change
...
Someone forgot to run make check before pushing...
2012-06-06 15:45:11 +02:00
Sreerenj Balachandran
b4ecac2c98
gstadapter: Align the comment description with public api instead of internal one.
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677536
2012-06-06 15:44:36 +02:00
Wim Taymans
6758e5f00d
element: fix pad cleanup in dispose
...
In the dispose handler we first need to release all the request pads and then
remove the remaining pads. This is because it is possible that releasing the
request pad might also cleanly remove some of the other dynamic pads, like
what rtpsession does.
https://bugzilla.gnome.org/show_bug.cgi?id=677436
2012-06-06 15:33:57 +02:00
Sebastian Dröge
738cf12d96
event: Don't make the TOC event a multi-sticky event
...
Elements are supposed to merge upstream events.
2012-06-06 14:16:01 +02:00
Havard Graff
75853fa79b
Make sure that unlinked pads do not cause a return false on latency events.
...
Context: Latency configuration should not be
messed up because of not-linked pads. In general,
one return FALSE on latency distribution causes
the "overall" pipeline latency configuration to
fail. This shows up as noise in logs (warning).
Conflicts:
gst/gstpad.c
2012-06-06 13:42:32 +02:00
Wim Taymans
c10d39a804
event: add name to sticky_multi events
...
The name of the event is used to store multiple sticky events of a certain type
on a pad.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=676859
2012-06-06 12:52:09 +02:00
Sebastian Dröge
27e4faa147
design: Also mention that the order of the filter caps is important
2012-06-06 09:59:55 +02:00
Wim Taymans
15d85b9edb
query: improve docs
2012-06-06 09:15:04 +02:00
Wim Taymans
d907544ab1
pad: only serialized events can't pass after EOS
...
Only serialized events can't be sent on pads that are EOS. Otherwise a seek
event would be refused as well.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677520
2012-06-06 09:14:58 +02:00
Wim Taymans
4e06fccf41
docs: talk about the filter caps
2012-06-06 09:14:57 +02:00
Tim-Philipp Müller
1f008928ae
tests: add unit test for tag list writability
2012-06-05 15:05:07 +01:00
Tim-Philipp Müller
1f8e6b4fa5
gst_tag_list_free -> gst_tag_list_unref
2012-06-05 15:05:07 +01:00
Tim-Philipp Müller
52adcbf3be
docs: expand taglist section in porting-to-0.11 docs a bit
2012-06-05 15:05:06 +01:00
Wim Taymans
4affde2a4f
docs: update negotiation docs
...
Mention that the acceptcaps query does not have to be recursive
2012-06-05 11:28:38 +02:00
Wim Taymans
70c3a752be
queue2: remove obsolete caps code
2012-06-05 09:40:14 +02:00
Wim Taymans
64b5eeefa3
utils: improve debug
2012-06-05 09:39:41 +02:00
Wim Taymans
c4ae921ba6
tests: fix unit test
...
Before we can change the caps on a sinkpad with fixed caps we need to unfix the
pad caps.
2012-06-05 09:21:10 +02:00
Wim Taymans
b0756827f6
pad: don't pause task on EOS
...
Elements should not rely on core to pause tasks on EOS.
2012-06-05 09:10:05 +02:00
Wim Taymans
bae0c4b0c6
pad: fix event type check
2012-06-05 09:00:01 +02:00
Wim Taymans
66c88c1bb1
pad: fix 'res' may be used uninitialized in this function
2012-06-04 16:19:26 +02:00
Sebastian Dröge
3a501deb3e
funnel: Fix unit test
2012-06-04 13:01:41 +02:00
Sebastian Dröge
09efcf22c8
valve: Fix unit test
2012-06-04 13:01:41 +02:00
Sebastian Dröge
8cc12b05fc
pad: Don't accept any buffers or events after EOS
2012-06-04 13:01:40 +02:00
Mark Nauwelaerts
584892bf79
baseparse: also perform state processing upon non-OK return
...
... since processing might still continue (if e.g. NOT_LINKED)
and then proper state (e.g. offset) needs to be maintained
(e.g. to arrange for a new frame setup).
2012-06-04 11:47:55 +02:00
Sebastian Dröge
5a8c901507
pad: Always return errors for EOS events immediately
...
For non-EOS events things will error out later during data
flow but after EOS events no data flow is happening.
See bug #677340 .
2012-06-04 11:25:47 +02:00
Sebastian Dröge
991ac561e1
pad: Only forward caps events to a pad if it accepts the caps
...
Fixes bug #677335 .
2012-06-04 09:27:35 +02:00
Sebastian Dröge
8e6b5c7acf
Revert "pad: Return FALSE if pushing of sticky events failed"
...
This reverts commit 0f924b922c
.
Sticky events should always return TRUE when pushing and will
only cause failures during data flow later.
2012-06-02 20:06:39 +02:00
Tim-Philipp Müller
9b308b2b5b
pad: fix variable-set-but-not-used compiler warning
2012-06-02 16:18:46 +01:00
Sebastian Dröge
0ca7b85ead
pad: If pushing a sticky event failed, make sure to at least push any pending EOS events
...
Otherwise a pipeline where one sticky event fails to be sent will
never forward EOS events downstream. This can cause pipelines to
wait forever for EOS on errors.
2012-06-02 17:00:48 +02:00
Sebastian Dröge
0f924b922c
pad: Return FALSE if pushing of sticky events failed
...
Instead of just ignoring failure of pushing sticky events and
returning TRUE as if everything is fine.
2012-06-02 16:02:07 +02:00