VideoFrameDrawer.java 文件源码

java
阅读 46 收藏 0 点赞 0 评论 0

项目:AppRTC-Android 作者:
/**
 * Draws a VideoFrame.TextureBuffer. Calls either drawer.drawOes or drawer.drawRgb
 * depending on the type of the buffer. You can supply an additional render matrix. This is
 * used multiplied together with the transformation matrix of the frame. (M = renderMatrix *
 * transformationMatrix)
 */
static void drawTexture(RendererCommon.GlDrawer drawer, VideoFrame.TextureBuffer buffer,
    Matrix renderMatrix, int frameWidth, int frameHeight, int viewportX, int viewportY,
    int viewportWidth, int viewportHeight) {
  Matrix finalMatrix = new Matrix(buffer.getTransformMatrix());
  finalMatrix.preConcat(renderMatrix);
  float[] finalGlMatrix = RendererCommon.convertMatrixFromAndroidGraphicsMatrix(finalMatrix);
  switch (buffer.getType()) {
    case OES:
      drawer.drawOes(buffer.getTextureId(), finalGlMatrix, frameWidth, frameHeight, viewportX,
          viewportY, viewportWidth, viewportHeight);
      break;
    case RGB:
      drawer.drawRgb(buffer.getTextureId(), finalGlMatrix, frameWidth, frameHeight, viewportX,
          viewportY, viewportWidth, viewportHeight);
      break;
    default:
      throw new RuntimeException("Unknown texture type.");
  }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号