android webrtc 视频旋转

libjingle_peerconnection中的SurfaceViewRenderer是视频绘制类,在自己的项目中定义一个新的SurfaceViewRenderer类,把代码都拷贝过来, 然后加入新的接口用来设置旋转参数的,主要旋转代码在renderFrameOnRenderThread中:

方式一:frame.rotationDegree上加上旋转角度angle

                        float angle = 0.0f;
                        if (this.reversal) {
                            angle = 180.0f;
                        }
                        float[] rotatedSamplingMatrix = RendererCommon.rotateTextureMatrix(frame.samplingMatrix, (float)frame.rotationDegree + angle);


方式二:修改矩阵layoutMatrix的值


最后原来使用webrtc.SurfaceViewRenderer的地方都使用我们自己的MySurfaceViewRenderer类,这样就可以直接设置它的旋转属性了。

也可以直接修改SurfaceViewRenderer类

你可能感兴趣的:(webRTC,Android)