From 4c89b52ee4d56be37e471008cf6964207e3a712a Mon Sep 17 00:00:00 2001 From: pontscho Date: Mon, 25 Nov 2002 18:18:45 +0000 Subject: cache (buzeralas) git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8285 b3059339-0415-0410-9bf9-f77b7e298cf2 --- Gui/cfg.c | 7 ++++++- Gui/cfg.h | 3 +++ Gui/interface.c | 9 +++++++++ Gui/interface.h | 1 + Gui/mplayer/gtk/opts.c | 15 +++++++-------- 5 files changed, 26 insertions(+), 9 deletions(-) (limited to 'Gui') diff --git a/Gui/cfg.c b/Gui/cfg.c index 843734e6b5..55ff8565d3 100644 --- a/Gui/cfg.c +++ b/Gui/cfg.c @@ -39,6 +39,9 @@ float gtkAOExtraStereoMul = 1.0; char * gtkAOOSSMixer; char * gtkAOOSSDevice; +int gtkCacheOn = 0; +int gtkCacheSize = 2048; + #ifdef HAVE_DXR3 char * gtkDXR3Device; #endif @@ -107,7 +110,9 @@ static config_t gui_opts[] = { "font_autoscale",&subtitle_autoscale,CONF_TYPE_INT,CONF_RANGE,0,3,NULL }, #endif - { "cache",&stream_cache_size,CONF_TYPE_INT,CONF_RANGE,-1,65535,NULL }, + { "cache",>kCacheOn,CONF_TYPE_INT,CONF_RANGE,-1,65535,NULL }, + { "cache_size",>kCacheSize,CONF_TYPE_INT,CONF_RANGE,-1,65535,NULL }, + { "load_fullscreen",>kLoadFullscreen,CONF_TYPE_FLAG,0,0,1,NULL }, { "gui_skin",&skinName,CONF_TYPE_STRING,0,0,0,NULL }, diff --git a/Gui/cfg.h b/Gui/cfg.h index e6f1949325..02afcfdc50 100644 --- a/Gui/cfg.h +++ b/Gui/cfg.h @@ -17,6 +17,9 @@ extern char * gtkAOOSSMixer; extern char * gtkAOOSSDevice; extern char * gtkDXR3Device; +extern int gtkCacheOn; +extern int gtkCacheSize; + extern int gtkSubDumpMPSub; extern int gtkSubDumpSrt; diff --git a/Gui/interface.c b/Gui/interface.c index 166f70cc13..5bd3ec2ac3 100644 --- a/Gui/interface.c +++ b/Gui/interface.c @@ -77,6 +77,12 @@ char * gstrdup( char * str ) return strdup( str ); } +char * gstrchr( char * str,int c ) +{ + if ( !str ) return NULL; + return strchr( str,c ); +} + void gfree( void ** p ) { if ( *p == NULL ) return; @@ -541,6 +547,9 @@ int guiGetEvent( int type,char * arg ) if ( guiIntfStruct.StreamType == STREAMTYPE_STREAM ) btnSet( evSetMoviePosition,1 ); else btnSet( evSetMoviePosition,0 ); + + if ( gtkCacheOn ) stream_cache_size=gtkCacheSize; + else stream_cache_size=-1; // -- audio if ( audio_out ) diff --git a/Gui/interface.h b/Gui/interface.h index 81875f21af..5e1dd7829f 100644 --- a/Gui/interface.h +++ b/Gui/interface.h @@ -193,6 +193,7 @@ extern char * gstrdup( char * str ); extern int gstrcmp( char * a,char * b ); extern void gfree( void ** p ); extern void gaddlist( char *** list,char * entry ); +extern char * gstrchr( char * str,int c ); #define guiSetFilename( s,n ) { gfree( (void **)&s ); s=gstrdup( n ); } diff --git a/Gui/mplayer/gtk/opts.c b/Gui/mplayer/gtk/opts.c index 5dd87526f4..284eabcdfe 100644 --- a/Gui/mplayer/gtk/opts.c +++ b/Gui/mplayer/gtk/opts.c @@ -177,9 +177,10 @@ void ShowPreferences( void ) if ( audio_driver_list ) { char * name = gstrdup( audio_driver_list[0] ); - char * sep = strchr( audio_driver_list[0],':' ); + char * sep = gstrchr( audio_driver_list[0],':' ); if ( sep ) *sep=0; if ( !gstrcmp( name,(char *)info->short_name ) ) old_audio_driver=i - 1; + free( name ); } tmp[0]=(char *)info->short_name; tmp[1]=(char *)info->name; gtk_clist_append( GTK_CLIST( CLADrivers ),tmp ); } @@ -311,11 +312,9 @@ void ShowPreferences( void ) } gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBCache ),0 ); - if ( stream_cache_size > 0 ) - { - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBCache ),1 ); - gtk_adjustment_set_value( SBCacheadj,(float)stream_cache_size ); - } else gtk_widget_set_sensitive( SBCache,FALSE ); + gtk_adjustment_set_value( SBCacheadj,(float)gtkCacheSize ); + if ( !gtkCacheOn ) gtk_widget_set_sensitive( SBCache,FALSE ); + else gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBCache ),1 ); // -- disables #ifndef USE_SUB @@ -479,8 +478,8 @@ void prButton( GtkButton * button,gpointer user_data ) gtkLoadFullscreen=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBLoadFullscreen ) ); gtkSet( gtkSetAutoq,HSPPQualityadj->value,NULL ); - if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBCache ) ) ) stream_cache_size=(int)SBCacheadj->value; - else stream_cache_size=-1; + if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBCache ) ) ) { gtkCacheSize=(int)SBCacheadj->value; gtkCacheOn=1; } + else gtkCacheOn=0; { int i; -- cgit v1.2.3