[Bug 773770] New: rtpjitterbuffer: high CPU usage with low latency audio
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Tue Nov 1 05:44:23 UTC 2016
https://bugzilla.gnome.org/show_bug.cgi?id=773770
Bug ID: 773770
Summary: rtpjitterbuffer: high CPU usage with low latency audio
Classification: Platform
Product: GStreamer
Version: 1.9.90
OS: Linux
Status: NEW
Severity: normal
Priority: Normal
Component: gst-plugins-good
Assignee: gstreamer-bugs at lists.freedesktop.org
Reporter: brain at jikos.cz
QA Contact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
rtpjitterbuffer in combination with udpsrc seems to be very CPU demanding with
low latency audio stream. With 1kpps audio stream rtpjitterbuffer alone
requires roughly 20-25% CPU time on 500MHz Cortex A7.
Usecase 1:
gst-launch-1.0 udpsrc retrieve-sender-address=false uri="udp://224.1.2.3:5004"
caps="application/x-rtp,media=(string)audio,encoding-name=(string)L24,clock-rate=(int)48000,encoding-params=(string)2,channels=(int)2"
! rtpjitterbuffer latency=10000 ! fakesink
In this usecase two things can be observed:
* while buffering (the first 10 seconds) the CPU usage is 25% (for udpsrc)
* then the CPU jumps briefly to 60% and stabilizes at about 45%
Usecase 2:
gst-launch-1.0 audiotestsrc is-live=true wave=sine samplesperbuffer=48 !
"audio/x-raw,format=(string)S24BE,rate=(int)48000,channels=(int)2,channel-mask=(int)0x3"
! rtpL24pay ! rtpjitterbuffer latency=10000 ! fakesink
In the second use case the CPU usage while buffering is 4-5% and after
buffering is done 7-9%.
I would expect similar CPU usage (5-8%) also on top of UDP source (how ever
udpsrc currently inefficient is, see bug 772841), but 20% CPU is clearly too
much.
I was investigating the logs for the usual suspects like extra buffer copy, but
have not found any. The only clear difference I could see between the two logs
is that in Usecase 2 the packets are processed immediately, whereas in Usecase
1 many timers are processed per packet. However it is hard to debug that way
since the debug messages introduce a significant extra lag, which disturbs the
measurement.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list