Wim Taymans
14b619c170
event: reorder events
...
Reorder the sticky events so that they are in the order they should be pushed.
2011-05-06 11:00:18 +02:00
Wim Taymans
f663c9770b
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.
2011-05-05 19:24:46 +02:00
Wim Taymans
d3e0a37900
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.
2011-05-05 19:01:21 +02:00
Sebastian Dröge
0069dc08ec
basetransform: Don't get the parent twice in the setcaps function
2011-05-05 18:21:21 +02:00
Sebastian Dröge
292806f60e
pad: Fix refcount leak of the parent in the default event dispatch function
2011-05-05 17:05:21 +02:00
Wim Taymans
dfef1d027d
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.
2011-05-05 16:34:29 +02:00
Sebastian Dröge
53d5a38a21
win32: Update exports
2011-05-05 16:05:20 +02:00
Sebastian Dröge
8ce0fea199
tests: Update for new GstIterator API
2011-05-05 15:36:04 +02:00
Sebastian Dröge
3d807c228c
docs/def: Add new symbols, remove old symbols
2011-05-05 15:36:04 +02:00
Sebastian Dröge
caa16f2fa9
elements: Update everything for the new GstIterator API
2011-05-05 15:36:04 +02:00
Sebastian Dröge
98d1ee4a8f
gst: Update everything for the new GstIterator API
2011-05-05 15:36:03 +02:00
Sebastian Dröge
348563bc19
iterator: Refactor GstIterator to be more binding friendly and have saner refcounting
...
Fixes bug #638987 .
2011-05-05 15:33:29 +02:00
Johan Dahlin
62c7339847
iterator: register as a boxed type
...
https://bugzilla.gnome.org/show_bug.cgi?id=638987
2011-05-05 15:33:29 +02:00
Johan Dahlin
b5a4aad134
iterator: use GSlice
...
https://bugzilla.gnome.org/show_bug.cgi?id=638987
2011-05-05 15:33:29 +02:00
Johan Dahlin
0e2cf0caa1
iterator: free struct in gst_iterator_free
...
https://bugzilla.gnome.org/show_bug.cgi?id=638987
2011-05-05 15:33:28 +02:00
Johan Dahlin
47ebd0755b
iterator: store size in the struct
...
https://bugzilla.gnome.org/show_bug.cgi?id=638987
2011-05-05 15:33:28 +02:00
Sebastian Dröge
dc63e38219
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.
2011-05-05 15:22:14 +02:00
Sebastian Dröge
aebe4a3c13
basetransform: In getcaps() prefer the caps order and caps of downstream if possible
2011-05-05 15:22:08 +02:00
Sebastian Dröge
a6c1cbe69a
basetransform: Prefer caps order given by the subclass of the template caps order
2011-05-05 15:20:10 +02:00
Sebastian Dröge
07f59f5404
basesrc: Use the reconfigure flag on the pad instead of the event
2011-05-05 15:20:02 +02:00
Sebastian Dröge
1cc95da945
basetransform: Use new reconfigure flag on the pads instead of the reconfigure event
2011-05-05 15:19:56 +02:00
Sebastian Dröge
5a7ec99214
pad: Keep track of reconfigure events and the pad-needs-reconfiguring status
2011-05-05 15:11:51 +02:00
Sebastian Dröge
25916cff66
event: Rename renegotiate event to reconfigure
...
In 0.11 this event will also do reconfiguration of buffer pools
and similar things, not just renegotiation.
2011-05-05 15:06:00 +02:00
Olivier Crête
40cff0eb6d
pad: Send renegotiate event on link
2011-05-05 15:04:33 +02:00
Olivier Crête
581533cd00
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.
2011-05-05 15:04:25 +02:00
Sebastian Dröge
0179530bf1
basesrc: Only renegotiate once after receiving a renegotiate event
...
Also make this threadsafe.
2011-05-05 15:04:16 +02:00
Thiago Santos
93904ef3ad
basesrc: Handle the new renegotiate event
...
Makes basesrc handle the new renegotiate event by using a
renegotiate flag.
2011-05-05 15:03:54 +02:00
Sebastian Dröge
24cef7aa2f
basetransform: Also call gst_base_transform_reconfigure() on renegotiate events
2011-05-05 15:02:56 +02:00
Thiago Santos
3baed25383
basetransform: Handle the new renegotiate event
...
Let basetransform push a renegotiate event upstream
when it gets a new suggestion
2011-05-05 15:02:46 +02:00
Thiago Santos
a3dd59e97a
event: Adding new renegotiate event
2011-05-05 15:02:39 +02:00
Wim Taymans
77569e0a9a
pad: pass the context around
...
Pass the context from srcpad to sinkpad before dataflow when something
changed.
2011-05-05 13:17:08 +02:00
Wim Taymans
f16180a761
pad: update the context lazyly
2011-05-05 13:17:08 +02:00
Wim Taymans
e72d062b33
gst: init the GType early
2011-05-05 13:17:08 +02:00
Wim Taymans
ebf615a9e9
defs: update defs
2011-05-05 13:17:08 +02:00
Wim Taymans
08dbe37f6f
context: add foreach function
...
Add a function to iterate over all stored events.
2011-05-05 13:17:08 +02:00
Wim Taymans
c4751ec8c1
Revert "context: use context on buffers instead of caps"
...
This reverts commit 9ef1346b1f
.
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.
2011-05-05 13:17:08 +02:00
Miguel Angel Cabrera Moya
419f48d0d1
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
2011-05-05 12:30:05 +02:00
Sebastian Dröge
e22f5d8a68
bin: Only post EOS messages after reaching the PLAYING state
...
Fixes bug #647756 .
2011-05-05 12:30:05 +02:00
Sebastian Dröge
c6e9ce64ae
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.
2011-05-05 12:30:05 +02:00
Sebastian Dröge
5a6ef6408f
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.
2011-05-05 12:30:05 +02:00
Sebastian Dröge
5c84883f2e
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.
2011-05-05 12:30:05 +02:00
Sebastian Dröge
de5ce36dd1
basetransform: Remove nowadays unused and uninitialized setcaps variable
2011-05-05 12:28:02 +02:00
Sebastian Dröge
65eafd9340
Merge branch 'master' into 0.11
...
Conflicts:
docs/gst/gstreamer-sections.txt
gst/gstelementfactory.c
gst/gstminiobject.c
2011-05-05 12:27:51 +02:00
Wim Taymans
9ef1346b1f
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.
2011-05-04 18:59:47 +02:00
Tim-Philipp Müller
d72f559d29
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
2011-05-04 15:30:41 +01:00
Wim Taymans
9136abf623
pad: use the context to store sticky events
...
Store the sticky events in the context of a source pad.
2011-05-04 15:53:21 +02:00
Wim Taymans
0fee137dbc
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.
2011-05-04 15:20:10 +02:00
Wim Taymans
7d3fabc521
defs: update defs
2011-05-04 11:07:19 +02:00
Wim Taymans
6cfd9d57e2
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.
2011-05-04 11:03:05 +02:00
Wim Taymans
bc9cffda90
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.
2011-05-03 18:58:18 +02:00