Remove TODOs, improve logging

pull/507/head
Mattia Iavarone 6 years ago
parent d3ceca4c51
commit 7e541fc5bf
  1. 5
      cameraview/src/main/java/com/otaliastudios/cameraview/video/encoding/AudioMediaEncoder.java
  2. 10
      cameraview/src/main/java/com/otaliastudios/cameraview/video/encoding/MediaEncoder.java
  3. 1
      demo/src/main/res/layout/activity_camera.xml

@ -28,7 +28,7 @@ public class AudioMediaEncoder extends MediaEncoder {
private static final String TAG = AudioMediaEncoder.class.getSimpleName(); private static final String TAG = AudioMediaEncoder.class.getSimpleName();
private static final CameraLogger LOG = CameraLogger.create(TAG); private static final CameraLogger LOG = CameraLogger.create(TAG);
private static final boolean PERFORMANCE_DEBUG = false; private static final boolean PERFORMANCE_DEBUG = true;
private static final boolean PERFORMANCE_FILL_GAPS = true; private static final boolean PERFORMANCE_FILL_GAPS = true;
private boolean mRequestStop = false; private boolean mRequestStop = false;
@ -67,7 +67,7 @@ public class AudioMediaEncoder extends MediaEncoder {
mConfig.channels); mConfig.channels);
audioFormat.setInteger(MediaFormat.KEY_AAC_PROFILE, MediaCodecInfo.CodecProfileLevel.AACObjectLC); audioFormat.setInteger(MediaFormat.KEY_AAC_PROFILE, MediaCodecInfo.CodecProfileLevel.AACObjectLC);
audioFormat.setInteger(MediaFormat.KEY_CHANNEL_MASK, mConfig.audioFormatChannels()); audioFormat.setInteger(MediaFormat.KEY_CHANNEL_MASK, mConfig.audioFormatChannels());
audioFormat.setInteger(MediaFormat.KEY_BIT_RATE, mConfig.bitRate); // TODO multiply by channels? audioFormat.setInteger(MediaFormat.KEY_BIT_RATE, mConfig.bitRate);
try { try {
mMediaCodec = MediaCodec.createEncoderByType(mConfig.mimeType); mMediaCodec = MediaCodec.createEncoderByType(mConfig.mimeType);
} catch (IOException e) { } catch (IOException e) {
@ -157,7 +157,6 @@ public class AudioMediaEncoder extends MediaEncoder {
@Override @Override
public void run() { public void run() {
mLastTimeUs = System.nanoTime() / 1000L;
mAudioRecord.startRecording(); mAudioRecord.startRecording();
while (!mRequestStop) { while (!mRequestStop) {
read(false); read(false);

@ -125,6 +125,8 @@ public abstract class MediaEncoder {
private long mStartTimeUs = Long.MIN_VALUE; // In unknown reference private long mStartTimeUs = Long.MIN_VALUE; // In unknown reference
private long mLastTimeUs = 0; private long mLastTimeUs = 0;
private long mDebugSetStateTimestamp = Long.MIN_VALUE;
/** /**
* Needs a readable name for the thread and for logging. * Needs a readable name for the thread and for logging.
* @param name a name * @param name a name
@ -135,6 +137,12 @@ public abstract class MediaEncoder {
} }
private void setState(int newState) { private void setState(int newState) {
if (mDebugSetStateTimestamp == Long.MIN_VALUE) {
mDebugSetStateTimestamp = System.currentTimeMillis();
}
long millis = System.currentTimeMillis() - mDebugSetStateTimestamp;
mDebugSetStateTimestamp = System.currentTimeMillis();
String newStateName = null; String newStateName = null;
switch (newState) { switch (newState) {
case STATE_NONE: newStateName = "NONE"; break; case STATE_NONE: newStateName = "NONE"; break;
@ -146,7 +154,7 @@ public abstract class MediaEncoder {
case STATE_STOPPING: newStateName = "STOPPING"; break; case STATE_STOPPING: newStateName = "STOPPING"; break;
case STATE_STOPPED: newStateName = "STOPPED"; break; case STATE_STOPPED: newStateName = "STOPPED"; break;
} }
LOG.w(mName, "setState:", newStateName); LOG.w(mName, "setState:", newStateName, "millisSinceLastState:", millis);
mState = newState; mState = newState;
} }

@ -23,6 +23,7 @@
app:cameraGrid="off" app:cameraGrid="off"
app:cameraFlash="off" app:cameraFlash="off"
app:cameraAudio="on" app:cameraAudio="on"
app:cameraFacing="front"
app:cameraGestureTap="autoFocus" app:cameraGestureTap="autoFocus"
app:cameraGestureLongTap="none" app:cameraGestureLongTap="none"
app:cameraGesturePinch="zoom" app:cameraGesturePinch="zoom"

Loading…
Cancel
Save