summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/xine-engine/load_plugins.c10
-rw-r--r--src/xine-engine/xine.c9
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");