From: Rafaël Carré Date: Mon, 24 Jun 2013 03:10:48 +0000 (+0200) Subject: opensles: resample if original sampling rate is not accepted X-Git-Tag: 2.1.0-git~26 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=c599784400b1bae5294f42741dea3b002ce5ae5b;p=vlc opensles: resample if original sampling rate is not accepted Close: #8638 --- diff --git a/modules/audio_output/opensles_android.c b/modules/audio_output/opensles_android.c index 0f509e6c08..9c80495dfd 100644 --- a/modules/audio_output/opensles_android.c +++ b/modules/audio_output/opensles_android.c @@ -388,6 +388,14 @@ static int Start(audio_output_t *aout, audio_sample_format_t *restrict fmt) result = CreateAudioPlayer(sys->engineEngine, &sys->playerObject, &audioSrc, &audioSnk, sizeof(ids2) / sizeof(*ids2), ids2, req2); + if (unlikely(result != SL_RESULT_SUCCESS)) { + /* Try again with a more sensible samplerate */ + fmt->i_rate = 44100; + format_pcm.samplesPerSec = ((SLuint32) 44100 * 1000) ; + result = CreateAudioPlayer(sys->engineEngine, &sys->playerObject, &audioSrc, + &audioSnk, sizeof(ids2) / sizeof(*ids2), + ids2, req2); + } CHECK_OPENSL_ERROR("Failed to create audio player"); result = Realize(sys->playerObject, SL_BOOLEAN_FALSE);