mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-24 01:00:37 +00:00
a173768706
Original commit message from CVS: 2007-01-12 Andy Wingo <wingo@pobox.com> * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate): (gst_base_transform_init, gst_base_transform_sink_activate_push) (gst_base_transform_src_activate_pull): Track the activation mode. (gst_base_transform_setcaps): In pull mode, when activating the src pad, after activating the sink pad, activate the sink pad's peer, as discussed in part-negotiation.txt. * libs/gst/base/gstbasesrc.h: * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate vmethod, as in basesink. * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod. * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull mode, first proxy the setcaps to the peer pad. (gst_base_sink_pad_fixate): Add a fixate function that calls the new fixate vmethod. (gst_base_sink_default_activate_pull): Rename from gst_base_sink_activate_pull. (gst_base_sink_negotiate_pull): New function, performs negotiation in pull mode before calling ::activate_pull(). (gst_base_sink_pad_activate_pull): Actually call the activate_pull vmethod instead of the default implementation. I have no idea how this worked before. Negotiate before calling activate_pull. |
||
---|---|---|
.. | ||
.gitignore | ||
gstadapter.c | ||
gstadapter.h | ||
gstbasesink.c | ||
gstbasesink.h | ||
gstbasesrc.c | ||
gstbasesrc.h | ||
gstbasetransform.c | ||
gstbasetransform.h | ||
gstcollectpads.c | ||
gstcollectpads.h | ||
gstdataqueue.c | ||
gstdataqueue.h | ||
gstpushsrc.c | ||
gstpushsrc.h | ||
gsttypefindhelper.c | ||
gsttypefindhelper.h | ||
Makefile.am | ||
README |
Base classes ------------ GstBaseSink FIXME: not much point making it operate in pull mode as a generic base class I guess...