Bug 804387 - Part 0: Handle the possible Java exception in AudioTrack.stop() while destroying an audio stream; r=snorp

--HG--
extra : rebase_source : f3695b94c3b8eee5b41cc80a7d67a4e0ce2f6b5d
This commit is contained in:
Ehsan Akhgari 2013-02-05 10:29:24 -05:00
Родитель 4fb5b1abb0
Коммит 45d44eafce
1 изменённых файлов: 8 добавлений и 0 удалений

Просмотреть файл

@ -269,6 +269,14 @@ sa_stream_destroy(sa_stream_t *s) {
}
if (s->output_unit) {
(*jenv)->CallVoidMethod(jenv, s->output_unit, at.stop);
jthrowable exception = (*jenv)->ExceptionOccurred(jenv);
if (exception) {
(*jenv)->ExceptionDescribe(jenv);
(*jenv)->ExceptionClear(jenv);
return SA_ERROR_INVALID;
}
(*jenv)->CallVoidMethod(jenv, s->output_unit, at.flush);
(*jenv)->CallVoidMethod(jenv, s->output_unit, at.release);
(*jenv)->DeleteGlobalRef(jenv, s->output_unit);