summaryrefslogtreecommitdiffstats
path: root/mplayer.c
diff options
context:
space:
mode:
authornicodvb <nicodvb@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-04-25 20:32:46 +0000
committernicodvb <nicodvb@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-04-25 20:32:46 +0000
commitef6264e56eb0fdbc2f6984a1dc1ef841821b6cd6 (patch)
tree8da0fcaa15c404a15d4eeaf6d4ef25a6b9093883 /mplayer.c
parenta9bcd4949fdc2bdea091d67d0647602006b282fc (diff)
downloadmpv-ef6264e56eb0fdbc2f6984a1dc1ef841821b6cd6.tar.bz2
mpv-ef6264e56eb0fdbc2f6984a1dc1ef841821b6cd6.tar.xz
simplified management of dvb channel switching
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18287 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'mplayer.c')
-rw-r--r--mplayer.c29
1 files changed, 14 insertions, 15 deletions
diff --git a/mplayer.c b/mplayer.c
index fca6d1766d..79dc6079f0 100644
--- a/mplayer.c
+++ b/mplayer.c
@@ -118,6 +118,7 @@ char * proc_priority=NULL;
#ifdef HAS_DVBIN_SUPPORT
#include "libmpdemux/dvbin.h"
static int last_dvb_step = 1;
+static int dvbin_reopen = 0;
extern void cache_uninit(stream_t *s);
#endif
@@ -3224,11 +3225,7 @@ if(!sh_video && !sh_audio){
dir = DVB_CHANNEL_LOWER;
if(dvb_step_channel(priv, dir))
- {
- uninit_player(INITED_ALL-(INITED_STREAM|INITED_INPUT));
- cache_uninit(stream);
- goto goto_enable_cache;
- }
+ eof = dvbin_reopen = 1;
}
}
#endif
@@ -4451,11 +4448,7 @@ if (stream->type==STREAMTYPE_DVDNAV && dvd_nav_still)
if(dvb_step_channel(priv, dir))
- {
- uninit_player(INITED_ALL-(INITED_STREAM|INITED_INPUT));
- cache_uninit(stream);
- goto goto_enable_cache;
- }
+ eof = dvbin_reopen = 1;
}
}
#endif /* HAS_DVBIN_SUPPORT */
@@ -4484,11 +4477,7 @@ if (stream->type==STREAMTYPE_DVDNAV && dvd_nav_still)
last_dvb_step = -1;
if(dvb_set_channel(priv, cmd->args[1].v.i, cmd->args[0].v.i))
- {
- uninit_player(INITED_ALL-(INITED_STREAM|INITED_INPUT));
- cache_uninit(stream);
- goto goto_enable_cache;
- }
+ eof = dvbin_reopen = 1;
}
}
}
@@ -5084,6 +5073,16 @@ if(vo_config_count && vo_spudec) {
mp_msg(MSGT_GLOBAL,MSGL_V,"EOF code: %d \n",eof);
+#ifdef HAS_DVBIN_SUPPORT
+if(dvbin_reopen)
+{
+ eof = 0;
+ uninit_player(INITED_ALL-(INITED_STREAM|INITED_INPUT));
+ cache_uninit(stream);
+ dvbin_reopen = 0;
+ goto goto_enable_cache;
+}
+#endif
}
goto_next_file: // don't jump here after ao/vo/getch initialization!