diff options
Diffstat (limited to 'webrtc/modules/video_capture/include/video_capture.h')
-rw-r--r-- | webrtc/modules/video_capture/include/video_capture.h | 160 |
1 files changed, 0 insertions, 160 deletions
diff --git a/webrtc/modules/video_capture/include/video_capture.h b/webrtc/modules/video_capture/include/video_capture.h deleted file mode 100644 index 09b4502115..0000000000 --- a/webrtc/modules/video_capture/include/video_capture.h +++ /dev/null @@ -1,160 +0,0 @@ -/* - * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#ifndef WEBRTC_MODULES_VIDEO_CAPTURE_INCLUDE_VIDEO_CAPTURE_H_ -#define WEBRTC_MODULES_VIDEO_CAPTURE_INCLUDE_VIDEO_CAPTURE_H_ - -#include "webrtc/common_video/rotation.h" -#include "webrtc/modules/interface/module.h" -#include "webrtc/modules/video_capture/include/video_capture_defines.h" - -namespace webrtc { - -class VideoCaptureModule: public RefCountedModule { - public: - // Interface for receiving information about available camera devices. - class DeviceInfo { - public: - virtual uint32_t NumberOfDevices() = 0; - - // Returns the available capture devices. - // deviceNumber - Index of capture device. - // deviceNameUTF8 - Friendly name of the capture device. - // deviceUniqueIdUTF8 - Unique name of the capture device if it exist. - // Otherwise same as deviceNameUTF8. - // productUniqueIdUTF8 - Unique product id if it exist. - // Null terminated otherwise. - virtual int32_t GetDeviceName( - uint32_t deviceNumber, - char* deviceNameUTF8, - uint32_t deviceNameLength, - char* deviceUniqueIdUTF8, - uint32_t deviceUniqueIdUTF8Length, - char* productUniqueIdUTF8 = 0, - uint32_t productUniqueIdUTF8Length = 0) = 0; - - - // Returns the number of capabilities this device. - virtual int32_t NumberOfCapabilities( - const char* deviceUniqueIdUTF8) = 0; - - // Gets the capabilities of the named device. - virtual int32_t GetCapability( - const char* deviceUniqueIdUTF8, - const uint32_t deviceCapabilityNumber, - VideoCaptureCapability& capability) = 0; - - // Gets clockwise angle the captured frames should be rotated in order - // to be displayed correctly on a normally rotated display. - virtual int32_t GetOrientation(const char* deviceUniqueIdUTF8, - VideoRotation& orientation) = 0; - - // Gets the capability that best matches the requested width, height and - // frame rate. - // Returns the deviceCapabilityNumber on success. - virtual int32_t GetBestMatchedCapability( - const char* deviceUniqueIdUTF8, - const VideoCaptureCapability& requested, - VideoCaptureCapability& resulting) = 0; - - // Display OS /capture device specific settings dialog - virtual int32_t DisplayCaptureSettingsDialogBox( - const char* deviceUniqueIdUTF8, - const char* dialogTitleUTF8, - void* parentWindow, - uint32_t positionX, - uint32_t positionY) = 0; - - virtual ~DeviceInfo() {} - }; - - class VideoCaptureEncodeInterface { - public: - virtual int32_t ConfigureEncoder(const VideoCodec& codec, - uint32_t maxPayloadSize) = 0; - // Inform the encoder about the new target bit rate. - // - newBitRate : New target bit rate in Kbit/s. - // - frameRate : The target frame rate. - virtual int32_t SetRates(int32_t newBitRate, int32_t frameRate) = 0; - // Inform the encoder about the packet loss and the round-trip time. - // - packetLoss : Fraction lost - // (loss rate in percent = 100 * packetLoss / 255). - // - rtt : Round-trip time in milliseconds. - virtual int32_t SetChannelParameters(uint32_t packetLoss, int64_t rtt) = 0; - - // Encode the next frame as key frame. - virtual int32_t EncodeFrameType(const FrameType type) = 0; - protected: - virtual ~VideoCaptureEncodeInterface() { - } - }; - - // Register capture data callback - virtual void RegisterCaptureDataCallback( - VideoCaptureDataCallback& dataCallback) = 0; - - // Remove capture data callback - virtual void DeRegisterCaptureDataCallback() = 0; - - // Register capture callback. - virtual void RegisterCaptureCallback(VideoCaptureFeedBack& callBack) = 0; - - // Remove capture callback. - virtual void DeRegisterCaptureCallback() = 0; - - // Start capture device - virtual int32_t StartCapture( - const VideoCaptureCapability& capability) = 0; - - virtual int32_t StopCapture() = 0; - - // Returns the name of the device used by this module. - virtual const char* CurrentDeviceName() const = 0; - - // Returns true if the capture device is running - virtual bool CaptureStarted() = 0; - - // Gets the current configuration. - virtual int32_t CaptureSettings(VideoCaptureCapability& settings) = 0; - - virtual void SetCaptureDelay(int32_t delayMS) = 0; - - // Returns the current CaptureDelay. Only valid when the camera is running. - virtual int32_t CaptureDelay() = 0; - - // Set the rotation of the captured frames. - // If the rotation is set to the same as returned by - // DeviceInfo::GetOrientation the captured frames are - // displayed correctly if rendered. - virtual int32_t SetCaptureRotation(VideoRotation rotation) = 0; - - // Tells the capture module whether to apply the pending rotation. By default, - // the rotation is applied and the generated frame is up right. When set to - // false, generated frames will carry the rotation information from - // SetCaptureRotation. Return value indicates whether this operation succeeds. - virtual bool SetApplyRotation(bool enable) = 0; - - // Return whether the rotation is applied or left pending. - virtual bool GetApplyRotation() = 0; - - // Gets a pointer to an encode interface if the capture device supports the - // requested type and size. NULL otherwise. - virtual VideoCaptureEncodeInterface* GetEncodeInterface( - const VideoCodec& codec) = 0; - - virtual void EnableFrameRateCallback(const bool enable) = 0; - virtual void EnableNoPictureAlarm(const bool enable) = 0; - -protected: - virtual ~VideoCaptureModule() {}; -}; - -} // namespace webrtc -#endif // WEBRTC_MODULES_VIDEO_CAPTURE_INCLUDE_VIDEO_CAPTURE_H_ |