platform/upstream/gstreamer.git
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

13 years agoevent: update the structure when needed
Wim Taymans [Wed, 11 May 2011 14:03:40 +0000 (16:03 +0200)]
event: update the structure when needed

When we get the structure of an event, make sure it also contains the fields
that we keep in fast variables, this way we can easily serialize and debug
the events. We would probably later simply prefer to register a transform
function to G_TYPE_STRING and G_TYPE_BYTEARRAY etc..

13 years agocaps: cleanups
Wim Taymans [Wed, 11 May 2011 14:01:41 +0000 (16:01 +0200)]
caps: cleanups

We don't need to check if the type is 0, the init function is only called once
in the beginning.

13 years agoevent: clean up some macros
Wim Taymans [Wed, 11 May 2011 10:04:43 +0000 (12:04 +0200)]
event: clean up some macros

Avoid executing a method for GST_TYPE_EVENT but instead use the type variable
directly. We can do this because we register it before anything else.

13 years agobus: Fix GST_DEBUG parameters to be consistent with the format string
Sebastian Dröge [Wed, 11 May 2011 13:48:15 +0000 (15:48 +0200)]
bus: Fix GST_DEBUG parameters to be consistent with the format string

13 years agobasetransform: Implement support for pad reconfiguration again
Sebastian Dröge [Wed, 11 May 2011 13:26:02 +0000 (15:26 +0200)]
basetransform: Implement support for pad reconfiguration again

13 years agocapsfilter: Fix deadlock, gst_pad_get_current_caps() already takes the pad's object...
Sebastian Dröge [Wed, 11 May 2011 13:18:56 +0000 (15:18 +0200)]
capsfilter: Fix deadlock, gst_pad_get_current_caps() already takes the pad's object lock

13 years agoevent: example of how to optimize events
Wim Taymans [Wed, 11 May 2011 09:06:36 +0000 (11:06 +0200)]
event: example of how to optimize events

Use a structure for the QoS event by 'extending' the GstEventImpl structure.
This should avoid allocation of GstStructures and its contents.

13 years agomultiqueue: ensure thread safety when adding a pad
Mark Nauwelaerts [Tue, 10 May 2011 09:11:15 +0000 (11:11 +0200)]
multiqueue: ensure thread safety when adding a pad

This seems to be a regression, and was causing crashes.

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

13 years agoquery: allow _make_writable on query handlers
Wim Taymans [Tue, 10 May 2011 16:36:33 +0000 (18:36 +0200)]
query: allow _make_writable on query handlers

Pass a GstQuery ** to the query handlers so that they can make the query
writable before using a setter on it.
Port code to new API.

13 years agoporting: update porting doc
Wim Taymans [Tue, 10 May 2011 14:46:15 +0000 (16:46 +0200)]
porting: update porting doc

13 years agoelement: use request_new_pad_full as the default
Wim Taymans [Tue, 10 May 2011 14:41:36 +0000 (16:41 +0200)]
element: use request_new_pad_full as the default

Add GstCaps to request_new_pad so that request_new_pad_full can be removed.
Fix elements.

13 years agoporting: update porting doc
Wim Taymans [Tue, 10 May 2011 14:23:08 +0000 (16:23 +0200)]
porting: update porting doc

13 years agoquery: make sure query is writable
Wim Taymans [Tue, 10 May 2011 13:41:54 +0000 (15:41 +0200)]
query: make sure query is writable

Make sure the Query is writable before executing the setters.

13 years agoquery: Hide GstStructure in queries
Wim Taymans [Tue, 10 May 2011 13:33:53 +0000 (15:33 +0200)]
query: Hide GstStructure in queries

Hide the GstStructure from the query API.
Rename some methods to match the more common names in GObject libraries.
Add some more useful query API.

13 years agomessage: hide the message structure field
Wim Taymans [Tue, 10 May 2011 11:34:10 +0000 (13:34 +0200)]
message: hide the message structure field

Make a private structure to hold the GstStructure bits of the message.
Add some more useful macros like we have for events.

13 years agoRelease 0.10.33 RELEASE-0.10.33
Tim-Philipp Müller [Tue, 10 May 2011 07:55:10 +0000 (08:55 +0100)]
Release 0.10.33

Highlights:

  - new parser base class: GstBaseParse
  - new core element: funnel
  - OSX multi-arch fixes
  - new QoS type for QoS events
  - new progress message API to notify applications of asynchronous operations
  - countless other fixes and improvements

13 years agocaps: fix the macros a little
Wim Taymans [Tue, 10 May 2011 10:29:06 +0000 (12:29 +0200)]
caps: fix the macros a little

13 years agoevent: Hide the GstStructure
Wim Taymans [Tue, 10 May 2011 09:50:16 +0000 (11:50 +0200)]
event: Hide the GstStructure

Hide the GstStructure of the event in the implementation specific part so that
we can change it.
Add methods to check and make the event writable.
Add a new method to get a writable GstStructure of the element.
Avoid directly accising the event structure.

13 years agoevent: _qos_full -> _qos
Wim Taymans [Mon, 9 May 2011 16:48:55 +0000 (18:48 +0200)]
event: _qos_full -> _qos

13 years agosegment: remove _full version
Wim Taymans [Mon, 9 May 2011 15:51:07 +0000 (17:51 +0200)]
segment: remove _full version

Rename the _full versions of the functions to the normal function names.

13 years agosegment: remove abs_rate from segment structure
Wim Taymans [Mon, 9 May 2011 14:39:13 +0000 (16:39 +0200)]
segment: remove abs_rate from segment structure

Remove the abs_rate field from the segment structure, we can trivially compute
it when needed.

13 years agocaps: remove caps from buffers and pads
Wim Taymans [Mon, 9 May 2011 14:21:28 +0000 (16:21 +0200)]
caps: remove caps from buffers and pads

Remove the GstCaps from buffers and pads. We now use CAPS events to negotiate
formats between element.

13 years agobasetransform: Use CAPs event
Wim Taymans [Mon, 9 May 2011 13:06:20 +0000 (15:06 +0200)]
basetransform: Use CAPs event

Use the caps event to configure basetransform.
Remove force_alloc hack, we don't need this in 0.11 with new upstream
negotiation.
Avoid getting some pad caps.

13 years agobasesink: add some more debug
Wim Taymans [Mon, 9 May 2011 13:06:07 +0000 (15:06 +0200)]
basesink: add some more debug

13 years agowin32: Add new symbols
Edward Hervey [Sun, 8 May 2011 09:02:16 +0000 (11:02 +0200)]
win32: Add new symbols

13 years agogstbuffer: Fix unitialized variables
Edward Hervey [Sun, 8 May 2011 09:01:57 +0000 (11:01 +0200)]
gstbuffer: Fix unitialized variables

13 years agotools: avoid using pad caps
Wim Taymans [Mon, 9 May 2011 08:54:10 +0000 (10:54 +0200)]
tools: avoid using pad caps

Avoid directly accessing the pad caps, use gst_pad_get_current_caps() instead.

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

13 years agobasesink: use CAPS event instead of setcaps function
Wim Taymans [Sun, 8 May 2011 11:07:13 +0000 (13:07 +0200)]
basesink: use CAPS event instead of setcaps function

13 years agobase: avoid using buffer caps
Wim Taymans [Sun, 8 May 2011 10:46:17 +0000 (12:46 +0200)]
base: avoid using buffer caps

Comment all code using buffer caps.
Rework capsfilter code a little.
Fix some unit tests

13 years agopad: improve caps event handling
Wim Taymans [Sun, 8 May 2011 10:43:26 +0000 (12:43 +0200)]
pad: improve caps event handling

Fix replace of caps events when linking: we need to unref the old ones.
Make sure we pass error values around.
Move backward compat code into the default handler for now.

13 years agoevent: don't ref the caps
Wim Taymans [Sun, 8 May 2011 10:38:05 +0000 (12:38 +0200)]
event: don't ref the caps

Use a different way of getting the caps from the caps event so that no
refcounting happens.

13 years agobuffer: avoid using buffer caps
Wim Taymans [Sun, 8 May 2011 10:37:44 +0000 (12:37 +0200)]
buffer: avoid using buffer caps

13 years agobaseparse: don't post loads of empty taglists
Tim-Philipp Müller [Fri, 6 May 2011 22:40:58 +0000 (23:40 +0100)]
baseparse: don't post loads of empty taglists

Only post bitrate updates if there's something to post, don't
post empty taglists if nothing changed.

13 years agopad: avoid using the old GST_PAD_CAPS
Wim Taymans [Fri, 6 May 2011 17:04:54 +0000 (19:04 +0200)]
pad: avoid using the old GST_PAD_CAPS

Don't use GST_PAD_CAPS but instead use the new gst_pad_get_current_caps()
method.
Avoid setting caps on buffers.

13 years agopad: add 2 new caps methods
Wim Taymans [Fri, 6 May 2011 17:03:33 +0000 (19:03 +0200)]
pad: add 2 new caps methods

Add method to get the currently configured caps on the pad.
Add a method to check if caps are configured on a pad.

13 years agopad: implement fixed caps with an object flag
Wim Taymans [Fri, 6 May 2011 15:59:33 +0000 (17:59 +0200)]
pad: implement fixed caps with an object flag

Implement fixed caps with an object flag instead of a custom getcaps function.

13 years agopad: don't use buffer caps for negotiation
Wim Taymans [Fri, 6 May 2011 15:30:24 +0000 (17:30 +0200)]
pad: don't use buffer caps for negotiation

Don't use the buffer caps for negotiation anymore but use the CAPS events.
Make the _set_caps method produce the CAPS event, add some backward
compatibility code to trigger the setcaps functions on src and sinkpads.
Remove all negotiation code from the chain functions.
Don't use the GST_PAD_CAPS variable anymore to store the caps but retrieve the
caps from the sticky event array.

13 years agoselector: don't unset caps
Wim Taymans [Fri, 6 May 2011 14:14:41 +0000 (16:14 +0200)]
selector: don't unset caps

13 years agotypefind: don't unset caps
Wim Taymans [Fri, 6 May 2011 14:14:23 +0000 (16:14 +0200)]
typefind: don't unset caps

13 years agocheck: let the normal code unset caps
Wim Taymans [Fri, 6 May 2011 14:13:55 +0000 (16:13 +0200)]
check: let the normal code unset caps

13 years agooutputselector: handle NULL pads in some cases
Wim Taymans [Fri, 6 May 2011 14:11:44 +0000 (16:11 +0200)]
outputselector: handle NULL pads in some cases

13 years agobin: let the pad clean up in activate
Wim Taymans [Fri, 6 May 2011 14:11:18 +0000 (16:11 +0200)]
bin: let the pad clean up in activate

13 years agoelement: don't mess with pad caps in activate
Wim Taymans [Fri, 6 May 2011 13:55:31 +0000 (15:55 +0200)]
element: don't mess with pad caps in activate

When deactivating a pad, let the pad decide what fields to clear.

13 years agoevent: only allow fixed caps in caps event
Wim Taymans [Fri, 6 May 2011 13:51:11 +0000 (15:51 +0200)]
event: only allow fixed caps in caps event

13 years agoevent: Improve documentation of gst_event_new_reconfigure()
Sebastian Dröge [Fri, 6 May 2011 11:01:24 +0000 (13:01 +0200)]
event: Improve documentation of gst_event_new_reconfigure()

13 years agoporting: update porting doc
Wim Taymans [Fri, 6 May 2011 10:23:01 +0000 (12:23 +0200)]
porting: update porting doc

13 years agoelement: rename gst_element_lost_state_full()
Wim Taymans [Fri, 6 May 2011 10:19:16 +0000 (12:19 +0200)]
element: rename gst_element_lost_state_full()

Rename gst_element_lost_state_full() to gst_element_lost_state() and
remove the old method name.

13 years agopad: clean up the .h file a bit
Wim Taymans [Fri, 6 May 2011 10:09:00 +0000 (12:09 +0200)]
pad: clean up the .h file a bit

13 years agopad: implement more sticky events
Wim Taymans [Fri, 6 May 2011 09:14:02 +0000 (11:14 +0200)]
pad: implement more sticky events

Remove the context again, adding an extra layer of refcounting and object
creation to manage an array is too complicated and inefficient. Use a simple
array again.
Also implement event updates when calling gst_pad_chain() and
gst_event_send_event() directly.

13 years agoinfo: avoid redefinition of symbols when debugging is off
Stefan Kost [Fri, 6 May 2011 08:35:36 +0000 (11:35 +0300)]
info: avoid redefinition of symbols when debugging is off

The refactoring of gst_debug_add_log_function() now causes build failure when
debug-logging is turned off. Just move it to the conditional part of the header.

13 years agoevent: reorder events
Wim Taymans [Fri, 6 May 2011 09:00:18 +0000 (11:00 +0200)]
event: reorder events

Reorder the sticky events so that they are in the order they should be pushed.

13 years agopad: simplify some more
Wim Taymans [Thu, 5 May 2011 17:24:46 +0000 (19:24 +0200)]
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.

13 years agopad: improve context passing some more
Wim Taymans [Thu, 5 May 2011 16:56:41 +0000 (18:56 +0200)]
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.

13 years agobasetransform: Don't get the parent twice in the setcaps function
Sebastian Dröge [Thu, 5 May 2011 16:21:21 +0000 (18:21 +0200)]
basetransform: Don't get the parent twice in the setcaps function

13 years agopad: Fix refcount leak of the parent in the default event dispatch function
Sebastian Dröge [Thu, 5 May 2011 14:59:36 +0000 (16:59 +0200)]
pad: Fix refcount leak of the parent in the default event dispatch function

13 years agopad: improve passing around the context
Wim Taymans [Thu, 5 May 2011 14:32:11 +0000 (16:32 +0200)]
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.

13 years agowin32: Update exports
Sebastian Dröge [Thu, 5 May 2011 14:05:20 +0000 (16:05 +0200)]
win32: Update exports