Difference between revisions of "Unit Video"

From Ultibo.org
Jump to: navigation, search
Line 211: Line 211:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| Called only during system startup
 
| Called only during system startup
 
|-
 
|-
Line 226: Line 226:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Video'''
+
! Video
 
| The Video device to get properties from
 
| The Video device to get properties from
 
|-
 
|-
! '''Properties'''
+
! Properties
 
| Pointer to a TVideoProperties structure to fill in
 
| Pointer to a TVideoProperties structure to fill in
 
|-
 
|-
! '''Return'''
+
! Return
 
| ERROR_SUCCESS if completed or another error code on failure
 
| ERROR_SUCCESS if completed or another error code on failure
 
|-
 
|-
Line 244: Line 244:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Return'''
+
! Return
 
| Pointer to new Video device entry or nil if Video device could not be created
 
| Pointer to new Video device entry or nil if Video device could not be created
 
|-
 
|-
Line 256: Line 256:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Size'''
+
! Size
 
| Size in bytes to allocate for new Video device (Including the Video device entry)
 
| Size in bytes to allocate for new Video device (Including the Video device entry)
 
|-
 
|-
! '''Return'''
+
! Return
 
| Pointer to new Video device entry or nil if Video device could not be created
 
| Pointer to new Video device entry or nil if Video device could not be created
 
|-
 
|-
Line 271: Line 271:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| None documented
 
| None documented
 
|-
 
|-
Line 283: Line 283:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| None documented
 
| None documented
 
|-
 
|-
Line 295: Line 295:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| None documented
 
| None documented
 
|-
 
|-
Line 307: Line 307:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| None documented
 
| None documented
 
|-
 
|-
Line 319: Line 319:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| None documented
 
| None documented
 
|-
 
|-
Line 331: Line 331:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| None documented
 
| None documented
 
|-
 
|-
Line 343: Line 343:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| None documented
 
| None documented
 
|-
 
|-
Line 355: Line 355:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| None documented
 
| None documented
 
|-
 
|-
Line 370: Line 370:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| None documented
 
| None documented
 
|-
 
|-
Line 382: Line 382:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| None documented
 
| None documented
 
|-
 
|-
Line 394: Line 394:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| None documented
 
| None documented
 
|-
 
|-
Line 406: Line 406:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| None documented
 
| None documented
 
|-
 
|-
Line 418: Line 418:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| None documented
 
| None documented
 
|-
 
|-
Line 430: Line 430:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| None documented
 
| None documented
 
|-
 
|-
Line 442: Line 442:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| None documented
 
| None documented
 
|-
 
|-
Line 454: Line 454:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| None documented
 
| None documented
 
|-
 
|-
Line 466: Line 466:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| None documented
 
| None documented
 
|-
 
|-

Revision as of 05:52, 23 April 2018

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



[Expand]
Video specific constants VIDEO_*


[Expand]
Video device types VIDEO_TYPE_*


[Expand]
Video device states VIDEO_STATE_*


[Expand]
Video device flags VIDEO_FLAG_*


[Expand]
Video logging VIDEO_LOG_*


Type definitions



Video properties

[Expand]

PVideoProperties = ^TVideoProperties;

TVideoProperties = record

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

[Expand]

PVideoDevice = ^TVideoDevice;

TVideoDevice = record


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

[Expand]
procedure VideoInit;
Description: Initialize the Video unit and Video device table


Video device functions

[Expand]
function VideoDeviceGetProperties(Video:PVideoDevice; Properties:PVideoProperties):LongWord;
Description: Get the properties for the specified Video device


[Expand]
function VideoDeviceCreate:PVideoDevice;
Description: Create a new Video device entry


[Expand]
function VideoDeviceCreateEx(Size:LongWord):PVideoDevice;
Description: Create a new Video device entry


[Expand]
function VideoDeviceDestroy(Video:PVideoDevice):LongWord;
Description: Destroy an existing Video device entry


[Expand]
function VideoDeviceRegister(Video:PVideoDevice):LongWord;
Description: Register a new Video device in the Video device table


[Expand]
function VideoDeviceDeregister(Video:PVideoDevice):LongWord;
Description: Deregister a Video device from the Video device table


[Expand]
function VideoDeviceFind(VideoId:LongWord):PVideoDevice;
Description: To be documented


[Expand]
function VideoDeviceFindByName(const Name:String):PVideoDevice; inline;
Description: To be documented


[Expand]
function VideoDeviceFindByDescription(const Description:String):PVideoDevice; inline;
Description: To be documented


[Expand]
function VideoDeviceEnumerate(Callback:TVideoEnumerate; Data:Pointer):LongWord;
Description: To be documented


[Expand]
function VideoDeviceNotification(Video:PVideoDevice; Callback:TVideoNotification; Data:Pointer; Notification,Flags:LongWord):LongWord;
Description: To be documented


Video helper functions

[Expand]
function VideoGetCount:LongWord; inline;
Description: Get the current Video device count


[Expand]
function VideoDeviceGetDefault:PVideoDevice; inline;
Description: Get the current default Video device


[Expand]
function VideoDeviceSetDefault(Video:PVideoDevice):LongWord;
Description: Set the current default Video device


[Expand]
function VideoDeviceCheck(Video:PVideoDevice):PVideoDevice;
Description: Check if the supplied Video device is in the Video device table


[Expand]
procedure VideoLog(Level:LongWord; Video:PVideoDevice; const AText:String);
Description: To be documented


[Expand]
procedure VideoLogInfo(Video:PVideoDevice; const AText:String); inline;
Description: To be documented


[Expand]
procedure VideoLogWarn(Video:PVideoDevice; const AText:String); inline;
Description: To be documented


[Expand]
procedure VideoLogError(Video:PVideoDevice; const AText:String); inline;
Description: To be documented


[Expand]
procedure VideoLogDebug(Video:PVideoDevice; const AText:String); inline;
Description: To be documented


Return to Unit Reference