Wim Taymans [Tue, 10 May 2011 14:41:36 +0000 (16:41 +0200)]
element: use request_new_pad_full as the default
Add GstCaps to request_new_pad so that request_new_pad_full can be removed.
Fix elements.
Wim Taymans [Tue, 10 May 2011 14:23:08 +0000 (16:23 +0200)]
porting: update porting doc
Wim Taymans [Tue, 10 May 2011 13:41:54 +0000 (15:41 +0200)]
query: make sure query is writable
Make sure the Query is writable before executing the setters.
Wim Taymans [Tue, 10 May 2011 13:33:53 +0000 (15:33 +0200)]
query: Hide GstStructure in queries
Hide the GstStructure from the query API.
Rename some methods to match the more common names in GObject libraries.
Add some more useful query API.
Wim Taymans [Tue, 10 May 2011 11:34:10 +0000 (13:34 +0200)]
message: hide the message structure field
Make a private structure to hold the GstStructure bits of the message.
Add some more useful macros like we have for events.
Wim Taymans [Tue, 10 May 2011 10:29:06 +0000 (12:29 +0200)]
caps: fix the macros a little
Wim Taymans [Tue, 10 May 2011 09:50:16 +0000 (11:50 +0200)]
event: Hide the GstStructure
Hide the GstStructure of the event in the implementation specific part so that
we can change it.
Add methods to check and make the event writable.
Add a new method to get a writable GstStructure of the element.
Avoid directly accising the event structure.
Wim Taymans [Mon, 9 May 2011 16:48:55 +0000 (18:48 +0200)]
event: _qos_full -> _qos
Wim Taymans [Mon, 9 May 2011 15:51:07 +0000 (17:51 +0200)]
segment: remove _full version
Rename the _full versions of the functions to the normal function names.
Wim Taymans [Mon, 9 May 2011 14:39:13 +0000 (16:39 +0200)]
segment: remove abs_rate from segment structure
Remove the abs_rate field from the segment structure, we can trivially compute
it when needed.
Wim Taymans [Mon, 9 May 2011 14:21:28 +0000 (16:21 +0200)]
caps: remove caps from buffers and pads
Remove the GstCaps from buffers and pads. We now use CAPS events to negotiate
formats between element.
Wim Taymans [Mon, 9 May 2011 13:06:20 +0000 (15:06 +0200)]
basetransform: Use CAPs event
Use the caps event to configure basetransform.
Remove force_alloc hack, we don't need this in 0.11 with new upstream
negotiation.
Avoid getting some pad caps.
Wim Taymans [Mon, 9 May 2011 13:06:07 +0000 (15:06 +0200)]
basesink: add some more debug
Edward Hervey [Sun, 8 May 2011 09:02:16 +0000 (11:02 +0200)]
win32: Add new symbols
Edward Hervey [Sun, 8 May 2011 09:01:57 +0000 (11:01 +0200)]
gstbuffer: Fix unitialized variables
Wim Taymans [Mon, 9 May 2011 08:54:10 +0000 (10:54 +0200)]
tools: avoid using pad caps
Avoid directly accessing the pad caps, use gst_pad_get_current_caps() instead.
Wim Taymans [Sun, 8 May 2011 11:14:55 +0000 (13:14 +0200)]
Merge branch 'master' into 0.11
Wim Taymans [Sun, 8 May 2011 11:07:13 +0000 (13:07 +0200)]
basesink: use CAPS event instead of setcaps function
Wim Taymans [Sun, 8 May 2011 10:46:17 +0000 (12:46 +0200)]
base: avoid using buffer caps
Comment all code using buffer caps.
Rework capsfilter code a little.
Fix some unit tests
Wim Taymans [Sun, 8 May 2011 10:43:26 +0000 (12:43 +0200)]
pad: improve caps event handling
Fix replace of caps events when linking: we need to unref the old ones.
Make sure we pass error values around.
Move backward compat code into the default handler for now.
Wim Taymans [Sun, 8 May 2011 10:38:05 +0000 (12:38 +0200)]
event: don't ref the caps
Use a different way of getting the caps from the caps event so that no
refcounting happens.
Wim Taymans [Sun, 8 May 2011 10:37:44 +0000 (12:37 +0200)]
buffer: avoid using buffer caps
Tim-Philipp Müller [Fri, 6 May 2011 22:40:58 +0000 (23:40 +0100)]
baseparse: don't post loads of empty taglists
Only post bitrate updates if there's something to post, don't
post empty taglists if nothing changed.
Wim Taymans [Fri, 6 May 2011 17:04:54 +0000 (19:04 +0200)]
pad: avoid using the old GST_PAD_CAPS
Don't use GST_PAD_CAPS but instead use the new gst_pad_get_current_caps()
method.
Avoid setting caps on buffers.
Wim Taymans [Fri, 6 May 2011 17:03:33 +0000 (19:03 +0200)]
pad: add 2 new caps methods
Add method to get the currently configured caps on the pad.
Add a method to check if caps are configured on a pad.
Wim Taymans [Fri, 6 May 2011 15:59:33 +0000 (17:59 +0200)]
pad: implement fixed caps with an object flag
Implement fixed caps with an object flag instead of a custom getcaps function.
Wim Taymans [Fri, 6 May 2011 15:30:24 +0000 (17:30 +0200)]
pad: don't use buffer caps for negotiation
Don't use the buffer caps for negotiation anymore but use the CAPS events.
Make the _set_caps method produce the CAPS event, add some backward
compatibility code to trigger the setcaps functions on src and sinkpads.
Remove all negotiation code from the chain functions.
Don't use the GST_PAD_CAPS variable anymore to store the caps but retrieve the
caps from the sticky event array.
Wim Taymans [Fri, 6 May 2011 14:14:41 +0000 (16:14 +0200)]
selector: don't unset caps
Wim Taymans [Fri, 6 May 2011 14:14:23 +0000 (16:14 +0200)]
typefind: don't unset caps
Wim Taymans [Fri, 6 May 2011 14:13:55 +0000 (16:13 +0200)]
check: let the normal code unset caps
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.
Stefan Kost [Fri, 6 May 2011 08:35:36 +0000 (11:35 +0300)]
info: avoid redefinition of symbols when debugging is off
The refactoring of gst_debug_add_log_function() now causes build failure when
debug-logging is turned off. Just move it to the conditional part of the header.
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