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

Side by Side Diff: content/browser/renderer_host/media/video_capture_manager.cc

Issue 2810723002: Refactor VideoCaptureManager::GetDeviceFormatsInUse() (Closed)
Patch Set: Addressed review comments 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 #include "content/browser/renderer_host/media/video_capture_manager.h" 5 #include "content/browser/renderer_host/media/video_capture_manager.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <set> 8 #include <set>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 517 matching lines...) Expand 10 before | Expand all | Expand 10 after
528 media::VideoCaptureSessionId capture_session_id, 528 media::VideoCaptureSessionId capture_session_id,
529 media::VideoCaptureFormats* formats_in_use) { 529 media::VideoCaptureFormats* formats_in_use) {
530 DCHECK_CURRENTLY_ON(BrowserThread::IO); 530 DCHECK_CURRENTLY_ON(BrowserThread::IO);
531 DCHECK(formats_in_use->empty()); 531 DCHECK(formats_in_use->empty());
532 532
533 SessionMap::iterator it = sessions_.find(capture_session_id); 533 SessionMap::iterator it = sessions_.find(capture_session_id);
534 if (it == sessions_.end()) 534 if (it == sessions_.end())
535 return false; 535 return false;
536 DVLOG(1) << "GetDeviceFormatsInUse for device: " << it->second.name; 536 DVLOG(1) << "GetDeviceFormatsInUse for device: " << it->second.name;
537 537
538 return GetDeviceFormatsInUse(it->second.type, it->second.id, formats_in_use); 538 base::Optional<media::VideoCaptureFormat> format =
539 } 539 GetDeviceFormatInUse(it->second.type, it->second.id);
540 if (format.has_value())
541 formats_in_use->push_back(format.value());
540 542
541 bool VideoCaptureManager::GetDeviceFormatsInUse(
542 MediaStreamType stream_type,
543 const std::string& device_id,
544 media::VideoCaptureFormats* formats_in_use) {
545 DCHECK_CURRENTLY_ON(BrowserThread::IO);
546 DCHECK(formats_in_use->empty());
547 // Return the currently in-use format(s) of the device, if it's started.
548 VideoCaptureController* device_in_use =
549 LookupControllerByMediaTypeAndDeviceId(stream_type, device_id);
550 if (device_in_use) {
551 // Currently only one format-in-use is supported at the VCC level.
552 formats_in_use->push_back(device_in_use->GetVideoCaptureFormat());
553 }
554 return true; 543 return true;
555 } 544 }
556 545
546 base::Optional<media::VideoCaptureFormat>
547 VideoCaptureManager::GetDeviceFormatInUse(MediaStreamType stream_type,
548 const std::string& device_id) {
549 DCHECK_CURRENTLY_ON(BrowserThread::IO);
550 // Return the currently in-use format of the device, if it's started.
551 VideoCaptureController* device_in_use =
552 LookupControllerByMediaTypeAndDeviceId(stream_type, device_id);
553 return device_in_use ? device_in_use->GetVideoCaptureFormat() : base::nullopt;
554 }
555
557 void VideoCaptureManager::SetDesktopCaptureWindowId( 556 void VideoCaptureManager::SetDesktopCaptureWindowId(
558 media::VideoCaptureSessionId session_id, 557 media::VideoCaptureSessionId session_id,
559 gfx::NativeViewId window_id) { 558 gfx::NativeViewId window_id) {
560 DCHECK_CURRENTLY_ON(BrowserThread::IO); 559 DCHECK_CURRENTLY_ON(BrowserThread::IO);
561 VLOG(2) << "SetDesktopCaptureWindowId called for session " << session_id; 560 VLOG(2) << "SetDesktopCaptureWindowId called for session " << session_id;
562 561
563 notification_window_ids_[session_id] = window_id; 562 notification_window_ids_[session_id] = window_id;
564 MaybePostDesktopCaptureWindowId(session_id); 563 MaybePostDesktopCaptureWindowId(session_id);
565 } 564 }
566 565
(...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after
866 // Session ID is only valid for Screen capture. So we can fake it to 865 // Session ID is only valid for Screen capture. So we can fake it to
867 // resume video capture devices here. 866 // resume video capture devices here.
868 QueueStartDevice(kFakeSessionId, controller.get(), 867 QueueStartDevice(kFakeSessionId, controller.get(),
869 controller->parameters()); 868 controller->parameters());
870 } 869 }
871 } 870 }
872 } 871 }
873 #endif // defined(OS_ANDROID) 872 #endif // defined(OS_ANDROID)
874 873
875 } // namespace content 874 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698