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_dealloc: > > 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 -~----------~----~----~----~------~----~------~--~---