OLD | NEW |
| (Empty) |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 #include "components/test_runner/mock_web_media_stream_center.h" | |
6 | |
7 #include <stddef.h> | |
8 | |
9 #include "base/logging.h" | |
10 #include "base/macros.h" | |
11 #include "components/test_runner/test_interfaces.h" | |
12 #include "components/test_runner/web_test_delegate.h" | |
13 #include "third_party/WebKit/public/platform/WebAudioDestinationConsumer.h" | |
14 #include "third_party/WebKit/public/platform/WebAudioSourceProvider.h" | |
15 #include "third_party/WebKit/public/platform/WebMediaStream.h" | |
16 #include "third_party/WebKit/public/platform/WebMediaStreamCenterClient.h" | |
17 #include "third_party/WebKit/public/platform/WebMediaStreamSource.h" | |
18 #include "third_party/WebKit/public/platform/WebMediaStreamTrack.h" | |
19 #include "third_party/WebKit/public/platform/WebVector.h" | |
20 | |
21 namespace test_runner { | |
22 | |
23 namespace { | |
24 | |
25 class MockWebAudioDestinationConsumer | |
26 : public blink::WebAudioDestinationConsumer { | |
27 public: | |
28 MockWebAudioDestinationConsumer() {} | |
29 ~MockWebAudioDestinationConsumer() override {} | |
30 void setFormat(size_t number_of_channels, float sample_rate) override {} | |
31 void consumeAudio(const blink::WebVector<const float*>&, | |
32 size_t number_of_frames) override {} | |
33 | |
34 DISALLOW_COPY_AND_ASSIGN(MockWebAudioDestinationConsumer); | |
35 }; | |
36 | |
37 } // namespace | |
38 | |
39 void MockWebMediaStreamCenter::didEnableMediaStreamTrack( | |
40 const blink::WebMediaStreamTrack& track) { | |
41 track.source().setReadyState(blink::WebMediaStreamSource::ReadyStateLive); | |
42 } | |
43 | |
44 void MockWebMediaStreamCenter::didDisableMediaStreamTrack( | |
45 const blink::WebMediaStreamTrack& track) { | |
46 track.source().setReadyState(blink::WebMediaStreamSource::ReadyStateMuted); | |
47 } | |
48 | |
49 bool MockWebMediaStreamCenter::didAddMediaStreamTrack( | |
50 const blink::WebMediaStream& stream, | |
51 const blink::WebMediaStreamTrack& track) { | |
52 return true; | |
53 } | |
54 | |
55 bool MockWebMediaStreamCenter::didRemoveMediaStreamTrack( | |
56 const blink::WebMediaStream& stream, | |
57 const blink::WebMediaStreamTrack& track) { | |
58 return true; | |
59 } | |
60 | |
61 void MockWebMediaStreamCenter::didStopLocalMediaStream( | |
62 const blink::WebMediaStream& stream) { | |
63 blink::WebVector<blink::WebMediaStreamTrack> tracks; | |
64 stream.audioTracks(tracks); | |
65 for (size_t i = 0; i < tracks.size(); ++i) | |
66 tracks[i].source().setReadyState( | |
67 blink::WebMediaStreamSource::ReadyStateEnded); | |
68 stream.videoTracks(tracks); | |
69 for (size_t i = 0; i < tracks.size(); ++i) | |
70 tracks[i].source().setReadyState( | |
71 blink::WebMediaStreamSource::ReadyStateEnded); | |
72 } | |
73 | |
74 bool MockWebMediaStreamCenter::didStopMediaStreamTrack( | |
75 const blink::WebMediaStreamTrack& track) { | |
76 track.source().setReadyState(blink::WebMediaStreamSource::ReadyStateEnded); | |
77 return true; | |
78 } | |
79 | |
80 void MockWebMediaStreamCenter::didCreateMediaStream( | |
81 blink::WebMediaStream& stream) { | |
82 blink::WebVector<blink::WebMediaStreamTrack> audio_tracks; | |
83 stream.audioTracks(audio_tracks); | |
84 for (size_t i = 0; i < audio_tracks.size(); ++i) { | |
85 blink::WebMediaStreamSource source = audio_tracks[i].source(); | |
86 if (source.requiresAudioConsumer()) { | |
87 MockWebAudioDestinationConsumer* consumer = | |
88 new MockWebAudioDestinationConsumer(); | |
89 source.addAudioConsumer(consumer); | |
90 source.removeAudioConsumer(consumer); | |
91 delete consumer; | |
92 } | |
93 } | |
94 } | |
95 | |
96 blink::WebAudioSourceProvider* | |
97 MockWebMediaStreamCenter::createWebAudioSourceFromMediaStreamTrack( | |
98 const blink::WebMediaStreamTrack& track) { | |
99 return NULL; | |
100 } | |
101 | |
102 } // namespace test_runner | |
OLD | NEW |