我已经使用OpenGL(GLSurfaceView)创建了一个Camera Preview,并且随着帧的渲染,我正在使用PBO的周期来缓冲要处理的帧。
当我启动相机和各种组件的关闭过程时,通过Bitmap.copyPixelsFromBuffer将ByteBuffer转换为Bitmap时,我得到了SIG SEGV。
在将其转换为位图之前,是否有办法检查ByteBuffer是否为有效图像?
// Map to buffer to a byte buffer, this is our pixel data
ByteBuffer pixelsBuffer = (ByteBuffer) GLES30.glMapBufferRange(GLES30.GL_PIXEL_PACK_BUFFER, 0, mViewWidth * mViewHeight * 4, GLES30.GL_MAP_READ_BIT);
// Copy the image data into the bitmap
mBitmap.copyPixelsFromBuffer(pixelsBuffer); // This line causes SIG SEGV