Add proper catch for ISE in video thumb extractor.

fork-5.53.8
Alex Hart 2022-06-21 09:34:44 -03:00 zatwierdzone przez Cody Henthorne
rodzic 6ec7834046
commit 28feba6a6c
2 zmienionych plików z 12 dodań i 1 usunięć

Wyświetl plik

@ -161,7 +161,14 @@ final class VideoThumbnailsExtractor {
} }
} }
int outputBufIndex = decoder.dequeueOutputBuffer(info, TIMEOUT_USEC); final int outputBufIndex;
try {
outputBufIndex = decoder.dequeueOutputBuffer(info, TIMEOUT_USEC);
} catch (IllegalStateException e) {
Log.w(TAG, "Decoder not in the Executing state, or codec is configured in asynchronous mode.", e);
throw new TranscodingException("Decoder not in the Executing state, or codec is configured in asynchronous mode.", e);
}
if (outputBufIndex >= 0) { if (outputBufIndex >= 0) {
if ((info.flags & MediaCodec.BUFFER_FLAG_END_OF_STREAM) != 0) { if ((info.flags & MediaCodec.BUFFER_FLAG_END_OF_STREAM) != 0) {
outputDone = true; outputDone = true;

Wyświetl plik

@ -9,4 +9,8 @@ final class TranscodingException extends Exception {
TranscodingException(Throwable inner) { TranscodingException(Throwable inner) {
super(inner); super(inner);
} }
TranscodingException(String message, Throwable inner) {
super(message, inner);
}
} }