videoLat 2.0
Video conferencing delay measurements
Public Member Functions | Static Public Member Functions | Protected Attributes | Properties
VideoInput Class Reference

#import <VideoInput.h>

Inheritance diagram for VideoInput:
Inheritance graph
[legend]
Collaboration diagram for VideoInput:
Collaboration graph
[legend]

List of all members.

Public Member Functions

(uint64_t) - now
(bool) - available
(NSArray *) - deviceNames
(BOOL) - switchToDeviceWithName:
(void) - startCapturing:
(void) - pauseCapturing:
(void) - stopCapturing
 Stop forwarding frames to RunManager but continue running.
(void) - stop
 Stop capturing altogether and release resources.
(AVCaptureDevice *) - _deviceWithName:
(void) - _switchToDevice:
(void) - focusRectSelected:
(void) - captureOutput:didOutputSampleBuffer:fromConnection:
 Delegate methods for QTCaptureVideoPreviewOutput.
(void) - captureOutput:didDropSampleBuffer:fromConnection:
 Delegate methods for QTCaptureVideoPreviewOutput.

Static Public Member Functions

(NSArray *) + allDeviceTypeIDs
 Returns a list of all known video devices.
(NSArray *) + deviceNames

Protected Attributes

AVCaptureVideoPreviewLayer * selfLayer
 Our self-view in the UI.
AVCaptureVideoDataOutput * outputCapturer
 Object that forwards frames to use.
AVCaptureSession * session
 Currently running capture session.
dispatch_queue_t sampleBufferQueue
 Used by outputCapturer to communicate with us.
float xFactor
float yFactor
CMClockRef clock
 Clock of the current video input device.
uint64_t epoch
 Time zero of clock.
BOOL capturing
uint64_t firstTimeStamp
 First frame timestamp.
uint64_t lastTimeStamp
 Latest frame timestamp.
int nFrames
 Number of frames received.
int nFramesDropped

Properties

NSString * deviceID
 Unique string that identifies the input device.
NSString * deviceName
 Human-readable string that identifies the input device.
IBOutlet id
< RunInputManagerProtocol
manager
IBOutlet VideoInputViewselfView
 View showing what our camera sees.

Detailed Description

Class that implements InputCaptureProtocol (and ClockProtocol) for video input, using AVCapture to capture a video stream from a camera.


Member Function Documentation

+ (NSArray *) deviceNames

List available input devices.

Returns:
List of human-readable device names (as NSString)

Reimplemented from <InputCaptureProtocol>.

- (NSArray*) deviceNames

List available input devices.

Returns:
List of human-readable device names (as NSString)

Reimplemented from <InputCaptureProtocol>.

- (uint64_t) now

Get current time from this clock.

Returns:
Timevalue in microseconds

Reimplemented from <ClockProtocol>.

- (void) pauseCapturing: (BOOL)  pause

Pause or resume capturer, and release resources.

Parameters:
pauseTrue for pausing, false for resuming

Reimplemented from <InputCaptureProtocol>.

- (void) startCapturing: (BOOL)  showPreview

Start capturing, each captured frame will be forwarded to the InputRunManager

Parameters:
showPreviewSet to true if the capturer should show its preview window (if applicable)

Reimplemented from <InputCaptureProtocol>.

- (BOOL) switchToDeviceWithName: (NSString *)  name

Switch to a different input device.

Parameters:
Nameof the device (as returned by deviceNames)
Returns:
True if succesful

Reimplemented from <InputCaptureProtocol>.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Properties Defines