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
Wim Taymans
9c48af743c
docs: improve porting doc
2011-05-03 16:12:01 +02:00
Wim Taymans
6388666174
porting: update porting document
2011-05-03 16:12:01 +02:00
Thiago Santos
a750aac2dd
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
2011-05-03 08:15:51 -03:00
Stefan Kost
511f556915
docs: it its %TRUE (constant)
...
As spotted by Tim.
2011-05-03 14:01:57 +03:00
Stefan Kost
58fc672362
docs: fix copy'n'paste doc header mistake
2011-05-03 13:03:21 +03:00
Stefan Kost
c45ff2b12a
docs: add two trivial doc blobs
2011-05-03 13:03:21 +03:00
Stefan Kost
217b209aba
docs: add missing parameter docs
2011-05-03 13:03:21 +03:00
Stefan Kost
59670baf8e
docs: add docs for GstDPPacketizer
2011-05-03 13:03:20 +03:00
Stefan Kost
319eef8aa9
docs: improve the syntax for the capsintersectmode docs
2011-05-03 13:03:20 +03:00
Stefan Kost
41754faaaf
docs: fixup broken xref
2011-05-03 13:03:20 +03:00
Stefan Kost
eaebf37c00
docs: add new api to -section.txt
2011-05-03 13:03:20 +03:00
Stefan Kost
a482babf55
docs: fix gtk-doc syntax
2011-05-03 13:03:20 +03:00
Stefan Kost
801d89e26f
docs: don't duplicate info that we take from element-details
2011-05-03 13:03:20 +03:00
Stefan Kost
4699cafe90
docs: remove non existing symbol
2011-05-03 13:03:20 +03:00
Stefan Kost
81c32bc56e
docs: we don't need to document private members in opaque structs
2011-05-03 13:03:20 +03:00
Philippe Normand
4e36f93924
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 .
2011-05-03 09:43:22 +02:00