Hello,
I am trying to develop an appliacation with Android 1.5(cupcake_r1)
for a week
but always get an error reported in prepare of MediaRecorder.
Can anybody help me to figure out the problem I got in the code
below:
PS. In order to figure out the problem, I suppressed the audio
recording, and
the SDcard is installed in the phone. Thanks for your help!
in \packages\apps\Camera\src\com\android\camera\VideoCamera.java
in method initializeVideo()
{
mMediaRecorder = new MediaRecorder();
if (DEBUG_SUPPRESS_AUDIO_RECORDING) {
Log.v(TAG, "DEBUG_SUPPRESS_AUDIO_RECORDING is true."); //
this will be done!
} else {
mMediaRecorder.setAudioSource
(MediaRecorder.AudioSource.MIC);
}
mMediaRecorder.setVideoSource
(MediaRecorder.VideoSource.CAMERA);
mMediaRecorder.setOutputFormat
(MediaRecorder.OutputFormat.THREE_GPP);
mMediaRecorder.setMaxDuration(MAX_RECORDING_DURATION_MS);
if (mStorageStatus != STORAGE_STATUS_OK) {
mMediaRecorder.setOutputFile("/dev/null");
} else {
if (mCameraVideoFileDescriptor != null) {
mMediaRecorder.setOutputFile
(mCameraVideoFileDescriptor);
} else {
createVideoPath();
mMediaRecorder.setOutputFile(mCameraVideoFilename);
}
}
boolean videoQualityHigh = getBooleanPreference
(CameraSettings.KEY_VIDEO_QUALITY,
CameraSettings.DEFAULT_VIDEO_QUALITY_VALUE);
if (intent.hasExtra(MediaStore.EXTRA_VIDEO_QUALITY)) {
int extraVideoQuality = intent.getIntExtra
(MediaStore.EXTRA_VIDEO_QUALITY, 0);
videoQualityHigh = (extraVideoQuality > 0);
}
mMediaRecorder.setVideoFrameRate(15);
if (videoQualityHigh) {
mMediaRecorder.setVideoSize(320,240);
} else {
mMediaRecorder.setVideoSize(176,144);
}
mMediaRecorder.setVideoEncoder
(MediaRecorder.VideoEncoder.H263);
if (!DEBUG_SUPPRESS_AUDIO_RECORDING) {
mMediaRecorder.setAudioEncoder
(MediaRecorder.AudioEncoder.AMR_NB);
}
mMediaRecorder.setPreviewDisplay(mSurfaceHolder.getSurface());
long remaining = getAvailableStorage();
try {
mMediaRecorder.setMaxFileSize(remaining -
LOW_STORAGE_THRESHOLD / 4);
} catch (RuntimeException exception) {
}
try {
mMediaRecorder.prepare();
} catch (IOException exception) {
Log.e(TAG, "prepare failed for " + mCameraVideoFilename);
releaseMediaRecorder();
return false;
}
mMediaRecorderRecording = false;
if (!mIsVideoCaptureIntent && !mThumbController.isUriValid())
{
updateLastVideo();
}
if (!mIsVideoCaptureIntent) {
mThumbController.updateDisplayIfNeeded();
}
return true;
}
and the logcat shows below:
I/ActivityManager( 85): Starting activity: Intent
{ action=android.intent.action.MAIN categories=
{android.intent.category.LAUNCHER} flags=0x10200000 comp=
{com.android.camera/com.android.camera.VideoCamera} }
I/ActivityManager( 85): Start proc com.android.camera for activity
com.android.camera/.VideoCamera: pid=279 uid=10000 gids={1006, 2001,
3003}
D/dalvikvm( 85): GC freed 7528 objects / 374056 bytes in 680ms
I/WindowManager( 85): Setting rotation to 1, animFlags=0
I/WindowManager( 85): Config changed: { scale=1.0 imsi=0/0
locale=en_US touch=3 key=2/1/2 nav=3 orien=2 }
I/ARMAssembler( 85): generated
scanline__00000077:03010104_00000004_00000000 [ 22 ipp] (41 ins) at
[0x21eb98:0x21ec3c] in 427246 ns
W/WindowManager( 85): performLayoutAndPlaceSurfacesLocked called
while in layout
W/WindowManager( 85): performLayoutAndPlaceSurfacesLocked called
while in layout
I/ARMAssembler( 85): generated
scanline__00000077:03545404_00000004_00000000 [ 47 ipp] (67 ins) at
[0x18c230:0x18c33c] in 610351 ns
D/StatusBar( 85): updateResources
D/LocationManager( 279): Constructor: service =
android.location.ilocationmanager$stub$pr...@4360c228
V/ImageManager( 279): storage state is mounted
V/ImageManager( 279): storage writable is true
V/videocamera( 279): initializeVideo
V/videocamera( 279): Releasing media recorder.
V/videocamera( 279): SurfaceHolder is null
I/VideoPreview( 279): setting size: 320x240
I/VideoPreview( 279): ar 1.3333334 setting size: 320x240
V/videocamera( 279): stopVideoRecording
V/videocamera( 279): initializeVideo
V/videocamera( 279): Releasing media recorder.
V/MediaRecorder( 279): constructor
V/PVMediaRecorder( 55): constructor
V/AuthorDriver( 55): InitializeForThread
V/AuthorDriver( 55): OMX_Init
V/AuthorDriver( 55): Create author ...
V/MediaRecorder( 279): doCleanUp
V/MediaRecorder( 279): setListener
V/videocamera( 279): DEBUG_SUPPRESS_AUDIO_RECORDING is true.
V/MediaRecorder( 279): setVideoSource(1)
V/MediaRecorder( 279): Call init() since the media recorder is not
initialized yet
V/MediaRecorder( 279): init
V/PVMediaRecorder( 55): init
V/AuthorDriver( 55): Command (1) completed with status(1)
V/PVMediaRecorder( 55): setListener
V/PVMediaRecorder( 55): setVideoSource(1)
V/AuthorDriver( 55): create mio input video
V/AuthorDriver( 55): Command (3) completed with status(1)
V/MediaRecorder( 279): setOutputFormat(1)
V/PVMediaRecorder( 55): setOutputFormat(1)
V/AuthorDriver( 55): Command (5) completed with status(1)
V/MediaRecorder( 279): setParameters(max-duration=600000)
V/PVMediaRecorder( 55): setParameters(max-duration=600000)
E/PVAE ( 55): PVAuthorEngine::NodeUtilCommandCompleted: Exit
V/videocamera( 279): Current camera video filename: /sdcard/DCIM/
Camera/video-2000-01-01-02-39-17.3gp
V/MediaRecorder( 279): setVideoFrameRate(15)
V/PVMediaRecorder( 55): setVideoFrameRate(15)
V/MediaRecorder( 279): setVideoSize(320, 240)
V/PVMediaRecorder( 55): setVideoSize(320, 240)
V/MediaRecorder( 279): setVideoEncoder(1)
V/PVMediaRecorder( 55): setVideoEncoder(1)
V/AuthorDriver( 55): Command (6) completed with status(1)
V/ImageManager( 279): storage state is mounted
V/ImageManager( 279): storage writable is true
V/MediaRecorder( 279): setParameters(max-filesize=3882352640)
V/PVMediaRecorder( 55): setParameters(max-filesize=3882352640)
V/MediaRecorder( 279): setOutputFile(30, 0, 0)
V/PVMediaRecorder( 55): setOutputFile(10, 0, 0)
I/MediaRecorderJNI( 279): prepare: surface=0x1bb140 (id=1)
V/MediaRecorder( 279): setPreviewSurface(0x1bb140)
V/PVMediaRecorder( 55): setPreviewSurface(0xa8f8)
V/MediaRecorder( 279): prepare
V/PVMediaRecorder( 55): prepare
D/AuthorDriver( 55): handle Prepare: 13, comp: -1486358616, cookie:
80064
E/PVAE ( 55): PVAuthorEngine::Init: aContextData=0x1a600
E/PVAE ( 55): PVAuthorEngine::Run: Enter
E/PVAE ( 55): PVAuthorEngine::DoInit
E/PVAE ( 55): PVAuthorEngineNodeUtility::Prepare:
&aNodes=0x18f40, aContext=0x0
E/PVAE ( 55): PVAuthorEngineNodeUtility::AddCmdToQueue:
aCmd.iType=6
E/PVAE ( 55): PVAuthorEngineNodeUtility::Prepare:
&aNodes=0x18f1c, aContext=0x0
E/PVAE ( 55): PVAuthorEngineNodeUtility::AddCmdToQueue:
aCmd.iType=6
E/PVAE ( 55): PVAuthorEngineNodeUtility::Prepare:
&aNodes=0x18ef8, aContext=0x0
E/PVAE ( 55): PVAuthorEngineNodeUtility::AddCmdToQueue:
aCmd.iType=6
E/PVAE ( 55): PVAuthorEngine::Run: Exit
E/PVAE ( 55): PVAuthorEngineNodeUtility::Run: Enter
E/PVAE ( 55): PVAuthorEngineNodeUtility::Run: cmd.iType=6
E/PVAE ( 55): PVAuthorEngineNodeUtility::DoPrepare
E/PVAE ( 55): PVAuthorEngineNodeUtility::Doprepare: aCmd.iNodes
[i] = 0
E/PVAE ( 55): PVAuthorEngineNodeUtility::Run: Exit
E/PVAE ( 55): PVAuthorEngineNodeUtility::NodeCommandCompleted
E/PVAE ( 55): PVAuthorEngineNodeUtility::CompleteStateTransition
E/PVAE ( 55): PVAuthorEngineNodeUtility::CompleteStateTransition:
node 0 (2) does not have the same state as the node util(3)
E/PVAE ( 55): PVAuthorEngineNodeUtility::CompleteStateTransition:
Continue to wait
E/PVAE ( 55): PVAuthorEngineNodeUtility::NodeCommandCompleted
E/PVAE ( 55): PVAuthorEngineNodeUtility::CompleteStateTransition
E/PVAE ( 55): PVAuthorEngineNodeUtility::CompleteStateTransition:
node 0 (2) does not have the same state as the node util(3)
E/PVAE ( 55): PVAuthorEngineNodeUtility::CompleteStateTransition:
Continue to wait
E/PVAE ( 55): PVAuthorEngineNodeUtility::NodeCommandCompleted
E/PVAE ( 55): PVAuthorEngineNodeUtility::CompleteStateTransition
E/PVAE ( 55): PVAuthorEngineNodeUtility::CompleteStateTransition:
node 0 (2) does not have the same state as the node util(3)
E/PVAE ( 55): PVAuthorEngineNodeUtility::CompleteStateTransition:
Continue to wait
E/PVAE ( 55): PVAuthorEngine::HandleNodeInformationalEvent
E/PVAE ( 55): PVAuthorEngine::HandleNodeInformationalEvent sends
unknown eventType:24
E/PVAE ( 55): PVAuthorEngineNodeUtility::NodeCommandCompleted
E/PVAE ( 55): PVAuthorEngineNodeUtility::CompleteStateTransition
E/PVAE ( 55): PVAuthorEngineNodeUtility::CompleteStateTransition:
return PVMFSuccess
E/PVAE ( 55): PVAuthorEngineNodeUtility::CompleteUtilityCmd:
aCmd.iType=6, aStatus=0x1
E/PVAE ( 55): PVAuthorEngine::NodeUtilCommandCompleted
E/PVAE ( 55): PVAuthorEngine::NodeUtilCommandCompleted cmdType:12
E/PVAE ( 55): PVAuthorEngineNodeUtility::GetCommandQueueSize:
size=2
E/PVAE ( 55): PVAuthorEngine::NodeUtilCommandCompleted: Exit
E/PVAE ( 55): PVAuthorEngineNodeUtility::Run: Enter
E/PVAE ( 55): PVAuthorEngineNodeUtility::Run: cmd.iType=6
E/PVAE ( 55): PVAuthorEngineNodeUtility::DoPrepare
E/PVAE ( 55): PVAuthorEngineNodeUtility::Doprepare: aCmd.iNodes
[i] = 0
E/PVAE ( 55): PVAuthorEngineNodeUtility::Run: Exit
E/PVAE ( 55): PVAuthorEngineNodeUtility::NodeCommandCompleted
E/PVAE ( 55): PVAuthorEngineNodeUtility::NodeCommandCompleted:
Command failed - context=0x0, status=0xffffffef
E/PVAE ( 55): PVAuthorEngineNodeUtility::CompleteUtilityCmd:
aCmd.iType=6, aStatus=0xffffffef
E/PVAE ( 55): PVAuthorEngine::NodeUtilCommandCompleted
E/PVAE ( 55): PVAuthorEngine::NodeUtilCommandCompleted cmdType:12
E/PVAE ( 55): PVAuthorEngine::SetPVAEState: aState=5
E/PVAE ( 55): PVAuthorEngineNodeUtility::GetCommandQueueSize:
size=1
E/PVAE ( 55): PVAuthorEngineNodeUtility::Run: Enter
E/PVAE ( 55): PVAuthorEngineNodeUtility::Run: cmd.iType=6
E/PVAE ( 55): PVAuthorEngineNodeUtility::DoPrepare
E/PVAE ( 55): PVAuthorEngineNodeUtility::Doprepare: aCmd.iNodes
[i] = 0
E/PVAE ( 55): PVAuthorEngineNodeUtility::Run: Exit
D/CameraService( 55): Connect E from ICameraClient 0x1bf14
D/CameraService( 55): Client E constructor
D/CameraHardware( 55): createInstance
D/CameraHardware( 55): CameraHardware
D/CameraHardware( 55): ceInit
E/MediaPlayer( 55): Unable to to create media player
E/CameraService( 55): Failed to load CameraService sounds.
E/MediaPlayer( 55): Unable to to create media player
E/CameraService( 55): Failed to load CameraService sounds.
D/CameraService( 55): Client X constructor
D/CameraService( 55): Connect X
D/CameraService( 55): setPreviewDisplay(0xa8f8)
D/CameraInput( 55): Intended mFrameWidth=320, mFrameHeight=240
D/CameraService( 55): getParameters
D/CameraHardware( 55): getParameters
D/CameraService( 55): setParameters(picture-format=yuv422sp;picture-
size=1280x1024;preview-format=yuv422sp;preview-frame-rate=15;preview-
size=320x240)
D/CameraHardware( 55): setParameters
D/CameraService( 55): getParameters
D/CameraHardware( 55): getParameters
D/CameraInput( 55): Actual mFrameWidth=320, mFrameHeight=240
D/CameraService( 55): startCameraMode(0)
V/CameraService( 55): startPreviewMode
D/CameraHardware( 55): getParameters
D/CameraHardware( 55): startPreview
D/CameraHardware( 55): ceSetParameters
D/CameraHardware( 55): CAM_PREVIEW
D/CameraHardware( 55): ceSetPreviewParameters
D/CameraHardware( 55): VIDIOC_S_FMT 320 240
D/CameraHardware( 55): VIDIOC_S_FMT sizeof(v4l2_format) 204
D/CameraHardware( 55): initHeapLocked: preview size=320x240
D/CameraHardware( 55): init_mmap enter!
D/CameraHardware( 55): buffers[0].start = 0x4091a000
D/CameraHardware( 55): buffers[0].length = 155648
D/CameraHardware( 55): buffers[1].start = 0x40940000
D/CameraHardware( 55): buffers[1].length = 155648
D/CameraHardware( 55): buffers[2].start = 0x40966000
D/CameraHardware( 55): buffers[2].length = 155648
D/CameraHardware( 55): buffers[3].start = 0x4098c000
D/CameraHardware( 55): buffers[3].length = 155648
D/CameraHardware( 55): init_mmap exit!
D/CameraHardware( 55): initHeapLocked mCEHandle 000=:8
D/CameraHardware( 55): initHeapLocked mCEHandle111 =:8
D/CameraHardware( 55): initHeapLocked mCEHandle222 =:8
mPreviewHeap->base:0x409b2000
D/CameraHardware( 55): ceStartPreview
D/CameraHardware( 55): CAM_AUTOCAM_PREVIEW
D/CameraHardware( 55): vendor/marvell/marvell_310/libcamera/
CameraHardware.cpp startPreview 679
D/CameraHardware( 55): vendor/marvell/marvell_310/libcamera/
CameraHardware.cpp startPreview 681
D/CameraHardware( 55): getPreviewHeap
E/PVAE ( 55): PVAuthorEngine::HandleNodeInformationalEvent
E/PVAE ( 55): PVAuthorEngine::HandleNodeInformationalEvent sends
unknown eventType:24
E/PVAE ( 55): PVAuthorEngineNodeUtility::NodeCommandCompleted
E/PVAE ( 55): PVAuthorEngineNodeUtility::CompleteStateTransition
E/PVAE ( 55): PVAuthorEngineNodeUtility::CompleteStateTransition:
return PVMFSuccess
E/PVAE ( 55): PVAuthorEngineNodeUtility::CompleteUtilityCmd:
aCmd.iType=6, aStatus=0x1
E/PVAE ( 55): PVAuthorEngine::NodeUtilCommandCompleted
E/PVAE ( 55): PVAuthorEngine::NodeUtilCommandCompleted cmdType:12
E/PVAE ( 55): PVAuthorEngineNodeUtility::GetCommandQueueSize:
size=0
E/PVAE ( 55): PVAuthorEngine::CompleteEngineCommand:
aStatus=0xffffffff, aResponseData=0x0, aResponseDataSize=0
V/AuthorDriver( 55): Command (13) completed with status(-1)
E/MediaRecorder( 279): prepare failed: 80000000
E/videocamera( 279): prepare failed for /sdcard/DCIM/Camera/
video-2000-01-01-02-39-17.3gp
V/videocamera( 279): Releasing media recorder.
V/videocamera( 279): Empty video file deleted: /sdcard/DCIM/Camera/
video-2000-01-01-02-39-17.3gp
V/MediaRecorder( 279): reset
V/MediaRecorder( 279): doCleanUp
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"android-framework" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-framework?hl=en
-~----------~----~----~----~------~----~------~--~---