GNOME Bugzilla – Bug 347300
rtpmp4vdepay consumes 99% of CPU
Last modified: 2008-06-02 12:48:54 UTC
Please describe the problem: gst-launch-0.10 udpsrc ! 'application/x-rtp,media=video,payload=96,clock-rate=2147483647,encoding-name=MP4V-ES' ! rtpmp4vdepay ! 'video/mpeg,mpegversion=4,width=640,height=480,framerate=30/1' ! ffdec_mpeg4 ! ffmpegcolorspace ! ximagesink ....consumes 99% CPU gst-launch-0.10 udpsrc ! 'video/mpeg,mpegversion=4,width=640,height=480,framerate=30/1' ! ffdec_mpeg4 ! ffmpegcolorspace ! ximagesink ....works fine. It is the same problem as in BUG 346100, but the rtpdepayloader element is different so I propose to test all the rtp elements if they are working as they should. For example the rtpmpadepay element works fine. Steps to reproduce: Actual results: Expected results: Does this happen every time? yes Other information:
The problem is that the depayloader base class wrongly waits for the clock. As a workaround, setting queue-delay=0 on the depayloader fixes the problem.
Created attachment 68922 [details] [review] patch to fix problem when doing a clock wait one has to specify an absolute time, not a relative time.
*** Bug 346157 has been marked as a duplicate of this bug. ***
* gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_wait), (gst_base_rtp_depayload_change_state), (gst_base_rtp_depayload_set_property), (gst_base_rtp_depayload_get_property): Fix 99% cpu load by waiting for absolute times on the clock. Fixes #347300.