Johan Dahlin [Sat, 8 Jan 2011 14:12:41 +0000 (12:12 -0200)]
iterator: free struct in gst_iterator_free
https://bugzilla.gnome.org/show_bug.cgi?id=638987
Johan Dahlin [Sat, 8 Jan 2011 14:07:55 +0000 (12:07 -0200)]
iterator: store size in the struct
https://bugzilla.gnome.org/show_bug.cgi?id=638987
Sebastian Dröge [Thu, 5 May 2011 09:28:38 +0000 (11:28 +0200)]
caps: Merge structures when intersecting instead of appending them
This prevents adding duplicates over and over again to the resulting
caps if they already describe the new intersection result.
While this changes intersection from O(n*m) to O(n^2*m), it results in
smaller caps, which in the end will decrease further processing times.
For example in an audioconvert ! audioconvert ! audioconvert pipeline,
when forwarding the downstream caps preference in basetransform
(see
e26da72de25a91c3eaad9f7c8b2f53ba888a0394) this results in
16 instead of 191 caps structures.
Sebastian Dröge [Wed, 4 May 2011 09:29:15 +0000 (11:29 +0200)]
basetransform: In getcaps() prefer the caps order and caps of downstream if possible
Sebastian Dröge [Tue, 3 May 2011 15:26:53 +0000 (17:26 +0200)]
basetransform: Prefer caps order given by the subclass of the template caps order
Sebastian Dröge [Tue, 3 May 2011 12:13:59 +0000 (14:13 +0200)]
basesrc: Use the reconfigure flag on the pad instead of the event
Sebastian Dröge [Tue, 3 May 2011 12:11:34 +0000 (14:11 +0200)]
basetransform: Use new reconfigure flag on the pads instead of the reconfigure event
Sebastian Dröge [Tue, 3 May 2011 11:42:44 +0000 (13:42 +0200)]
pad: Keep track of reconfigure events and the pad-needs-reconfiguring status
Sebastian Dröge [Tue, 3 May 2011 11:05:06 +0000 (13:05 +0200)]
event: Rename renegotiate event to reconfigure
In 0.11 this event will also do reconfiguration of buffer pools
and similar things, not just renegotiation.
Olivier Crête [Wed, 17 Mar 2010 21:24:55 +0000 (21:24 +0000)]
pad: Send renegotiate event on link
Olivier Crête [Wed, 17 Mar 2010 21:17:10 +0000 (21:17 +0000)]
pad: Drop renegotiate event if there is no getcaps function on a sink pad
If there is no custom getcaps function on a sink pad, then changes in
downstream caps will never be propagated, so there is no point in trying to
renegotiate the capabilities.
Sebastian Dröge [Tue, 26 Apr 2011 14:39:56 +0000 (16:39 +0200)]
basesrc: Only renegotiate once after receiving a renegotiate event
Also make this threadsafe.
Thiago Santos [Mon, 17 Jan 2011 17:13:46 +0000 (14:13 -0300)]
basesrc: Handle the new renegotiate event
Makes basesrc handle the new renegotiate event by using a
renegotiate flag.
Sebastian Dröge [Tue, 26 Apr 2011 14:48:05 +0000 (16:48 +0200)]
basetransform: Also call gst_base_transform_reconfigure() on renegotiate events
Thiago Santos [Mon, 17 Jan 2011 17:13:46 +0000 (14:13 -0300)]
basetransform: Handle the new renegotiate event
Let basetransform push a renegotiate event upstream
when it gets a new suggestion
Thiago Santos [Mon, 17 Jan 2011 14:51:49 +0000 (11:51 -0300)]
event: Adding new renegotiate event
Wim Taymans [Thu, 5 May 2011 11:10:42 +0000 (13:10 +0200)]
pad: pass the context around
Pass the context from srcpad to sinkpad before dataflow when something
changed.
Wim Taymans [Thu, 5 May 2011 09:17:20 +0000 (11:17 +0200)]
pad: update the context lazyly
Wim Taymans [Thu, 5 May 2011 09:16:48 +0000 (11:16 +0200)]
gst: init the GType early
Wim Taymans [Thu, 5 May 2011 09:16:23 +0000 (11:16 +0200)]
defs: update defs
Wim Taymans [Thu, 5 May 2011 08:40:14 +0000 (10:40 +0200)]
context: add foreach function
Add a function to iterate over all stored events.
Wim Taymans [Thu, 5 May 2011 08:37:19 +0000 (10:37 +0200)]
Revert "context: use context on buffers instead of caps"
This reverts commit
9ef1346b1fa0bd2bb42cd991a52ff308a728bdb6.
Way to much for one commit and I'm not sure we want to get rid of the pad caps
just like that. It's nice to have the buffer and its type in onw nice bundle
without having to drag the complete context with it.
Miguel Angel Cabrera Moya [Wed, 20 Apr 2011 20:52:36 +0000 (22:52 +0200)]
parse: don't unescape inside quotes
Escaped characters inside quoted strings are supposed to be unescaped by
deserialization functions, not by parsing functions.
https://bugzilla.gnome.org/show_bug.cgi?id=648025
Sebastian Dröge [Mon, 18 Apr 2011 12:26:33 +0000 (14:26 +0200)]
bin: Only post EOS messages after reaching the PLAYING state
Fixes bug #647756.
Sebastian Dröge [Mon, 18 Apr 2011 08:04:24 +0000 (10:04 +0200)]
pad: Remove unnecessary FIXME
Resetting the result is not necessary when resyncing because
pads that previously got the event will be skipped and we
need to consider the results of the previous pushes.
Sebastian Dröge [Mon, 18 Apr 2011 07:53:55 +0000 (09:53 +0200)]
element: If activating one pad failed error out early instead of trying to activate the next pads
If one pad fails to activate the complete activation process will fail
anyway and trying to activate the other pads only wastes time.
Sebastian Dröge [Mon, 18 Apr 2011 07:49:04 +0000 (09:49 +0200)]
bin: If activating one pad failed error out early instead of trying to activate the next pads
If one pad fails to activate the complete activation process will fail
anyway and trying to activate the other pads only wastes time.
Sebastian Dröge [Thu, 5 May 2011 10:28:02 +0000 (12:28 +0200)]
basetransform: Remove nowadays unused and uninitialized setcaps variable
Sebastian Dröge [Thu, 5 May 2011 10:27:51 +0000 (12:27 +0200)]
Merge branch 'master' into 0.11
Conflicts:
docs/gst/gstreamer-sections.txt
gst/gstelementfactory.c
gst/gstminiobject.c
Wim Taymans [Wed, 4 May 2011 16:59:47 +0000 (18:59 +0200)]
context: use context on buffers instead of caps
Put the srcpad context on buffers instead of caps. This allows us to associate
all the relevant info contained in events with a buffer.
Tim-Philipp Müller [Wed, 4 May 2011 14:29:42 +0000 (15:29 +0100)]
tests: fix compiler warning in new miniobject test
gst/gstminiobject.c: In function ‘test_dup_null_mini_object’:
gst/gstminiobject.c:459:7: warning: assignment from incompatible pointer type
Wim Taymans [Wed, 4 May 2011 13:53:21 +0000 (15:53 +0200)]
pad: use the context to store sticky events
Store the sticky events in the context of a source pad.
Wim Taymans [Wed, 4 May 2011 13:20:10 +0000 (15:20 +0200)]
context: add helper object to manage events
Add a helper object to manage the events that define the context of a buffer and
a stream.
Wim Taymans [Wed, 4 May 2011 09:07:19 +0000 (11:07 +0200)]
defs: update defs
Wim Taymans [Wed, 4 May 2011 09:03:05 +0000 (11:03 +0200)]
event: add new CAPS event
Add a new CAPS event that will be used to negotiate downstream elements. It'll
also stick on pad so that we can remove the GstCaps field on pads and the
GstCaps field on buffers.
Wim Taymans [Tue, 3 May 2011 16:58:18 +0000 (18:58 +0200)]
pad: more sticky events work
Copy the sticky events from the srcpad to the sinkpad when linking pads. Set the
STICKY_PENDING flag to make sure that the sticky events are dispatched before
pushing the next buffer to the element.
Wim Taymans [Tue, 3 May 2011 14:11:12 +0000 (16:11 +0200)]
docs: improve porting doc
Wim Taymans [Mon, 2 May 2011 16:45:24 +0000 (18:45 +0200)]
porting: update porting document
Thiago Santos [Mon, 2 May 2011 14:30:06 +0000 (11:30 -0300)]
miniobject: Fix dup_mini_object function to handle NULL gvalues
g_value_dup_object handles gvalues that contain NULL pointers,
gst_value_dup_mini_object should do the same.
https://bugzilla.gnome.org/show_bug.cgi?id=649195
Stefan Kost [Tue, 3 May 2011 10:55:43 +0000 (13:55 +0300)]
docs: it its %TRUE (constant)
As spotted by Tim.
Stefan Kost [Mon, 2 May 2011 13:22:56 +0000 (16:22 +0300)]
docs: fix copy'n'paste doc header mistake
Stefan Kost [Mon, 2 May 2011 13:20:24 +0000 (16:20 +0300)]
docs: add two trivial doc blobs
Stefan Kost [Mon, 2 May 2011 13:03:29 +0000 (16:03 +0300)]
docs: add missing parameter docs
Stefan Kost [Mon, 2 May 2011 13:00:52 +0000 (16:00 +0300)]
docs: add docs for GstDPPacketizer
Stefan Kost [Mon, 2 May 2011 12:52:58 +0000 (15:52 +0300)]
docs: improve the syntax for the capsintersectmode docs
Stefan Kost [Mon, 2 May 2011 12:48:01 +0000 (15:48 +0300)]
docs: fixup broken xref
Stefan Kost [Mon, 2 May 2011 12:46:59 +0000 (15:46 +0300)]
docs: add new api to -section.txt
Stefan Kost [Mon, 2 May 2011 12:35:52 +0000 (15:35 +0300)]
docs: fix gtk-doc syntax
Stefan Kost [Mon, 2 May 2011 12:30:13 +0000 (15:30 +0300)]
docs: don't duplicate info that we take from element-details
Stefan Kost [Thu, 28 Apr 2011 12:37:02 +0000 (15:37 +0300)]
docs: remove non existing symbol
Stefan Kost [Thu, 28 Apr 2011 12:05:28 +0000 (15:05 +0300)]
docs: we don't need to document private members in opaque structs
Philippe Normand [Fri, 29 Apr 2011 11:43:07 +0000 (13:43 +0200)]
core: store presets, registry and plugins in XDG directories.
Presets and plugins moved to $XDG_DATA_HOME/gstreamer-0.11/
root directory. Registry moved to $XDG_CACHE_HOME/gstreamer-0.11/.
Fixes bug #518597.
Sebastian Dröge [Tue, 3 May 2011 07:41:48 +0000 (09:41 +0200)]
Merge branch 'master' into 0.11
Conflicts:
configure.ac
gst/gstbus.c
Wim Taymans [Mon, 2 May 2011 16:34:18 +0000 (18:34 +0200)]
event: add sticky flags to events
Add the sticky flag to events and a sticky index.
Keep sticky events in an array on each pad.
Remove GST_EVENT_SRC(), it is causing refcycles with sticky events, was not used
and is not very interesting anyway.
Wim Taymans [Mon, 2 May 2011 09:09:52 +0000 (11:09 +0200)]
query: improve allocation parameters query
Use the same parameters as those used for the bufferpool. Make sure we can pass
a minimum and maximum amount of buffers needed.
Tim-Philipp Müller [Sat, 30 Apr 2011 15:55:36 +0000 (16:55 +0100)]
0.10.32.4 pre-release
Tim-Philipp Müller [Fri, 29 Apr 2011 22:44:55 +0000 (23:44 +0100)]
pluginfeature: include plugin.h in header where we use a GstPlugin pointer
Should fix issue with gstreamermm build where <gst/gstindex.h> is included
directly instead of gst/gst.h.
Wim Taymans [Fri, 29 Apr 2011 11:42:57 +0000 (13:42 +0200)]
transform: do pad_alloc fallback correctly
Wim Taymans [Fri, 29 Apr 2011 11:26:19 +0000 (13:26 +0200)]
Remove pad_alloc, this can now be done better
Remove pad_alloc and all references. This can now be done more efficiently and
more flexible with the ALLOCATION query and the bufferpool objects. There is no
reverse negotiation yet but that will be done with an event later.
Wim Taymans [Fri, 29 Apr 2011 10:11:56 +0000 (12:11 +0200)]
query: init the ALLOCATION query correctly
Don't add the 'pool' property instead of adding it with a NULL array.
Wim Taymans [Fri, 29 Apr 2011 08:50:17 +0000 (10:50 +0200)]
query: fix parsing of the ALLOCATION query
Add methods for parsing the caps and the need_pool boolean.
Wim Taymans [Thu, 28 Apr 2011 14:20:22 +0000 (16:20 +0200)]
query: fix typo in method name and improve docs
Fixed typo in method name and add/improve the docs.
Wim Taymans [Thu, 28 Apr 2011 13:31:48 +0000 (15:31 +0200)]
bufferpool: add query to request pool and configuration
Add a query to request allocation parameters and optionally a bufferpool as
well. This should allow elements to discover downstream capabilities and also
use the downstream allocators.
Wim Taymans [Wed, 27 Apr 2011 16:10:55 +0000 (18:10 +0200)]
bus: fix timeout handling
Wim Taymans [Wed, 27 Apr 2011 15:56:12 +0000 (17:56 +0200)]
bufferpool: fix some docs
Wim Taymans [Wed, 27 Apr 2011 15:55:20 +0000 (17:55 +0200)]
event: improve argument names of segments
Tim-Philipp Müller [Wed, 27 Apr 2011 10:49:11 +0000 (11:49 +0100)]
0.10.32.3 pre-release
Tim-Philipp Müller [Tue, 26 Apr 2011 14:42:46 +0000 (15:42 +0100)]
Revert lockfree GstBus for the release
Drop in old GstBus code for the release to play it safe, since
regressions that are apparently hard to track down and reproduce
have been reported (on windows/OSX mostly) against the lockfree
version, and more time is needed to fix them.
This reverts commit
03391a897001d35d1d290f27dd12e98a8b729fb4.
This reverts commit
43cdbc17e6f944cdf02aeed78d1d5f6bde5190c9.
This reverts commit
80eb160e0f62350271f061daa5f289d9d4277cf4.
This reverts commit
c41b0ade28790ffdb0e484b41cd7929c4e145dec.
This reverts commit
874d60e5899dd5b89854679d1a4ad016a58ba4e0.
This reverts commit
79370d4b1781af9c9a65f2d1e3498124d8c4c413.
This reverts commit
2cb3e5235196eb71fb25e0a4a4b8749d6d0a8453.
This reverts commit
bd1c40011434c1efaa696dc98ef855ef9cce9b28.
This reverts commit
4bf8f1524f6e3374b3f3bc57322337723d06b928.
This reverts commit
14d7db1b527b05f029819057aef5c123ac7e013d.
https://bugzilla.gnome.org/show_bug.cgi?id=647493
Josep Torra [Mon, 25 Apr 2011 09:10:47 +0000 (11:10 +0200)]
Small cosmetic cleanups
Make sure the return values from g_return_* are of the right type.
Wim Taymans [Mon, 25 Apr 2011 08:56:06 +0000 (10:56 +0200)]
queue2: fix mixing of return values
Wim Taymans [Mon, 25 Apr 2011 08:30:41 +0000 (10:30 +0200)]
Merge branch 'master' into 0.11
David Schleef [Sat, 16 Apr 2011 05:00:11 +0000 (22:00 -0700)]
minor inline documentation fix
Tim-Philipp Müller [Sun, 24 Apr 2011 13:02:51 +0000 (14:02 +0100)]
Automatic update of common submodule
From c3cafe1 to 46dfcea
Tim-Philipp Müller [Sun, 24 Apr 2011 10:44:19 +0000 (11:44 +0100)]
tests: clean up properly in the bin test_link_structure_change unit test
Don't forget to set the pipeline back to NULL state, which makes
valgrind happy again.
Tim-Philipp Müller [Sun, 24 Apr 2011 08:58:53 +0000 (09:58 +0100)]
registry: when removing a cached-but-no-longer-existing plugin, only remove features that belong to it
When a plugin file no longer exists, e.g. because it's been removed or
renamed, don't remove all features in the registry based on the *name*
of the plugin they belong to, but only remove those who actually belong
to that particular plugin (object/pointer).
This fixes issues of plugin features disappearing when a plugin .so file
is renamed.
https://bugzilla.gnome.org/show_bug.cgi?id=604094
Tim-Philipp Müller [Sun, 24 Apr 2011 08:53:39 +0000 (09:53 +0100)]
pluginfeature: store pointer to plugin in addition to the plugin name
So we can reliably remove plugin features for a specific plugin later.
https://bugzilla.gnome.org/show_bug.cgi?id=604094
Tim-Philipp Müller [Sun, 24 Apr 2011 10:05:58 +0000 (11:05 +0100)]
registry: use TRACE log level to log files that don't look like plugins
Cuts down the noise in uninstalled setups.
Thiago Santos [Tue, 19 Apr 2011 23:35:04 +0000 (20:35 -0300)]
basetransform: fix negotiation regression
Fixup patch for
83597767b169dd6c39a07b6144a650c1f098825a
Use a separate variable for knowing if a pad alloc has been made
instead of checking for the flow return that might not be the
result of the pad alloc
https://bugzilla.gnome.org/show_bug.cgi?id=648220
Tim-Philipp Müller [Thu, 21 Apr 2011 11:33:10 +0000 (12:33 +0100)]
tests: add simple pipeline-in-pipeline unit test
https://bugzilla.gnome.org/show_bug.cgi?id=648297
Mark Nauwelaerts [Wed, 20 Apr 2011 13:39:16 +0000 (15:39 +0200)]
bus: also allow popping a message without timeout if no poll available
... which happens in particular flushing a bus, possibly as part
of a state change, e.g. when having a pipeline in a pipeline
and then changing state back to NULL. The interior pipeline
will/might then flush the bus, which is a child bus from the
parent which does not have a poll anymore these days.
https://bugzilla.gnome.org/show_bug.cgi?id=648297
Wim Taymans [Wed, 20 Apr 2011 17:08:40 +0000 (19:08 +0200)]
defs: update defs
Wim Taymans [Wed, 20 Apr 2011 17:03:49 +0000 (19:03 +0200)]
element: remove unused variable
Wim Taymans [Wed, 20 Apr 2011 17:00:07 +0000 (19:00 +0200)]
element: don't touch base_time or clock in state change
Don't touch the base_time or the clock when setting an element to the READY or
NULL state. It is the parent that will manage this for us.
Sebastian Dröge [Tue, 19 Apr 2011 18:52:05 +0000 (20:52 +0200)]
bufferlist: Implement gst_buffer_list_foreach()
Wim Taymans [Tue, 19 Apr 2011 17:30:28 +0000 (19:30 +0200)]
Merge branch 'master' into 0.11
Wim Taymans [Tue, 19 Apr 2011 16:57:43 +0000 (18:57 +0200)]
buffer: add method to compare buffer data
Add method to compare the data in a buffer.
Wim Taymans [Tue, 19 Apr 2011 14:21:15 +0000 (16:21 +0200)]
Merge branch 'master' into 0.11
Conflicts:
configure.ac
Havard Graff [Tue, 19 Apr 2011 12:05:23 +0000 (14:05 +0200)]
pad: unlock before freeing the cache to avoid deadlock
https://bugzilla.gnome.org/show_bug.cgi?id=648199
Havard Graff [Thu, 14 Apr 2011 08:15:26 +0000 (10:15 +0200)]
basetransform: don't unref trans until the function is done using it
trans->priv->force_alloc = FALSE would crash if the ref held is the last
https://bugzilla.gnome.org/show_bug.cgi?id=648215
Tim-Philipp Müller [Tue, 19 Apr 2011 12:23:19 +0000 (13:23 +0100)]
docs: add note/warning to gst_index_get_writer_id() docs about the OBJECT_LOCK
https://bugzilla.gnome.org/show_bug.cgi?id=646811
Tim-Philipp Müller [Tue, 19 Apr 2011 12:05:53 +0000 (13:05 +0100)]
baseparse: don't deadlock when setting external index
Protect index with its own lock. gst_index_get_writer_id() may take
the object lock internally (the default resolver, GST_INDEX_RESOLVER_PATH,
will anyway), so if we're using that to protect the index as well,
we'll deadlock.
https://bugzilla.gnome.org/show_bug.cgi?id=646811
Tim-Philipp Müller [Tue, 19 Apr 2011 10:51:30 +0000 (11:51 +0100)]
baseparse: make fmtlist constant
Tim-Philipp Müller [Tue, 19 Apr 2011 10:48:05 +0000 (11:48 +0100)]
query: const-ify formats arguments to gst_query_set_formatsv()
Sebastian Dröge [Mon, 18 Apr 2011 16:19:51 +0000 (18:19 +0200)]
tests: Use G_DEFINE_TYPE instead of GST_BOILERPLATE
Sebastian Dröge [Mon, 18 Apr 2011 16:19:24 +0000 (18:19 +0200)]
base{sink,src}: Don't try to fixate ANY caps
Sebastian Dröge [Mon, 18 Apr 2011 16:07:06 +0000 (18:07 +0200)]
elements: Use G_DEFINE_TYPE instead of GST_BOILERPLATE
Sebastian Dröge [Mon, 18 Apr 2011 15:33:34 +0000 (17:33 +0200)]
net: Use G_DEFINE_TYPE instead of GST_BOILERPLATE
Sebastian Dröge [Mon, 18 Apr 2011 15:32:17 +0000 (17:32 +0200)]
base: Use G_DEFINE_TYPE instead of GST_BOILERPLATE
Sebastian Dröge [Mon, 18 Apr 2011 15:28:37 +0000 (17:28 +0200)]
utils: Remove GST_BOILERPLATE and friends
Sebastian Dröge [Mon, 18 Apr 2011 08:47:26 +0000 (10:47 +0200)]
pad: Make the size parameter of gst_pad_alloc_buffer() unsigned
Internally guints were used everywhere already.