diff options
-rw-r--r-- | src/xine-engine/load_plugins.c | 10 | ||||
-rw-r--r-- | src/xine-engine/xine.c | 9 |
2 files changed, 14 insertions, 5 deletions
diff --git a/src/xine-engine/load_plugins.c b/src/xine-engine/load_plugins.c index 0da9581c6..b9882fb95 100644 --- a/src/xine-engine/load_plugins.c +++ b/src/xine-engine/load_plugins.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: load_plugins.c,v 1.33 2001/07/24 18:04:22 guenter Exp $ + * $Id: load_plugins.c,v 1.34 2001/07/27 21:46:59 f1rmb Exp $ * * * Load input/demux/audio_out/video_out/codec plugins @@ -788,8 +788,10 @@ char **xine_get_autoplay_mrls (xine_t *this, char *plugin_id, int *num_mrls) { if(!strcasecmp((ip->get_identifier(ip)), plugin_id)) { if(((ip->get_capabilities(ip)) & INPUT_CAP_AUTOPLAY)) { - if(ip->get_autoplay_list) + if(ip->get_autoplay_list) { autoplay_mrls = ip->get_autoplay_list(ip, num_mrls); + this->cur_input_plugin = this->input_plugins[i]; + } } goto autoplay_mrls_done; @@ -821,8 +823,10 @@ mrl_t **xine_get_browse_mrls (xine_t *this, char *plugin_id, char *start_mrl, in if(!strcasecmp((ip->get_identifier(ip)), plugin_id)) { if(((ip->get_capabilities(ip)) & INPUT_CAP_GET_DIR)) { - if(ip->get_dir) + if(ip->get_dir) { browse_mrls = ip->get_dir(ip, start_mrl, num_mrls); + this->cur_input_plugin = this->input_plugins[i]; + } } goto browse_mrls_done; diff --git a/src/xine-engine/xine.c b/src/xine-engine/xine.c index 064f7754f..4659fb993 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.37 2001/07/26 11:12:26 f1rmb Exp $ + * $Id: xine.c,v 1.38 2001/07/27 21:46:59 f1rmb Exp $ * * top-level xine functions * @@ -93,7 +93,12 @@ void xine_stop (xine_t *this) { if(this->cur_input_plugin) { this->cur_input_plugin->close(this->cur_input_plugin); - this->cur_input_plugin = NULL; + /* + * If we set it to NULL, xine_eject() will not work after + * a xine_stop() call. + * + * this->cur_input_plugin = NULL; + */ } printf ("xine_stop: done\n"); |