summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--LoopbackApp/app/src/main/java/org/drrickorang/loopback/LoopbackApplication.java15
1 files changed, 12 insertions, 3 deletions
diff --git a/LoopbackApp/app/src/main/java/org/drrickorang/loopback/LoopbackApplication.java b/LoopbackApp/app/src/main/java/org/drrickorang/loopback/LoopbackApplication.java
index 0071f2d..9460a0c 100644
--- a/LoopbackApp/app/src/main/java/org/drrickorang/loopback/LoopbackApplication.java
+++ b/LoopbackApp/app/src/main/java/org/drrickorang/loopback/LoopbackApplication.java
@@ -160,9 +160,14 @@ public class LoopbackApplication extends Application {
if( mAudioThreadType == AUDIO_THREAD_TYPE_NATIVE) {
- AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
- String value = am.getProperty(AudioManager.PROPERTY_OUTPUT_FRAMES_PER_BUFFER);
- int minBufferSizeInFrames = Integer.parseInt(value);
+ int minBufferSizeInFrames;
+ if (isSafeToUseGetProperty()) {
+ AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
+ String value = am.getProperty(AudioManager.PROPERTY_OUTPUT_FRAMES_PER_BUFFER);
+ minBufferSizeInFrames = Integer.parseInt(value);
+ } else {
+ minBufferSizeInFrames = 1024;
+ }
int minBufferSizeInBytes = BYTES_PER_FRAME * minBufferSizeInFrames;
setPlayBufferSizeInBytes(minBufferSizeInBytes);
@@ -203,6 +208,10 @@ public class LoopbackApplication extends Application {
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD;
}
+ boolean isSafeToUseGetProperty() {
+ return Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1;
+ }
+
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);