Wim Taymans [Mon, 11 Jun 2012 13:49:10 +0000 (15:49 +0200)]
element: remove unused UNPARENTING flag
Wim Taymans [Mon, 11 Jun 2012 13:41:58 +0000 (15:41 +0200)]
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
Matej Knopp [Sun, 10 Jun 2012 16:48:00 +0000 (12:48 -0400)]
typefindelement: Only send caps when pad is being activated
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677819
Matej Knopp [Sun, 10 Jun 2012 16:41:12 +0000 (12:41 -0400)]
gstelement: Start over if subclass removed the next pad too
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677818
Tim-Philipp Müller [Sat, 9 Jun 2012 17:05:14 +0000 (18:05 +0100)]
datetime: remove fallback code for old GLibs
Tim-Philipp Müller [Sat, 9 Jun 2012 16:13:04 +0000 (17:13 +0100)]
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
Sebastian Dröge [Fri, 8 Jun 2012 13:45:38 +0000 (15:45 +0200)]
elements: Use gst_pad_set_caps() and don't ignore its return value
Sebastian Dröge [Fri, 8 Jun 2012 13:41:17 +0000 (15:41 +0200)]
basesrc: Don't ignore the return value of gst_pad_set_caps() and call it after the vfunc
Sebastian Dröge [Fri, 8 Jun 2012 13:36:40 +0000 (15:36 +0200)]
basesink: Use gst_pad_set_caps() instead of the manual event fiddling
Sebastian Dröge [Fri, 8 Jun 2012 13:32:37 +0000 (15:32 +0200)]
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.
Edward Hervey [Wed, 6 Jun 2012 17:02:00 +0000 (19:02 +0200)]
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
Edward Hervey [Thu, 7 Jun 2012 10:49:10 +0000 (12:49 +0200)]
check: Add a test for GST_READ_* macros
Edward Hervey [Fri, 8 Jun 2012 12:49:51 +0000 (14:49 +0200)]
Update common submodule
Wim Taymans [Thu, 7 Jun 2012 15:58:02 +0000 (17:58 +0200)]
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
Sebastian Dröge [Thu, 7 Jun 2012 13:56:44 +0000 (15:56 +0200)]
Back to development
Sebastian Dröge [Thu, 7 Jun 2012 13:56:17 +0000 (15:56 +0200)]
Release 0.11.92
Sebastian Dröge [Thu, 7 Jun 2012 13:53:49 +0000 (15:53 +0200)]
Update .po files
Wim Taymans [Thu, 7 Jun 2012 13:28:39 +0000 (15:28 +0200)]
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.
Wim Taymans [Thu, 7 Jun 2012 08:34:46 +0000 (10:34 +0200)]
basesrc: remove 0.11 fixme
We always require elements to have an unlock_stop vmethod.
Edward Hervey [Wed, 6 Jun 2012 16:11:13 +0000 (18:11 +0200)]
registry: We name the registry after the target cpu
And not the host cpu
Conflicts:
gst/gstregistry.c
Edward Hervey [Wed, 6 Jun 2012 16:18:18 +0000 (18:18 +0200)]
Automatic update of common submodule
From 1fab359 to 03a0e57
Wim Taymans [Wed, 6 Jun 2012 13:45:11 +0000 (15:45 +0200)]
tests: fix unit test after event change
Someone forgot to run make check before pushing...
Sreerenj Balachandran [Wed, 6 Jun 2012 08:06:32 +0000 (11:06 +0300)]
gstadapter: Align the comment description with public api instead of internal one.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677536
Wim Taymans [Wed, 6 Jun 2012 13:29:49 +0000 (15:29 +0200)]
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
Sebastian Dröge [Wed, 6 Jun 2012 12:14:31 +0000 (14:14 +0200)]
event: Don't make the TOC event a multi-sticky event
Elements are supposed to merge upstream events.
Havard Graff [Tue, 13 Oct 2009 15:24:34 +0000 (17:24 +0200)]
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
Wim Taymans [Wed, 6 Jun 2012 10:52:09 +0000 (12:52 +0200)]
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
Sebastian Dröge [Wed, 6 Jun 2012 07:59:55 +0000 (09:59 +0200)]
design: Also mention that the order of the filter caps is important
Wim Taymans [Wed, 6 Jun 2012 07:15:04 +0000 (09:15 +0200)]
query: improve docs
Wim Taymans [Wed, 6 Jun 2012 07:13:11 +0000 (09:13 +0200)]
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
Wim Taymans [Tue, 5 Jun 2012 12:38:25 +0000 (14:38 +0200)]
docs: talk about the filter caps
Tim-Philipp Müller [Sat, 2 Jun 2012 15:44:59 +0000 (16:44 +0100)]
tests: add unit test for tag list writability
Tim-Philipp Müller [Sat, 2 Jun 2012 15:38:35 +0000 (16:38 +0100)]
gst_tag_list_free -> gst_tag_list_unref
Tim-Philipp Müller [Sat, 2 Jun 2012 15:29:45 +0000 (16:29 +0100)]
docs: expand taglist section in porting-to-0.11 docs a bit
Wim Taymans [Tue, 5 Jun 2012 09:28:38 +0000 (11:28 +0200)]
docs: update negotiation docs
Mention that the acceptcaps query does not have to be recursive
Wim Taymans [Tue, 5 Jun 2012 07:40:14 +0000 (09:40 +0200)]
queue2: remove obsolete caps code
Wim Taymans [Tue, 5 Jun 2012 07:39:41 +0000 (09:39 +0200)]
utils: improve debug
Wim Taymans [Tue, 5 Jun 2012 07:21:10 +0000 (09:21 +0200)]
tests: fix unit test
Before we can change the caps on a sinkpad with fixed caps we need to unfix the
pad caps.
Wim Taymans [Tue, 5 Jun 2012 07:10:05 +0000 (09:10 +0200)]
pad: don't pause task on EOS
Elements should not rely on core to pause tasks on EOS.
Wim Taymans [Tue, 5 Jun 2012 07:00:01 +0000 (09:00 +0200)]
pad: fix event type check
Wim Taymans [Mon, 4 Jun 2012 14:19:26 +0000 (16:19 +0200)]
pad: fix 'res' may be used uninitialized in this function
Sebastian Dröge [Mon, 4 Jun 2012 11:00:53 +0000 (13:00 +0200)]
funnel: Fix unit test
Sebastian Dröge [Mon, 4 Jun 2012 10:57:59 +0000 (12:57 +0200)]
valve: Fix unit test
Sebastian Dröge [Mon, 4 Jun 2012 09:46:42 +0000 (11:46 +0200)]
pad: Don't accept any buffers or events after EOS
Mark Nauwelaerts [Mon, 4 Jun 2012 09:13:02 +0000 (11:13 +0200)]
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).
Sebastian Dröge [Mon, 4 Jun 2012 09:25:47 +0000 (11:25 +0200)]
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.
Sebastian Dröge [Mon, 4 Jun 2012 07:27:35 +0000 (09:27 +0200)]
pad: Only forward caps events to a pad if it accepts the caps
Fixes bug #677335.
Sebastian Dröge [Sat, 2 Jun 2012 18:01:01 +0000 (20:01 +0200)]
Revert "pad: Return FALSE if pushing of sticky events failed"
This reverts commit
0f924b922c712059d7752fc15b832551745ff27e.
Sticky events should always return TRUE when pushing and will
only cause failures during data flow later.
Tim-Philipp Müller [Sat, 2 Jun 2012 15:18:46 +0000 (16:18 +0100)]
pad: fix variable-set-but-not-used compiler warning
Sebastian Dröge [Sat, 2 Jun 2012 14:55:07 +0000 (16:55 +0200)]
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.
Sebastian Dröge [Sat, 2 Jun 2012 14:02:07 +0000 (16:02 +0200)]
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.
Andre Moreira Magalhaes (andrunko) [Fri, 1 Jun 2012 14:34:16 +0000 (16:34 +0200)]
inputselector: Correctly get current running time when syncing to the segment information
Fixes bug #677263.
Edward Hervey [Fri, 1 Jun 2012 08:28:30 +0000 (10:28 +0200)]
Automatic update of common submodule
From f1b5a96 to 1fab359
Mike Ruprecht [Sat, 26 May 2012 03:58:57 +0000 (22:58 -0500)]
tests: Add funnel test to cover EOS event handling
Ported from
f3b2dd6f in the 0.10 branch
Mike Ruprecht [Sat, 26 May 2012 03:52:33 +0000 (22:52 -0500)]
funnel: Only emit EOS event if all sinkpads have received one
If multiple sources are plugged into the funnel and one of the
sources emits an EOS, that event is propogated through the funnel
even though other sources connected to the funnel may still be
pushing data. This patch waits to send an EOS event until the
funnel has received an EOS event on each sinkpad.
Ported from
d397ea97 in 0.10 branch.
Mike Ruprecht [Wed, 30 May 2012 00:24:25 +0000 (19:24 -0500)]
tests: Fix invalid read when releasing request pads in funnel tests
Mike Ruprecht [Wed, 30 May 2012 00:23:07 +0000 (19:23 -0500)]
funnel: Fix buffer leak
Andre Moreira Magalhaes (andrunko) [Thu, 31 May 2012 15:45:29 +0000 (17:45 +0200)]
inputselector: Don't try to sync on the segment if it has no TIME format
...and wait until it is actually configured and has a format before
trying to sync.
Sebastian Dröge [Thu, 31 May 2012 15:03:54 +0000 (17:03 +0200)]
inputselector: No need to broadcast the signal in flush-stop
Everything stopped at this point already.
Conflicts:
plugins/elements/gstinputselector.c
Sebastian Dröge [Thu, 31 May 2012 11:07:49 +0000 (13:07 +0200)]
Automatic update of common submodule
From 92b7266 to f1b5a96
Bastien Nocera [Thu, 31 May 2012 09:10:41 +0000 (10:10 +0100)]
queue2: Fix property name in the docs
temp-template, not temp-tmpl
https://bugzilla.gnome.org/show_bug.cgi?id=677170
Andre Moreira Magalhaes (andrunko) [Mon, 28 May 2012 17:29:00 +0000 (14:29 -0300)]
inputselector: Properly sync when changing streams
This adds properties to use the clock time for deciding when
to drop buffers for inactive pads and a property to buffer all
not rendered buffers for the active pad to allow pad switching
without losing any buffers at all.
Conflicts:
plugins/elements/gstinputselector.c
Sebastian Dröge [Wed, 30 May 2012 10:44:56 +0000 (12:44 +0200)]
Automatic update of common submodule
From ec1c4a8 to 92b7266
Sebastian Dröge [Wed, 30 May 2012 09:18:39 +0000 (11:18 +0200)]
Automatic update of common submodule
From 3429ba6 to ec1c4a8
Tim-Philipp Müller [Tue, 29 May 2012 07:48:36 +0000 (08:48 +0100)]
taglist: add guards to make sure taglist is writable when modifying it
Now that taglists are refcounted we need to check if they're
writable before modifying them.
Tim-Philipp Müller [Mon, 28 May 2012 22:54:10 +0000 (23:54 +0100)]
taglist: avoid unnecessary string copying when registering tags
Add gst_tag_register_static() - no need to copy all those
string constants, whether translated or not.
API: gst_tag_register_static()
Tim-Philipp Müller [Sun, 27 May 2012 23:08:56 +0000 (00:08 +0100)]
check: check for GLib-GIO criticals as well
Tim-Philipp Müller [Sun, 27 May 2012 23:08:18 +0000 (00:08 +0100)]
gst_tag_list_free() -> gst_tag_list_unref()
Tim-Philipp Müller [Sun, 27 May 2012 22:58:27 +0000 (23:58 +0100)]
taglist: make GstTagList a GstMiniObject
Which adds refcounting support, and other things.
Tim-Philipp Müller [Sun, 27 May 2012 19:31:30 +0000 (20:31 +0100)]
caps: log freeing of caps at same log level as creation, i.e. TRACE
Tim-Philipp Müller [Sat, 26 May 2012 10:37:49 +0000 (11:37 +0100)]
message, event: update for tag lists not being structures any more
Tim-Philipp Müller [Sun, 20 May 2012 23:31:29 +0000 (00:31 +0100)]
taglist: make proper struct not just a GstStructure
Josep Torra [Fri, 25 May 2012 08:28:40 +0000 (10:28 +0200)]
debugutils: Fix static linking on OS X
The linking behaviour of external variables that are not initialized
in the compilation unit where they are defined is undefined. On OS X
this causes a linking failure when statically linking GStreamer.
Luis de Bethencourt [Fri, 25 May 2012 08:17:17 +0000 (09:17 +0100)]
five-bugs-a-day: use splice to trim the bug list
Tim-Philipp Müller [Thu, 24 May 2012 22:30:29 +0000 (23:30 +0100)]
fakesrc: put byte position rather than buffer count into GST_BUFFER_OFFSET
If we're sending a segment in BYTE format, the offset
should be in bytes as well.
Luis de Bethencourt [Thu, 24 May 2012 10:48:19 +0000 (11:48 +0100)]
docs: fix a typo in part-segments.txt
Brian Cameron [Thu, 24 May 2012 09:02:53 +0000 (11:02 +0200)]
typefind: fix prototype of helper_find_suggest
The proto for helper_find_suggest has a different argument than the actual
function in the same file has. This causes the Sun Studio compiler to fail.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=676624
Conflicts:
libs/gst/base/gsttypefindhelper.c
Tim-Philipp Müller [Thu, 24 May 2012 07:07:14 +0000 (08:07 +0100)]
scripts: remove a stray print from debugging and fix up cron entry docs
Sebastian Dröge [Thu, 24 May 2012 07:03:12 +0000 (09:03 +0200)]
five-bugs-a-day: Make #! to perl more portable
Tim-Philipp Müller [Thu, 24 May 2012 06:56:48 +0000 (07:56 +0100)]
scripts: remove fixed 'known issue' from five-bugs-a-day script
This was with commas actually, and should be fixed now.
Tim-Philipp Müller [Thu, 24 May 2012 06:54:50 +0000 (07:54 +0100)]
scripts: add five-bugs-a-day script
Cron fodder.
Sreerenj Balachandran [Tue, 22 May 2012 11:27:48 +0000 (14:27 +0300)]
tests: rename playbin2 to playbin and adding some debug info
Edward Hervey [Tue, 22 May 2012 16:27:36 +0000 (18:27 +0200)]
uri: Add some debug statements
Edward Hervey [Tue, 22 May 2012 11:51:47 +0000 (13:51 +0200)]
win32: Update defs file
Wim Taymans [Mon, 21 May 2012 07:14:39 +0000 (09:14 +0200)]
bin: port unit test to 0.11
Stefan Sauer [Mon, 21 May 2012 13:14:51 +0000 (15:14 +0200)]
docs: improve the seeking docs more.
Also mention it on _element_seek{,_simple} and be more precise why it happens.
Stefan Sauer [Mon, 21 May 2012 11:17:21 +0000 (13:17 +0200)]
docs: fix a typo and clarify event handling a bit more
Tell about async_done messages for some events and review the _event_new_seek
docs.
Wim Taymans [Fri, 18 May 2012 13:04:35 +0000 (15:04 +0200)]
bin: try harder to avoid state changes in wrong direction
When the bin does an upward state change, try to avoid doing a downward state
change on the child and vice versa.
Add some more unit tests for this fix.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=621833
Anton Belka [Fri, 18 May 2012 17:11:55 +0000 (20:11 +0300)]
gst-launch: fix -c, --toc message
Anton Belka [Sun, 20 May 2012 22:48:29 +0000 (01:48 +0300)]
toc: Add boxed types for GstToc and GstTocEntry
Tim-Philipp Müller [Sun, 20 May 2012 17:23:57 +0000 (18:23 +0100)]
toc: fix type of pad parameter to gst_toc_entry_new_with_pad()
Tim-Philipp Müller [Sun, 20 May 2012 17:16:45 +0000 (18:16 +0100)]
toc: use correct GType for tag lists
Tim-Philipp Müller [Sun, 20 May 2012 17:06:22 +0000 (18:06 +0100)]
toc: avoid unnecessary GValue acrobatics
Tim-Philipp Müller [Sun, 20 May 2012 16:48:55 +0000 (17:48 +0100)]
toc: use global quark table
Tim-Philipp Müller [Sun, 20 May 2012 16:10:24 +0000 (17:10 +0100)]
toc: fix internal TOC query and event structure names
Make them consistent with all the other query and event names.
Tim-Philipp Müller [Sat, 19 May 2012 16:24:52 +0000 (17:24 +0100)]
pluginfeature: make GstPluginFeature structure private
Make GstPluginFeature opaque until we have time to
clean it up a little. Only GstElementFactory and
GstTypefindFactory derive from it, and they are
opaque already, and we currently don't support
custom plugin features in the registry anyway.
Tim-Philipp Müller [Sat, 19 May 2012 16:23:43 +0000 (17:23 +0100)]
tools, tests: don't access the GstPluginFeature structure directly
Tim-Philipp Müller [Sat, 19 May 2012 16:16:35 +0000 (17:16 +0100)]
pluginfeature: add gst_plugin_feature_get_plugin()
Add function to retrieve plugin that provides this feature.
API: gst_plugin_feature_get_plugin()
Tim-Philipp Müller [Sat, 19 May 2012 15:21:39 +0000 (16:21 +0100)]
common: update for gstscanobj changes
Tim-Philipp Müller [Sat, 19 May 2012 14:51:53 +0000 (15:51 +0100)]
elementfactory: make object struct opaque for now
Make GstElementFactory opaque until we have time to
clean it up a little. It's not something anyone
would need to derive from.