From 966bcc4bd5cc7aee5963e784ddf0caf668b2d6e6 Mon Sep 17 00:00:00 2001 From: Zeke Chin Date: Sat, 15 Feb 2020 02:09:23 +0000 Subject: [PATCH] Revert "Update RTCEncodedImage to not use deprecated mutable_data call." MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 677e62785dd39cbc730edcbb7ef99909dd292b11. Reason for revert: The RTC_DCHECK_EQ(self.buffer.bytes, self.encodedData->data()) line is triggering for every call Original change's description: > Update RTCEncodedImage to not use deprecated mutable_data call. > > Bug: webrtc:9378 > Change-Id: If1e6284e2d11009097c87d15b98a2768a1d71521 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168524 > Commit-Queue: Kári Helgason > Reviewed-by: Niels Moller > Cr-Commit-Position: refs/heads/master@{#30518} TBR=nisse@webrtc.org,kthelgason@webrtc.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: webrtc:9378 Change-Id: I91b6df1148224785c209a7306ec186a952f5e289 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168620 Reviewed-by: Zeke Chin Commit-Queue: Zeke Chin Cr-Commit-Position: refs/heads/master@{#30527} --- .../api/peerconnection/RTCEncodedImage+Private.mm | 11 ++++------- .../unittests/objc_video_decoder_factory_tests.mm | 2 -- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/sdk/objc/api/peerconnection/RTCEncodedImage+Private.mm b/sdk/objc/api/peerconnection/RTCEncodedImage+Private.mm index 80fabd8ca6..f1df13e554 100644 --- a/sdk/objc/api/peerconnection/RTCEncodedImage+Private.mm +++ b/sdk/objc/api/peerconnection/RTCEncodedImage+Private.mm @@ -51,10 +51,9 @@ - (instancetype)initWithNativeEncodedImage:(const webrtc::EncodedImage &)encodedImage { if (self = [super init]) { - self.encodedData = encodedImage.GetEncodedData(); // Wrap the buffer in NSData without copying, do not take ownership. - self.buffer = [NSData dataWithBytesNoCopy:self.encodedData->data() - length:self.encodedData->size() + self.buffer = [NSData dataWithBytesNoCopy:encodedImage.mutable_data() + length:encodedImage.size() freeWhenDone:NO]; self.encodedWidth = rtc::dchecked_cast(encodedImage._encodedWidth); self.encodedHeight = rtc::dchecked_cast(encodedImage._encodedHeight); @@ -78,10 +77,8 @@ - (webrtc::EncodedImage)nativeEncodedImage { // Return the pointer without copying. - webrtc::EncodedImage encodedImage; - RTC_DCHECK_EQ(self.buffer.bytes, self.encodedData->data()); - encodedImage.SetEncodedData(self.encodedData); - encodedImage.set_size(self.buffer.length); + webrtc::EncodedImage encodedImage( + (uint8_t *)self.buffer.bytes, (size_t)self.buffer.length, (size_t)self.buffer.length); encodedImage._encodedWidth = rtc::dchecked_cast(self.encodedWidth); encodedImage._encodedHeight = rtc::dchecked_cast(self.encodedHeight); encodedImage.SetTimestamp(self.timeStamp); diff --git a/sdk/objc/unittests/objc_video_decoder_factory_tests.mm b/sdk/objc/unittests/objc_video_decoder_factory_tests.mm index bd31a6eb0d..2246eaaf5c 100644 --- a/sdk/objc/unittests/objc_video_decoder_factory_tests.mm +++ b/sdk/objc/unittests/objc_video_decoder_factory_tests.mm @@ -70,7 +70,6 @@ TEST(ObjCVideoDecoderFactoryTest, DecodeReturnsOKOnSuccess) { std::unique_ptr decoder = GetObjCDecoder(CreateOKDecoderFactory()); webrtc::EncodedImage encoded_image; - encoded_image.SetEncodedData(webrtc::EncodedImageBuffer::Create()); EXPECT_EQ(decoder->Decode(encoded_image, false, 0), WEBRTC_VIDEO_CODEC_OK); } @@ -79,7 +78,6 @@ TEST(ObjCVideoDecoderFactoryTest, DecodeReturnsErrorOnFail) { std::unique_ptr decoder = GetObjCDecoder(CreateErrorDecoderFactory()); webrtc::EncodedImage encoded_image; - encoded_image.SetEncodedData(webrtc::EncodedImageBuffer::Create()); EXPECT_EQ(decoder->Decode(encoded_image, false, 0), WEBRTC_VIDEO_CODEC_ERROR); }