<?xml version="1.0" encoding="ANSI_X3.4-1968" standalone="no"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968" /><title>ioctl VIDIOC_G_INPUT, VIDIOC_S_INPUT</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><link rel="home" href="index.html" title="LINUX MEDIA INFRASTRUCTURE API" /><link rel="up" href="apa.html" title="Appendix A. Function Reference" /><link rel="prev" href="re42.html" title="ioctl VIDIOC_G_FREQUENCY, VIDIOC_S_FREQUENCY" /><link rel="next" href="re44.html" title="ioctl VIDIOC_G_JPEGCOMP, VIDIOC_S_JPEGCOMP" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">ioctl VIDIOC_G_INPUT, VIDIOC_S_INPUT</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="re42.html">Prev</a> </td><th width="60%" align="center">Appendix A. Function Reference</th><td width="20%" align="right"> <a accesskey="n" href="re44.html">Next</a></td></tr></table><hr /></div><div class="refentry" title="ioctl VIDIOC_G_INPUT, VIDIOC_S_INPUT"><a id="vidioc-g-input"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>VIDIOC_G_INPUT, VIDIOC_S_INPUT — Query or select the current video input</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="funcsynopsis"><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" class="funcprototype-table"><tr><td><code class="funcdef">int <b class="fsfunc">ioctl</b>(</code></td><td>int <var class="pdparam">fd</var>, </td></tr><tr><td> </td><td>int <var class="pdparam">request</var>, </td></tr><tr><td> </td><td>int *<var class="pdparam">argp</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1" title="Arguments"><a id="id2714099"></a><h2>Arguments</h2><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>fd</code></em></span></dt><dd><p>File descriptor returned by <a class="link" href="re64.html" title="V4L2 open()"><code class="function">open()</code></a>.</p></dd><dt><span class="term"><em class="parameter"><code>request</code></em></span></dt><dd><p>VIDIOC_G_INPUT, VIDIOC_S_INPUT</p></dd><dt><span class="term"><em class="parameter"><code>argp</code></em></span></dt><dd><p></p></dd></dl></div></div><div class="refsect1" title="Description"><a id="id2715471"></a><h2>Description</h2><p>To query the current video input applications call the <code class="constant">VIDIOC_G_INPUT</code> ioctl with a pointer to an integer where the driver stores the number of the input, as in the struct <a class="link" href="re31.html#v4l2-input" title="Table A.22. struct v4l2_input">v4l2_input</a> <em class="structfield"><code>index</code></em> field. This ioctl will fail only when there are no video inputs, returning <span class="errorcode">EINVAL</span>.</p><p>To select a video input applications store the number of the desired input in an integer and call the <code class="constant">VIDIOC_S_INPUT</code> ioctl with a pointer to this integer. Side effects are possible. For example inputs may support different video standards, so the driver may implicitly switch the current standard. It is good practice to select an input before querying or negotiating any other parameters.</p><p>Information about video inputs is available using the <a class="link" href="re31.html" title="ioctl VIDIOC_ENUMINPUT"><code class="constant">VIDIOC_ENUMINPUT</code></a> ioctl.</p></div><div class="refsect1" title="Return Value"><a id="id2715530"></a><h2>Return Value</h2><p>On success <span class="returnvalue">0</span> is returned, on error <span class="returnvalue">-1</span> and the <code class="varname">errno</code> variable is set appropriately:</p><div class="variablelist"><dl><dt><span class="term"><span class="errorcode">EINVAL</span></span></dt><dd><p>The number of the video input is out of bounds, or there are no video inputs at all and this ioctl is not supported.</p></dd><dt><span class="term"><span class="errorcode">EBUSY</span></span></dt><dd><p>I/O is in progress, the input cannot be switched.</p></dd></dl></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="re42.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="apa.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="re44.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">ioctl VIDIOC_G_FREQUENCY, VIDIOC_S_FREQUENCY </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> ioctl VIDIOC_G_JPEGCOMP, VIDIOC_S_JPEGCOMP</td></tr></table></div></body></html>