After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 347300 - rtpmp4vdepay consumes 99% of CPU
rtpmp4vdepay consumes 99% of CPU
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
0.10.3
Other All
: Normal major
: 0.10.10
Assigned To: GStreamer Maintainers
GStreamer Maintainers
: 346157 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2006-07-12 12:43 UTC by Michal Bebjak
Modified: 2008-06-02 12:48 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
patch to fix problem (2.69 KB, patch)
2006-07-14 13:21 UTC, Wim Taymans
committed Details | Review

Description Michal Bebjak 2006-07-12 12:43:21 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:
Comment 1 Wim Taymans 2006-07-14 13:19:56 UTC
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.
Comment 2 Wim Taymans 2006-07-14 13:21:36 UTC
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.
Comment 3 Wim Taymans 2006-07-14 13:23:19 UTC
*** Bug 346157 has been marked as a duplicate of this bug. ***
Comment 4 Wim Taymans 2006-07-14 17:59:12 UTC
        * 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.