In my projiect , I get a opaque filter framework which based on GPUImage
.
I wanna create an app can have a video call just like FaceTime,so I use this filter framework provided OpenGL ViewA
to render camera image,Using my own openGL viewB
to render remote video stream.
now I get a problem .the viewA
was irregularly show the viewB
's content.
particularly when the viewA's frame changed. like this:
the remote Video pixel format is I420 and the local video pixel format is NV12. so technically the
viewA
must can't render viewB
's content. Like you can see:the viewA
show the gray image of viewB
. I assume viewA
get the the Y planar data of viewB
somehow. when viewA show gray image,it's frame rate slow down greatly.
because the viewA
belong to a opaque framework,I can only control own OpenGL rendering part viewB
.I don't know how to resolve this bug. It most likely the two EAGLContext is conflict,or viewA
and viewB
shared the render/texture buffer somehow?
Anyone,please help me.I am struggling this several days.
Asked
Active
Viewed 142 times
0

ooOlly
- 1,997
- 21
- 31
1 Answers
0
It's turn out that the OpenGL context confused management lead to this problem.

ooOlly
- 1,997
- 21
- 31