Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1475)

Side by Side Diff: content/shell/renderer/test_runner/MockWebMediaStreamCenter.cpp

Issue 418303002: test_runner: Migrate MockWebMediaStreamCenter to Chromium C++ style. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fixing mac build error Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2013 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 "content/shell/renderer/test_runner/MockWebMediaStreamCenter.h"
6
7 #include "base/logging.h"
8 #include "content/shell/renderer/test_runner/TestInterfaces.h"
9 #include "content/shell/renderer/test_runner/WebTestDelegate.h"
10 #include "third_party/WebKit/public/platform/WebAudioDestinationConsumer.h"
11 #include "third_party/WebKit/public/platform/WebAudioSourceProvider.h"
12 #include "third_party/WebKit/public/platform/WebMediaStream.h"
13 #include "third_party/WebKit/public/platform/WebMediaStreamCenterClient.h"
14 #include "third_party/WebKit/public/platform/WebMediaStreamSource.h"
15 #include "third_party/WebKit/public/platform/WebMediaStreamTrack.h"
16 #include "third_party/WebKit/public/platform/WebMediaStreamTrackSourcesRequest.h "
17 #include "third_party/WebKit/public/platform/WebSourceInfo.h"
18 #include "third_party/WebKit/public/platform/WebVector.h"
19
20 using namespace blink;
21
22 namespace content {
23
24 class NewTrackTask : public WebMethodTask<MockWebMediaStreamCenter> {
25 public:
26 NewTrackTask(MockWebMediaStreamCenter* object, const WebMediaStream& stream)
27 : WebMethodTask<MockWebMediaStreamCenter>(object)
28 , m_stream(stream)
29 {
30 DCHECK(!m_stream.isNull());
31 }
32
33 virtual void runIfValid() OVERRIDE
34 {
35 WebMediaStreamSource source;
36 WebMediaStreamTrack track;
37 source.initialize("MagicVideoDevice#1", WebMediaStreamSource::TypeVideo, "Magic video track");
38 track.initialize(source);
39 m_stream.addTrack(track);
40 }
41
42 private:
43 WebMediaStream m_stream;
44 };
45
46 MockWebMediaStreamCenter::MockWebMediaStreamCenter(WebMediaStreamCenterClient* c lient, TestInterfaces* interfaces)
47 : m_interfaces(interfaces)
48 {
49 }
50
51 bool MockWebMediaStreamCenter::getMediaStreamTrackSources(const WebMediaStreamTr ackSourcesRequest& request)
52 {
53 size_t size = 2;
54 WebVector<WebSourceInfo> results(size);
55 results[0].initialize("MockAudioDevice#1", WebSourceInfo::SourceKindAudio, " Mock audio device", WebSourceInfo::VideoFacingModeNone);
56 results[1].initialize("MockVideoDevice#1", WebSourceInfo::SourceKindVideo, " Mock video device", WebSourceInfo::VideoFacingModeEnvironment);
57 request.requestSucceeded(results);
58 return true;
59 }
60
61 void MockWebMediaStreamCenter::didEnableMediaStreamTrack(const WebMediaStreamTra ck& track)
62 {
63 track.source().setReadyState(WebMediaStreamSource::ReadyStateLive);
64 }
65
66 void MockWebMediaStreamCenter::didDisableMediaStreamTrack(const WebMediaStreamTr ack& track)
67 {
68 track.source().setReadyState(WebMediaStreamSource::ReadyStateMuted);
69 }
70
71 bool MockWebMediaStreamCenter::didAddMediaStreamTrack(const WebMediaStream&, con st WebMediaStreamTrack&)
72 {
73 return true;
74 }
75
76 bool MockWebMediaStreamCenter::didRemoveMediaStreamTrack(const WebMediaStream&, const WebMediaStreamTrack&)
77 {
78 return true;
79 }
80
81 void MockWebMediaStreamCenter::didStopLocalMediaStream(const WebMediaStream& str eam)
82 {
83 WebVector<WebMediaStreamTrack> tracks;
84 stream.audioTracks(tracks);
85 for (size_t i = 0; i < tracks.size(); ++i)
86 tracks[i].source().setReadyState(WebMediaStreamSource::ReadyStateEnded);
87 stream.videoTracks(tracks);
88 for (size_t i = 0; i < tracks.size(); ++i)
89 tracks[i].source().setReadyState(WebMediaStreamSource::ReadyStateEnded);
90 }
91
92 bool MockWebMediaStreamCenter::didStopMediaStreamTrack(const blink::WebMediaStre amTrack& track)
93 {
94 track.source().setReadyState(WebMediaStreamSource::ReadyStateEnded);
95 return true;
96 }
97
98 class MockWebAudioDestinationConsumer : public WebAudioDestinationConsumer {
99 public:
100 virtual ~MockWebAudioDestinationConsumer() { }
101 virtual void setFormat(size_t numberOfChannels, float sampleRate) OVERRIDE { }
102 virtual void consumeAudio(const WebVector<const float*>&, size_t number_of_f rames) OVERRIDE { }
103 };
104
105 void MockWebMediaStreamCenter::didCreateMediaStream(WebMediaStream& stream)
106 {
107 WebVector<WebMediaStreamTrack> audioTracks;
108 stream.audioTracks(audioTracks);
109 for (size_t i = 0; i < audioTracks.size(); ++i) {
110 WebMediaStreamSource source = audioTracks[i].source();
111 if (source.requiresAudioConsumer()) {
112 MockWebAudioDestinationConsumer* consumer = new MockWebAudioDestinat ionConsumer();
113 source.addAudioConsumer(consumer);
114 source.removeAudioConsumer(consumer);
115 delete consumer;
116 }
117 }
118 m_interfaces->delegate()->postTask(new NewTrackTask(this, stream));
119 }
120
121 blink::WebAudioSourceProvider* MockWebMediaStreamCenter::createWebAudioSourceFro mMediaStreamTrack(const blink::WebMediaStreamTrack& track)
122 {
123 return NULL;
124 }
125
126 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698