Update EncodedFrameForMediaTransport to use Retain() rather than set_buffer + memcpy.

Bug: webrtc:9378
Change-Id: I7f0d0f57bc38ecb25dd7de873c7c96a944ffb307
Reviewed-on: https://webrtc-review.googlesource.com/c/122781
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26665}
diff --git a/video/video_receive_stream.cc b/video/video_receive_stream.cc
index 92f1571..c92a349 100644
--- a/video/video_receive_stream.cc
+++ b/video/video_receive_stream.cc
@@ -130,14 +130,8 @@
     // buffer, in which case we need to make an owned copy.
     *static_cast<class EncodedImage*>(this) = frame.encoded_image();
 
-    if (buffer()) {
-      // Unowned data. Make a copy we own.
-      set_buffer(nullptr, 0);
-
-      VerifyAndAllocate(frame.encoded_image().size());
-      set_size(frame.encoded_image().size());
-      memcpy(data(), frame.encoded_image().data(), size());
-    }
+    // If we don't already own the buffer, make a copy.
+    Retain();
 
     _payloadType = static_cast<uint8_t>(frame.payload_type());