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 "content/renderer/media/mock_peer_connection_impl.h" | 5 #include "content/renderer/media/mock_peer_connection_impl.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "content/renderer/media/webrtc/mock_peer_connection_dependency_factory.
h" | 10 #include "content/renderer/media/webrtc/mock_peer_connection_dependency_factory.
h" |
11 | 11 |
12 using testing::_; | 12 using testing::_; |
13 using webrtc::AudioTrackInterface; | 13 using webrtc::AudioTrackInterface; |
14 using webrtc::CreateSessionDescriptionObserver; | 14 using webrtc::CreateSessionDescriptionObserver; |
15 using webrtc::DtmfSenderInterface; | 15 using webrtc::DtmfSenderInterface; |
16 using webrtc::DtmfSenderObserverInterface; | 16 using webrtc::DtmfSenderObserverInterface; |
17 using webrtc::IceCandidateInterface; | 17 using webrtc::IceCandidateInterface; |
18 using webrtc::MediaConstraintsInterface; | 18 using webrtc::MediaConstraintsInterface; |
19 using webrtc::MediaStreamInterface; | 19 using webrtc::MediaStreamInterface; |
20 using webrtc::PeerConnectionInterface; | 20 using webrtc::PeerConnectionInterface; |
21 using webrtc::SessionDescriptionInterface; | 21 using webrtc::SessionDescriptionInterface; |
22 using webrtc::SetSessionDescriptionObserver; | 22 using webrtc::SetSessionDescriptionObserver; |
23 | 23 |
24 namespace content { | 24 namespace content { |
25 | 25 |
26 class MockStreamCollection : public webrtc::StreamCollectionInterface { | 26 class MockStreamCollection : public webrtc::StreamCollectionInterface { |
27 public: | 27 public: |
28 virtual size_t count() override { | 28 size_t count() override { return streams_.size(); } |
29 return streams_.size(); | 29 MediaStreamInterface* at(size_t index) override { return streams_[index]; } |
30 } | 30 MediaStreamInterface* find(const std::string& label) override { |
31 virtual MediaStreamInterface* at(size_t index) override { | |
32 return streams_[index]; | |
33 } | |
34 virtual MediaStreamInterface* find(const std::string& label) override { | |
35 for (size_t i = 0; i < streams_.size(); ++i) { | 31 for (size_t i = 0; i < streams_.size(); ++i) { |
36 if (streams_[i]->label() == label) | 32 if (streams_[i]->label() == label) |
37 return streams_[i]; | 33 return streams_[i]; |
38 } | 34 } |
39 return NULL; | 35 return NULL; |
40 } | 36 } |
41 virtual webrtc::MediaStreamTrackInterface* FindAudioTrack( | 37 webrtc::MediaStreamTrackInterface* FindAudioTrack( |
42 const std::string& id) override { | 38 const std::string& id) override { |
43 for (size_t i = 0; i < streams_.size(); ++i) { | 39 for (size_t i = 0; i < streams_.size(); ++i) { |
44 webrtc::MediaStreamTrackInterface* track = | 40 webrtc::MediaStreamTrackInterface* track = |
45 streams_.at(i)->FindAudioTrack(id); | 41 streams_.at(i)->FindAudioTrack(id); |
46 if (track) | 42 if (track) |
47 return track; | 43 return track; |
48 } | 44 } |
49 return NULL; | 45 return NULL; |
50 } | 46 } |
51 virtual webrtc::MediaStreamTrackInterface* FindVideoTrack( | 47 webrtc::MediaStreamTrackInterface* FindVideoTrack( |
52 const std::string& id) override { | 48 const std::string& id) override { |
53 for (size_t i = 0; i < streams_.size(); ++i) { | 49 for (size_t i = 0; i < streams_.size(); ++i) { |
54 webrtc::MediaStreamTrackInterface* track = | 50 webrtc::MediaStreamTrackInterface* track = |
55 streams_.at(i)->FindVideoTrack(id); | 51 streams_.at(i)->FindVideoTrack(id); |
56 if (track) | 52 if (track) |
57 return track; | 53 return track; |
58 } | 54 } |
59 return NULL; | 55 return NULL; |
60 } | 56 } |
61 void AddStream(MediaStreamInterface* stream) { | 57 void AddStream(MediaStreamInterface* stream) { |
62 streams_.push_back(stream); | 58 streams_.push_back(stream); |
63 } | 59 } |
64 void RemoveStream(MediaStreamInterface* stream) { | 60 void RemoveStream(MediaStreamInterface* stream) { |
65 StreamVector::iterator it = streams_.begin(); | 61 StreamVector::iterator it = streams_.begin(); |
66 for (; it != streams_.end(); ++it) { | 62 for (; it != streams_.end(); ++it) { |
67 if (it->get() == stream) { | 63 if (it->get() == stream) { |
68 streams_.erase(it); | 64 streams_.erase(it); |
69 break; | 65 break; |
70 } | 66 } |
71 } | 67 } |
72 } | 68 } |
73 | 69 |
74 protected: | 70 protected: |
75 virtual ~MockStreamCollection() {} | 71 ~MockStreamCollection() override {} |
76 | 72 |
77 private: | 73 private: |
78 typedef std::vector<rtc::scoped_refptr<MediaStreamInterface> > | 74 typedef std::vector<rtc::scoped_refptr<MediaStreamInterface> > |
79 StreamVector; | 75 StreamVector; |
80 StreamVector streams_; | 76 StreamVector streams_; |
81 }; | 77 }; |
82 | 78 |
83 class MockDataChannel : public webrtc::DataChannelInterface { | 79 class MockDataChannel : public webrtc::DataChannelInterface { |
84 public: | 80 public: |
85 MockDataChannel(const std::string& label, | 81 MockDataChannel(const std::string& label, |
86 const webrtc::DataChannelInit* config) | 82 const webrtc::DataChannelInit* config) |
87 : label_(label), | 83 : label_(label), |
88 reliable_(config->reliable), | 84 reliable_(config->reliable), |
89 state_(webrtc::DataChannelInterface::kConnecting), | 85 state_(webrtc::DataChannelInterface::kConnecting), |
90 config_(*config) { | 86 config_(*config) { |
91 } | 87 } |
92 | 88 |
93 virtual void RegisterObserver( | 89 void RegisterObserver(webrtc::DataChannelObserver* observer) override {} |
94 webrtc::DataChannelObserver* observer) override { | |
95 } | |
96 | 90 |
97 virtual void UnregisterObserver() override { | 91 void UnregisterObserver() override {} |
98 } | |
99 | 92 |
100 virtual std::string label() const override { | 93 std::string label() const override { return label_; } |
101 return label_; | |
102 } | |
103 | 94 |
104 virtual bool reliable() const override { | 95 bool reliable() const override { return reliable_; } |
105 return reliable_; | |
106 } | |
107 | 96 |
108 virtual bool ordered() const override { | 97 bool ordered() const override { return config_.ordered; } |
109 return config_.ordered; | |
110 } | |
111 | 98 |
112 virtual unsigned short maxRetransmitTime() const override { | 99 unsigned short maxRetransmitTime() const override { |
113 return config_.maxRetransmitTime; | 100 return config_.maxRetransmitTime; |
114 } | 101 } |
115 | 102 |
116 virtual unsigned short maxRetransmits() const override { | 103 unsigned short maxRetransmits() const override { |
117 return config_.maxRetransmits; | 104 return config_.maxRetransmits; |
118 } | 105 } |
119 | 106 |
120 virtual std::string protocol() const override { | 107 std::string protocol() const override { return config_.protocol; } |
121 return config_.protocol; | |
122 } | |
123 | 108 |
124 virtual bool negotiated() const override { | 109 bool negotiated() const override { return config_.negotiated; } |
125 return config_.negotiated; | |
126 } | |
127 | 110 |
128 virtual int id() const override { | 111 int id() const override { |
129 NOTIMPLEMENTED(); | 112 NOTIMPLEMENTED(); |
130 return 0; | 113 return 0; |
131 } | 114 } |
132 | 115 |
133 virtual DataState state() const override { | 116 DataState state() const override { return state_; } |
134 return state_; | |
135 } | |
136 | 117 |
137 virtual uint64 buffered_amount() const override { | 118 uint64 buffered_amount() const override { |
138 NOTIMPLEMENTED(); | 119 NOTIMPLEMENTED(); |
139 return 0; | 120 return 0; |
140 } | 121 } |
141 | 122 |
142 virtual void Close() override { | 123 void Close() override { state_ = webrtc::DataChannelInterface::kClosing; } |
143 state_ = webrtc::DataChannelInterface::kClosing; | |
144 } | |
145 | 124 |
146 virtual bool Send(const webrtc::DataBuffer& buffer) override { | 125 bool Send(const webrtc::DataBuffer& buffer) override { |
147 return state_ == webrtc::DataChannelInterface::kOpen; | 126 return state_ == webrtc::DataChannelInterface::kOpen; |
148 } | 127 } |
149 | 128 |
150 protected: | 129 protected: |
151 virtual ~MockDataChannel() {} | 130 ~MockDataChannel() override {} |
152 | 131 |
153 private: | 132 private: |
154 std::string label_; | 133 std::string label_; |
155 bool reliable_; | 134 bool reliable_; |
156 webrtc::DataChannelInterface::DataState state_; | 135 webrtc::DataChannelInterface::DataState state_; |
157 webrtc::DataChannelInit config_; | 136 webrtc::DataChannelInit config_; |
158 }; | 137 }; |
159 | 138 |
160 class MockDtmfSender : public DtmfSenderInterface { | 139 class MockDtmfSender : public DtmfSenderInterface { |
161 public: | 140 public: |
162 explicit MockDtmfSender(AudioTrackInterface* track) | 141 explicit MockDtmfSender(AudioTrackInterface* track) |
163 : track_(track), | 142 : track_(track), |
164 observer_(NULL), | 143 observer_(NULL), |
165 duration_(0), | 144 duration_(0), |
166 inter_tone_gap_(0) {} | 145 inter_tone_gap_(0) {} |
167 virtual void RegisterObserver( | 146 void RegisterObserver(DtmfSenderObserverInterface* observer) override { |
168 DtmfSenderObserverInterface* observer) override { | |
169 observer_ = observer; | 147 observer_ = observer; |
170 } | 148 } |
171 virtual void UnregisterObserver() override { | 149 void UnregisterObserver() override { observer_ = NULL; } |
172 observer_ = NULL; | 150 bool CanInsertDtmf() override { return true; } |
173 } | 151 bool InsertDtmf(const std::string& tones, |
174 virtual bool CanInsertDtmf() override { | 152 int duration, |
175 return true; | 153 int inter_tone_gap) override { |
176 } | |
177 virtual bool InsertDtmf(const std::string& tones, int duration, | |
178 int inter_tone_gap) override { | |
179 tones_ = tones; | 154 tones_ = tones; |
180 duration_ = duration; | 155 duration_ = duration; |
181 inter_tone_gap_ = inter_tone_gap; | 156 inter_tone_gap_ = inter_tone_gap; |
182 return true; | 157 return true; |
183 } | 158 } |
184 virtual const AudioTrackInterface* track() const override { | 159 const AudioTrackInterface* track() const override { return track_.get(); } |
185 return track_.get(); | 160 std::string tones() const override { return tones_; } |
186 } | 161 int duration() const override { return duration_; } |
187 virtual std::string tones() const override { | 162 int inter_tone_gap() const override { return inter_tone_gap_; } |
188 return tones_; | |
189 } | |
190 virtual int duration() const override { return duration_; } | |
191 virtual int inter_tone_gap() const override { return inter_tone_gap_; } | |
192 | 163 |
193 protected: | 164 protected: |
194 virtual ~MockDtmfSender() {} | 165 ~MockDtmfSender() override {} |
195 | 166 |
196 private: | 167 private: |
197 rtc::scoped_refptr<AudioTrackInterface> track_; | 168 rtc::scoped_refptr<AudioTrackInterface> track_; |
198 DtmfSenderObserverInterface* observer_; | 169 DtmfSenderObserverInterface* observer_; |
199 std::string tones_; | 170 std::string tones_; |
200 int duration_; | 171 int duration_; |
201 int inter_tone_gap_; | 172 int inter_tone_gap_; |
202 }; | 173 }; |
203 | 174 |
204 const char MockPeerConnectionImpl::kDummyOffer[] = "dummy offer"; | 175 const char MockPeerConnectionImpl::kDummyOffer[] = "dummy offer"; |
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
359 sdp_mline_index_ = candidate->sdp_mline_index(); | 330 sdp_mline_index_ = candidate->sdp_mline_index(); |
360 return candidate->ToString(&ice_sdp_); | 331 return candidate->ToString(&ice_sdp_); |
361 } | 332 } |
362 | 333 |
363 void MockPeerConnectionImpl::RegisterUMAObserver( | 334 void MockPeerConnectionImpl::RegisterUMAObserver( |
364 webrtc::UMAObserver* observer) { | 335 webrtc::UMAObserver* observer) { |
365 NOTIMPLEMENTED(); | 336 NOTIMPLEMENTED(); |
366 } | 337 } |
367 | 338 |
368 } // namespace content | 339 } // namespace content |
OLD | NEW |