Home | History | Annotate | Download | only in spec
      1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
      2 <HTML
      3 ><HEAD
      4 ><TITLE
      5 >ioctl VIDIOC_G_AUDOUT, VIDIOC_S_AUDOUT</TITLE
      6 ><META
      7 NAME="GENERATOR"
      8 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
      9 REL="HOME"
     10 TITLE="Video for Linux Two API Specification"
     11 HREF="book1.htm"><LINK
     12 REL="UP"
     13 TITLE="Function Reference"
     14 HREF="r7624.htm"><LINK
     15 REL="PREVIOUS"
     16 TITLE="ioctl VIDIOC_G_AUDIO, VIDIOC_S_AUDIO"
     17 HREF="r9539.htm"><LINK
     18 REL="NEXT"
     19 TITLE="ioctl VIDIOC_G_CHIP_IDENT"
     20 HREF="r9804.htm"></HEAD
     21 ><BODY
     22 CLASS="REFENTRY"
     23 BGCOLOR="#FFFFFF"
     24 TEXT="#000000"
     25 LINK="#0000FF"
     26 VLINK="#840084"
     27 ALINK="#0000FF"
     28 ><DIV
     29 CLASS="NAVHEADER"
     30 ><TABLE
     31 SUMMARY="Header navigation table"
     32 WIDTH="100%"
     33 BORDER="0"
     34 CELLPADDING="0"
     35 CELLSPACING="0"
     36 ><TR
     37 ><TH
     38 COLSPAN="3"
     39 ALIGN="center"
     40 >Video for Linux Two API Specification: Revision 0.24</TH
     41 ></TR
     42 ><TR
     43 ><TD
     44 WIDTH="10%"
     45 ALIGN="left"
     46 VALIGN="bottom"
     47 ><A
     48 HREF="r9539.htm"
     49 ACCESSKEY="P"
     50 >Prev</A
     51 ></TD
     52 ><TD
     53 WIDTH="80%"
     54 ALIGN="center"
     55 VALIGN="bottom"
     56 ></TD
     57 ><TD
     58 WIDTH="10%"
     59 ALIGN="right"
     60 VALIGN="bottom"
     61 ><A
     62 HREF="r9804.htm"
     63 ACCESSKEY="N"
     64 >Next</A
     65 ></TD
     66 ></TR
     67 ></TABLE
     68 ><HR
     69 ALIGN="LEFT"
     70 WIDTH="100%"></DIV
     71 ><H1
     72 ><A
     73 NAME="VIDIOC-G-AUDIOOUT"
     74 ></A
     75 >ioctl VIDIOC_G_AUDOUT, VIDIOC_S_AUDOUT</H1
     76 ><DIV
     77 CLASS="REFNAMEDIV"
     78 ><A
     79 NAME="AEN9692"
     80 ></A
     81 ><H2
     82 >Name</H2
     83 >VIDIOC_G_AUDOUT, VIDIOC_S_AUDOUT&nbsp;--&nbsp;Query or select the current audio output</DIV
     84 ><DIV
     85 CLASS="REFSYNOPSISDIV"
     86 ><A
     87 NAME="AEN9696"
     88 ></A
     89 ><H2
     90 >Synopsis</H2
     91 ><DIV
     92 CLASS="FUNCSYNOPSIS"
     93 ><P
     94 ></P
     95 ><A
     96 NAME="AEN9697"
     97 ></A
     98 ><P
     99 ><CODE
    100 ><CODE
    101 CLASS="FUNCDEF"
    102 >int ioctl</CODE
    103 >(int fd, int request, struct v4l2_audioout *argp);</CODE
    104 ></P
    105 ><P
    106 ></P
    107 ></DIV
    108 ><DIV
    109 CLASS="FUNCSYNOPSIS"
    110 ><P
    111 ></P
    112 ><A
    113 NAME="AEN9707"
    114 ></A
    115 ><P
    116 ><CODE
    117 ><CODE
    118 CLASS="FUNCDEF"
    119 >int ioctl</CODE
    120 >(int fd, int request, const struct v4l2_audioout *argp);</CODE
    121 ></P
    122 ><P
    123 ></P
    124 ></DIV
    125 ></DIV
    126 ><DIV
    127 CLASS="REFSECT1"
    128 ><A
    129 NAME="AEN9717"
    130 ></A
    131 ><H2
    132 >Arguments</H2
    133 ><P
    134 ></P
    135 ><DIV
    136 CLASS="VARIABLELIST"
    137 ><DL
    138 ><DT
    139 ><CODE
    140 CLASS="PARAMETER"
    141 >fd</CODE
    142 ></DT
    143 ><DD
    144 ><P
    145 >File descriptor returned by <A
    146 HREF="r14090.htm"
    147 ><CODE
    148 CLASS="FUNCTION"
    149 >open()</CODE
    150 ></A
    151 >.</P
    152 ></DD
    153 ><DT
    154 ><CODE
    155 CLASS="PARAMETER"
    156 >request</CODE
    157 ></DT
    158 ><DD
    159 ><P
    160 >VIDIOC_G_AUDOUT, VIDIOC_S_AUDOUT</P
    161 ></DD
    162 ><DT
    163 ><CODE
    164 CLASS="PARAMETER"
    165 >argp</CODE
    166 ></DT
    167 ><DD
    168 ><P
    169 ></P
    170 ></DD
    171 ></DL
    172 ></DIV
    173 ></DIV
    174 ><DIV
    175 CLASS="REFSECT1"
    176 ><A
    177 NAME="AEN9737"
    178 ></A
    179 ><H2
    180 >Description</H2
    181 ><P
    182 >To query the current audio output applications zero out the
    183 <CODE
    184 CLASS="STRUCTFIELD"
    185 >reserved</CODE
    186 > array of a struct&nbsp;<A
    187 HREF="r9688.htm#V4L2-AUDIOOUT"
    188 >v4l2_audioout</A
    189 > and
    190 call the <CODE
    191 CLASS="CONSTANT"
    192 >VIDIOC_G_AUDOUT</CODE
    193 > ioctl with a pointer
    194 to this structure. Drivers fill the rest of the structure or return an
    195 <SPAN
    196 CLASS="ERRORCODE"
    197 >EINVAL</SPAN
    198 > error code when the device has no audio inputs, or none which combine
    199 with the current video output.</P
    200 ><P
    201 >Audio outputs have no writable properties. Nevertheless, to
    202 select the current audio output applications can initialize the
    203 <CODE
    204 CLASS="STRUCTFIELD"
    205 >index</CODE
    206 > field and
    207 <CODE
    208 CLASS="STRUCTFIELD"
    209 >reserved</CODE
    210 > array (which in the future may
    211 contain writable properties) of a
    212 <CODE
    213 CLASS="STRUCTNAME"
    214 >v4l2_audioout</CODE
    215 > structure and call the
    216 <CODE
    217 CLASS="CONSTANT"
    218 >VIDIOC_S_AUDOUT</CODE
    219 > ioctl. Drivers switch to the
    220 requested output or return the <SPAN
    221 CLASS="ERRORCODE"
    222 >EINVAL</SPAN
    223 > error code when the index is out of
    224 bounds. This is a write-only ioctl, it does not return the current
    225 audio output attributes as <CODE
    226 CLASS="CONSTANT"
    227 >VIDIOC_G_AUDOUT</CODE
    228 >
    229 does.</P
    230 ><P
    231 >Note connectors on a TV card to loop back the received audio
    232 signal to a sound card are not audio outputs in this sense.</P
    233 ><DIV
    234 CLASS="TABLE"
    235 ><A
    236 NAME="V4L2-AUDIOOUT"
    237 ></A
    238 ><P
    239 ><B
    240 >Table 1. struct <CODE
    241 CLASS="STRUCTNAME"
    242 >v4l2_audioout</CODE
    243 ></B
    244 ></P
    245 ><TABLE
    246 BORDER="0"
    247 FRAME="void"
    248 WIDTH="100%"
    249 CLASS="CALSTABLE"
    250 ><COL
    251 WIDTH="25%"
    252 TITLE="C1"><COL
    253 WIDTH="25%"
    254 TITLE="C2"><COL
    255 WIDTH="50%"
    256 TITLE="C3"><TBODY
    257 VALIGN="TOP"
    258 ><TR
    259 ><TD
    260 >__u32</TD
    261 ><TD
    262 ><CODE
    263 CLASS="STRUCTFIELD"
    264 >index</CODE
    265 ></TD
    266 ><TD
    267 >Identifies the audio output, set by the
    268 driver or application.</TD
    269 ></TR
    270 ><TR
    271 ><TD
    272 >__u8</TD
    273 ><TD
    274 ><CODE
    275 CLASS="STRUCTFIELD"
    276 >name</CODE
    277 >[32]</TD
    278 ><TD
    279 >Name of the audio output, a NUL-terminated ASCII
    280 string, for example: "Line Out". This information is intended for the
    281 user, preferably the connector label on the device itself.</TD
    282 ></TR
    283 ><TR
    284 ><TD
    285 >__u32</TD
    286 ><TD
    287 ><CODE
    288 CLASS="STRUCTFIELD"
    289 >capability</CODE
    290 ></TD
    291 ><TD
    292 >Audio capability flags, none defined yet. Drivers
    293 must set this field to zero.</TD
    294 ></TR
    295 ><TR
    296 ><TD
    297 >__u32</TD
    298 ><TD
    299 ><CODE
    300 CLASS="STRUCTFIELD"
    301 >mode</CODE
    302 ></TD
    303 ><TD
    304 >Audio mode, none defined yet. Drivers and
    305 applications (on <CODE
    306 CLASS="CONSTANT"
    307 >VIDIOC_S_AUDOUT</CODE
    308 >) must set this
    309 field to zero.</TD
    310 ></TR
    311 ><TR
    312 ><TD
    313 >__u32</TD
    314 ><TD
    315 ><CODE
    316 CLASS="STRUCTFIELD"
    317 >reserved</CODE
    318 >[2]</TD
    319 ><TD
    320 >Reserved for future extensions. Drivers and
    321 applications must set the array to zero.</TD
    322 ></TR
    323 ></TBODY
    324 ></TABLE
    325 ></DIV
    326 ></DIV
    327 ><DIV
    328 CLASS="REFSECT1"
    329 ><A
    330 NAME="AEN9787"
    331 ></A
    332 ><H2
    333 >Return Value</H2
    334 ><P
    335 >On success <SPAN
    336 CLASS="RETURNVALUE"
    337 >0</SPAN
    338 > is returned, on error <SPAN
    339 CLASS="RETURNVALUE"
    340 >-1</SPAN
    341 > and the <CODE
    342 CLASS="VARNAME"
    343 >errno</CODE
    344 > variable is set appropriately:</P
    345 ><P
    346 ></P
    347 ><DIV
    348 CLASS="VARIABLELIST"
    349 ><DL
    350 ><DT
    351 ><SPAN
    352 CLASS="ERRORCODE"
    353 >EINVAL</SPAN
    354 ></DT
    355 ><DD
    356 ><P
    357 >No audio outputs combine with the current video
    358 output, or the number of the selected audio output is out of bounds or
    359 it does not combine, or there are no audio outputs at all and the
    360 ioctl is not supported.</P
    361 ></DD
    362 ><DT
    363 ><SPAN
    364 CLASS="ERRORCODE"
    365 >EBUSY</SPAN
    366 ></DT
    367 ><DD
    368 ><P
    369 >I/O is in progress, the output cannot be
    370 switched.</P
    371 ></DD
    372 ></DL
    373 ></DIV
    374 ></DIV
    375 ><DIV
    376 CLASS="NAVFOOTER"
    377 ><HR
    378 ALIGN="LEFT"
    379 WIDTH="100%"><TABLE
    380 SUMMARY="Footer navigation table"
    381 WIDTH="100%"
    382 BORDER="0"
    383 CELLPADDING="0"
    384 CELLSPACING="0"
    385 ><TR
    386 ><TD
    387 WIDTH="33%"
    388 ALIGN="left"
    389 VALIGN="top"
    390 ><A
    391 HREF="r9539.htm"
    392 ACCESSKEY="P"
    393 >Prev</A
    394 ></TD
    395 ><TD
    396 WIDTH="34%"
    397 ALIGN="center"
    398 VALIGN="top"
    399 ><A
    400 HREF="book1.htm"
    401 ACCESSKEY="H"
    402 >Home</A
    403 ></TD
    404 ><TD
    405 WIDTH="33%"
    406 ALIGN="right"
    407 VALIGN="top"
    408 ><A
    409 HREF="r9804.htm"
    410 ACCESSKEY="N"
    411 >Next</A
    412 ></TD
    413 ></TR
    414 ><TR
    415 ><TD
    416 WIDTH="33%"
    417 ALIGN="left"
    418 VALIGN="top"
    419 >ioctl VIDIOC_G_AUDIO, VIDIOC_S_AUDIO</TD
    420 ><TD
    421 WIDTH="34%"
    422 ALIGN="center"
    423 VALIGN="top"
    424 ><A
    425 HREF="r7624.htm"
    426 ACCESSKEY="U"
    427 >Up</A
    428 ></TD
    429 ><TD
    430 WIDTH="33%"
    431 ALIGN="right"
    432 VALIGN="top"
    433 >ioctl VIDIOC_G_CHIP_IDENT</TD
    434 ></TR
    435 ></TABLE
    436 ></DIV
    437 ></BODY
    438 ></HTML
    439 >
    440