Commit graph

11970 commits

Author SHA1 Message Date
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
Sebastian Dröge a08a17dfbd structure: Add gst_structure_intersect()
API: gst_structure_intersect()
2011-05-17 09:33:04 +02:00
Edward Hervey 64725facb5 gststructure: Add gst_structure_can_intersect API
Allows checking if two structures can intersect without having to
go through GstCaps

API: gst_structure_can_intersect

https://bugzilla.gnome.org/show_bug.cgi?id=629300
2011-05-17 09:28:06 +02:00
Edward Hervey ae46eb3a38 gstructure: New API: gst_structure_is_equal
Allows checking equality of GstStructure without having to create
intermediary GstCaps.

API: gst_structure_is_equal

https://bugzilla.gnome.org/show_bug.cgi?id=629300
2011-05-17 09:28:00 +02:00
Wim Taymans ca0069595f tests: set elements in PAUSED
Set elements in PAUSED before trying to set caps on pads.
2011-05-16 19:09:54 +02:00
Wim Taymans d4f85a0cd9 test: fix ghostpad test
We need to have activated pads before we can pass around caps.
Don't set NULL caps on pads.
2011-05-16 19:05:23 +02:00
Wim Taymans 887838aefe pad: avoid setting NULL caps on pads 2011-05-16 19:04:35 +02:00
Wim Taymans 53e4d1a007 basetransform: fix buffer refcounting
When we fail to allocate an output buffer, set the buffer pointer to NULL or
else the calling function will try to unref it.
Remove some old comments
2011-05-16 18:48:20 +02:00
Wim Taymans cf4c955615 capsfilter: allow NULL filters and fix refcounting 2011-05-16 18:29:29 +02:00