XvGetVideo(3) ドロウアブルから動画を取り込む

書式

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;

引き数

dpy
Xv サーバが Xv クライアントからのリクエストを受け付けるディスプレイ画面 を指定する。ディスプレイを指定するオプションが指定されていなければ、Xv は DISPLAY 環境変数で指定されているディスプレイを使う。ディスプレイ 指定オプションは「ホスト名:番号」という形式である。コロン 1 つ(:)でな く、コロン 2 つ(::)を使った場合には、トランスポート層で DECnet を使う ことが指定される。
port
ビデオ出力が送られるポートを定義する。
d
ビデオ出力を取り込むドロウアブル(ウィンドウ)を定義する。
gc
グラフィックスコンテクスト(GC)を定義する。GC の構成要素は subwindow-mode, clip-x-origin, clip-y-origin, clip-mask である。
vx,vy,vw,vh
書き込みが行われるビデオ領域の位置と大きさを定義する。 vxvy はビデオ領域の左上隅の x 座標と y 座標を定義する。 vwvh はビデオ領域の高さと幅をピクセル単位で定義する。
dx,dy,dw,dh
ビデオイメージを取り込むドロウアブルの位置と大きさを定義する。 dxdy は、ドロウアブル領域の左上隅の x 座標と y 座標を定義する。 dwdh は、ドロウアブル領域の幅と高さをピクセル単位で定義する。

説明

はドロウアブルから取り込んだ動画を出力する。出力先の矩形領域の位置と 大きさは vx, vy, vw, vh で指定する。 入力先の矩形領域の位置と大きさは dx, dy, dw dh で指定する。

ドロウアブルデータは、ドロウアブルの境界でクリップされ、 要求されたビデオ領域の大きさ(あるいは、サポートされているうちでこれに 最も近い大きさ)に拡大・縮小され、ビデオエンコーディングの境界でクリップされる。 ドロウアブルデータで更新しなかった領域の内容は未定義である。

ビデオがうまく開始したら、詳細内容として XvStarted を持つ XvVideoNotify イベントがそのドロウアブルに対して生成される。ポートが既 に使用中ならば、そのビデオ処理は無効にされ、さらに新しいドロウアブル が古いドロウアブルと異なる場合には、詳細内容として XvPreempted を持つ XvVideoNotify イベントが古いドロウアブルに対して生成される。他の クライアントがポートをグラブしていると、詳細内容として XvBusy を持つ XvVideoNotify イベントがそのドロウアブルに対して生成される。

返り値

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

診断

[XvBadPort]
要求されたポートが存在しない場合に生成される。
[BadGC]
要求されたグラフィックスコンテクストが存在しない場合に生成される。
[BadDrawable]
要求されたドロウアブルが存在しない場合に生成される。
[BadAlloc]
リクエストを処理するための資源が不十分な場合に生成される。