platform/upstream/gstreamer.git
13 years agobasetransform: relax caps check
Wim Taymans [Wed, 18 May 2011 14:47:44 +0000 (16:47 +0200)]
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.

13 years agopad: Don't forget to take the object lock when getting a sticky event
Sebastian Dröge [Wed, 18 May 2011 14:29:10 +0000 (16:29 +0200)]
pad: Don't forget to take the object lock when getting a sticky event

13 years agopad: Add function to get sticky events from a pad
Sebastian Dröge [Wed, 18 May 2011 14:26:31 +0000 (16:26 +0200)]
pad: Add function to get sticky events from a pad

API: gst_pad_get_sticky_event()

13 years agoevent: fix event copy
Wim Taymans [Wed, 18 May 2011 13:43:20 +0000 (15:43 +0200)]
event: fix event copy

Fix parent refcount on event copy.
Fix unit test.

13 years agopad: notify caps property change in callsetcaps
Wim Taymans [Wed, 18 May 2011 13:29:25 +0000 (15:29 +0200)]
pad: notify caps property change in callsetcaps

Notify the caps property change in the backwards compatible function to call the
setcaps function.

13 years agoMerge branch 'master' into 0.11
Wim Taymans [Wed, 18 May 2011 11:19:31 +0000 (13:19 +0200)]
Merge branch 'master' into 0.11

13 years agoMerge branch 'master' into 0.11
Wim Taymans [Wed, 18 May 2011 11:14:57 +0000 (13:14 +0200)]
Merge branch 'master' into 0.11

Conflicts:
gst/gstminiobject.c
gst/gstpad.c
gst/gstpad.h
gst/gstplugin.h
libs/gst/base/gstbaseparse.c

13 years agomanual: reinsert missing space to fix previous commit
Stefan Kost [Wed, 18 May 2011 11:10:12 +0000 (14:10 +0300)]
manual: reinsert missing space to fix previous commit

13 years agomanual: simplify the snipet extraction rules
Stefan Kost [Wed, 18 May 2011 10:54:42 +0000 (13:54 +0300)]
manual: simplify the snipet extraction rules

Use $< instead of repeating the name of the dependency.

13 years agomanual: don't extract the xml example anymore, its gone
Stefan Kost [Wed, 18 May 2011 07:59:38 +0000 (10:59 +0300)]
manual: don't extract the xml example anymore, its gone

As a followup for commit cda5a353d27326c0272a79c92c11c221a4092da4 don't try
extracting an example that has been removed.

13 years agoAutomatic update of common submodule
Stefan Kost [Wed, 18 May 2011 09:23:39 +0000 (12:23 +0300)]
Automatic update of common submodule

From 46dfcea to fd35073

13 years agodocs: update docs some more
Wim Taymans [Wed, 18 May 2011 09:21:52 +0000 (11:21 +0200)]
docs: update docs some more

13 years agopad: rework sticky events a little
Wim Taymans [Wed, 18 May 2011 09:08:52 +0000 (11:08 +0200)]
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.

13 years agobaseparse: maintain frame state during frame parsing round
Mark Nauwelaerts [Tue, 17 May 2011 20:17:14 +0000 (22:17 +0200)]
baseparse: maintain frame state during frame parsing round

See #650093.

13 years agobaseparse: provide latency query support
Mark Nauwelaerts [Thu, 12 May 2011 09:55:20 +0000 (11:55 +0200)]
baseparse: provide latency query support

13 years agobaseparse: make minimum frame size handling more efficient and convenient
Mark Nauwelaerts [Tue, 17 May 2011 20:15:38 +0000 (22:15 +0200)]
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.

13 years agobaseparse: set correct buffer size
Mark Nauwelaerts [Tue, 17 May 2011 20:38:14 +0000 (22:38 +0200)]
baseparse: set correct buffer size

13 years agoinspect: show flags the same way they need to be entered
Stefan Kost [Fri, 6 May 2011 07:54:08 +0000 (10:54 +0300)]
inspect: show flags the same way they need to be entered

The (de)serialisation uses "+" and not " | ".

13 years agopluginfeature: avoid duplicating feature->name
Stefan Kost [Thu, 28 Apr 2011 08:34:39 +0000 (11:34 +0300)]
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

13 years agodocs: add deprecation guards
Stefan Kost [Mon, 2 May 2011 12:36:14 +0000 (15:36 +0300)]
docs: add deprecation guards

Move GstPadIntLinkFunction to private header to avoid a dozen #ifdefs. Use a
gpointer in public header instead.

13 years agopad: don't push sticky events on flush
Wim Taymans [Tue, 17 May 2011 17:03:30 +0000 (19:03 +0200)]
pad: don't push sticky events on flush

Only allow serialized and non-flush events forward the sticky events.

13 years agotest: reset pad caps properly
Wim Taymans [Tue, 17 May 2011 16:23:22 +0000 (18:23 +0200)]
test: reset pad caps properly

13 years agopad: add more debug
Wim Taymans [Tue, 17 May 2011 16:23:06 +0000 (18:23 +0200)]
pad: add more debug

13 years agoghostpad: remove unused code
Wim Taymans [Tue, 17 May 2011 16:21:38 +0000 (18:21 +0200)]
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.

13 years agotests: fix tests
Wim Taymans [Tue, 17 May 2011 15:53:00 +0000 (17:53 +0200)]
tests: fix tests

Remove the tests that handle incompatible formats, we don't want that anymore.

13 years agosegment: handle wraparound better
Wim Taymans [Tue, 17 May 2011 15:51:58 +0000 (17:51 +0200)]
segment: handle wraparound better

Now that we use unsigned values for the segment, handle wraparound when seeking
better.

13 years agopad: remove unref, the object is NULL
Wim Taymans [Tue, 17 May 2011 14:50:53 +0000 (16:50 +0200)]
pad: remove unref, the object is NULL

13 years agoevent: The RECONFIGURE element only exists in 0.11
Sebastian Dröge [Tue, 17 May 2011 12:01:05 +0000 (14:01 +0200)]
event: The RECONFIGURE element only exists in 0.11

Implementing it properly in 0.10 seems to be impossible.

13 years agotests: Update for caps/pad template related API changes
Sebastian Dröge [Tue, 17 May 2011 11:13:11 +0000 (13:13 +0200)]
tests: Update for caps/pad template related API changes

13 years agobase: Update for caps/pad template related API changes
Sebastian Dröge [Tue, 17 May 2011 10:25:22 +0000 (12:25 +0200)]
base: Update for caps/pad template related API changes

13 years agogst: Update for caps/pad template related API changes
Sebastian Dröge [Tue, 17 May 2011 10:04:27 +0000 (12:04 +0200)]
gst: Update for caps/pad template related API changes

13 years agoelement: Consider GstPadTemplate as immutable
Sebastian Dröge [Tue, 17 May 2011 10:12:23 +0000 (12:12 +0200)]
element: Consider GstPadTemplate as immutable

Don't copy the templates when creating subclasses but only increase
their refcount.

13 years agopadtemplate: Create pad templates with floating refs
Sebastian Dröge [Tue, 17 May 2011 10:10:27 +0000 (12:10 +0200)]
padtemplate: Create pad templates with floating refs

And take ownership of the floating ref in gst_element_add_pad_template()

13 years agopadtemplate: Improve reference handling of the template's caps
Sebastian Dröge [Tue, 17 May 2011 10:07:03 +0000 (12:07 +0200)]
padtemplate: Improve reference handling of the template's caps

gst_pad_template_new() does not take ownership of the caps anymore.

13 years agominiobject: delay private data initialisation until actually needed
Tim-Philipp Müller [Mon, 16 May 2011 12:39:25 +0000 (13:39 +0100)]
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)

13 years agopad: Let template related functions return new references
Sebastian Dröge [Tue, 17 May 2011 09:59:00 +0000 (11:59 +0200)]
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.

13 years agoRevert "event: example of how to optimize events"
Sebastian Dröge [Tue, 17 May 2011 09:45:46 +0000 (11:45 +0200)]
Revert "event: example of how to optimize events"

This reverts commit fa28e2c5e6e5e172be308c0c50f44ed6f39e1a71.

The optimization only has minimal impact on the performance and
makes everything more complex.

13 years agoRevert "event: update the structure when needed"
Sebastian Dröge [Tue, 17 May 2011 09:45:42 +0000 (11:45 +0200)]
Revert "event: update the structure when needed"

This reverts commit 905100cdbe580d4d182bfd9d5ec9b368a110f464.

13 years agostructure: Fix compilation
Sebastian Dröge [Tue, 17 May 2011 09:22:58 +0000 (11:22 +0200)]
structure: Fix compilation

13 years agoRevert "query: allow _make_writable on query handlers"
Sebastian Dröge [Tue, 17 May 2011 09:20:05 +0000 (11:20 +0200)]
Revert "query: allow _make_writable on query handlers"

This reverts commit cf4fbc005c5c530c2a509a943a05b91d6c9af3fb.

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.

13 years agoRevert "bin: Dereference GstQuery** before passing it to GST_QUERY_TYPE_NAME"
Sebastian Dröge [Tue, 17 May 2011 09:19:16 +0000 (11:19 +0200)]
Revert "bin: Dereference GstQuery** before passing it to GST_QUERY_TYPE_NAME"

This reverts commit 437c92b403e0c7da9b9d4509ef4ffbd05710df2b.

13 years agoRevert "ghostpad: fix g_return_* with new query"
Sebastian Dröge [Tue, 17 May 2011 09:19:14 +0000 (11:19 +0200)]
Revert "ghostpad: fix g_return_* with new query"

This reverts commit 877c1c28ff957ca92911eadfc785f8661d9e0127.

13 years agoMerge branch 'master' into 0.11
Sebastian Dröge [Tue, 17 May 2011 07:40:38 +0000 (09:40 +0200)]
Merge branch 'master' into 0.11

Conflicts:
win32/common/libgstreamer.def

13 years agostructure: Make both parameters to gst_structure_is_equal() const
Sebastian Dröge [Tue, 17 May 2011 07:35:54 +0000 (09:35 +0200)]
structure: Make both parameters to gst_structure_is_equal() const

13 years agostructure: Update Since markers to the correct version
Sebastian Dröge [Tue, 17 May 2011 07:33:47 +0000 (09:33 +0200)]
structure: Update Since markers to the correct version

13 years agostructure: Add gst_structure_intersect()
Sebastian Dröge [Tue, 17 May 2011 07:33:04 +0000 (09:33 +0200)]
structure: Add gst_structure_intersect()

API: gst_structure_intersect()

13 years agogststructure: Add gst_structure_can_intersect API
Edward Hervey [Fri, 10 Sep 2010 16:33:34 +0000 (18:33 +0200)]
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

13 years agogstructure: New API: gst_structure_is_equal
Edward Hervey [Fri, 10 Sep 2010 16:14:05 +0000 (18:14 +0200)]
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

13 years agotests: set elements in PAUSED
Wim Taymans [Mon, 16 May 2011 17:09:54 +0000 (19:09 +0200)]
tests: set elements in PAUSED

Set elements in PAUSED before trying to set caps on pads.

13 years agotest: fix ghostpad test
Wim Taymans [Mon, 16 May 2011 17:05:23 +0000 (19:05 +0200)]
test: fix ghostpad test

We need to have activated pads before we can pass around caps.
Don't set NULL caps on pads.

13 years agopad: avoid setting NULL caps on pads
Wim Taymans [Mon, 16 May 2011 17:04:35 +0000 (19:04 +0200)]
pad: avoid setting NULL caps on pads

13 years agobasetransform: fix buffer refcounting
Wim Taymans [Mon, 16 May 2011 16:48:20 +0000 (18:48 +0200)]
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

13 years agocapsfilter: allow NULL filters and fix refcounting
Wim Taymans [Mon, 16 May 2011 16:29:29 +0000 (18:29 +0200)]
capsfilter: allow NULL filters and fix refcounting

13 years agocaps: only add the structure when we could set the parent
Wim Taymans [Mon, 16 May 2011 16:12:33 +0000 (18:12 +0200)]
caps: only add the structure when we could set the parent

13 years agoghostpad: fix g_return_* with new query
Wim Taymans [Mon, 16 May 2011 15:53:48 +0000 (17:53 +0200)]
ghostpad: fix g_return_* with new query

13 years agowin32: Update list of exported symbols
Sebastian Dröge [Mon, 16 May 2011 15:24:11 +0000 (17:24 +0200)]
win32: Update list of exported symbols

13 years agoinputselector: handle more formats
Wim Taymans [Mon, 16 May 2011 14:59:20 +0000 (16:59 +0200)]
inputselector: handle more formats

Use the segment format instead of a hardcoded _TIME.

13 years agobasesink: handle more formats
Wim Taymans [Mon, 16 May 2011 14:57:48 +0000 (16:57 +0200)]
basesink: handle more formats

Don't hardcode GST_FORMAT_TIME in places, we can work with many formats.

13 years agoMerge branch '0.11' of ssh://git.freedesktop.org/git/gstreamer/gstreamer into 0.11
Sebastian Dröge [Mon, 16 May 2011 14:54:02 +0000 (16:54 +0200)]
Merge branch '0.11' of ssh://git.freedesktop.org/git/gstreamer/gstreamer into 0.11

13 years agoMerge branch 'master' into 0.11
Sebastian Dröge [Mon, 16 May 2011 14:53:04 +0000 (16:53 +0200)]
Merge branch 'master' into 0.11

Conflicts:
configure.ac
docs/gst/gstreamer-sections.txt
gst/gstbin.c
gst/gstelement.c
gst/gstelement.h
gst/gstghostpad.c
gst/gstminiobject.c
gst/gstminiobject.h
libs/gst/base/gstbasesrc.c
libs/gst/base/gstbasetransform.c
plugins/elements/gstinputselector.c
tests/check/gst/gstminiobject.c

13 years agoupdate manual code examples for new _get_caps()
Wim Taymans [Mon, 16 May 2011 14:10:49 +0000 (16:10 +0200)]
update manual code examples for new _get_caps()

13 years agotests: Update for negotiation related API changes
Sebastian Dröge [Fri, 13 May 2011 06:34:33 +0000 (08:34 +0200)]
tests: Update for negotiation related API changes

13 years agoelements: Update for negotiation related API changes
Sebastian Dröge [Wed, 11 May 2011 13:38:09 +0000 (15:38 +0200)]
elements: Update for negotiation related API changes

The filter caps are only forwarded and returned instead
of ANY caps in the core elements because they don't do
anything caps specific.

13 years agobase: Improve negotiation with new getcaps() filter
Sebastian Dröge [Wed, 11 May 2011 13:12:04 +0000 (15:12 +0200)]
base: Improve negotiation with new getcaps() filter

13 years agogst: Add a filter caps parameter to all get_caps() functions
Sebastian Dröge [Tue, 10 May 2011 15:56:33 +0000 (17:56 +0200)]
gst: Add a filter caps parameter to all get_caps() functions

This is used to pass the possible caps and preferences to
the pad and to allow better negotiation decisions.

13 years agoqueue2: adjust input data rate estimation
Mark Nauwelaerts [Tue, 19 Apr 2011 18:05:07 +0000 (20:05 +0200)]
queue2: adjust input data rate estimation

... being aware of possible initial higher burst rate.

13 years agoRework GstSegment handling
Wim Taymans [Fri, 13 May 2011 16:07:24 +0000 (18:07 +0200)]
Rework GstSegment handling

Improve GstSegment, rename some fields. The idea is to have the GstSegment
structure represent the timing structure of the buffers as they are generated by
the source or demuxer element.
gst_segment_set_seek() -> gst_segment_do_seek()
Rename the NEWSEGMENT event to SEGMENT.
Make parsing of the SEGMENT event into a GstSegment structure.
Pass a GstSegment structure when making a new SEGMENT event. This allows us to
pass the timing info directly to the next element. No accumulation is needed in
the receiving element, all the info is inside the element.
Remove gst_segment_set_newsegment(): This function as used to accumulate
segments received from upstream, which is now not needed anymore because the
segment event contains the complete timing information.

13 years agopad: Re-implement notify::caps
Sebastian Dröge [Mon, 16 May 2011 08:25:10 +0000 (10:25 +0200)]
pad: Re-implement notify::caps

13 years agodocs: fix up some Since markers and update for new multiqueue args
Tim-Philipp Müller [Sat, 14 May 2011 13:02:06 +0000 (14:02 +0100)]
docs: fix up some Since markers and update for new multiqueue args

13 years agobin: Don't interprete pipelines without sink elements as always being in EOS state
Sebastian Dröge [Thu, 12 May 2011 14:48:41 +0000 (16:48 +0200)]
bin: Don't interprete pipelines without sink elements as always being in EOS state

Some tests (e.g. elements/capsfilter) have pipelines with dangling
sinkpads and without a sink element. These pipelines can never post
an EOS message (because this is only valid by a sink) and as such
should never get an EOS message posted by the bin.

13 years agosystemclock: Only retry writing to the socket for EAGAIN, EWOULDBLOCK and EINTR
Sebastian Dröge [Thu, 12 May 2011 13:51:22 +0000 (15:51 +0200)]
systemclock: Only retry writing to the socket for EAGAIN, EWOULDBLOCK and EINTR

Fixes infinite loop in some cases, bug #650002.

13 years agominiobject: Add new miniobject weak ref/unref functions to the docs
Sebastian Dröge [Thu, 12 May 2011 07:59:20 +0000 (09:59 +0200)]
miniobject: Add new miniobject weak ref/unref functions to the docs

13 years agominiobject: Minor cleanup of last commit
Sebastian Dröge [Thu, 12 May 2011 07:55:45 +0000 (09:55 +0200)]
miniobject: Minor cleanup of last commit

13 years agominiobject: Add weak referencing functionality
José Alburquerque [Wed, 11 May 2011 17:09:19 +0000 (13:09 -0400)]
miniobject: Add weak referencing functionality

API: gst_mini_object_weak_ref()
API: gst_mini_object_weak_unref()

Add weak referencing functionality to GstMiniObject, which
allows to get notifications when an mini object is destroyed
but doesn't increase the real refcount. This is mostly
useful for bindings.

Fixes bug #609473.

13 years agoinputselector: Add sync mode that syncs inactive pads to the running time of the...
Sebastian Dröge [Sat, 19 Mar 2011 09:28:49 +0000 (10:28 +0100)]
inputselector: Add sync mode that syncs inactive pads to the running time of the active pad

Fixes bug #645017.

13 years agomultiqueue: Add mode to synchronize deactivated/not-linked streams by the running...
Sebastian Dröge [Tue, 22 Mar 2011 12:19:47 +0000 (13:19 +0100)]
multiqueue: Add mode to synchronize deactivated/not-linked streams by the running time

Fixes bug #645107, #600648.

13 years agobin: Only post EOS messages after reaching the PLAYING state
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.

13 years agoelement: Add GstElement::state_changed vfunc
Sebastian Dröge [Tue, 10 May 2011 14:37:44 +0000 (16:37 +0200)]
element: Add GstElement::state_changed vfunc

API: GstElement::state_changed

This is always called when the state of an element has changed and
before the corresponding state-changed message is posted on the bus.

13 years agoghostpad: Add docs for all the new, public functions
Sebastian Dröge [Fri, 6 May 2011 14:44:29 +0000 (16:44 +0200)]
ghostpad: Add docs for all the new, public functions

13 years agoghostpad: Add guards against invalid parameters to the new, public functions
Sebastian Dröge [Fri, 6 May 2011 14:15:51 +0000 (16:15 +0200)]
ghostpad: Add guards against invalid parameters to the new, public functions

13 years agoghostpad: Rename ghostpad/proxypad default functions
Sebastian Dröge [Fri, 6 May 2011 14:00:22 +0000 (16:00 +0200)]
ghostpad: Rename ghostpad/proxypad default functions

API: gst_ghost_pad_activate_pull_default
API: gst_ghost_pad_activate_push_default
API: gst_ghost_pad_internal_activate_pull_default
API: gst_ghost_pad_internal_activate_push_default
API: gst_ghost_pad_link_default
API: gst_ghost_pad_setcaps_default
API: gst_ghost_pad_unlink_default
API: gst_proxy_pad_acceptcaps_default
API: gst_proxy_pad_bufferalloc_default
API: gst_proxy_pad_chain_default
API: gst_proxy_pad_chain_list_default
API: gst_proxy_pad_checkgetrange_default
API: gst_proxy_pad_event_default
API: gst_proxy_pad_fixatecaps_default
API: gst_proxy_pad_getcaps_default
API: gst_proxy_pad_getrange_default
API: gst_proxy_pad_iterate_internal_links_default
API: gst_proxy_pad_query_default
API: gst_proxy_pad_query_type_default
API: gst_proxy_pad_setcaps_default

13 years agoghostpad: Make all the internal caps functions public
Sebastian Dröge [Fri, 6 May 2011 13:50:20 +0000 (15:50 +0200)]
ghostpad: Make all the internal caps functions public

This is useful if ghostpad/proxypads should be used but
additional code should be executed, e.g. for tracking
segments in the event function.

13 years agoghostpad: Only implement the iterate_internal_links function on proxypads
Sebastian Dröge [Fri, 6 May 2011 13:25:04 +0000 (15:25 +0200)]
ghostpad: Only implement the iterate_internal_links function on proxypads

ghostpads inherit it from their parent class. Also make it threadsafe.

13 years agoghostpad: API: Expose gst_proxy_pad_get_internal()
Sebastian Dröge [Fri, 6 May 2011 13:16:09 +0000 (15:16 +0200)]
ghostpad: API: Expose gst_proxy_pad_get_internal()

This allows to get the internal pad of ghostpads and
proxypads without using gst_pad_iterate_internal_links()
and is much more convenient.

The internal pad of a ghostpad is the pad of the opposite direction
that is used to link to the ghostpad target.

13 years agobasetransform: When trying to fixate the sink suggestion prefer its structure order
Sebastian Dröge [Thu, 5 May 2011 15:54:56 +0000 (17:54 +0200)]
basetransform: When trying to fixate the sink suggestion prefer its structure order

13 years agocaps: Merge structures when intersecting instead of appending them
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.

13 years agobasetransform: In getcaps() prefer the caps order and caps of downstream if possible
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

13 years agobasetransform: Prefer caps order given by the subclass of the template caps order
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

13 years agoparse: don't unescape inside quotes
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

13 years agopad: Remove unnecessary FIXME
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.

13 years agoelement: If activating one pad failed error out early instead of trying to activate...
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.

13 years agobin: If activating one pad failed error out early instead of trying to activate the...
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.

13 years agoBack to development
Tim-Philipp Müller [Sat, 14 May 2011 08:31:33 +0000 (09:31 +0100)]
Back to development

13 years agoRelease 0.10.34 RELEASE-0.10.34
Tim-Philipp Müller [Sat, 14 May 2011 00:00:23 +0000 (01:00 +0100)]
Release 0.10.34

13 years agometa: Fix compilation of the unit test after removal of the serialize/deserialize...
Sebastian Dröge [Fri, 13 May 2011 06:38:06 +0000 (08:38 +0200)]
meta: Fix compilation of the unit test after removal of the serialize/deserialize functions

13 years agobasesrc: do not set first buffer timestamp to 0 for live sources
Vincent Penquerc'h [Wed, 4 May 2011 12:31:56 +0000 (15:31 +0300)]
basesrc: do not set first buffer timestamp to 0 for live sources

Doing so avoids a large timestamp gap between first and second buffer
for live sources which take time to start up.
The first buffer now has a "live" timestamp based on the running time,
as other buffers do.

https://bugzilla.gnome.org/show_bug.cgi?id=649369

13 years agometa: remove (de)serialize functions
Wim Taymans [Wed, 11 May 2011 17:10:24 +0000 (19:10 +0200)]
meta: remove (de)serialize functions

Add a GType to the metadata to identify the GstMetaInfo.
We can remove the (de)serialize functions for the metadata because we can
register GTtype transform functions between various types to implement
serialization later.

13 years agostructure: more cleanups
Wim Taymans [Wed, 11 May 2011 16:17:45 +0000 (18:17 +0200)]
structure: more cleanups

gst_structure_get_type() -> _gst_structure_type to avoid method calls for
getting the GType that initialized at the start.
Hide some structure fields in private data so that we can change the
implementation.
Move structure equality check from caps.c to structure.c where it belongs.

13 years agobasetransform: remove obsolete code
Wim Taymans [Wed, 11 May 2011 16:07:23 +0000 (18:07 +0200)]
basetransform: remove obsolete code

Remove some obsolete code.
Don't try to reconfigure when we don't have sink caps.

13 years agobin: Dereference GstQuery** before passing it to GST_QUERY_TYPE_NAME
Sebastian Dröge [Wed, 11 May 2011 14:46:49 +0000 (16:46 +0200)]
bin: Dereference GstQuery** before passing it to GST_QUERY_TYPE_NAME