Add support for RGB frames in MediaCodecVideoEncoder.

BUG=webrtc:7749

Review-Url: https://codereview.webrtc.org/3002263002
Cr-Original-Commit-Position: refs/heads/master@{#19554}
Cr-Mirrored-From: https://chromium.googlesource.com/external/webrtc
Cr-Mirrored-Commit: 160e32c34f629be1fc7e634a085d9dc70a77b908
diff --git a/sdk/android/api/org/webrtc/MediaCodecVideoEncoder.java b/sdk/android/api/org/webrtc/MediaCodecVideoEncoder.java
index 808b43d..5ccf640 100644
--- a/sdk/android/api/org/webrtc/MediaCodecVideoEncoder.java
+++ b/sdk/android/api/org/webrtc/MediaCodecVideoEncoder.java
@@ -616,10 +616,8 @@
         // TODO(perkj): glClear() shouldn't be necessary since every pixel is covered anyway,
         // but it's a workaround for bug webrtc:5147.
         GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT);
-        drawer.drawOes(textureBuffer.getTextureId(),
-            RendererCommon.convertMatrixFromAndroidGraphicsMatrix(
-                textureBuffer.getTransformMatrix()),
-            width, height, 0, 0, width, height);
+        drawer.drawTexture(textureBuffer, new Matrix() /* renderMatrix */, width, height,
+            0 /* viewportX */, 0 /* viewportY */, width, height);
         eglBase.swapBuffers(frame.getTimestampNs());
       } else {
         VideoFrame.I420Buffer i420Buffer = buffer.toI420();
diff --git a/sdk/android/api/org/webrtc/RendererCommon.java b/sdk/android/api/org/webrtc/RendererCommon.java
index ac71d9f..8f8d9fe 100644
--- a/sdk/android/api/org/webrtc/RendererCommon.java
+++ b/sdk/android/api/org/webrtc/RendererCommon.java
@@ -48,6 +48,12 @@
     void drawYuv(int[] yuvTextures, float[] texMatrix, int frameWidth, int frameHeight,
         int viewportX, int viewportY, int viewportWidth, int viewportHeight);
 
+    /**
+     * Draws a VideoFrame.TextureBuffer. Default implementation calls either drawOes or 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)
+     */
     default void
       drawTexture(VideoFrame.TextureBuffer buffer, android.graphics.Matrix renderMatrix,
           int frameWidth, int frameHeight, int viewportX, int viewportY, int viewportWidth,