6

我正在尝试使用本机函数处理从 MediaMetadataretriever 抓取的帧中的位图。但我遇到了致命的车祸说

SIGNAL 11 (SIGSEGV) at 0x422d8f20 (code=2)
SIGNAL 11 (SIGSEGV) at 0x42311320 (code=2)

我尝试记录以查看哪里出错了。当我调用本机功能时,它似乎崩溃了。下面是我为原生函数调用的函数。

 protected Bitmap processFrame(Bitmap l_frame) {
    WarnC='a';
    int[] rgba = mRGBA;
    byte[] src_array =stream;
    ByteArrayOutputStream src_stream = new ByteArrayOutputStream();
    l_frame.compress(Bitmap.CompressFormat.PNG, 0, src_stream);
    src_array = src_stream.toByteArray();   
Log.i("test", "ok");
    WarnC= processcaller.LaneDetection(mFrameWidth, mFrameHeight, src_array, rgba);
    Bitmap bmp = g_frame; 
    bmp.setPixels(rgba, 0/* offset */, mFrameWidth /* stride */, 0, 0, mFrameWidth,mFrameHeight);  
    rgba =null;
    src_array=null;
    return bmp;
}

在我在网上搜索并看到大多数人说它是分段错误之后立即出现崩溃信号,Log.i("test","ok"); 并且可能是由于调用未初始化或不存在的函数引起的。但是扫描我的代码,我什么也找不到。任何指针?

4

0 回答 0