diff options
5 files changed, 13 insertions, 6 deletions
diff --git a/libvideoeditor/vss/stagefrightshells/src/VideoEditorBuffer.c b/libvideoeditor/vss/stagefrightshells/src/VideoEditorBuffer.c index 98919d2..f4cfa7c 100755 --- a/libvideoeditor/vss/stagefrightshells/src/VideoEditorBuffer.c +++ b/libvideoeditor/vss/stagefrightshells/src/VideoEditorBuffer.c @@ -53,6 +53,7 @@ M4OSA_ERR VIDEOEDITOR_BUFFER_allocatePool(VIDEOEDITOR_BUFFER_Pool** ppool, { M4OSA_ERR lerr = M4NO_ERROR; VIDEOEDITOR_BUFFER_Pool* pool; + M4OSA_UInt32 index; ALOGV("VIDEOEDITOR_BUFFER_allocatePool : ppool = 0x%x nbBuffers = %d ", ppool, nbBuffers); @@ -79,6 +80,11 @@ M4OSA_ERR VIDEOEDITOR_BUFFER_allocatePool(VIDEOEDITOR_BUFFER_Pool** ppool, goto VIDEOEDITOR_BUFFER_allocatePool_Cleanup; } + for (index = 0; index < nbBuffers; index++) + { + pool->pNXPBuffer[index].pData = M4OSA_NULL; + } + ALOGV("VIDEOEDITOR_BUFFER_allocatePool : Allocating Pool name buffer"); pool->poolName = M4OSA_NULL; pool->poolName = (M4OSA_Char*)M4OSA_32bitAlignedMalloc( diff --git a/media/libstagefright/MediaCodec.cpp b/media/libstagefright/MediaCodec.cpp index ff71170..d28322f 100644 --- a/media/libstagefright/MediaCodec.cpp +++ b/media/libstagefright/MediaCodec.cpp @@ -1118,7 +1118,8 @@ void MediaCodec::onMessageReceived(const sp<AMessage> &msg) { CHECK(msg->senderAwaitsResponse(&replyID)); if ((mState != STARTED && mState != FLUSHING) - || (mFlags & kFlagStickyError)) { + || (mFlags & kFlagStickyError) + || mOutputFormat == NULL) { sp<AMessage> response = new AMessage; response->setInt32("err", INVALID_OPERATION); diff --git a/media/libstagefright/codecs/avc/enc/src/bitstream_io.cpp b/media/libstagefright/codecs/avc/enc/src/bitstream_io.cpp index ed9fd8e..0e3037f 100644 --- a/media/libstagefright/codecs/avc/enc/src/bitstream_io.cpp +++ b/media/libstagefright/codecs/avc/enc/src/bitstream_io.cpp @@ -275,7 +275,7 @@ AVCEnc_Status AVCBitstreamUseOverrunBuffer(AVCEncBitstream* stream, int numExtra // allocate new overrun Buffer if (encvid->overrunBuffer) { - encvid->avcHandle->CBAVC_Free((uint32*)encvid->avcHandle->userData, + encvid->avcHandle->CBAVC_Free(encvid->avcHandle->userData, encvid->overrunBuffer); } @@ -314,7 +314,7 @@ AVCEnc_Status AVCBitstreamUseOverrunBuffer(AVCEncBitstream* stream, int numExtra // copy from the old buffer to new buffer memcpy(encvid->overrunBuffer, stream->overrunBuffer, stream->write_pos); // free old buffer - encvid->avcHandle->CBAVC_Free((uint32*)encvid->avcHandle->userData, + encvid->avcHandle->CBAVC_Free(encvid->avcHandle->userData, stream->overrunBuffer); // assign pointer to new buffer diff --git a/media/libstagefright/codecs/avc/enc/src/sad_mb_offset.h b/media/libstagefright/codecs/avc/enc/src/sad_mb_offset.h index d5d4a42..5bc5c86 100644 --- a/media/libstagefright/codecs/avc/enc/src/sad_mb_offset.h +++ b/media/libstagefright/codecs/avc/enc/src/sad_mb_offset.h @@ -296,9 +296,9 @@ __asm__ volatile("LDR %0, [%1], #16": "=&r"(x12), "=r"(blk)); #if (NUMBER==3) goto LOOP_SAD3; #elif (NUMBER==2) -goto LOOP_SAD2; + goto LOOP_SAD2; #elif (NUMBER==1) -goto LOOP_SAD1; + goto LOOP_SAD1; #endif } diff --git a/services/camera/libcameraservice/CameraService.cpp b/services/camera/libcameraservice/CameraService.cpp index bf07f8b..385be50 100644 --- a/services/camera/libcameraservice/CameraService.cpp +++ b/services/camera/libcameraservice/CameraService.cpp @@ -721,9 +721,9 @@ void CameraService::Client::stopRecording() { Mutex::Autolock lock(mLock); if (checkPidAndHardware() != NO_ERROR) return; - mCameraService->playSound(SOUND_RECORDING); disableMsgType(CAMERA_MSG_VIDEO_FRAME); mHardware->stopRecording(); + mCameraService->playSound(SOUND_RECORDING); mPreviewBuffer.clear(); } |
