Appendix A. Return Codes

This appendix explains the return codes that are used with the Video Library for the OCTANE Personal Video option. The return code is accessible through the vlGetErrno() routine; see also vlPerror() and vlStrError().

VLAPIConflict

You have called an API routine that is not supported on this platform.

VLSuccess

The Video Library routine completed without error.

VLBadAccess

The client attempted to perform an operation that is illegal given the state of the client, the node, or the path. This error is returned, for example, if the client attempts to add a node to a path that has been set up, or call vlSetControl() on a path with control usage est to VL_READ_ONLY.

VLBadAlloc

The Video Library could not allocate the system resources required for the requested operation, for example, memory and semaphores. If the source of the error is not evident (that is, sufficient physical memory and paging space was present), report this error to technical support.

VLBadAtom

The server does not recognize the value specified by the atom parameter in the request as a valid atom ID.

VLBadBuffer

The value of the buffer parameter is not a DMbuffer ID recognized by the Video Library.

VLBadControl

The value specified by the control parameter is not recognized by the node to which the request was made.

VLBadDevice

The server does not recognize the value specified by the device parameter in the request as a valid device ID. See also VLBadMatch.

VLBadIDChoice

The requested resource ID is not in range; report this error to Customer Support.

VLBadImplementation

An internal processing error occurred. Report the error and the context in which it occurred to Customer Service.

VLBadIoctl

An error occurred between the video daemon and the device driver associated with the video device. This error can result from an invalid parameter setting in vlSetControl(), although it can also represent an internal processing error. This error should be reported to technical support.

VLBadLength

The video daemon received a request with an invalid length. Report this internal processing error to Customer Support.

VLBadMatch

The arguments specified for the node, path, or device parameters are not consistent. The node may not reside on the path, or the path may not reside on the device.

VLBadName

An error took place when the DMparams list was to be retrieved; see VLDMGETPARAMS(3dm).

VLBadNode

The server does not recognize the value specified by the node parameter in the request as a valid node ID. See also VLBadMatch.

VLBadPath

The server does not recognize the value specified by the path parameter in the request as a valid path. See also VLBadMatch.

VLBadPort

The value specified by the port parameter is not a recognized port on the associated node.

VLBadRequest

The daemon has received a bad request code. Report this internal processing error to technical support.

VLBadServer

The value of the server parameter is not a server ID recognized by the Video Library.

VLBadSize

The size of the DMbuffer elements associated with a memory node are not compatible with the size of a video unit (field or frame), given the node's control settings.

VLBadValue

The value of a parameter is invalid. When generated by vlSetControl(), VLBadValue can indicate that the incorrect control value type was used, that the value is not within the range for the control, or that the node cannot accept the specified value due to a conflict with other node settings.

VLBufferTooSmall

The size of the DMbuffer elements associated with a memory node are smaller than the size of a video unit (field or frame) given the node's control settings.

VLInputsNotLocked

The processing element associated with a node cannot lock to the input signal. This code may indicate that no signal is present or that the supplied video signal uses a different timing standard than that expected by the node (see VL_TIMING on the input or device node).

VLNotEnoughSpace

The supplied data region did not contain enough space to hold the information returned by the server.

VLNotSupported

vlSetConnection() or vlGetConnection() can return this code if the video device does not support explicit connections. Note that the OCTANE Personal Video device does not support these calls.

VLPathInUse

This error is generated by a call to (vlSetupPaths()) when a node cannot be acquired because the path has requested VL_SHARE stream usage while another path has the required nodes with a stream of VL_LOCK, or with a control usage of VL_LOCK.

VLSetupFailed

A general failure occurred during a vlSetupPaths() request. If multiple paths were specified for vlSetupPaths(), some or none of the paths may have been set up. In addition, some paths may have been preempted in order to set up those paths.

It is recommended that the application set up the paths again to stream usage VL_READ_ONLY and control usage VL_READ_ONLY or VL_SHARE in order to reset the state of all paths. This combination of control and stream usage is guaranteed to succeed.

VLValueOutOfRange

The control value specified for a vlSetControl() operation is not within the range accepted by the node. The value was adjusted before being set. (Compare with VLBadValue, where the control's value is not changed at all.) Use the vlGetControlInfo() routine to retrieve the valid ranges for the control.