Recording video in Android should be relatively simple. Or so I thought.
But after having wasted several days on trying to get it working, I would 
like to see if anybody can understand what is wrong with my code.

This is the essential part of the relevant code (requiring Android 2.2 or 
later):

camera = Camera.open(); 
camera.setPreviewDisplay(holder);
camera.startPreview();

mRecorder = new MediaRecorder();
camera.unlock();
mRecorder.setCamera(camera);

mRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
mRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);

mRecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH));

mRecorder.setMaxDuration(1000*60*20);  // 20 minutes
 
videoFile = new File("/mnt/sdcard/xx/" + "XXX" + ".mp4");
mFileName = videoFile.toString();
mRecorder.setOutputFile(mFileName);

mRecorder.setMaxFileSize(1024*1024);  // Max 1 MB

mRecorder.setOnInfoListener (this);
mRecorder.setOnErrorListener(this);

mRecorder.setPreviewDisplay(holder.getSurface());   // ???

try
{
  mRecorder.prepare();
  mRecorder.start();
}

The preview is showing properly at the screen.
The code seems to fail at the last line, when trying to start the video 
recorder.

The most important lines of the debug log (from a Sony Ericsson device, 
running Android 2.3.4) seem to be the following, which occur when the 
attempt is made to start the recorder:

06-26 09:08:46.087: W/ServiceManager(139): Permission failure: 
com.sonyericsson.permission.CAMERA_EXTENDED from uid=1013 pid=139
06-26 09:08:46.087: W/ServiceManager(139): Permission failure: 
com.sonyericsson.permission.CAMERA_EXTENDED from uid=1013 pid=139
06-26 09:08:46.087: E/StagefrightRecorder(139): Failed to set the video 
frame size to 1280x720
06-26 09:08:46.087: W/AACEncoder(139): Call stop() when encoder has not 
started
06-26 09:08:46.097: D/kernel(131): [ 1514.405670] [adsp.c:msm_adsp_get] 
module AUDREC2TASK has been registered
06-26 09:08:46.097: D/kernel(131): [ 1514.405883] [adsp.c:msm_adsp_put] 
closing module AUDREC2TASK
06-26 09:08:46.097: E/MediaRecorder(1991): start failed: -2147483648

This is more of the log, in case that could be important:

06-26 09:08:35.647: W/ServiceManager(139): Permission failure: 
com.sonyericsson.permission.CAMERA_EXTENDED from uid=10018 pid=1991
06-26 09:08:35.697: I/caladbolg(139): 1265769348 
cald_camctrl.c                    (6708)  2024 P [SVR] 1265769318 + 
Cald_CamCtrl_PowerUp
06-26 09:08:35.697: I/caladbolg(139): 1265769837 
cald_camctrl.c                    (7479)  2024 P [SVR] 1265769837 + 
Cald_CamCtrl_FSM_Func_PowerUp
06-26 09:08:35.717: I/caladbolg(139): 1265786530 
cald_hal_qct.c                    (2789)  2024 P [HAL] 1265786499 + 
Cald_Hal_Qct_If_PowerUp
06-26 09:08:35.717: I/caladbolg(139): 1265788758 
cald_hal_qct.c                    (2847)  2024 P [HAL] 1265788727 - 
Cald_Hal_Qct_If_PowerUp (0)
06-26 09:08:35.717: I/caladbolg(139): 1265793579 
cald_camctrl.c                    (7557)  2024 P [SVR] 1265793579 - 
Cald_CamCtrl_FSM_Func_PowerUp (0)
06-26 09:08:35.717: I/caladbolg(139): 1265793671 
cald_camctrl.c                    (6715)  2024 P [SVR] 1265793671 - 
Cald_CamCtrl_PowerUp (0)
06-26 09:08:35.727: I/WMSTS(121): >>>>>>>>>> pthread_mutex_lock() : 
wmsts_mutex >>>>>>>>>>
06-26 09:08:35.727: I/WMSTS(121): >>>>>>>>>> pthread_mutex_unlock() : 
wmsts_mutex >>>>>>>>>>
06-26 09:08:35.747: I/StagefrightPlayer(139): 
setDataSource('/system/media/audio/ui/camera_click.ogg')
06-26 09:08:35.747: D/DrmManager(Native)(123): 
DrmManager::openDecryptSession: no capable plug-in found
06-26 09:08:35.747: D/IDrmManagerService(Native)(123): NULL decryptHandle 
is returned
06-26 09:08:35.747: D/IDrmManagerService(Native)(139): no decryptHandle is 
generated in service side
06-26 09:08:35.757: I/StagefrightPlayer(139): 
setDataSource('/system/media/audio/ui/VideoRecord.ogg')
06-26 09:08:35.767: D/DrmManager(Native)(123): 
DrmManager::openDecryptSession: no capable plug-in found
06-26 09:08:35.767: D/IDrmManagerService(Native)(123): NULL decryptHandle 
is returned
06-26 09:08:35.767: D/IDrmManagerService(Native)(139): no decryptHandle is 
generated in service side
06-26 09:08:36.847: E/WMSTS(121): Month is invalid: 0
06-26 09:08:36.997: D/dalvikvm(269): GC_EXPLICIT freed 1544K, 36% free 
7631K/11847K, external 5923K/7197K, paused 130ms
06-26 09:08:45.957: D/kernel(131): [ 1514.266204] mdp4_overlay_pipe_alloc: 
pipe=80740538 ndx=5
06-26 09:08:45.957: D/kernel(131): [ 1514.266235] mpd4_overlay_req2pipe: 
zorder=0 pipe_num=2
06-26 09:08:45.987: D/kernel(131): [ 1514.294281] mdp4_dtv_on: <ID=0 
1280x720 (110,40,220), (5,5,20) 74MHz>
06-26 09:08:45.987: D/kernel(131): [ 1514.294311] mdp4_overlay_pipe_alloc: 
pipe=80740694 ndx=6
06-26 09:08:45.987: D/kernel(131): [ 1514.294342] mpd4_overlay_req2pipe: 
zorder=0 pipe_num=3
06-26 09:08:46.007: D/kernel(131): [ 1514.307952] msm_enqueue: queue event 
new max is 1
06-26 09:08:46.007: D/kernel(131): [ 1514.312561] msm_enqueue: queue 
control new max is 1
06-26 09:08:46.007: I/caladbolg(139): 1276075409 
cald_capctrl.c                    (6128)  2026 P [CAP] 1276075379 + 
Cald_CapCtrl_FSM_Func_StartPreview
06-26 09:08:46.007: I/caladbolg(139): 1276076416 
cald_hal_qct.c                    (2983)  2026 P [HAL] 1276076416 + 
Cald_Hal_Qct_If_StartPreview
06-26 09:08:46.017: W/kernel(131): [ 1514.328765] msm_pp_release: pp not in 
progress for 0
06-26 09:08:46.047: I/caladbolg(139): 1276115815 
cald_hal_qct.c                    (3042)  2026 P [HAL] 1276115815 - 
Cald_Hal_Qct_If_StartPreview (0)
06-26 09:08:46.047: I/caladbolg(139): 1276115906 
cald_hal_qct.c                    (6612)  2026 P [HAL] 1276115906 + 
Cald_Hal_Qct_If_CreateImageConvert
06-26 09:08:46.047: I/caladbolg(139): 1276117096 
cald_hal_qct.c                    (6890)  2026 P [HAL] 1276117066 - 
Cald_Hal_Qct_If_CreateImageConvert (0)
06-26 09:08:46.047: I/caladbolg(139): 1276117127 
cald_capctrl.c                    (6358)  2026 P [CAP] 1276117127 - 
Cald_CapCtrl_FSM_Func_StartPreview
06-26 09:08:46.077: I/MediaRecorderJNI(1991): prepare: surface=0x3dce08 
(identity=44)
06-26 09:08:46.087: D/kernel(131): [ 1514.397888] msm_enqueue: queue event 
new max is 2
06-26 09:08:46.087: D/kernel(131): [ 1514.398040] msm_enqueue: queue event 
new max is 3
06-26 09:08:46.087: D/kernel(131): [ 1514.398071] msm_enqueue: queue frame 
new max is 1
06-26 09:08:46.087: D/kernel(131): [ 1514.398101] msm_enqueue: queue event 
new max is 4

06-26 09:08:46.087: D/AudioHardwareMSM7X30(139): 
AudioStreamInMSM72xx::standby()
06-26 09:08:46.087: D/AudioHardwareMSM7X30(139): 
AudioStreamInMSM72xx::standby()
06-26 09:08:46.087: W/ServiceManager(139): Permission failure: 
com.sonyericsson.permission.CAMERA_EXTENDED from uid=1013 pid=139
06-26 09:08:46.087: W/ServiceManager(139): Permission failure: 
com.sonyericsson.permission.CAMERA_EXTENDED from uid=1013 pid=139
06-26 09:08:46.087: E/StagefrightRecorder(139): Failed to set the video 
frame size to 1280x720
06-26 09:08:46.087: W/AACEncoder(139): Call stop() when encoder has not 
started
06-26 09:08:46.097: D/kernel(131): [ 1514.405670] [adsp.c:msm_adsp_get] 
module AUDREC2TASK has been registered
06-26 09:08:46.097: D/kernel(131): [ 1514.405883] [adsp.c:msm_adsp_put] 
closing module AUDREC2TASK
06-26 09:08:46.097: E/MediaRecorder(1991): start failed: -2147483648

06-26 09:08:46.167: D/CustomizationProvider(855): openFile -- START 
uri=content://com.sonyericsson.provider.customization/settings/com.sonyericsson.textinput.uxp
06-26 09:08:46.177: I/CustomizationProvider(855): No configuration 
file:/system/etc/customization/settings/com/sonyericsson/textinput/uxp/custom_settings.xml
06-26 09:08:46.387: I/caladbolg(139): 1276455689 
cald_camctrl.c                   (14164)  2026 P [SVR] 1276455658 + 
Cald_CamCtrl_FSM_Func_FrameDoneVF
06-26 09:08:46.387: I/caladbolg(139): 1276455750 
cald_camctrl.c                   (14174)  2026 P [SVR] 1276455750 - 
Cald_CamCtrl_FSM_Func_FrameDoneVF
06-26 09:08:46.447: E/Overlay(139): Overlay is not ready to queue buffers
06-26 09:08:47.497: E/Overlay(139): Overlay is not ready to queue buffers
06-26 09:08:47.697: E/Overlay(139): Overlay is not ready to queue buffers
06-26 09:08:47.817: D/kernel(131): [ 1516.116149] msm_enqueue: queue event 
new max is 5
06-26 09:08:56.737: I/WindowManager(269): Setting rotation to 1, animFlags=0
06-26 09:08:56.757: E/OverlayLIB(269): setPosition failed
06-26 09:08:56.757: I/ActivityManager(269): Config changed: { scale=1.0 
imsi=242/2 loc=en_US touch=3 keys=1/1/2 nav=1/1 orien=2 layout=34 uiMode=17 
heme=ComponentInfo{com.sonyericsson.defaultruntimethemes/com.sonyericsson.defaultruntimethemes.BlueThemeService}
 
seq=9}
06-26 09:08:56.907: D/GestureDetector(364): touchSlop:31 doubleTapSlop:191
06-26 09:08:56.957: E/OverlayLIB(269): setPosition failed
06-26 09:08:57.047: E/OverlayLIB(139): overlay play failed.
06-26 09:08:57.047: E/Overlay(139): Queuebuffer failed for framebuffer 0
06-26 09:08:57.057: D/kernel(131): [ 1525.364349] mdp4_overlay_pipe_free: 
pipe=80740538 ndx=5
06-26 09:08:57.077: E/OverlayLIB(139): overlay play failed.
06-26 09:08:57.077: E/Overlay(139): Queuebuffer failed for framebuffer 0
06-26 09:08:57.087: D/kernel(131): [ 1525.394256] mdp4_overlay_pipe_free: 
pipe=80740694 ndx=6
06-26 09:08:57.087: E/OverlayLIB(139): overlay play failed.
06-26 09:08:57.087: E/Overlay(139): Queuebuffer failed for framebuffer 0
06-26 09:08:57.107: D/CustomizationProvider(855): openFile -- START 
uri=content://com.sonyericsson.provider.customization/settings/com.sonyericsson.textinput.uxp
06-26 09:08:57.107: I/CustomizationProvider(855): No configuration 
file/system/etc/customization/settings/com/sonyericsson/textinput/uxp/custom_settings.xml
06-26 09:08:57.117: E/OverlayLIB(139): overlay play failed.
06-26 09:08:57.117: E/Overlay(139): Queuebuffer failed for framebuffer 0
06-26 09:08:57.147: E/OverlayLIB(139): overlay play failed.
06-26 09:08:57.147: E/Overlay(139): Queuebuffer failed for framebuffer 0
06-26 09:08:57.187: E/OverlayLIB(139): overlay play failed.
06-26 09:08:57.187: E/Overlay(139): Queuebuffer failed for framebuffer 0
06-26 09:08:57.217: E/OverlayLIB(139): overlay play failed.
06-26 09:08:57.217: E/Overlay(139): Queuebuffer failed for framebuffer 0
06-26 09:08:57.257: E/OverlayLIB(139): overlay play failed.
06-26 09:08:57.257: E/Overlay(139): Queuebuffer failed for framebuffer 0
06-26 09:08:57.287: E/OverlayLIB(139): overlay play failed.
06-26 09:08:57.287: E/Overlay(139): Queuebuffer failed for framebuffer 0
06-26 09:08:57.317: E/OverlayLIB(139): overlay play failed.
06-26 09:08:57.317: E/Overlay(139): Queuebuffer failed for framebuffer 0
06-26 09:08:57.357: E/OverlayLIB(139): overlay play failed.
06-26 09:08:57.357: E/Overlay(139): Queuebuffer failed for framebuffer 0
06-26 09:08:57.387: E/OverlayLIB(139): overlay play failed.
06-26 09:08:57.387: E/Overlay(139): Queuebuffer failed for framebuffer 0

etc., etc.

Any idea - anyone ?

Regards, Terry

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" 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-developers?hl=en

Reply via email to