[gstreamer-bugs] [Bug 403122] [mmssrc] blocking read() causes totem to lock up when switching streams or n shutdown

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Thu Feb 1 03:28:36 PST 2007


Do not reply to this via email (we are currently unable to handle email
responses and they get discarded).  You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=403122

  GStreamer | gst-plugins-bad | Ver: HEAD CVS


Tim-Philipp Müller changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|totem-gstreamer-            |gstreamer-
                   |maint at gnome.bugs            |bugs at lists.sourceforge.net
             Status|UNCONFIRMED                 |NEW
          Component|GStreamer backend           |gst-plugins-bad
     Ever Confirmed|0                           |1
            Product|totem                       |GStreamer
          QAContact|totem-gstreamer-            |gstreamer-
                   |maint at gnome.bugs            |bugs at lists.sourceforge.net
            Summary|Opening mms stream causes   |[mmssrc] blocking read()
                   |totem interface to lockup   |causes totem to lock up when
                   |                            |switching streams or n
                   |                            |shutdown
   Target Milestone|---                         |HEAD
            Version|2.16.x                      |HEAD CVS




------- Comment #1 from Tim-Philipp Müller  2007-02-01 11:26 UTC -------
This isn't a duplicate of 353116.

What's happening here is two things:

 a) the server seems to be slightly broken: it sends only a few
    bytes of data (not even a complete ASF header) and then just
    stops sending data, but also doesn't send an error or close
    the connection. No idea what's up with that. I get the same
    behaviour with mplayer, xine and VLC.

 b) GStreamer's base source class, which the MMS source plugin is
    based on, currently works in a way that will wait for the
    streaming thread to return before it can shut down. In this
    case the streaming thread is blocked in a read() call waiting
    for either more data to arrive or for the connection to be
    closed (or time out). This is what causes the display freeze.
    Not very good, but also not quickly fixable with the way
    libmms/mmssrc currently work.

Not sure what to do about this without rewriting mmssrc so that all blocking
calls are done in yet another thread. Moving to GStreamer.

It's possible to get the same problem without a broken server, namely when the
connect() blocks for a long time.


-- 
Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=email




More information about the Gstreamer-bugs mailing list