为什么Android程序一调用jni函数里的ff_h263_decode_frame就会跳出去执行mainActivity呢?该怎么解决

为什么Android程序一调用jni函数里的ff_h263_decode_frame就会跳出去执行mainActivity呢?
我的android程序有两个activity,mainActivity里开启了一个新线程接收数据,把接收到的数据传到activity2中,在activity2中调用jni函数,通过ffmpeg把接收到的数据重新编码成图像再解码显示出来,问题是在执行到ff_h263_decode_frame这一句时jni函数就不再往下执行了,又跳到mainActivity中重新执行,就像程序刚刚启动一样?怎么回事呢?

jni中的参数传递是这样的:
Java_ffmpeg_show_pic(JNIEnv * env, jobject this, jobjectArray data) //data是mainActivity接收到的数据

{  
  jobject* picture=(*env)->GetObjectArrayElement(env,data,0);
  jsize len=(*env)->GetArrayLength(env,data);
  uint8_t* pic=(uint8_t*)picture

  //然后自己定义codecContext和packet,将接收到的数据放到packet中,用ff_h263_decode_frame解码,这个过程在c++工程中测试过了,没有问题



求大牛解答!!不胜感激!!

------解决方案--------------------
JNI中崩溃的话,程序会自动重起。

打Log看看是哪里不执行了,应该是C++里崩溃了。