Appspotdemo.Mono.Droid.VideoStreamsView.setSize C# (CSharp) Method

setSize() public method

Inform this View of the dimensions of frames coming from |stream|.
public setSize ( Endpoint stream, int width, int height ) : void
stream Endpoint
width int
height int
return void
        public virtual void setSize(Endpoint stream, int width, int height)
        {
            // Generate 3 texture ids for Y/U/V and place them into |textures|,
            // allocating enough storage for |width|x|height| pixels.
            int[] textures = yuvTextures[stream == Endpoint.LOCAL ? 0 : 1];
            GLES20.GlGenTextures(3, textures, 0);
            for (int i = 0; i < 3; ++i)
            {
                int w = i == 0 ? width : width / 2;
                int h = i == 0 ? height : height / 2;
                GLES20.GlActiveTexture(GLES20.GlTexture0 + i);
                GLES20.GlBindTexture(GLES20.GlTexture2d, textures[i]);
                GLES20.GlTexImage2D(GLES20.GlTexture2d, 0, GLES20.GlLuminance, w, h, 0, GLES20.GlLuminance, GLES20.GlUnsignedByte, null);
                GLES20.GlTexParameterf(GLES20.GlTexture2d, GLES20.GlTextureMinFilter, GLES20.GlLinear);
                GLES20.GlTexParameterf(GLES20.GlTexture2d, GLES20.GlTextureMagFilter, GLES20.GlLinear);
                GLES20.GlTexParameterf(GLES20.GlTexture2d, GLES20.GlTextureWrapS, GLES20.GlClampToEdge);
                GLES20.GlTexParameterf(GLES20.GlTexture2d, GLES20.GlTextureWrapT, GLES20.GlClampToEdge);
            }
            checkNoGLES2Error();
        }

Usage Example

コード例 #1
0
 //JAVA TO C# CONVERTER WARNING: 'final' parameters are not allowed in .NET:
 //ORIGINAL LINE: @Override public void setSize(final int width, final int height)
 public void SetSize(int width, int height)
 {
     view.QueueEvent(() => view.setSize(stream, width, height));
 }