OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "base/logging.h" | 5 #include "base/logging.h" |
6 #include "content/renderer/media/mock_media_stream_dependency_factory.h" | 6 #include "content/renderer/media/mock_media_stream_dependency_factory.h" |
7 #include "content/renderer/media/mock_peer_connection_impl.h" | 7 #include "content/renderer/media/mock_peer_connection_impl.h" |
8 #include "third_party/libjingle/source/talk/session/phone/webrtcmediaengine.h" | 8 #include "third_party/libjingle/source/talk/app/webrtc/mediastream.h" |
| 9 #include "third_party/libjingle/source/talk/base/scoped_ref_ptr.h" |
| 10 |
| 11 namespace webrtc { |
| 12 |
| 13 template <class TrackType> |
| 14 class MockMediaStreamTrackList |
| 15 : public MediaStreamTrackListInterface<TrackType> { |
| 16 public: |
| 17 virtual size_t count() OVERRIDE { |
| 18 return tracks_.size(); |
| 19 } |
| 20 virtual TrackType* at(size_t index) OVERRIDE { |
| 21 return tracks_[index]; |
| 22 } |
| 23 void AddTrack(TrackType* track) { |
| 24 tracks_.push_back(track); |
| 25 } |
| 26 |
| 27 protected: |
| 28 virtual ~MockMediaStreamTrackList() {} |
| 29 |
| 30 private: |
| 31 std::vector<TrackType*> tracks_; |
| 32 }; |
| 33 |
| 34 typedef MockMediaStreamTrackList<AudioTrackInterface> MockAudioTracks; |
| 35 typedef MockMediaStreamTrackList<VideoTrackInterface> MockVideoTracks; |
| 36 |
| 37 class MockLocalMediaStream : public LocalMediaStreamInterface { |
| 38 public: |
| 39 explicit MockLocalMediaStream(std::string label) |
| 40 : label_(label), |
| 41 audio_tracks_(new talk_base::RefCountedObject<MockAudioTracks>), |
| 42 video_tracks_(new talk_base::RefCountedObject<MockVideoTracks>) { |
| 43 } |
| 44 virtual bool AddTrack(AudioTrackInterface* track) OVERRIDE { |
| 45 audio_tracks_->AddTrack(track); |
| 46 return true; |
| 47 } |
| 48 virtual bool AddTrack(VideoTrackInterface* track) OVERRIDE { |
| 49 video_tracks_->AddTrack(track); |
| 50 return true; |
| 51 } |
| 52 virtual std::string label() const OVERRIDE { return label_; } |
| 53 virtual AudioTracks* audio_tracks() OVERRIDE { |
| 54 return audio_tracks_; |
| 55 } |
| 56 virtual VideoTracks* video_tracks() OVERRIDE { |
| 57 return video_tracks_; |
| 58 } |
| 59 virtual ReadyState ready_state() OVERRIDE { |
| 60 NOTIMPLEMENTED(); |
| 61 return kInitializing; |
| 62 } |
| 63 virtual void set_ready_state(ReadyState state) OVERRIDE { NOTIMPLEMENTED(); } |
| 64 virtual void RegisterObserver(ObserverInterface* observer) OVERRIDE { |
| 65 NOTIMPLEMENTED(); |
| 66 } |
| 67 virtual void UnregisterObserver(ObserverInterface* observer) { |
| 68 NOTIMPLEMENTED(); |
| 69 } |
| 70 |
| 71 protected: |
| 72 virtual ~MockLocalMediaStream() {} |
| 73 |
| 74 private: |
| 75 std::string label_; |
| 76 talk_base::scoped_refptr<MockAudioTracks> audio_tracks_; |
| 77 talk_base::scoped_refptr<MockVideoTracks> video_tracks_; |
| 78 }; |
| 79 |
| 80 cricket::VideoCapturer* MockLocalVideoTrack::GetVideoCapture() { |
| 81 NOTIMPLEMENTED(); |
| 82 return NULL; |
| 83 } |
| 84 |
| 85 void MockLocalVideoTrack::SetRenderer(VideoRendererWrapperInterface* renderer) { |
| 86 renderer_ = renderer; |
| 87 } |
| 88 |
| 89 VideoRendererWrapperInterface* MockLocalVideoTrack::GetRenderer() { |
| 90 NOTIMPLEMENTED(); |
| 91 return NULL; |
| 92 } |
| 93 |
| 94 std::string MockLocalVideoTrack::kind() const { |
| 95 NOTIMPLEMENTED(); |
| 96 return ""; |
| 97 } |
| 98 |
| 99 std::string MockLocalVideoTrack::label() const { return label_; } |
| 100 |
| 101 bool MockLocalVideoTrack::enabled() const { return enabled_; } |
| 102 |
| 103 MockLocalVideoTrack::TrackState MockLocalVideoTrack::state() const { |
| 104 NOTIMPLEMENTED(); |
| 105 return kInitializing; |
| 106 } |
| 107 |
| 108 bool MockLocalVideoTrack::set_enabled(bool enable) { |
| 109 enabled_ = enable; |
| 110 return true; |
| 111 } |
| 112 |
| 113 bool MockLocalVideoTrack::set_state(TrackState new_state) { |
| 114 NOTIMPLEMENTED(); |
| 115 return false; |
| 116 } |
| 117 |
| 118 void MockLocalVideoTrack::RegisterObserver(ObserverInterface* observer) { |
| 119 NOTIMPLEMENTED(); |
| 120 } |
| 121 |
| 122 void MockLocalVideoTrack::UnregisterObserver(ObserverInterface* observer) { |
| 123 NOTIMPLEMENTED(); |
| 124 } |
| 125 |
| 126 } // namespace webrtc |
9 | 127 |
10 MockMediaStreamDependencyFactory::MockMediaStreamDependencyFactory() | 128 MockMediaStreamDependencyFactory::MockMediaStreamDependencyFactory() |
11 : mock_pc_factory_created_(false) { | 129 : mock_pc_factory_created_(false) { |
12 } | 130 } |
13 | 131 |
14 MockMediaStreamDependencyFactory::~MockMediaStreamDependencyFactory() {} | 132 MockMediaStreamDependencyFactory::~MockMediaStreamDependencyFactory() {} |
15 | 133 |
16 cricket::WebRtcMediaEngine* | |
17 MockMediaStreamDependencyFactory::CreateWebRtcMediaEngine() { | |
18 return new cricket::WebRtcMediaEngine(NULL, NULL, NULL); | |
19 } | |
20 | |
21 bool MockMediaStreamDependencyFactory::CreatePeerConnectionFactory( | 134 bool MockMediaStreamDependencyFactory::CreatePeerConnectionFactory( |
22 cricket::MediaEngineInterface* media_engine, | 135 talk_base::Thread* worker_thread, |
23 talk_base::Thread* worker_thread) { | 136 talk_base::Thread* signaling_thread, |
| 137 content::P2PSocketDispatcher* socket_dispatcher, |
| 138 talk_base::NetworkManager* network_manager, |
| 139 talk_base::PacketSocketFactory* socket_factory) { |
24 mock_pc_factory_created_ = true; | 140 mock_pc_factory_created_ = true; |
25 media_engine_.reset(media_engine); | |
26 return true; | 141 return true; |
27 } | 142 } |
28 | 143 |
29 void MockMediaStreamDependencyFactory::DeletePeerConnectionFactory() { | 144 void MockMediaStreamDependencyFactory::ReleasePeerConnectionFactory() { |
30 mock_pc_factory_created_ = false; | 145 mock_pc_factory_created_ = false; |
31 } | 146 } |
32 | 147 |
33 bool MockMediaStreamDependencyFactory::PeerConnectionFactoryCreated() { | 148 bool MockMediaStreamDependencyFactory::PeerConnectionFactoryCreated() { |
34 return mock_pc_factory_created_; | 149 return mock_pc_factory_created_; |
35 } | 150 } |
36 | 151 |
37 cricket::PortAllocator* MockMediaStreamDependencyFactory::CreatePortAllocator( | 152 talk_base::scoped_refptr<webrtc::PeerConnectionInterface> |
38 content::P2PSocketDispatcher* socket_dispatcher, | 153 MockMediaStreamDependencyFactory::CreatePeerConnection( |
39 talk_base::NetworkManager* network_manager, | 154 const std::string& config, |
40 talk_base::PacketSocketFactory* socket_factory, | 155 webrtc::PeerConnectionObserver* observer) { |
41 const webkit_glue::P2PTransport::Config& config) { | 156 DCHECK(mock_pc_factory_created_); |
| 157 return new talk_base::RefCountedObject<webrtc::MockPeerConnectionImpl>(); |
| 158 } |
| 159 |
| 160 talk_base::scoped_refptr<webrtc::LocalMediaStreamInterface> |
| 161 MockMediaStreamDependencyFactory::CreateLocalMediaStream( |
| 162 const std::string& label) { |
| 163 talk_base::scoped_refptr<webrtc::LocalMediaStreamInterface> stream( |
| 164 new talk_base::RefCountedObject<webrtc::MockLocalMediaStream>(label)); |
| 165 return stream; |
| 166 } |
| 167 |
| 168 talk_base::scoped_refptr<webrtc::LocalVideoTrackInterface> |
| 169 MockMediaStreamDependencyFactory::CreateLocalVideoTrack( |
| 170 const std::string& label, |
| 171 cricket::VideoCapturer* video_device) { |
| 172 talk_base::scoped_refptr<webrtc::LocalVideoTrackInterface> stream( |
| 173 new talk_base::RefCountedObject<webrtc::MockLocalVideoTrack>(label)); |
| 174 return stream; |
| 175 } |
| 176 |
| 177 talk_base::scoped_refptr<webrtc::LocalAudioTrackInterface> |
| 178 MockMediaStreamDependencyFactory::CreateLocalAudioTrack( |
| 179 const std::string& label, |
| 180 webrtc::AudioDeviceModule* audio_device) { |
| 181 NOTIMPLEMENTED(); |
42 return NULL; | 182 return NULL; |
43 } | 183 } |
44 | |
45 webrtc::PeerConnection* MockMediaStreamDependencyFactory::CreatePeerConnection( | |
46 cricket::PortAllocator* port_allocator, | |
47 talk_base::Thread* signaling_thread) { | |
48 DCHECK(mock_pc_factory_created_); | |
49 return new webrtc::MockPeerConnectionImpl(); | |
50 } | |
OLD | NEW |