package org.fmod; import android.media.AudioTrack; import android.util.Log; import java.nio.ByteBuffer; /* loaded from: classes2.dex */ public class FMODAudioDevice implements Runnable { private static int h = 0; private static int i = 1; private static int j = 2; private static int k = 3; private volatile Thread a = null; private volatile boolean b = false; private AudioTrack c = null; private boolean d = false; private ByteBuffer e = null; private byte[] f = null; private volatile a g; private native int fmodGetInfo(int i2); private native int fmodProcess(ByteBuffer byteBuffer); private void releaseAudioTrack() { AudioTrack audioTrack = this.c; if (audioTrack != null) { if (audioTrack.getState() == 1) { this.c.stop(); } this.c.release(); this.c = null; } this.e = null; this.f = null; this.d = false; } public synchronized void close() { stop(); } native int fmodProcessMicData(ByteBuffer byteBuffer, int i2); public boolean isRunning() { return this.a != null && this.a.isAlive(); } @Override // java.lang.Runnable public void run() { int i2 = 3; while (this.b) { if (!this.d && i2 > 0) { releaseAudioTrack(); int fmodGetInfo = fmodGetInfo(h); int round = Math.round(AudioTrack.getMinBufferSize(fmodGetInfo, 3, 2) * 1.1f) & (-4); int fmodGetInfo2 = fmodGetInfo(i); int fmodGetInfo3 = fmodGetInfo(j) * fmodGetInfo2 * 4; this.c = new AudioTrack(3, fmodGetInfo, 3, 2, fmodGetInfo3 > round ? fmodGetInfo3 : round, 1); this.d = this.c.getState() == 1; if (this.d) { this.e = ByteBuffer.allocateDirect(fmodGetInfo2 * 2 * 2); this.f = new byte[this.e.capacity()]; this.c.play(); i2 = 3; } else { Log.e("FMOD", "AudioTrack failed to initialize (status " + this.c.getState() + ")"); releaseAudioTrack(); i2 += -1; } } if (this.d) { if (fmodGetInfo(k) == 1) { fmodProcess(this.e); ByteBuffer byteBuffer = this.e; byteBuffer.get(this.f, 0, byteBuffer.capacity()); this.c.write(this.f, 0, this.e.capacity()); this.e.position(0); } else { releaseAudioTrack(); } } } releaseAudioTrack(); } public synchronized void start() { if (this.a != null) { stop(); } this.a = new Thread(this, "FMODAudioDevice"); this.a.setPriority(10); this.b = true; this.a.start(); if (this.g != null) { this.g.b(); } } public synchronized int startAudioRecord(int i2, int i3, int i4) { if (this.g == null) { this.g = new a(this, i2, i3); this.g.b(); } return this.g.a(); } public synchronized void stop() { while (this.a != null) { this.b = false; try { this.a.join(); this.a = null; } catch (InterruptedException unused) { } } if (this.g != null) { this.g.c(); } } public synchronized void stopAudioRecord() { if (this.g != null) { this.g.c(); this.g = null; } } }