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());