<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
On 06/13/2011 01:26 PM, Shu-Yu Fu wrote:
<blockquote
cite="mid:BANLkTik82yxAndwhjh2UkqeMF=jOBy_+Pw@mail.gmail.com"
type="cite">
<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 moz-do-not-send="true"
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>
</blockquote>
<br>
Just as a headsup, numerous improvemnts went into gstreamer as a
reaction to that post. Unfortunately felipe did not had time so far to
rerun the measuremrnts and give an update.<br>
<br>
<blockquote
cite="mid:BANLkTik82yxAndwhjh2UkqeMF=jOBy_+Pw@mail.gmail.com"
type="cite">
<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>
</blockquote>
<br>
If aggregating data in rtspsrc and using a bufferlist improved the
situation, I think the best place to add the changes would be basesrc
and rtspsrc. Writing another rtspsrc sound like a not so good idea to
me.<br>
<br>
Stefan<br>
<br>
<blockquote
cite="mid:BANLkTik82yxAndwhjh2UkqeMF=jOBy_+Pw@mail.gmail.com"
type="cite">
<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"><<a
moz-do-not-send="true" href="mailto:t.i.m@zen.co.uk">t.i.m@zen.co.uk</a>></span><br>
<blockquote class="gmail_quote"
style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">On
Mon, 2011-06-13 at 17:12 +0800, Shu-Yu Fu wrote:<br>
<br>
Hi,<br>
<div class="im"><br>
> Currently, I need to implement a source element which pushes a<br>
> GstBufferList.<br>
<br>
</div>
Out of curiosity, what kind of element is this?<br>
<div class="im"><br>
> But, a sub-class (GstPushSrc) of GstBaseSrc is expected to
generate a<br>
> GstBuffer in the create function. Returning a GstBufferList is<br>
> not valided at all.<br>
><br>
> I am also grep the source code packages (gstreamer-0.10.34,<br>
> gst-plugins-base-0.10.34 and gst-plugins-good-0.10.29), but didn't<br>
> find any thing helpful.<br>
><br>
> But,the document says I can push a GstBufferList to the peer pad<br>
> (<a moz-do-not-send="true"
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 moz-do-not-send="true"
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>
><br>
> So, I was wondering does that means I have to write my own source<br>
> element (like GstBaseSrc did)?<br>
> Or, there is an easy way to do that?<br>
> Or, there are some examples I missed?<br>
<br>
</div>
You're right, the GstBaseSrc/GstPushSrc API currently doesn'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'd be best if you tried to add that functionality to<br>
GstBaseSrc. Don't try to write your own source that doesn'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's a bit hackish though.<br>
<br>
Cheers<br>
-Tim<br>
<br>
<br>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a moz-do-not-send="true"
href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br>
<a moz-do-not-send="true"
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>
<pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
gstreamer-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a>
<a class="moz-txt-link-freetext" href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a>
</pre>
</blockquote>
<br>
</body>
</html>