STILL MORE: working somewhat but with puzzling results. Based on info in the bug #5050, I spaced everything out. I have now gotten the recorder to actually save a snippet of video (a whole 2160 bytes!), and I did it by spacing the view visibility, prepare() and start() w.a.a.a.a.a.y out (like several hundred milliseconds for each step). I think what happens is that either bringing the surface VISIBLE has delayed processing or else the start() steps on the prepare() operation before it is complete.
What is now happening, however, is that my simple timer tickdown counter is getting wiped out. Is it now that the preview and save operations are causing my main process thread to become unavailable? I'm recording only 10fps at 176x144. On Mar 30, 12:24 pm, dwilde1 <[email protected]> wrote: > Further UPDATE: I've tried all combinations of CAMERA and RECORD_* > permissions in the Manifest and also tried reducing frame rate to 10 > and resolution to 176x144, and preset the surfaceHolder to that same > resolution, still no joy, I've also started rebooting the phone every > time it crashes. What else haven't I understood or tried? I can't > debug into the prepare() code, and nobody seems to be able to answer > ANY of these MR questions. I'm fully prepared to accept that I'm > missing something, but I was raised -- and hammered during 27 years of > embedded coding -- to believe that a segfault in a VM interpreter is a > really bad (read: embarrassing :) thing to see. > > I'd like to understand this and at least point to a fix. My next step > is to see what's involved in importing the rest of the source into my > system. > > On Mar 29, 8:40 am, dwilde1 <[email protected]> wrote: > > > On Mar 28, 4:24 pm, dwilde1 <[email protected]> wrote: > > > > Folks, > > > > I have a situation where myMediaRecorderinstance causes a segfault. > > > I'm working with a HTC Hero, Android 1.5+APIs. In the log i see (after > > > the segfault announcement) a register dump and then a numbered list > > > #00 libmedia_jni.so to #18 linker, then a stack trace. > > > > My Eclipse won't let me copy the log buffer, but I've done three > > > screen captures that sum it up. If you have time to examine, send me a > > > direct e-mail. > > > > <pre><code> > > > if (mRecorder == null) mRecorder = newMediaRecorder(); > > > mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); > > > mRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); > > > mRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); > > > mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); > > > mRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.MPEG_4_SP); > > > // mRecorder.setVideoSize(640, 480); > > > // mRecorder.setVideoFrameRate(20); > > > mRecorder.setPreviewDisplay(surfaceHolder.getSurface()); > > > mRecorder.prepare(); > > > mRecorder.start(); > > > </code></pre> > > > > I've tried other variants, including H263 and 3gp. What else can I do > > > to debug this? Everythin g seems fine up toprepare(). > > > > I tried adding the onErrorListener, but it seems to interfere with the > > > MediaPlayer's onErrorListener. I'm using a 4-second beep-count to > > >preparefor auto triggering of the camera, and when I enable the error > > > handler for the MR everything in my handler state machines goes awry. > > > > Thanks in advance! :D > > > UPDATE: > > > I learned about the log redirection capabilities of adb last night > > after I posted:) > > > Here's the pertinent section from a run (note: I've reduced resolution > > to 320x240 also, no joy): > > > I/ActivityManager( 80): Start proc com.ejf.convince.jenplus for > > activity com.ejf.convince.jenplus/.JenPLUS: pid=17738 uid=10075 > > gids={1006, 3003} > > I/jdwp (17738): received file descriptor 10 from ADB > > W/System.err(17738): Can't dispatch DDM chunk 46454154: no handler > > defined > > W/System.err(17738): Can't dispatch DDM chunk 4d505251: no handler > > defined > > I/WindowManager( 80): Screen status=true, current orientation=-1, > > SensorEnabled=false > > I/WindowManager( 80): needSensorRunningLp, mCurrentAppOrientation > > =-1 > > I/WindowManager( 80): Enabling listeners > > W/ActivityThread(17738): Application com.ejf.convince.jenplus is > > waiting for the debugger on port 8100... > > I/System.out(17738): Sending WAIT chunk > > I/dalvikvm(17738): Debugger is active > > I/AlertDialog( 80): [onCreate] auto launch SIP. > > I/WindowManager( 80): onOrientationChanged, rotation changed to 0 > > I/System.out(17738): Debugger has connected > > I/System.out(17738): waiting for debugger to settle... > > I/System.out(17738): waiting for debugger to settle... > > I/System.out(17738): waiting for debugger to settle... > > I/System.out(17738): waiting for debugger to settle... > > I/System.out(17738): waiting for debugger to settle... > > I/System.out(17738): waiting for debugger to settle... > > I/System.out(17738): waiting for debugger to settle... > > I/System.out(17738): waiting for debugger to settle... > > I/System.out(17738): waiting for debugger to settle... > > I/System.out(17738): waiting for debugger to settle... > > I/System.out(17738): waiting for debugger to settle... > > I/System.out(17738): waiting for debugger to settle... > > I/System.out(17738): debugger has settled (1370) > > I/ActivityManager( 80): Displayed activity > > com.ejf.convince.jenplus/.JenPLUS: 5186 ms > > I/OpenCore( 2696): [Hank debug] LN 289 FN CreateNode > > I/AudioHardwareMSM72XX( 2696): AUDIO_START: start kernel pcm_out > > driver. > > W/AudioFlinger( 2696): write blocked for 96 msecs > > I/PlayerDriver( 2696): CIQ 1625 sendEvent state=5 > > I/OpenCore( 2696): [Hank debug] LN 289 FN CreateNode > > I/PlayerDriver( 2696): CIQ 1625 sendEvent state=5 > > I/OpenCore( 2696): [Hank debug] LN 289 FN CreateNode > > I/PlayerDriver( 2696): CIQ 1625 sendEvent state=5 > > I/OpenCore( 2696): [Hank debug] LN 289 FN CreateNode > > I/PlayerDriver( 2696): CIQ 1625 sendEvent state=5 > > W/AuthorDriver( 2696): Intended width(640) exceeds the max allowed > > width(352). Max width is used instead. > > W/AuthorDriver( 2696): Intended height(480) exceeds the max allowed > > height(288). Max height is used instead. > > I/AudioHardwareMSM72XX( 2696): AudioHardware pcm playback is going to > > standby. > > I/DEBUG (16094): *** *** *** *** *** *** *** *** *** *** *** *** *** > > *** *** *** > > I/DEBUG (16094): Build fingerprint: 'sprint/htc_heroc/heroc/heroc: > > 1.5/CUPCAKE/85027:user/release-keys' > > I/DEBUG (16094): pid: 17738, tid: 17738 >>> > > com.ejf.convince.jenplus <<< > > I/DEBUG (16094): signal 11 (SIGSEGV), fault addr 00000018 > > I/DEBUG (16094): r0 ffffe4c0 r1 ffffe268 r2 41098b48 r3 00000000 > > I/DEBUG (16094): r4 4349ff70 r5 ab309358 r6 0000a9c8 r7 beb0f448 > > I/DEBUG (16094): r8 beb0f468 r9 41049dd8 10 41a93b78 fp 00001070 > > I/DEBUG (16094): ip ad083e5c sp beb0f440 lr ad03dd75 pc > > ab3054f4 cpsr 80000030 > > I/DEBUG (16094): #00 pc 000054f4 /system/lib/ > > libmedia_jni.so > > I/DEBUG (16094): #01 pc 0000e434 /system/lib/libdvm.so > > I/DEBUG (16094): #02 pc 00040b0a /system/lib/libdvm.so > > I/DEBUG (16094): #03 pc 000294b0 /system/lib/libdvm.so > > I/DEBUG (16094): #04 pc 00017690 /system/lib/libdvm.so > > I/DEBUG (16094): #05 pc 00052530 /system/lib/libdvm.so > > I/DEBUG (16094): #06 pc 00059a2e /system/lib/libdvm.so > > I/DEBUG (16094): #07 pc 00013198 /system/lib/libdvm.so > > I/DEBUG (16094): #08 pc 00017b9c /system/lib/libdvm.so > > I/DEBUG (16094): #09 pc 000175e0 /system/lib/libdvm.so > > I/DEBUG (16094): #10 pc 000523b4 /system/lib/libdvm.so > > I/DEBUG (16094): #11 pc 0003f178 /system/lib/libdvm.so > > I/DEBUG (16094): #12 pc 0002af78 /system/lib/ > > libandroid_runtime.so > > I/DEBUG (16094): #13 pc 0002ba76 /system/lib/ > > libandroid_runtime.so > > I/DEBUG (16094): #14 pc 00008bf2 /system/bin/app_process > > I/DEBUG (16094): #15 pc 0001fd22 /system/lib/libc.so > > I/DEBUG (16094): #16 pc 0000bcb2 /system/lib/libc.so > > I/DEBUG (16094): #17 pc b000157e /system/bin/linker > > I/DEBUG (16094): stack: > > I/DEBUG (16094): beb0f400 00000007 > > I/DEBUG (16094): beb0f404 ad046f05 /system/lib/libdvm.so > > I/DEBUG (16094): beb0f408 0000bd00 [heap] > > I/DEBUG (16094): beb0f40c 00000000 > > I/DEBUG (16094): beb0f410 43499790 > > I/DEBUG (16094): beb0f414 ad03dd75 /system/lib/libdvm.so > > I/DEBUG (16094): beb0f418 ab309870 > > I/DEBUG (16094): beb0f41c ad082c50 > > I/DEBUG (16094): beb0f420 43499790 > > I/DEBUG (16094): beb0f424 ab304979 /system/lib/libmedia_jni.so > > I/DEBUG (16094): beb0f428 4349ff70 > > I/DEBUG (16094): beb0f42c 4349ff70 > > I/DEBUG (16094): beb0f430 ab309358 > > I/DEBUG (16094): beb0f434 0000a9c8 [heap] > > I/DEBUG (16094): beb0f438 df002777 > > I/DEBUG (16094): beb0f43c e3a070ad > > I/DEBUG (16094): #00 beb0f440 00000000 > > I/DEBUG (16094): beb0f444 00000000 > > I/DEBUG (16094): beb0f448 00000000 > > I/DEBUG (16094): beb0f44c 001c48d0 [heap] > > I/DEBUG (16094): beb0f450 beb0f488 [stack] > > I/DEBUG (16094): beb0f454 beb0f488 [stack] > > I/DEBUG (16094): beb0f458 00000000 > > I/DEBUG (16094): beb0f45c ab3054b5 /system/lib/libmedia_jni.so > > I/DEBUG (16094): beb0f460 41049de0 > > I/DEBUG (16094): beb0f464 ad00e438 /system/lib/libdvm.so > > I/DEBUG (16094): #01 beb0f468 411324b8 > > I/DEBUG (16094): beb0f46c 0000bd00 [heap] > > I/DEBUG (16094): beb0f470 ab3054b5 /system/lib/libmedia_jni.so > > I/DEBUG (16094): beb0f474 00000000 > > I/DEBUG (16094): beb0f478 411324b8 > > I/DEBUG (16094): beb0f47c 00003ea6 > > I/DEBUG (16094): beb0f480 beb0f488 [stack] > > I/DEBUG (16094): beb0f484 ad040b0d /system/lib/libdvm.so > > I/WindowManager( 80): WIN DEATH: Window{43a5b250 > > com.ejf.convince.jenplus/com.ejf.convince.jenplus.JenPLUS > > paused=false} > > I/ActivityManager( 80): Process com.ejf.convince.jenplus (pid 17738) > > has died. > > I/WindowManager( 80): Screen status=true, current orientation=1, > > SensorEnabled=true > > I/WindowManager( 80): needSensorRunningLp, mCurrentAppOrientation =1 > > I/WindowManager( 80): needSensorRunningLp, > > SCREEN_ORIENTATION_PORTRAIT > > I/WindowManager( 80): Disabling listeners > > W/InputManagerService( 80): Got RemoteException sending > > setActive(false) > > ... > > read more » -- 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 To unsubscribe from this group, send email to android-developers+unsubscribegooglegroups.com or reply to this email with the words "REMOVE ME" as the subject.

