XvSetPortAttribute(3) ビデオポートの属性を設定する

書式

#include <X11/extensions/Xvlib.h>

XvSetPortAttribute(dpy, port, attribute, value)

Display *dpy;
XvPortID port;
Atom attribute;
int value;

引き数

dpy
Xv サーバが Xv クライアントからのリクエストを受け付けるディスプレイ画面 を指定する。ディスプレイを指定するオプションが指定されていなければ、Xv は DISPLAY 環境変数で指定されているディスプレイを使う。ディスプレイ 指定オプションは「ホスト名:番号」という形式である。コロン 1 つ(:)でな く、コロン 2 つ(::)を使った場合には、トランスポート層で DECnet を使う ことが指定される。
port
ポートを指定する。このポートに対して属性が使用される。
attribute
このリクエストによって設定するポート属性を決める。 後述の表の「属性文字列」カラムの項目のいずれかになる。
value
attribute に設定する値を決める。 後述の表の「種類」カラムの項目のいずれかになる。

説明

XvSetPortAttribute(3X) を使うと、クライアントは指定した値をポートに設 定することができる。このリクエストは以下に示す値をサポートしている:

属性文字列              種類               デフォルト値
"XV_ENCODING"           XvEncodingID     サーバ依存
"XV_HUE"                [-1000...1000]   0
"XV_SATURATION"         [-1000...1000]   0
"XV_BRIGHTNESS"         [-1000...1000]   0
"XV_CONTRAST"           [-1000...1000]   0
与えられるエンコーディングは、アダプタが対応しているエンコーディングの
いずれかでなければならず、そうでない場合には Encoding エラーとなる。
アダプタが、指定された色相(hue), 彩度(saturation), 明度(brightness), 
コントラスト値(contrast)を正確にサポートしていない場合には、サポートさ
れている中で最も近い値が指定されたものとする。結果として設定された値に
ついて問い合わせるには、XvGetPortAttribute(3X) を使うこと。
XvSetPortAttribute(3X) リクエストが処理される時、
XvSelectPortNotify(3X) を用いてポートの状態変化の通知を要求していた全
てのクライアントに対して PortControlNotify(3X) イベントが生成される。

返り値

[Success]
XvSetPortAttribute(3X) が正常終了した場合に返される。
[XvBadExtension]
Xv 機能拡張が使えない場合に返される。
[XvBadAlloc]
XvSelectVideoNotify(3X) がリクエストを処理するためのメモリの割り当てに 失敗した場合に返される。

診断

[XvBadPort]
要求されたポートが存在しない場合に生成される。
[XvBadEncoding]
存在しないエンコーディングが指定された場合に生成される。
[BadMatch]
要求された属性アトムが、アダプタがサポートしている属性を指定していない 場合に生成される。