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

Unified Diff: content/browser/media/capture/desktop_capture_device_unittest.cc

Issue 2050353002: Update webrtc::DesktopCapturer clients to implement OnCaptureResult(). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix chromeos Created 4 years, 6 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: content/browser/media/capture/desktop_capture_device_unittest.cc
diff --git a/content/browser/media/capture/desktop_capture_device_unittest.cc b/content/browser/media/capture/desktop_capture_device_unittest.cc
index 738c85d80b493f48694f1f9e1f710a4c6f4c63da..63f655f4b3436c3534cee1c414d8bdfe3b44d16b 100644
--- a/content/browser/media/capture/desktop_capture_device_unittest.cc
+++ b/content/browser/media/capture/desktop_capture_device_unittest.cc
@@ -111,15 +111,15 @@ class MockDeviceClient : public media::VideoCaptureDevice::Client {
// Creates a DesktopFrame that has the first pixel bytes set to
// kFakePixelValueFirst, and the rest of the bytes set to kFakePixelValue, for
// UnpackedFrame and InvertedFrame verification.
-webrtc::BasicDesktopFrame* CreateBasicFrame(const webrtc::DesktopSize& size) {
- webrtc::BasicDesktopFrame* frame = new webrtc::BasicDesktopFrame(size);
+std::unique_ptr<webrtc::BasicDesktopFrame> CreateBasicFrame(
+ const webrtc::DesktopSize& size) {
+ std::unique_ptr<webrtc::BasicDesktopFrame> frame(
+ new webrtc::BasicDesktopFrame(size));
DCHECK_EQ(frame->size().width() * webrtc::DesktopFrame::kBytesPerPixel,
frame->stride());
- memset(frame->data(),
- kFakePixelValue,
+ memset(frame->data(), kFakePixelValue,
frame->stride() * frame->size().height());
- memset(frame->data(),
- kFakePixelValueFirst,
+ memset(frame->data(), kFakePixelValueFirst,
webrtc::DesktopFrame::kBytesPerPixel);
return frame;
}
@@ -129,16 +129,16 @@ webrtc::BasicDesktopFrame* CreateBasicFrame(const webrtc::DesktopSize& size) {
class InvertedDesktopFrame : public webrtc::DesktopFrame {
public:
// Takes ownership of |frame|.
- explicit InvertedDesktopFrame(webrtc::DesktopFrame* frame)
+ explicit InvertedDesktopFrame(std::unique_ptr<webrtc::DesktopFrame> frame)
: webrtc::DesktopFrame(
frame->size(),
-frame->stride(),
frame->data() + (frame->size().height() - 1) * frame->stride(),
- frame->shared_memory()),
- original_frame_(frame) {
+ frame->shared_memory()) {
set_dpi(frame->dpi());
set_capture_time_ms(frame->capture_time_ms());
mutable_updated_region()->Swap(frame->mutable_updated_region());
+ original_frame_ = std::move(frame);
}
~InvertedDesktopFrame() override {}
@@ -152,17 +152,15 @@ class InvertedDesktopFrame : public webrtc::DesktopFrame {
class UnpackedDesktopFrame : public webrtc::DesktopFrame {
public:
// Takes ownership of |frame|.
- explicit UnpackedDesktopFrame(webrtc::DesktopFrame* frame)
+ explicit UnpackedDesktopFrame(std::unique_ptr<webrtc::DesktopFrame> frame)
: webrtc::DesktopFrame(
frame->size(),
frame->stride() * 2,
new uint8_t[frame->stride() * 2 * frame->size().height()],
- NULL) {
+ nullptr) {
memset(data(), kFramePaddingValue, stride() * size().height());
- CopyPixelsFrom(*frame,
- webrtc::DesktopVector(),
+ CopyPixelsFrom(*frame, webrtc::DesktopVector(),
webrtc::DesktopRect::MakeSize(size()));
- delete frame;
}
~UnpackedDesktopFrame() override {
delete[] data_;
@@ -203,14 +201,15 @@ class FakeScreenCapturer : public webrtc::ScreenCapturer {
}
frame_index_++;
- webrtc::DesktopFrame* frame = CreateBasicFrame(size);
+ std::unique_ptr<webrtc::DesktopFrame> frame = CreateBasicFrame(size);
if (generate_inverted_frames_) {
- frame = new InvertedDesktopFrame(frame);
+ frame.reset(new InvertedDesktopFrame(std::move(frame)));
} else if (generate_cropped_frames_) {
- frame = new UnpackedDesktopFrame(frame);
+ frame.reset(new UnpackedDesktopFrame(std::move(frame)));
}
- callback_->OnCaptureCompleted(frame);
+ callback_->OnCaptureResult(webrtc::DesktopCapturer::Result::SUCCESS,
+ std::move(frame));
}
bool GetScreenList(ScreenList* screens) override { return false; }
@@ -498,8 +497,8 @@ TEST_F(DesktopCaptureDeviceTest, UnpackedFrame) {
// Verifies that |output_frame_| has the same data as a packed frame of the
// same size.
- std::unique_ptr<webrtc::BasicDesktopFrame> expected_frame(CreateBasicFrame(
- webrtc::DesktopSize(kTestFrameWidth1, kTestFrameHeight1)));
+ std::unique_ptr<webrtc::BasicDesktopFrame> expected_frame = CreateBasicFrame(
+ webrtc::DesktopSize(kTestFrameWidth1, kTestFrameHeight1));
EXPECT_EQ(output_frame_->stride() * output_frame_->size().height(),
frame_size);
EXPECT_EQ(
« no previous file with comments | « content/browser/media/capture/desktop_capture_device.cc ('k') | remoting/host/chromeos/aura_desktop_capturer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698