How is the _src_create() call-back invoked?
John P Poet
jppoet at gmail.com
Fri Jul 3 07:32:42 PDT 2015
On Fri, Jul 3, 2015 at 1:23 AM, Tim Müller <tim at centricular.com> wrote:
> On Thu, 2015-07-02 at 18:56 -0600, John P Poet wrote:
>
> Hi,
>
> > I am working on a new src plugin for a 16 input Euresys Picolo H.264
> > card. It is based on GstPushSrc. It works pretty well if I only only
> > access a few inputs. However, if I create sixteen separate pipelines
> > to read from all sixteen input, then I start dropping audio packets.
> >
> >
> > I added a thread specifically for reading from the audio input, and
> > that solved the problem with not reading from the card quick enough,
> > but my _src_create() call-back is not being invoked often enough to
> > keep up. My GstBufferList slowly grows in size because my 'read'
> > thread is filling it up faster than the _src_create() is emptying it.
>
> It sounds like downstream is not reading/processing buffers fast enough
> then. What's your full pipeline? Do you have a queue after the source?
>
I am using:
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
Would it help to add some more queue elements?
>
> > I came across gst_pad_push_list(), but I get the impress that that is
> > not usable from within a _src_create() call-back. Is that correct?
>
> That's correct. Also see
> https://bugzilla.gnome.org/show_bug.cgi?id=750241
>
That looks useful. Is it stable enough for me to try?
> > How can I either get the _src_create() routine to be called more
> > often, or push more buffers per invocation? Should I not be using
> > _src_create(), but some other method?
> >
> >
> > The load on the machine is less than 1, so I don't think it is a
> > resource problem.
>
> I think you need to figure out why downstream is processing buffers
> slower than you create them, or if a queue helps.
>
> Cheers
> -Tim
Thank you, Tim. I will add logging for the lamemp3enc and see if anything
obvious shows up.
John
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20150703/5f5d6e27/attachment.html>
More information about the gstreamer-devel
mailing list