[Bug 728714] New: rtpsession: RTP/RTCP causes high load

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Tue Apr 22 03:28:31 PDT 2014


https://bugzilla.gnome.org/show_bug.cgi?id=728714
  GStreamer | gst-plugins-good | 1.2.3

           Summary: rtpsession: RTP/RTCP causes high load
    Classification: Platform
           Product: GStreamer
           Version: 1.2.3
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: major
          Priority: Normal
         Component: gst-plugins-good
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: marc.leeman at gmail.com
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


When receiving an RTP/RTCP stream, a very high load is triggered in releases.

We have been using until recently 1.0.7 and for a 11 Mbps stream about 4% was
used on the reference platform.

When bumping to 1.2.3; the load for the same stream was +100%.

This issue was fixed in the master.

We did a bisect to isolate the commit that solves it between 1.2.3 and master
and the following commit resolves the load issue.


(jhbuild)marc at drd1812:~/gstreamer.jhbuild/sources/gst-plugins-good-1.0-upstream$
git bisect good
6a421c3d81b74b808dcc67886cdf5a28b8bc1f41 is the first bad commit
commit 6a421c3d81b74b808dcc67886cdf5a28b8bc1f41
Author: George Kiagiadakis <george.kiagiadakis at collabora.com>
Date:   Thu Dec 12 10:32:48 2013 +0100

    rtpsession: reset state after scheduling BYE

    After we do RTCP, we are not scheduling bye anymore.

:040000 040000 1b3c2b7a10000d11b9c79fdea3e777e7afee95c0
38f76abaf49430cfab8d6949eaa3705febfd8693 M    gst

Indeed:

$ git checkout 6a421c3d81b74b808dcc67886cdf5a28b8bc1f41

gives us a good behaviour

$ git checkout 0a0ff100efe0960639c31216390321c19aa6dd3c

gives us a bad behaviour

(jhbuild)marc at drd1812:~/gstreamer.jhbuild/sources/gst-plugins-good-1.0-upstream$
git diff 0a0ff100efe0960639c31216390321c19aa6dd3c
6a421c3d81b74b808dcc67886cdf5a28b8bc1f41
diff --git a/gst/rtpmanager/rtpsession.c b/gst/rtpmanager/rtpsession.c
index 1074866..929c404 100644
--- a/gst/rtpmanager/rtpsession.c
+++ b/gst/rtpmanager/rtpsession.c
@@ -3614,6 +3614,7 @@ rtp_session_on_timeout (RTPSession * sess, GstClockTime
current_time,
     sess->last_rtcp_send_time = data.current_time;
   sess->first_rtcp = FALSE;
   sess->next_early_rtcp_time = GST_CLOCK_TIME_NONE;
+  sess->scheduled_bye = FALSE;

 done:
   RTP_SESSION_UNLOCK (sess);

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- 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