XvGrabPort(3)

Name
XvGrabPort - lock port for exclusive use by client

Syntax
#include <X11/extensions/Xvlib.h>

XvGrabPort(dpy, port, time)

Display *dpy;
XvPortID port;
Time time;

Arguments

dpy Specifies the display screen on which the Xv Server is to accept requests from Xv clients. If the display option is not specified, Xv uses the display screen specified by your DISPLAY environment variable. The display option has the format hostname:number. Using two colons (::) instead of one (:) indicates that DECnet is to be used for transport.

port
    Defines the port to be grabbed.

time
    Specifies the request timestamp.

Description
XvGrabPort(3) grabs a port. Once a client grabs a port, only that client can make video requests to that port.

If the time is before the current port time, the XvGrabPort request is ignored and XvInvalidTime is returned. If the port is already grabbed by another client, XvAlreadyGrabbed is returned. Otherwise it returns a status of Success. The port time is updated when the following requests are processed: XvGrabPort(3), XvUngrabPort(3), XvPutVideo(3), XvPutStill(3), XvGetVideo(3), XvGetStill(3).

If the port is actively processing video for another client, the video is preempted, and an XvVideoNotify event with detail XvPreempted is generated for its drawable.

Returned Values

[Success]
    Returned if XvGrabPort(3) completed successfully.

[XvInvalidTime]
    Returned if requested time is older than the current port time.

[XvAlreadyGrabbed]
    Returned if the port is already grabbed by another client.

[XvBadExtension]
    Returned if the Xv extension is unavailable.

[XvBadAlloc]
    Returned if XvGrabPort(3) failed to allocate memory to process the request.

Diagnostics

[XvBadPort]
    Generated if the requested port does not exist.

See Also
XvUngrabPort(3) XvVideoNotify(3)