Home | History | Annotate | Download | only in qtkit
      1 /*
      2  *  Copyright (c) 2011 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 
     11 //
     12 //  video_capture_qtkit_objc.h
     13 //
     14 //
     15 
     16 #ifndef WEBRTC_MODULES_VIDEO_CAPTURE_MAIN_SOURCE_MAC_QTKIT_VIDEO_CAPTURE_QTKIT_OBJC_H_
     17 #define WEBRTC_MODULES_VIDEO_CAPTURE_MAIN_SOURCE_MAC_QTKIT_VIDEO_CAPTURE_QTKIT_OBJC_H_
     18 
     19 #import <AppKit/AppKit.h>
     20 #import <CoreData/CoreData.h>
     21 #import <CoreFoundation/CoreFoundation.h>
     22 #import <CoreVideo/CoreVideo.h>
     23 #import <Foundation/Foundation.h>
     24 #import <QTKit/QTKit.h>
     25 
     26 #include "webrtc/modules/video_capture/mac/qtkit/video_capture_qtkit.h"
     27 
     28 @interface VideoCaptureMacQTKitObjC : NSObject {
     29   bool _capturing;
     30   int _frameRate;
     31   int _frameWidth;
     32   int _frameHeight;
     33   int _framesDelivered;
     34   int _framesRendered;
     35   bool _captureInitialized;
     36 
     37   webrtc::videocapturemodule::VideoCaptureMacQTKit* _owner;
     38   NSLock* lock_;
     39 
     40   QTCaptureSession* _captureSession;
     41   QTCaptureDeviceInput* _captureVideoDeviceInput;
     42   QTCaptureDecompressedVideoOutput* _captureDecompressedVideoOutput;
     43   NSArray* _captureDevices;
     44   int _captureDeviceCount;
     45   char _captureDeviceNameUTF8[1024];
     46   char _captureDeviceNameUniqueID[1024];
     47 }
     48 
     49 - (void)getCaptureDevices;
     50 - (BOOL)initializeVideoCapture;
     51 - (BOOL)initializeVariables;
     52 
     53 - (void)registerOwner:(webrtc::videocapturemodule::VideoCaptureMacQTKit*)owner;
     54 - (BOOL)setCaptureDeviceById:(char*)uniqueId;
     55 - (void)setCaptureHeight:(int)height width:(int)width frameRate:(int)frameRate;
     56 - (void)startCapture;
     57 - (void)stopCapture;
     58 
     59 @end
     60 
     61 #endif  // WEBRTC_MODULES_VIDEO_CAPTURE_MAIN_SOURCE_MAC_QTKIT_VIDEO_CAPTURE_QTKIT_OBJC_H_
     62