Name
XvGetVideo - capture video from a drawable
Syntax
include Xvlib.h
XvGetVideo(dpy, port, d, gc, vx, vy, vw, vh, dx, dy, dw, dh)
register
Display
*dpy;
XvPortID
port;
Drawable
d;
GC
gc;
int
vx,
vy,
dx,
dy;
unsigned int
vw,
vh;
unsigned int
dw,
dh;
Arguments
-
_d_p_y
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.
-
_p_o_r_t
Defines the port to which video output is sent.
-
-
_d
Defines the drawable (window) from which video output is to be obtained.
-
-
_g_c
Defines the graphical context. GC components are:
-
subwindow-mode,
clip-x-origin,
clip-y-origin,
and
clip-mask.
-
_v_x_,_v_y_,_v_w_,_v_h
Define the location and size of the video region is to be written. _v_x
-
and _v_y define the
x and
y
coordinates of the upper-left corner of the video region;
vw and
vh
define the width and height, in pixels, of the video region.
-
_d_x_,_d_y_,_d_w_,_d_h
Define the location of the source drawable from which the
-
video image is to be taken.
dx and
dy
define the
x and
y
coordinates of the upper-left corner of the drawable region;
dw and
dh
define the width and height, in pixels, of the drawable region.
Description
outputs video from a drawable. The position
and size of the destination rectangle is specified by
vx,
vy,
vw,
and
vh.
The position and size of the source rectangle is specified by
dx,
dy,
dw,
and
dh.
Drawable data is clipped to the bounds of the drawable, scaled to the
requested video region size (or the closest size supported) and
clipped to the bounds of the video encoding. The contents of any region
not updated with drawable data is undefined.
If video is successfully initiated, an XvVideoNotify event with
detail XvStarted is generated for the drawable. If the port is
already in use, its video is preempted, and if the new drawable is
different than the old, an XvVideoNotify event with detail XvPreempted
is generated for the old drawable. If the port is grabbed by another
client, this request is ignored, and an XvVideoNotify event with detail
XvBusy is generated for the drawable.
Returned Values
-
[Success]
Returned if XvGetVideo(3X) completed successfully.
-
-
[XvBadExtension]
Returned if the Xv extension is unavailable.
-
-
[XvBadAlloc]
Returned if XvGetVideo(3X) failed to allocate memory to process
-
the request.
Diagnostics
-
[XvBadPort]
Generated if the requested port does not exist.
-
-
[BadGC]
Generated if the requested graphics context does not exist.
-
-
[BadDrawable]
Generated if the requested drawable does not exist.
-
-
[BadAlloc]
Generated if there were insufficient resources to process the request.
-
See Also
XvGetStill(3X), XvPutVideo(3X), XvVideoNotify(3X)