Commit e77f9d4e authored by Pierre Ynard's avatar Pierre Ynard

lua: fix equalizer setting code

(cherry picked from commit 71276f2b20747c9343b0741e117d3b480811df00)
Signed-off-by: default avatarPierre Ynard <linkfanel@yahoo.fr>
parent 0fe515a3
...@@ -209,7 +209,6 @@ static int vlclua_equalizer_set( lua_State *L ) ...@@ -209,7 +209,6 @@ static int vlclua_equalizer_set( lua_State *L )
if( !p_input ) if( !p_input )
return 0; return 0;
int i_pos = 0 , j = 0;
audio_output_t *p_aout = input_GetAout( p_input ); audio_output_t *p_aout = input_GetAout( p_input );
vlc_object_release( p_input ); vlc_object_release( p_input );
if( !p_aout ) if( !p_aout )
...@@ -226,26 +225,36 @@ static int vlclua_equalizer_set( lua_State *L ) ...@@ -226,26 +225,36 @@ static int vlclua_equalizer_set( lua_State *L )
float level = luaL_checknumber( L, 2 ); float level = luaL_checknumber( L, 2 );
char *bands = var_GetString( p_aout, "equalizer-bands" ); char *bands = var_GetString( p_aout, "equalizer-bands" );
char newstr[7];
while( j != bandid ) locale_t loc = newlocale (LC_NUMERIC_MASK, "C", NULL);
{ locale_t oldloc = uselocale (loc);
i_pos++; char *b = bands;
if( bands[i_pos] == '.' ) while( bandid > 0 )
{ {
i_pos++; float dummy = strtof( b, &b );
j++; (void)dummy;
bandid--;
} }
if( *b != '\0' )
*b++ = '\0';
float dummy = strtof( b, &b );
(void)dummy;
char *newstr;
if( asprintf( &newstr, "%s %.1f%s", bands, level, b ) != -1 )
{
var_SetString( p_aout, "equalizer-bands", newstr );
free( newstr );
} }
if( bandid != 0 )
i_pos++;
snprintf( newstr, sizeof ( newstr ) , "%6.1f", level);
for( int i = 0 ; i < 6 ; i++ )
bands[i_pos+i] = newstr[i];
var_SetString( p_aout, "equalizer-bands", bands );
if( loc != (locale_t)0 )
{
uselocale (oldloc);
freelocale (loc);
}
free( bands ); free( bands );
vlc_object_release( p_aout ); vlc_object_release( p_aout );
return 1; return 0;
} }
/***************************************************************************** /*****************************************************************************
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment