| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "remoting/host/fake_host_extension.h" | 5 #include "remoting/host/fake_host_extension.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "remoting/codec/video_encoder.h" | 10 #include "remoting/codec/video_encoder.h" |
| 11 #include "remoting/host/host_extension_session.h" | 11 #include "remoting/host/host_extension_session.h" |
| 12 #include "remoting/proto/control.pb.h" | 12 #include "remoting/proto/control.pb.h" |
| 13 #include "third_party/webrtc/modules/desktop_capture/desktop_capturer.h" | 13 #include "third_party/webrtc/modules/desktop_capture/desktop_capturer.h" |
| 14 | 14 |
| 15 namespace remoting { | 15 namespace remoting { |
| 16 | 16 |
| 17 class FakeExtension::Session : public HostExtensionSession { | 17 class FakeExtension::Session : public HostExtensionSession { |
| 18 public: | 18 public: |
| 19 Session(FakeExtension* extension, const std::string& message_type); | 19 Session(FakeExtension* extension, const std::string& message_type); |
| 20 virtual ~Session() {} | 20 virtual ~Session() {} |
| 21 | 21 |
| 22 virtual scoped_ptr<webrtc::DesktopCapturer> OnCreateVideoCapturer( | 22 // HostExtensionSession interface. |
| 23 scoped_ptr<webrtc::DesktopCapturer> encoder) OVERRIDE; | 23 virtual void OnCreateVideoCapturer( |
| 24 virtual scoped_ptr<VideoEncoder> OnCreateVideoEncoder( | 24 scoped_ptr<webrtc::DesktopCapturer>* encoder) OVERRIDE; |
| 25 scoped_ptr<VideoEncoder> encoder) OVERRIDE; | 25 virtual void OnCreateVideoEncoder(scoped_ptr<VideoEncoder>* encoder) OVERRIDE; |
| 26 virtual bool ModifiesVideoPipeline() const OVERRIDE; | 26 virtual bool ModifiesVideoPipeline() const OVERRIDE; |
| 27 virtual bool OnExtensionMessage( | 27 virtual bool OnExtensionMessage( |
| 28 ClientSessionControl* client_session_control, | 28 ClientSessionControl* client_session_control, |
| 29 protocol::ClientStub* client_stub, | 29 protocol::ClientStub* client_stub, |
| 30 const protocol::ExtensionMessage& message) OVERRIDE; | 30 const protocol::ExtensionMessage& message) OVERRIDE; |
| 31 | 31 |
| 32 private: | 32 private: |
| 33 FakeExtension* extension_; | 33 FakeExtension* extension_; |
| 34 std::string message_type_; | 34 std::string message_type_; |
| 35 | 35 |
| 36 DISALLOW_COPY_AND_ASSIGN(Session); | 36 DISALLOW_COPY_AND_ASSIGN(Session); |
| 37 }; | 37 }; |
| 38 | 38 |
| 39 FakeExtension::Session::Session( | 39 FakeExtension::Session::Session( |
| 40 FakeExtension* extension, const std::string& message_type) | 40 FakeExtension* extension, const std::string& message_type) |
| 41 : extension_(extension), | 41 : extension_(extension), |
| 42 message_type_(message_type) { | 42 message_type_(message_type) { |
| 43 } | 43 } |
| 44 | 44 |
| 45 scoped_ptr<webrtc::DesktopCapturer> | 45 void FakeExtension::Session::OnCreateVideoCapturer( |
| 46 FakeExtension::Session::OnCreateVideoCapturer( | 46 scoped_ptr<webrtc::DesktopCapturer>* capturer) { |
| 47 scoped_ptr<webrtc::DesktopCapturer> capturer) { | |
| 48 extension_->has_wrapped_video_capturer_ = true; | 47 extension_->has_wrapped_video_capturer_ = true; |
| 49 if (extension_->steal_video_capturer_) { | 48 if (extension_->steal_video_capturer_) { |
| 50 capturer.reset(); | 49 capturer->reset(); |
| 51 } | 50 } |
| 52 return capturer.Pass(); | |
| 53 } | 51 } |
| 54 | 52 |
| 55 scoped_ptr<VideoEncoder> FakeExtension::Session::OnCreateVideoEncoder( | 53 void FakeExtension::Session::OnCreateVideoEncoder( |
| 56 scoped_ptr<VideoEncoder> encoder) { | 54 scoped_ptr<VideoEncoder>* encoder) { |
| 57 extension_->has_wrapped_video_encoder_ = true; | 55 extension_->has_wrapped_video_encoder_ = true; |
| 58 return encoder.Pass(); | |
| 59 } | 56 } |
| 60 | 57 |
| 61 bool FakeExtension::Session::ModifiesVideoPipeline() const { | 58 bool FakeExtension::Session::ModifiesVideoPipeline() const { |
| 62 return extension_->steal_video_capturer_; | 59 return extension_->steal_video_capturer_; |
| 63 } | 60 } |
| 64 | 61 |
| 65 bool FakeExtension::Session::OnExtensionMessage( | 62 bool FakeExtension::Session::OnExtensionMessage( |
| 66 ClientSessionControl* client_session_control, | 63 ClientSessionControl* client_session_control, |
| 67 protocol::ClientStub* client_stub, | 64 protocol::ClientStub* client_stub, |
| 68 const protocol::ExtensionMessage& message) { | 65 const protocol::ExtensionMessage& message) { |
| (...skipping 24 matching lines...) Expand all Loading... |
| 93 | 90 |
| 94 scoped_ptr<HostExtensionSession> FakeExtension::CreateExtensionSession( | 91 scoped_ptr<HostExtensionSession> FakeExtension::CreateExtensionSession( |
| 95 ClientSessionControl* client_session_control, | 92 ClientSessionControl* client_session_control, |
| 96 protocol::ClientStub* client_stub) { | 93 protocol::ClientStub* client_stub) { |
| 97 DCHECK(!was_instantiated()); | 94 DCHECK(!was_instantiated()); |
| 98 was_instantiated_ = true; | 95 was_instantiated_ = true; |
| 99 scoped_ptr<HostExtensionSession> session(new Session(this, message_type_)); | 96 scoped_ptr<HostExtensionSession> session(new Session(this, message_type_)); |
| 100 return session.Pass(); | 97 return session.Pass(); |
| 101 } | 98 } |
| 102 | 99 |
| 103 void FakeExtension::set_steal_video_capturer(bool steal_video_capturer) { | |
| 104 steal_video_capturer_ = steal_video_capturer; | |
| 105 } | |
| 106 | |
| 107 bool FakeExtension::has_wrapped_video_encoder() { | |
| 108 DCHECK(was_instantiated()); | |
| 109 return has_wrapped_video_encoder_; | |
| 110 } | |
| 111 | |
| 112 bool FakeExtension::has_wrapped_video_capturer() { | |
| 113 DCHECK(was_instantiated()); | |
| 114 return has_wrapped_video_capturer_; | |
| 115 } | |
| 116 | |
| 117 bool FakeExtension::has_handled_message() { | |
| 118 DCHECK(was_instantiated()); | |
| 119 return has_handled_message_; | |
| 120 } | |
| 121 | |
| 122 } // namespace remoting | 100 } // namespace remoting |
| OLD | NEW |