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 -- 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 <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