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 <stddef.h> | 5 #include <stddef.h> |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/message_loop/message_loop.h" | 8 #include "base/message_loop/message_loop.h" |
9 #include "base/run_loop.h" | 9 #include "base/run_loop.h" |
10 #include "base/threading/thread.h" | 10 #include "base/threading/thread.h" |
11 #include "content/renderer/media/webrtc/media_stream_track_metrics.h" | 11 #include "content/renderer/media/webrtc/media_stream_track_metrics.h" |
12 #include "content/renderer/media/webrtc/mock_peer_connection_dependency_factory.
h" | 12 #include "content/renderer/media/webrtc/mock_peer_connection_dependency_factory.
h" |
13 #include "testing/gmock/include/gmock/gmock.h" | 13 #include "testing/gmock/include/gmock/gmock.h" |
14 #include "testing/gtest/include/gtest/gtest.h" | 14 #include "testing/gtest/include/gtest/gtest.h" |
15 #include "third_party/webrtc/api/mediastreaminterface.h" | 15 #include "third_party/webrtc/api/mediastreaminterface.h" |
16 | 16 |
17 using webrtc::AudioSourceInterface; | 17 using webrtc::AudioSourceInterface; |
18 using webrtc::AudioTrackInterface; | 18 using webrtc::AudioTrackInterface; |
19 using webrtc::AudioTrackSinkInterface; | 19 using webrtc::AudioTrackSinkInterface; |
20 using webrtc::MediaStreamInterface; | 20 using webrtc::MediaStreamInterface; |
21 using webrtc::ObserverInterface; | 21 using webrtc::ObserverInterface; |
22 using webrtc::PeerConnectionInterface; | 22 using webrtc::PeerConnectionInterface; |
23 using webrtc::VideoRendererInterface; | |
24 using webrtc::VideoTrackSourceInterface; | 23 using webrtc::VideoTrackSourceInterface; |
25 using webrtc::VideoTrackInterface; | 24 using webrtc::VideoTrackInterface; |
26 | 25 |
27 namespace content { | 26 namespace content { |
28 | 27 |
29 // A very simple mock that implements only the id() method. | 28 // A very simple mock that implements only the id() method. |
30 class MockAudioTrackInterface : public AudioTrackInterface { | 29 class MockAudioTrackInterface : public AudioTrackInterface { |
31 public: | 30 public: |
32 explicit MockAudioTrackInterface(const std::string& id) : id_(id) {} | 31 explicit MockAudioTrackInterface(const std::string& id) : id_(id) {} |
33 virtual ~MockAudioTrackInterface() {} | 32 virtual ~MockAudioTrackInterface() {} |
(...skipping 23 matching lines...) Expand all Loading... |
57 | 56 |
58 virtual std::string id() const override { return id_; } | 57 virtual std::string id() const override { return id_; } |
59 | 58 |
60 MOCK_METHOD1(RegisterObserver, void(ObserverInterface*)); | 59 MOCK_METHOD1(RegisterObserver, void(ObserverInterface*)); |
61 MOCK_METHOD1(UnregisterObserver, void(ObserverInterface*)); | 60 MOCK_METHOD1(UnregisterObserver, void(ObserverInterface*)); |
62 MOCK_CONST_METHOD0(kind, std::string()); | 61 MOCK_CONST_METHOD0(kind, std::string()); |
63 MOCK_CONST_METHOD0(enabled, bool()); | 62 MOCK_CONST_METHOD0(enabled, bool()); |
64 MOCK_CONST_METHOD0(state, TrackState()); | 63 MOCK_CONST_METHOD0(state, TrackState()); |
65 MOCK_METHOD1(set_enabled, bool(bool)); | 64 MOCK_METHOD1(set_enabled, bool(bool)); |
66 MOCK_METHOD1(set_state, bool(TrackState)); | 65 MOCK_METHOD1(set_state, bool(TrackState)); |
67 MOCK_METHOD1(AddRenderer, void(VideoRendererInterface*)); | 66 MOCK_METHOD2(AddOrUpdateSink, |
68 MOCK_METHOD1(RemoveRenderer, void(VideoRendererInterface*)); | 67 void(rtc::VideoSinkInterface<cricket::VideoFrame>*, |
| 68 const rtc::VideoSinkWants&)); |
| 69 MOCK_METHOD1(RemoveSink, void(rtc::VideoSinkInterface<cricket::VideoFrame>*)); |
69 MOCK_CONST_METHOD0(GetSource, VideoTrackSourceInterface*()); | 70 MOCK_CONST_METHOD0(GetSource, VideoTrackSourceInterface*()); |
70 | 71 |
71 private: | 72 private: |
72 std::string id_; | 73 std::string id_; |
73 }; | 74 }; |
74 | 75 |
75 class MockMediaStreamTrackMetrics : public MediaStreamTrackMetrics { | 76 class MockMediaStreamTrackMetrics : public MediaStreamTrackMetrics { |
76 public: | 77 public: |
77 virtual ~MockMediaStreamTrackMetrics() {} | 78 virtual ~MockMediaStreamTrackMetrics() {} |
78 | 79 |
(...skipping 504 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
583 MediaStreamTrackMetrics::SENT_STREAM)); | 584 MediaStreamTrackMetrics::SENT_STREAM)); |
584 EXPECT_CALL(*metrics_, | 585 EXPECT_CALL(*metrics_, |
585 SendLifetimeMessage("video3", | 586 SendLifetimeMessage("video3", |
586 MediaStreamTrackMetrics::VIDEO_TRACK, | 587 MediaStreamTrackMetrics::VIDEO_TRACK, |
587 MediaStreamTrackMetrics::DISCONNECTED, | 588 MediaStreamTrackMetrics::DISCONNECTED, |
588 MediaStreamTrackMetrics::SENT_STREAM)); | 589 MediaStreamTrackMetrics::SENT_STREAM)); |
589 metrics_->RemoveStream(MediaStreamTrackMetrics::SENT_STREAM, stream_.get()); | 590 metrics_->RemoveStream(MediaStreamTrackMetrics::SENT_STREAM, stream_.get()); |
590 } | 591 } |
591 | 592 |
592 } // namespace content | 593 } // namespace content |
OLD | NEW |