• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 #ifndef CONTENT_PUBLIC_BROWSER_MEDIA_CAPTURE_DEVICES_H_
6 #define CONTENT_PUBLIC_BROWSER_MEDIA_CAPTURE_DEVICES_H_
7 
8 #include "content/public/common/media_stream_request.h"
9 
10 namespace content {
11 
12 // This is a singleton class, used to get Audio/Video devices, it must be
13 // called in UI thread.
14 class CONTENT_EXPORT  MediaCaptureDevices {
15  public:
16   // Get signleton instance of MediaCaptureDevices.
17   static MediaCaptureDevices* GetInstance();
18 
19   // Return all Audio/Video devices.
20   virtual const MediaStreamDevices& GetAudioCaptureDevices() = 0;
21   virtual const MediaStreamDevices& GetVideoCaptureDevices() = 0;
22 
23  private:
24   // This interface should only be implemented inside content.
25   friend class MediaCaptureDevicesImpl;
MediaCaptureDevices()26   MediaCaptureDevices() {}
~MediaCaptureDevices()27   virtual ~MediaCaptureDevices() {}
28 };
29 
30 }  // namespace content
31 
32 #endif  // CONTENT_PUBLIC_BROWSER_MEDIA_CAPTURE_DEVICES_H_
33