Loading media/libmediaplayerservice/StagefrightRecorder.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -1164,7 +1164,7 @@ status_t StagefrightRecorder::setupVideoEncoder( // set appropriate level for the software AVCEncoder. if ((width * height >= 921600) // 720p || (videoBitRate >= 20000000)) { enc_meta->setInt32(kKeyVideoLevel, 50); enc_meta->setInt32(kKeyVideoLevel, OMX_VIDEO_AVCLevel5); } } Loading media/libstagefright/CameraSource.cpp +6 −1 Original line number Diff line number Diff line Loading @@ -592,6 +592,11 @@ status_t CameraSource::stop() { mLastFrameTimestampUs - mFirstFrameTimeUs); } if (mNumGlitches > 0) { LOGW("%d long delays between neighboring video frames during", mNumGlitches); } CHECK_EQ(mNumFramesReceived, mNumFramesEncoded + mNumFramesDropped); return OK; } Loading Loading @@ -712,7 +717,7 @@ void CameraSource::dataCallbackTimestamp(int64_t timestampUs, if (mNumFramesReceived > 0 && timestampUs - mLastFrameTimestampUs > mGlitchDurationThresholdUs) { if (mNumGlitches % 10 == 0) { // Don't spam the log LOGW("Long delay detected in video recording"); LOGV("Long delay detected in video recording"); } ++mNumGlitches; } Loading media/libstagefright/CameraSourceTimeLapse.cpp +13 −6 Original line number Diff line number Diff line Loading @@ -72,7 +72,7 @@ CameraSourceTimeLapse::CameraSourceTimeLapse( mLastTimeLapseFrameRealTimestampUs(0), mSkipCurrentFrame(false) { LOGV("starting time lapse mode"); LOGD("starting time lapse mode: %lld us", mTimeBetweenTimeLapseFrameCaptureUs); mVideoWidth = videoSize.width; mVideoHeight = videoSize.height; Loading Loading @@ -116,9 +116,9 @@ void CameraSourceTimeLapse::startQuickReadReturns() { } bool CameraSourceTimeLapse::trySettingPreviewSize(int32_t width, int32_t height) { LOGV("trySettingPreviewSize: %dx%d", width, height); int64_t token = IPCThreadState::self()->clearCallingIdentity(); String8 s = mCamera->getParameters(); IPCThreadState::self()->restoreCallingIdentity(token); CameraParameters params(s); Vector<Size> supportedSizes; Loading @@ -134,17 +134,24 @@ bool CameraSourceTimeLapse::trySettingPreviewSize(int32_t width, int32_t height) } } bool isSuccessful = false; if (previewSizeSupported) { LOGV("Video size (%d, %d) is a supported preview size", width, height); params.setPreviewSize(width, height); CHECK(mCamera->setParameters(params.flatten())); return true; if (mCamera->setParameters(params.flatten()) == OK) { isSuccessful = true; } else { LOGE("Failed to set preview size to %dx%d", width, height); isSuccessful = false; } } return false; IPCThreadState::self()->restoreCallingIdentity(token); return isSuccessful; } bool CameraSourceTimeLapse::setPictureSizeToClosestSupported(int32_t width, int32_t height) { LOGV("setPictureSizeToClosestSupported: %dx%d", width, height); int64_t token = IPCThreadState::self()->clearCallingIdentity(); String8 s = mCamera->getParameters(); IPCThreadState::self()->restoreCallingIdentity(token); Loading Loading @@ -277,7 +284,6 @@ void CameraSourceTimeLapse::startCameraRecording() { int64_t token = IPCThreadState::self()->clearCallingIdentity(); String8 s = mCamera->getParameters(); IPCThreadState::self()->restoreCallingIdentity(token); CameraParameters params(s); params.setPictureSize(mPictureWidth, mPictureHeight); Loading @@ -288,6 +294,7 @@ void CameraSourceTimeLapse::startCameraRecording() { // disable shutter sound and play the recording sound. mCamera->sendCommand(CAMERA_CMD_ENABLE_SHUTTER_SOUND, 0, 0); mCamera->sendCommand(CAMERA_CMD_PLAY_RECORDING_SOUND, 0, 0); IPCThreadState::self()->restoreCallingIdentity(token); // create a thread which takes pictures in a loop pthread_attr_t attr; Loading Loading
media/libmediaplayerservice/StagefrightRecorder.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -1164,7 +1164,7 @@ status_t StagefrightRecorder::setupVideoEncoder( // set appropriate level for the software AVCEncoder. if ((width * height >= 921600) // 720p || (videoBitRate >= 20000000)) { enc_meta->setInt32(kKeyVideoLevel, 50); enc_meta->setInt32(kKeyVideoLevel, OMX_VIDEO_AVCLevel5); } } Loading
media/libstagefright/CameraSource.cpp +6 −1 Original line number Diff line number Diff line Loading @@ -592,6 +592,11 @@ status_t CameraSource::stop() { mLastFrameTimestampUs - mFirstFrameTimeUs); } if (mNumGlitches > 0) { LOGW("%d long delays between neighboring video frames during", mNumGlitches); } CHECK_EQ(mNumFramesReceived, mNumFramesEncoded + mNumFramesDropped); return OK; } Loading Loading @@ -712,7 +717,7 @@ void CameraSource::dataCallbackTimestamp(int64_t timestampUs, if (mNumFramesReceived > 0 && timestampUs - mLastFrameTimestampUs > mGlitchDurationThresholdUs) { if (mNumGlitches % 10 == 0) { // Don't spam the log LOGW("Long delay detected in video recording"); LOGV("Long delay detected in video recording"); } ++mNumGlitches; } Loading
media/libstagefright/CameraSourceTimeLapse.cpp +13 −6 Original line number Diff line number Diff line Loading @@ -72,7 +72,7 @@ CameraSourceTimeLapse::CameraSourceTimeLapse( mLastTimeLapseFrameRealTimestampUs(0), mSkipCurrentFrame(false) { LOGV("starting time lapse mode"); LOGD("starting time lapse mode: %lld us", mTimeBetweenTimeLapseFrameCaptureUs); mVideoWidth = videoSize.width; mVideoHeight = videoSize.height; Loading Loading @@ -116,9 +116,9 @@ void CameraSourceTimeLapse::startQuickReadReturns() { } bool CameraSourceTimeLapse::trySettingPreviewSize(int32_t width, int32_t height) { LOGV("trySettingPreviewSize: %dx%d", width, height); int64_t token = IPCThreadState::self()->clearCallingIdentity(); String8 s = mCamera->getParameters(); IPCThreadState::self()->restoreCallingIdentity(token); CameraParameters params(s); Vector<Size> supportedSizes; Loading @@ -134,17 +134,24 @@ bool CameraSourceTimeLapse::trySettingPreviewSize(int32_t width, int32_t height) } } bool isSuccessful = false; if (previewSizeSupported) { LOGV("Video size (%d, %d) is a supported preview size", width, height); params.setPreviewSize(width, height); CHECK(mCamera->setParameters(params.flatten())); return true; if (mCamera->setParameters(params.flatten()) == OK) { isSuccessful = true; } else { LOGE("Failed to set preview size to %dx%d", width, height); isSuccessful = false; } } return false; IPCThreadState::self()->restoreCallingIdentity(token); return isSuccessful; } bool CameraSourceTimeLapse::setPictureSizeToClosestSupported(int32_t width, int32_t height) { LOGV("setPictureSizeToClosestSupported: %dx%d", width, height); int64_t token = IPCThreadState::self()->clearCallingIdentity(); String8 s = mCamera->getParameters(); IPCThreadState::self()->restoreCallingIdentity(token); Loading Loading @@ -277,7 +284,6 @@ void CameraSourceTimeLapse::startCameraRecording() { int64_t token = IPCThreadState::self()->clearCallingIdentity(); String8 s = mCamera->getParameters(); IPCThreadState::self()->restoreCallingIdentity(token); CameraParameters params(s); params.setPictureSize(mPictureWidth, mPictureHeight); Loading @@ -288,6 +294,7 @@ void CameraSourceTimeLapse::startCameraRecording() { // disable shutter sound and play the recording sound. mCamera->sendCommand(CAMERA_CMD_ENABLE_SHUTTER_SOUND, 0, 0); mCamera->sendCommand(CAMERA_CMD_PLAY_RECORDING_SOUND, 0, 0); IPCThreadState::self()->restoreCallingIdentity(token); // create a thread which takes pictures in a loop pthread_attr_t attr; Loading