Wim Taymans [Fri, 6 May 2011 14:11:44 +0000 (16:11 +0200)]
outputselector: handle NULL pads in some cases
Wim Taymans [Fri, 6 May 2011 14:11:18 +0000 (16:11 +0200)]
bin: let the pad clean up in activate
Wim Taymans [Fri, 6 May 2011 13:55:31 +0000 (15:55 +0200)]
element: don't mess with pad caps in activate
When deactivating a pad, let the pad decide what fields to clear.
Wim Taymans [Fri, 6 May 2011 13:51:11 +0000 (15:51 +0200)]
event: only allow fixed caps in caps event
Sebastian Dröge [Fri, 6 May 2011 11:01:24 +0000 (13:01 +0200)]
event: Improve documentation of gst_event_new_reconfigure()
Wim Taymans [Fri, 6 May 2011 10:23:01 +0000 (12:23 +0200)]
porting: update porting doc
Wim Taymans [Fri, 6 May 2011 10:19:16 +0000 (12:19 +0200)]
element: rename gst_element_lost_state_full()
Rename gst_element_lost_state_full() to gst_element_lost_state() and
remove the old method name.
Wim Taymans [Fri, 6 May 2011 10:09:00 +0000 (12:09 +0200)]
pad: clean up the .h file a bit
Wim Taymans [Fri, 6 May 2011 09:14:02 +0000 (11:14 +0200)]
pad: implement more sticky events
Remove the context again, adding an extra layer of refcounting and object
creation to manage an array is too complicated and inefficient. Use a simple
array again.
Also implement event updates when calling gst_pad_chain() and
gst_event_send_event() directly.
Wim Taymans [Fri, 6 May 2011 09:00:18 +0000 (11:00 +0200)]
event: reorder events
Reorder the sticky events so that they are in the order they should be pushed.
Wim Taymans [Thu, 5 May 2011 17:24:46 +0000 (19:24 +0200)]
pad: simplify some more
If we get a context in the chain functions we always need to do a full update of
the context on the peer pad.
Wim Taymans [Thu, 5 May 2011 16:56:41 +0000 (18:56 +0200)]
pad: improve context passing some more
Pass the context downstream when it got updated.
Have two ways of informing downstream of events, do a full context update when
the CONTEXT_PENDING flag is set and simply forward the event otherwise.
Set the CONTENT_PENDING flag when linking pads.
We don't need to old context anymore when updating the context of a pad.
Sebastian Dröge [Thu, 5 May 2011 16:21:21 +0000 (18:21 +0200)]
basetransform: Don't get the parent twice in the setcaps function
Sebastian Dröge [Thu, 5 May 2011 14:59:36 +0000 (16:59 +0200)]
pad: Fix refcount leak of the parent in the default event dispatch function
Wim Taymans [Thu, 5 May 2011 14:32:11 +0000 (16:32 +0200)]
pad: improve passing around the context
Improve passing around the context, only send the context to the peer element
when the CONTEXT_PENDING flag is set.
Sebastian Dröge [Thu, 5 May 2011 14:05:20 +0000 (16:05 +0200)]
win32: Update exports
Sebastian Dröge [Thu, 17 Mar 2011 10:52:42 +0000 (11:52 +0100)]
tests: Update for new GstIterator API
Sebastian Dröge [Thu, 17 Mar 2011 10:32:24 +0000 (11:32 +0100)]
docs/def: Add new symbols, remove old symbols
Sebastian Dröge [Thu, 17 Mar 2011 10:32:11 +0000 (11:32 +0100)]
elements: Update everything for the new GstIterator API
Sebastian Dröge [Thu, 17 Mar 2011 10:31:59 +0000 (11:31 +0100)]
gst: Update everything for the new GstIterator API
Sebastian Dröge [Wed, 16 Mar 2011 09:50:39 +0000 (10:50 +0100)]
iterator: Refactor GstIterator to be more binding friendly and have saner refcounting
Fixes bug #638987.
Johan Dahlin [Sat, 8 Jan 2011 14:27:55 +0000 (12:27 -0200)]
iterator: register as a boxed type
https://bugzilla.gnome.org/show_bug.cgi?id=638987
Johan Dahlin [Sat, 8 Jan 2011 14:14:40 +0000 (12:14 -0200)]
iterator: use GSlice
https://bugzilla.gnome.org/show_bug.cgi?id=638987
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.