-
-int libvlc_media_player_set_equalizer( libvlc_media_player_t *p_mi, libvlc_equalizer_t *p_equalizer )
-{
- if ( !p_equalizer )
- {
- aout_EnableFilter( p_mi, "equalizer", false );
- var_SetString( p_mi, "equalizer-bands", NULL );
- return 0;
- }
-
- var_SetFloat( p_mi, "equalizer-preamp", p_equalizer->f_preamp );
-
- char *psz_bands = NULL;
- for ( int i = 0; i < EQZ_BANDS_MAX; i++ )
- {
- char *psz;
- if ( asprintf( &psz, "%s %.07f", psz_bands ? psz_bands : "", p_equalizer->f_amp[i] ) == -1 )
- {
- free( psz_bands );
- return -1;
- }
- free( psz_bands );
- psz_bands = psz;
- }
- var_SetString( p_mi, "equalizer-bands", psz_bands );
- free( psz_bands );
-
- aout_EnableFilter( p_mi, "equalizer", true );
- return 0;
-}