[Mplayer-cvslog] CVS: main cfg-common.h,1.103,1.104 mplayer.c,1.711,1.712

Arpi of Ize arpi at mplayerhq.hu
Mon Aug 11 02:02:49 CEST 2003


Update of /cvsroot/mplayer/main
In directory mail:/var/tmp.root/cvs-serv4754

Modified Files:
	cfg-common.h mplayer.c 
Log Message:
this patch fixes
1)  some bugs introduced in the tuner autodetection and in the channel-parsing functions,
3) retries reading when the mplayer/mencoder don't read fast enough (sooner it exited)
but especially
4) makes the stream compliant with the new, modular stream api (the one
currently in CVS is not and is totally unreachable).
[and maybe more, next time please include cvslog in patch! -- A'rpi]
patch by Nico <nsabbi at libero.it>


Index: cfg-common.h
===================================================================
RCS file: /cvsroot/mplayer/main/cfg-common.h,v
retrieving revision 1.103
retrieving revision 1.104
diff -u -r1.103 -r1.104
--- cfg-common.h	7 Aug 2003 12:39:31 -0000	1.103
+++ cfg-common.h	11 Aug 2003 00:02:21 -0000	1.104
@@ -109,7 +109,7 @@
 #endif
 	{"vivo", vivoopts_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL},
 #ifdef HAS_DVBIN_SUPPORT
-	        {"dvbin", dvbin_opts_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL},
+	{"dvbin", dvbin_opts_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL},
 #endif
 
 
@@ -328,7 +328,7 @@
 
 #ifdef HAS_DVBIN_SUPPORT
 #include "libmpdemux/dvbin.h"
-extern struct config dvbin_opts_conf[];
+extern m_config_t dvbin_opts_conf[];
 #endif
 
 extern int audio_stream_cache;

Index: mplayer.c
===================================================================
RCS file: /cvsroot/mplayer/main/mplayer.c,v
retrieving revision 1.711
retrieving revision 1.712
diff -u -r1.711 -r1.712
--- mplayer.c	10 Aug 2003 17:58:22 -0000	1.711
+++ mplayer.c	11 Aug 2003 00:02:21 -0000	1.712
@@ -100,8 +100,6 @@
 
 #ifdef HAS_DVBIN_SUPPORT
 #include "libmpdemux/dvbin.h"
-extern dvb_history_t dvb_prev_next;
-dvb_history_t *dvb_history;
 #endif
 
 
@@ -744,12 +742,6 @@
 
 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)); 
 
@@ -1337,7 +1329,7 @@
 }
 
 //============ Open DEMUXERS --- DETECT file type =======================
-
+goto_open_demuxer:
 current_module="demux_open";
 
 demuxer=demux_open(stream,file_format,audio_id,video_id,dvdsub_id,filename);
@@ -2808,18 +2800,29 @@
       }
     } 
 #ifdef HAS_DVBIN_SUPPORT
-	if(dvbin_param_on == 1)
+	if((stream->type == STREAMTYPE_DVB) && stream->priv)
 	{
+	  dvb_priv_t *priv = (dvb_priv_t*) stream->priv;
+	  if(priv->is_on)
+	  {
+		int dir;
 		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);
+			dir = DVB_CHANNEL_HIGHER;
 		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;
+			dir = DVB_CHANNEL_LOWER;
+			
+			
+		if(dvb_step_channel(priv, dir))
+		{
+	  		uninit_player(INITED_ALL-(INITED_STREAM));
+			printf("UNINIT COMPLETE\n");
+			goto goto_open_demuxer;
+		}
+	  }
 	}
-#endif
-
+#endif	
     break;
     case MP_CMD_TV_SET_CHANNEL :  {
       if (file_format == DEMUXER_TYPE_TV) {
@@ -2832,6 +2835,23 @@
 #endif
       }
     } break;
+#ifdef HAS_DVBIN_SUPPORT	
+  case MP_CMD_DVB_SET_CHANNEL:  
+  {
+	if((stream->type == STREAMTYPE_DVB) && stream->priv)
+	{
+	  dvb_priv_t *priv = (dvb_priv_t*) stream->priv;
+	  if(priv->is_on)
+	  {
+  		if(dvb_set_channel(priv, cmd->args[0].v.i))
+		{
+	  	  uninit_player(INITED_ALL-(INITED_STREAM));
+		  goto goto_open_demuxer;
+		}
+	  }
+	}
+  }
+#endif	
     case MP_CMD_TV_LAST_CHANNEL :  {
       if (file_format == DEMUXER_TYPE_TV) {
 	tv_last_channel((tvi_handle_t*)(demuxer->priv));
@@ -3574,11 +3594,7 @@
   }	
 #endif
 
-if(use_gui || playtree_iter != NULL
-#ifdef HAS_DVBIN_SUPPORT
-		    || dvbin_param_on
-#endif
-	){
+if(use_gui || playtree_iter != NULL){
 
   eof = 0;
   goto play_next_file;



More information about the MPlayer-cvslog mailing list