diff options
author | Michael Roitzsch <mroi@users.sourceforge.net> | 2003-01-27 21:43:18 +0000 |
---|---|---|
committer | Michael Roitzsch <mroi@users.sourceforge.net> | 2003-01-27 21:43:18 +0000 |
commit | 2f6f126e2f0ba6779a4d6cb6f95bb7cb352b5997 (patch) | |
tree | 4238eb06903b5510a70270f17f878c2b62cb60a2 | |
parent | ce9cab70cdb63af72b2b6edabd94779d2b89c2fe (diff) | |
download | xine-lib-2f6f126e2f0ba6779a4d6cb6f95bb7cb352b5997.tar.gz xine-lib-2f6f126e2f0ba6779a4d6cb6f95bb7cb352b5997.tar.bz2 |
ejecting is granted when a different input than the one to eject is currently
playing
CVS patchset: 4022
CVS date: 2003/01/27 21:43:18
-rw-r--r-- | src/xine-engine/xine.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/xine-engine/xine.c b/src/xine-engine/xine.c index 1ae183df9..e010c3aa8 100644 --- a/src/xine-engine/xine.c +++ b/src/xine-engine/xine.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: xine.c,v 1.224 2003/01/27 18:45:58 mroi Exp $ + * $Id: xine.c,v 1.225 2003/01/27 21:43:18 mroi Exp $ * * top-level xine functions * @@ -919,8 +919,10 @@ int xine_eject (xine_stream_t *stream) { pthread_mutex_lock (&stream->frontend_lock); status = 0; - if ((stream->status == XINE_STATUS_STOP) - && stream->eject_class && stream->eject_class->eject_media) { + /* only eject, if we are stopped OR a different input plugin is playing */ + if (stream->eject_class && stream->eject_class->eject_media && + ((stream->status == XINE_STATUS_STOP) || + stream->eject_class != stream->input_plugin->input_class)) { status = stream->eject_class->eject_media (stream->eject_class); } |