Escolar Documentos
Profissional Documentos
Cultura Documentos
Protocol Description
Version 2
25-JUL-91
David Carver
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Copyright 1991 by Digital Equipment Corporation, Maynard, Massachusetts,
and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted, provided
that the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation, and that the names of Digital or MIT not be used in
advertising or publicity pertaining to distribution of the software
without specific, written prior permission.
Acknowledgements
---------------
-- Changed QueryBestSize
Model
-----
Mechanism
---------
ADAPTORINFO:
[base-id: PORT
num-ports: CARD16
type: SETofADAPTORTYPE
formats: LISTofFORMAT
name: STRING]
FORMAT:
[depth: CARD8
visual: VISUALID]
The base-id field specifies the XID of the first port of the
adaptor. The `num-ports' field specifies how many ports the
adaptor supports. The ports of the adaptor have XIDs in the range
[base-id..base-id + num-ports - 1]
The drawable depths and visual types supported by the adaptor are
listed in `formats'. Note: that when video is being processed for
pixmaps the visual format is taken to be the visual of the first
pair that matches the depth of the pixmap.
Port
A Port error is returned if any request names a PORT that does not
exist.
Encoding
QueryExtension
==>
version: CARD16
revision: CARD16
QueryAdaptors
win: WINDOW
==>
adaptors: LISTofADAPTORINFO
Errors: {Window}
QueryEncodings
port: PORT
==>
encodings: LISTofENCODINGINFO
ENCODINGINFO:
[encoding: ENCODINGID
name: STRING
width, height: CARD16
rate: FRACTION]
FRACTION
[numerator, denominator: INT32]
Errors: {Port}
Put Video Requests
------------------
PutVideo
port: PORT
drawable: DRAWABLE
gc: GCONTEXT
vid-x, vid-y: INT16
vid-w, vid-h: CARD16
drw-x, drw-y: INT16
drw-w, drw-h: CARD16
PutStill
port: PORT
drawable: DRAWABLE
gc: GCONTEXT
vid-x, vid-y: INT16
vid-w, vid-h: CARD16
drw-x, drw-y: INT16
drw-w, drw-h: CARD16
GetVideo
port: PORT
drawable: DRAWABLE
gc: GCONTEXT
vid-x, vid-y: INT16
vid-w, vid-h: CARD16
drw-x, drw-y: INT16
drw-w, drw-h: CARD16
GetStill
port: PORT
drawable: DRAWABLE
gc: GCONTEXT
vid-x, vid-y: INT16
vid-w, vid-h: CARD16
drw-x, drw-y: INT16
drw-w, drw-h: CARD16
GrabPort
port: PORT
timestamp: {TIMESTAMP, CurrentTime}
==>
status: {Success, AlreadyGrabbed, InvalidTime}
Errors: {Port}
UngrabPort
port: PORT
timestamp: {TIMESTAMP, CurrentTime}
Errors: {Port}
Other Requests
--------------
StopVideo
port: PORT
drawable: DRAWABLE
The StopVideo request stops active video for the specified port
and drawable. If the port isn't processing video, or if it is
processing video in a different drawable, the request is ignored.
When video is stopped a VideoNotify event with detail Stopped is
generated for the associated drawable.
SelectVideoNotify
drawable: DRAWABLE
onoff: BOOL
Errors: {Drawable}
SelectPortNotify
port: PORT
onoff: BOOL
Errors: {Port}
QueryBestSize
port: PORT
motion: BOOL
vid-w, vid-h: CARD16
drw-w, drw-h: CARD16
==>
actual-width, actual-height: CARD16
The QueryBestSize request returns, for the given source size and
desired destination size, the closest destination size that the
port adaptor supports. The returned size will be equal
or smaller than the requested size if one is supported. If motion
is True then the requested size is intended for use with full
motion video. If motion is False, the requested size is intended
for use with stills only.
The retuned size is also chosen to maintain the requested aspect ratio
if possible.
Errors: {Port}
SetPortAttribute
port: PORT
attribute: ATOM
value: INT32
String Type
-----------------------------------------------------------------
"XV_ENCODING" ENCODINGID
"XV_HUE" [-1000..1000]
"XV_SATURATION" [-1000..1000]
"XV_BRIGHTNESS" [-1000..1000]
"XV_CONTRAST" [-1000..1000]
GetPortAttribute
port: PORT
attribute: ATOM
==>
value: INT32
VideoNotify
drawable: DRAWABLE
port: PORT
reason: REASON
time: TIMESTAMP
PortNotify
port: PORT
attribute: ATOM
value: INT32
time: TIMESTAMP