That method should not crash (I will fix that), but it is only
intended to re-create a picture that was previously written to a
stream. It does not know how to decode or interpreted images or other
data formats. Use BitmapFactory for that.

On Sun, Jan 4, 2009 at 11:29 AM, nickthecook <nickthec...@gmail.com> wrote:
>
> Hello all,
>
> I'm having some trouble creating a Picture from an InputStream. I am
> trying to do this:
>
>        ByteArrayInputStream bis = new ByteArrayInputStream(bytes);
>        Picture pic = Picture.createFromStream(bis);
>
> The problem also occurs when I try to use an InputStream returned by
> ContentResolver.openInputStream(Uri):
>
>        InputStream is = getContentResolver.openInputStream(mUri);
>        Picture pic = Picture.createFromStream(is);
>
> Picture.createFromStream(InputStream) invokes the native method
> Picture.nativeCreateFromStream(InputStream, byte[]), and this is where
> the trail goes cold for me:
>
>    public static Picture createFromStream(InputStream stream) {
>        return new Picture(
>            nativeCreateFromStream(stream, new byte
> [WORKING_STREAM_STORAGE]));
>    }
>
> I have been loading images from this Uri ("content://media/external/
> images/media/152") successfully for a while. I open an InputStream,
> read all the bytes, close the input stream, and there is no problem.
> However, when I try to use either the InputStream returned by
> ContentResolver.openInputStream(Uri), or I read all the bytes out of
> that and wrap them in a ByteArrayInputStream, Picture.createFromStream
> (InputStream) fails with the stack trace below.
>
> Has anyone successfully used Picture.createFromStream(InputStream)?
>
> ======= Stack Trace ========
> I/dalvikvm-heap( 4776): Grow heap (frag case) to 5.940MB for 3000016-
> byte allocation
> D/dalvikvm( 4776): GC freed 371 objects / 20736 bytes in 89ms
> I/Image   ( 4776): Read 345682 bytes for 
> content://media/external/images/media/152.
> I/DEBUG   (   29): *** *** *** *** *** *** *** *** *** *** *** *** ***
> *** *** ***
> I/DEBUG   (   29): Build fingerprint: 'android-devphone1/
> dream_devphone/dream/trout:1.0/UNLOCKED/116222:userdebug/test-keys'
> I/DEBUG   (   29): pid: 4776, tid: 4776  >>> org.hopto.group18.postbot
> <<<
> I/DEBUG   (   29): signal 6 (SIGABRT), fault addr 000012a8
> I/DEBUG   (   29):  r0 00000000  r1 00000006  r2 00000000  r3 00000080
> I/DEBUG   (   29):  r4 00002eb0  r5 40008000  r6 00000000  r7 00000025
> I/DEBUG   (   29):  r8 beb0a630  r9 4104d9c8  10 4104d9b8  fp 00000000
> I/DEBUG   (   29):  ip ffffffff  sp beb0a5c8  lr afe0ef37  pc
> afe0d1fc  cpsr 00000010
> I/DEBUG   (   29):          #00  pc afe0d1fc  /system/lib/libc.so
> I/DEBUG   (   29):          #01  pc afe0ef34  /system/lib/libc.so
> I/DEBUG   (   29):          #02  pc ace08540  /system/lib/libcorecg.so
> I/DEBUG   (   29):          #03  pc ac075cec  /system/lib/libsgl.so
> I/DEBUG   (   29):          #04  pc ad3413da  /system/lib/
> libandroid_runtime.so
> I/DEBUG   (   29):          #05  pc ad00d9f4  /system/lib/libdvm.so
> I/DEBUG   (   29):          #06  pc ad04120e  /system/lib/libdvm.so
> I/DEBUG   (   29):          #07  pc ad012748  /system/lib/libdvm.so
> I/DEBUG   (   29):          #08  pc ad02a92c  /system/lib/libdvm.so
> I/DEBUG   (   29):          #09  pc ad0169d0  /system/lib/libdvm.so
> I/DEBUG   (   29):          #10  pc ad052096  /system/lib/libdvm.so
> I/DEBUG   (   29):          #11  pc ad03ccbc  /system/lib/libdvm.so
> I/DEBUG   (   29):          #12  pc ad012748  /system/lib/libdvm.so
> I/DEBUG   (   29):          #13  pc ad02a92c  /system/lib/libdvm.so
> I/DEBUG   (   29):          #14  pc ad0169d0  /system/lib/libdvm.so
> I/DEBUG   (   29):          #15  pc ad051f10  /system/lib/libdvm.so
> I/DEBUG   (   29):          #16  pc ad03f87a  /system/lib/libdvm.so
> I/DEBUG   (   29):          #17  pc ad3282b4  /system/lib/
> libandroid_runtime.so
> I/DEBUG   (   29):          #18  pc ad328d40  /system/lib/
> libandroid_runtime.so
> I/DEBUG   (   29):          #19  pc 00008c12  /system/bin/app_process
> I/DEBUG   (   29):          #20  pc afe1dbd2  /system/lib/libc.so
> I/DEBUG   (   29):          #21  pc afe0b010  /system/lib/libc.so
> I/DEBUG   (   29):          #22  pc b0000d70  /system/bin/linker
> I/DEBUG   (   29): stack:
> I/DEBUG   (   29):     beb0a588  beb0a630  [stack]
> I/DEBUG   (   29):     beb0a58c  afe35f3c
> I/DEBUG   (   29):     beb0a590  00000084
> I/DEBUG   (   29):     beb0a594  00000001
> I/DEBUG   (   29):     beb0a598  afe35f3c
> I/DEBUG   (   29):     beb0a59c  0000000c
> I/DEBUG   (   29):     beb0a5a0  afe35f3c
> I/DEBUG   (   29):     beb0a5a4  afe12dbd  /system/lib/libc.so
> I/DEBUG   (   29):     beb0a5a8  afe35f3c
> I/DEBUG   (   29):     beb0a5ac  afe35f90
> I/DEBUG   (   29):     beb0a5b0  00000000
> I/DEBUG   (   29):     beb0a5b4  afe1238d  /system/lib/libc.so
> I/DEBUG   (   29):     beb0a5b8  ace0acc0  /system/lib/libcorecg.so
> I/DEBUG   (   29):     beb0a5bc  afe11539  /system/lib/libc.so
> I/DEBUG   (   29):     beb0a5c0  df002777
> I/DEBUG   (   29):     beb0a5c4  e3a070ad
> I/DEBUG   (   29): #00 beb0a5c8  00002eb0
> I/DEBUG   (   29):     beb0a5cc  40008000
> I/DEBUG   (   29):     beb0a5d0  00000000
> I/DEBUG   (   29):     beb0a5d4  4104d9d0
> I/DEBUG   (   29):     beb0a5d8  ffffffff
> I/DEBUG   (   29):     beb0a5dc  afe0ef37  /system/lib/libc.so
> I/DEBUG   (   29): #01 beb0a5e0  00000004
> I/DEBUG   (   29):     beb0a5e4  00000001
> I/DEBUG   (   29):     beb0a5e8  00000000
> I/DEBUG   (   29):     beb0a5ec  10000000
> I/DEBUG   (   29):     beb0a5f0  b000f55c  /system/bin/linker
> I/DEBUG   (   29):     beb0a5f4  ffffffdf
> I/DEBUG   (   29):     beb0a5f8  ac1261c4
> I/DEBUG   (   29):     beb0a5fc  00065448  [heap]
> I/DEBUG   (   29):     beb0a600  000bfa68  [heap]
> I/DEBUG   (   29):     beb0a604  ace08544  /system/lib/libcorecg.so
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to