2016-09-27 91 views
0

在我的projiect中,我得到一個基於GPUImage的不透明篩選器框架。 我想創建一個應用程序可以有一個像FaceTime一樣的視頻通話,所以我使用這個過濾框架提供了OpenGL ViewA來渲染相機圖像,使用我自己的openGL viewB來渲染遠程視頻流。 現在我遇到了問題。 viewA不規則地顯示viewB的內容。 特別是當viewA的框架發生變化時。像這樣: enter image description here 遠程視頻像素格式是I420,本地視頻像素格式是NV12。所以在技術上viewA必須不能渲染viewB的內容。就像你可以看到:viewA顯示viewB的灰色圖像。我假設viewA以某種方式得到了YY平面數據viewB。當viewA顯示灰色圖像時,幀速率大大減慢。 因爲viewA屬於一個不透明的框架,我只能控制自己的OpenGL渲染部分viewB。我不知道如何解決這個bug。它很可能是兩個EAGLContext衝突,或者viewAviewB以某種方式共享渲染/紋理緩衝區? 任何人,請幫助我。我這幾天掙扎着。GPUImage與其他OpenGL上下文失敗

回答

0

事實證明,OpenGL上下文混淆管理導致了這個問題。