Hi! <br><br>I&#39;m a newbie for gstreamer and  working on a sink that I wish it would provide buffer for source. I think it would be a pull-based sink.<br><br>The GStreamer I used is gstreamer-0.10.25, gst-plugin-base-0.10.25, and gst-plaugin-good-0.10.17.<br>
<br>I implemented this sink based on base-sink, and added the virtual function: buffer_alloc() (gst_my_sink_buffer_alloc) and render() (gst_my_sink_render). <br><br>After trying:<br>GST_DEBUG=basesink:7,mysink:7 gst-launch fakesrc can-activate-pull=1 ! mysink<br>
<br>I found gstbasesink.c had set DEFAULT_CAN_ACTIVATE_PULL to FALSE, so I set it to TRUE, and get the follow log. It seems pull mode is enabled, but gst_my_sink_buffer_alloc and gst_my_sink_render are not called.<br><br>
Does I make something wrong, or which sink can I use as reference?<br>Besides fakesrc, is there any pull-source for me to do test with gst-launch?<br><br>Thanks,<br><br>France Hsu<br><br>gst_my_sink_change_state: null to  ready<br>

|<br>gst_my_sink_start<br>|<br>gst_my_sink_change_state: ready to pause<br>|<br>gst_base_sink_pad_activate<br>   |<br>   gst_base_sink_negotiate_pull<br>   |<br>   gst_base_sink_pad_activate_pull<br>|<br>gst_base_sink_loop <br>
|<br>gst_my_sink_change_state: pause to playing<br>|<br>[ gst_base_sink_loop: pulling 0, 4096 ]*<br>