<div>Hi Tim,</div><div><br></div>Thanks for response so quickly.<br><br><div>Actually, what I am trying to do is a alternative to rtspsrc (in gst-plugins-good package).</div><div><br></div><div>The difference is that it collects GstBuffers, for a 30ms or 30 GstBuffers (for example), into a GstBufferList and then push.</div>
<div><br></div><div>No offense, but, gstreamer takes too much CPU in some circumstances as <b>GStreamer, embedded and low latency are a bad combination</b> (<i><a href="http://felipec.wordpress.com/2010/10/07/gstreamer-embedded-and-low-latency-are-a-bad-combination/">http://felipec.wordpress.com/2010/10/07/gstreamer-embedded-and-low-latency-are-a-bad-combination/</a></i>) mentioned.</div>
<div><br></div><div>So, I try to avoid that issue and I still like gstreamer.</div><div><br></div><div>I think <span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; ">adding the functionality to </span><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; ">GstBaseSrc is a good idea and will try to do that (</span><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; ">any thing I should pay attention to?</span><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; ">).</span></div>
<div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;"><br></span></font></div><div>Thanks.</div><div><br></div><div><div class="gmail_quote">2011/6/13 Tim-Philipp Müller <span dir="ltr">&lt;<a href="mailto:t.i.m@zen.co.uk">t.i.m@zen.co.uk</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">On Mon, 2011-06-13 at 17:12 +0800, Shu-Yu Fu wrote:<br>
<br>
Hi,<br>
<div class="im"><br>
&gt; Currently, I need to implement a source element which pushes a<br>
&gt; GstBufferList.<br>
<br>
</div>Out of curiosity, what kind of element is this?<br>
<div class="im"><br>
&gt; But, a sub-class (GstPushSrc) of GstBaseSrc is expected to generate a<br>
&gt; GstBuffer in the create function. Returning a GstBufferList is<br>
&gt; not valided at all.<br>
&gt;<br>
&gt; I am also grep the source code packages (gstreamer-0.10.34,<br>
&gt; gst-plugins-base-0.10.34 and gst-plugins-good-0.10.29), but didn&#39;t<br>
&gt; find any thing helpful.<br>
&gt;<br>
&gt; But,the document says I can push a GstBufferList to the peer pad<br>
&gt; (<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#gst-pad-push-list" target="_blank">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#gst-pad-push-list</a>) or chain a GstBufferList to a pad (<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#gst-pad-chain-list" target="_blank">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#gst-pad-chain-list</a>).<br>

&gt;<br>
&gt; So, I was wondering does that means I have to write my own source<br>
&gt; element (like GstBaseSrc did)?<br>
&gt; Or, there is an easy way to do that?<br>
&gt; Or, there are some examples I missed?<br>
<br>
</div>You&#39;re right, the GstBaseSrc/GstPushSrc API currently doesn&#39;t cater for<br>
buffer lists, which is mostly for historical reasons, and because no one<br>
really needed that functionality yet (as far as I know, anyway).<br>
<br>
I think it&#39;d be best if you tried to add that functionality to<br>
GstBaseSrc. Don&#39;t try to write your own source that doesn&#39;t use<br>
GstBaseSrc.<br>
<br>
Alternatively, you could do something like gst_pad_push_list() from your<br>
create() function and then return a buffer of 0 size or so to the base<br>
class. That&#39;s a bit hackish though.<br>
<br>
Cheers<br>
 -Tim<br>
<br>
<br>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
</blockquote></div><br><br clear="all"><br>-- <br>Sincerely,<br>Bobby<br>
</div>