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

Side by Side Diff: content/renderer/media/user_media_client_impl.h

Issue 2790823002: Spec compliant video constraints for getUserMedia behind flag. (Closed)
Patch Set: rebase Created 3 years, 8 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
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 #ifndef CONTENT_RENDERER_MEDIA_USER_MEDIA_CLIENT_IMPL_H_ 5 #ifndef CONTENT_RENDERER_MEDIA_USER_MEDIA_CLIENT_IMPL_H_
6 #define CONTENT_RENDERER_MEDIA_USER_MEDIA_CLIENT_IMPL_H_ 6 #define CONTENT_RENDERER_MEDIA_USER_MEDIA_CLIENT_IMPL_H_
7 7
8 #include <list> 8 #include <list>
9 #include <memory> 9 #include <memory>
10 #include <string> 10 #include <string>
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 const StreamDeviceInfo& device, 116 const StreamDeviceInfo& device,
117 const blink::WebMediaConstraints& constraints, 117 const blink::WebMediaConstraints& constraints,
118 const MediaStreamSource::ConstraintsCallback& source_ready); 118 const MediaStreamSource::ConstraintsCallback& source_ready);
119 virtual MediaStreamVideoSource* CreateVideoSource( 119 virtual MediaStreamVideoSource* CreateVideoSource(
120 const StreamDeviceInfo& device, 120 const StreamDeviceInfo& device,
121 const MediaStreamSource::SourceStoppedCallback& stop_callback); 121 const MediaStreamSource::SourceStoppedCallback& stop_callback);
122 122
123 // Returns no value if there is no request being processed. Use only for 123 // Returns no value if there is no request being processed. Use only for
124 // testing. 124 // testing.
125 // TODO(guidou): Remove this method once spec-compliant constraints algorithm 125 // TODO(guidou): Remove this method once spec-compliant constraints algorithm
126 // for audio is implemented. http://crbug.com/657733 126 // for audio is implemented. http://crbug.com/543997
127 base::Optional<bool> AutomaticOutputDeviceSelectionEnabledForCurrentRequest(); 127 base::Optional<bool> AutomaticOutputDeviceSelectionEnabledForCurrentRequest();
128 128
129 private: 129 private:
130 class UserMediaRequestInfo; 130 class UserMediaRequestInfo;
131 typedef std::vector<blink::WebMediaStreamSource> LocalStreamSources; 131 typedef std::vector<blink::WebMediaStreamSource> LocalStreamSources;
132 132
133 void MaybeProcessNextRequestInfo(); 133 void MaybeProcessNextRequestInfo();
134 bool IsCurrentRequestInfo(int request_id) const; 134 bool IsCurrentRequestInfo(int request_id) const;
135 bool IsCurrentRequestInfo(const blink::WebUserMediaRequest& request) const; 135 bool IsCurrentRequestInfo(const blink::WebUserMediaRequest& request) const;
136 bool DeleteRequestInfo(const blink::WebUserMediaRequest& request); 136 bool DeleteRequestInfo(const blink::WebUserMediaRequest& request);
137 void DelayedGetUserMediaRequestSucceeded(const blink::WebMediaStream& stream, 137 void DelayedGetUserMediaRequestSucceeded(const blink::WebMediaStream& stream,
138 blink::WebUserMediaRequest request); 138 blink::WebUserMediaRequest request);
139 void DelayedGetUserMediaRequestFailed(blink::WebUserMediaRequest request, 139 void DelayedGetUserMediaRequestFailed(blink::WebUserMediaRequest request,
140 MediaStreamRequestResult result, 140 MediaStreamRequestResult result,
141 const blink::WebString& result_name); 141 const blink::WebString& result_name);
142 142
143 // RenderFrameObserver implementation. 143 // RenderFrameObserver implementation.
144 void OnDestruct() override; 144 void OnDestruct() override;
145 145
146 // Called when |source| has been stopped from JavaScript. 146 // Called when |source| has been stopped from JavaScript.
147 void OnLocalSourceStopped(const blink::WebMediaStreamSource& source); 147 void OnLocalSourceStopped(const blink::WebMediaStreamSource& source);
148 148
149 // Creates a WebKit representation of stream sources based on 149 // Creates a WebKit representation of stream sources based on
150 // |devices| from the MediaStreamDispatcher. 150 // |devices| from the MediaStreamDispatcher.
151 blink::WebMediaStreamSource InitializeVideoSourceObject( 151 blink::WebMediaStreamSource InitializeVideoSourceObject(
152 const StreamDeviceInfo& device, 152 const StreamDeviceInfo& device);
153 const blink::WebMediaConstraints& constraints);
154 153
155 blink::WebMediaStreamSource InitializeAudioSourceObject( 154 blink::WebMediaStreamSource InitializeAudioSourceObject(
156 const StreamDeviceInfo& device, 155 const StreamDeviceInfo& device,
157 const blink::WebMediaConstraints& constraints, 156 const blink::WebMediaConstraints& constraints,
158 bool* is_pending); 157 bool* is_pending);
159 158
160 void CreateVideoTracks( 159 void CreateVideoTracks(
161 const StreamDeviceInfoArray& devices, 160 const StreamDeviceInfoArray& devices,
162 const blink::WebMediaConstraints& constraints,
163 blink::WebVector<blink::WebMediaStreamTrack>* webkit_tracks); 161 blink::WebVector<blink::WebMediaStreamTrack>* webkit_tracks);
164 162
165 void CreateAudioTracks( 163 void CreateAudioTracks(
166 const StreamDeviceInfoArray& devices, 164 const StreamDeviceInfoArray& devices,
167 const blink::WebMediaConstraints& constraints, 165 const blink::WebMediaConstraints& constraints,
168 blink::WebVector<blink::WebMediaStreamTrack>* webkit_tracks); 166 blink::WebVector<blink::WebMediaStreamTrack>* webkit_tracks);
169 167
170 // Callback function triggered when all native versions of the 168 // Callback function triggered when all native versions of the
171 // underlying media sources and tracks have been created and started. 169 // underlying media sources and tracks have been created and started.
172 void OnCreateNativeTracksCompleted(const std::string& label, 170 void OnCreateNativeTracksCompleted(const std::string& label,
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
285 // Note: This member must be the last to ensure all outstanding weak pointers 283 // Note: This member must be the last to ensure all outstanding weak pointers
286 // are invalidated first. 284 // are invalidated first.
287 base::WeakPtrFactory<UserMediaClientImpl> weak_factory_; 285 base::WeakPtrFactory<UserMediaClientImpl> weak_factory_;
288 286
289 DISALLOW_COPY_AND_ASSIGN(UserMediaClientImpl); 287 DISALLOW_COPY_AND_ASSIGN(UserMediaClientImpl);
290 }; 288 };
291 289
292 } // namespace content 290 } // namespace content
293 291
294 #endif // CONTENT_RENDERER_MEDIA_USER_MEDIA_CLIENT_IMPL_H_ 292 #endif // CONTENT_RENDERER_MEDIA_USER_MEDIA_CLIENT_IMPL_H_
OLDNEW
« no previous file with comments | « content/renderer/media/rtc_peer_connection_handler_unittest.cc ('k') | content/renderer/media/user_media_client_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698