Commit graph

1237 commits

Author SHA1 Message Date
Wim Taymans
ee15bd7287 basesink: more cleanups
Don't pass around the object type, we can find that very efficiently from the
object itself now.
2011-12-03 06:29:42 +01:00
Wim Taymans
64bd0b6416 basesink: clean up method names 2011-12-02 23:13:23 +01:00
Wim Taymans
4be2edeb50 basesink: merge render_object into chain
Merge the render_object code with the chain method. It is only called from there
and there are quite a few variables that can be reused to makes things less
confusing.
2011-12-02 22:50:55 +01:00
Wim Taymans
cc8359259b basesink: remove obsolete code
Remove some more code now that the render_object ethod is only
called with buffers or bufferlsts.
2011-12-02 22:36:38 +01:00
Wim Taymans
0e38f0dad0 basesink: clean up event handling
Add new wait_eos vmethod to wait for the eos timeout before posting the EOS
message on the bus.
Add default event handler. Move the default event actions in there. Call the
event vmethod from the pad event handler. Subclasses are now supposed to chain
up to the parent event handler or unref the event and do their own thing.
Avoid passing unused parameters to functions.
2011-12-02 22:20:08 +01:00
Wim Taymans
b6335d9505 basesink: small cleanup
Avoid passing around the segment.
2011-12-02 13:35:58 +01:00
Wim Taymans
bf4e681f5e basesink: remove clip_segment
We only need one segment now that the preroll queue is gone.
2011-12-02 13:28:18 +01:00
Wim Taymans
621aef1033 basesink: more cleanups
Remove some unneeded functions, inline the code.
Remove the queue_object functions, we can proceed with the rendering
immediately.
2011-12-02 12:42:50 +01:00
Wim Taymans
68cc637e87 basesink: remove obsolete code
Remove the preroll queue and proceed directly to the rendering of objects.
2011-12-02 12:20:02 +01:00
Wim Taymans
8acc2d9dc7 basesink: last-buffer -> last-sample
Rename the last-buffer property to last-sample and make it return the new
GstSample type so that we can include caps and timing info in one nice bundle.
2011-12-01 16:46:06 +01:00
Wim Taymans
a275d2e863 basetrans: add some more debug 2011-12-01 15:35:26 +01:00
Wim Taymans
d893040aec basesrc: add some more debug 2011-12-01 15:35:02 +01:00
Wim Taymans
23bec521bf basesink: remove old property 2011-11-30 14:31:12 +01:00
Wim Taymans
8356be8ae5 update for indexable change 2011-11-28 18:23:41 +01:00
Wim Taymans
d65773b5fa element: clean up element flags
Clean up the element flags
2011-11-28 16:54:55 +01:00
Matej Knopp
396c76a34e baseparse: fix broken default caps query
https://bugzilla.gnome.org/show_bug.cgi?id=664880
2011-11-26 20:03:01 +00:00
Tim-Philipp Müller
2d7f9cfe92 Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	gst/gstbuffer.h
	gst/gstbufferlist.h
	gst/gstcaps.h
	gst/gstdatetime.h
	gst/gstelementfactory.h
	gst/gstevent.h
	gst/gstghostpad.h
	gst/gstindexfactory.h
	gst/gstiterator.h
	gst/gstmessage.h
	gst/gstminiobject.h
	gst/gstpipeline.h
	gst/gstquery.h
	gst/gstsegment.h
	gst/gststructure.h
	gst/gsttaglist.h
	gst/gsturi.h
	gst/gstvalue.h
	libs/gst/base/gstbitreader.h
	libs/gst/base/gstbytereader.h
	libs/gst/base/gstbytewriter.h

Note: can't use G_GNUC_MALLOC with GstCaps return
values in 0.11 because of the EMPTY+ANY singletons.
2011-11-26 19:44:23 +00:00
Tim-Philipp Müller
4d2cb74850 libs: sprinkle some G_GNUC_MALLOC
Maybe gcc can do something clever with that, or at least
warn us if we don't save the return value somewhere.
2011-11-26 18:58:38 +00:00
Sebastian Dröge
1fa356a23c Merge branch 'master' into 0.11
Conflicts:
	gst/gstpad.c
	libs/gst/base/gstbaseparse.c
2011-11-24 11:23:07 +01:00
Sebastian Dröge
aa9ba2dd4e baseparse: Return template caps instead of other side's peer caps if get_sink_caps vfunc is not implemented
Using gst_pad_proxy_get_caps() breaks backwards compatibility with old
parsers because it will propagate the other side's fields like "parsed"
and "framed" and also breaks parser/converters.

Fixes bug #664221.
2011-11-23 13:42:56 +01:00
René Stadler
e694f5e71c bytewriter: add method to write out a buffer
In 0.10, this can be done with a one-liner by using GST_BUFFER_DATA/SIZE with
put_data. A 0.11 user has to resort to gst_buffer_map, which is less convenient
and might require a memcpy internally.

API: gst_byte_writer_put_buffer()
2011-11-23 11:04:00 +01:00
Wim Taymans
b7ea5ca1e0 baseparse: also let caps events go through 2011-11-22 18:40:49 +01:00
Matej Knopp
f33b1397d3 adapter: fix return type of _map() to gconstpointer
Fixes compiler warnings on OSX:
gstadapter.h:82: warning: type qualifiers ignored on function return type
gstadapter.c:412: warning: type qualifiers ignored on function return type

const gpointer is not the same as gconstpointer or const void *.

https://bugzilla.gnome.org/show_bug.cgi?id=664491
2011-11-22 11:53:42 +00:00
Matej Knopp
6ea74a0572 Fix printf format compiler warnings on OSX/64bit
https://bugzilla.gnome.org/show_bug.cgi?id=664491
2011-11-22 00:51:06 +00:00
Wim Taymans
2f1ed65339 pad: Merge pad mode activation functions
Add the pad mode to the activate function so that we can reuse the same function
for all activation modes. This makes the core logic smaller and allows for some
elements to make their activation code easier. It would allow us to add more
scheduling modes later without having to add more activate functions.
2011-11-21 13:29:05 +01:00
Wim Taymans
770159fb1c query: improve scheduling query
Turns some boolean arguments in the scheduling query to flags, which are easier
to extend and makes the code easier to read.
Make extra methods for configuring and querying the supported scheduling modes.
This should make it easier to add new modes later.
2011-11-18 17:27:16 +01:00
Wim Taymans
39a5e26ea9 pad: add parent to activate functions 2011-11-18 13:54:29 +01:00
Wim Taymans
12d5f03453 pad: fix scheduling mode enums
GstPadActivateMode -> GstPadMode
GST_PAD_ACTIVATE_* -> GST_PAD_MODE_*
2011-11-18 12:39:55 +01:00
Wim Taymans
cb54ab7d90 typefind: fix for new getrange method signature
gst_type_find_helper_get_range_ext -> gst_type_find_helper_get_range
2011-11-17 16:15:23 +01:00
Wim Taymans
612b1fbb14 pad: add parent to other functions
Add parent to chain, chain_list, getrange and event functions.
2011-11-17 12:40:45 +01:00
Stefan Sauer
009d799087 collectpads: move fields out of reserved and restore padding
Do the 0.11 ABI changes. Add extra fields for destroy_notify and drop the qdata
hack. Rename _add_pad_full to _add_pad and remove the old _add_pad.
2011-11-17 08:39:01 +01:00
Wim Taymans
09a8294d36 pad: add parent to the query function 2011-11-16 17:22:56 +01:00
Wim Taymans
54e1174060 GstPadFlags: rename flags GST_PAD_* -> GST_PAD_FLAG_* 2011-11-16 12:36:51 +01:00
Wim Taymans
e85198bc32 _query_peer_*() -> _peer_query_*() 2011-11-15 17:50:34 +01:00
Wim Taymans
2358938dbd _accept_caps() -> _query_accept_caps() 2011-11-15 17:40:19 +01:00
Wim Taymans
c55962c2d3 _peer_get_caps() -> peer_query_caps() 2011-11-15 17:11:46 +01:00
Wim Taymans
d805f0f034 pad: _get_caps() -> _query_caps() 2011-11-15 16:46:37 +01:00
Wim Taymans
b5c3e254b1 pad: remove getcaps and use caps query
Remove the getcaps function on the pad and use the CAPS query for
the same effect.
Add PROXY_CAPS to the pad flags. This instructs the default caps event and query
handlers to pass on the CAPS related queries and events. This simplifies a lot
of elements that passtrough caps negotiation.
Make two utility functions to proxy caps queries and aggregate the result. Needs
to use the pad forward function instead later.
Make the _query_peer_ utility functions use the gst_pad_peer_query() function to
make sure the probes are emited properly.
2011-11-15 11:20:48 +01:00
René Stadler
cb4ac0cf70 basetransform: fix caps unref in transform_caps filter subset check
I did not test this, but the code looked very wrong.
2011-11-12 01:55:45 +01:00
Wim Taymans
841ad590b9 .h: fix header files
Ensure correct indentation and retab
Make sure all structure have padding
2011-11-11 17:30:03 +01:00
Wim Taymans
4b216bf73a adapter: remove flush from _unmap 2011-11-10 18:18:24 +01:00
Wim Taymans
54a9c5d3f8 basesrc: implement a default get_caps function
Don't rely on the return value of a vmethod to trigger the default
implementation but make a real defaul implementation of the method that the
subclass can chain up to.
2011-11-10 16:04:55 +01:00
Edward Hervey
deb8e74cad introspection: Add --warn-all to introspection scanner
... and let's get fixing all those docs !
2011-11-10 13:54:02 +01:00
Wim Taymans
11aacfadc8 basetransform: fix vmethods
Make a default implementation of the transform_caps vmethod so that subclasses
can call into it.
Make a default implementation of transform_size.
Avoid doing something in the vmethod trampoline.
2011-11-10 13:38:58 +01:00
Wim Taymans
4760e1902a pushsrc: make alloc method a vmethod 2011-11-10 13:36:10 +01:00
Wim Taymans
41bb41616b basesink: reorder vmethod according to .h file 2011-11-10 12:33:49 +01:00
Wim Taymans
af63938333 basesink: improve comments 2011-11-10 12:33:33 +01:00
Wim Taymans
b3998146c1 basesrc: don't do things in the vmethod trampoline 2011-11-10 12:33:10 +01:00
Wim Taymans
c5ef50d4de adapter: use gpointer for return types 2011-11-10 11:42:26 +01:00
Wim Taymans
37318a8cd2 pad: remove GstPadFixateCapsFunction
The fixate caps function was not used externally and we have vmethods in the
base classes where it is needed.
Update some docs.
simplify some fixate functions in the base classes. Also pass the untruncated
caps to the vmethod.
2011-11-10 10:58:42 +01:00