Unit Video - Ultibo.org
Return to Unit Reference
Description
Ultibo Video Interface unit
This unit provides both the Video device interface and the generic USB video device driver.
Constants
Video specific constants VIDEO_*
VIDEO_NAME_PREFIX = 'Video';
|
Name prefix for Video Devices |
Video device types VIDEO_TYPE_*
Video device states VIDEO_STATE_*
VIDEO_STATE_DISABLED = 0;
|
|
VIDEO_STATE_ENABLED = 1;
|
Video device flags VIDEO_FLAG_*
VIDEO_FLAG_NONE = $00000000;
|
Video logging VIDEO_LOG_*
VIDEO_LOG_LEVEL_DEBUG = LOG_LEVEL_DEBUG;
|
Video debugging messages |
VIDEO_LOG_LEVEL_INFO = LOG_LEVEL_INFO;
|
Video informational messages, such as a device being attached or detached |
VIDEO_LOG_LEVEL_WARN = LOG_LEVEL_WARN;
|
Video warning messages |
VIDEO_LOG_LEVEL_ERROR = LOG_LEVEL_ERROR;
|
Video error messages |
VIDEO_LOG_LEVEL_NONE = LOG_LEVEL_NONE;
|
No Video messages |
Type definitions
Video properties
PVideoProperties = ^TVideoProperties;
TVideoProperties = record
Flags:LongWord;
|
Device flags (eg VIDEO_FLAG_????) |
Video enumeration callback
TVideoEnumerate = function(Video:PVideoDevice; Data:Pointer):LongWord;
|
Video notification callback
TVideoNotification = function(Device:PDevice; Data:Pointer; Notification:LongWord):LongWord;
|
Video device get properties
TVideoDeviceGetProperties = function(Video:PVideoDevice; Properties:PVideoProperties):LongWord;
|
Video device
PVideoDevice = ^TVideoDevice;
TVideoDevice = record
| Device Properties | |
Device:TDevice;
|
The Device entry for this Video device |
| Video Properties | |
VideoId:LongWord;
|
Unique Id of this Video device in the Video device table |
VideoState:LongWord;
|
Video device state (eg VIDEO_STATE_ENABLED) |
DeviceGetProperties:TVideoDeviceGetProperties;
|
A Device specific DeviceGetProperties method implementing the standard Video device interface (Or nil if the default method is suitable) |
| Statistics Properties | |
| Driver Properties | |
Lock:TMutexHandle;
|
Device lock |
Properties:TVideoProperties;
|
Device properties |
| Internal Properties | |
Prev:PVideoDevice;
|
Previous entry in Video device table |
Next:PVideoDevice;
|
Next entry in Video device table |
Public variables
Video logging
VIDEO_DEFAULT_LOG_LEVEL:LongWord = VIDEO_LOG_LEVEL_DEBUG;
|
Minimum level for Video messages. Only messages with level greater than or equal to this will be printed. |
VIDEO_LOG_ENABLED:Boolean;
|
Function declarations
Initialization functions
procedure VideoInit;
Description: Initialize the Video unit and Video device table
| Note | Called only during system startup |
|---|
Video device functions
function VideoDeviceGetProperties(Video:PVideoDevice; Properties:PVideoProperties):LongWord;
Description: Get the properties for the specified Video device
| Video | The Video device to get properties from |
|---|---|
| Properties | Pointer to a TVideoProperties structure to fill in |
| Return | ERROR_SUCCESS if completed or another error code on failure |
function VideoDeviceCreate:PVideoDevice;
Description: Create a new Video device entry
| Return | Pointer to new Video device entry or nil if Video device could not be created |
|---|
function VideoDeviceCreateEx(Size:LongWord):PVideoDevice;
Description: Create a new Video device entry
| Size | Size in bytes to allocate for new Video device (Including the Video device entry) |
|---|---|
| Return | Pointer to new Video device entry or nil if Video device could not be created |
function VideoDeviceDestroy(Video:PVideoDevice):LongWord;
Description: Destroy an existing Video device entry
function VideoDeviceRegister(Video:PVideoDevice):LongWord;
Description: Register a new Video device in the Video device table
function VideoDeviceDeregister(Video:PVideoDevice):LongWord;
Description: Deregister a Video device from the Video device table
function VideoDeviceFind(VideoId:LongWord):PVideoDevice;
Description: To be documented
function VideoDeviceFindByName(const Name:String):PVideoDevice; inline;
Description: To be documented
function VideoDeviceFindByDescription(const Description:String):PVideoDevice; inline;
Description: To be documented
function VideoDeviceEnumerate(Callback:TVideoEnumerate; Data:Pointer):LongWord;
Description: To be documented
function VideoDeviceNotification(Video:PVideoDevice; Callback:TVideoNotification; Data:Pointer; Notification,Flags:LongWord):LongWord;
Description: To be documented
Video helper functions
function VideoGetCount:LongWord;
Description: Get the current Video device count
function VideoDeviceGetDefault:PVideoDevice;
Description: Get the current default Video device
function VideoDeviceSetDefault(Video:PVideoDevice):LongWord;
Description: Set the current default Video device
function VideoDeviceCheck(Video:PVideoDevice):PVideoDevice;
Description: Check if the supplied Video device is in the Video device table
procedure VideoLog(Level:LongWord; Video:PVideoDevice; const AText:String);
Description: To be documented
procedure VideoLogInfo(Video:PVideoDevice; const AText:String); inline;
Description: To be documented
procedure VideoLogWarn(Video:PVideoDevice; const AText:String); inline;
Description: To be documented
procedure VideoLogError(Video:PVideoDevice; const AText:String); inline;
Description: To be documented
procedure VideoLogDebug(Video:PVideoDevice; const AText:String); inline;
Description: To be documented
Return to Unit Reference