changeset 8484:9ea5f18a7957

- fix (?) "mixer bug" - fix audio_id/video_id changing - fix some other bug
author pontscho
date Mon, 16 Dec 2002 22:25:17 +0000
parents 386d1e4948f3
children 4e32317f08be
files Gui/interface.c Gui/mplayer/gtk/opts.c Gui/mplayer/mw.c Gui/mplayer/play.c
diffstat 4 files changed, 10 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/Gui/interface.c	Mon Dec 16 21:44:38 2002 +0000
+++ b/Gui/interface.c	Mon Dec 16 22:25:17 2002 +0000
@@ -691,7 +691,7 @@
 	  gset( &ao_plugin_cfg.plugin_list,"extrastereo" );
 	  ao_plugin_cfg.pl_extrastereo_mul=gtkAOExtraStereoMul;
 	 }
-	mixer_device=gtkAOOSSMixer;
+	mixer_device=gstrdup( gtkAOOSSMixer );
 	if ( audio_driver_list && !gstrncmp( audio_driver_list[0],"oss",3 ) && gtkAOOSSDevice )
 	 {
 	  char * tmp = calloc( 1,strlen( gtkAOOSSDevice ) + 7 );
@@ -713,13 +713,11 @@
 
 // --- misc		    
 	if ( gtkCacheOn ) stream_cache_size=gtkCacheSize;
-	 else stream_cache_size=-1;
+	if ( gtkAutoSyncOn ) autosync=gtkAutoSync;
 
-	if ( gtkAutoSyncOn ) autosync=gtkAutoSync;
-	 else autosync=0;
-
-        if ( guiIntfStruct.AudioFile ) audio_stream=guiIntfStruct.AudioFile;
-	  else if ( guiIntfStruct.FilenameChanged ) audio_stream=NULL;
+        if ( guiIntfStruct.AudioFile ) audio_stream=gstrdup( guiIntfStruct.AudioFile );
+	  else if ( guiIntfStruct.FilenameChanged ) gfree( (void**)&audio_stream );
+	  //audio_stream=NULL;
 	
         guiIntfStruct.DiskChanged=0;
         guiIntfStruct.FilenameChanged=0;
--- a/Gui/mplayer/gtk/opts.c	Mon Dec 16 21:44:38 2002 +0000
+++ b/Gui/mplayer/gtk/opts.c	Mon Dec 16 22:25:17 2002 +0000
@@ -175,6 +175,7 @@
   int    i = 0;
   char * tmp[3]; tmp[2]="";
   old_audio_driver=-1;
+  if ( CLADrivers ) gtk_clist_clear( GTK_CLIST( CLADrivers ) );
   while ( audio_out_drivers[i] )
    {
     const ao_info_t *info = audio_out_drivers[i++]->info;
@@ -220,6 +221,7 @@
   int i = 0, c = 0;
   char * tmp[3]; tmp[2]="";
   old_video_driver=0; 
+  if ( CLVDrivers ) gtk_clist_clear( GTK_CLIST( CLVDrivers ) );
   while ( video_out_drivers[i] )
    if ( video_out_drivers[i++]->control( VOCTRL_GUISUPPORT,NULL ) == VO_TRUE )
     { 
--- a/Gui/mplayer/mw.c	Mon Dec 16 21:44:38 2002 +0000
+++ b/Gui/mplayer/mw.c	Mon Dec 16 22:25:17 2002 +0000
@@ -273,14 +273,12 @@
    case evSetAudio:
         if ( !guiIntfStruct.demuxer || audio_id == iparam ) break;
 	audio_id=iparam;
-	guiIntfStruct.NewPlay=1;
-	break;
+	goto play;
 
    case evSetVideo:
         if ( !guiIntfStruct.demuxer || video_id == iparam ) break;
 	video_id=iparam;
-	guiIntfStruct.NewPlay=1;
-	break;
+	goto play;
 
 #ifdef HAVE_VCD
    case evSetVCDTrack:
--- a/Gui/mplayer/play.c	Mon Dec 16 21:44:38 2002 +0000
+++ b/Gui/mplayer/play.c	Mon Dec 16 22:25:17 2002 +0000
@@ -106,7 +106,7 @@
   } 
   else
     {
-     if ( guiIntfStruct.FilenameChanged ) return;
+     if ( guiIntfStruct.FilenameChanged || guiIntfStruct.NewPlay ) return;
 
      guiIntfStruct.TimeSec=0;
      guiIntfStruct.Position=0;