diff options
author | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2003-03-16 20:13:28 +0000 |
---|---|---|
committer | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2003-03-16 20:13:28 +0000 |
commit | 5c49cd8e07ca0f676f759bfb8e1e4a94636e2af6 (patch) | |
tree | d8d453ffd3502d82418494650e44a6dae9ff5359 /mplayer.c | |
parent | 79102684ed09aef64829bb0ef67469dfccf5afe3 (diff) | |
download | mpv-5c49cd8e07ca0f676f759bfb8e1e4a94636e2af6.tar.bz2 mpv-5c49cd8e07ca0f676f759bfb8e1e4a94636e2af6.tar.xz |
this is a combo patch that:
1) adds an experimental TS demuxer to mplayer
2) adds an input (streaming) interface from DVB cards.
It compiles and runs with the following versions of the drivers:
dvb-kernel (HEAD) (with stock kernel 2.4.20) and 0.9.4 (with kernel 2.4.18)
patch by Nico <nsabbi@libero.it>
some cleanups, ts demuxer fixes by me
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9611 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'mplayer.c')
-rw-r--r-- | mplayer.c | 38 |
1 files changed, 35 insertions, 3 deletions
@@ -92,6 +92,13 @@ static int quiet=0; extern int tv_param_on; #endif +#ifdef HAS_DVBIN_SUPPORT +#include "libmpdemux/dvbin.h" +extern dvb_history_t dvb_prev_next; +dvb_history_t *dvb_history; +#endif + + //**************************************************************************// // Playtree //**************************************************************************// @@ -661,6 +668,13 @@ int i; int gui_no_filename=0; +#ifdef HAS_DVBIN_SUPPORT + dvb_prev_next.prev = dvb_prev_next.next = -1; + dvb_history = &dvb_prev_next; +#endif + + + srand((int) time(NULL)); mp_msg_init(); @@ -928,7 +942,7 @@ if(!parse_codec_cfg(get_path("codecs.conf"))){ } #endif - if(!filename && !vcd_track && !dvd_title && !dvd_nav && !tv_param_on){ + if(!filename && !vcd_track && !dvd_title && !dvd_nav && !tv_param_on && !dvbin_param_on){ if(!use_gui){ // no file/vcd/dvd -> show HELP: mp_msg(MSGT_CPLAYER, MSGL_INFO, help_text); @@ -2641,7 +2655,21 @@ if (stream->type==STREAMTYPE_DVDNAV && dvd_nav_still) #endif } } - } break; + } +#ifdef HAS_DVBIN_SUPPORT + if(dvbin_param_on == 1) + { + int v = cmd->args[0].v.i; + if(v > 0) + dvb_history = dvb_step_channel((dvb_priv_t*)(demuxer->stream->priv), DVB_CHANNEL_HIGHER, dvb_history); + else + dvb_history = dvb_step_channel((dvb_priv_t*)(demuxer->stream->priv), DVB_CHANNEL_LOWER, dvb_history); + uninit_player(INITED_ALL); + goto goto_next_file; + } +#endif + + break; case MP_CMD_TV_SET_CHANNEL : { if (tv_param_on == 1) { tv_set_channel((tvi_handle_t*)(demuxer->priv), cmd->args[0].v.s); @@ -3363,7 +3391,11 @@ while(playtree_iter != NULL) { } #endif -if(use_gui || playtree_iter != NULL){ +if(use_gui || playtree_iter != NULL +#ifdef HAS_DVBIN_SUPPORT + || dvbin_param_on +#endif + ){ eof = 0; goto play_next_file; |