<html><head></head><body><div class="ydp1a879babyahoo-style-wrap" style="font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:13px;"><div></div>
        <div dir="ltr" data-setdir="false">avdec uses CPU for decoding and makes your CPU very busy. Try to use vaapi or va decoder with GPU acceleration to reduce CPU load.<br></div><div><br></div>
        
        </div><div id="yahoo_quoted_4818743340" class="yahoo_quoted">
            <div style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;color:#26282a;">
                
                <div>
                    On Friday, May 12, 2023, 08:45:28 a.m. EDT, Guillermo Rodriguez Garcia via gstreamer-devel <gstreamer-devel@lists.freedesktop.org> wrote:
                </div>
                <div><br></div>
                <div><br></div>
                <div><div id="yiv1312430254"><div dir="ltr">Hi all,<div><br></div><div>I have an embedded device showing RTSP / H.264 video streams from IP cameras.</div><div><br></div><div>The pipeline is more or less like this:</div><div><br></div><div>gst-launch-1.0 rtspsrc XXX ! rtph264depay ! h264parse ! avdec_h264 ! waylandsink </div><div><br></div><div>In some cases the resolution of the video stream is too high for the device to decode comfortably (unfortunately this is not something I can control). In these cases, Gstreamer (waylandsink actually I guess) decides that the frames are arriving too late, and discards them. The result is that the video is frozen (or almost -- I see a frame being displayed every now and then).</div><div><br></div><div>I thought that displaying late frames was better than displaying a frozen video so I tried to add max-lateness=-1 to the sink. However this does not seem to change anything. Next I tried to set qos=false instead, this didn't help either.</div><div><br></div><div>However setting _both_ max-lateness=-1 and qos=false does work. WIth this I can see the video stream even if there is a very noticeable delay.</div><div><br></div><div>I am trying to undestand how this works and I have some questions; hopefully someone can help.</div><div><br></div><div>1. Why setting max-lateness=-1 alone is not enough? If I understand correctly this should make the sink consider that no frames are late, so it should not be sending qos events. Why is it necessary to combine max-lateness=-1 with qos=false ?</div><div><br></div><div>2. What is the difference in practice between max-lateness=-1 + qos=false and sync=false? Both seem to achieve a similar effect, but I have read that "setting sync=false is almost never the right solution for timing problems".</div><div><br></div><div>Thank you,</div><div><br><div dir="ltr" class="yiv1312430254gmail_signature">Guillermo Rodriguez Garcia<br><a rel="nofollow noopener noreferrer" ymailto="mailto:guille.rodriguez@gmail.com" target="_blank" href="mailto:guille.rodriguez@gmail.com">guille.rodriguez@gmail.com</a></div></div></div>
</div></div>
            </div>
        </div></body></html>