Thank you!
Maybe I should focus on the second and the third item first.
I will try my best to handle both of them today.

On 7月29日, 上午8时51分, Jack <zhang.sheng...@zte.com.cn> wrote:
> From the logs & codes you provided, it seems that the process is
> right. Butthereare 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 Context0EVData0EVCode 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 Context0EVData0EVCode 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_EVENT0
> > 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 SeqNum0, SId0, TS0, 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 SeqNum0, SId0, TS0, 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 SeqNum0, SId0, TS0, 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 SeqNum0, SId0, TS0, Q-depth0/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 SeqNum0, SId0, TS0, 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 SeqNum0, SId0, TS0, 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
>
> ...
>
> 阅读更多 »- 隐藏被引用文字 -
>
> - 显示引用的文字 -
--~--~---------~--~----~------------~-------~--~----~
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