if( aout == NULL )
return NULL;
- libvlc_audio_output_device_t *list = NULL, **pp = &list;
+ libvlc_audio_output_device_t *list, **pp = &list;
char **values, **texts;
int n = aout_DevicesList( aout, &values, &texts );
+ vlc_object_release( aout );
if( n < 0 )
goto err;
free( texts );
free( values );
err:
+ *pp = NULL;
return list;
}
}
audio_output_t *aout = GetAOut( mp );
- if( aout != NULL )
+ if( aout == NULL )
return;
aout_DeviceSet( aout, devid );
vlc_object_release( aout );
}
+char *libvlc_audio_output_device_get( libvlc_media_player_t *mp )
+{
+ audio_output_t *aout = GetAOut( mp );
+ if( aout == NULL )
+ return NULL;
+
+ char *devid = aout_DeviceGet( aout );
+
+ vlc_object_release( aout );
+
+ return devid;
+}
+
int libvlc_audio_output_get_device_type( libvlc_media_player_t *mp )
{
(void) mp;
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 ];
}