VLSETUPPATHS(3dm) VLSETUPPATHS(3dm)
vlSetupPaths - setup VL paths
#include <dmedia/vl.h>
int vlSetupPaths(VLServer svr, VLPathList paths, uint count,
VLUsageType ctrlUsage, VLUsageType streamUsage);
svr Specifies the server.
paths Specifies paths.
count Specifies number of paths.
ctrlUsage Specifies usage of controls.
streamUsage Specifies usage of streams.
vlSetupPaths is the function that sets up the hardware to enable
exclusive or shared usage, and prepares the hardware for the intended use
by establishing connections and switches within the device.
Paths must be from a single device and single server. If paths from
multiple devices are specified, the function returns -1, and vlErrno is
set to the reason.
This means that any inter-device or inter-server video data transfer must
be done by the application.
Transfer requiring CPU intervention are not started until the
vlBeginTransfer function is called.
Call vlSetupPaths again to change the usage on a set of paths. If the
requested change in usage fails, the old usage, if any, is retained. For
example, if exclusive use was requested, but unavailable, the old usage
would be retained.
typedef VLPath VLPathList[];
typedef enum VLTypeUsage
{ VL_DONE_USING, VL_READ_ONLY, VL_SHARE, VL_LOCK } VLUsageType;
Streamusage may be set to the following values:
VL_DONE_USING
the application is finished using this path, and the hardware
resources may be released. The path is not destroyed, but it
cannot be used for transfers until it's usage is changed to
either VL_SHARE or VL_LOCK.
Page 1
VLSETUPPATHS(3dm) VLSETUPPATHS(3dm)
VL_READ_ONLY
the application will be using the path, but will not be doing
data transfers.
VL_SHARE
the path will be used for transfers, but can be preempted by
other paths. When using VL_SHARE, the application should pay
attention to VLStreamPreempted events.
VL_LOCK
the path will be used for transfers and cannot be preempted.
When this path is setup, it may preempt other paths.
Controlusage may be set to the following values:
VL_DONE_USING
the application is finished using this path, and the hardware
resources may be released.
VL_READ_ONLY
controls can be read, but not set. No data transfers can occur.
VL_SHARE
controls can be read and set, and VLControlChanged events
should be watched to reflect the activities of other paths.
VL_LOCK
prevents other paths from setting controls which reflect shared
hardware resources.
If successful, this function returns zero. A value of -1 indicates an
error.
vlCreatePath(3dm), vlAddNode(3dm), vlRemoveNode(3dm),
vlBeginTransfer(3dm), vlEndTransfer(3dm)
VLSETUPPATHS(3dm) VLSETUPPATHS(3dm)
vlSetupPaths - setup VL paths
#include <dmedia/vl.h>
int vlSetupPaths(VLServer svr, VLPathList paths, uint count,
VLUsageType ctrlUsage, VLUsageType streamUsage);
svr Specifies the server.
paths Specifies paths.
count Specifies number of paths.
ctrlUsage Specifies usage of controls.
streamUsage Specifies usage of streams.
vlSetupPaths is the function that sets up the hardware to enable
exclusive or shared usage, and prepares the hardware for the intended use
by establishing connections and switches within the device.
Paths must be from a single device and single server. If paths from
multiple devices are specified, the function returns -1, and vlErrno is
set to the reason.
This means that any inter-device or inter-server video data transfer must
be done by the application.
Transfer requiring CPU intervention are not started until the
vlBeginTransfer function is called.
Call vlSetupPaths again to change the usage on a set of paths. If the
requested change in usage fails, the old usage, if any, is retained. For
example, if exclusive use was requested, but unavailable, the old usage
would be retained.
typedef VLPath VLPathList[];
typedef enum VLTypeUsage
{ VL_DONE_USING, VL_READ_ONLY, VL_SHARE, VL_LOCK } VLUsageType;
Streamusage may be set to the following values:
VL_DONE_USING
the application is finished using this path, and the hardware
resources may be released. The path is not destroyed, but it
cannot be used for transfers until it's usage is changed to
either VL_SHARE or VL_LOCK.
Page 1
VLSETUPPATHS(3dm) VLSETUPPATHS(3dm)
VL_READ_ONLY
the application will be using the path, but will not be doing
data transfers.
VL_SHARE
the path will be used for transfers, but can be preempted by
other paths. When using VL_SHARE, the application should pay
attention to VLStreamPreempted events.
VL_LOCK
the path will be used for transfers and cannot be preempted.
When this path is setup, it may preempt other paths.
Controlusage may be set to the following values:
VL_DONE_USING
the application is finished using this path, and the hardware
resources may be released.
VL_READ_ONLY
controls can be read, but not set. No data transfers can occur.
VL_SHARE
controls can be read and set, and VLControlChanged events
should be watched to reflect the activities of other paths.
VL_LOCK
prevents other paths from setting controls which reflect shared
hardware resources.
If successful, this function returns zero. A value of -1 indicates an
error.
vlCreatePath(3dm), vlAddNode(3dm), vlRemoveNode(3dm),
vlBeginTransfer(3dm), vlEndTransfer(3dm)
PPPPaaaaggggeeee 2222 [ Back ]
|