>From the logs & codes you provided, it seems that the process is
right. But there are still some problems:
1. The frame from hardware is redder than normal, so maybe you need to
check the hardware driver.
2. The size of  YUV420 frame is width*height*3/2, not width*height*2.
3. Check whether you have released the frame after you posted it to
PV.
You have been not far from the success, so just keep working on it.

On 7月28日, 下午5时27分, Tony <xingxin19860...@gmail.com> wrote:
> Dear Jack,
> The log is following:
>
> E/CameraInput( 1438): DoStart
> E/CameraService( 1438): Tony, CameraService::Client::startRecording()
> D/CameraService( 1438): startCameraMode(1)
> E/CameraService( 1438): Tony, return startRecordingMode
> E/CameraService( 1438): Tony, startRecordingMode
> E/CameraService( 1438): Tony, if preview has not been started, start
> preview first
> E/CameraHardwareStub( 1438): >virtual bool
> android::CameraHardwareStub::previewEnabled()
> E/CameraHardwareStub( 1438): <virtual bool
> android::CameraHardwareStub::previewEnabled()
> E/CameraService( 1438): Tony, if recording has been enabled, nothing
> needs to be done
> E/CameraHardwareStub( 1438): >virtual bool
> android::CameraHardwareStub::recordingEnabled()
> E/CameraHardwareStub( 1438): <virtual bool
> android::CameraHardwareStub::recordingEnabled()
> E/CameraService( 1438): Tony, start recording mode
> E/CameraHardwareStub( 1438): >virtual android::status_t
> android::CameraHardwareStub::startRecording(void (*)(const
> android::sp<android::IMemory>&, void*), void*)
> E/CameraHardwareStub( 1438): <virtual android::status_t
> android::CameraHardwareStub::startRecording(void (*)(const
> android::sp<android::IMemory>&, void*), void*)
> E/CameraInput( 1438): AddDataEventToQueue
> E/CameraInput( 1438): Tony, status = DoStart() 1
> E/CameraInput( 1438): DoRequestCompleted
> E/PV      ( 1438): PVLOG:TID
> (0x8062478):Time=6979:PvmfMediaInputNode::RequestCompleted: Cmd ID=2
> E/PV      ( 1438): PVLOG:TID
> (0x8062478):Time=6979:PvmfMediaInputNode:CommandComplete Id 5 Cmd 6
> Status 1 Context 0 EVData 0 EVCode 1024
> E/PV      ( 1438): PVLOG:TID
> (0x8062478):Time=6979:PvmfMediaInputNode:SetState 4
> E/PV      ( 1438): PVLOG:TID
> (0x8062478):Time=6979:PVAuthorEngine::HandleNodeInformationalEvent
> E/PV      ( 1438): PVLOG:TID
> (0x8062478):Time=6979:PVAuthorEngine::HandleNodeInformationalEvent
> sends unknown eventType:24
> E/PV      ( 1438): PVLOG:TID
> (0x8062478):Time=6979:PVAuthorEngineNodeUtility::NodeCommandCompleted
> E/PV      ( 1438): PVLOG:TID
> (0x8062478):Time=6979:PVAuthorEngineNodeUtility::CompleteStateTransition
> E/PV      ( 1438): PVLOG:TID
> (0x8062478):Time=6980:PVAuthorEngineNodeUtility::CompleteStateTransition:
> node 1 (3) does not have the same state as the node util(4)
> E/PV      ( 1438): PVLOG:TID
> (0x8062478):Time=6980:PVAuthorEngineNodeUtility::CompleteStateTransition:
> Continue to wait
> E/ALSALib ( 1438): external/alsa-lib/src/pcm/pcm.c:2201:
> (snd_pcm_open_noupdate) Unknown PCM AndroidRecord_Speaker_normal
> E/ALSALib ( 1438): external/alsa-lib/src/pcm/pcm.c:2201:
> (snd_pcm_open_noupdate) Unknown PCM AndroidRecord_Speaker
> I/AudioHardwareALSA( 1438): Initialized ALSA CAPTURE device
> AndroidRecord
> D/AudioHardwareALSA( 1438): Set CAPTURE PCM format to S16_LE (Signed
> 16 bit Little Endian)
> D/AudioHardwareALSA( 1438): Using 2 channels for CAPTURE.
> D/AudioHardwareALSA( 1438): Set CAPTURE sample rate to 44100 HZ
> D/AudioHardwareALSA( 1438): Buffer size: 3584
> D/AudioHardwareALSA( 1438): Latency: 81269
> E/PV      ( 1438): PVLOG:TID
> (0x8062478):Time=6985:PvmfMediaInputNode::RequestCompleted: Cmd ID=2
> E/PV      ( 1438): PVLOG:TID
> (0x8062478):Time=6985:PvmfMediaInputNode:CommandComplete Id 5 Cmd 6
> Status 1 Context 0 EVData 0 EVCode 1024
> E/PV      ( 1438): PVLOG:TID
> (0x8062478):Time=6985:PvmfMediaInputNode:SetState 4
> E/PV      ( 1438): PVLOG:TID
> (0x8062478):Time=6985:PVAuthorEngine::HandleNodeInformationalEvent
> E/PV      ( 1438): PVLOG:TID
> (0x8062478):Time=6985:PVAuthorEngine::HandleNodeInformationalEvent
> sends unknown eventType:24
> E/PV      ( 1438): PVLOG:TID
> (0x8062478):Time=6985:PVAuthorEngineNodeUtility::NodeCommandCompleted
> E/PV      ( 1438): PVLOG:TID
> (0x8062478):Time=6985:PVAuthorEngineNodeUtility::CompleteStateTransition
> E/PV      ( 1438): PVLOG:TID
> (0x8062478):Time=6985:PVAuthorEngineNodeUtility::CompleteStateTransition:
> return PVMFSuccess
> E/PV      ( 1438): PVLOG:TID
> (0x8062478):Time=6986:PVAuthorEngineNodeUtility::CompleteUtilityCmd:
> aCmd.iType=7,  aStatus=0x1
> E/PV      ( 1438): PVLOG:TID
> (0x8062478):Time=6986:PVAuthorEngine::NodeUtilCommandCompleted
> E/PV      ( 1438): PVLOG:TID
> (0x8062478):Time=6986:PVAuthorEngine::NodeUtilCommandCompleted cmdType:
> 14
> E/PV      ( 1438): PVLOG:TID
> (0x8062478):Time=6986:PVAuthorEngineNodeUtility::GetCommandQueueSize:
> size=0
> E/PV      ( 1438): PVLOG:TID
> (0x8062478):Time=6986:PVAuthorEngine::SetPVAEState: aState=3
> E/PV      ( 1438): PVLOG:TID
> (0x8062478):Time=6986:PVAuthorEngine::CompleteEngineCommand:
> aStatus=0x1, aResponseData=0x0, aResponseDataSize=0
> E/AuthorDriver( 1438): Command (14) completed with status(1)
> E/AuthorDriver( 1438): void AuthorDriver::syncCompletion(status_t s,
> void *cookie)
> E/AuthorDriver( 1438): Tony, ed->mSyncStatus, 0
> E/PV      ( 1438): PVLOG:TID
> (0x8062478):Time=6986:PVAuthorEngine::NodeUtilCommandCompleted: Exit
> E/AuthorDriver( 1438): Tony, return mSyncStatus, 0
> E/PV      ( 1438): PVLOG:TID
> (0x8062478):Time=6989:PVAuthorEngineNodeUtility::Run: Enter
> E/CameraInput( 1438): Run
> E/CameraInput( 1438): DoRead
> E/CameraInput( 1438): Tony, status = DATA_EVENT 0
> E/CameraHardwareStub( 1438): <int
> android::CameraHardwareStub::previewThread()
> E/CameraHardwareStub( 1438): >int
> android::CameraHardwareStub::previewThread()
> E/CameraHardwareStub( 1438): previewframesize: 202752
> E/CameraHardwareStub( 1438): Tony, mRecordingCallback(buffer,
> mRecordingCallbackCookie)
> D/FakeCamera( 1438): >void android::FakeCamera::getNextFrameAsYuv420
> (uint16_t*)
> D/FakeCamera( 1438): >void android::FakeCamera::getNextFrameAsYuv422
> (uint8_t*)
> D/FakeCamera( 1438): >int android::FakeCamera::dq(int)
> D/FakeCamera( 1438): <int android::FakeCamera::dq(int)
> D/FakeCamera( 1438): >int android::FakeCamera::q(int)
> D/FakeCamera( 1438): <int android::FakeCamera::q(int)
> D/FakeCamera( 1438): <void android::FakeCamera::getNextFrameAsYuv422
> (uint8_t*)
> D/FakeCamera( 1438): <void android::FakeCamera::getNextFrameAsYuv420
> (uint16_t*)
> E/CameraInput( 1438): recording_frame_callback
> E/CameraInput( 1438): postWriteAsync
> E/CameraInput( 1438): postWriteAsync: ID = 12, base = 0xb78d0000,
> offset = 0x63000, size = 202752
> E/CameraHardwareStub( 1438): Tony,Advance the buffer pointer!!!
> E/CameraInput( 1438): Run
> E/CameraHardwareStub( 1438): Tony, usleep delay!
> E/PV      ( 1438): PVLOG:TID
> (0x8062478):Time=7009:PvmfMediaInputDataBufferAlloc::allocate:
> aMediaInput=0x80712d8, aData=0xb7933000, aDataLength=202752, aCmdId=0,
> aContext=0x0
> E/PV      ( 1438): PVLOG:TID(0x8062478):Time=7009:0x8073ce4
> PvmfPortBaseImpl::QueueOutgoingMsg
> E/PV      ( 1438): PVLOG:TID(0x8062478):Time=7009:PORT
> PVMFMediaIpNodeOut Out Msg Q'd MediaData SeqNum 0, SId 0, TS 0, Q-
> depth 1/10
> E/PV      ( 1438): PVLOG:TID(0x8062478):Time=7010:0x8073ce4
> PvmfPortBaseImpl::Send
> E/PV      ( 1438): PVLOG:TID(0x8062478):Time=7010:0x80737d0
> PvmfPortBaseImpl::Receive
> E/PV      ( 1438): PVLOG:TID(0x8062478):Time=7010:PORT PVVideoEncIn In
> Msg Received  MediaData SeqNum 0, SId 0, TS 0, Q-depth 1/10
> E/PV      ( 1438): PVLOG:TID
> (0x8062478):Time=7010:PVMFVideoEncPort::HandlePortActivity: type=5
> E/PV      ( 1438): PVLOG:TID(0x8062478):Time=7010:PORT
> PVMFMediaIpNodeOut Msg Sent MediaData SeqNum 0, SId 0, TS 0, Q-depth
> 0/10
> E/PV      ( 1438): PVLOG:TID
> (0x8062478):Time=7010:PVMFVideoEncPort::Run
> E/PV      ( 1438): PVLOG:TID
> (0x8062478):Time=7010:PVMFVideoEncNode::ProcessIncomingMsg:
> aPort=0x80737d0
> E/PV      ( 1438): PVLOG:TID(0x8062478):Time=7010:0x80737d0
> PvmfPortBaseImpl::DequeueIncomingMsg
> E/PV      ( 1438): PVLOG:TID(0x8062478):Time=7010:PORT PVVideoEncIn In
> Msg De-Q'd MediaData SeqNum 0, SId 0, TS 0, Q-depth 0/10
> E/PV      ( 1438): PVLOG:TID(0x8062478):Time=7018:0x80740f0
> PvmfPortBaseImpl::QueueOutgoingMsg
> E/PV      ( 1438): PVLOG:TID(0x8062478):Time=7018:PORT PVVideoEncOut
> Out Msg Q'd MediaData SeqNum 0, SId 0, TS 0, Q-depth 1/10
> E/PV      ( 1438): PVLOG:TID
> (0x8062478):Time=7018:PVMFVideoEncPort::HandlePortActivity: type=4
> E/PV      ( 1438): PVLOG:TID
> (0x8062478):Time=7018:PVPvmfMediaInputDataBufferCleanup::destruct_and_deall­oc:
> iCmdId=0
> E/CameraInput( 1438): writeComplete
> E/CameraHardwareStub( 1438): >virtual void
> android::CameraHardwareStub::releaseRecordingFrame(const
> android::sp<android::IMemory>&)
> E/CameraHardwareStub( 1438): <virtual void
> android::CameraHardwareStub::releaseRecordingFrame(const
> android::sp<android::IMemory>&)
> E/PV      ( 1438): PVLOG:TID
> (0x8062478):Time=7018:PVMFVideoEncPort::Run
> E/PV      ( 1438): PVLOG:TID(0x8062478):Time=7018:0x80740f0
> PvmfPortBaseImpl::Send
> E/PV      ( 1438): PVLOG:TID(0x8062478):Time=7018:0x8074348
> PvmfPortBaseImpl::Receive
> E/PV      ( 1438): PVLOG:TID(0x8062478):Time=7018:PORT PVMP4ComposerIn
> In Msg Received  MediaData SeqNum 0, SId 0, TS 0, Q-depth 1/10
> E/PV      ( 1438): PVLOG:TID
> (0x8062478):Time=7018:PVMp4FFComposerPort::HandlePortActivity: type=5
> E/PV      ( 1438): PVLOG:TID(0x8062478):Time=7019:PORT PVVideoEncOut
> Msg Sent MediaData SeqNum 0, SId 0, TS 0, Q-depth 0/10
> E/PV      ( 1438): PVLOG:TID
> (0x8062478):Time=7019:PVMp4FFComposerPort::Run
> E/PV      ( 1438): PVLOG:TID
> (0x8062478):Time=7019:PVMp4FFComposerNode::ProcessIncomingMsg:
> aPort=0x8074348
> E/PV      ( 1438): PVLOG:TID(0x8062478):Time=7019:0x8074348
> PvmfPortBaseImpl::DequeueIncomingMsg
> E/PV      ( 1438): PVLOG:TID(0x8062478):Time=7019:PORT PVMP4ComposerIn
> In Msg De-Q'd MediaData SeqNum 0, SId 0, TS 0, Q-depth 0/10
> E/PV      ( 1438): PVLOG:TID
> (0x8062478):Time=7019:PVMp4FFComposerNode::AddMemFragToTrack:
> aFormat=0x259, aTimestamp=0, aTrackId=3
> E/PV      ( 1438): PVLOG:TID
> (0x8062478):Time=7019:PVMp4FFComposerNode::AddMemFragToTrack: Calling
> addSampleToTrack(3, 0xb79a43c0, 3748, 0, 4)
> E/CameraHardwareStub( 1438): <int
> android::CameraHardwareStub::previewThread()
> E/CameraHardwareStub( 1438): >int
> android::CameraHardwareStub::previewThread()
> E/CameraHardwareStub( 1438): previewframesize: 202752
> E/CameraHardwareStub( 1438): Tony, ...
>
> 阅读更多 »
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"android-framework" group.
To post to this group, send email to android-framework@googlegroups.com
To unsubscribe from this group, send email to 
android-framework+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/android-framework?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to