video_capture_factory.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. /*
  2. * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
  3. *
  4. * Use of this source code is governed by a BSD-style license
  5. * that can be found in the LICENSE file in the root of the source
  6. * tree. An additional intellectual property rights grant can be found
  7. * in the file PATENTS. All contributing project authors may
  8. * be found in the AUTHORS file in the root of the source tree.
  9. */
  10. // This file contains interfaces used for creating the VideoCaptureModule
  11. // and DeviceInfo.
  12. #ifndef MODULES_VIDEO_CAPTURE_VIDEO_CAPTURE_FACTORY_H_
  13. #define MODULES_VIDEO_CAPTURE_VIDEO_CAPTURE_FACTORY_H_
  14. #include "api/scoped_refptr.h"
  15. #include "modules/video_capture/video_capture.h"
  16. #include "modules/video_capture/video_capture_defines.h"
  17. namespace webrtc {
  18. class VideoCaptureFactory {
  19. public:
  20. // Create a video capture module object
  21. // id - unique identifier of this video capture module object.
  22. // deviceUniqueIdUTF8 - name of the device.
  23. // Available names can be found by using GetDeviceName
  24. static rtc::scoped_refptr<VideoCaptureModule> Create(
  25. const char* deviceUniqueIdUTF8);
  26. static VideoCaptureModule::DeviceInfo* CreateDeviceInfo();
  27. private:
  28. ~VideoCaptureFactory();
  29. };
  30. } // namespace webrtc
  31. #endif // MODULES_VIDEO_CAPTURE_VIDEO_CAPTURE_FACTORY_H_