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.

Reply via email to