Mercurial > mplayer.hg
changeset 18286:e0470e00b3bd
simplified management of dvb channel switching
author | nicodvb |
---|---|
date | Tue, 25 Apr 2006 20:32:46 +0000 |
parents | 368eac8237ea |
children | 292337d09af2 |
files | mplayer.c |
diffstat | 1 files changed, 14 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/mplayer.c Tue Apr 25 20:28:48 2006 +0000 +++ b/mplayer.c Tue Apr 25 20:32:46 2006 +0000 @@ -118,6 +118,7 @@ #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 @@ 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(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 @@ 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 @@ 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!