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

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

Issue 2750163002: Use spec-compliant algorithm for video content-capture deviceId selection in getUserMedia. (Closed)
Patch Set: address review comments and rebase Created 3 years, 9 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 <memory> 8 #include <memory>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 21 matching lines...) Expand all
32 32
33 namespace base { 33 namespace base {
34 class TaskRunner; 34 class TaskRunner;
35 } 35 }
36 36
37 namespace content { 37 namespace content {
38 class PeerConnectionDependencyFactory; 38 class PeerConnectionDependencyFactory;
39 class MediaStreamAudioSource; 39 class MediaStreamAudioSource;
40 class MediaStreamDispatcher; 40 class MediaStreamDispatcher;
41 class MediaStreamVideoSource; 41 class MediaStreamVideoSource;
42 class VideoContentCaptureSourceSelectionResult;
42 class VideoDeviceCaptureSourceSelectionResult; 43 class VideoDeviceCaptureSourceSelectionResult;
43 44
44 // UserMediaClientImpl is a delegate for the Media Stream GetUserMedia API. 45 // UserMediaClientImpl is a delegate for the Media Stream GetUserMedia API.
45 // It ties together WebKit and MediaStreamManager 46 // It ties together WebKit and MediaStreamManager
46 // (via MediaStreamDispatcher and MediaStreamDispatcherHost) 47 // (via MediaStreamDispatcher and MediaStreamDispatcherHost)
47 // in the browser process. It must be created, called and destroyed on the 48 // in the browser process. It must be created, called and destroyed on the
48 // render thread. 49 // render thread.
49 class CONTENT_EXPORT UserMediaClientImpl 50 class CONTENT_EXPORT UserMediaClientImpl
50 : public RenderFrameObserver, 51 : public RenderFrameObserver,
51 NON_EXPORTED_BASE(public blink::WebUserMediaClient), 52 NON_EXPORTED_BASE(public blink::WebUserMediaClient),
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after
310 std::vector<::mojom::VideoInputDeviceCapabilitiesPtr> 311 std::vector<::mojom::VideoInputDeviceCapabilitiesPtr>
311 video_input_capabilities); 312 video_input_capabilities);
312 313
313 void FinalizeSelectVideoDeviceSourceSettings( 314 void FinalizeSelectVideoDeviceSourceSettings(
314 int request_id, 315 int request_id,
315 const blink::WebUserMediaRequest& user_media_request, 316 const blink::WebUserMediaRequest& user_media_request,
316 std::unique_ptr<StreamControls> controls, 317 std::unique_ptr<StreamControls> controls,
317 const RequestSettings& request_settings, 318 const RequestSettings& request_settings,
318 const VideoDeviceCaptureSourceSelectionResult& selection_result); 319 const VideoDeviceCaptureSourceSelectionResult& selection_result);
319 320
321 void FinalizeSelectVideoContentSourceSettings(
322 int request_id,
323 const blink::WebUserMediaRequest& user_media_request,
324 std::unique_ptr<StreamControls> controls,
325 const RequestSettings& request_settings,
326 const VideoContentCaptureSourceSelectionResult& selection_result);
327
320 void FinalizeRequestUserMedia( 328 void FinalizeRequestUserMedia(
321 int request_id, 329 int request_id,
322 const blink::WebUserMediaRequest& user_media_request, 330 const blink::WebUserMediaRequest& user_media_request,
323 std::unique_ptr<StreamControls> controls, 331 std::unique_ptr<StreamControls> controls,
324 const RequestSettings& request_settings); 332 const RequestSettings& request_settings);
325 333
326 // Callback invoked by MediaDevicesEventDispatcher when a device-change 334 // Callback invoked by MediaDevicesEventDispatcher when a device-change
327 // notification arrives. 335 // notification arrives.
328 void DevicesChanged(MediaDeviceType device_type, 336 void DevicesChanged(MediaDeviceType device_type,
329 const MediaDeviceInfoArray& device_infos); 337 const MediaDeviceInfoArray& device_infos);
(...skipping 24 matching lines...) Expand all
354 // Note: This member must be the last to ensure all outstanding weak pointers 362 // Note: This member must be the last to ensure all outstanding weak pointers
355 // are invalidated first. 363 // are invalidated first.
356 base::WeakPtrFactory<UserMediaClientImpl> weak_factory_; 364 base::WeakPtrFactory<UserMediaClientImpl> weak_factory_;
357 365
358 DISALLOW_COPY_AND_ASSIGN(UserMediaClientImpl); 366 DISALLOW_COPY_AND_ASSIGN(UserMediaClientImpl);
359 }; 367 };
360 368
361 } // namespace content 369 } // namespace content
362 370
363 #endif // CONTENT_RENDERER_MEDIA_USER_MEDIA_CLIENT_IMPL_H_ 371 #endif // CONTENT_RENDERER_MEDIA_USER_MEDIA_CLIENT_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698