summaryrefslogtreecommitdiffstats
path: root/mplayer.c
diff options
context:
space:
mode:
authorarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-03-16 20:13:28 +0000
committerarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-03-16 20:13:28 +0000
commit5c49cd8e07ca0f676f759bfb8e1e4a94636e2af6 (patch)
treed8d453ffd3502d82418494650e44a6dae9ff5359 /mplayer.c
parent79102684ed09aef64829bb0ef67469dfccf5afe3 (diff)
downloadmpv-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.c38
1 files changed, 35 insertions, 3 deletions
diff --git a/mplayer.c b/mplayer.c
index 8d5210ed0b..741536de50 100644
--- a/mplayer.c
+++ b/mplayer.c
@@ -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;