我正在开发一个Android应用程序,它可以使用OpenGL渲染视频,并使用ffmpeg将帧编码为视频。 我在ndk中进行渲染和编码。
首先,我使用EGL设置一个关闭屏幕的OpenGL es上下文,然后使用OpenGL es调用绘制帧。
然后,我使用glReadPixels抓取像素,并使用ffmpeg调用将它们编码为视频。
问题是,在大约25帧之后,OpenGL绘图调用不再起作用。 glReadPixels调用始终获得相同的数据。
我猜我在25帧之后丢失了我的OpenGL上下文,但当我试图通过比较“eglGetCurrentContext”的结果与我创建的上下文来检查时,我总是得到“真”
我是否以正确的方式检查背景?如果我丢失了我的背景,我怎么能把它改回来?