Revert of Delete unused and almost unused frame-related methods. (patchset #12 id:220001 of https://codereview.webrtc.org/2065733003/ )

Reason for revert:
Breaks downstream applications which inherits webrtc::VideoFrameBuffer and tries to override deleted methods data(), stride() and MutableData().

Original issue's description:
> Delete unused and almost unused frame-related methods.
>
> webrtc::VideoFrame::set_video_frame_buffer
> webrtc::VideoFrame::ConvertNativeToI420Frame
>
> cricket::WebRtcVideoFrame::InitToBlack
>
> VideoFrameBuffer::data
> VideoFrameBuffer::stride
> VideoFrameBuffer::MutableData
>
> TBR=tkchin@webrtc.org # Refactoring affecting RTCVideoFrame
> BUG=webrtc:5682
>
> Committed: https://crrev.com/76270de4bc2dac188f10f805e6e2fb86693ef864
> Cr-Commit-Position: refs/heads/master@{#13183}

TBR=perkj@webrtc.org,pbos@webrtc.org,marpan@webrtc.org,tkchin@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/2076113002
Cr-Commit-Position: refs/heads/master@{#13184}
diff --git a/webrtc/api/java/jni/androidmediadecoder_jni.cc b/webrtc/api/java/jni/androidmediadecoder_jni.cc
index 2ec222f..3793756 100644
--- a/webrtc/api/java/jni/androidmediadecoder_jni.cc
+++ b/webrtc/api/java/jni/androidmediadecoder_jni.cc
@@ -794,12 +794,12 @@
       libyuv::I420Copy(y_ptr, stride,
                        u_ptr, uv_stride,
                        v_ptr, uv_stride,
-                       frame_buffer->MutableDataY(),
-                       frame_buffer->StrideY(),
-                       frame_buffer->MutableDataU(),
-                       frame_buffer->StrideU(),
-                       frame_buffer->MutableDataV(),
-                       frame_buffer->StrideV(),
+                       frame_buffer->MutableData(webrtc::kYPlane),
+                       frame_buffer->stride(webrtc::kYPlane),
+                       frame_buffer->MutableData(webrtc::kUPlane),
+                       frame_buffer->stride(webrtc::kUPlane),
+                       frame_buffer->MutableData(webrtc::kVPlane),
+                       frame_buffer->stride(webrtc::kVPlane),
                        width, height);
     } else {
       // All other supported formats are nv12.
@@ -808,12 +808,12 @@
       libyuv::NV12ToI420(
           y_ptr, stride,
           uv_ptr, stride,
-          frame_buffer->MutableDataY(),
-          frame_buffer->StrideY(),
-          frame_buffer->MutableDataU(),
-          frame_buffer->StrideU(),
-          frame_buffer->MutableDataV(),
-          frame_buffer->StrideV(),
+          frame_buffer->MutableData(webrtc::kYPlane),
+          frame_buffer->stride(webrtc::kYPlane),
+          frame_buffer->MutableData(webrtc::kUPlane),
+          frame_buffer->stride(webrtc::kUPlane),
+          frame_buffer->MutableData(webrtc::kVPlane),
+          frame_buffer->stride(webrtc::kVPlane),
           width, height);
     }
     // Return output byte buffer back to codec.
diff --git a/webrtc/api/java/jni/androidmediaencoder_jni.cc b/webrtc/api/java/jni/androidmediaencoder_jni.cc
index 20dc150..ce1ebc1 100644
--- a/webrtc/api/java/jni/androidmediaencoder_jni.cc
+++ b/webrtc/api/java/jni/androidmediaencoder_jni.cc
@@ -670,8 +670,7 @@
   }
   consecutive_full_queue_frame_drops_ = 0;
 
-  rtc::scoped_refptr<webrtc::VideoFrameBuffer> input_buffer(
-      frame.video_frame_buffer());
+  VideoFrame input_frame = frame;
   if (scale_) {
     // Check framerate before spatial resolution change.
     quality_scaler_.OnEncodeFrame(frame.width(), frame.height());
@@ -679,22 +678,21 @@
         quality_scaler_.GetScaledResolution();
     if (scaled_resolution.width != frame.width() ||
         scaled_resolution.height != frame.height()) {
-      if (input_buffer->native_handle() != nullptr) {
-        input_buffer = static_cast<AndroidTextureBuffer*>(input_buffer.get())
-                           ->CropScaleAndRotate(frame.width(), frame.height(),
-                                                0, 0,
-                                                scaled_resolution.width,
-                                                scaled_resolution.height,
-                                                webrtc::kVideoRotation_0);
+      if (frame.video_frame_buffer()->native_handle() != nullptr) {
+        rtc::scoped_refptr<webrtc::VideoFrameBuffer> scaled_buffer(
+            static_cast<AndroidTextureBuffer*>(
+                frame.video_frame_buffer().get())->CropScaleAndRotate(
+                    frame.width(), frame.height(), 0, 0,
+                    scaled_resolution.width, scaled_resolution.height,
+                    webrtc::kVideoRotation_0));
+        input_frame.set_video_frame_buffer(scaled_buffer);
       } else {
-        input_buffer = quality_scaler_.GetScaledBuffer(input_buffer);
+        input_frame.set_video_frame_buffer(
+            quality_scaler_.GetScaledBuffer(frame.video_frame_buffer()));
       }
     }
   }
 
-  VideoFrame input_frame(input_buffer, frame.timestamp(),
-                         frame.render_time_ms(), frame.rotation());
-
   if (!MaybeReconfigureEncoderOnCodecThread(input_frame)) {
     ALOGE << "Failed to reconfigure encoder.";
     return WEBRTC_VIDEO_CODEC_ERROR;
diff --git a/webrtc/api/java/jni/androidvideocapturer_jni.cc b/webrtc/api/java/jni/androidvideocapturer_jni.cc
index 15cd2d4..4f3d64b 100644
--- a/webrtc/api/java/jni/androidvideocapturer_jni.cc
+++ b/webrtc/api/java/jni/androidvideocapturer_jni.cc
@@ -215,10 +215,10 @@
   libyuv::NV12ToI420Rotate(
       y_plane + width * crop_y + crop_x, width,
       uv_plane + uv_width * crop_y + crop_x, width,
-      buffer->MutableDataY(), buffer->StrideY(),
+      buffer->MutableData(webrtc::kYPlane), buffer->stride(webrtc::kYPlane),
       // Swap U and V, since we have NV21, not NV12.
-      buffer->MutableDataV(), buffer->StrideV(),
-      buffer->MutableDataU(), buffer->StrideU(),
+      buffer->MutableData(webrtc::kVPlane), buffer->stride(webrtc::kVPlane),
+      buffer->MutableData(webrtc::kUPlane), buffer->stride(webrtc::kUPlane),
       crop_width, crop_height, static_cast<libyuv::RotationMode>(
           capturer_->apply_rotation() ? rotation : 0));