Difference between revisions of "Unit Video"

From Ultibo.org
Jump to: navigation, search
 
(2 intermediate revisions by the same user not shown)
Line 5: Line 5:
 
----
 
----
  
'''Ultibo Video interface unit'''
+
'''Ultibo Video Interface unit'''
  
 
This unit provides both the Video device interface and the generic USB video device driver.
 
This unit provides both the Video device interface and the generic USB video device driver.
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 365: Line 365:
  
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
<pre style="border: 0; padding-bottom:0px;">function VideoGetCount:LongWord; inline;</pre>
+
<pre style="border: 0; padding-bottom:0px;">function VideoGetCount:LongWord;</pre>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Get the current Video device count</div>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Get the current Video device count</div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| None documented
 
| None documented
 
|-
 
|-
Line 377: Line 377:
 
<br />  
 
<br />  
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
<pre style="border: 0; padding-bottom:0px;">function VideoDeviceGetDefault:PVideoDevice; inline;</pre>
+
<pre style="border: 0; padding-bottom:0px;">function VideoDeviceGetDefault:PVideoDevice;</pre>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Get the current default Video device</div>
 
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Get the current default Video device</div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
{| 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
 
|-
 
|-

Latest revision as of 02:32, 15 December 2022

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;
Description: Get the current Video device count


[Expand]
function VideoDeviceGetDefault:PVideoDevice;
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