</enum>
<enum name="ImageFormatInfoType">
- <item name="RGB" />
- <item name="YUV" />
+ <item name="RGB"> <value>0</value> </item>
+ <item name="YUV"> <value>1</value> </item>
</enum>
<enum name="ImageFormatInfoFormat">
- <item name="Packed" />
- <item name="Planar" />
+ <item name="Packed"> <value>0</value> </item>
+ <item name="Planar"> <value>1</value> </item>
</enum>
<enum name="AttributeFlag">
<item name="Settable"><bit>1</bit></item>
</enum>
+ <enum name="VideoNotifyReason">
+ <item name="Started"> <value>0</value> </item>
+ <item name="Stopped"> <value>1</value> </item>
+ <item name="Busy"> <value>2</value> </item>
+ <item name="Preempted"> <value>3</value> </item>
+ <item name="HardError"> <value>4</value> </item>
+ </enum>
+
+ <enum name="ScanlineOrder">
+ <item name="TopToBottom"> <value>0</value> </item>
+ <item name="BottomToTop"> <value>1</value> </item>
+ </enum>
+
+ <enum name="GrabPortStatus">
+ <item name="Success"> <value>0</value> </item>
+ <item name="BadExtension"> <value>1</value> </item>
+ <item name="AlreadyGrabbed"> <value>2</value> </item>
+ <item name="InvalidTime"> <value>3</value> </item>
+ <item name="BadReply"> <value>4</value> </item>
+ <item name="BadAlloc"> <value>5</value> </item>
+ </enum>
+
<struct name="Rational">
<field type="INT32" name="numerator" />
<field type="INT32" name="denominator" />
<field type="CARD16" name="name_size" />
<field type="CARD16" name="num_ports" />
<field type="CARD16" name="num_formats" />
- <field type="CARD8" name="type" />
+ <field type="CARD8" name="type" mask="Type" />
<pad bytes="1" />
<list type="char" name="name">
<fieldref>name_size</fieldref>
</list>
+ <pad align="4" />
<list type="Format" name="formats">
<fieldref>num_formats</fieldref>
</list>
<field type="CARD16" name="name_size" />
<field type="CARD16" name="width" />
<field type="CARD16" name="height" />
- <!--
- Some versions of Xvproto.h incorrectly have
- this padding after "rate".
- -->
<pad bytes="2" />
<field type="Rational" name="rate" />
<list type="char" name="name">
</struct>
<struct name="AttributeInfo">
- <field type="CARD32" name="flags" />
+ <field type="CARD32" name="flags" mask="AttributeFlag" />
<field type="INT32" name="min" />
<field type="INT32" name="max" />
<field type="CARD32" name="size" />
<struct name="ImageFormatInfo">
<field type="CARD32" name="id" />
- <field type="CARD8" name="type" />
- <field type="CARD8" name="byte_order" />
+ <field type="CARD8" name="type" enum="ImageFormatInfoType" />
+ <field type="CARD8" name="byte_order" enum="ImageOrder" />
<pad bytes="2" />
<list type="CARD8" name="guid">
<value>16</value>
<field type="CARD32" name="red_mask" />
<field type="CARD32" name="green_mask" />
<field type="CARD32" name="blue_mask" />
- <field type="CARD8" name="format" />
+ <field type="CARD8" name="format" enum="ImageFormatInfoFormat" />
<pad bytes="3" />
<field type="CARD32" name="y_sample_bits" />
<field type="CARD32" name="u_sample_bits" />
<list type="CARD8" name="vcomp_order">
<value>32</value>
</list>
- <field type="CARD8" name="vscanline_order" />
+ <field type="CARD8" name="vscanline_order" enum="ScanlineOrder" />
<pad bytes="11" />
</struct>
<!-- Events -->
<event name="VideoNotify" number="0">
- <field type="BYTE" name="reason" />
+ <field type="BYTE" name="reason" enum="VideoNotifyReason" />
<field type="TIMESTAMP" name="time" />
<field type="DRAWABLE" name="drawable" />
<field type="PORT" name="port" />
<reply>
<pad bytes="1" />
<field type="CARD16" name="num_encodings" />
- <!--
- In Xvproto.h this padding is 24 bytes
- in actuality it is 22 bytes
- -->
<pad bytes="22" />
<list type="EncodingInfo" name="info">
<fieldref>num_encodings</fieldref>
<request name="GrabPort" opcode="3">
<field type="PORT" name="port" />
- <field type="TIMESTAMP" name="time" />
+ <field type="TIMESTAMP" name="time" altenum="Time" />
<reply>
- <field type="BYTE" name="result" />
+ <field type="BYTE" name="result" enum="GrabPortStatus" />
</reply>
</request>
<request name="UngrabPort" opcode="4">
<field type="PORT" name="port" />
- <field type="TIMESTAMP" name="time" />
+ <field type="TIMESTAMP" name="time" altenum="Time" />
</request>
<request name="PutVideo" opcode="5">