
Recherche avancée
Autres articles (22)
-
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs -
Les images
15 mai 2013 -
Pas question de marché, de cloud etc...
10 avril 2011Le vocabulaire utilisé sur ce site essaie d’éviter toute référence à la mode qui fleurit allègrement
sur le web 2.0 et dans les entreprises qui en vivent.
Vous êtes donc invité à bannir l’utilisation des termes "Brand", "Cloud", "Marché" etc...
Notre motivation est avant tout de créer un outil simple, accessible à pour tout le monde, favorisant
le partage de créations sur Internet et permettant aux auteurs de garder une autonomie optimale.
Aucun "contrat Gold ou Premium" n’est donc prévu, aucun (...)
Sur d’autres sites (4392)
-
Building FFmpeg for Android to use command line arguments
28 juin 2013, par ZargoonI am trying to build the FFmpeg library to use in my android app with the NDK. The reason for this is because I am using the native video capture feature in android because I really don't want to write my own video recorder. However, the native video capture only allows for either high-quality encoding, or low quality encoding. I want something in between, and I believe that the solution is to use the FFmpeg library to re-encode the high quality video to be lighter.
So far I have been able to build the FFmpeg library according to this guide : http://www.roman10.net/how-to-build-ffmpeg-for-android/ and which a few tweaks I have been able to get it to work.
However, everything that I've found seems to be about writing your own encoder, which seems like overkill to me. All that I really want to do is send a string in command line format to the main() function of FFmpeg and re-encode my video. However, I can't seem to figure out how I build FFmpeg to give me access to the main method. I found this post : Compile ffmpeg.c and call its main() via JNI which links to a project doing what I want more of less, but for the life of me I cannot figure out what is going on. It also seems like he is compiling more than I want, and I would really like to keep my application as light weight as possible.
Some additional direction would be extremely helpful. Thank you.
-
How I can use Runtime.getRuntime.exec with ffmpeg library in Android ?
24 février 2015, par beniI’m trying to establish the correct rotation in my recorded video because in some devices the setOrientationHint method doesn’ work becuase in some video players may choose to ignore the compostion matrix in a video during playback, Android Documentation.
So, I’ve decided to use the ffmpeg library. I’m develop a test for the app. In Ubuntu, I download this library and execute the configure and make to obtain the ffmpeg executable, I copy this executable to the DCIM folder in the sdcard, the same for a video what I’ve recorded for my camera recorder app. So, in the DCIM folder, I have the ffmpeg executable and a video.
I created a test project and in the onCreate method, I’ve include :
try {
Process p= Runtime.getRuntime().exec("chmod 777 /mnt/sdcard/beni/ffmpeg");
p.waitFor();
p = Runtime.getRuntime().exec("/mnt/sdcard/beni/ffmpeg -i /mnt/sdcard/beni/f.mp4 -vf \"transpose=1\" -r 24 -sameq /mnt/sdcard/beni/f2.mp4");
p.waitFor();
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = null;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}but I have the following warning :
09-13 13:14:03.547: W/System.err(7782): java.io.IOException: Error running exec(). Command: [/mnt/sdcard/beni/ffmpeg, -i, /mnt/sdcard/beni/f.mp4, -vf, "transpose=1", -r, 24, -sameq, /mnt/sdcard/beni/f2.mp4] Working Directory: null Environment: null
09-13 13:14:03.547: W/System.err(7782): at java.lang.ProcessManager.exec(ProcessManager.java:224)
09-13 13:14:03.547: W/System.err(7782): at java.lang.Runtime.exec(Runtime.java:189)
09-13 13:14:03.547: W/System.err(7782): at java.lang.Runtime.exec(Runtime.java:275)
09-13 13:14:03.547: W/System.err(7782): at java.lang.Runtime.exec(Runtime.java:210)
09-13 13:14:03.547: W/System.err(7782): at com.example.prueba.MainActivity.onCreate(MainActivity.java:22)
09-13 13:14:03.547: W/System.err(7782): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
09-13 13:14:03.547: W/System.err(7782): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1623)
09-13 13:14:03.547: W/System.err(7782): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1675)
09-13 13:14:03.547: W/System.err(7782): at android.app.ActivityThread.access$1500(ActivityThread.java:121)
09-13 13:14:03.547: W/System.err(7782): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:943)
09-13 13:14:03.547: W/System.err(7782): at android.os.Handler.dispatchMessage(Handler.java:99)
09-13 13:14:03.547: W/System.err(7782): at android.os.Looper.loop(Looper.java:138)
09-13 13:14:03.547: W/System.err(7782): at android.app.ActivityThread.main(ActivityThread.java:3701)
09-13 13:14:03.547: W/System.err(7782): at java.lang.reflect.Method.invokeNative(Native Method)
09-13 13:14:03.547: W/System.err(7782): at java.lang.reflect.Method.invoke(Method.java:507)
09-13 13:14:03.547: W/System.err(7782): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:878)
09-13 13:14:03.547: W/System.err(7782): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:636)
09-13 13:14:03.547: W/System.err(7782): at dalvik.system.NativeStart.main(Native Method)
09-13 13:14:03.547: W/System.err(7782): Caused by: java.io.IOException: Permission denied
09-13 13:14:03.547: W/System.err(7782): at java.lang.ProcessManager.exec(Native Method)
09-13 13:14:03.547: W/System.err(7782): at java.lang.ProcessManager.exec(ProcessManager.java:222)
09-13 13:14:03.547: W/System.err(7782): ... 17 moreIs this code right ? Or I’ve done something wrong.
-
Android FFmpeg Video Player
11 mars 2013, par DilipI want to play video using
FFmpeg
for this have used some code,But it open file but not drawing frames thowing Unhandled page fault exception.Java Code :
public class MainActivity extends Activity {
private static native void openFile();
private static native void drawFrame(Bitmap bitmap);
private static native void drawFrameAt(Bitmap bitmap, int secs);
private Bitmap mBitmap;
private int mSecs = 0;
static {
System.loadLibrary("ffmpegutils");
}
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(new VideoView(this));
setContentView(R.layout.main);
mBitmap = Bitmap.createBitmap(320, 240, Bitmap.Config.ARGB_8888);
openFile();
Button btn = (Button) findViewById(R.id.frame_adv);
btn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
try {
drawFrame(mBitmap);
ImageView i = (ImageView) findViewById(R.id.frame);
i.setImageBitmap(mBitmap);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}}Jni code :
#include
#include
#include
#include <android></android>log.h>
#include <android></android>bitmap.h>
#include <libavcodec></libavcodec>avcodec.h>
#include <libavformat></libavformat>avformat.h>
#include <libswscale></libswscale>swscale.h>
#define LOG_TAG "FFMPEGSample"
#define LOGI(...) __android_log_print(ANDROID_LOG_INFO,LOG_TAG,__VA_ARGS__)
#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR,LOG_TAG,__VA_ARGS__)
/* Cheat to keep things simple and just use some globals. */
AVFormatContext *pFormatCtx;
AVCodecContext *pCodecCtx;
AVFrame *pFrame;
AVFrame *pFrameRGB;
int videoStream;
/*
* Write a frame worth of video (in pFrame) into the Android bitmap
* described by info using the raw pixel buffer. It's a very inefficient
* draw routine, but it's easy to read. Relies on the format of the
* bitmap being 8bits per color component plus an 8bit alpha channel.
*/
static void fill_bitmap(AndroidBitmapInfo* info, void *pixels, AVFrame *pFrame) {
uint8_t *frameLine;
int yy;
for (yy = 0; yy < info->height; yy++) {
uint8_t* line = (uint8_t*) pixels;
frameLine = (uint8_t *) pFrame->data[0] + (yy * pFrame->linesize[0]);
int xx;
for (xx = 0; xx < info->width; xx++) {
int out_offset = xx * 4;
int in_offset = xx * 3;
line[out_offset] = frameLine[in_offset];
line[out_offset + 1] = frameLine[in_offset + 1];
line[out_offset + 2] = frameLine[in_offset + 2];
line[out_offset + 3] = 0;
}
pixels = (char*) pixels + info->stride;
}
}
void Java_com_churnlabs_ffmpegsample_MainActivity_openFile(JNIEnv * env,
jobject this) {
int ret;
int err;
int i;
AVCodec *pCodec;
uint8_t *buffer;
int numBytes;
av_register_all();
LOGE("Registered formats***********************************");
err = av_open_input_file(&pFormatCtx, "file:///mnt/sdcard/android.3gp",
NULL, 0, NULL);
LOGE("Called open file***************************************************");
if (err != 0) {
LOGE(
"Couldn't open file****************************************************");
return;
}
LOGE(
"Opened file***********************************************************");
if (av_find_stream_info(pFormatCtx) < 0) {
LOGE(
"Unable to get stream info*****************************************");
return;
}
videoStream = -1;
for (i = 0; i < pFormatCtx->nb_streams; i++) {
if (pFormatCtx->streams[i]->codec->codec_type == CODEC_TYPE_VIDEO) {
videoStream = i;
break;
}
}
if (videoStream == -1) {
LOGE("Unable to find video stream");
return;
}
LOGI("Video stream is [%d]", videoStream);
pCodecCtx = pFormatCtx->streams[videoStream]->codec;
pCodec = avcodec_find_decoder(pCodecCtx->codec_id);
if (pCodec == NULL) {
LOGE("Unsupported codec**********************************************");
return;
}
if (avcodec_open(pCodecCtx, pCodec) < 0) {
LOGE("Unable to open codec***************************************");
return;
}
pFrame = avcodec_alloc_frame();
pFrameRGB = avcodec_alloc_frame();
LOGI("Video size is [%d x %d]", pCodecCtx->width, pCodecCtx->height);
numBytes = avpicture_get_size(PIX_FMT_RGB24, pCodecCtx->width,
pCodecCtx->height);
buffer = (uint8_t *) av_malloc(numBytes * sizeof(uint8_t));
avpicture_fill((AVPicture *) pFrameRGB, buffer, PIX_FMT_RGB24,
pCodecCtx->width, pCodecCtx->height);
}
void Java_com_churnlabs_ffmpegsample_MainActivity_drawFrame(JNIEnv * env,
jobject this, jstring bitmap) {
AndroidBitmapInfo info;
void* pixels;
int ret;
int err;
int i;
int frameFinished = 0;
AVPacket packet;
static struct SwsContext *img_convert_ctx;
int64_t seek_target;
if ((ret = AndroidBitmap_getInfo(env, bitmap, &info)) < 0) {
LOGE("AndroidBitmap_getInfo() failed ! error=%d", ret);
return;
}
LOGE(
"Checked on the bitmap*************************************************");
if ((ret = AndroidBitmap_lockPixels(env, bitmap, &pixels)) < 0) {
LOGE("AndroidBitmap_lockPixels() failed ! error=%d", ret);
}
LOGE(
"Grabbed the pixels*******************************************************");
i = 0;
while ((i == 0) && (av_read_frame(pFormatCtx, &packet) >= 0)) {
if (packet.stream_index == videoStream) {
avcodec_decode_video2(pCodecCtx, pFrame, &frameFinished, &packet);
if (frameFinished) {
LOGE("packet pts %llu", packet.pts);
// This is much different than the tutorial, sws_scale
// replaces img_convert, but it's not a complete drop in.
// This version keeps the image the same size but swaps to
// RGB24 format, which works perfect for PPM output.
int target_width = 320;
int target_height = 240;
img_convert_ctx = sws_getContext(pCodecCtx->width,
pCodecCtx->height, pCodecCtx->pix_fmt, target_width,
target_height, PIX_FMT_RGB24, SWS_BICUBIC, NULL, NULL,
NULL);
if (img_convert_ctx == NULL) {
LOGE("could not initialize conversion context\n");
return;
}
sws_scale(img_convert_ctx,
(const uint8_t* const *) pFrame->data, pFrame->linesize,
0, pCodecCtx->height, pFrameRGB->data,
pFrameRGB->linesize);
// save_frame(pFrameRGB, target_width, target_height, i);
fill_bitmap(&info, pixels, pFrameRGB);
i = 1;
}
}
av_free_packet(&packet);
}
AndroidBitmap_unlockPixels(env, bitmap);
}
int seek_frame(int tsms) {
int64_t frame;
frame = av_rescale(tsms, pFormatCtx->streams[videoStream]->time_base.den,
pFormatCtx->streams[videoStream]->time_base.num);
frame /= 1000;
if (avformat_seek_file(pFormatCtx, videoStream, 0, frame, frame,
AVSEEK_FLAG_FRAME) < 0) {
return 0;
}
avcodec_flush_buffers(pCodecCtx);
return 1;
}Log Trace
0): <6>AUO_TOUCH: ts_irqHandler: before disable_irq()
D/PrintK ( 57): <6>AUO_TOUCH: ts_irqWorkHandler: P1(313,750),P2(0,0)
D/PrintK ( 0): <6>AUO_TOUCH: ts_irqHandler: before disable_irq()
D/PrintK ( 57): <6>AUO_TOUCH: ts_irqWorkHandler: P1(0,0),P2(0,0)
E/FFMPEGSample( 2882): Checked on the bitmap*************************************************
E/FFMPEGSample( 2882): Grabbed the pixels*******************************************************
E/FFMPEGSample( 2882): packet pts 0
F/PrintK ( 2882): <2>Exception!!! bs.ffmpegsample: unhandled page fault (11) at 0x0000000c, code 0x017
F/PrintK ( 2882): <2>Exception!!! bs.ffmpegsample: unhandled page fault (11) at 0x0000000c, code 0x017
I/DEBUG ( 86): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
F/DEBUG ( 86): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG ( 86): Build fingerprint: 'dell/streak/streak/8x50:2.2.2/FRG83G/eng.cmbuild.20110317.163900:user/release-keys'
I/DEBUG ( 86): Exception!!! pid: 2882, tid: 2882 >>> com.churnlabs.ffmpegsample <<<
F/DEBUG ( 86): Exception!!! pid: 2882, tid: 2882 >>> com.churnlabs.ffmpegsample <<<
I/DEBUG ( 86): signal 11 (SIGSEGV), fault addr 0000000c
F/DEBUG ( 86): signal 11 (SIGSEGV), fault addr 0000000c
I/DEBUG ( 86): r0 00000070 r1 00000000 r2 0024fca8 r3 afd42328
F/DEBUG ( 86): r0 00000070 r1 00000000 r2 0024fca8 r3 afd42328
I/DEBUG ( 86): r4 00000000 r5 00000000 r6 0000062c r7 0000a000
F/DEBUG ( 86): r4 00000000 r5 00000000 r6 0000062c r7 0000a000
I/DEBUG ( 86): r8 be9794f0 r9 428ab9d8 10 00000003 fp be979830
F/DEBUG ( 86): r8 be9794f0 r9 428ab9d8 10 00000003 fp be979830
I/DEBUG ( 86): ip ffffff90 sp be979448 lr afd0c633 pc afd0c320 cpsr 80000030
F/DEBUG ( 86): ip ffffff90 sp be979448 lr afd0c633 pc afd0c320 cpsr 80000030
I/DEBUG ( 86): d0 6472656767756265 d1 0000000000000000
I/DEBUG ( 86): d2 0000000000000000 d3 0000000044480000
I/DEBUG ( 86): d4 8000000000000000 d5 000000003f800000
I/DEBUG ( 86): d6 0000000000000000 d7 4448000043f00000
I/DEBUG ( 86): d8 0000000000000000 d9 0000000000000000
I/DEBUG ( 86): d10 0000000000000000 d11 0000000000000000
I/DEBUG ( 86): d12 0000000000000000 d13 0000000000000000
I/DEBUG ( 86): d14 0000000000000000 d15 0000000000000000
I/DEBUG ( 86): d16 0000000000000000 d17 0000000000000000
I/DEBUG ( 86): d18 0000000000000000 d19 0000000000000000
I/DEBUG ( 86): d20 3ff0000000000000 d21 8000000000000000
I/DEBUG ( 86): d22 0000000000000000 d23 0000000500010004
I/DEBUG ( 86): d24 0101010101010101 d25 0000000000000000
I/DEBUG ( 86): d26 0000000000000000 d27 0000000000000000
I/DEBUG ( 86): d28 0000000000000000 d29 3ff0000000000000
I/DEBUG ( 86): d30 0000000000000000 d31 3ff0000000000000
I/DEBUG ( 86): scr 80000012
I/DEBUG ( 86):
I/DEBUG ( 86): #00 pc 0000c320 /system/lib/libc.so
F/DEBUG ( 86): #00 pc 0000c320 /system/lib/libc.so
I/DEBUG ( 86): #01 pc 0000c62e /system/lib/libc.so
F/DEBUG ( 86): #01 pc 0000c62e /system/lib/libc.so
I/DEBUG ( 86): #02 pc 0000cd3e /system/lib/libc.so
F/DEBUG ( 86): #02 pc 0000cd3e /system/lib/libc.so
I/DEBUG ( 86): #03 pc 0002d2c4 /system/lib/libskia.so
F/DEBUG ( 86): #03 pc 0002d2c4 /system/lib/libskia.so
I/DEBUG ( 86): #04 pc 000693ec /system/lib/libskia.so
F/DEBUG ( 86): #04 pc 000693ec /system/lib/libskia.so
I/DEBUG ( 86): #05 pc 00064d70 /system/lib/libskia.so
F/DEBUG ( 86): #05 pc 00064d70 /system/lib/libskia.so
I/DEBUG ( 86): #06 pc 0004dea8 /system/lib/libandroid_runtime.so
F/DEBUG ( 86): #06 pc 0004dea8 /system/lib/libandroid_runtime.so
I/DEBUG ( 86): #07 pc 00016df4 /system/lib/libdvm.so
F/DEBUG ( 86): #07 pc 00016df4 /system/lib/libdvm.so
I/DEBUG ( 86): #08 pc 00042904 /system/lib/libdvm.so
F/DEBUG ( 86): #08 pc 00042904 /system/lib/libdvm.so
I/DEBUG ( 86): #09 pc 0001bd58 /system/lib/libdvm.so
F/DEBUG ( 86): #09 pc 0001bd58 /system/lib/libdvm.so
I/DEBUG ( 86): #10 pc 00022550 /system/lib/libdvm.so
F/DEBUG ( 86): #10 pc 00022550 /system/lib/libdvm.so
I/DEBUG ( 86): #11 pc 000213f0 /system/lib/libdvm.so
F/DEBUG ( 86): #11 pc 000213f0 /system/lib/libdvm.so
I/DEBUG ( 86): #12 pc 00058c4a /system/lib/libdvm.so
F/DEBUG ( 86): #12 pc 00058c4a /system/lib/libdvm.so
I/DEBUG ( 86): #13 pc 00060e72 /system/lib/libdvm.so
F/DEBUG ( 86): #13 pc 00060e72 /system/lib/libdvm.so
I/DEBUG ( 86): #14 pc 0001bd58 /system/lib/libdvm.so
F/DEBUG ( 86): #14 pc 0001bd58 /system/lib/libdvm.so
I/DEBUG ( 86): #15 pc 00022550 /system/lib/libdvm.so
F/DEBUG ( 86): #15 pc 00022550 /system/lib/libdvm.so
I/DEBUG ( 86): #16 pc 000213f0 /system/lib/libdvm.so
F/DEBUG ( 86): #16 pc 000213f0 /system/lib/libdvm.so
I/DEBUG ( 86): #17 pc 00058a90 /system/lib/libdvm.so
F/DEBUG ( 86): #17 pc 00058a90 /system/lib/libdvm.so
I/DEBUG ( 86): #18 pc 0004525e /system/lib/libdvm.so
F/DEBUG ( 86): #18 pc 0004525e /system/lib/libdvm.so
I/DEBUG ( 86): #19 pc 0002e574 /system/lib/libandroid_runtime.so
F/DEBUG ( 86): #19 pc 0002e574 /system/lib/libandroid_runtime.so
I/DEBUG ( 86): #20 pc 0002f5f6 /system/lib/libandroid_runtime.so
F/DEBUG ( 86): #20 pc 0002f5f6 /system/lib/libandroid_runtime.so
I/DEBUG ( 86): #21 pc 00008ca8 /system/bin/app_process
F/DEBUG ( 86): #21 pc 00008ca8 /system/bin/app_process
I/DEBUG ( 86): #22 pc 0000d3d0 /system/lib/libc.so
F/DEBUG ( 86): #22 pc 0000d3d0 /system/lib/libc.so
I/DEBUG ( 86):
I/DEBUG ( 86): code around pc:
I/DEBUG ( 86): afd0c300 19d94f56 42ba690f 80a4f0c0 94001814
I/DEBUG ( 86): afd0c310 f08042a2 68d1809f 42916994 6895d00e
I/DEBUG ( 86): afd0c320 429668ee 8096f040 4296688e 8092f040
I/DEBUG ( 86): afd0c330 bf2442bd 608d60e9 e08bd21b b1116951
I/DEBUG ( 86): afd0c340 0514f102 6911e007 f102b191 e0020510
I/DEBUG ( 86):
I/DEBUG ( 86): code around lr:
I/DEBUG ( 86): afd0c610 60f11008 f8c1608e 4e31c00c f10319a1
I/DEBUG ( 86): afd0c620 608a0608 e04b614d b1b2684a f7ff4628
I/DEBUG ( 86): afd0c630 e00ffe23 0f41f115 f04fbf88 d80c35ff
I/DEBUG ( 86): afd0c640 350b4927 0507f025 68431860 4628b12b
I/DEBUG ( 86): afd0c650 fc1cf7ff 28004606 4e21d132 689119a2
I/DEBUG ( 86):
I/DEBUG ( 86): stack:
I/DEBUG ( 86): be979408 000001e0
I/DEBUG ( 86): be97940c be979494 [stack]
I/DEBUG ( 86): be979410 be979438 [stack]
I/DEBUG ( 86): be979414 be979478 [stack]
I/DEBUG ( 86): be979418 0012f484 [heap]
I/DEBUG ( 86): be97941c be979428 [stack]
I/DEBUG ( 86): be979420 00000000
I/DEBUG ( 86): be979424 ab163cec /system/lib/libskia.so
I/DEBUG ( 86): be979428 3f800000
I/DEBUG ( 86): be97942c 80000000 /system/lib/libicudata.so
I/DEBUG ( 86): be979430 00000000
I/DEBUG ( 86): be979434 80000000 /system/lib/libicudata.so
I/DEBUG ( 86): be979438 3f800000
I/DEBUG ( 86): be97943c 00000000
I/DEBUG ( 86): be979440 df002777
I/DEBUG ( 86): be979444 e3a070ad
I/DEBUG ( 86): #00 be979448 0024fd18 [heap]
I/DEBUG ( 86): be97944c afd4372c /system/lib/libc.so
I/DEBUG ( 86): be979450 000000c5
I/DEBUG ( 86): be979454 afd42328 /system/lib/libc.so
I/DEBUG ( 86): be979458 00000070
I/DEBUG ( 86): be97945c 0000062c
I/DEBUG ( 86): be979460 00000003
I/DEBUG ( 86): be979464 afd0c633 /system/lib/libc.so
I/DEBUG ( 86): #01 be979468 be9794c8 [stack]
I/DEBUG ( 86): be97946c 00000000
I/DEBUG ( 86): be979470 002576bc [heap]
I/DEBUG ( 86): be979474 ab163d2c /system/lib/libskia.so
I/DEBUG ( 86): be979478 00000000
I/DEBUG ( 86): be97947c 00000000
I/DEBUG ( 86): be979480 44480000 /system/framework/framework-res.apk
I/DEBUG ( 86): be979484 00000068
I/DEBUG ( 86): be979488 00000002
I/DEBUG ( 86): be97948c 00000068
I/DEBUG ( 86): be979490 00000003
I/DEBUG ( 86): be979494 afd0cd41 /system/lib/libc.so
E/Parcel ( 841): Reading a NULL string not supported here.Can any plz suggest me where I'm doing wrong.