Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 #pragma once
7 #include "CC_Common.h"
8 #include "ECC_Types.h"
10 #include <string>
11 #include <vector>
13 namespace CSF
14 {
15 DECLARE_NS_PTR(VideoControl)
16 class ECC_API VideoControl
17 {
18 public:
19 NS_INLINE_DECL_THREADSAFE_REFCOUNTING(VideoControl)
20 virtual ~VideoControl() {};
22 virtual void setVideoMode( bool enable ) = 0;
24 // window type is platform-specific
25 virtual void setPreviewWindow( VideoWindowHandle window, int top, int left, int bottom, int right, RenderScaling style ) = 0;
26 virtual void showPreviewWindow( bool show ) = 0;
28 // device names are in UTF-8 encoding
29 virtual std::vector<std::string> getCaptureDevices() = 0;
31 virtual std::string getCaptureDevice() = 0;
32 virtual bool setCaptureDevice( const std::string& name ) = 0;
33 };
35 }; // namespace