Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(406)

Unified Diff: webrtc/sdk/objc/Framework/Classes/avfoundationvideocapturer.mm

Issue 2278883002: Move MutableDataY{,U,V} methods to I420Buffer only. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Rebase. Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/sdk/objc/Framework/Classes/avfoundationvideocapturer.mm
diff --git a/webrtc/sdk/objc/Framework/Classes/avfoundationvideocapturer.mm b/webrtc/sdk/objc/Framework/Classes/avfoundationvideocapturer.mm
index 625f83dccaca12e88be1c25b1f6886ca55e3c393..7392ca5cd71f4b4c80db585fb35201356e7daf91 100644
--- a/webrtc/sdk/objc/Framework/Classes/avfoundationvideocapturer.mm
+++ b/webrtc/sdk/objc/Framework/Classes/avfoundationvideocapturer.mm
@@ -784,17 +784,20 @@ void AVFoundationVideoCapturer::OnFrameMessage(CVImageBufferRef image_buffer,
} else {
// Applying rotation is only supported for legacy reasons and performance
// is not critical here.
- buffer = (rotation == webrtc::kVideoRotation_180)
- ? I420Buffer::Create(adapted_width, adapted_height)
- : I420Buffer::Create(adapted_height, adapted_width);
- libyuv::I420Rotate(scaled_buffer->DataY(), scaled_buffer->StrideY(),
- scaled_buffer->DataU(), scaled_buffer->StrideU(),
- scaled_buffer->DataV(), scaled_buffer->StrideV(),
- buffer->MutableDataY(), buffer->StrideY(),
- buffer->MutableDataU(), buffer->StrideU(),
- buffer->MutableDataV(), buffer->StrideV(),
- crop_width, crop_height,
- static_cast<libyuv::RotationMode>(rotation));
+ rtc::scoped_refptr<webrtc::I420Buffer> rotated_buffer(
+ (rotation == webrtc::kVideoRotation_180)
+ ? I420Buffer::Create(adapted_width, adapted_height)
+ : I420Buffer::Create(adapted_height, adapted_width));
+ libyuv::I420Rotate(
+ scaled_buffer->DataY(), scaled_buffer->StrideY(),
+ scaled_buffer->DataU(), scaled_buffer->StrideU(),
+ scaled_buffer->DataV(), scaled_buffer->StrideV(),
+ rotated_buffer->MutableDataY(), rotated_buffer->StrideY(),
+ rotated_buffer->MutableDataU(), rotated_buffer->StrideU(),
+ rotated_buffer->MutableDataV(), rotated_buffer->StrideV(),
+ crop_width, crop_height,
+ static_cast<libyuv::RotationMode>(rotation));
+ buffer = rotated_buffer;
}
}

Powered by Google App Engine
This is Rietveld 408576698