# HG changeset patch # User pontscho # Date 1040077517 0 # Node ID 9ea5f18a79572774723c2e24cd121307d7612a1d # Parent 386d1e4948f3cfb3dac91ae515fa4ce953bf34cc - fix (?) "mixer bug" - fix audio_id/video_id changing - fix some other bug diff -r 386d1e4948f3 -r 9ea5f18a7957 Gui/interface.c --- 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; diff -r 386d1e4948f3 -r 9ea5f18a7957 Gui/mplayer/gtk/opts.c --- 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 ) { diff -r 386d1e4948f3 -r 9ea5f18a7957 Gui/mplayer/mw.c --- 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: diff -r 386d1e4948f3 -r 9ea5f18a7957 Gui/mplayer/play.c --- 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;