[gstreamer-bugs] [Bug 612411] New: lock/performance problem in rtspsrc

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Wed Mar 10 03:45:34 PST 2010


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

           Summary: lock/performance problem in rtspsrc
    Classification: Desktop
           Product: GStreamer
           Version: git
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-good
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: luca.ognibene at gmail.com
         QAContact: gstreamer-bugs at lists.sourceforge.net
      GNOME target: ---
     GNOME version: ---


I'm using rtspsrc on linux to connect to a gst-rtsp-server on the same box. I'm
using tcp as transport and jpeg as codec. My problem is that sometime there is
a very big gap between connection and first buffer received (30 seconds or so)
and sometime it works fine. 
I think i've finally found the problem in this log:

start connection:
...
0:00:02.041919644 23840  0x8ae1600 DEBUG                rtspsrc
gstrtspsrc.c:1917:new_session_pad:<rtspsrc0> got new session pad
<rtpbin0:recv_rtp_src_0_3434053479_96>
0:00:02.291178937 23840  0x8ac6ca8 DEBUG                rtspsrc
gstrtspsrc.c:2981:gst_rtspsrc_loop_interleaved:<rtspsrc0> we received a server
message
0:00:02.291209639 23840  0x8ac6ca8 DEBUG                rtspsrc
gstrtspsrc.c:3012:gst_rtspsrc_loop_interleaved:<rtspsrc0> got data message
0:00:02.291228053 23840  0x8ac6ca8 DEBUG                rtspsrc
gstrtspsrc.c:3070:gst_rtspsrc_loop_interleaved:<rtspsrc0> pushing data of size
1452 on channel 0
...
0:00:30.765196937 23840  0x8ac6ca8 DEBUG                rtspsrc
gstrtspsrc.c:2961:gst_rtspsrc_loop_interleaved:<rtspsrc0> doing receive
0:00:30.764755486 23840  0x8ae1600 DEBUG                rtspsrc
gstrtspsrc.c:1925:new_session_pad:<rtspsrc0> stream: 0, SSRC 2147483647, PT 96
....

Looking at the code it seems that new_session_pad hangs in
GST_RTSP_STATE_LOCK.. maybe because there is a lot to read in the _interleaved
loop? I know that the _loop_interleaved function is releasing the lock but
sometime it seems that linux/glib is not awakening the other thread.. any idea
on how to fix this?

Gstreamer: today git
Linux: 2.6.28-14-server #47-Ubuntu SMP
Glib: 2.20.1 (ubuntu deb)

-- 
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