char **values, **texts;
int n = aout_DevicesList( aout, &values, &texts );
+ vlc_object_release( aout );
if( n < 0 )
goto err;
}
audio_output_t *aout = GetAOut( mp );
- if( aout != NULL )
+ if( aout == NULL )
return;
aout_DeviceSet( aout, devid );
int libvlc_audio_set_volume( libvlc_media_player_t *mp, int volume )
{
float vol = volume / 100.f;
- if (vol < 0.f)
+ if (!isgreaterequal(vol, 0.f))
{
libvlc_printerr( "Volume out of range" );
return -1;
*****************************************************************************/
int libvlc_audio_equalizer_set_preamp( libvlc_equalizer_t *p_equalizer, float f_preamp )
{
- if ( f_preamp < -20.0f )
- f_preamp = -20.0f;
- else if ( f_preamp > 20.0f )
- f_preamp = 20.0f;
+ if( isnan(f_preamp) )
+ return -1;
+ if( f_preamp < -20.f )
+ f_preamp = -20.f;
+ else if( f_preamp > 20.f )
+ f_preamp = 20.f;
p_equalizer->f_preamp = f_preamp;
return 0;
*****************************************************************************/
int libvlc_audio_equalizer_set_amp_at_index( libvlc_equalizer_t *p_equalizer, float f_amp, unsigned u_band )
{
- if ( u_band >= EQZ_BANDS_MAX )
+ if( u_band >= EQZ_BANDS_MAX || isnan(f_amp) )
return -1;
- if ( f_amp < -20.0f )
- f_amp = -20.0f;
- else if ( f_amp > 20.0f )
- f_amp = 20.0f;
+
+ if( f_amp < -20.f )
+ f_amp = -20.f;
+ else if( f_amp > 20.f )
+ f_amp = 20.f;
p_equalizer->f_amp[ u_band ] = f_amp;
return 0;
float libvlc_audio_equalizer_get_amp_at_index( libvlc_equalizer_t *p_equalizer, unsigned u_band )
{
if ( u_band >= EQZ_BANDS_MAX )
- return 0.f;
+ return nanf("");
return p_equalizer->f_amp[ u_band ];
}