diff --git a/cameraview/src/androidTest/java/com/otaliastudios/cameraview/CameraViewTest.java b/cameraview/src/androidTest/java/com/otaliastudios/cameraview/CameraViewTest.java
index 3eb59e9b..4ee81244 100644
--- a/cameraview/src/androidTest/java/com/otaliastudios/cameraview/CameraViewTest.java
+++ b/cameraview/src/androidTest/java/com/otaliastudios/cameraview/CameraViewTest.java
@@ -779,18 +779,12 @@ public class CameraViewTest extends BaseTest {
public void testAudioCodec() {
cameraView.set(AudioCodec.DEVICE_DEFAULT);
assertEquals(cameraView.get(AudioCodec.class), AudioCodec.DEVICE_DEFAULT);
- cameraView.set(AudioCodec.AMR_NB);
- assertEquals(cameraView.get(AudioCodec.class), AudioCodec.AMR_NB);
- cameraView.set(AudioCodec.AMR_WB);
- assertEquals(cameraView.get(AudioCodec.class), AudioCodec.AMR_WB);
cameraView.set(AudioCodec.AAC);
assertEquals(cameraView.get(AudioCodec.class), AudioCodec.AAC);
cameraView.set(AudioCodec.HE_AAC);
assertEquals(cameraView.get(AudioCodec.class), AudioCodec.HE_AAC);
cameraView.set(AudioCodec.AAC_ELD);
assertEquals(cameraView.get(AudioCodec.class), AudioCodec.AAC_ELD);
- cameraView.set(AudioCodec.VORBIS);
- assertEquals(cameraView.get(AudioCodec.class), AudioCodec.VORBIS);
}
diff --git a/cameraview/src/main/java/com/otaliastudios/cameraview/CameraView.java b/cameraview/src/main/java/com/otaliastudios/cameraview/CameraView.java
index 83b43f23..89eb0016 100644
--- a/cameraview/src/main/java/com/otaliastudios/cameraview/CameraView.java
+++ b/cameraview/src/main/java/com/otaliastudios/cameraview/CameraView.java
@@ -1655,12 +1655,9 @@ public class CameraView extends FrameLayout implements LifecycleObserver {
* Defaults to {@link AudioCodec#DEVICE_DEFAULT}.
*
* @see AudioCodec#DEVICE_DEFAULT
- * @see AudioCodec#AMR_NB
- * @see AudioCodec#AMR_WB
* @see AudioCodec#AAC
* @see AudioCodec#HE_AAC
* @see AudioCodec#AAC_ELD
- * @see AudioCodec#VORBIS
*
* @param codec requested audio codec
*/
diff --git a/cameraview/src/main/java/com/otaliastudios/cameraview/controls/AudioCodec.java b/cameraview/src/main/java/com/otaliastudios/cameraview/controls/AudioCodec.java
index 8d85c4a3..b7d56114 100644
--- a/cameraview/src/main/java/com/otaliastudios/cameraview/controls/AudioCodec.java
+++ b/cameraview/src/main/java/com/otaliastudios/cameraview/controls/AudioCodec.java
@@ -21,38 +21,22 @@ public enum AudioCodec implements Control {
*/
DEVICE_DEFAULT(0),
- /**
- * The AMR_NB codec.
- */
- AMR_NB(1),
-
- /**
- * The AMR_WB codec.
- */
- AMR_WB(2),
-
/**
* The AAC codec.
*/
- AAC(3),
+ AAC(1),
/**
* The HE_AAC codec.
*/
@RequiresApi(Build.VERSION_CODES.JELLY_BEAN)
- HE_AAC(4),
+ HE_AAC(2),
/**
* The AAC_ELD codec.
*/
@RequiresApi(Build.VERSION_CODES.JELLY_BEAN)
- AAC_ELD(5),
-
- /**
- * The VORBIS codec.
- */
- @RequiresApi(Build.VERSION_CODES.LOLLIPOP)
- VORBIS(6);
+ AAC_ELD(3);
static final AudioCodec DEFAULT = DEVICE_DEFAULT;
diff --git a/cameraview/src/main/java/com/otaliastudios/cameraview/video/FullVideoRecorder.java b/cameraview/src/main/java/com/otaliastudios/cameraview/video/FullVideoRecorder.java
index a5d87713..1bcca128 100644
--- a/cameraview/src/main/java/com/otaliastudios/cameraview/video/FullVideoRecorder.java
+++ b/cameraview/src/main/java/com/otaliastudios/cameraview/video/FullVideoRecorder.java
@@ -109,11 +109,7 @@ public abstract class FullVideoRecorder extends VideoRecorder {
mProfile.fileFormat = MediaRecorder.OutputFormat.MPEG_4; // should work
}
// Set audio codec if the user has specified a specific codec.
- if (stub.audioCodec == AudioCodec.AMR_NB) {
- mProfile.audioCodec = MediaRecorder.AudioEncoder.AMR_NB;
- } else if (stub.audioCodec == AudioCodec.AMR_WB) {
- mProfile.audioCodec = MediaRecorder.AudioEncoder.AMR_WB;
- } else if (stub.audioCodec == AudioCodec.AAC) {
+ if (stub.audioCodec == AudioCodec.AAC) {
mProfile.audioCodec = MediaRecorder.AudioEncoder.AAC;
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN
&& stub.audioCodec == AudioCodec.HE_AAC) {
@@ -121,9 +117,6 @@ public abstract class FullVideoRecorder extends VideoRecorder {
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN
&& stub.audioCodec == AudioCodec.AAC_ELD) {
mProfile.audioCodec = MediaRecorder.AudioEncoder.AAC_ELD;
- } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP
- && stub.audioCodec == AudioCodec.VORBIS) {
- mProfile.audioCodec = MediaRecorder.AudioEncoder.VORBIS;
}
mMediaRecorder.setOutputFormat(mProfile.fileFormat);
diff --git a/cameraview/src/main/java/com/otaliastudios/cameraview/video/SnapshotVideoRecorder.java b/cameraview/src/main/java/com/otaliastudios/cameraview/video/SnapshotVideoRecorder.java
index 1bf2478e..fa0e2bc1 100644
--- a/cameraview/src/main/java/com/otaliastudios/cameraview/video/SnapshotVideoRecorder.java
+++ b/cameraview/src/main/java/com/otaliastudios/cameraview/video/SnapshotVideoRecorder.java
@@ -144,18 +144,13 @@ public class SnapshotVideoRecorder extends VideoRecorder implements RendererFram
case DEVICE_DEFAULT: videoType = "video/avc"; break;
}
String audioType = "";
- if (mResult.audioCodec == AudioCodec.AMR_NB) {
- audioType = "audio/3gpp";
- } else if (mResult.audioCodec == AudioCodec.AMR_WB) {
- audioType = "audio/amr-wb";
- } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP
- && mResult.audioCodec == AudioCodec.VORBIS) {
- audioType = "audio/vorbis";
- } else if (mResult.audioCodec == AudioCodec.AAC
- || mResult.audioCodec == AudioCodec.HE_AAC
- || mResult.audioCodec == AudioCodec.AAC_ELD
- || mResult.audioCodec == AudioCodec.DEVICE_DEFAULT) {
- audioType = "audio/mp4a-latm";
+ switch (mResult.audioCodec) {
+ case AAC:
+ case HE_AAC:
+ case AAC_ELD:
+ audioType = "audio/mp4a-latm"; break;
+ case DEVICE_DEFAULT:
+ audioType = "audio/3gpp";
}
TextureConfig videoConfig = new TextureConfig();
AudioConfig audioConfig = new AudioConfig();
diff --git a/cameraview/src/main/res/values/attrs.xml b/cameraview/src/main/res/values/attrs.xml
index d61525ae..fb6bc1b7 100644
--- a/cameraview/src/main/res/values/attrs.xml
+++ b/cameraview/src/main/res/values/attrs.xml
@@ -143,12 +143,9 @@
-
-
-
-
-
-
+
+
+
diff --git a/docs/_docs/controls.md b/docs/_docs/controls.md
index eada8efb..2310648c 100644
--- a/docs/_docs/controls.md
+++ b/docs/_docs/controls.md
@@ -76,7 +76,6 @@ Sets the audio encoder for video recordings. Defaults to `DEVICE_DEFAULT`,
which should typically be AAC.
The available values are exposed through the `CameraOptions` object.
-`AudioCodec.VORBIS` is optionally supported on devices running Lolipop and above.
`AudioCodec.HE_AAC` and `AudioCodec.AAC_ELD` require at least JellyBean.
The library will safely fall back to device default if the min API requirements
@@ -84,12 +83,9 @@ are not met.
```java
cameraView.setAudioCodec(AudioCodec.DEVICE_DEFAULT);
-cameraView.setAudioCodec(AudioCodec.AMR_NB);
-cameraView.setAudioCodec(AudioCodec.AMR_WB);
cameraView.setAudioCodec(AudioCodec.AAC);
cameraView.setAudioCodec(AudioCodec.HE_AAC);
cameraView.setAudioCodec(AudioCodec.AAC_ELD);
-cameraView.setAudioCodec(AudioCodec.VORBIS);
```
##### cameraWhiteBalance