<div dir="ltr"><div dir="ltr"></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, 17 Apr 2020 at 13:53, Devin Heitmueller <<a href="mailto:dheitmueller@kernellabs.com">dheitmueller@kernellabs.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Not through the standard APIs, as implementations of FIFOs within<br>
input modules vary depending on the input.  In my case (which is the<br>
UDP source), I added instrumentation to libavformat/udp.c which once a<br>
second calls av_fifo_space(s->fifo) and reports it back to my<br>
application.  This allows me to continuously track whether the FIFO is<br>
getting backlogged (common if the pipeline is falling behind<br>
realtime), and take action before hitting the overflow condition.<br>
<br>
Devin<br>
<br>
-- <br></blockquote><div>Thanks Devin, found the right place, but finding frames to skip seems to be taking more CPU time.</div><div><br></div><div>Is there any way of building ffmpeg libraries to a) minimize any other stuff that isn't being used, and b) raise priorities on threads that are decoding?</div><div>Is it faster to run with static libraries or dynamic?  Anything!</div><div><br></div><div>We've got a 2Mbps stream with just I and P frames, no B frames.  It's just Standard Definition, and it can just about keep up but not quite.  So I need to be able to shave off 1% here, 2% there, etc.</div><div><br></div><div>Cheers,</div><div>Simon</div></div></div>