<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jul 3, 2015 at 1:23 AM, Tim Müller <span dir="ltr"><<a href="mailto:tim@centricular.com" target="_blank">tim@centricular.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Thu, 2015-07-02 at 18:56 -0600, John P Poet wrote:<br>
<br>
Hi,<br>
<span><br>
> I am working on a new src plugin for a 16 input Euresys Picolo H.264<br>
> card.  It is based on GstPushSrc.  It works pretty well if I only only<br>
> access a few inputs.  However, if I create sixteen separate pipelines<br>
> to read from all sixteen input, then I start dropping audio packets.<br>
><br>
><br>
> I added a thread specifically for reading from the audio input, and<br>
> that solved the problem with not reading from the card quick enough,<br>
> but my _src_create() call-back is not being invoked often enough to<br>
> keep up.  My GstBufferList slowly grows in size because my 'read'<br>
> thread is filling it up faster than the _src_create() is emptying it.<br>
<br>
</span>It sounds like downstream is not reading/processing buffers fast enough<br>
then. What's your full pipeline? Do you have a queue after the source?<br></blockquote><div><br></div><div>I am using:<br><br>gst-launch-1.0 picoloh264videosrc location="/mnt/picolo_u16" connector=0 ! h264parse ! queue ! mux. picoloh264audiosrc location="/mnt/picolo_u16" connector=0 ! audioconvert ! lamemp3enc ! queue ! mux. mpegtsmux name=mux ! filesink location=picolo.ts<br><br></div><div>Would it help to add some more queue elements?<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<span><br>
> I came across gst_pad_push_list(), but I get the impress that that is<br>
> not usable from within a _src_create() call-back.  Is that correct?<br>
<br>
</span>That's correct. Also see<br>
<a href="https://bugzilla.gnome.org/show_bug.cgi?id=750241" rel="noreferrer" target="_blank">https://bugzilla.gnome.org/show_bug.cgi?id=750241</a><br></blockquote><div><br><br></div><div>That looks useful.  Is it stable enough for me to try?<br></div><div><br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<span>> How can I either get the _src_create() routine to be called more<br>
> often, or push more buffers per invocation?  Should I not be using<br>
> _src_create(), but some other method?<br>
><br>
><br>
> The load on the machine is less than 1, so I don't think it is a<br>
> resource problem.<br>
<br>
</span>I think you need to figure out why downstream is processing buffers<br>
slower than you create them, or if a queue helps.<br>
<br>
 Cheers<br>
<span><font color="#888888">  -Tim</font></span></blockquote><div><br><br></div><div>Thank you, Tim.   I will add logging for the lamemp3enc and see if anything obvious shows up.<br><br></div><div>John<br></div></div></div></div>