Repository URL to install this package:
|
Version:
8:3.0.2-1ubuntu3 ▾
|
<!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/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>FFmpeg: libavdevice/avdevice.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">FFmpeg
 <span id="projectnumber">3.0.2</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
<li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Data Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_ac0f646f7dac5d9f814abb87c8dfa999.html">libavdevice</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">avdevice.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="avdevice_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * This file is part of FFmpeg.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * FFmpeg is free software; you can redistribute it and/or</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * License as published by the Free Software Foundation; either</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * FFmpeg is distributed in the hope that it will be useful,</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * Lesser General Public License for more details.</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * License along with FFmpeg; if not, write to the Free Software</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> </div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#ifndef AVDEVICE_AVDEVICE_H</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor"></span><span class="preprocessor">#define AVDEVICE_AVDEVICE_H</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor"></span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#include "<a class="code" href="libavdevice_2version_8h.html">version.h</a>"</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"></span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">/**</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * @file</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> * @ingroup lavd</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> * Main libavdevice API header</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"></span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">/**</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> * @defgroup lavd Special devices muxing/demuxing library</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * @{</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> * Libavdevice is a complementary library to @ref libavf "libavformat". It</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> * provides various "special" platform-specific muxers and demuxers, e.g. for</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> * grabbing devices, audio capture and playback etc. As a consequence, the</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> * (de)muxers in libavdevice are of the AVFMT_NOFILE type (they use their own</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> * I/O functions). The filename passed to avformat_open_input() often does not</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> * refer to an actually existing file, but has some special device-specific</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> * meaning - e.g. for x11grab it is the display name.</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> * To use libavdevice, simply call avdevice_register_all() to register all</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> * compiled muxers and demuxers. They all use standard libavformat API.</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> * @}</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include "<a class="code" href="log_8h.html">libavutil/log.h</a>"</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include "<a class="code" href="opt_8h.html">libavutil/opt.h</a>"</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#include "<a class="code" href="dict_8h.html">libavutil/dict.h</a>"</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#include "<a class="code" href="avformat_8h.html">libavformat/avformat.h</a>"</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"></span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">/**</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> * Return the LIBAVDEVICE_VERSION_INT constant.</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keywordtype">unsigned</span> <a class="code" href="avdevice_8h.html#a6a111710c7b02c2a11d8b6c43e0dd63d">avdevice_version</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"></span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment">/**</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"> * Return the libavdevice build-time configuration.</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="avdevice_8h.html#a84490e9144a7c9311a3df5cc2a66e0c6">avdevice_configuration</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"></span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">/**</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> * Return the libavdevice license.</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="avdevice_8h.html#a146d7576da658d0fb388aa89d563bcfa">avdevice_license</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment"></span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">/**</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"> * Initialize libavdevice and register all the input and output devices.</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment"> * @warning This function is not thread safe.</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="keywordtype">void</span> <a class="code" href="avdevice_8h.html#a7c90a3585267b55941ae2f7388c006b6">avdevice_register_all</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment"></span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment">/**</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment"> * Audio input devices iterator.</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment"> * If d is NULL, returns the first registered input audio/video device,</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment"> * if d is non-NULL, returns the next registered input audio/video device after d</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment"> * or NULL if d is the last one.</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <a class="code" href="structAVInputFormat.html">AVInputFormat</a> *<a class="code" href="avdevice_8h.html#a521e86d5a7e1f96f894edbecda3d6970">av_input_audio_device_next</a>(<a class="code" href="structAVInputFormat.html">AVInputFormat</a> *d);</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment"></span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment">/**</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment"> * Video input devices iterator.</span></div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"> * If d is NULL, returns the first registered input audio/video device,</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment"> * if d is non-NULL, returns the next registered input audio/video device after d</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment"> * or NULL if d is the last one.</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <a class="code" href="structAVInputFormat.html">AVInputFormat</a> *<a class="code" href="avdevice_8h.html#a4f4b2a42fa434a3557b96a02ba7cd36a">av_input_video_device_next</a>(<a class="code" href="structAVInputFormat.html">AVInputFormat</a> *d);</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment"></span></div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment">/**</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment"> * Audio output devices iterator.</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment"> * If d is NULL, returns the first registered output audio/video device,</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment"> * if d is non-NULL, returns the next registered output audio/video device after d</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment"> * or NULL if d is the last one.</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <a class="code" href="structAVOutputFormat.html">AVOutputFormat</a> *<a class="code" href="avdevice_8h.html#af79c3b9e53b5631f422f7b92768c5164">av_output_audio_device_next</a>(<a class="code" href="structAVOutputFormat.html">AVOutputFormat</a> *d);</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment"></span></div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment">/**</span></div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment"> * Video output devices iterator.</span></div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment"> * If d is NULL, returns the first registered output audio/video device,</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment"> * if d is non-NULL, returns the next registered output audio/video device after d</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment"> * or NULL if d is the last one.</span></div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <a class="code" href="structAVOutputFormat.html">AVOutputFormat</a> *<a class="code" href="avdevice_8h.html#a52f3b793ab7b9511521069cf6213ebd2">av_output_video_device_next</a>(<a class="code" href="structAVOutputFormat.html">AVOutputFormat</a> *d);</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div>
<div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="structAVDeviceRect.html"> 108</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structAVDeviceRect.html">AVDeviceRect</a> {</div>
<div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structAVDeviceRect.html#a59c84ebbf20ec757079bcad8cf6938ba"> 109</a></span>  <span class="keywordtype">int</span> <a class="code" href="structAVDeviceRect.html#a59c84ebbf20ec757079bcad8cf6938ba">x</a>; <span class="comment">/**< x coordinate of top left corner */</span></div>
<div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="structAVDeviceRect.html#abe9a24b60ee938e8eb9fd30522d1602b"> 110</a></span>  <span class="keywordtype">int</span> <a class="code" href="structAVDeviceRect.html#abe9a24b60ee938e8eb9fd30522d1602b">y</a>; <span class="comment">/**< y coordinate of top left corner */</span></div>
<div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structAVDeviceRect.html#afb6766c6297f824d7051f1800f7fda90"> 111</a></span>  <span class="keywordtype">int</span> <a class="code" href="structAVDeviceRect.html#afb6766c6297f824d7051f1800f7fda90">width</a>; <span class="comment">/**< width */</span></div>
<div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="structAVDeviceRect.html#a0554500f55abfff27a4141b3346a93f6"> 112</a></span>  <span class="keywordtype">int</span> <a class="code" href="structAVDeviceRect.html#a0554500f55abfff27a4141b3346a93f6">height</a>; <span class="comment">/**< height */</span></div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> } <a class="code" href="structAVDeviceRect.html">AVDeviceRect</a>;</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment"></span></div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment">/**</span></div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment"> * Message types used by avdevice_app_to_dev_control_message().</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="avdevice_8h.html#a16d549a25f11693a06a211f00864fed8"> 118</a></span> <span class="keyword">enum</span> <a class="code" href="avdevice_8h.html#a16d549a25f11693a06a211f00864fed8">AVAppToDevMessageType</a> {<span class="comment"></span></div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment"> /**</span></div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment"> * Dummy message.</span></div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="avdevice_8h.html#a16d549a25f11693a06a211f00864fed8a635d820c2098c4f58feff50b7d6c2811"> 122</a></span>  <a class="code" href="avdevice_8h.html#a16d549a25f11693a06a211f00864fed8a635d820c2098c4f58feff50b7d6c2811">AV_APP_TO_DEV_NONE</a> = <a class="code" href="common_8h.html#a1e233db224cd0a3079fd4572d1a3d717">MKBETAG</a>(<span class="charliteral">'N'</span>,<span class="charliteral">'O'</span>,<span class="charliteral">'N'</span>,<span class="charliteral">'E'</span>),</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment"></span></div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment"> /**</span></div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment"> * Window size change message.</span></div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment"> * Message is sent to the device every time the application changes the size</span></div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment"> * of the window device renders to.</span></div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment"> * Message should also be sent right after window is created.</span></div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment"> * data: AVDeviceRect: new window size.</span></div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="avdevice_8h.html#a16d549a25f11693a06a211f00864fed8ace5fb49b2638f933e758fed3dcb07249"> 133</a></span>  <a class="code" href="avdevice_8h.html#a16d549a25f11693a06a211f00864fed8ace5fb49b2638f933e758fed3dcb07249">AV_APP_TO_DEV_WINDOW_SIZE</a> = <a class="code" href="common_8h.html#a1e233db224cd0a3079fd4572d1a3d717">MKBETAG</a>(<span class="charliteral">'G'</span>,<span class="charliteral">'E'</span>,<span class="charliteral">'O'</span>,<span class="charliteral">'M'</span>),</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment"></span></div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment"> /**</span></div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment"> * Repaint request message.</span></div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment"> * Message is sent to the device when window has to be repainted.</span></div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment"> * data: AVDeviceRect: area required to be repainted.</span></div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment"> * NULL: whole area is required to be repainted.</span></div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="avdevice_8h.html#a16d549a25f11693a06a211f00864fed8a9f4006d75c6e368d9d0224d973d57710"> 143</a></span>  <a class="code" href="avdevice_8h.html#a16d549a25f11693a06a211f00864fed8a9f4006d75c6e368d9d0224d973d57710">AV_APP_TO_DEV_WINDOW_REPAINT</a> = <a class="code" href="common_8h.html#a1e233db224cd0a3079fd4572d1a3d717">MKBETAG</a>(<span class="charliteral">'R'</span>,<span class="charliteral">'E'</span>,<span class="charliteral">'P'</span>,<span class="charliteral">'A'</span>),</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="comment"></span></div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="comment"> /**</span></div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="comment"> * Request pause/play.</span></div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="comment"> * Application requests pause/unpause playback.</span></div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="comment"> * Mostly usable with devices that have internal buffer.</span></div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="comment"> * By default devices are not paused.</span></div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="comment"> * data: NULL</span></div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="avdevice_8h.html#a16d549a25f11693a06a211f00864fed8a89a46eae01f8ff45ec1f200e6738d804"> 154</a></span>  <a class="code" href="avdevice_8h.html#a16d549a25f11693a06a211f00864fed8a89a46eae01f8ff45ec1f200e6738d804">AV_APP_TO_DEV_PAUSE</a> = <a class="code" href="common_8h.html#a1e233db224cd0a3079fd4572d1a3d717">MKBETAG</a>(<span class="charliteral">'P'</span>, <span class="charliteral">'A'</span>, <span class="charliteral">'U'</span>, <span class="charliteral">' '</span>),</div>
<div class="line"><a name="l00155"></a><span class="lineno"><a class="line" href="avdevice_8h.html#a16d549a25f11693a06a211f00864fed8a344983cb9068e56d3f847162081a9747"> 155</a></span>  <a class="code" href="avdevice_8h.html#a16d549a25f11693a06a211f00864fed8a344983cb9068e56d3f847162081a9747">AV_APP_TO_DEV_PLAY</a> = <a class="code" href="common_8h.html#a1e233db224cd0a3079fd4572d1a3d717">MKBETAG</a>(<span class="charliteral">'P'</span>, <span class="charliteral">'L'</span>, <span class="charliteral">'A'</span>, <span class="charliteral">'Y'</span>),</div>
<div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="avdevice_8h.html#a16d549a25f11693a06a211f00864fed8a754ae9e6688b1de6f92140415e56b40c"> 156</a></span>  <a class="code" href="avdevice_8h.html#a16d549a25f11693a06a211f00864fed8a754ae9e6688b1de6f92140415e56b40c">AV_APP_TO_DEV_TOGGLE_PAUSE</a> = <a class="code" href="common_8h.html#a1e233db224cd0a3079fd4572d1a3d717">MKBETAG</a>(<span class="charliteral">'P'</span>, <span class="charliteral">'A'</span>, <span class="charliteral">'U'</span>, <span class="charliteral">'T'</span>),</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="comment"></span></div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="comment"> /**</span></div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="comment"> * Volume control message.</span></div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment"> * Set volume level. It may be device-dependent if volume</span></div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="comment"> * is changed per stream or system wide. Per stream volume</span></div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="comment"> * change is expected when possible.</span></div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="comment"> * data: double: new volume with range of 0.0 - 1.0.</span></div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="avdevice_8h.html#a16d549a25f11693a06a211f00864fed8abac3d409c36e4774717f9a8ecf24ada9"> 167</a></span>  <a class="code" href="avdevice_8h.html#a16d549a25f11693a06a211f00864fed8abac3d409c36e4774717f9a8ecf24ada9">AV_APP_TO_DEV_SET_VOLUME</a> = <a class="code" href="common_8h.html#a1e233db224cd0a3079fd4572d1a3d717">MKBETAG</a>(<span class="charliteral">'S'</span>, <span class="charliteral">'V'</span>, <span class="charliteral">'O'</span>, <span class="charliteral">'L'</span>),</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="comment"></span></div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="comment"> /**</span></div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="comment"> * Mute control messages.</span></div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="comment"> * Change mute state. It may be device-dependent if mute status</span></div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="comment"> * is changed per stream or system wide. Per stream mute status</span></div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="comment"> * change is expected when possible.</span></div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="comment"> * data: NULL.</span></div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="avdevice_8h.html#a16d549a25f11693a06a211f00864fed8a93114a33bcd20f06d39fb9a64febf751"> 178</a></span>  <a class="code" href="avdevice_8h.html#a16d549a25f11693a06a211f00864fed8a93114a33bcd20f06d39fb9a64febf751">AV_APP_TO_DEV_MUTE</a> = <a class="code" href="common_8h.html#a1e233db224cd0a3079fd4572d1a3d717">MKBETAG</a>(<span class="charliteral">' '</span>, <span class="charliteral">'M'</span>, <span class="charliteral">'U'</span>, <span class="charliteral">'T'</span>),</div>
<div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="avdevice_8h.html#a16d549a25f11693a06a211f00864fed8ad8c2e96b8cf1ebd5e85c5fd171eecc3f"> 179</a></span>  <a class="code" href="avdevice_8h.html#a16d549a25f11693a06a211f00864fed8ad8c2e96b8cf1ebd5e85c5fd171eecc3f">AV_APP_TO_DEV_UNMUTE</a> = <a class="code" href="common_8h.html#a1e233db224cd0a3079fd4572d1a3d717">MKBETAG</a>(<span class="charliteral">'U'</span>, <span class="charliteral">'M'</span>, <span class="charliteral">'U'</span>, <span class="charliteral">'T'</span>),</div>
<div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="avdevice_8h.html#a16d549a25f11693a06a211f00864fed8ad83bcf41ae7e0d09e46bdc2b240afb4b"> 180</a></span>  <a class="code" href="avdevice_8h.html#a16d549a25f11693a06a211f00864fed8ad83bcf41ae7e0d09e46bdc2b240afb4b">AV_APP_TO_DEV_TOGGLE_MUTE</a> = <a class="code" href="common_8h.html#a1e233db224cd0a3079fd4572d1a3d717">MKBETAG</a>(<span class="charliteral">'T'</span>, <span class="charliteral">'M'</span>, <span class="charliteral">'U'</span>, <span class="charliteral">'T'</span>),</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="comment"></span></div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="comment"> /**</span></div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="comment"> * Get volume/mute messages.</span></div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="comment"> * Force the device to send AV_DEV_TO_APP_VOLUME_LEVEL_CHANGED or</span></div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="comment"> * AV_DEV_TO_APP_MUTE_STATE_CHANGED command respectively.</span></div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="comment"> * data: NULL.</span></div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00190"></a><span class="lineno"><a class="line" href="avdevice_8h.html#a16d549a25f11693a06a211f00864fed8a5caaa1fda2910d345270d8ac1710c138"> 190</a></span>  <a class="code" href="avdevice_8h.html#a16d549a25f11693a06a211f00864fed8a5caaa1fda2910d345270d8ac1710c138">AV_APP_TO_DEV_GET_VOLUME</a> = <a class="code" href="common_8h.html#a1e233db224cd0a3079fd4572d1a3d717">MKBETAG</a>(<span class="charliteral">'G'</span>, <span class="charliteral">'V'</span>, <span class="charliteral">'O'</span>, <span class="charliteral">'L'</span>),</div>
<div class="line"><a name="l00191"></a><span class="lineno"><a class="line" href="avdevice_8h.html#a16d549a25f11693a06a211f00864fed8a8219697bb3af980fa778ffb1e11606b3"> 191</a></span>  <a class="code" href="avdevice_8h.html#a16d549a25f11693a06a211f00864fed8a8219697bb3af980fa778ffb1e11606b3">AV_APP_TO_DEV_GET_MUTE</a> = <a class="code" href="common_8h.html#a1e233db224cd0a3079fd4572d1a3d717">MKBETAG</a>(<span class="charliteral">'G'</span>, <span class="charliteral">'M'</span>, <span class="charliteral">'U'</span>, <span class="charliteral">'T'</span>),</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> };</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="comment"></span></div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="comment">/**</span></div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="comment"> * Message types used by avdevice_dev_to_app_control_message().</span></div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="avdevice_8h.html#ac379d3691ce091da6387a461a158a690"> 197</a></span> <span class="keyword">enum</span> <a class="code" href="avdevice_8h.html#ac379d3691ce091da6387a461a158a690">AVDevToAppMessageType</a> {<span class="comment"></span></div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="comment"> /**</span></div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="comment"> * Dummy message.</span></div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00201"></a><span class="lineno"><a class="line" href="avdevice_8h.html#ac379d3691ce091da6387a461a158a690a64ccc494050138379bd52b62159ea4ce"> 201</a></span>  <a class="code" href="avdevice_8h.html#ac379d3691ce091da6387a461a158a690a64ccc494050138379bd52b62159ea4ce">AV_DEV_TO_APP_NONE</a> = <a class="code" href="common_8h.html#a1e233db224cd0a3079fd4572d1a3d717">MKBETAG</a>(<span class="charliteral">'N'</span>,<span class="charliteral">'O'</span>,<span class="charliteral">'N'</span>,<span class="charliteral">'E'</span>),</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="comment"></span></div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="comment"> /**</span></div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="comment"> * Create window buffer message.</span></div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="comment"> * Device requests to create a window buffer. Exact meaning is device-</span></div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="comment"> * and application-dependent. Message is sent before rendering first</span></div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="comment"> * frame and all one-shot initializations should be done here.</span></div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="comment"> * Application is allowed to ignore preferred window buffer size.</span></div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="comment"> * @note: Application is obligated to inform about window buffer size</span></div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="comment"> * with AV_APP_TO_DEV_WINDOW_SIZE message.</span></div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="comment"> * data: AVDeviceRect: preferred size of the window buffer.</span></div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="comment"> * NULL: no preferred size of the window buffer.</span></div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00217"></a><span class="lineno"><a class="line" href="avdevice_8h.html#ac379d3691ce091da6387a461a158a690a0c4bc0ff29547bc0dc4bd5d0aba95020"> 217</a></span>  <a class="code" href="avdevice_8h.html#ac379d3691ce091da6387a461a158a690a0c4bc0ff29547bc0dc4bd5d0aba95020">AV_DEV_TO_APP_CREATE_WINDOW_BUFFER</a> = <a class="code" href="common_8h.html#a1e233db224cd0a3079fd4572d1a3d717">MKBETAG</a>(<span class="charliteral">'B'</span>,<span class="charliteral">'C'</span>,<span class="charliteral">'R'</span>,<span class="charliteral">'E'</span>),</div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="comment"></span></div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="comment"> /**</span></div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="comment"> * Prepare window buffer message.</span></div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="comment"> * Device requests to prepare a window buffer for rendering.</span></div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="comment"> * Exact meaning is device- and application-dependent.</span></div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="comment"> * Message is sent before rendering of each frame.</span></div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="comment"> * data: NULL.</span></div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00228"></a><span class="lineno"><a class="line" href="avdevice_8h.html#ac379d3691ce091da6387a461a158a690a7d665015d93c6f6f0bf6bdb3d86c619e"> 228</a></span>  <a class="code" href="avdevice_8h.html#ac379d3691ce091da6387a461a158a690a7d665015d93c6f6f0bf6bdb3d86c619e">AV_DEV_TO_APP_PREPARE_WINDOW_BUFFER</a> = <a class="code" href="common_8h.html#a1e233db224cd0a3079fd4572d1a3d717">MKBETAG</a>(<span class="charliteral">'B'</span>,<span class="charliteral">'P'</span>,<span class="charliteral">'R'</span>,<span class="charliteral">'E'</span>),</div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="comment"></span></div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="comment"> /**</span></div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="comment"> * Display window buffer message.</span></div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="comment"> * Device requests to display a window buffer.</span></div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="comment"> * Message is sent when new frame is ready to be displayed.</span></div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="comment"> * Usually buffers need to be swapped in handler of this message.</span></div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="comment"> * data: NULL.</span></div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00239"></a><span class="lineno"><a class="line" href="avdevice_8h.html#ac379d3691ce091da6387a461a158a690a1108397b3605ed9aff591de55a3c27bd"> 239</a></span>  <a class="code" href="avdevice_8h.html#ac379d3691ce091da6387a461a158a690a1108397b3605ed9aff591de55a3c27bd">AV_DEV_TO_APP_DISPLAY_WINDOW_BUFFER</a> = <a class="code" href="common_8h.html#a1e233db224cd0a3079fd4572d1a3d717">MKBETAG</a>(<span class="charliteral">'B'</span>,<span class="charliteral">'D'</span>,<span class="charliteral">'I'</span>,<span class="charliteral">'S'</span>),</div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="comment"></span></div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="comment"> /**</span></div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="comment"> * Destroy window buffer message.</span></div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="comment"> * Device requests to destroy a window buffer.</span></div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="comment"> * Message is sent when device is about to be destroyed and window</span></div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="comment"> * buffer is not required anymore.</span></div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="comment"> * data: NULL.</span></div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00250"></a><span class="lineno"><a class="line" href="avdevice_8h.html#ac379d3691ce091da6387a461a158a690abd200e116b23c39311db9661d9221b04"> 250</a></span>  <a class="code" href="avdevice_8h.html#ac379d3691ce091da6387a461a158a690abd200e116b23c39311db9661d9221b04">AV_DEV_TO_APP_DESTROY_WINDOW_BUFFER</a> = <a class="code" href="common_8h.html#a1e233db224cd0a3079fd4572d1a3d717">MKBETAG</a>(<span class="charliteral">'B'</span>,<span class="charliteral">'D'</span>,<span class="charliteral">'E'</span>,<span class="charliteral">'S'</span>),</div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="comment"></span></div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="comment"> /**</span></div>
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="comment"> * Buffer fullness status messages.</span></div>
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="comment"> * Device signals buffer overflow/underflow.</span></div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="comment"> * data: NULL.</span></div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00259"></a><span class="lineno"><a class="line" href="avdevice_8h.html#ac379d3691ce091da6387a461a158a690a037a21369f35dd608f54fb34022de229"> 259</a></span>  <a class="code" href="avdevice_8h.html#ac379d3691ce091da6387a461a158a690a037a21369f35dd608f54fb34022de229">AV_DEV_TO_APP_BUFFER_OVERFLOW</a> = <a class="code" href="common_8h.html#a1e233db224cd0a3079fd4572d1a3d717">MKBETAG</a>(<span class="charliteral">'B'</span>,<span class="charliteral">'O'</span>,<span class="charliteral">'F'</span>,<span class="charliteral">'L'</span>),</div>
<div class="line"><a name="l00260"></a><span class="lineno"><a class="line" href="avdevice_8h.html#ac379d3691ce091da6387a461a158a690ac3652337ce29a2bb83a57ae9b76196c1"> 260</a></span>  <a class="code" href="avdevice_8h.html#ac379d3691ce091da6387a461a158a690ac3652337ce29a2bb83a57ae9b76196c1">AV_DEV_TO_APP_BUFFER_UNDERFLOW</a> = <a class="code" href="common_8h.html#a1e233db224cd0a3079fd4572d1a3d717">MKBETAG</a>(<span class="charliteral">'B'</span>,<span class="charliteral">'U'</span>,<span class="charliteral">'F'</span>,<span class="charliteral">'L'</span>),</div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="comment"></span></div>
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="comment"> /**</span></div>
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="comment"> * Buffer readable/writable.</span></div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="comment"> * Device informs that buffer is readable/writable.</span></div>
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="comment"> * When possible, device informs how many bytes can be read/write.</span></div>
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="comment"> * @warning Device may not inform when number of bytes than can be read/write changes.</span></div>
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="comment"> * data: int64_t: amount of bytes available to read/write.</span></div>
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="comment"> * NULL: amount of bytes available to read/write is not known.</span></div>
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00273"></a><span class="lineno"><a class="line" href="avdevice_8h.html#ac379d3691ce091da6387a461a158a690a1fe6ba0b4093fb06244e342105d9c1a2"> 273</a></span>  <a class="code" href="avdevice_8h.html#ac379d3691ce091da6387a461a158a690a1fe6ba0b4093fb06244e342105d9c1a2">AV_DEV_TO_APP_BUFFER_READABLE</a> = <a class="code" href="common_8h.html#a1e233db224cd0a3079fd4572d1a3d717">MKBETAG</a>(<span class="charliteral">'B'</span>,<span class="charliteral">'R'</span>,<span class="charliteral">'D'</span>,<span class="charliteral">' '</span>),</div>
<div class="line"><a name="l00274"></a><span class="lineno"><a class="line" href="avdevice_8h.html#ac379d3691ce091da6387a461a158a690a0cf06e453ce4b8618573bf9fbeca07f4"> 274</a></span>  <a class="code" href="avdevice_8h.html#ac379d3691ce091da6387a461a158a690a0cf06e453ce4b8618573bf9fbeca07f4">AV_DEV_TO_APP_BUFFER_WRITABLE</a> = <a class="code" href="common_8h.html#a1e233db224cd0a3079fd4572d1a3d717">MKBETAG</a>(<span class="charliteral">'B'</span>,<span class="charliteral">'W'</span>,<span class="charliteral">'R'</span>,<span class="charliteral">' '</span>),</div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="comment"></span></div>
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="comment"> /**</span></div>
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="comment"> * Mute state change message.</span></div>
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="comment"> * Device informs that mute state has changed.</span></div>
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="comment"> * data: int: 0 for not muted state, non-zero for muted state.</span></div>
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00283"></a><span class="lineno"><a class="line" href="avdevice_8h.html#ac379d3691ce091da6387a461a158a690a3e4c4485f83fa9818ce1e9a559a7dc02"> 283</a></span>  <a class="code" href="avdevice_8h.html#ac379d3691ce091da6387a461a158a690a3e4c4485f83fa9818ce1e9a559a7dc02">AV_DEV_TO_APP_MUTE_STATE_CHANGED</a> = <a class="code" href="common_8h.html#a1e233db224cd0a3079fd4572d1a3d717">MKBETAG</a>(<span class="charliteral">'C'</span>,<span class="charliteral">'M'</span>,<span class="charliteral">'U'</span>,<span class="charliteral">'T'</span>),</div>
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="comment"></span></div>
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="comment"> /**</span></div>
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="comment"> * Volume level change message.</span></div>
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="comment"> * Device informs that volume level has changed.</span></div>
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="comment"> * data: double: new volume with range of 0.0 - 1.0.</span></div>
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00292"></a><span class="lineno"><a class="line" href="avdevice_8h.html#ac379d3691ce091da6387a461a158a690a19abbd0fc9488541fd4df18660120e0c"> 292</a></span>  <a class="code" href="avdevice_8h.html#ac379d3691ce091da6387a461a158a690a19abbd0fc9488541fd4df18660120e0c">AV_DEV_TO_APP_VOLUME_LEVEL_CHANGED</a> = <a class="code" href="common_8h.html#a1e233db224cd0a3079fd4572d1a3d717">MKBETAG</a>(<span class="charliteral">'C'</span>,<span class="charliteral">'V'</span>,<span class="charliteral">'O'</span>,<span class="charliteral">'L'</span>),</div>
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> };</div>
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="comment"></span></div>
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="comment">/**</span></div>
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="comment"> * Send control message from application to device.</span></div>
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="comment"> * @param s device context.</span></div>
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="comment"> * @param type message type.</span></div>
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="comment"> * @param data message data. Exact type depends on message type.</span></div>
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="comment"> * @param data_size size of message data.</span></div>
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="comment"> * @return >= 0 on success, negative on error.</span></div>
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="comment"> * AVERROR(ENOSYS) when device doesn't implement handler of the message.</span></div>
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="keywordtype">int</span> <a class="code" href="avdevice_8h.html#a62f5a22de09f0bc7fd2380d39ee1bc45">avdevice_app_to_dev_control_message</a>(<span class="keyword">struct</span> <a class="code" href="structAVFormatContext.html">AVFormatContext</a> *s,</div>
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <span class="keyword">enum</span> <a class="code" href="avdevice_8h.html#a16d549a25f11693a06a211f00864fed8">AVAppToDevMessageType</a> type,</div>
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <span class="keywordtype">void</span> *data, <span class="keywordtype">size_t</span> data_size);</div>
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="comment"></span></div>
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="comment">/**</span></div>
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="comment"> * Send control message from device to application.</span></div>
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="comment"> * @param s device context.</span></div>
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="comment"> * @param type message type.</span></div>
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="comment"> * @param data message data. Can be NULL.</span></div>
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="comment"> * @param data_size size of message data.</span></div>
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="comment"> * @return >= 0 on success, negative on error.</span></div>
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="comment"> * AVERROR(ENOSYS) when application doesn't implement handler of the message.</span></div>
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="keywordtype">int</span> <a class="code" href="avdevice_8h.html#af426838f78fb5bcdc2095c4d3162cf6e">avdevice_dev_to_app_control_message</a>(<span class="keyword">struct</span> <a class="code" href="structAVFormatContext.html">AVFormatContext</a> *s,</div>
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <span class="keyword">enum</span> <a class="code" href="avdevice_8h.html#ac379d3691ce091da6387a461a158a690">AVDevToAppMessageType</a> type,</div>
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  <span class="keywordtype">void</span> *data, <span class="keywordtype">size_t</span> data_size);</div>
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="comment"></span></div>
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="comment">/**</span></div>
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="comment"> * Following API allows user to probe device capabilities (supported codecs,</span></div>
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="comment"> * pixel formats, sample formats, resolutions, channel counts, etc).</span></div>
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="comment"> * It is build on top op AVOption API.</span></div>
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="comment"> * Queried capabilities make it possible to set up converters of video or audio</span></div>
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="comment"> * parameters that fit to the device.</span></div>
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="comment"> * List of capabilities that can be queried:</span></div>
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="comment"> * - Capabilities valid for both audio and video devices:</span></div>
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="comment"> * - codec: supported audio/video codecs.</span></div>
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="comment"> * type: AV_OPT_TYPE_INT (AVCodecID value)</span></div>
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="comment"> * - Capabilities valid for audio devices:</span></div>
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="comment"> * - sample_format: supported sample formats.</span></div>
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="comment"> * type: AV_OPT_TYPE_INT (AVSampleFormat value)</span></div>
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> <span class="comment"> * - sample_rate: supported sample rates.</span></div>
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="comment"> * type: AV_OPT_TYPE_INT</span></div>
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> <span class="comment"> * - channels: supported number of channels.</span></div>
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <span class="comment"> * type: AV_OPT_TYPE_INT</span></div>
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="comment"> * - channel_layout: supported channel layouts.</span></div>
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <span class="comment"> * type: AV_OPT_TYPE_INT64</span></div>
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> <span class="comment"> * - Capabilities valid for video devices:</span></div>
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="comment"> * - pixel_format: supported pixel formats.</span></div>
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="comment"> * type: AV_OPT_TYPE_INT (AVPixelFormat value)</span></div>
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="comment"> * - window_size: supported window sizes (describes size of the window size presented to the user).</span></div>
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="comment"> * type: AV_OPT_TYPE_IMAGE_SIZE</span></div>
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> <span class="comment"> * - frame_size: supported frame sizes (describes size of provided video frames).</span></div>
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="comment"> * type: AV_OPT_TYPE_IMAGE_SIZE</span></div>
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="comment"> * - fps: supported fps values</span></div>
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <span class="comment"> * type: AV_OPT_TYPE_RATIONAL</span></div>
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> <span class="comment"> * Value of the capability may be set by user using av_opt_set() function</span></div>
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> <span class="comment"> * and AVDeviceCapabilitiesQuery object. Following queries will</span></div>
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="comment"> * limit results to the values matching already set capabilities.</span></div>
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> <span class="comment"> * For example, setting a codec may impact number of formats or fps values</span></div>
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="comment"> * returned during next query. Setting invalid value may limit results to zero.</span></div>
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="comment"> * Example of the usage basing on opengl output device:</span></div>
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="comment"> * @code</span></div>
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="comment"> * AVFormatContext *oc = NULL;</span></div>
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="comment"> * AVDeviceCapabilitiesQuery *caps = NULL;</span></div>
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="comment"> * AVOptionRanges *ranges;</span></div>
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="comment"> * int ret;</span></div>
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="comment"> * if ((ret = avformat_alloc_output_context2(&oc, NULL, "opengl", NULL)) < 0)</span></div>
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="comment"> * goto fail;</span></div>
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="comment"> * if (avdevice_capabilities_create(&caps, oc, NULL) < 0)</span></div>
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="comment"> * goto fail;</span></div>
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <span class="comment"> * //query codecs</span></div>
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> <span class="comment"> * if (av_opt_query_ranges(&ranges, caps, "codec", AV_OPT_MULTI_COMPONENT_RANGE)) < 0)</span></div>
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="comment"> * goto fail;</span></div>
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="comment"> * //pick codec here and set it</span></div>
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="comment"> * av_opt_set(caps, "codec", AV_CODEC_ID_RAWVIDEO, 0);</span></div>
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <span class="comment"> * //query format</span></div>
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <span class="comment"> * if (av_opt_query_ranges(&ranges, caps, "pixel_format", AV_OPT_MULTI_COMPONENT_RANGE)) < 0)</span></div>
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="comment"> * goto fail;</span></div>
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> <span class="comment"> * //pick format here and set it</span></div>
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <span class="comment"> * av_opt_set(caps, "pixel_format", AV_PIX_FMT_YUV420P, 0);</span></div>
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> <span class="comment"> * //query and set more capabilities</span></div>
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> <span class="comment"> * fail:</span></div>
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="comment"> * //clean up code</span></div>
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="comment"> * avdevice_capabilities_free(&query, oc);</span></div>
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="comment"> * avformat_free_context(oc);</span></div>
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="comment"> * @endcode</span></div>
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <span class="comment"></span></div>
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <span class="comment">/**</span></div>
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> <span class="comment"> * Structure describes device capabilities.</span></div>
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> <span class="comment"> * It is used by devices in conjunction with av_device_capabilities AVOption table</span></div>
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="comment"> * to implement capabilities probing API based on AVOption API. Should not be used directly.</span></div>
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00399"></a><span class="lineno"><a class="line" href="structAVDeviceCapabilitiesQuery.html"> 399</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structAVDeviceCapabilitiesQuery.html">AVDeviceCapabilitiesQuery</a> {</div>
<div class="line"><a name="l00400"></a><span class="lineno"><a class="line" href="structAVDeviceCapabilitiesQuery.html#ac5c8e5089e1bf1212b24193c0368f954"> 400</a></span>  <span class="keyword">const</span> <a class="code" href="structAVClass.html">AVClass</a> *<a class="code" href="structAVDeviceCapabilitiesQuery.html#ac5c8e5089e1bf1212b24193c0368f954">av_class</a>;</div>
<div class="line"><a name="l00401"></a><span class="lineno"><a class="line" href="structAVDeviceCapabilitiesQuery.html#a97d7bfa2eacb9870273b02dd8ccfbe24"> 401</a></span>  <a class="code" href="structAVFormatContext.html">AVFormatContext</a> *<a class="code" href="structAVDeviceCapabilitiesQuery.html#a97d7bfa2eacb9870273b02dd8ccfbe24">device_context</a>;</div>
<div class="line"><a name="l00402"></a><span class="lineno"><a class="line" href="structAVDeviceCapabilitiesQuery.html#a6b090d7f3793b7ec15caa3f4739fdec0"> 402</a></span>  <span class="keyword">enum</span> <a class="code" href="group__lavc__core.html#gaadca229ad2c20e060a14fec08a5cc7ce">AVCodecID</a> <a class="code" href="structAVDeviceCapabilitiesQuery.html#a6b090d7f3793b7ec15caa3f4739fdec0">codec</a>;</div>
<div class="line"><a name="l00403"></a><span class="lineno"><a class="line" href="structAVDeviceCapabilitiesQuery.html#ad2f5c18496a1f70ac6c38f3379411f0b"> 403</a></span>  <span class="keyword">enum</span> <a class="code" href="group__lavu__sampfmts.html#gaf9a51ca15301871723577c730b5865c5">AVSampleFormat</a> <a class="code" href="structAVDeviceCapabilitiesQuery.html#ad2f5c18496a1f70ac6c38f3379411f0b">sample_format</a>;</div>
<div class="line"><a name="l00404"></a><span class="lineno"><a class="line" href="structAVDeviceCapabilitiesQuery.html#a794f536fac8ba6c778df7ded1fd5eb99"> 404</a></span>  <span class="keyword">enum</span> <a class="code" href="pixfmt_8h.html#a9a8e335cf3be472042bc9f0cf80cd4c5">AVPixelFormat</a> <a class="code" href="structAVDeviceCapabilitiesQuery.html#a794f536fac8ba6c778df7ded1fd5eb99">pixel_format</a>;</div>
<div class="line"><a name="l00405"></a><span class="lineno"><a class="line" href="structAVDeviceCapabilitiesQuery.html#a094ff000e19b39981ad9a802557b773e"> 405</a></span>  <span class="keywordtype">int</span> <a class="code" href="structAVDeviceCapabilitiesQuery.html#a094ff000e19b39981ad9a802557b773e">sample_rate</a>;</div>
<div class="line"><a name="l00406"></a><span class="lineno"><a class="line" href="structAVDeviceCapabilitiesQuery.html#a9b92050015539fbc4a9f6555eb3a672b"> 406</a></span>  <span class="keywordtype">int</span> <a class="code" href="structAVDeviceCapabilitiesQuery.html#a9b92050015539fbc4a9f6555eb3a672b">channels</a>;</div>
<div class="line"><a name="l00407"></a><span class="lineno"><a class="line" href="structAVDeviceCapabilitiesQuery.html#afd9911687a45ef4c5094242f06bf6fae"> 407</a></span>  int64_t <a class="code" href="structAVDeviceCapabilitiesQuery.html#afd9911687a45ef4c5094242f06bf6fae">channel_layout</a>;</div>
<div class="line"><a name="l00408"></a><span class="lineno"><a class="line" href="structAVDeviceCapabilitiesQuery.html#af1003cea861179da74c546d4228cf20a"> 408</a></span>  <span class="keywordtype">int</span> <a class="code" href="structAVDeviceCapabilitiesQuery.html#af1003cea861179da74c546d4228cf20a">window_width</a>;</div>
<div class="line"><a name="l00409"></a><span class="lineno"><a class="line" href="structAVDeviceCapabilitiesQuery.html#a8625729bdff08b21445e88e1d538899d"> 409</a></span>  <span class="keywordtype">int</span> <a class="code" href="structAVDeviceCapabilitiesQuery.html#a8625729bdff08b21445e88e1d538899d">window_height</a>;</div>
<div class="line"><a name="l00410"></a><span class="lineno"><a class="line" href="structAVDeviceCapabilitiesQuery.html#a24268116864767bd084f8b5bbb896150"> 410</a></span>  <span class="keywordtype">int</span> <a class="code" href="structAVDeviceCapabilitiesQuery.html#a24268116864767bd084f8b5bbb896150">frame_width</a>;</div>
<div class="line"><a name="l00411"></a><span class="lineno"><a class="line" href="structAVDeviceCapabilitiesQuery.html#a0d44c3def566bbfb2b304de2cb779847"> 411</a></span>  <span class="keywordtype">int</span> <a class="code" href="structAVDeviceCapabilitiesQuery.html#a0d44c3def566bbfb2b304de2cb779847">frame_height</a>;</div>
<div class="line"><a name="l00412"></a><span class="lineno"><a class="line" href="structAVDeviceCapabilitiesQuery.html#a69a44cfb7d8fc9d706cfbe5a991ecaf7"> 412</a></span>  <a class="code" href="structAVRational.html">AVRational</a> <a class="code" href="structAVDeviceCapabilitiesQuery.html#a69a44cfb7d8fc9d706cfbe5a991ecaf7">fps</a>;</div>
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> } <a class="code" href="structAVDeviceCapabilitiesQuery.html">AVDeviceCapabilitiesQuery</a>;</div>
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="comment"></span></div>
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="comment">/**</span></div>
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> <span class="comment"> * AVOption table used by devices to implement device capabilities API. Should not be used by a user.</span></div>
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> <span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="structAVOption.html">AVOption</a> <a class="code" href="avdevice_8h.html#a1362af8ea203781c69bc644179388259">av_device_capabilities</a>[];</div>
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> <span class="comment"></span></div>
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> <span class="comment">/**</span></div>
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> <span class="comment"> * Initialize capabilities probing API based on AVOption API.</span></div>
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> <span class="comment"> * avdevice_capabilities_free() must be called when query capabilities API is</span></div>
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> <span class="comment"> * not used anymore.</span></div>
<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> <span class="comment"> * @param[out] caps Device capabilities data. Pointer to a NULL pointer must be passed.</span></div>
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> <span class="comment"> * @param s Context of the device.</span></div>
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> <span class="comment"> * @param device_options An AVDictionary filled with device-private options.</span></div>
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> <span class="comment"> * On return this parameter will be destroyed and replaced with a dict</span></div>
<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> <span class="comment"> * containing options that were not found. May be NULL.</span></div>
<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> <span class="comment"> * The same options must be passed later to avformat_write_header() for output</span></div>
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> <span class="comment"> * devices or avformat_open_input() for input devices, or at any other place</span></div>
<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> <span class="comment"> * that affects device-private options.</span></div>
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> <span class="comment"> * @return >= 0 on success, negative otherwise.</span></div>
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> <span class="keywordtype">int</span> <a class="code" href="avdevice_8h.html#af802f1388f3f209cbbc93d9ba983a341">avdevice_capabilities_create</a>(<a class="code" href="structAVDeviceCapabilitiesQuery.html">AVDeviceCapabilitiesQuery</a> **caps, <a class="code" href="structAVFormatContext.html">AVFormatContext</a> *s,</div>
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  <a class="code" href="group__lavu__dict.html#ga1d7cc0833bee918994a600556410315f">AVDictionary</a> **device_options);</div>
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> <span class="comment"></span></div>
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> <span class="comment">/**</span></div>
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> <span class="comment"> * Free resources created by avdevice_capabilities_create()</span></div>
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> <span class="comment"> * @param caps Device capabilities data to be freed.</span></div>
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> <span class="comment"> * @param s Context of the device.</span></div>
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> <span class="keywordtype">void</span> <a class="code" href="avdevice_8h.html#a89c36d6e5698ad7dc2637226e1655dff">avdevice_capabilities_free</a>(<a class="code" href="structAVDeviceCapabilitiesQuery.html">AVDeviceCapabilitiesQuery</a> **caps, <a class="code" href="structAVFormatContext.html">AVFormatContext</a> *s);</div>
<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> <span class="comment"></span></div>
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> <span class="comment">/**</span></div>
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> <span class="comment"> * Structure describes basic parameters of the device.</span></div>
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00451"></a><span class="lineno"><a class="line" href="structAVDeviceInfo.html"> 451</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structAVDeviceInfo.html">AVDeviceInfo</a> {</div>
<div class="line"><a name="l00452"></a><span class="lineno"><a class="line" href="structAVDeviceInfo.html#af856e00bdd54b7d87fc4afdf211c4757"> 452</a></span>  <span class="keywordtype">char</span> *<a class="code" href="structAVDeviceInfo.html#af856e00bdd54b7d87fc4afdf211c4757">device_name</a>; <span class="comment">/**< device name, format depends on device */</span></div>
<div class="line"><a name="l00453"></a><span class="lineno"><a class="line" href="structAVDeviceInfo.html#a3d642926b6f45112cda628a395f6135a"> 453</a></span>  <span class="keywordtype">char</span> *<a class="code" href="structAVDeviceInfo.html#a3d642926b6f45112cda628a395f6135a">device_description</a>; <span class="comment">/**< human friendly name */</span></div>
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> } <a class="code" href="structAVDeviceInfo.html">AVDeviceInfo</a>;</div>
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> <span class="comment"></span></div>
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> <span class="comment">/**</span></div>
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> <span class="comment"> * List of devices.</span></div>
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00459"></a><span class="lineno"><a class="line" href="structAVDeviceInfoList.html"> 459</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structAVDeviceInfoList.html">AVDeviceInfoList</a> {</div>
<div class="line"><a name="l00460"></a><span class="lineno"><a class="line" href="structAVDeviceInfoList.html#ae2515bb1fe98693b85adbdf380d76cd8"> 460</a></span>  <a class="code" href="structAVDeviceInfo.html">AVDeviceInfo</a> **<a class="code" href="structAVDeviceInfoList.html#ae2515bb1fe98693b85adbdf380d76cd8">devices</a>; <span class="comment">/**< list of autodetected devices */</span></div>
<div class="line"><a name="l00461"></a><span class="lineno"><a class="line" href="structAVDeviceInfoList.html#a8253ca399209d2cfd83667b78accbe28"> 461</a></span>  <span class="keywordtype">int</span> <a class="code" href="structAVDeviceInfoList.html#a8253ca399209d2cfd83667b78accbe28">nb_devices</a>; <span class="comment">/**< number of autodetected devices */</span></div>
<div class="line"><a name="l00462"></a><span class="lineno"><a class="line" href="structAVDeviceInfoList.html#a88278f6896ae0b13d526c89014dac77b"> 462</a></span>  <span class="keywordtype">int</span> <a class="code" href="structAVDeviceInfoList.html#a88278f6896ae0b13d526c89014dac77b">default_device</a>; <span class="comment">/**< index of default device or -1 if no default */</span></div>
<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> } <a class="code" href="structAVDeviceInfoList.html">AVDeviceInfoList</a>;</div>
<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> <span class="comment"></span></div>
<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> <span class="comment">/**</span></div>
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> <span class="comment"> * List devices.</span></div>
<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> <span class="comment"> * Returns available device names and their parameters.</span></div>
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> <span class="comment"> * @note: Some devices may accept system-dependent device names that cannot be</span></div>
<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> <span class="comment"> * autodetected. The list returned by this function cannot be assumed to</span></div>
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> <span class="comment"> * be always completed.</span></div>
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> <span class="comment"> * @param s device context.</span></div>
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> <span class="comment"> * @param[out] device_list list of autodetected devices.</span></div>
<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="comment"> * @return count of autodetected devices, negative on error.</span></div>
<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> <span class="keywordtype">int</span> <a class="code" href="avdevice_8h.html#a4bf9cc38ae904b9104fda1e4def71474">avdevice_list_devices</a>(<span class="keyword">struct</span> <a class="code" href="structAVFormatContext.html">AVFormatContext</a> *s, <a class="code" href="structAVDeviceInfoList.html">AVDeviceInfoList</a> **device_list);</div>
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> <span class="comment"></span></div>
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> <span class="comment">/**</span></div>
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <span class="comment"> * Convenient function to free result of avdevice_list_devices().</span></div>
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> <span class="comment"> * @param devices device list to be freed.</span></div>
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> <span class="keywordtype">void</span> <a class="code" href="avdevice_8h.html#a52dcbb2d9ae0f33b7a89548b5a0c87bd">avdevice_free_list_devices</a>(<a class="code" href="structAVDeviceInfoList.html">AVDeviceInfoList</a> **device_list);</div>
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> <span class="comment"></span></div>
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> <span class="comment">/**</span></div>
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> <span class="comment"> * List devices.</span></div>
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> <span class="comment"> * Returns available device names and their parameters.</span></div>
<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="comment"> * These are convinient wrappers for avdevice_list_devices().</span></div>
<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> <span class="comment"> * Device context is allocated and deallocated internally.</span></div>
<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> <span class="comment"> * @param device device format. May be NULL if device name is set.</span></div>
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> <span class="comment"> * @param device_name device name. May be NULL if device format is set.</span></div>
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> <span class="comment"> * @param device_options An AVDictionary filled with device-private options. May be NULL.</span></div>
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> <span class="comment"> * The same options must be passed later to avformat_write_header() for output</span></div>
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> <span class="comment"> * devices or avformat_open_input() for input devices, or at any other place</span></div>
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> <span class="comment"> * that affects device-private options.</span></div>
<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> <span class="comment"> * @param[out] device_list list of autodetected devices</span></div>
<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> <span class="comment"> * @return count of autodetected devices, negative on error.</span></div>
<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> <span class="comment"> * @note device argument takes precedence over device_name when both are set.</span></div>
<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> <span class="keywordtype">int</span> <a class="code" href="avdevice_8h.html#a202488c6f1ed7e87b659c7b8df079e50">avdevice_list_input_sources</a>(<span class="keyword">struct</span> <a class="code" href="structAVInputFormat.html">AVInputFormat</a> *device, <span class="keyword">const</span> <span class="keywordtype">char</span> *device_name,</div>
<div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  <a class="code" href="group__lavu__dict.html#ga1d7cc0833bee918994a600556410315f">AVDictionary</a> *device_options, <a class="code" href="structAVDeviceInfoList.html">AVDeviceInfoList</a> **device_list);</div>
<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> <span class="keywordtype">int</span> <a class="code" href="avdevice_8h.html#a2227616998276fefe5e4221e478d667f">avdevice_list_output_sinks</a>(<span class="keyword">struct</span> <a class="code" href="structAVOutputFormat.html">AVOutputFormat</a> *device, <span class="keyword">const</span> <span class="keywordtype">char</span> *device_name,</div>
<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  <a class="code" href="group__lavu__dict.html#ga1d7cc0833bee918994a600556410315f">AVDictionary</a> *device_options, <a class="code" href="structAVDeviceInfoList.html">AVDeviceInfoList</a> **device_list);</div>
<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> </div>
<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> <span class="preprocessor">#endif </span><span class="comment">/* AVDEVICE_AVDEVICE_H */</span><span class="preprocessor"></span></div>
<div class="ttc" id="avdevice_8h_html_a4bf9cc38ae904b9104fda1e4def71474"><div class="ttname"><a href="avdevice_8h.html#a4bf9cc38ae904b9104fda1e4def71474">avdevice_list_devices</a></div><div class="ttdeci">int avdevice_list_devices(struct AVFormatContext *s, AVDeviceInfoList **device_list)</div><div class="ttdoc">List devices. </div></div>
<div class="ttc" id="structAVDeviceInfo_html"><div class="ttname"><a href="structAVDeviceInfo.html">AVDeviceInfo</a></div><div class="ttdoc">Structure describes basic parameters of the device. </div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00451">avdevice.h:451</a></div></div>
<div class="ttc" id="structAVDeviceRect_html_a59c84ebbf20ec757079bcad8cf6938ba"><div class="ttname"><a href="structAVDeviceRect.html#a59c84ebbf20ec757079bcad8cf6938ba">AVDeviceRect::x</a></div><div class="ttdeci">int x</div><div class="ttdoc">x coordinate of top left corner </div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00109">avdevice.h:109</a></div></div>
<div class="ttc" id="structAVOption_html"><div class="ttname"><a href="structAVOption.html">AVOption</a></div><div class="ttdoc">AVOption. </div><div class="ttdef"><b>Definition:</b> <a href="opt_8h_source.html#l00245">opt.h:245</a></div></div>
<div class="ttc" id="avdevice_8h_html_a521e86d5a7e1f96f894edbecda3d6970"><div class="ttname"><a href="avdevice_8h.html#a521e86d5a7e1f96f894edbecda3d6970">av_input_audio_device_next</a></div><div class="ttdeci">AVInputFormat * av_input_audio_device_next(AVInputFormat *d)</div><div class="ttdoc">Audio input devices iterator. </div></div>
<div class="ttc" id="avdevice_8h_html_a16d549a25f11693a06a211f00864fed8a754ae9e6688b1de6f92140415e56b40c"><div class="ttname"><a href="avdevice_8h.html#a16d549a25f11693a06a211f00864fed8a754ae9e6688b1de6f92140415e56b40c">AV_APP_TO_DEV_TOGGLE_PAUSE</a></div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00156">avdevice.h:156</a></div></div>
<div class="ttc" id="structAVDeviceInfo_html_a3d642926b6f45112cda628a395f6135a"><div class="ttname"><a href="structAVDeviceInfo.html#a3d642926b6f45112cda628a395f6135a">AVDeviceInfo::device_description</a></div><div class="ttdeci">char * device_description</div><div class="ttdoc">human friendly name </div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00453">avdevice.h:453</a></div></div>
<div class="ttc" id="avdevice_8h_html_a84490e9144a7c9311a3df5cc2a66e0c6"><div class="ttname"><a href="avdevice_8h.html#a84490e9144a7c9311a3df5cc2a66e0c6">avdevice_configuration</a></div><div class="ttdeci">const char * avdevice_configuration(void)</div><div class="ttdoc">Return the libavdevice build-time configuration. </div></div>
<div class="ttc" id="avdevice_8h_html_a146d7576da658d0fb388aa89d563bcfa"><div class="ttname"><a href="avdevice_8h.html#a146d7576da658d0fb388aa89d563bcfa">avdevice_license</a></div><div class="ttdeci">const char * avdevice_license(void)</div><div class="ttdoc">Return the libavdevice license. </div></div>
<div class="ttc" id="structAVDeviceInfo_html_af856e00bdd54b7d87fc4afdf211c4757"><div class="ttname"><a href="structAVDeviceInfo.html#af856e00bdd54b7d87fc4afdf211c4757">AVDeviceInfo::device_name</a></div><div class="ttdeci">char * device_name</div><div class="ttdoc">device name, format depends on device </div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00452">avdevice.h:452</a></div></div>
<div class="ttc" id="avdevice_8h_html_ac379d3691ce091da6387a461a158a690abd200e116b23c39311db9661d9221b04"><div class="ttname"><a href="avdevice_8h.html#ac379d3691ce091da6387a461a158a690abd200e116b23c39311db9661d9221b04">AV_DEV_TO_APP_DESTROY_WINDOW_BUFFER</a></div><div class="ttdoc">Destroy window buffer message. </div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00250">avdevice.h:250</a></div></div>
<div class="ttc" id="structAVDeviceCapabilitiesQuery_html_a094ff000e19b39981ad9a802557b773e"><div class="ttname"><a href="structAVDeviceCapabilitiesQuery.html#a094ff000e19b39981ad9a802557b773e">AVDeviceCapabilitiesQuery::sample_rate</a></div><div class="ttdeci">int sample_rate</div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00405">avdevice.h:405</a></div></div>
<div class="ttc" id="structAVDeviceCapabilitiesQuery_html_afd9911687a45ef4c5094242f06bf6fae"><div class="ttname"><a href="structAVDeviceCapabilitiesQuery.html#afd9911687a45ef4c5094242f06bf6fae">AVDeviceCapabilitiesQuery::channel_layout</a></div><div class="ttdeci">int64_t channel_layout</div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00407">avdevice.h:407</a></div></div>
<div class="ttc" id="structAVDeviceRect_html"><div class="ttname"><a href="structAVDeviceRect.html">AVDeviceRect</a></div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00108">avdevice.h:108</a></div></div>
<div class="ttc" id="avdevice_8h_html_a16d549a25f11693a06a211f00864fed8a9f4006d75c6e368d9d0224d973d57710"><div class="ttname"><a href="avdevice_8h.html#a16d549a25f11693a06a211f00864fed8a9f4006d75c6e368d9d0224d973d57710">AV_APP_TO_DEV_WINDOW_REPAINT</a></div><div class="ttdoc">Repaint request message. </div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00143">avdevice.h:143</a></div></div>
<div class="ttc" id="avdevice_8h_html_af79c3b9e53b5631f422f7b92768c5164"><div class="ttname"><a href="avdevice_8h.html#af79c3b9e53b5631f422f7b92768c5164">av_output_audio_device_next</a></div><div class="ttdeci">AVOutputFormat * av_output_audio_device_next(AVOutputFormat *d)</div><div class="ttdoc">Audio output devices iterator. </div></div>
<div class="ttc" id="structAVInputFormat_html"><div class="ttname"><a href="structAVInputFormat.html">AVInputFormat</a></div><div class="ttdef"><b>Definition:</b> <a href="avformat_8h_source.html#l00656">avformat.h:656</a></div></div>
<div class="ttc" id="avdevice_8h_html_a6a111710c7b02c2a11d8b6c43e0dd63d"><div class="ttname"><a href="avdevice_8h.html#a6a111710c7b02c2a11d8b6c43e0dd63d">avdevice_version</a></div><div class="ttdeci">unsigned avdevice_version(void)</div><div class="ttdoc">Return the LIBAVDEVICE_VERSION_INT constant. </div></div>
<div class="ttc" id="avdevice_8h_html_a16d549a25f11693a06a211f00864fed8ace5fb49b2638f933e758fed3dcb07249"><div class="ttname"><a href="avdevice_8h.html#a16d549a25f11693a06a211f00864fed8ace5fb49b2638f933e758fed3dcb07249">AV_APP_TO_DEV_WINDOW_SIZE</a></div><div class="ttdoc">Window size change message. </div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00133">avdevice.h:133</a></div></div>
<div class="ttc" id="structAVFormatContext_html"><div class="ttname"><a href="structAVFormatContext.html">AVFormatContext</a></div><div class="ttdoc">Format I/O context. </div><div class="ttdef"><b>Definition:</b> <a href="avformat_8h_source.html#l01314">avformat.h:1314</a></div></div>
<div class="ttc" id="dict_8h_html"><div class="ttname"><a href="dict_8h.html">dict.h</a></div><div class="ttdoc">Public dictionary API. </div></div>
<div class="ttc" id="avdevice_8h_html_a52dcbb2d9ae0f33b7a89548b5a0c87bd"><div class="ttname"><a href="avdevice_8h.html#a52dcbb2d9ae0f33b7a89548b5a0c87bd">avdevice_free_list_devices</a></div><div class="ttdeci">void avdevice_free_list_devices(AVDeviceInfoList **device_list)</div><div class="ttdoc">Convenient function to free result of avdevice_list_devices(). </div></div>
<div class="ttc" id="opt_8h_html"><div class="ttname"><a href="opt_8h.html">opt.h</a></div><div class="ttdoc">AVOptions. </div></div>
<div class="ttc" id="avdevice_8h_html_af426838f78fb5bcdc2095c4d3162cf6e"><div class="ttname"><a href="avdevice_8h.html#af426838f78fb5bcdc2095c4d3162cf6e">avdevice_dev_to_app_control_message</a></div><div class="ttdeci">int avdevice_dev_to_app_control_message(struct AVFormatContext *s, enum AVDevToAppMessageType type, void *data, size_t data_size)</div><div class="ttdoc">Send control message from device to application. </div></div>
<div class="ttc" id="avdevice_8h_html_af802f1388f3f209cbbc93d9ba983a341"><div class="ttname"><a href="avdevice_8h.html#af802f1388f3f209cbbc93d9ba983a341">avdevice_capabilities_create</a></div><div class="ttdeci">int avdevice_capabilities_create(AVDeviceCapabilitiesQuery **caps, AVFormatContext *s, AVDictionary **device_options)</div><div class="ttdoc">Initialize capabilities probing API based on AVOption API. </div></div>
<div class="ttc" id="avdevice_8h_html_ac379d3691ce091da6387a461a158a690a1fe6ba0b4093fb06244e342105d9c1a2"><div class="ttname"><a href="avdevice_8h.html#ac379d3691ce091da6387a461a158a690a1fe6ba0b4093fb06244e342105d9c1a2">AV_DEV_TO_APP_BUFFER_READABLE</a></div><div class="ttdoc">Buffer readable/writable. </div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00273">avdevice.h:273</a></div></div>
<div class="ttc" id="avdevice_8h_html_ac379d3691ce091da6387a461a158a690"><div class="ttname"><a href="avdevice_8h.html#ac379d3691ce091da6387a461a158a690">AVDevToAppMessageType</a></div><div class="ttdeci">AVDevToAppMessageType</div><div class="ttdoc">Message types used by avdevice_dev_to_app_control_message(). </div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00197">avdevice.h:197</a></div></div>
<div class="ttc" id="avdevice_8h_html_a16d549a25f11693a06a211f00864fed8ad83bcf41ae7e0d09e46bdc2b240afb4b"><div class="ttname"><a href="avdevice_8h.html#a16d549a25f11693a06a211f00864fed8ad83bcf41ae7e0d09e46bdc2b240afb4b">AV_APP_TO_DEV_TOGGLE_MUTE</a></div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00180">avdevice.h:180</a></div></div>
<div class="ttc" id="avdevice_8h_html_ac379d3691ce091da6387a461a158a690a7d665015d93c6f6f0bf6bdb3d86c619e"><div class="ttname"><a href="avdevice_8h.html#ac379d3691ce091da6387a461a158a690a7d665015d93c6f6f0bf6bdb3d86c619e">AV_DEV_TO_APP_PREPARE_WINDOW_BUFFER</a></div><div class="ttdoc">Prepare window buffer message. </div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00228">avdevice.h:228</a></div></div>
<div class="ttc" id="structAVDeviceCapabilitiesQuery_html_ac5c8e5089e1bf1212b24193c0368f954"><div class="ttname"><a href="structAVDeviceCapabilitiesQuery.html#ac5c8e5089e1bf1212b24193c0368f954">AVDeviceCapabilitiesQuery::av_class</a></div><div class="ttdeci">const AVClass * av_class</div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00400">avdevice.h:400</a></div></div>
<div class="ttc" id="avdevice_8h_html_ac379d3691ce091da6387a461a158a690a0c4bc0ff29547bc0dc4bd5d0aba95020"><div class="ttname"><a href="avdevice_8h.html#ac379d3691ce091da6387a461a158a690a0c4bc0ff29547bc0dc4bd5d0aba95020">AV_DEV_TO_APP_CREATE_WINDOW_BUFFER</a></div><div class="ttdoc">Create window buffer message. </div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00217">avdevice.h:217</a></div></div>
<div class="ttc" id="group__lavc__core_html_gaadca229ad2c20e060a14fec08a5cc7ce"><div class="ttname"><a href="group__lavc__core.html#gaadca229ad2c20e060a14fec08a5cc7ce">AVCodecID</a></div><div class="ttdeci">AVCodecID</div><div class="ttdoc">Identify the syntax and semantics of the bitstream. </div><div class="ttdef"><b>Definition:</b> <a href="avcodec_8h_source.html#l00101">avcodec.h:101</a></div></div>
<div class="ttc" id="structAVDeviceCapabilitiesQuery_html_a69a44cfb7d8fc9d706cfbe5a991ecaf7"><div class="ttname"><a href="structAVDeviceCapabilitiesQuery.html#a69a44cfb7d8fc9d706cfbe5a991ecaf7">AVDeviceCapabilitiesQuery::fps</a></div><div class="ttdeci">AVRational fps</div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00412">avdevice.h:412</a></div></div>
<div class="ttc" id="structAVDeviceCapabilitiesQuery_html_ad2f5c18496a1f70ac6c38f3379411f0b"><div class="ttname"><a href="structAVDeviceCapabilitiesQuery.html#ad2f5c18496a1f70ac6c38f3379411f0b">AVDeviceCapabilitiesQuery::sample_format</a></div><div class="ttdeci">enum AVSampleFormat sample_format</div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00403">avdevice.h:403</a></div></div>
<div class="ttc" id="avdevice_8h_html_ac379d3691ce091da6387a461a158a690a64ccc494050138379bd52b62159ea4ce"><div class="ttname"><a href="avdevice_8h.html#ac379d3691ce091da6387a461a158a690a64ccc494050138379bd52b62159ea4ce">AV_DEV_TO_APP_NONE</a></div><div class="ttdoc">Dummy message. </div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00201">avdevice.h:201</a></div></div>
<div class="ttc" id="group__lavu__dict_html_ga1d7cc0833bee918994a600556410315f"><div class="ttname"><a href="group__lavu__dict.html#ga1d7cc0833bee918994a600556410315f">AVDictionary</a></div><div class="ttdeci">struct AVDictionary AVDictionary</div><div class="ttdef"><b>Definition:</b> <a href="dict_8h_source.html#l00091">dict.h:91</a></div></div>
<div class="ttc" id="structAVDeviceCapabilitiesQuery_html_a0d44c3def566bbfb2b304de2cb779847"><div class="ttname"><a href="structAVDeviceCapabilitiesQuery.html#a0d44c3def566bbfb2b304de2cb779847">AVDeviceCapabilitiesQuery::frame_height</a></div><div class="ttdeci">int frame_height</div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00411">avdevice.h:411</a></div></div>
<div class="ttc" id="avdevice_8h_html_a62f5a22de09f0bc7fd2380d39ee1bc45"><div class="ttname"><a href="avdevice_8h.html#a62f5a22de09f0bc7fd2380d39ee1bc45">avdevice_app_to_dev_control_message</a></div><div class="ttdeci">int avdevice_app_to_dev_control_message(struct AVFormatContext *s, enum AVAppToDevMessageType type, void *data, size_t data_size)</div><div class="ttdoc">Send control message from application to device. </div></div>
<div class="ttc" id="structAVDeviceInfoList_html_ae2515bb1fe98693b85adbdf380d76cd8"><div class="ttname"><a href="structAVDeviceInfoList.html#ae2515bb1fe98693b85adbdf380d76cd8">AVDeviceInfoList::devices</a></div><div class="ttdeci">AVDeviceInfo ** devices</div><div class="ttdoc">list of autodetected devices </div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00460">avdevice.h:460</a></div></div>
<div class="ttc" id="structAVDeviceCapabilitiesQuery_html_a8625729bdff08b21445e88e1d538899d"><div class="ttname"><a href="structAVDeviceCapabilitiesQuery.html#a8625729bdff08b21445e88e1d538899d">AVDeviceCapabilitiesQuery::window_height</a></div><div class="ttdeci">int window_height</div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00409">avdevice.h:409</a></div></div>
<div class="ttc" id="avdevice_8h_html_a16d549a25f11693a06a211f00864fed8"><div class="ttname"><a href="avdevice_8h.html#a16d549a25f11693a06a211f00864fed8">AVAppToDevMessageType</a></div><div class="ttdeci">AVAppToDevMessageType</div><div class="ttdoc">Message types used by avdevice_app_to_dev_control_message(). </div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00118">avdevice.h:118</a></div></div>
<div class="ttc" id="structAVDeviceCapabilitiesQuery_html_a97d7bfa2eacb9870273b02dd8ccfbe24"><div class="ttname"><a href="structAVDeviceCapabilitiesQuery.html#a97d7bfa2eacb9870273b02dd8ccfbe24">AVDeviceCapabilitiesQuery::device_context</a></div><div class="ttdeci">AVFormatContext * device_context</div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00401">avdevice.h:401</a></div></div>
<div class="ttc" id="avdevice_8h_html_a16d549a25f11693a06a211f00864fed8a93114a33bcd20f06d39fb9a64febf751"><div class="ttname"><a href="avdevice_8h.html#a16d549a25f11693a06a211f00864fed8a93114a33bcd20f06d39fb9a64febf751">AV_APP_TO_DEV_MUTE</a></div><div class="ttdoc">Mute control messages. </div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00178">avdevice.h:178</a></div></div>
<div class="ttc" id="avdevice_8h_html_a1362af8ea203781c69bc644179388259"><div class="ttname"><a href="avdevice_8h.html#a1362af8ea203781c69bc644179388259">av_device_capabilities</a></div><div class="ttdeci">const AVOption av_device_capabilities[]</div><div class="ttdoc">AVOption table used by devices to implement device capabilities API. </div></div>
<div class="ttc" id="avdevice_8h_html_a16d549a25f11693a06a211f00864fed8abac3d409c36e4774717f9a8ecf24ada9"><div class="ttname"><a href="avdevice_8h.html#a16d549a25f11693a06a211f00864fed8abac3d409c36e4774717f9a8ecf24ada9">AV_APP_TO_DEV_SET_VOLUME</a></div><div class="ttdoc">Volume control message. </div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00167">avdevice.h:167</a></div></div>
<div class="ttc" id="avdevice_8h_html_ac379d3691ce091da6387a461a158a690a19abbd0fc9488541fd4df18660120e0c"><div class="ttname"><a href="avdevice_8h.html#ac379d3691ce091da6387a461a158a690a19abbd0fc9488541fd4df18660120e0c">AV_DEV_TO_APP_VOLUME_LEVEL_CHANGED</a></div><div class="ttdoc">Volume level change message. </div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00292">avdevice.h:292</a></div></div>
<div class="ttc" id="avdevice_8h_html_a202488c6f1ed7e87b659c7b8df079e50"><div class="ttname"><a href="avdevice_8h.html#a202488c6f1ed7e87b659c7b8df079e50">avdevice_list_input_sources</a></div><div class="ttdeci">int avdevice_list_input_sources(struct AVInputFormat *device, const char *device_name, AVDictionary *device_options, AVDeviceInfoList **device_list)</div><div class="ttdoc">List devices. </div></div>
<div class="ttc" id="avdevice_8h_html_a16d549a25f11693a06a211f00864fed8a89a46eae01f8ff45ec1f200e6738d804"><div class="ttname"><a href="avdevice_8h.html#a16d549a25f11693a06a211f00864fed8a89a46eae01f8ff45ec1f200e6738d804">AV_APP_TO_DEV_PAUSE</a></div><div class="ttdoc">Request pause/play. </div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00154">avdevice.h:154</a></div></div>
<div class="ttc" id="structAVDeviceCapabilitiesQuery_html_a794f536fac8ba6c778df7ded1fd5eb99"><div class="ttname"><a href="structAVDeviceCapabilitiesQuery.html#a794f536fac8ba6c778df7ded1fd5eb99">AVDeviceCapabilitiesQuery::pixel_format</a></div><div class="ttdeci">enum AVPixelFormat pixel_format</div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00404">avdevice.h:404</a></div></div>
<div class="ttc" id="avdevice_8h_html_ac379d3691ce091da6387a461a158a690a3e4c4485f83fa9818ce1e9a559a7dc02"><div class="ttname"><a href="avdevice_8h.html#ac379d3691ce091da6387a461a158a690a3e4c4485f83fa9818ce1e9a559a7dc02">AV_DEV_TO_APP_MUTE_STATE_CHANGED</a></div><div class="ttdoc">Mute state change message. </div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00283">avdevice.h:283</a></div></div>
<div class="ttc" id="structAVDeviceCapabilitiesQuery_html_a9b92050015539fbc4a9f6555eb3a672b"><div class="ttname"><a href="structAVDeviceCapabilitiesQuery.html#a9b92050015539fbc4a9f6555eb3a672b">AVDeviceCapabilitiesQuery::channels</a></div><div class="ttdeci">int channels</div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00406">avdevice.h:406</a></div></div>
<div class="ttc" id="structAVDeviceCapabilitiesQuery_html_a6b090d7f3793b7ec15caa3f4739fdec0"><div class="ttname"><a href="structAVDeviceCapabilitiesQuery.html#a6b090d7f3793b7ec15caa3f4739fdec0">AVDeviceCapabilitiesQuery::codec</a></div><div class="ttdeci">enum AVCodecID codec</div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00402">avdevice.h:402</a></div></div>
<div class="ttc" id="structAVDeviceRect_html_a0554500f55abfff27a4141b3346a93f6"><div class="ttname"><a href="structAVDeviceRect.html#a0554500f55abfff27a4141b3346a93f6">AVDeviceRect::height</a></div><div class="ttdeci">int height</div><div class="ttdoc">height </div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00112">avdevice.h:112</a></div></div>
<div class="ttc" id="group__lavu__sampfmts_html_gaf9a51ca15301871723577c730b5865c5"><div class="ttname"><a href="group__lavu__sampfmts.html#gaf9a51ca15301871723577c730b5865c5">AVSampleFormat</a></div><div class="ttdeci">AVSampleFormat</div><div class="ttdoc">Audio sample formats. </div><div class="ttdef"><b>Definition:</b> <a href="samplefmt_8h_source.html#l00059">samplefmt.h:59</a></div></div>
<div class="ttc" id="structAVDeviceCapabilitiesQuery_html_af1003cea861179da74c546d4228cf20a"><div class="ttname"><a href="structAVDeviceCapabilitiesQuery.html#af1003cea861179da74c546d4228cf20a">AVDeviceCapabilitiesQuery::window_width</a></div><div class="ttdeci">int window_width</div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00408">avdevice.h:408</a></div></div>
<div class="ttc" id="avdevice_8h_html_ac379d3691ce091da6387a461a158a690a0cf06e453ce4b8618573bf9fbeca07f4"><div class="ttname"><a href="avdevice_8h.html#ac379d3691ce091da6387a461a158a690a0cf06e453ce4b8618573bf9fbeca07f4">AV_DEV_TO_APP_BUFFER_WRITABLE</a></div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00274">avdevice.h:274</a></div></div>
<div class="ttc" id="avdevice_8h_html_a7c90a3585267b55941ae2f7388c006b6"><div class="ttname"><a href="avdevice_8h.html#a7c90a3585267b55941ae2f7388c006b6">avdevice_register_all</a></div><div class="ttdeci">void avdevice_register_all(void)</div><div class="ttdoc">Initialize libavdevice and register all the input and output devices. </div></div>
<div class="ttc" id="avdevice_8h_html_ac379d3691ce091da6387a461a158a690a037a21369f35dd608f54fb34022de229"><div class="ttname"><a href="avdevice_8h.html#ac379d3691ce091da6387a461a158a690a037a21369f35dd608f54fb34022de229">AV_DEV_TO_APP_BUFFER_OVERFLOW</a></div><div class="ttdoc">Buffer fullness status messages. </div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00259">avdevice.h:259</a></div></div>
<div class="ttc" id="avdevice_8h_html_ac379d3691ce091da6387a461a158a690ac3652337ce29a2bb83a57ae9b76196c1"><div class="ttname"><a href="avdevice_8h.html#ac379d3691ce091da6387a461a158a690ac3652337ce29a2bb83a57ae9b76196c1">AV_DEV_TO_APP_BUFFER_UNDERFLOW</a></div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00260">avdevice.h:260</a></div></div>
<div class="ttc" id="structAVClass_html"><div class="ttname"><a href="structAVClass.html">AVClass</a></div><div class="ttdoc">Describe the class of an AVClass context structure. </div><div class="ttdef"><b>Definition:</b> <a href="log_8h_source.html#l00067">log.h:67</a></div></div>
<div class="ttc" id="avdevice_8h_html_a16d549a25f11693a06a211f00864fed8a344983cb9068e56d3f847162081a9747"><div class="ttname"><a href="avdevice_8h.html#a16d549a25f11693a06a211f00864fed8a344983cb9068e56d3f847162081a9747">AV_APP_TO_DEV_PLAY</a></div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00155">avdevice.h:155</a></div></div>
<div class="ttc" id="structAVRational_html"><div class="ttname"><a href="structAVRational.html">AVRational</a></div><div class="ttdoc">rational number numerator/denominator </div><div class="ttdef"><b>Definition:</b> <a href="rational_8h_source.html#l00043">rational.h:43</a></div></div>
<div class="ttc" id="avdevice_8h_html_a16d549a25f11693a06a211f00864fed8ad8c2e96b8cf1ebd5e85c5fd171eecc3f"><div class="ttname"><a href="avdevice_8h.html#a16d549a25f11693a06a211f00864fed8ad8c2e96b8cf1ebd5e85c5fd171eecc3f">AV_APP_TO_DEV_UNMUTE</a></div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00179">avdevice.h:179</a></div></div>
<div class="ttc" id="avdevice_8h_html_a4f4b2a42fa434a3557b96a02ba7cd36a"><div class="ttname"><a href="avdevice_8h.html#a4f4b2a42fa434a3557b96a02ba7cd36a">av_input_video_device_next</a></div><div class="ttdeci">AVInputFormat * av_input_video_device_next(AVInputFormat *d)</div><div class="ttdoc">Video input devices iterator. </div></div>
<div class="ttc" id="structAVDeviceInfoList_html_a88278f6896ae0b13d526c89014dac77b"><div class="ttname"><a href="structAVDeviceInfoList.html#a88278f6896ae0b13d526c89014dac77b">AVDeviceInfoList::default_device</a></div><div class="ttdeci">int default_device</div><div class="ttdoc">index of default device or -1 if no default </div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00462">avdevice.h:462</a></div></div>
<div class="ttc" id="structAVDeviceInfoList_html"><div class="ttname"><a href="structAVDeviceInfoList.html">AVDeviceInfoList</a></div><div class="ttdoc">List of devices. </div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00459">avdevice.h:459</a></div></div>
<div class="ttc" id="libavdevice_2version_8h_html"><div class="ttname"><a href="libavdevice_2version_8h.html">version.h</a></div><div class="ttdoc">Libavdevice version macros. </div></div>
<div class="ttc" id="structAVDeviceRect_html_afb6766c6297f824d7051f1800f7fda90"><div class="ttname"><a href="structAVDeviceRect.html#afb6766c6297f824d7051f1800f7fda90">AVDeviceRect::width</a></div><div class="ttdeci">int width</div><div class="ttdoc">width </div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00111">avdevice.h:111</a></div></div>
<div class="ttc" id="avdevice_8h_html_a89c36d6e5698ad7dc2637226e1655dff"><div class="ttname"><a href="avdevice_8h.html#a89c36d6e5698ad7dc2637226e1655dff">avdevice_capabilities_free</a></div><div class="ttdeci">void avdevice_capabilities_free(AVDeviceCapabilitiesQuery **caps, AVFormatContext *s)</div><div class="ttdoc">Free resources created by avdevice_capabilities_create() </div></div>
<div class="ttc" id="avformat_8h_html"><div class="ttname"><a href="avformat_8h.html">avformat.h</a></div><div class="ttdoc">Main libavformat public API header. </div></div>
<div class="ttc" id="avdevice_8h_html_a52f3b793ab7b9511521069cf6213ebd2"><div class="ttname"><a href="avdevice_8h.html#a52f3b793ab7b9511521069cf6213ebd2">av_output_video_device_next</a></div><div class="ttdeci">AVOutputFormat * av_output_video_device_next(AVOutputFormat *d)</div><div class="ttdoc">Video output devices iterator. </div></div>
<div class="ttc" id="structAVOutputFormat_html"><div class="ttname"><a href="structAVOutputFormat.html">AVOutputFormat</a></div><div class="ttdef"><b>Definition:</b> <a href="avformat_8h_source.html#l00522">avformat.h:522</a></div></div>
<div class="ttc" id="common_8h_html_a1e233db224cd0a3079fd4572d1a3d717"><div class="ttname"><a href="common_8h.html#a1e233db224cd0a3079fd4572d1a3d717">MKBETAG</a></div><div class="ttdeci">#define MKBETAG(a, b, c, d)</div><div class="ttdef"><b>Definition:</b> <a href="common_8h_source.html#l00343">common.h:343</a></div></div>
<div class="ttc" id="log_8h_html"><div class="ttname"><a href="log_8h.html">log.h</a></div></div>
<div class="ttc" id="avdevice_8h_html_a2227616998276fefe5e4221e478d667f"><div class="ttname"><a href="avdevice_8h.html#a2227616998276fefe5e4221e478d667f">avdevice_list_output_sinks</a></div><div class="ttdeci">int avdevice_list_output_sinks(struct AVOutputFormat *device, const char *device_name, AVDictionary *device_options, AVDeviceInfoList **device_list)</div></div>
<div class="ttc" id="structAVDeviceCapabilitiesQuery_html_a24268116864767bd084f8b5bbb896150"><div class="ttname"><a href="structAVDeviceCapabilitiesQuery.html#a24268116864767bd084f8b5bbb896150">AVDeviceCapabilitiesQuery::frame_width</a></div><div class="ttdeci">int frame_width</div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00410">avdevice.h:410</a></div></div>
<div class="ttc" id="structAVDeviceRect_html_abe9a24b60ee938e8eb9fd30522d1602b"><div class="ttname"><a href="structAVDeviceRect.html#abe9a24b60ee938e8eb9fd30522d1602b">AVDeviceRect::y</a></div><div class="ttdeci">int y</div><div class="ttdoc">y coordinate of top left corner </div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00110">avdevice.h:110</a></div></div>
<div class="ttc" id="avdevice_8h_html_a16d549a25f11693a06a211f00864fed8a8219697bb3af980fa778ffb1e11606b3"><div class="ttname"><a href="avdevice_8h.html#a16d549a25f11693a06a211f00864fed8a8219697bb3af980fa778ffb1e11606b3">AV_APP_TO_DEV_GET_MUTE</a></div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00191">avdevice.h:191</a></div></div>
<div class="ttc" id="avdevice_8h_html_a16d549a25f11693a06a211f00864fed8a5caaa1fda2910d345270d8ac1710c138"><div class="ttname"><a href="avdevice_8h.html#a16d549a25f11693a06a211f00864fed8a5caaa1fda2910d345270d8ac1710c138">AV_APP_TO_DEV_GET_VOLUME</a></div><div class="ttdoc">Get volume/mute messages. </div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00190">avdevice.h:190</a></div></div>
<div class="ttc" id="avdevice_8h_html_a16d549a25f11693a06a211f00864fed8a635d820c2098c4f58feff50b7d6c2811"><div class="ttname"><a href="avdevice_8h.html#a16d549a25f11693a06a211f00864fed8a635d820c2098c4f58feff50b7d6c2811">AV_APP_TO_DEV_NONE</a></div><div class="ttdoc">Dummy message. </div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00122">avdevice.h:122</a></div></div>
<div class="ttc" id="structAVDeviceInfoList_html_a8253ca399209d2cfd83667b78accbe28"><div class="ttname"><a href="structAVDeviceInfoList.html#a8253ca399209d2cfd83667b78accbe28">AVDeviceInfoList::nb_devices</a></div><div class="ttdeci">int nb_devices</div><div class="ttdoc">number of autodetected devices </div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00461">avdevice.h:461</a></div></div>
<div class="ttc" id="structAVDeviceCapabilitiesQuery_html"><div class="ttname"><a href="structAVDeviceCapabilitiesQuery.html">AVDeviceCapabilitiesQuery</a></div><div class="ttdoc">Following API allows user to probe device capabilities (supported codecs, pixel formats, sample formats, resolutions, channel counts, etc). </div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00399">avdevice.h:399</a></div></div>
<div class="ttc" id="pixfmt_8h_html_a9a8e335cf3be472042bc9f0cf80cd4c5"><div class="ttname"><a href="pixfmt_8h.html#a9a8e335cf3be472042bc9f0cf80cd4c5">AVPixelFormat</a></div><div class="ttdeci">AVPixelFormat</div><div class="ttdoc">Pixel format. </div><div class="ttdef"><b>Definition:</b> <a href="pixfmt_8h_source.html#l00061">pixfmt.h:61</a></div></div>
<div class="ttc" id="avdevice_8h_html_ac379d3691ce091da6387a461a158a690a1108397b3605ed9aff591de55a3c27bd"><div class="ttname"><a href="avdevice_8h.html#ac379d3691ce091da6387a461a158a690a1108397b3605ed9aff591de55a3c27bd">AV_DEV_TO_APP_DISPLAY_WINDOW_BUFFER</a></div><div class="ttdoc">Display window buffer message. </div><div class="ttdef"><b>Definition:</b> <a href="avdevice_8h_source.html#l00239">avdevice.h:239</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>
</body>
</html>