2005-03-28 14:54:33 +00:00
|
|
|
Base classes
|
|
|
|
------------
|
|
|
|
|
|
|
|
GstBaseSink
|
|
|
|
|
|
|
|
Base class for sink elements.
|
|
|
|
|
|
|
|
- one sinkpad
|
|
|
|
- handles state changes
|
|
|
|
- does flushing
|
|
|
|
- preroll with optional preview
|
|
|
|
- pull/push mode
|
|
|
|
- EOS handling
|
|
|
|
|
|
|
|
FIXME: not much point making it operate in pull mode as a generic
|
|
|
|
base class I guess...
|
gst/: Simplify pad activation.
Original commit message from CVS:
* gst/base/Makefile.am:
* gst/base/README:
* gst/base/gstbasesink.c: (gst_basesink_get_type),
(gst_basesink_base_init), (gst_basesink_class_init),
(gst_basesink_pad_getcaps), (gst_basesink_init),
(gst_basesink_activate), (gst_basesink_change_state):
* gst/base/gstbasesink.h:
* gst/base/gstbasetransform.c: (gst_base_transform_get_type),
(gst_base_transform_base_init), (gst_base_transform_finalize),
(gst_base_transform_class_init), (gst_base_transform_init),
(gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
(gst_base_transform_event), (gst_base_transform_getrange),
(gst_base_transform_chain), (gst_base_transform_handle_buffer),
(gst_base_transform_set_property),
(gst_base_transform_get_property),
(gst_base_transform_sink_activate),
(gst_base_transform_src_activate),
(gst_base_transform_change_state):
* gst/base/gstbasetransform.h:
* gst/elements/gstidentity.c: (gst_identity_finalize),
(gst_identity_class_init), (gst_identity_init),
(gst_identity_event), (gst_identity_check_perfect),
(gst_identity_transform), (gst_identity_set_property),
(gst_identity_get_property), (gst_identity_change_state):
* gst/elements/gstidentity.h:
* gst/gstelement.c: (gst_element_get_state_func),
(gst_element_lost_state), (gst_element_pads_activate):
* gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
(gst_pad_check_pull_range), (gst_pad_pull_range):
* gst/gstpad.h:
Simplify pad activation.
Added function to check if pull_range can be performed.
Error out when pulling inactive or flushing pads.
Removed const from refcounted types as it does not make sense.
Simplify pad templates in basesink
Added base class for simple 1-to-1 transforms.
Make identity subclass the base transform.
2005-03-29 16:18:12 +00:00
|
|
|
|
|
|
|
GstBaseTransform
|
|
|
|
|
|
|
|
Base class for simple tranform filters
|
|
|
|
|
|
|
|
- one sinkpad and one srcpad
|
|
|
|
- formats the same on sink and source pad.
|
|
|
|
- handles state changes
|
|
|
|
- does flushing
|
|
|
|
- push mode
|
|
|
|
- pull mode if transform can operate on arbitrary data
|