Commit graph

1693 commits

Author SHA1 Message Date
Sebastian Dröge
a44271899c Revert "Revert "basetransform: Use check for subsets and not non-empty intersection to check if caps are compatible""
This reverts commit 0bc6d49c95.

Conflicts:

	libs/gst/base/gstbasetransform.c
2011-09-08 14:39:30 +02:00
Sebastian Dröge
43538e2e75 Merge branch 'master' into 0.11
Conflicts:
	docs/design/draft-buffer2.txt
	docs/design/part-TODO.txt
	docs/design/part-block.txt
	docs/design/part-bufferlist.txt
	docs/design/part-caps.txt
	docs/design/part-element-transform.txt
	docs/design/part-events.txt
	docs/design/part-negotiation.txt
	gst/gstcaps.c
	gst/gstevent.h
	gst/gstghostpad.c
	gst/gstinterface.c
	gst/gstpad.c
	gst/gstpad.h
	gst/gstutils.c
	libs/gst/base/gstbasesink.c
	libs/gst/base/gstbasesrc.c
	libs/gst/base/gstbasetransform.c
	libs/gst/base/gsttypefindhelper.c
	plugins/elements/gstcapsfilter.c
	plugins/elements/gsttee.c
	tests/check/generic/sinks.c
	tools/gst-launch.1.in
2011-09-08 14:28:23 +02:00
Sebastian Dröge
0bc6d49c95 Revert "basetransform: Use check for subsets and not non-empty intersection to check if caps are compatible"
This reverts commit 5e5cc5e89e.

See bug #658541.
2011-09-08 13:42:52 +02:00
Piotr Fusik
14f5518f3d docs, gst: typo fixes
https://bugzilla.gnome.org/show_bug.cgi?id=658449
2011-09-07 18:03:17 +01:00
Sebastian Dröge
a121713f0c basetransform: If there's no peer we still have to transform ANY caps in getcaps()
Otherwise elements like capsfilter will return ANY caps if no
peer is present instead of the filter caps. The transform_caps()
vfunc could do transformations to the template caps that do not
result in the unmodified template caps.
2011-09-07 16:05:07 +02:00
Sebastian Dröge
5e5cc5e89e basetransform: Use check for subsets and not non-empty intersection to check if caps are compatible 2011-09-06 12:37:16 +02:00
Wim Taymans
5cf8e68944 Merge branch 'master' into 0.11
Conflicts:
	gst/gstmessage.c
	gst/gstquery.c
	gst/gstregistrychunks.c
	gst/gstsegment.c
	libs/gst/base/gstbasetransform.c
	libs/gst/base/gstbasetransform.h
	libs/gst/base/gsttypefindhelper.c
	plugins/elements/gsttypefindelement.c
2011-08-26 14:37:54 +02:00
Wim Taymans
d924c30f5b base: rename allocation vmethods
Name the allocation vmethod on srcpad decide_allocation because source pads will
have to decide what allocation parameters will be used.
Name the allocation vmethod on sinkpads propose_allocation because they will
need to configure the allocation query with a proposed values for upstream.
2011-08-26 14:18:33 +02:00
Josep Torra
1ec901321f lfocontrolsource: explicitly cast to the enum type
Fixes warning #188: enumerated type mixed with another type reported by ICC.
2011-08-26 14:11:15 +02:00
Josep Torra
306e317ae9 typefind: add GST_TYPE_FIND_NONE and use it
Fixes warning #188: enumerated type mixed with another type reported by ICC.
2011-08-26 14:11:15 +02:00
Josep Torra
81794a4248 baseparse: use the enum values for 0 and don't abuse on gboolean coincidence
Fixes warning #188: enumerated type mixed with another type reported by ICC.
2011-08-26 14:11:15 +02:00
Josep Torra
ab3c6173b3 baseparse: put the arguments of g_return_val_if_fail in the proper order 2011-08-26 14:11:15 +02:00
Sjoerd Simons
0c0dc0441f basetransform: Fix bodged previous commit 2011-08-26 13:02:34 +01:00
Sjoerd Simons
888e6a91a4 basetransform: Use GstPadDirection in the query vfunc
Wim suggested that using GstPadDirection instead of a GstPad in the
arguments to the new query vfunc would be more consistent with the other
functions.
2011-08-26 12:43:13 +01:00
Wim Taymans
5c8efa9ffe basetransform: remove some unused variables 2011-08-26 12:28:28 +02:00
Wim Taymans
b91a5ab60a basetransform: add vmethod to configure upstream bufferpool
Add a vmethod that can be implemented to influence the bufferpool that upstream
elements will use.
2011-08-26 11:44:12 +02:00
Wim Taymans
f1566e85c0 basetransform: use pad direction like other vmethods 2011-08-26 11:24:42 +02:00
Wim Taymans
31b70ea701 Merge branch 'master' into 0.11
Conflicts:
	libs/gst/base/gstbasetransform.c
	libs/gst/base/gstbasetransform.h
2011-08-26 11:09:07 +02:00
Sjoerd Simons
63a21ca8b1 BaseTransform: Add a query vfunc 2011-08-26 10:39:44 +02:00
Wim Taymans
b5ef693e88 buffer: always copy all buffer flags when asked
Don't try to be smart and copy only a subset of buffer flag
2011-08-25 16:20:21 +02:00
Wim Taymans
d8d7c62789 basesink: remove preroll-queue-len property
Remove the preroll-queue-len property and move its variables to a private
section so that we can remove them later.
2011-08-25 12:38:58 +02:00
Wim Taymans
6f295dc239 Merge branch 'master' into 0.11
Conflicts:
	gst/gstobject.c
2011-08-24 10:43:09 +02:00
Mark Nauwelaerts
c1988b7e55 basesink: ensure start_time reset upon flush 2011-08-23 18:21:38 +02:00
Wim Taymans
8170c34c94 Merge branch 'master' into 0.11
Conflicts:
	gst/gstbuffer.h
	gst/gstcaps.c
	gst/gstcaps.h
	gst/gstevent.c
2011-08-22 12:33:35 +02:00
Tim-Philipp Müller
c7f2e85d86 baseparse: don't use == in debug string
It messes up GST_DEBUG=*:5 make foo/bar.valgrind, because
our Makefile looks for '==' as marker of valgrind output.
2011-08-18 20:46:01 +01:00
Tim-Philipp Müller
7043bf9d55 baseparse: fix crash on seek from streaming thread on newsegment event
Event if it's not allowed, we can easily prevent it, so let's do
that.

https://bugzilla.gnome.org/show_bug.cgi?id=656771
2011-08-18 20:44:01 +01:00
Wim Taymans
6b876ebf82 basesrc: add default fixate function
Add a default fixate function which does gst_caps_fixate() because
gst_pad_fixate() does not do that anymore.
2011-08-17 17:16:21 +02:00
Wim Taymans
e4db8d0f55 docs: improve some docs 2011-08-17 09:25:04 +02:00
Wim Taymans
8698a8c94e buffer: rename PREROLL -> LIVE flag
Rename the GST_BUFFER_FLAG_PREROLL to GST_BUFFER_FLAG_LIVE and give the new flag
a meaning. The old PREROLL flag never had a clear meaning.
2011-08-16 17:32:20 +02:00
Josep Torra
178bdccb76 Fix and clarify debug statements
Fixes build on MacOSX

Signed-off-by: Edward Hervey <edward.hervey@collabora.co.uk>
2011-08-10 11:01:58 +02:00
Wim Taymans
10485ea803 basesrc: add alloc vmethod
Make an alloc vmethod so that subclasses can override or call the default
implementation when they want.
2011-08-04 18:00:02 +02:00
Wim Taymans
dc096f39d1 basesrc: cleanups and mark reconfigure
Don't abuse the result variable.
Mark the srcpad with a reconfigure so that negotiation happens.
2011-08-04 17:12:47 +02:00
Wim Taymans
6bae6b8253 basesrc: remove negotiation from the state change
Remove the negotiation from the state change function, it causes data transfer
and bufferpool negotiation, which is not supposed to be done. Since we have the
reconfigure state on the pad, the create function will do the negotiation as
soon as it gets in the streaming thread.
2011-08-04 16:56:42 +02:00
Wim Taymans
fd75c12631 basesrc: expose set_caps method
Expose a previously static method so that custom negotiate implementation can
call it and do the right thing.
2011-08-04 16:34:49 +02:00
Wim Taymans
21ea3fdd96 basesrc: PAUSED<->PLAY doesn't change pool state
Don't change the state of the bufferpool when going between PAUSED and PLAYING,
it will dealloc and realloc all buffers, which is clearly too invasive. We will
need to add some other way of unblocking the bufferpool.
2011-08-04 13:48:11 +02:00
Tim-Philipp Müller
913e5e310c base: update for query API changes 2011-07-28 11:24:19 +01:00
Wim Taymans
cf18fa9ce5 Merge branch 'master' into 0.11 2011-07-27 12:50:39 +02:00
Wim Taymans
83e057cdc1 basetransform: add more comments 2011-07-27 12:49:40 +02:00
Wim Taymans
c266912124 basetrans: also pass allocation query in in_place
When we are doing an in_place transform, don't do the allocation query but let
the upstream element decide.
2011-07-27 12:45:17 +01:00
Evan Nemerson
cf6b41aa78 base: add missing (out) annotation for byte reader/writer functions
https://bugzilla.gnome.org/show_bug.cgi?id=655381
2011-07-27 10:12:33 +01:00
Wim Taymans
6b0a490740 basesrc: add some more debug info 2011-07-26 14:37:51 +02:00
Wim Taymans
32841d258d basesink: make it easy to override the pad query
Add a vmethod to handle the pad query.
Install a default handler for the pad query.
Add a vmethod to setup the allocation properties.
Use the new query function in filesink
2011-07-26 12:21:38 +02:00
Wim Taymans
36de9b92a1 basesrc: improve docs 2011-07-26 12:20:55 +02:00
Wim Taymans
c887dd41f8 basesrc: use DEBUG instead of ERROR for logging
Don't use the ERROR log category because the allocation failure migh only be
bacause of a state change.
2011-07-25 12:49:24 +02:00
Tim-Philipp Müller
6a1e2cc6e5 controller: fix build failure due to compiler warning
Presumably with newer GLib version.

https://bugzilla.gnome.org/show_bug.cgi?id=655155
2011-07-23 08:00:09 +01:00
Wim Taymans
2ff17fb622 basetransform: fix sink event handling
Implement the sink event handling like the src event handler. Make the default
implementation parse and forward the event. This makes it possible to actually
return an error value from the event handler.
2011-07-22 21:17:42 +02:00
Wim Taymans
5dde10f0e4 basetransform: handle failures
Handle failure to activate the bufferpool.
2011-07-22 19:19:59 +02:00
Wim Taymans
8059ab109a basetrans: improve debugging. 2011-07-22 19:11:56 +02:00
Wim Taymans
85d2355125 basetrans: Remove ref in passthrough
Remove the requirement to have to return a ref to the input buffer when in
passthrough mode. This saves a few ref/unref cycles and fixes another 0.11
FIXME.
2011-07-21 17:42:08 +02:00
Wim Taymans
70d13ae70e basetransform: make new copy_metadata vmethod
Make a new copy_metadata vmethod and move the code to copy the timestamps, flags
and offsets into a default implementation. This will allow us to give the
subclasses a chance to override the copy method.
2011-07-21 17:29:13 +02:00