[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