From 0ac234e7bfb40da2edc52753343c09df41bc6fd3 Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Mon, 2 Aug 2021 17:01:01 -0300 Subject: [PATCH] Wrap calls in separate checks for ISE so we do as many as possible. --- .../securesms/audio/AudioCodec.java | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/audio/AudioCodec.java b/app/src/main/java/org/thoughtcrime/securesms/audio/AudioCodec.java index 28d3211d2e..996dc43b70 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/audio/AudioCodec.java +++ b/app/src/main/java/org/thoughtcrime/securesms/audio/AudioCodec.java @@ -32,6 +32,7 @@ public class AudioCodec { private final AudioRecord audioRecord; private boolean running = true; + private boolean failed = false; private boolean finished = false; public AudioCodec() throws IOException { @@ -76,10 +77,25 @@ public class AudioCodec { } catch (IOException e) { Log.w(TAG, e); } finally { - mediaCodec.stop(); - audioRecord.stop(); - mediaCodec.release(); + try { + mediaCodec.stop(); + } catch (IllegalStateException ise) { + Log.w(TAG, "mediaCodec stop failed.", ise); + } + + try { + audioRecord.stop(); + } catch (IllegalStateException ise) { + Log.w(TAG, "audioRecord stop failed.", ise); + } + + try { + mediaCodec.release(); + } catch (IllegalStateException ise) { + Log.w(TAG, "mediaCodec release failed. Probably already released.", ise); + } + audioRecord.release(); StreamUtil.close(outputStream);