XvGrabPort(3X)XvGrabPort(3X)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.
DescriptionXvGrabPort(3X) 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 fol-
lowing requests are processed: XvGrabPort(3X), XvUngrabPort(3X), XvPutVideo(3X), XvPutStill(3X), XvGetVideo(3X), XvGetStill(3X).
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(3X) 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(3X) failed to allocate memory to process the request.
Diagnostics
[XvBadPort] Generated if the requested port does not exist.
See AlsoXvUngrabPort(3X)XvVideoNotify(3X)XFree86 Version 4.7.0 XvGrabPort(3X)
Check Out this Related Man Page
XvPutStill(3X)XvPutStill(3X)Name
XvPutStill - write a single frame of video to a drawable
Syntax
#include <X11/extensions/Xvlib.h>
XvPutStill(dpy, port, d, gc, vx, vy, vw, vh, dx, dy, dw, dh)
Display *dpy;
XvPortID port;
Drawable d;
GC gc;
int vx, vy, dx, dy;
unsigned int vw, vh;
unsigned int dw, dh;
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 from which to get the still.
d Defines the drawable into which the still is to be written. Pixmaps are currently not supported.
gc Defines the graphical context. GC components are: subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask.
vx,vy,vw,vh Define the location and size of the video region to be written. vx and vy define the upper-left pixel of the region. vw and
vh define the width and height, in pixels, of the region.
dx,dy,dw,dh Define the location and size of the destination region into which the still image is written. dx and dy define the upper-
left corner of the region. dw and dh define the width and height, in pixels, of the region.
DescriptionXvPutStill(3X) writes a single frame of video to a drawable. The position and size of the source (video) rectangle is specified by vx, vy,
vw, and vh. The position and size of the destination (drawable) rectangle is specified by dx, dy, dw, and dh.
Video data is clipped to the bounds of the video encoding, scaled to the requested drawable region size (or the closest size supported) and
clipped to the bounds of the drawable.
If the port is grabbed by another client, this request is ignored, and an XvVideoNotify event with detail XvBusy is generated for the draw-
able. If the port is not receiving a valid video signal a VideoNotify event with detail XvHardError is generated for the drawable.
Returned Values
[Success]
Returned if XvPutStill(3X) completed successfully.
[XvBadExtension]
Returned if the Xv extension is unavailable.
[XvBadAlloc]
Returned if XvGetStill(3X) failed to allocate memory to process the request.
Diagnostics
[XvBadPort]
Generated if the requested port does not exist.
[BadDrawable]
Generated if the requested drawable does not exist.
[BadGC] Generated if the requested graphics context does not exist.
[BadAlloc]
Generated if there were insufficient resources to process the request.
See AlsoXvPutVideo(3X), XvGetStill(3X), XvVideoNotify(3X)XFree86 Version Version 4.3.0 XvPutStill(3X)