2016-12-08 22 views
0

Kickflipを私のプロジェクトでストリーミングライブラリとして使用しようとしています。checkAndUpdateEglState:無効な現在のEGLContext

すべて正常に動作しているようですが、私は自分のサーバーでブロードキャストを完全に受信します。私はこれが意味することができるもの見当がつかない

12-08 14:04:05.225 8514-9009/com.kelmer.myapp E/GLConsumer: [SurfaceTexture-1-8514-0] checkAndUpdateEglState: invalid current EGLContext 
12-08 14:04:05.229 8514-9009/com.kelmer.myapp E/AndroidRuntime: FATAL EXCEPTION: GLThread 549 
                      Process: com.kelmer.myapp, PID: 8514 
                      java.lang.IllegalStateException: Unable to update texture contents (see logcat for details) 
                       at android.graphics.SurfaceTexture.nativeUpdateTexImage(Native Method) 
                       at android.graphics.SurfaceTexture.updateTexImage(SurfaceTexture.java:240) 
                       at io.kickflip.sdk.av.CameraSurfaceRenderer.onDrawFrame(CameraSurfaceRenderer.java:120) 
                       at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1553) 
                       at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1253) 

、任意の提案:アプリに戻ったとき、私は、Android上の電源ボタンを押すと画面が空白になる場合を除き、私はこのエラーが出るのだろうか?

答えて

1

システムリソース(EGLコンテキストとリソースの両方のメモリ)がすべて使い果たされるように、プロセスがスリープ状態になるか、プッシュバックされると、EGLコンテキストがオペレーティングシステムによって自動的に解放されることがありますバックグラウンドプロセスによって。プロセスが再度フォアグラウンドされると、アプリケーションはEGLコンテキスト(およびすべてのグラフィックス・リソース)を再構成する必要があります。

はここonPause()上のドキュメントを参照してください:

https://developer.android.com/reference/android/opengl/GLSurfaceView.html

デバイスが複数のEGLコンテキストとフォアグラウンド・プロセスのニーズをサポートしていない場合は、例えば、いくつかのデバイス上で、それが動作する保証はないです(これを無効にすることができます1)setPreserveEGLContextOnPause()を使用しますが、フォアグラウンドアプリケーションが使用できないリソースをロックするので、これはお勧めしません。

関連する問題