I see this in the log:

I/OpenCore(  684): ------leave

It happens right after an allocator call. My guess is that your CPU
can't keep up with audio and video encode at the same time and the MIO
is running out of buffers. You can probably work around this problem
by keeping count of buffers in the codec and when they are all full,
start dropping frames in the MIO.

On Feb 12, 2:26 am, forest <[email protected]> wrote:
> xscale, ipp
> the log:
> V/videocamera(  688): initializeVideo
> V/videocamera(  688): Releasing media recorder.
> V/videocamera(  688): SurfaceHolder is null
> I/VideoPreview(  688): ar 1.6666666 setting size: 400x240
> V/videocamera(  688): stopVideoRecording
> V/videocamera(  688): initializeVideo
> V/videocamera(  688): Releasing media recorder.
> I/PVMediaRecorder(  684): constructor
> I/AuthorDriver(  684): InitializeForThread
> I/AuthorDriver(  684): OMX_Init
> I/AuthorDriver(  684): Create author ...
> I/PVMediaRecorder(  684): constructor
> I/AuthorDriver(  684): InitializeForThread
> I/AuthorDriver(  684): OMX_Init
> I/AuthorDriver(  684): Create author ...
> I/PVMediaRecorder(  684): init
> I/AuthorDriver(  684): Command (1) completed with status(1)
> I/PVMediaRecorder(  684): destructor
> I/AuthorDriver(  684): Delete Author
> I/PVMediaRecorder(  684): setAudioSource(1)
> I/audio_input(  684): AndroidAudioInput constructor 0x29a00
> I/AuthorDriver(  684): create mio input audio
> I/audio_input(  684): ThreadLogon 0x29a00
> I/audio_input(  684): connect
> I/audio_input(  684): DoRequestCompleted(0, 1) this 0x29a00
> I/AuthorDriver(  684): Command (4) completed with status(1)
> I/PVMediaRecorder(  684): setVideoSource(1)
> I/CameraInput(  684): constructor
> I/AuthorDriver(  684): create mio input video
> I/CameraInput(  684): ThreadLogon
> I/CameraInput(  684): connect
> I/CameraInput(  684): QueryInterface
> I/CameraInput(  684): AddCmdToQueue
> I/CameraInput(  684): Run
> I/CameraInput(  684): DoRequestCompleted
> I/AuthorDriver(  684): Command (3) completed with status(1)
> I/PVMediaRecorder(  684): setOutputFormat(1)
> I/AuthorDriver(  684): Command (5) completed with status(1)
> V/videocamera(  688): before setOutputFile
> I/PVMediaRecorder(  684): setOutputFile(/sdcard/dcim/camera/
> 187372.3gp)
> I/PVMediaRecorder(  684): setVideoFrameRate(15)
> I/CameraInput(  684): SetFrameRate
> I/PVMediaRecorder(  684): setVideoSize(400, 240)
> I/CameraInput(  684): SetFrameSize
> I/CameraInput(  684): FrameSizeChanged
> I/PVMediaRecorder(  684): setVideoEncoder(3)
> I/CameraInput(  684): getParametersSync
> I/CameraInput(  684): getParametersSync
> I/CameraInput(  684): AllocateKvp
> I/CameraInput(  684): releaseParameters
> I/OpenCore(  684): ------OsclMemPoolFixedChunkAllocator iNumChunk=8,
> iChunkSize=8320
> I/OpenCore(  684): ------OsclMemPoolFixedChunkAllocator::createmempool
> iChunkSize=8320, iNumChunk=8
> I/OpenCore(  684): ------OsclMemPoolFixedChunkAllocator iNumChunk=8,
> iChunkSize=128
> I/OpenCore(  684): ------OsclMemPoolFixedChunkAllocator::createmempool
> iChunkSize=128, iNumChunk=8
> I/OpenCore(  684): ------OsclMemPoolFixedChunkAllocator iNumChunk=9,
> iChunkSize=0
> I/CameraInput(  684): getParametersSync
> I/CameraInput(  684): AllocateKvp
> I/CameraInput(  684): setParametersSync
> I/CameraInput(  684): VerifyAndSetParameter
> I/CameraInput(  684): releaseParameters
> I/CameraInput(  684): getParametersSync
> I/CameraInput(  684): AllocateKvp
> I/CameraInput(  684): releaseParameters
> I/CameraInput(  684): getParametersSync
> I/CameraInput(  684): AllocateKvp
> I/CameraInput(  684): releaseParameters
> I/CameraInput(  684): getParametersSync
> I/CameraInput(  684): AllocateKvp
> I/CameraInput(  684): releaseParameters
> I/CameraInput(  684): createMediaTransfer
> I/CameraInput(  684): setPeer
> I/AuthorDriver(  684): Command (6) completed with status(1)
> I/PVMediaRecorder(  684): setAudioEncoder(1)
> I/audio_input(  684): getParametersSync(.../input_formats;attr=cap)
> I/audio_input(  684): getParametersSync(.../output_formats;attr=cap)
> I/OpenCore(  684): ------OsclMemPoolFixedChunkAllocator iNumChunk=4,
> iChunkSize=0
> I/OpenCore(  684): ------OsclMemPoolFixedChunkAllocator iNumChunk=10,
> iChunkSize=0
> I/OpenCore(  684): ------OsclMemPoolFixedChunkAllocator iNumChunk=9,
> iChunkSize=0
> I/audio_input(  684): getParametersSync(.../output_formats;attr=cap)
> I/audio_input(  684): setParametersSync
> I/audio_input(  684): getParametersSync(.../output/
> sampling_rate;attr=cur)
> I/audio_input(  684): getParametersSync(.../num_channels;attr=cur)
> I/audio_input(  684): createMediaTransfer 0x29a00
> I/audio_input(  684): setPeer
> I/AuthorDriver(  684): Command (7) completed with status(1)
> V/videocamera(  688): before setPreviewDisplay
> I/MediaRecorderJNI(  688): prepare: surface=0x1c0d80 (id=1)
> I/PVMediaRecorder(  684): setPreviewSurface(0x2f208)
> I/CameraInput(  684): SetPreviewSurface
> I/PVMediaRecorder(  684): prepare
> I/OpenCore(  684): ------PV_MasterOMX_GetComponentsOfRole[0]
> =video_decoder.mpeg4
> I/OpenCore(  684): ------PV_MasterOMX_GetComponentsOfRole[1]
> =video_encoder.mpeg4
> I/OpenCore(  684): ------PV_MasterOMX_GetComponentsOfRole[2]
> =video_encoder.h263
> I/OpenCore(  684): ------PV_MasterOMX_GetComponentsOfRole[3]
> =video_decoder.avc
> I/OpenCore(  684): ------PV_MasterOMX_GetComponentsOfRole[4]
> =video_encoder.avc
> I/OpenCore(  684): ------PV_MasterOMX_GetComponentsOfRole[5]
> =audio_decoder.mp3
> I/OpenCore(  684): ------PV_MasterOMX_GetComponentsOfRole[6]
> =audio_decoder.aac
> I/OpenCore(  684): ------PV_MasterOMX_GetComponentsOfRole[7]
> =video_decoder.mpeg4
> I/OpenCore(  684): ------PV_MasterOMX_GetComponentsOfRole[8]
> =video_decoder.h263
> I/OpenCore(  684): ------PV_MasterOMX_GetComponentsOfRole[9]
> =video_decoder.avc
> I/OpenCore(  684): ------PV_MasterOMX_GetComponentsOfRole[10]
> =audio_decoder.aac
> I/OpenCore(  684): ------PV_MasterOMX_GetComponentsOfRole[11]
> =audio_decoder.amr
> I/OpenCore(  684): ------PV_MasterOMX_GetComponentsOfRole[12]
> =audio_decoder.mp3
> I/OpenCore(  684): ------PV_MasterOMX_GetComponentsOfRole[0]
> =video_decoder.mpeg4
> I/OpenCore(  684): ------PV_MasterOMX_GetComponentsOfRole[1]
> =video_encoder.mpeg4
> I/OpenCore(  684): ------PV_MasterOMX_GetComponentsOfRole[2]
> =video_encoder.h263
> I/OpenCore(  684): ------PV_MasterOMX_GetComponentsOfRole[3]
> =video_decoder.avc
> I/OpenCore(  684): ------PV_MasterOMX_GetComponentsOfRole[4]
> =video_encoder.avc
> I/OpenCore(  684): ------PV_MasterOMX_GetComponentsOfRole[5]
> =audio_decoder.mp3
> I/OpenCore(  684): ------PV_MasterOMX_GetComponentsOfRole[6]
> =audio_decoder.aac
> I/OpenCore(  684): ------PV_MasterOMX_GetComponentsOfRole[7]
> =video_decoder.mpeg4
> I/OpenCore(  684): ------PV_MasterOMX_GetComponentsOfRole[8]
> =video_decoder.h263
> I/OpenCore(  684): ------PV_MasterOMX_GetComponentsOfRole[9]
> =video_decoder.avc
> I/OpenCore(  684): ------PV_MasterOMX_GetComponentsOfRole[10]
> =audio_decoder.aac
> I/OpenCore(  684): ------PV_MasterOMX_GetComponentsOfRole[11]
> =audio_decoder.amr
> I/OpenCore(  684): ------PV_MasterOMX_GetComponentsOfRole[12]
> =audio_decoder.mp3
> I/OpenCore(  684): ------OsclMemPoolFixedChunkAllocator iNumChunk=1,
> iChunkSize=0
> I/OpenCore(  684): ------OsclMemPoolFixedChunkAllocator iNumChunk=1,
> iChunkSize=0
> I/OpenCore(  684): ------OsclMemPoolFixedChunkAllocator iNumChunk=1,
> iChunkSize=0
> I/OpenCore(  684): ------OsclMemPoolFixedChunkAllocator iNumChunk=1,
> iChunkSize=0
> I/OpenCore(  684): ------OsclMemPoolFixedChunkAllocator::allocate
> iChunkSize=0, n=16
> I/OpenCore(  684): ------OsclMemPoolFixedChunkAllocator::createmempool
> iChunkSize=16, iNumChunk=1
> I/OpenCore(  684): ------OsclMemPoolFixedChunkAllocator::allocate
> iChunkSize=16, n=16
> D/PVMFOMXVideoEncNode(  684): @@@@@@@@@@@@ iOutputAllocSize = 436104
> and iOMXComponentOutputBufferSize = 432000 @@@@@@@@@@@@@
> I/OpenCore(  684): ------OsclMemPoolFixedChunkAllocator iNumChunk=1,
> iChunkSize=0
> I/OpenCore(  684): ------OsclMemPoolFixedChunkAllocator::allocate
> iChunkSize=0, n=436104
> I/OpenCore(  684): ------OsclMemPoolFixedChunkAllocator::createmempool
> iChunkSize=436104, iNumChunk=1
> I/OpenCore(  684): ------OsclMemPoolFixedChunkAllocator iNumChunk=1,
> iChunkSize=128
> I/OpenCore(  684): ------OsclMemPoolFixedChunkAllocator::createmempool
> iChunkSize=128, iNumChunk=1
> I/OpenCore(  684): ------OsclMemPoolFixedChunkAllocator::allocate
> iChunkSize=436104, n=436104
> I/CameraInput(  684): Init
> I/CameraInput(  684): AddCmdToQueue
> I/audio_input(  684): Init
> I/CameraInput(  684): Run
> I/CameraInput(  684): DoInit()
> D/CameraService(  684): Connect E from ICameraClient 0x30d8c
> D/CameraService(  684): Client E constructor
> W/CameraService(  684): ----------
> CameraHardwareMadonna::CameraHardwareMadonna
> W/CameraService(  684): open /dev/video0 success fd=10
> W/CameraService(  684): ioctl VIDIOC_S_INPUT success
> D/CameraService(  684): initHeapLocked: preview size=400x240
> D/CameraService(  684): Client X constructor
> D/CameraService(  684): Connect X
> D/CameraService(  684): setPreviewDisplay(0x2f208)
> D/CameraInput(  684): Intended mFrameWidth=400, mFrameHe=240
> D/CameraService(  684): getParameters
> D/CameraService(  684): setParameters(picture-format=jpeg;picture-
> size=800x600;preview-format=rgb565;preview-frame-rate=30;preview-
> size=400x240)
> D/CameraService(  684): initHeapLocked: preview size=400x240
> D/CameraService(  684): getParameters
> D/CameraInput(  684): Actual mFrameWidth=400, mFrameHe=240
> D/CameraService(  684): startPreview()
> W/CameraService(  684): ioctl VIDIOC_S_PARM success
> W/CameraService(  684): ioctl VIDIOC_S_FMT success
> W/CameraService(  684): ioctl VIDIOC_REQBUFS success
> W/CameraService(  684): requestbuffers.count=2
> W/CameraService(  684): ioctl VIDIOC_QUERYBUF0 success
> W/CameraService(  684): mmap 0 successs
> W/CameraService(  684): ioctl VIDIOC_QUERYBUF1 success
> W/CameraService(  684): mmap 1 success
> W/CameraService(  684): ioctl VIDIOC_QBUF success 0
> W/CameraService(  684): ioctl VIDIOC_QBUF success 1
> W/CameraService(  684): ioctl VIDIOC_STREAMON success
> I/CameraInput(  684): DoRequestCompleted
> I/audio_input(  684): DoInit
> I/OpenCore(  684): ------OsclMemPoolFixedChunkAllocator iNumChunk=4,
> iChunkSize=0
> I/audio_input(  684): DoRequestCompleted(1, 1) this 0x29a00
> I/AuthorDriver(  684): Command (12) completed with status(1)
> I/ActivityManager(  543): Displayed activity
> com.android.camera/.VideoCamera: 2245 ms
> I/ARMAssembler(  543): generated
> scanline__00000077:03515104_00000001_00000000 [ 46 ipp] (65 ins) at
> [0x258d48:0x258e4c] in 6445231 ns
> D/dalvikvm(  543): GC freed 2250 objects / 135888 bytes in 120ms
> I/KeyInputQueue(  543): Jack Li event.keycode = 27, down = true
> I/KeyInputQueue(  543): Jack Li event.keycode = 27, down = false
> D/dalvikvm(  582): GC freed 823 objects / 37984 bytes in 1574ms
> V/videocamera(  688): startVideoRecording
> I/PVMediaRecorder(  684): start
> I/CameraInput(  684): Start
> I/CameraInput(  684): AddCmdToQueue
> I/audio_input(  684): Start
> I/CameraInput(  684): Run
> I/CameraInput(  684): DoStart
> I/CameraInput(  684): AddDataEventToQueue
> I/CameraInput(  684): DoRequestCompleted
> I/audio_input(  684): DoStart
> I/audio_input(  684): create AudioRecord 0x29a00, streamType=-1,
> sampleRate=8000, format=1, channelCount=1, frameCount=4096
> I/audio_input(  684): AudioRecord created 0x38628, this 0x29a00
> I/AudioHardwareALSA(  684): ------AudioHardwareALSA::openInputStream
> I/AudioHardwareALSA(  684): ------11111111111111111111
> I/AudioHardwareALSA(  684): ------22222222222222222222
> I/AudioHardwareALSA(  684): ------33333333333333333333
> I/AudioALSA(  684): open /dev/snd/pcmC0D0c failed
> I/AudioALSA(  684): open /dev/snd/pcmC0D0c failed
> I/AudioALSA(  684): open /dev/snd/pcmC0D0c failed
> I/AudioHardwareALSA(  684): ------open SND_PCM_STREAM_CAPTURE stream
> I/AudioHardwareALSA(  684): Initialized ALSA CAPTURE device
> AndroidRecord_Microphone
> D/AudioHardwareALSA(  684): Set CAPTURE PCM format to S16_LE (Signed
> 16 bit Little Endian)
> D/AudioHardwareALSA(  684): Using 1 channel for CAPTURE.
> D/AudioHardwareALSA(  684): Set CAPTURE sample rate to 8000 HZ
> I/AudioHardwareALSA(  684): ------4444444444444444
> I/CameraInput(  684): preview_callback
> I/CameraInput(  684): postWriteAsync
> I/CameraInput(  684): ID = 14, base = 0x40ae4000, offset = 0, size =
> 192000
> I/CameraInput(  684): @@@@@@@@@@@@@ incrementing reference count (0)
> @@@@@@@@@@@@@@@
> I/CameraInput(  684): initialize the reference to frame heap memory
> I/CameraInput(  684): ------push data 1
> I/audio_input(  684): DoRequestCompleted(2, 1) this 0x29a00
> I/AuthorDriver(  684): Command (13) completed with status(1)
> E/audio_input(  684): SendMicData in
> E/audio_input(  684): SendMicData QSize 0
> I/CameraInput(  684): Run
> I/CameraInput(  684): ------data=1010101 73c70001 6d737373 3a4e5964
> I/OpenCore(  684): ------PvmfMediaInputNodeOutPort::writeAsync
> I/OpenCore(  684): ------Handle incoming data here
> I/OpenCore(  684): ------OsclMemPoolFixedChunkAllocator::allocate
> iChunkSize=0, n=84
> I/OpenCore(  684): ------OsclMemPoolFixedChunkAllocator::createmempool
> iChunkSize=84, iNumChunk=9
> I/OpenCore(  684): ------leave
> I/CameraInput(  684): ------AndroidCameraInput::Run() error=0
> I/CameraInput(  684): ------data=1010101 73c70001 6d737373 3a4e5964
> I/CameraInput(  684): DoRead
> I/audio_input(  684): ------AndroidAudioInputDoRead=1
> I/OpenCore(  684): ------OsclMemPoolFixedChunkAllocator::allocate
> iChunkSize=0, n=2048
> I/OpenCore(  684): ------OsclMemPoolFixedChunkAllocator::createmempool
> iChunkSize=2048, iNumChunk=4
> E/audio_input(  684): SendMicData in
> E/audio_input(  684): SendMicData QSize 0
> I/audio_input(  684): ------AndroidAudioInputDoRead=2
> I/OpenCore(  684): ------OsclMemPoolFixedChunkAllocator::allocate
> iChunkSize=2048, n=2048
> E/audio_input(  684): SendMicData in
> E/audio_input(  684): SendMicData QSize 0
> I/OpenCore(  684): ------iIncomingQueue.iQ.empty()=false
> I/OpenCore(  684): ------iIncomingQueue.iQ.front() success
> I/OpenCore(  684): ------Save message to output parameter and remove
> it from queue
> I/OpenCore(  684): ------leave PvmfPortBaseImpl::DequeueIncomingMsg
> I/OpenCore(  684): ------OsclMemPoolFixedChunkAllocator::allocate
> iChunkSize=436104, n=436104
> I/OpenCore(  684): ------OsclMemPoolFixedChunkAllocator::allocate
> iChunkSize=16, n=16
> I/CameraInput(  684): writeComplete
> I/CameraInput(  684): @@@@@@@@@@@@@ decrementing frame reference
> count: 0 @@@@@@@@@@@@
> I/CameraInput(  684): decrement the reference count for mHeap
> I/audio_input(  684): ------AndroidAudioInputDoRead=3
> I/OpenCore(  684): ------OsclMemPoolFixedChunkAllocator::allocate
> iChunkSize=2048, n=2048
> E/audio_input(  684): SendMicData in
> E/audio_input(  684): SendMicData QSize 0
> I/audio_input(  684): ------AndroidAudioInputDoRead=4
> I/OpenCore(  684): ------OsclMemPoolFixedChunkAllocator::allocate
> iChunkSize=2048, n=2048
> E/audio_input(  684): SendMicData in
> E/audio_input(  684): SendMicData QSize 0
> I/audio_input(  684): ------AndroidAudioInputDoRead=5
> I/OpenCore(  684): ------OsclMemPoolFixedChunkAllocator::allocate
> iChunkSize=2048, n=2048
> I/CameraInput(  684): preview_callback
> I/CameraInput(  684): postWriteAsync
> I/CameraInput(  684): ID = 14, base = 0x40ae4000, offset = 0, size =
> 192000
> I/CameraInput(  684): @@@@@@@@@@@@@ incrementing reference count (0)
> @@@@@@@@@@@@@@@
> I/CameraInput(  684): initialize the reference to frame heap memory
> I/CameraInput(  684): ------push data 2
> E/audio_input(  684): ------allocate mem 2048 failed
> I/audio_input(  684): no data available 114 ------1
> E/audio_input(  684): SendMicData in
> E/audio_input(  684): SendMicData QSize 0
> I/CameraInput(  684): Run
> I/CameraInput(  684): ------data=1010101 2ec70001 1e1e1f21 1d1d1d1d
> I/OpenCore(  684): ------PvmfMediaInputNodeOutPort::writeAsync
> I/OpenCore(  684): ------Handle incoming data here
> I/OpenCore(  684): ------OsclMemPoolFixedChunkAllocator::allocate
> iChunkSize=84, n=84
> I/OpenCore(  684): ------leave
> I/CameraInput(  684): ------AndroidCameraInput::Run() error=0
> I/CameraInput(  684): ------data=1010101 2ec70001 1e1e1f21 1d1d1d1d
> I/OpenCore(  684): ------iIncomingQueue.iQ.empty()=false
> I/OpenCore(  684): ------iIncomingQueue.iQ.front() success
> I/OpenCore(  684): ------Save message to output parameter and remove
> it from queue
> I/OpenCore(  684): ------leave PvmfPortBaseImpl::DequeueIncomingMsg
> I/CameraInput(  684): preview_callback
> I/CameraInput(  684): postWriteAsync
> I/CameraInput(  684): ID = 14, base = 0x40ae4000, offset = 0, size =
> 192000
> I/CameraInput(  684): @@@@@@@@@@@@@ incrementing reference count (1)
> @@@@@@@@@@@@@@@
> I/CameraInput(  684): ------push data 3
> I/CameraInput(  684): preview_callback
> I/CameraInput(  684): postWriteAsync
> I/CameraInput(  684): ID = 14, base = 0x40ae4000, offset = 0, size =
> 192000
> I/CameraInput(  684): @@@@@@@@@@@@@ incrementing reference count (1)
> @@@@@@@@@@@@@@@
> I/CameraInput(  684): ------push data 4
> I/CameraInput(  684): preview_callback
> I/CameraInput(  684): postWriteAsync
> I/CameraInput(  684): ID = 14, base = 0x40ae4000, offset = 0, size =
> 192000
> I/CameraInput(  684): @@@@@@@@@@@@@ incrementing reference count (1)
> @@@@@@@@@@@@@@@
> I/CameraInput(  684): ------push data 5
> I/CameraInput(  684): preview_callback
> I/CameraInput(  684): postWriteAsync
> I/CameraInput(  684): ID = 14, base = 0x40ae4000, offset = 0, size =
> 192000
> I/CameraInput(  684): @@@@@@@@@@@@@ incrementing reference count (1)
> @@@@@@@@@@@@@@@
> I/CameraInput(  684): ------push data 6
> I/CameraInput(  684): preview_callback
> I/CameraInput(  684): postWriteAsync
> ...
>
> On 2月11日, 上午1时33分, Dave Sparks <[email protected]> wrote:> You are 
> posting in the android-porting list. You need to be more
> > explicit about your situation.
>
> > Which hardware platform?
> > Which branch of the Android tree?
> > Do you have a log?
>
> > On Feb 10, 12:40 am,forest<[email protected]> wrote:
>
> > > when set DEBUG=true in packages/apps/Camera/src/com/android/camera/
> > > VideoCamera.java,VideoRecorder works well,but it has no audio,
> > > when set DEBUG=false, only the first 2 second has video&audio
> > > information,the left has only audio.
>
> > > SoundRecorder works well.
>
> > > who can tell me why,thanks~
--~--~---------~--~----~------------~-------~--~----~
unsubscribe: [email protected]
website: http://groups.google.com/group/android-porting
-~----------~----~----~----~------~----~------~--~---

Reply via email to