Wim Taymans
be01ecf530
pad: store sticky events on flushing sinkpads too
...
First store the sticky event on the sinkpad in the inactive state, then check
for the flushing flag. We want to have the events on sinkpads at all times,
ready to be activated when the pad becomes active.
2011-05-18 19:43:44 +02:00
Wim Taymans
500125ab4f
pad: move caps check to central location
...
Make a function to call the eventfunc and perform a caps check when we are
dispatching a caps event.
This makes sure that all code paths correctly check that the caps are
acceptable before sending the caps to the eventfunction.
2011-05-18 18:53:35 +02:00
Wim Taymans
25989f3c8d
ghostpad: avoid calling setcaps too many times
...
Don't call setcaps, the caps event will take care of propagating the caps on all
pads.
2011-05-18 18:52:22 +02:00
Wim Taymans
dc520c11bc
query: add allocation query name
...
Add ALLOCATION query name and guard some functions against invalid queries.
2011-05-18 18:48:03 +02:00
Sebastian Dröge
a46c9c2a62
event: Make SEGMENT event parsing API more consistent with the others
2011-05-18 16:56:43 +02:00
Wim Taymans
ad0693f47d
basetransform: relax caps check
...
Also run the caps transform function on ANY caps, like we used to do before.
This makes sure that capsfilter has a chance to filter ANY caps as well.
2011-05-18 16:49:28 +02:00
Sebastian Dröge
99962c72e4
pad: Don't forget to take the object lock when getting a sticky event
2011-05-18 16:29:10 +02:00
Sebastian Dröge
6b30f0b056
pad: Add function to get sticky events from a pad
...
API: gst_pad_get_sticky_event()
2011-05-18 16:26:54 +02:00
Wim Taymans
b1676b8c30
event: fix event copy
...
Fix parent refcount on event copy.
Fix unit test.
2011-05-18 15:43:20 +02:00
Wim Taymans
fa6bcde7e3
pad: notify caps property change in callsetcaps
...
Notify the caps property change in the backwards compatible function to call the
setcaps function.
2011-05-18 15:29:25 +02:00
Wim Taymans
6ad530a8b0
Merge branch 'master' into 0.11
2011-05-18 13:19:31 +02:00
Wim Taymans
e39182a085
Merge branch 'master' into 0.11
...
Conflicts:
gst/gstminiobject.c
gst/gstpad.c
gst/gstpad.h
gst/gstplugin.h
libs/gst/base/gstbaseparse.c
2011-05-18 13:14:57 +02:00
Stefan Kost
0df5f9abb9
manual: reinsert missing space to fix previous commit
2011-05-18 14:10:33 +03:00
Stefan Kost
51fc15e99d
manual: simplify the snipet extraction rules
...
Use $< instead of repeating the name of the dependency.
2011-05-18 13:54:42 +03:00
Stefan Kost
12b804f18f
manual: don't extract the xml example anymore, its gone
...
As a followup for commit cda5a353d2
don't try
extracting an example that has been removed.
2011-05-18 12:30:24 +03:00
Stefan Kost
6acd7d726a
Automatic update of common submodule
...
From 46dfcea to fd35073
2011-05-18 12:23:39 +03:00
Wim Taymans
4c582b010b
docs: update docs some more
2011-05-18 11:21:52 +02:00
Wim Taymans
029ac4597e
pad: rework sticky events a little
...
Update the design docs with some clear rules for how sticky events are
handled.
Reimplement the sticky tags, use a small structure to hold the event and its
current state (active or inactive).
Events on sinkpads only become active when the event function returned success
for the event.
When linking, only update events that are different.
Avoid making a copy of the event array, use the object lock to protect the event
array and release it only to call the event function. This will need to check
if something changed, later.
Disable a test in the unit test, it can't work yet.
2011-05-18 11:08:52 +02:00
Mark Nauwelaerts
35567592ef
baseparse: maintain frame state during frame parsing round
...
See #650093 .
2011-05-18 09:49:35 +02:00
Mark Nauwelaerts
af5061e943
baseparse: provide latency query support
2011-05-18 09:49:22 +02:00
Mark Nauwelaerts
82a6cb39ae
baseparse: make minimum frame size handling more efficient and convenient
...
While some formats allow subclass to determine a specific subsequent
needed frame size, others may to need to scan for markers and can only
request 'additional data' by whatever reasonable available step.
In push mode, trying to minimize additional latency leads to step size
being the next input buffer. In pull mode, any reasonable step size
(such as already used by buffer caching) can be applied.
2011-05-18 09:49:12 +02:00
Mark Nauwelaerts
ee3344824c
baseparse: set correct buffer size
2011-05-18 09:49:02 +02:00
Stefan Kost
649ff4e1f6
inspect: show flags the same way they need to be entered
...
The (de)serialisation uses "+" and not " | ".
2011-05-18 09:55:57 +03:00
Stefan Kost
bd302bb63d
pluginfeature: avoid duplicating feature->name
...
The feature name is not supposed to change over time anyway. In order to enforce
this parentize features to the registry and make the feature->name pointing to
GstObject:name. In 0.11 we could consider of removing the feature->name variable
(FIXME comment added).
Fixes : #459466
2011-05-18 09:55:57 +03:00
Stefan Kost
9ff4ec3104
docs: add deprecation guards
...
Move GstPadIntLinkFunction to private header to avoid a dozen #ifdefs. Use a
gpointer in public header instead.
2011-05-18 09:55:57 +03:00
Wim Taymans
93a80e2d91
pad: don't push sticky events on flush
...
Only allow serialized and non-flush events forward the sticky events.
2011-05-17 19:03:30 +02:00
Wim Taymans
8699bca39f
test: reset pad caps properly
2011-05-17 18:23:22 +02:00
Wim Taymans
ba534c6416
pad: add more debug
2011-05-17 18:23:06 +02:00
Wim Taymans
5642f9db8c
ghostpad: remove unused code
...
The code to make sure that caps are properly set on both pads, it now happens
automatically with the caps event.
2011-05-17 18:21:38 +02:00
Wim Taymans
7b8b93ad64
tests: fix tests
...
Remove the tests that handle incompatible formats, we don't want that anymore.
2011-05-17 17:53:00 +02:00
Wim Taymans
82cc487776
segment: handle wraparound better
...
Now that we use unsigned values for the segment, handle wraparound when seeking
better.
2011-05-17 17:51:58 +02:00
Wim Taymans
189980ec56
pad: remove unref, the object is NULL
2011-05-17 16:50:53 +02:00
Sebastian Dröge
b0d106fefa
event: The RECONFIGURE element only exists in 0.11
...
Implementing it properly in 0.10 seems to be impossible.
2011-05-17 14:01:05 +02:00
Sebastian Dröge
eee515e5ad
tests: Update for caps/pad template related API changes
2011-05-17 13:14:16 +02:00
Sebastian Dröge
5f2cd2b0a3
base: Update for caps/pad template related API changes
2011-05-17 13:14:12 +02:00
Sebastian Dröge
c7789694fb
gst: Update for caps/pad template related API changes
2011-05-17 13:14:04 +02:00
Sebastian Dröge
5f406248eb
element: Consider GstPadTemplate as immutable
...
Don't copy the templates when creating subclasses but only increase
their refcount.
2011-05-17 13:13:51 +02:00
Sebastian Dröge
be00534878
padtemplate: Create pad templates with floating refs
...
And take ownership of the floating ref in gst_element_add_pad_template()
2011-05-17 13:13:51 +02:00
Sebastian Dröge
dd89e924db
padtemplate: Improve reference handling of the template's caps
...
gst_pad_template_new() does not take ownership of the caps anymore.
2011-05-17 13:13:51 +02:00
Tim-Philipp Müller
da21881f28
miniobject: delay private data initialisation until actually needed
...
We only use the private instance data for weak references for now,
so can delay initialisation until actually needed (microoptimisation)
2011-05-17 11:38:30 +01:00
Sebastian Dröge
b5bc5b459a
pad: Let template related functions return new references
...
gst_pad_template_get_caps(), gst_pad_get_pad_template_caps()
and gst_pad_get_pad_template() return a new reference of the
caps or template now and the return value needs to be
unreffed after usage.
2011-05-17 12:00:18 +02:00
Sebastian Dröge
50f91c0825
Revert "event: example of how to optimize events"
...
This reverts commit fa28e2c5e6
.
The optimization only has minimal impact on the performance and
makes everything more complex.
2011-05-17 11:45:46 +02:00
Sebastian Dröge
b7482263cc
Revert "event: update the structure when needed"
...
This reverts commit 905100cdbe
.
2011-05-17 11:45:42 +02:00
Sebastian Dröge
077cf48689
structure: Fix compilation
2011-05-17 11:22:58 +02:00
Sebastian Dröge
3d2127f865
Revert "query: allow _make_writable on query handlers"
...
This reverts commit cf4fbc005c
.
This change did not improve the situation for bindings because
queries are usually created, then directly passed to a function
and not stored elsewhere, and the writability problem with
miniobjects usually happens with buffers or caps instead.
2011-05-17 11:21:41 +02:00
Sebastian Dröge
d0f34fe6b2
Revert "bin: Dereference GstQuery** before passing it to GST_QUERY_TYPE_NAME"
...
This reverts commit 437c92b403
.
2011-05-17 11:21:41 +02:00
Sebastian Dröge
c096199fb9
Revert "ghostpad: fix g_return_* with new query"
...
This reverts commit 877c1c28ff
.
2011-05-17 11:21:36 +02:00
Sebastian Dröge
e34c26b509
Merge branch 'master' into 0.11
...
Conflicts:
win32/common/libgstreamer.def
2011-05-17 09:43:21 +02:00
Sebastian Dröge
b4dea3a1d3
structure: Make both parameters to gst_structure_is_equal() const
2011-05-17 09:35:54 +02:00
Sebastian Dröge
53ef31718d
structure: Update Since markers to the correct version
2011-05-17 09:33:47 +02:00