JLChen
2020-12-10 a8c5f79b0d93adfa7f23601dd0fee30edc14f0d4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package lilin.com.view;
 
import android.content.Context;
import android.opengl.GLSurfaceView;
import android.util.AttributeSet;
 
public class FFWlGLSurfaceView extends GLSurfaceView{
 
    private FFWlRender wlRender;
 
    public FFWlGLSurfaceView(Context context) {
        this(context, null);
    }
 
    public FFWlGLSurfaceView(Context context, AttributeSet attrs) {
        super(context, attrs);
        setEGLContextClientVersion(2);
        wlRender = new FFWlRender(context);
        setRenderer(wlRender);
        setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY);
        //mediacodec
        wlRender.setOnRenderListener(new FFWlRender.OnRenderListener() {
            @Override
            public void onRender() {
                requestRender();
            }
        });
    }
 
    //yuv
    public void setYUVData(int width, int height, byte[] y, byte[] u, byte[] v)
    {
        if(wlRender != null)
        {
            wlRender.setYUVRenderData(width, height, y, u, v);
            requestRender();
        }
    }
    //mediacodec
    public FFWlRender getWlRender() {
        return wlRender;
    }
 
 
}