| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/media/native_desktop_media_list.h" | 5 #include "chrome/browser/media/native_desktop_media_list.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 #include <string.h> | 9 #include <string.h> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 60 class FakeScreenCapturer : public webrtc::ScreenCapturer { | 60 class FakeScreenCapturer : public webrtc::ScreenCapturer { |
| 61 public: | 61 public: |
| 62 FakeScreenCapturer() {} | 62 FakeScreenCapturer() {} |
| 63 ~FakeScreenCapturer() override {} | 63 ~FakeScreenCapturer() override {} |
| 64 | 64 |
| 65 // webrtc::ScreenCapturer implementation. | 65 // webrtc::ScreenCapturer implementation. |
| 66 void Start(Callback* callback) override { callback_ = callback; } | 66 void Start(Callback* callback) override { callback_ = callback; } |
| 67 | 67 |
| 68 void Capture(const webrtc::DesktopRegion& region) override { | 68 void Capture(const webrtc::DesktopRegion& region) override { |
| 69 DCHECK(callback_); | 69 DCHECK(callback_); |
| 70 webrtc::DesktopFrame* frame = | 70 std::unique_ptr<webrtc::DesktopFrame> frame( |
| 71 new webrtc::BasicDesktopFrame(webrtc::DesktopSize(10, 10)); | 71 new webrtc::BasicDesktopFrame(webrtc::DesktopSize(10, 10))); |
| 72 memset(frame->data(), 0, frame->stride() * frame->size().height()); | 72 memset(frame->data(), 0, frame->stride() * frame->size().height()); |
| 73 callback_->OnCaptureCompleted(frame); | 73 callback_->OnCaptureResult(webrtc::DesktopCapturer::Result::SUCCESS, |
| 74 std::move(frame)); |
| 74 } | 75 } |
| 75 | 76 |
| 76 bool GetScreenList(ScreenList* screens) override { | 77 bool GetScreenList(ScreenList* screens) override { |
| 77 webrtc::ScreenCapturer::Screen screen; | 78 webrtc::ScreenCapturer::Screen screen; |
| 78 screen.id = 0; | 79 screen.id = 0; |
| 79 screens->push_back(screen); | 80 screens->push_back(screen); |
| 80 return true; | 81 return true; |
| 81 } | 82 } |
| 82 | 83 |
| 83 bool SelectScreen(webrtc::ScreenId id) override { | 84 bool SelectScreen(webrtc::ScreenId id) override { |
| (...skipping 30 matching lines...) Expand all Loading... |
| 114 void Start(Callback* callback) override { callback_ = callback; } | 115 void Start(Callback* callback) override { callback_ = callback; } |
| 115 | 116 |
| 116 void Capture(const webrtc::DesktopRegion& region) override { | 117 void Capture(const webrtc::DesktopRegion& region) override { |
| 117 DCHECK(callback_); | 118 DCHECK(callback_); |
| 118 | 119 |
| 119 base::AutoLock lock(frame_values_lock_); | 120 base::AutoLock lock(frame_values_lock_); |
| 120 | 121 |
| 121 std::map<WindowId, int8_t>::iterator it = | 122 std::map<WindowId, int8_t>::iterator it = |
| 122 frame_values_.find(selected_window_id_); | 123 frame_values_.find(selected_window_id_); |
| 123 int8_t value = (it != frame_values_.end()) ? it->second : 0; | 124 int8_t value = (it != frame_values_.end()) ? it->second : 0; |
| 124 webrtc::DesktopFrame* frame = | 125 std::unique_ptr<webrtc::DesktopFrame> frame( |
| 125 new webrtc::BasicDesktopFrame(webrtc::DesktopSize(10, 10)); | 126 new webrtc::BasicDesktopFrame(webrtc::DesktopSize(10, 10))); |
| 126 memset(frame->data(), value, frame->stride() * frame->size().height()); | 127 memset(frame->data(), value, frame->stride() * frame->size().height()); |
| 127 callback_->OnCaptureCompleted(frame); | 128 callback_->OnCaptureResult(webrtc::DesktopCapturer::Result::SUCCESS, |
| 129 std::move(frame)); |
| 128 } | 130 } |
| 129 | 131 |
| 130 bool GetWindowList(WindowList* windows) override { | 132 bool GetWindowList(WindowList* windows) override { |
| 131 base::AutoLock lock(window_list_lock_); | 133 base::AutoLock lock(window_list_lock_); |
| 132 *windows = window_list_; | 134 *windows = window_list_; |
| 133 return true; | 135 return true; |
| 134 } | 136 } |
| 135 | 137 |
| 136 bool SelectWindow(WindowId id) override { | 138 bool SelectWindow(WindowId id) override { |
| 137 selected_window_id_ = id; | 139 selected_window_id_ = id; |
| (...skipping 367 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 505 QuitMessageLoop(message_loop()))); | 507 QuitMessageLoop(message_loop()))); |
| 506 | 508 |
| 507 // Swap the two windows. | 509 // Swap the two windows. |
| 508 webrtc::WindowCapturer::Window temp = window_list_[0]; | 510 webrtc::WindowCapturer::Window temp = window_list_[0]; |
| 509 window_list_[0] = window_list_[1]; | 511 window_list_[0] = window_list_[1]; |
| 510 window_list_[1] = temp; | 512 window_list_[1] = temp; |
| 511 window_capturer_->SetWindowList(window_list_); | 513 window_capturer_->SetWindowList(window_list_); |
| 512 | 514 |
| 513 message_loop()->Run(); | 515 message_loop()->Run(); |
| 514 } | 516 } |
| OLD | NEW |