This commit is contained in:
2025-08-28 15:13:40 +09:00
parent 6e64d739ac
commit 6404f4176e
3149 changed files with 738551 additions and 335 deletions
@@ -0,0 +1,883 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>FFmpegKit Linux API: ffmpegkit::MediaInformation Class Reference</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/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></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 id="projectrow">
<td id="projectlogo"><img alt="Logo" src="../../ffmpeg-kit-icon-v9-small.png"/></td>
<td id="projectalign">
<div id="projectname">FFmpegKit Linux API<span id="projectnumber">&#160;6.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../d2/d25/namespaceffmpegkit.html">ffmpegkit</a></li><li class="navelem"><a class="el" href="../../df/d06/classffmpegkit_1_1_media_information.html">MediaInformation</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="#pri-attribs">Private Attributes</a> </div>
<div class="headertitle"><div class="title">ffmpegkit::MediaInformation Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="../../d8/d78/_media_information_8h_source.html">MediaInformation.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a0529c0773922d3f433bcd889dbe2684a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d06/classffmpegkit_1_1_media_information.html#a0529c0773922d3f433bcd889dbe2684a">MediaInformation</a> (std::shared_ptr&lt; rapidjson::Value &gt; mediaInformationValue, std::shared_ptr&lt; std::vector&lt; std::shared_ptr&lt; <a class="el" href="../../d7/d9e/classffmpegkit_1_1_stream_information.html">ffmpegkit::StreamInformation</a> &gt; &gt; &gt; streams, std::shared_ptr&lt; std::vector&lt; std::shared_ptr&lt; <a class="el" href="../../d9/d9f/classffmpegkit_1_1_chapter.html">ffmpegkit::Chapter</a> &gt; &gt; &gt; chapters)</td></tr>
<tr class="separator:a0529c0773922d3f433bcd889dbe2684a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:accaadfb31a5cdab63c3efe71af492268"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d06/classffmpegkit_1_1_media_information.html#accaadfb31a5cdab63c3efe71af492268">getFilename</a> ()</td></tr>
<tr class="separator:accaadfb31a5cdab63c3efe71af492268"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac65be2b19adbc51ff4debe94281e0058"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d06/classffmpegkit_1_1_media_information.html#ac65be2b19adbc51ff4debe94281e0058">getFormat</a> ()</td></tr>
<tr class="separator:ac65be2b19adbc51ff4debe94281e0058"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65e50fd4b3bdf79a9230ea38f6c6121f"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d06/classffmpegkit_1_1_media_information.html#a65e50fd4b3bdf79a9230ea38f6c6121f">getLongFormat</a> ()</td></tr>
<tr class="separator:a65e50fd4b3bdf79a9230ea38f6c6121f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1263766d0af68ee5cb518d2ec5f689b6"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d06/classffmpegkit_1_1_media_information.html#a1263766d0af68ee5cb518d2ec5f689b6">getDuration</a> ()</td></tr>
<tr class="separator:a1263766d0af68ee5cb518d2ec5f689b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a414c9d22ead16701f3b874b8163719da"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d06/classffmpegkit_1_1_media_information.html#a414c9d22ead16701f3b874b8163719da">getStartTime</a> ()</td></tr>
<tr class="separator:a414c9d22ead16701f3b874b8163719da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b31540e51abbdd9a4138854c4a575ca"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d06/classffmpegkit_1_1_media_information.html#a7b31540e51abbdd9a4138854c4a575ca">getSize</a> ()</td></tr>
<tr class="separator:a7b31540e51abbdd9a4138854c4a575ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16b41096a7dabcea735917890f11b64a"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d06/classffmpegkit_1_1_media_information.html#a16b41096a7dabcea735917890f11b64a">getBitrate</a> ()</td></tr>
<tr class="separator:a16b41096a7dabcea735917890f11b64a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2e96b613cb56cfdbfa5ab7ad916cc22"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; rapidjson::Value &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d06/classffmpegkit_1_1_media_information.html#ae2e96b613cb56cfdbfa5ab7ad916cc22">getTags</a> ()</td></tr>
<tr class="separator:ae2e96b613cb56cfdbfa5ab7ad916cc22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a527a348cb1a4c937d271674f047bdd3c"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; std::vector&lt; std::shared_ptr&lt; <a class="el" href="../../d7/d9e/classffmpegkit_1_1_stream_information.html">ffmpegkit::StreamInformation</a> &gt; &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d06/classffmpegkit_1_1_media_information.html#a527a348cb1a4c937d271674f047bdd3c">getStreams</a> ()</td></tr>
<tr class="separator:a527a348cb1a4c937d271674f047bdd3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7daefcefb77c0aaead7fc053a73568ba"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; std::vector&lt; std::shared_ptr&lt; <a class="el" href="../../d9/d9f/classffmpegkit_1_1_chapter.html">ffmpegkit::Chapter</a> &gt; &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d06/classffmpegkit_1_1_media_information.html#a7daefcefb77c0aaead7fc053a73568ba">getChapters</a> ()</td></tr>
<tr class="separator:a7daefcefb77c0aaead7fc053a73568ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a883a9eb9b1869bbac4dacea2cdbae5b0"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d06/classffmpegkit_1_1_media_information.html#a883a9eb9b1869bbac4dacea2cdbae5b0">getStringProperty</a> (const char *key)</td></tr>
<tr class="separator:a883a9eb9b1869bbac4dacea2cdbae5b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac720cbde6de30ba47507dea0200bb04e"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; int64_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d06/classffmpegkit_1_1_media_information.html#ac720cbde6de30ba47507dea0200bb04e">getNumberProperty</a> (const char *key)</td></tr>
<tr class="separator:ac720cbde6de30ba47507dea0200bb04e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0278e6f4d7b0ae485ced286fbbe6722e"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; rapidjson::Value &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d06/classffmpegkit_1_1_media_information.html#a0278e6f4d7b0ae485ced286fbbe6722e">getProperty</a> (const char *key)</td></tr>
<tr class="separator:a0278e6f4d7b0ae485ced286fbbe6722e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa53d7e6ada47361ba5480f9a237c2d37"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d06/classffmpegkit_1_1_media_information.html#aa53d7e6ada47361ba5480f9a237c2d37">getStringFormatProperty</a> (const char *key)</td></tr>
<tr class="separator:aa53d7e6ada47361ba5480f9a237c2d37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c131eeadb7c01045998ca933c014b99"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; int64_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d06/classffmpegkit_1_1_media_information.html#a5c131eeadb7c01045998ca933c014b99">getNumberFormatProperty</a> (const char *key)</td></tr>
<tr class="separator:a5c131eeadb7c01045998ca933c014b99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59daf16857f45c40a60883df439550a4"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; rapidjson::Value &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d06/classffmpegkit_1_1_media_information.html#a59daf16857f45c40a60883df439550a4">getFormatProperty</a> (const char *key)</td></tr>
<tr class="separator:a59daf16857f45c40a60883df439550a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f8e690b9d48240c9ca7960bfebac8a6"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; rapidjson::Value &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d06/classffmpegkit_1_1_media_information.html#a3f8e690b9d48240c9ca7960bfebac8a6">getFormatProperties</a> ()</td></tr>
<tr class="separator:a3f8e690b9d48240c9ca7960bfebac8a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a91df7abd5ecd4f5ab0fec89269007868"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; rapidjson::Value &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d06/classffmpegkit_1_1_media_information.html#a91df7abd5ecd4f5ab0fec89269007868">getAllProperties</a> ()</td></tr>
<tr class="separator:a91df7abd5ecd4f5ab0fec89269007868"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-attribs" name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:acf121ab2d1c0e97e7815bdb8be94db9f"><td class="memItemLeft" align="right" valign="top">static constexpr const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d06/classffmpegkit_1_1_media_information.html#acf121ab2d1c0e97e7815bdb8be94db9f">KeyFormatProperties</a> = &quot;format&quot;</td></tr>
<tr class="separator:acf121ab2d1c0e97e7815bdb8be94db9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ce2eb36bce9b51bc6a57018b0475668"><td class="memItemLeft" align="right" valign="top">static constexpr const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d06/classffmpegkit_1_1_media_information.html#a7ce2eb36bce9b51bc6a57018b0475668">KeyFilename</a> = &quot;filename&quot;</td></tr>
<tr class="separator:a7ce2eb36bce9b51bc6a57018b0475668"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a96dc9ebfbd2d43718b66c6ba60b6c9ad"><td class="memItemLeft" align="right" valign="top">static constexpr const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d06/classffmpegkit_1_1_media_information.html#a96dc9ebfbd2d43718b66c6ba60b6c9ad">KeyFormat</a> = &quot;format_name&quot;</td></tr>
<tr class="separator:a96dc9ebfbd2d43718b66c6ba60b6c9ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b926548cb470373ca5ceef58574f373"><td class="memItemLeft" align="right" valign="top">static constexpr const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d06/classffmpegkit_1_1_media_information.html#a8b926548cb470373ca5ceef58574f373">KeyFormatLong</a> = &quot;format_long_name&quot;</td></tr>
<tr class="separator:a8b926548cb470373ca5ceef58574f373"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9371d2d9bcaf8395b0c6d74c65cb71d"><td class="memItemLeft" align="right" valign="top">static constexpr const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d06/classffmpegkit_1_1_media_information.html#ad9371d2d9bcaf8395b0c6d74c65cb71d">KeyStartTime</a> = &quot;start_time&quot;</td></tr>
<tr class="separator:ad9371d2d9bcaf8395b0c6d74c65cb71d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66571dc1d1af67faa7a666730f274feb"><td class="memItemLeft" align="right" valign="top">static constexpr const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d06/classffmpegkit_1_1_media_information.html#a66571dc1d1af67faa7a666730f274feb">KeyDuration</a> = &quot;duration&quot;</td></tr>
<tr class="separator:a66571dc1d1af67faa7a666730f274feb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a36935eb7c4394f2025fa22263236725e"><td class="memItemLeft" align="right" valign="top">static constexpr const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d06/classffmpegkit_1_1_media_information.html#a36935eb7c4394f2025fa22263236725e">KeySize</a> = &quot;size&quot;</td></tr>
<tr class="separator:a36935eb7c4394f2025fa22263236725e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a791959faf8a82c7833eb577c2312a77a"><td class="memItemLeft" align="right" valign="top">static constexpr const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d06/classffmpegkit_1_1_media_information.html#a791959faf8a82c7833eb577c2312a77a">KeyBitRate</a> = &quot;bit_rate&quot;</td></tr>
<tr class="separator:a791959faf8a82c7833eb577c2312a77a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeae08106ddcd31db5225ef88feb3af68"><td class="memItemLeft" align="right" valign="top">static constexpr const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d06/classffmpegkit_1_1_media_information.html#aeae08106ddcd31db5225ef88feb3af68">KeyTags</a> = &quot;tags&quot;</td></tr>
<tr class="separator:aeae08106ddcd31db5225ef88feb3af68"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-attribs" name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:af072dfce1f4573539d35d69ca514169b"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; rapidjson::Value &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d06/classffmpegkit_1_1_media_information.html#af072dfce1f4573539d35d69ca514169b">_mediaInformationValue</a></td></tr>
<tr class="separator:af072dfce1f4573539d35d69ca514169b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef3e3e832107d2ee973e7268ec64fbb2"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; std::vector&lt; std::shared_ptr&lt; <a class="el" href="../../d7/d9e/classffmpegkit_1_1_stream_information.html">ffmpegkit::StreamInformation</a> &gt; &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d06/classffmpegkit_1_1_media_information.html#aef3e3e832107d2ee973e7268ec64fbb2">_streams</a></td></tr>
<tr class="separator:aef3e3e832107d2ee973e7268ec64fbb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3ba067f1934efc4c75b4a0954214b22"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; std::vector&lt; std::shared_ptr&lt; <a class="el" href="../../d9/d9f/classffmpegkit_1_1_chapter.html">ffmpegkit::Chapter</a> &gt; &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d06/classffmpegkit_1_1_media_information.html#af3ba067f1934efc4c75b4a0954214b22">_chapters</a></td></tr>
<tr class="separator:af3ba067f1934efc4c75b4a0954214b22"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Media information class. </p>
<p class="definition">Definition at line <a class="el" href="../../d8/d78/_media_information_8h_source.html#l00033">33</a> of file <a class="el" href="../../d8/d78/_media_information_8h_source.html">MediaInformation.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a0529c0773922d3f433bcd889dbe2684a" name="a0529c0773922d3f433bcd889dbe2684a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0529c0773922d3f433bcd889dbe2684a">&#9670;&#160;</a></span>MediaInformation()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ffmpegkit::MediaInformation::MediaInformation </td>
<td>(</td>
<td class="paramtype">std::shared_ptr&lt; rapidjson::Value &gt;&#160;</td>
<td class="paramname"><em>mediaInformationValue</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::shared_ptr&lt; std::vector&lt; std::shared_ptr&lt; <a class="el" href="../../d7/d9e/classffmpegkit_1_1_stream_information.html">ffmpegkit::StreamInformation</a> &gt; &gt; &gt;&#160;</td>
<td class="paramname"><em>streams</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::shared_ptr&lt; std::vector&lt; std::shared_ptr&lt; <a class="el" href="../../d9/d9f/classffmpegkit_1_1_chapter.html">ffmpegkit::Chapter</a> &gt; &gt; &gt;&#160;</td>
<td class="paramname"><em>chapters</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="../../d1/dc9/_media_information_8cpp_source.html#l00022">22</a> of file <a class="el" href="../../d1/dc9/_media_information_8cpp_source.html">MediaInformation.cpp</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a91df7abd5ecd4f5ab0fec89269007868" name="a91df7abd5ecd4f5ab0fec89269007868"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a91df7abd5ecd4f5ab0fec89269007868">&#9670;&#160;</a></span>getAllProperties()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt; rapidjson::Value &gt; ffmpegkit::MediaInformation::getAllProperties </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns all properties defined.</p>
<dl class="section return"><dt>Returns</dt><dd>all properties in a Value or nullptr if no properties are defined </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../d1/dc9/_media_information_8cpp_source.html#l00141">141</a> of file <a class="el" href="../../d1/dc9/_media_information_8cpp_source.html">MediaInformation.cpp</a>.</p>
</div>
</div>
<a id="a16b41096a7dabcea735917890f11b64a" name="a16b41096a7dabcea735917890f11b64a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a16b41096a7dabcea735917890f11b64a">&#9670;&#160;</a></span>getBitrate()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt; std::string &gt; ffmpegkit::MediaInformation::getBitrate </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns bitrate.</p>
<dl class="section return"><dt>Returns</dt><dd>media bitrate in kb/s </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../d1/dc9/_media_information_8cpp_source.html#l00050">50</a> of file <a class="el" href="../../d1/dc9/_media_information_8cpp_source.html">MediaInformation.cpp</a>.</p>
</div>
</div>
<a id="a7daefcefb77c0aaead7fc053a73568ba" name="a7daefcefb77c0aaead7fc053a73568ba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7daefcefb77c0aaead7fc053a73568ba">&#9670;&#160;</a></span>getChapters()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt; std::vector&lt; std::shared_ptr&lt; <a class="el" href="../../d9/d9f/classffmpegkit_1_1_chapter.html">ffmpegkit::Chapter</a> &gt; &gt; &gt; ffmpegkit::MediaInformation::getChapters </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns all chapters.</p>
<dl class="section return"><dt>Returns</dt><dd>chapters vector </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../d1/dc9/_media_information_8cpp_source.html#l00069">69</a> of file <a class="el" href="../../d1/dc9/_media_information_8cpp_source.html">MediaInformation.cpp</a>.</p>
</div>
</div>
<a id="a1263766d0af68ee5cb518d2ec5f689b6" name="a1263766d0af68ee5cb518d2ec5f689b6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1263766d0af68ee5cb518d2ec5f689b6">&#9670;&#160;</a></span>getDuration()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt; std::string &gt; ffmpegkit::MediaInformation::getDuration </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns duration.</p>
<dl class="section return"><dt>Returns</dt><dd>media duration in milliseconds </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../d1/dc9/_media_information_8cpp_source.html#l00042">42</a> of file <a class="el" href="../../d1/dc9/_media_information_8cpp_source.html">MediaInformation.cpp</a>.</p>
</div>
</div>
<a id="accaadfb31a5cdab63c3efe71af492268" name="accaadfb31a5cdab63c3efe71af492268"></a>
<h2 class="memtitle"><span class="permalink"><a href="#accaadfb31a5cdab63c3efe71af492268">&#9670;&#160;</a></span>getFilename()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt; std::string &gt; ffmpegkit::MediaInformation::getFilename </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns file name.</p>
<dl class="section return"><dt>Returns</dt><dd>media file name </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../d1/dc9/_media_information_8cpp_source.html#l00026">26</a> of file <a class="el" href="../../d1/dc9/_media_information_8cpp_source.html">MediaInformation.cpp</a>.</p>
</div>
</div>
<a id="ac65be2b19adbc51ff4debe94281e0058" name="ac65be2b19adbc51ff4debe94281e0058"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac65be2b19adbc51ff4debe94281e0058">&#9670;&#160;</a></span>getFormat()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt; std::string &gt; ffmpegkit::MediaInformation::getFormat </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns format.</p>
<dl class="section return"><dt>Returns</dt><dd>media format </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../d1/dc9/_media_information_8cpp_source.html#l00030">30</a> of file <a class="el" href="../../d1/dc9/_media_information_8cpp_source.html">MediaInformation.cpp</a>.</p>
</div>
</div>
<a id="a3f8e690b9d48240c9ca7960bfebac8a6" name="a3f8e690b9d48240c9ca7960bfebac8a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3f8e690b9d48240c9ca7960bfebac8a6">&#9670;&#160;</a></span>getFormatProperties()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt; rapidjson::Value &gt; ffmpegkit::MediaInformation::getFormatProperties </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns all format properties defined.</p>
<dl class="section return"><dt>Returns</dt><dd>all format properties in a Value or nullptr if no format properties are defined </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../d1/dc9/_media_information_8cpp_source.html#l00131">131</a> of file <a class="el" href="../../d1/dc9/_media_information_8cpp_source.html">MediaInformation.cpp</a>.</p>
</div>
</div>
<a id="a59daf16857f45c40a60883df439550a4" name="a59daf16857f45c40a60883df439550a4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a59daf16857f45c40a60883df439550a4">&#9670;&#160;</a></span>getFormatProperty()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt; rapidjson::Value &gt; ffmpegkit::MediaInformation::getFormatProperty </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>key</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the format property associated with the key.</p>
<dl class="section return"><dt>Returns</dt><dd>format property in a Value or nullptr if the key is not found </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../d1/dc9/_media_information_8cpp_source.html#l00120">120</a> of file <a class="el" href="../../d1/dc9/_media_information_8cpp_source.html">MediaInformation.cpp</a>.</p>
</div>
</div>
<a id="a65e50fd4b3bdf79a9230ea38f6c6121f" name="a65e50fd4b3bdf79a9230ea38f6c6121f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a65e50fd4b3bdf79a9230ea38f6c6121f">&#9670;&#160;</a></span>getLongFormat()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt; std::string &gt; ffmpegkit::MediaInformation::getLongFormat </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns long format.</p>
<dl class="section return"><dt>Returns</dt><dd>media long format </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../d1/dc9/_media_information_8cpp_source.html#l00034">34</a> of file <a class="el" href="../../d1/dc9/_media_information_8cpp_source.html">MediaInformation.cpp</a>.</p>
</div>
</div>
<a id="a5c131eeadb7c01045998ca933c014b99" name="a5c131eeadb7c01045998ca933c014b99"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5c131eeadb7c01045998ca933c014b99">&#9670;&#160;</a></span>getNumberFormatProperty()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt; int64_t &gt; ffmpegkit::MediaInformation::getNumberFormatProperty </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>key</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the format property associated with the key.</p>
<dl class="section return"><dt>Returns</dt><dd>format property as number or nullptr if the key is not found </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../d1/dc9/_media_information_8cpp_source.html#l00111">111</a> of file <a class="el" href="../../d1/dc9/_media_information_8cpp_source.html">MediaInformation.cpp</a>.</p>
</div>
</div>
<a id="ac720cbde6de30ba47507dea0200bb04e" name="ac720cbde6de30ba47507dea0200bb04e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac720cbde6de30ba47507dea0200bb04e">&#9670;&#160;</a></span>getNumberProperty()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt; int64_t &gt; ffmpegkit::MediaInformation::getNumberProperty </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>key</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the property associated with the key.</p>
<dl class="section return"><dt>Returns</dt><dd>property as number or nullptr if the key is not found </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../d1/dc9/_media_information_8cpp_source.html#l00082">82</a> of file <a class="el" href="../../d1/dc9/_media_information_8cpp_source.html">MediaInformation.cpp</a>.</p>
</div>
</div>
<a id="a0278e6f4d7b0ae485ced286fbbe6722e" name="a0278e6f4d7b0ae485ced286fbbe6722e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0278e6f4d7b0ae485ced286fbbe6722e">&#9670;&#160;</a></span>getProperty()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt; rapidjson::Value &gt; ffmpegkit::MediaInformation::getProperty </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>key</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the property associated with the key.</p>
<dl class="section return"><dt>Returns</dt><dd>property in a Value or nullptr if the key is not found </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../d1/dc9/_media_information_8cpp_source.html#l00091">91</a> of file <a class="el" href="../../d1/dc9/_media_information_8cpp_source.html">MediaInformation.cpp</a>.</p>
</div>
</div>
<a id="a7b31540e51abbdd9a4138854c4a575ca" name="a7b31540e51abbdd9a4138854c4a575ca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7b31540e51abbdd9a4138854c4a575ca">&#9670;&#160;</a></span>getSize()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt; std::string &gt; ffmpegkit::MediaInformation::getSize </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns size.</p>
<dl class="section return"><dt>Returns</dt><dd>media size in bytes </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../d1/dc9/_media_information_8cpp_source.html#l00046">46</a> of file <a class="el" href="../../d1/dc9/_media_information_8cpp_source.html">MediaInformation.cpp</a>.</p>
</div>
</div>
<a id="a414c9d22ead16701f3b874b8163719da" name="a414c9d22ead16701f3b874b8163719da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a414c9d22ead16701f3b874b8163719da">&#9670;&#160;</a></span>getStartTime()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt; std::string &gt; ffmpegkit::MediaInformation::getStartTime </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns start time.</p>
<dl class="section return"><dt>Returns</dt><dd>media start time in milliseconds </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../d1/dc9/_media_information_8cpp_source.html#l00038">38</a> of file <a class="el" href="../../d1/dc9/_media_information_8cpp_source.html">MediaInformation.cpp</a>.</p>
</div>
</div>
<a id="a527a348cb1a4c937d271674f047bdd3c" name="a527a348cb1a4c937d271674f047bdd3c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a527a348cb1a4c937d271674f047bdd3c">&#9670;&#160;</a></span>getStreams()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt; std::vector&lt; std::shared_ptr&lt; <a class="el" href="../../d7/d9e/classffmpegkit_1_1_stream_information.html">ffmpegkit::StreamInformation</a> &gt; &gt; &gt; ffmpegkit::MediaInformation::getStreams </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns all streams.</p>
<dl class="section return"><dt>Returns</dt><dd>streams vector </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../d1/dc9/_media_information_8cpp_source.html#l00065">65</a> of file <a class="el" href="../../d1/dc9/_media_information_8cpp_source.html">MediaInformation.cpp</a>.</p>
</div>
</div>
<a id="aa53d7e6ada47361ba5480f9a237c2d37" name="aa53d7e6ada47361ba5480f9a237c2d37"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa53d7e6ada47361ba5480f9a237c2d37">&#9670;&#160;</a></span>getStringFormatProperty()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt; std::string &gt; ffmpegkit::MediaInformation::getStringFormatProperty </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>key</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the format property associated with the key.</p>
<dl class="section return"><dt>Returns</dt><dd>format property as string or nullptr if the key is not found </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../d1/dc9/_media_information_8cpp_source.html#l00102">102</a> of file <a class="el" href="../../d1/dc9/_media_information_8cpp_source.html">MediaInformation.cpp</a>.</p>
</div>
</div>
<a id="a883a9eb9b1869bbac4dacea2cdbae5b0" name="a883a9eb9b1869bbac4dacea2cdbae5b0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a883a9eb9b1869bbac4dacea2cdbae5b0">&#9670;&#160;</a></span>getStringProperty()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt; std::string &gt; ffmpegkit::MediaInformation::getStringProperty </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>key</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the property associated with the key.</p>
<dl class="section return"><dt>Returns</dt><dd>property as string or nullptr if the key is not found </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../d1/dc9/_media_information_8cpp_source.html#l00073">73</a> of file <a class="el" href="../../d1/dc9/_media_information_8cpp_source.html">MediaInformation.cpp</a>.</p>
</div>
</div>
<a id="ae2e96b613cb56cfdbfa5ab7ad916cc22" name="ae2e96b613cb56cfdbfa5ab7ad916cc22"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae2e96b613cb56cfdbfa5ab7ad916cc22">&#9670;&#160;</a></span>getTags()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt; rapidjson::Value &gt; ffmpegkit::MediaInformation::getTags </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns all tags.</p>
<dl class="section return"><dt>Returns</dt><dd>tags Value </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../d1/dc9/_media_information_8cpp_source.html#l00054">54</a> of file <a class="el" href="../../d1/dc9/_media_information_8cpp_source.html">MediaInformation.cpp</a>.</p>
</div>
</div>
<h2 class="groupheader">Field Documentation</h2>
<a id="af3ba067f1934efc4c75b4a0954214b22" name="af3ba067f1934efc4c75b4a0954214b22"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af3ba067f1934efc4c75b4a0954214b22">&#9670;&#160;</a></span>_chapters</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt;std::vector&lt;std::shared_ptr&lt;<a class="el" href="../../d9/d9f/classffmpegkit_1_1_chapter.html">ffmpegkit::Chapter</a>&gt; &gt; &gt; ffmpegkit::MediaInformation::_chapters</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="../../d8/d78/_media_information_8h_source.html#l00176">176</a> of file <a class="el" href="../../d8/d78/_media_information_8h_source.html">MediaInformation.h</a>.</p>
</div>
</div>
<a id="af072dfce1f4573539d35d69ca514169b" name="af072dfce1f4573539d35d69ca514169b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af072dfce1f4573539d35d69ca514169b">&#9670;&#160;</a></span>_mediaInformationValue</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt;rapidjson::Value&gt; ffmpegkit::MediaInformation::_mediaInformationValue</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="../../d8/d78/_media_information_8h_source.html#l00174">174</a> of file <a class="el" href="../../d8/d78/_media_information_8h_source.html">MediaInformation.h</a>.</p>
</div>
</div>
<a id="aef3e3e832107d2ee973e7268ec64fbb2" name="aef3e3e832107d2ee973e7268ec64fbb2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef3e3e832107d2ee973e7268ec64fbb2">&#9670;&#160;</a></span>_streams</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt;std::vector&lt;std::shared_ptr&lt;<a class="el" href="../../d7/d9e/classffmpegkit_1_1_stream_information.html">ffmpegkit::StreamInformation</a>&gt; &gt; &gt; ffmpegkit::MediaInformation::_streams</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="../../d8/d78/_media_information_8h_source.html#l00175">175</a> of file <a class="el" href="../../d8/d78/_media_information_8h_source.html">MediaInformation.h</a>.</p>
</div>
</div>
<a id="a791959faf8a82c7833eb577c2312a77a" name="a791959faf8a82c7833eb577c2312a77a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a791959faf8a82c7833eb577c2312a77a">&#9670;&#160;</a></span>KeyBitRate</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">constexpr const char* ffmpegkit::MediaInformation::KeyBitRate = &quot;bit_rate&quot;</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="../../d8/d78/_media_information_8h_source.html#l00042">42</a> of file <a class="el" href="../../d8/d78/_media_information_8h_source.html">MediaInformation.h</a>.</p>
</div>
</div>
<a id="a66571dc1d1af67faa7a666730f274feb" name="a66571dc1d1af67faa7a666730f274feb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a66571dc1d1af67faa7a666730f274feb">&#9670;&#160;</a></span>KeyDuration</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">constexpr const char* ffmpegkit::MediaInformation::KeyDuration = &quot;duration&quot;</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="../../d8/d78/_media_information_8h_source.html#l00040">40</a> of file <a class="el" href="../../d8/d78/_media_information_8h_source.html">MediaInformation.h</a>.</p>
</div>
</div>
<a id="a7ce2eb36bce9b51bc6a57018b0475668" name="a7ce2eb36bce9b51bc6a57018b0475668"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7ce2eb36bce9b51bc6a57018b0475668">&#9670;&#160;</a></span>KeyFilename</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">constexpr const char* ffmpegkit::MediaInformation::KeyFilename = &quot;filename&quot;</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="../../d8/d78/_media_information_8h_source.html#l00036">36</a> of file <a class="el" href="../../d8/d78/_media_information_8h_source.html">MediaInformation.h</a>.</p>
</div>
</div>
<a id="a96dc9ebfbd2d43718b66c6ba60b6c9ad" name="a96dc9ebfbd2d43718b66c6ba60b6c9ad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a96dc9ebfbd2d43718b66c6ba60b6c9ad">&#9670;&#160;</a></span>KeyFormat</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">constexpr const char* ffmpegkit::MediaInformation::KeyFormat = &quot;format_name&quot;</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="../../d8/d78/_media_information_8h_source.html#l00037">37</a> of file <a class="el" href="../../d8/d78/_media_information_8h_source.html">MediaInformation.h</a>.</p>
</div>
</div>
<a id="a8b926548cb470373ca5ceef58574f373" name="a8b926548cb470373ca5ceef58574f373"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8b926548cb470373ca5ceef58574f373">&#9670;&#160;</a></span>KeyFormatLong</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">constexpr const char* ffmpegkit::MediaInformation::KeyFormatLong = &quot;format_long_name&quot;</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="../../d8/d78/_media_information_8h_source.html#l00038">38</a> of file <a class="el" href="../../d8/d78/_media_information_8h_source.html">MediaInformation.h</a>.</p>
</div>
</div>
<a id="acf121ab2d1c0e97e7815bdb8be94db9f" name="acf121ab2d1c0e97e7815bdb8be94db9f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acf121ab2d1c0e97e7815bdb8be94db9f">&#9670;&#160;</a></span>KeyFormatProperties</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">constexpr const char* ffmpegkit::MediaInformation::KeyFormatProperties = &quot;format&quot;</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="../../d8/d78/_media_information_8h_source.html#l00035">35</a> of file <a class="el" href="../../d8/d78/_media_information_8h_source.html">MediaInformation.h</a>.</p>
</div>
</div>
<a id="a36935eb7c4394f2025fa22263236725e" name="a36935eb7c4394f2025fa22263236725e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a36935eb7c4394f2025fa22263236725e">&#9670;&#160;</a></span>KeySize</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">constexpr const char* ffmpegkit::MediaInformation::KeySize = &quot;size&quot;</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="../../d8/d78/_media_information_8h_source.html#l00041">41</a> of file <a class="el" href="../../d8/d78/_media_information_8h_source.html">MediaInformation.h</a>.</p>
</div>
</div>
<a id="ad9371d2d9bcaf8395b0c6d74c65cb71d" name="ad9371d2d9bcaf8395b0c6d74c65cb71d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad9371d2d9bcaf8395b0c6d74c65cb71d">&#9670;&#160;</a></span>KeyStartTime</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">constexpr const char* ffmpegkit::MediaInformation::KeyStartTime = &quot;start_time&quot;</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="../../d8/d78/_media_information_8h_source.html#l00039">39</a> of file <a class="el" href="../../d8/d78/_media_information_8h_source.html">MediaInformation.h</a>.</p>
</div>
</div>
<a id="aeae08106ddcd31db5225ef88feb3af68" name="aeae08106ddcd31db5225ef88feb3af68"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeae08106ddcd31db5225ef88feb3af68">&#9670;&#160;</a></span>KeyTags</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">constexpr const char* ffmpegkit::MediaInformation::KeyTags = &quot;tags&quot;</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="../../d8/d78/_media_information_8h_source.html#l00043">43</a> of file <a class="el" href="../../d8/d78/_media_information_8h_source.html">MediaInformation.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="../../d8/d78/_media_information_8h_source.html">MediaInformation.h</a></li>
<li><a class="el" href="../../d1/dc9/_media_information_8cpp_source.html">MediaInformation.cpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Aug 22 2023 01:27:12 for FFmpegKit Linux API by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
</small></address>
</body>
</html>
@@ -0,0 +1,102 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>FFmpegKit Linux API: SessionState.h File Reference</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/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></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 id="projectrow">
<td id="projectlogo"><img alt="Logo" src="../../ffmpeg-kit-icon-v9-small.png"/></td>
<td id="projectalign">
<div id="projectname">FFmpegKit Linux API<span id="projectnumber">&#160;6.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#enum-members">Enumerations</a> </div>
<div class="headertitle"><div class="title">SessionState.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<p><a href="../../df/d13/_session_state_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:d2/d25/namespaceffmpegkit"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d25/namespaceffmpegkit.html">ffmpegkit</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="enum-members" name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a6d76b34ad27245e8ba161c8f30ab5c8f"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d25/namespaceffmpegkit.html#a6d76b34ad27245e8ba161c8f30ab5c8f">ffmpegkit::SessionState</a> { <a class="el" href="../../d2/d25/namespaceffmpegkit.html#a6d76b34ad27245e8ba161c8f30ab5c8faa2b60da11090d170819db698df90f4a2">ffmpegkit::SessionStateCreated</a> = 0
, <a class="el" href="../../d2/d25/namespaceffmpegkit.html#a6d76b34ad27245e8ba161c8f30ab5c8fa384cde9cd29cfe4e94fb4b8f5d3719c1">ffmpegkit::SessionStateRunning</a> = 1
, <a class="el" href="../../d2/d25/namespaceffmpegkit.html#a6d76b34ad27245e8ba161c8f30ab5c8fa4e355211ff575fe9e53b5cac1989473e">ffmpegkit::SessionStateFailed</a> = 2
, <a class="el" href="../../d2/d25/namespaceffmpegkit.html#a6d76b34ad27245e8ba161c8f30ab5c8fae395077a2a757c691699536f02cc264f">ffmpegkit::SessionStateCompleted</a> = 3
}</td></tr>
<tr class="separator:a6d76b34ad27245e8ba161c8f30ab5c8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Aug 22 2023 01:27:12 for FFmpegKit Linux API by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
</small></address>
</body>
</html>
@@ -0,0 +1,122 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>FFmpegKit Linux API: SessionState.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/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></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 id="projectrow">
<td id="projectlogo"><img alt="Logo" src="../../ffmpeg-kit-icon-v9-small.png"/></td>
<td id="projectalign">
<div id="projectname">FFmpegKit Linux API<span id="projectnumber">&#160;6.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">SessionState.h</div></div>
</div><!--header-->
<div class="contents">
<a href="../../df/d13/_session_state_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * Copyright (c) 2022 Taner Sener</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> *</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> * This file is part of FFmpegKit.</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> *</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> * FFmpegKit is free software: you can redistribute it and/or modify</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> * it under the terms of the GNU Lesser General License as published by</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> * the Free Software Foundation, either version 3 of the License, or</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> * (at your option) any later version.</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> *</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> * FFmpegKit is distributed in the hope that it will be useful,</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment"> * GNU Lesser General License for more details.</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment"> *</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment"> * You should have received a copy of the GNU Lesser General License</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment"> * along with FFmpegKit. If not, see &lt;http://www.gnu.org/licenses/&gt;.</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment"> */</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#ifndef FFMPEG_KIT_SESSION_STATE_H</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#define FFMPEG_KIT_SESSION_STATE_H</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> </div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="keyword">namespace </span><a class="code hl_namespace" href="../../d2/d25/namespaceffmpegkit.html">ffmpegkit</a> {</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> </div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"><a class="line" href="../../d2/d25/namespaceffmpegkit.html#a6d76b34ad27245e8ba161c8f30ab5c8f"> 25</a></span> <span class="keyword">enum</span> <a class="code hl_enumeration" href="../../d2/d25/namespaceffmpegkit.html#a6d76b34ad27245e8ba161c8f30ab5c8f">SessionState</a> {</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"><a class="line" href="../../d2/d25/namespaceffmpegkit.html#a6d76b34ad27245e8ba161c8f30ab5c8faa2b60da11090d170819db698df90f4a2"> 26</a></span> <a class="code hl_enumvalue" href="../../d2/d25/namespaceffmpegkit.html#a6d76b34ad27245e8ba161c8f30ab5c8faa2b60da11090d170819db698df90f4a2">SessionStateCreated</a> = 0,</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"><a class="line" href="../../d2/d25/namespaceffmpegkit.html#a6d76b34ad27245e8ba161c8f30ab5c8fa384cde9cd29cfe4e94fb4b8f5d3719c1"> 27</a></span> <a class="code hl_enumvalue" href="../../d2/d25/namespaceffmpegkit.html#a6d76b34ad27245e8ba161c8f30ab5c8fa384cde9cd29cfe4e94fb4b8f5d3719c1">SessionStateRunning</a> = 1,</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"><a class="line" href="../../d2/d25/namespaceffmpegkit.html#a6d76b34ad27245e8ba161c8f30ab5c8fa4e355211ff575fe9e53b5cac1989473e"> 28</a></span> <a class="code hl_enumvalue" href="../../d2/d25/namespaceffmpegkit.html#a6d76b34ad27245e8ba161c8f30ab5c8fa4e355211ff575fe9e53b5cac1989473e">SessionStateFailed</a> = 2,</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> <a class="code hl_enumvalue" href="../../d2/d25/namespaceffmpegkit.html#a6d76b34ad27245e8ba161c8f30ab5c8fae395077a2a757c691699536f02cc264f">SessionStateCompleted</a> = 3</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"><a class="line" href="../../d2/d25/namespaceffmpegkit.html#a6d76b34ad27245e8ba161c8f30ab5c8fae395077a2a757c691699536f02cc264f"> 30</a></span> };</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> </div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span>}</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> </div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="preprocessor">#endif </span><span class="comment">// FFMPEG_KIT_SESSION_STATE_H</span></div>
<div class="ttc" id="anamespaceffmpegkit_html"><div class="ttname"><a href="../../d2/d25/namespaceffmpegkit.html">ffmpegkit</a></div><div class="ttdef"><b>Definition</b> <a href="../../d9/d76/_abstract_session_8h_source.html#l00025">AbstractSession.h:25</a></div></div>
<div class="ttc" id="anamespaceffmpegkit_html_a6d76b34ad27245e8ba161c8f30ab5c8f"><div class="ttname"><a href="../../d2/d25/namespaceffmpegkit.html#a6d76b34ad27245e8ba161c8f30ab5c8f">ffmpegkit::SessionState</a></div><div class="ttdeci">SessionState</div><div class="ttdef"><b>Definition</b> <a href="../../df/d13/_session_state_8h_source.html#l00025">SessionState.h:25</a></div></div>
<div class="ttc" id="anamespaceffmpegkit_html_a6d76b34ad27245e8ba161c8f30ab5c8fa384cde9cd29cfe4e94fb4b8f5d3719c1"><div class="ttname"><a href="../../d2/d25/namespaceffmpegkit.html#a6d76b34ad27245e8ba161c8f30ab5c8fa384cde9cd29cfe4e94fb4b8f5d3719c1">ffmpegkit::SessionStateRunning</a></div><div class="ttdeci">@ SessionStateRunning</div><div class="ttdef"><b>Definition</b> <a href="../../df/d13/_session_state_8h_source.html#l00027">SessionState.h:27</a></div></div>
<div class="ttc" id="anamespaceffmpegkit_html_a6d76b34ad27245e8ba161c8f30ab5c8fa4e355211ff575fe9e53b5cac1989473e"><div class="ttname"><a href="../../d2/d25/namespaceffmpegkit.html#a6d76b34ad27245e8ba161c8f30ab5c8fa4e355211ff575fe9e53b5cac1989473e">ffmpegkit::SessionStateFailed</a></div><div class="ttdeci">@ SessionStateFailed</div><div class="ttdef"><b>Definition</b> <a href="../../df/d13/_session_state_8h_source.html#l00028">SessionState.h:28</a></div></div>
<div class="ttc" id="anamespaceffmpegkit_html_a6d76b34ad27245e8ba161c8f30ab5c8faa2b60da11090d170819db698df90f4a2"><div class="ttname"><a href="../../d2/d25/namespaceffmpegkit.html#a6d76b34ad27245e8ba161c8f30ab5c8faa2b60da11090d170819db698df90f4a2">ffmpegkit::SessionStateCreated</a></div><div class="ttdeci">@ SessionStateCreated</div><div class="ttdef"><b>Definition</b> <a href="../../df/d13/_session_state_8h_source.html#l00026">SessionState.h:26</a></div></div>
<div class="ttc" id="anamespaceffmpegkit_html_a6d76b34ad27245e8ba161c8f30ab5c8fae395077a2a757c691699536f02cc264f"><div class="ttname"><a href="../../d2/d25/namespaceffmpegkit.html#a6d76b34ad27245e8ba161c8f30ab5c8fae395077a2a757c691699536f02cc264f">ffmpegkit::SessionStateCompleted</a></div><div class="ttdeci">@ SessionStateCompleted</div><div class="ttdef"><b>Definition</b> <a href="../../df/d13/_session_state_8h_source.html#l00030">SessionState.h:29</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Aug 22 2023 01:27:12 for FFmpegKit Linux API by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
</small></address>
</body>
</html>
@@ -0,0 +1,113 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>FFmpegKit Linux API: FFmpegSession.cpp File Reference</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/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></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 id="projectrow">
<td id="projectlogo"><img alt="Logo" src="../../ffmpeg-kit-icon-v9-small.png"/></td>
<td id="projectalign">
<div id="projectname">FFmpegKit Linux API<span id="projectnumber">&#160;6.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">FFmpegSession.cpp File Reference</div></div>
</div><!--header-->
<div class="contents">
<p><a href="../../df/d2b/_f_fmpeg_session_8cpp_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a7b2de0082e979a6e74f8c30b6f819f99"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d2b/_f_fmpeg_session_8cpp.html#a7b2de0082e979a6e74f8c30b6f819f99">addSessionToSessionHistory</a> (const std::shared_ptr&lt; <a class="el" href="../../d5/d0e/classffmpegkit_1_1_session.html">ffmpegkit::Session</a> &gt; session)</td></tr>
<tr class="separator:a7b2de0082e979a6e74f8c30b6f819f99"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a id="a7b2de0082e979a6e74f8c30b6f819f99" name="a7b2de0082e979a6e74f8c30b6f819f99"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7b2de0082e979a6e74f8c30b6f819f99">&#9670;&#160;</a></span>addSessionToSessionHistory()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void addSessionToSessionHistory </td>
<td>(</td>
<td class="paramtype">const std::shared_ptr&lt; <a class="el" href="../../d5/d0e/classffmpegkit_1_1_session.html">ffmpegkit::Session</a> &gt;&#160;</td>
<td class="paramname"><em>session</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l00165">165</a> of file <a class="el" href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html">FFmpegKitConfig.cpp</a>.</p>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Aug 22 2023 01:27:12 for FFmpegKit Linux API by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
</small></address>
</body>
</html>
@@ -0,0 +1,221 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>FFmpegKit Linux API: FFmpegSession.cpp 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/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></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 id="projectrow">
<td id="projectlogo"><img alt="Logo" src="../../ffmpeg-kit-icon-v9-small.png"/></td>
<td id="projectalign">
<div id="projectname">FFmpegKit Linux API<span id="projectnumber">&#160;6.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">FFmpegSession.cpp</div></div>
</div><!--header-->
<div class="contents">
<a href="../../df/d2b/_f_fmpeg_session_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * Copyright (c) 2022 Taner Sener</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> *</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> * This file is part of FFmpegKit.</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> *</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> * FFmpegKit is free software: you can redistribute it and/or modify</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> * it under the terms of the GNU Lesser General License as published by</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> * the Free Software Foundation, either version 3 of the License, or</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> * (at your option) any later version.</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> *</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> * FFmpegKit is distributed in the hope that it will be useful,</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment"> * GNU Lesser General License for more details.</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment"> *</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment"> * You should have received a copy of the GNU Lesser General License</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment"> * along with FFmpegKit. If not, see &lt;http://www.gnu.org/licenses/&gt;.</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment"> */</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#include &quot;<a class="code" href="../../d2/def/_f_fmpeg_session_8h.html">FFmpegSession.h</a>&quot;</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#include &quot;<a class="code" href="../../df/d48/_f_fmpeg_kit_config_8h.html">FFmpegKitConfig.h</a>&quot;</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="preprocessor">#include &quot;<a class="code" href="../../d4/daf/_log_callback_8h.html">LogCallback.h</a>&quot;</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include &quot;<a class="code" href="../../d6/df1/_statistics_callback_8h.html">StatisticsCallback.h</a>&quot;</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> </div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../df/d2b/_f_fmpeg_session_8cpp.html#a7b2de0082e979a6e74f8c30b6f819f99">addSessionToSessionHistory</a>(<span class="keyword">const</span> std::shared_ptr&lt;ffmpegkit::Session&gt; session);</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"><a class="line" href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html#af257e4bff5dc977e47d8861061fac072"> 27</a></span>std::shared_ptr&lt;ffmpegkit::FFmpegSession&gt; <a class="code hl_function" href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html#af257e4bff5dc977e47d8861061fac072">ffmpegkit::FFmpegSession::create</a>(<span class="keyword">const</span> std::list&lt;std::string&gt;&amp; arguments) {</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> std::shared_ptr&lt;ffmpegkit::FFmpegSession&gt; session = std::static_pointer_cast&lt;ffmpegkit::FFmpegSession&gt;(std::make_shared&lt;ffmpegkit::FFmpegSession::PublicFFmpegSession&gt;(arguments, <span class="keyword">nullptr</span>, <span class="keyword">nullptr</span>, <span class="keyword">nullptr</span>, <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a4dbd1586599e260e97dccffa875872fd">ffmpegkit::FFmpegKitConfig::getLogRedirectionStrategy</a>()));</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> <a class="code hl_function" href="../../da/dfd/_abstract_session_8cpp.html#a7b2de0082e979a6e74f8c30b6f819f99">addSessionToSessionHistory</a>(session);</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> <span class="keywordflow">return</span> session;</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span>}</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> </div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"><a class="line" href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html#a38801592ffbc9c94dbcd98ae791e9a06"> 33</a></span>std::shared_ptr&lt;ffmpegkit::FFmpegSession&gt; <a class="code hl_function" href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html#af257e4bff5dc977e47d8861061fac072">ffmpegkit::FFmpegSession::create</a>(<span class="keyword">const</span> std::list&lt;std::string&gt;&amp; arguments, <a class="code hl_typedef" href="../../d2/d25/namespaceffmpegkit.html#afc007c369cdeebeca5cbf663ab966443">FFmpegSessionCompleteCallback</a> completeCallback) {</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> std::shared_ptr&lt;ffmpegkit::FFmpegSession&gt; session = std::static_pointer_cast&lt;ffmpegkit::FFmpegSession&gt;(std::make_shared&lt;ffmpegkit::FFmpegSession::PublicFFmpegSession&gt;(arguments, completeCallback, <span class="keyword">nullptr</span>, <span class="keyword">nullptr</span>, <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a4dbd1586599e260e97dccffa875872fd">ffmpegkit::FFmpegKitConfig::getLogRedirectionStrategy</a>()));</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <a class="code hl_function" href="../../da/dfd/_abstract_session_8cpp.html#a7b2de0082e979a6e74f8c30b6f819f99">addSessionToSessionHistory</a>(session);</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> <span class="keywordflow">return</span> session;</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span>}</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> </div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"><a class="line" href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html#a849f79445ac124a5278f147679bdd687"> 39</a></span>std::shared_ptr&lt;ffmpegkit::FFmpegSession&gt; <a class="code hl_function" href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html#af257e4bff5dc977e47d8861061fac072">ffmpegkit::FFmpegSession::create</a>(<span class="keyword">const</span> std::list&lt;std::string&gt;&amp; arguments, <a class="code hl_typedef" href="../../d2/d25/namespaceffmpegkit.html#afc007c369cdeebeca5cbf663ab966443">FFmpegSessionCompleteCallback</a> completeCallback, <a class="code hl_typedef" href="../../d2/d25/namespaceffmpegkit.html#a961de60de61ed79c2c7dfee08c9fa939">ffmpegkit::LogCallback</a> <a class="code hl_variable" href="../../d8/d45/_f_fmpeg_kit_config_8cpp.html#a7e70dcb2518bb21bffb91bdd7133d329">logCallback</a>, <a class="code hl_typedef" href="../../d2/d25/namespaceffmpegkit.html#a250a65ad52e13fa88362845eb4b848ef">ffmpegkit::StatisticsCallback</a> <a class="code hl_variable" href="../../d8/d45/_f_fmpeg_kit_config_8cpp.html#a94447b62a78f7c737729ced2596527d2">statisticsCallback</a>) {</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> std::shared_ptr&lt;ffmpegkit::FFmpegSession&gt; session = std::static_pointer_cast&lt;ffmpegkit::FFmpegSession&gt;(std::make_shared&lt;ffmpegkit::FFmpegSession::PublicFFmpegSession&gt;(arguments, completeCallback, <a class="code hl_variable" href="../../d8/d45/_f_fmpeg_kit_config_8cpp.html#a7e70dcb2518bb21bffb91bdd7133d329">logCallback</a>, <a class="code hl_variable" href="../../d8/d45/_f_fmpeg_kit_config_8cpp.html#a94447b62a78f7c737729ced2596527d2">statisticsCallback</a>, <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a4dbd1586599e260e97dccffa875872fd">ffmpegkit::FFmpegKitConfig::getLogRedirectionStrategy</a>()));</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> <a class="code hl_function" href="../../da/dfd/_abstract_session_8cpp.html#a7b2de0082e979a6e74f8c30b6f819f99">addSessionToSessionHistory</a>(session);</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <span class="keywordflow">return</span> session;</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span>}</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> </div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"><a class="line" href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html#a36a95535a387d36ea9301724de3fd3a6"> 45</a></span>std::shared_ptr&lt;ffmpegkit::FFmpegSession&gt; <a class="code hl_function" href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html#af257e4bff5dc977e47d8861061fac072">ffmpegkit::FFmpegSession::create</a>(<span class="keyword">const</span> std::list&lt;std::string&gt;&amp; arguments, <a class="code hl_typedef" href="../../d2/d25/namespaceffmpegkit.html#afc007c369cdeebeca5cbf663ab966443">FFmpegSessionCompleteCallback</a> completeCallback, <a class="code hl_typedef" href="../../d2/d25/namespaceffmpegkit.html#a961de60de61ed79c2c7dfee08c9fa939">ffmpegkit::LogCallback</a> <a class="code hl_variable" href="../../d8/d45/_f_fmpeg_kit_config_8cpp.html#a7e70dcb2518bb21bffb91bdd7133d329">logCallback</a>, <a class="code hl_typedef" href="../../d2/d25/namespaceffmpegkit.html#a250a65ad52e13fa88362845eb4b848ef">ffmpegkit::StatisticsCallback</a> <a class="code hl_variable" href="../../d8/d45/_f_fmpeg_kit_config_8cpp.html#a94447b62a78f7c737729ced2596527d2">statisticsCallback</a>, <a class="code hl_enumeration" href="../../d2/d25/namespaceffmpegkit.html#a11bee89be98423d1dc425a2849001ebe">LogRedirectionStrategy</a> logRedirectionStrategy) {</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> std::shared_ptr&lt;ffmpegkit::FFmpegSession&gt; session = std::static_pointer_cast&lt;ffmpegkit::FFmpegSession&gt;(std::make_shared&lt;ffmpegkit::FFmpegSession::PublicFFmpegSession&gt;(arguments, completeCallback, <a class="code hl_variable" href="../../d8/d45/_f_fmpeg_kit_config_8cpp.html#a7e70dcb2518bb21bffb91bdd7133d329">logCallback</a>, <a class="code hl_variable" href="../../d8/d45/_f_fmpeg_kit_config_8cpp.html#a94447b62a78f7c737729ced2596527d2">statisticsCallback</a>, logRedirectionStrategy));</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <a class="code hl_function" href="../../da/dfd/_abstract_session_8cpp.html#a7b2de0082e979a6e74f8c30b6f819f99">addSessionToSessionHistory</a>(session);</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> <span class="keywordflow">return</span> session;</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span>}</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> </div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span><span class="keyword">struct </span>ffmpegkit::FFmpegSession::PublicFFmpegSession : <span class="keyword">public</span> <a class="code hl_class" href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html">ffmpegkit::FFmpegSession</a> {</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> PublicFFmpegSession(<span class="keyword">const</span> std::list&lt;std::string&gt;&amp; arguments, <a class="code hl_typedef" href="../../d2/d25/namespaceffmpegkit.html#afc007c369cdeebeca5cbf663ab966443">FFmpegSessionCompleteCallback</a> completeCallback, <a class="code hl_typedef" href="../../d2/d25/namespaceffmpegkit.html#a961de60de61ed79c2c7dfee08c9fa939">ffmpegkit::LogCallback</a> <a class="code hl_variable" href="../../d8/d45/_f_fmpeg_kit_config_8cpp.html#a7e70dcb2518bb21bffb91bdd7133d329">logCallback</a>, <a class="code hl_typedef" href="../../d2/d25/namespaceffmpegkit.html#a250a65ad52e13fa88362845eb4b848ef">ffmpegkit::StatisticsCallback</a> <a class="code hl_variable" href="../../d8/d45/_f_fmpeg_kit_config_8cpp.html#a94447b62a78f7c737729ced2596527d2">statisticsCallback</a>, <a class="code hl_enumeration" href="../../d2/d25/namespaceffmpegkit.html#a11bee89be98423d1dc425a2849001ebe">LogRedirectionStrategy</a> logRedirectionStrategy) :</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> <a class="code hl_class" href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html">FFmpegSession</a>(arguments, completeCallback, <a class="code hl_variable" href="../../d8/d45/_f_fmpeg_kit_config_8cpp.html#a7e70dcb2518bb21bffb91bdd7133d329">logCallback</a>, <a class="code hl_variable" href="../../d8/d45/_f_fmpeg_kit_config_8cpp.html#a94447b62a78f7c737729ced2596527d2">statisticsCallback</a>, logRedirectionStrategy) {</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> }</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span>};</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> </div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"><a class="line" href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html#a15d1cdbfe8aa32492f6a093841831ffc"> 57</a></span><a class="code hl_function" href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html#a15d1cdbfe8aa32492f6a093841831ffc">ffmpegkit::FFmpegSession::FFmpegSession</a>(<span class="keyword">const</span> std::list&lt;std::string&gt;&amp; arguments, <a class="code hl_typedef" href="../../d2/d25/namespaceffmpegkit.html#afc007c369cdeebeca5cbf663ab966443">FFmpegSessionCompleteCallback</a> completeCallback, <a class="code hl_typedef" href="../../d2/d25/namespaceffmpegkit.html#a961de60de61ed79c2c7dfee08c9fa939">ffmpegkit::LogCallback</a> <a class="code hl_variable" href="../../d8/d45/_f_fmpeg_kit_config_8cpp.html#a7e70dcb2518bb21bffb91bdd7133d329">logCallback</a>, <a class="code hl_typedef" href="../../d2/d25/namespaceffmpegkit.html#a250a65ad52e13fa88362845eb4b848ef">ffmpegkit::StatisticsCallback</a> <a class="code hl_variable" href="../../d8/d45/_f_fmpeg_kit_config_8cpp.html#a94447b62a78f7c737729ced2596527d2">statisticsCallback</a>, <a class="code hl_enumeration" href="../../d2/d25/namespaceffmpegkit.html#a11bee89be98423d1dc425a2849001ebe">LogRedirectionStrategy</a> logRedirectionStrategy) :</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> <a class="code hl_namespace" href="../../d2/d25/namespaceffmpegkit.html">ffmpegkit</a>::<a class="code hl_class" href="../../d2/d41/classffmpegkit_1_1_abstract_session.html">AbstractSession</a>(arguments, <a class="code hl_variable" href="../../d8/d45/_f_fmpeg_kit_config_8cpp.html#a7e70dcb2518bb21bffb91bdd7133d329">logCallback</a>, logRedirectionStrategy), _completeCallback{completeCallback}, _statisticsCallback{<a class="code hl_variable" href="../../d8/d45/_f_fmpeg_kit_config_8cpp.html#a94447b62a78f7c737729ced2596527d2">statisticsCallback</a>}, _statistics{std::make_shared&lt;std::list&lt;std::shared_ptr&lt;<a class="code hl_namespace" href="../../d2/d25/namespaceffmpegkit.html">ffmpegkit</a>::<a class="code hl_class" href="../../d0/de7/classffmpegkit_1_1_statistics.html">Statistics</a>&gt;&gt;&gt;()} {</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span>}</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> </div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"><a class="line" href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html#a1d51f396704a25191ce6b9d2f8099e78"> 61</a></span><a class="code hl_typedef" href="../../d2/d25/namespaceffmpegkit.html#a250a65ad52e13fa88362845eb4b848ef">ffmpegkit::StatisticsCallback</a> <a class="code hl_function" href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html#a1d51f396704a25191ce6b9d2f8099e78">ffmpegkit::FFmpegSession::getStatisticsCallback</a>() {</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <span class="keywordflow">return</span> _statisticsCallback;</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span>}</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> </div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"><a class="line" href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html#a72e8226c1f963444f293ca123649ad51"> 65</a></span><a class="code hl_typedef" href="../../d2/d25/namespaceffmpegkit.html#afc007c369cdeebeca5cbf663ab966443">ffmpegkit::FFmpegSessionCompleteCallback</a> <a class="code hl_function" href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html#a72e8226c1f963444f293ca123649ad51">ffmpegkit::FFmpegSession::getCompleteCallback</a>() {</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <span class="keywordflow">return</span> _completeCallback;</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span>}</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> </div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"><a class="line" href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html#a8b32a642cc207cd8c784bff3cb68ec00"> 69</a></span>std::shared_ptr&lt;std::list&lt;std::shared_ptr&lt;ffmpegkit::Statistics&gt;&gt;&gt; <a class="code hl_function" href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html#a8b32a642cc207cd8c784bff3cb68ec00">ffmpegkit::FFmpegSession::getAllStatisticsWithTimeout</a>(<span class="keyword">const</span> <span class="keywordtype">int</span> waitTimeout) {</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> this-&gt;waitForAsynchronousMessagesInTransmit(waitTimeout);</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> </div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <span class="keywordflow">if</span> (this-&gt;thereAreAsynchronousMessagesInTransmit()) {</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> std::cout &lt;&lt; <span class="stringliteral">&quot;getAllStatisticsWithTimeout was called to return all statistics but there are still statistics being transmitted for session id &quot;</span> &lt;&lt; this-&gt;getSessionId() &lt;&lt; <span class="stringliteral">&quot;.&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> }</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> </div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <span class="keywordflow">return</span> this-&gt;getStatistics();</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span>}</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> </div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"><a class="line" href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html#a6fd4b901a5481bd14884154fdc68d2ba"> 79</a></span>std::shared_ptr&lt;std::list&lt;std::shared_ptr&lt;ffmpegkit::Statistics&gt;&gt;&gt; <a class="code hl_function" href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html#a6fd4b901a5481bd14884154fdc68d2ba">ffmpegkit::FFmpegSession::getAllStatistics</a>() {</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> <span class="keywordflow">return</span> this-&gt;getAllStatisticsWithTimeout(<a class="code hl_variable" href="../../d2/d41/classffmpegkit_1_1_abstract_session.html#aeb2c6594ab8cb5c6a186911716e7ce19">ffmpegkit::AbstractSession::DefaultTimeoutForAsynchronousMessagesInTransmit</a>);</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span>}</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> </div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"><a class="line" href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html#ad4ae61e0493f1f78b409c37eda4839b0"> 83</a></span>std::shared_ptr&lt;std::list&lt;std::shared_ptr&lt;ffmpegkit::Statistics&gt;&gt;&gt; <a class="code hl_function" href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html#ad4ae61e0493f1f78b409c37eda4839b0">ffmpegkit::FFmpegSession::getStatistics</a>() {</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <span class="keywordflow">return</span> _statistics;</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span>}</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> </div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"><a class="line" href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html#a8793e8ef7fad7c9652ad067da2b14c58"> 87</a></span>std::shared_ptr&lt;ffmpegkit::Statistics&gt; <a class="code hl_function" href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html#a8793e8ef7fad7c9652ad067da2b14c58">ffmpegkit::FFmpegSession::getLastReceivedStatistics</a>() {</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> <span class="keywordflow">if</span> (_statistics-&gt;size() &gt; 0) {</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> <span class="keywordflow">return</span> _statistics-&gt;back();</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> }</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span>}</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> </div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"><a class="line" href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html#a27184c9772a338d040ad01fd9589f871"> 95</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html#a27184c9772a338d040ad01fd9589f871">ffmpegkit::FFmpegSession::addStatistics</a>(<span class="keyword">const</span> std::shared_ptr&lt;ffmpegkit::Statistics&gt; statistics) {</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> _statistics-&gt;push_back(statistics);</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span>}</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> </div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"><a class="line" href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html#a775982f92212bb2a5d9a94f7c2f00c10"> 99</a></span><span class="keywordtype">bool</span> <a class="code hl_function" href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html#a775982f92212bb2a5d9a94f7c2f00c10">ffmpegkit::FFmpegSession::isFFmpeg</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span>}</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> </div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"><a class="line" href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html#a241bdf03cea442fb29261ff64763faac"> 103</a></span><span class="keywordtype">bool</span> <a class="code hl_function" href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html#a241bdf03cea442fb29261ff64763faac">ffmpegkit::FFmpegSession::isFFprobe</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span>}</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> </div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"><a class="line" href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html#acb5ae95c41830a8cd38b989979c42bc1"> 107</a></span><span class="keywordtype">bool</span> <a class="code hl_function" href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html#acb5ae95c41830a8cd38b989979c42bc1">ffmpegkit::FFmpegSession::isMediaInformation</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span>}</div>
<div class="ttc" id="a_abstract_session_8cpp_html_a7b2de0082e979a6e74f8c30b6f819f99"><div class="ttname"><a href="../../da/dfd/_abstract_session_8cpp.html#a7b2de0082e979a6e74f8c30b6f819f99">addSessionToSessionHistory</a></div><div class="ttdeci">void addSessionToSessionHistory(const std::shared_ptr&lt; ffmpegkit::Session &gt; session)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l00165">FFmpegKitConfig.cpp:165</a></div></div>
<div class="ttc" id="a_f_fmpeg_kit_config_8cpp_html_a7e70dcb2518bb21bffb91bdd7133d329"><div class="ttname"><a href="../../d8/d45/_f_fmpeg_kit_config_8cpp.html#a7e70dcb2518bb21bffb91bdd7133d329">logCallback</a></div><div class="ttdeci">static ffmpegkit::LogCallback logCallback</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l00069">FFmpegKitConfig.cpp:69</a></div></div>
<div class="ttc" id="a_f_fmpeg_kit_config_8cpp_html_a94447b62a78f7c737729ced2596527d2"><div class="ttname"><a href="../../d8/d45/_f_fmpeg_kit_config_8cpp.html#a94447b62a78f7c737729ced2596527d2">statisticsCallback</a></div><div class="ttdeci">static ffmpegkit::StatisticsCallback statisticsCallback</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l00072">FFmpegKitConfig.cpp:72</a></div></div>
<div class="ttc" id="a_f_fmpeg_kit_config_8h_html"><div class="ttname"><a href="../../df/d48/_f_fmpeg_kit_config_8h.html">FFmpegKitConfig.h</a></div></div>
<div class="ttc" id="a_f_fmpeg_session_8cpp_html_a7b2de0082e979a6e74f8c30b6f819f99"><div class="ttname"><a href="../../df/d2b/_f_fmpeg_session_8cpp.html#a7b2de0082e979a6e74f8c30b6f819f99">addSessionToSessionHistory</a></div><div class="ttdeci">void addSessionToSessionHistory(const std::shared_ptr&lt; ffmpegkit::Session &gt; session)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l00165">FFmpegKitConfig.cpp:165</a></div></div>
<div class="ttc" id="a_f_fmpeg_session_8h_html"><div class="ttname"><a href="../../d2/def/_f_fmpeg_session_8h.html">FFmpegSession.h</a></div></div>
<div class="ttc" id="a_log_callback_8h_html"><div class="ttname"><a href="../../d4/daf/_log_callback_8h.html">LogCallback.h</a></div></div>
<div class="ttc" id="a_statistics_callback_8h_html"><div class="ttname"><a href="../../d6/df1/_statistics_callback_8h.html">StatisticsCallback.h</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_abstract_session_html"><div class="ttname"><a href="../../d2/d41/classffmpegkit_1_1_abstract_session.html">ffmpegkit::AbstractSession</a></div><div class="ttdef"><b>Definition</b> <a href="../../d9/d76/_abstract_session_8h_source.html#l00031">AbstractSession.h:31</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_abstract_session_html_aeb2c6594ab8cb5c6a186911716e7ce19"><div class="ttname"><a href="../../d2/d41/classffmpegkit_1_1_abstract_session.html#aeb2c6594ab8cb5c6a186911716e7ce19">ffmpegkit::AbstractSession::DefaultTimeoutForAsynchronousMessagesInTransmit</a></div><div class="ttdeci">static constexpr int DefaultTimeoutForAsynchronousMessagesInTransmit</div><div class="ttdef"><b>Definition</b> <a href="../../d9/d76/_abstract_session_8h_source.html#l00037">AbstractSession.h:37</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_a4dbd1586599e260e97dccffa875872fd"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a4dbd1586599e260e97dccffa875872fd">ffmpegkit::FFmpegKitConfig::getLogRedirectionStrategy</a></div><div class="ttdeci">static LogRedirectionStrategy getLogRedirectionStrategy()</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l01344">FFmpegKitConfig.cpp:1344</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_session_html"><div class="ttname"><a href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html">ffmpegkit::FFmpegSession</a></div><div class="ttdef"><b>Definition</b> <a href="../../d2/def/_f_fmpeg_session_8h_source.html#l00032">FFmpegSession.h:32</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_session_html_a15d1cdbfe8aa32492f6a093841831ffc"><div class="ttname"><a href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html#a15d1cdbfe8aa32492f6a093841831ffc">ffmpegkit::FFmpegSession::FFmpegSession</a></div><div class="ttdeci">FFmpegSession(const std::list&lt; std::string &gt; &amp;arguments, ffmpegkit::FFmpegSessionCompleteCallback completeCallback, ffmpegkit::LogCallback logCallback, ffmpegkit::StatisticsCallback statisticsCallback, ffmpegkit::LogRedirectionStrategy logRedirectionStrategy)</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/_f_fmpeg_session_8cpp_source.html#l00057">FFmpegSession.cpp:57</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_session_html_a1d51f396704a25191ce6b9d2f8099e78"><div class="ttname"><a href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html#a1d51f396704a25191ce6b9d2f8099e78">ffmpegkit::FFmpegSession::getStatisticsCallback</a></div><div class="ttdeci">ffmpegkit::StatisticsCallback getStatisticsCallback()</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/_f_fmpeg_session_8cpp_source.html#l00061">FFmpegSession.cpp:61</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_session_html_a241bdf03cea442fb29261ff64763faac"><div class="ttname"><a href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html#a241bdf03cea442fb29261ff64763faac">ffmpegkit::FFmpegSession::isFFprobe</a></div><div class="ttdeci">bool isFFprobe() const override</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/_f_fmpeg_session_8cpp_source.html#l00103">FFmpegSession.cpp:103</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_session_html_a27184c9772a338d040ad01fd9589f871"><div class="ttname"><a href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html#a27184c9772a338d040ad01fd9589f871">ffmpegkit::FFmpegSession::addStatistics</a></div><div class="ttdeci">void addStatistics(const std::shared_ptr&lt; ffmpegkit::Statistics &gt; statistics)</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/_f_fmpeg_session_8cpp_source.html#l00095">FFmpegSession.cpp:95</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_session_html_a6fd4b901a5481bd14884154fdc68d2ba"><div class="ttname"><a href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html#a6fd4b901a5481bd14884154fdc68d2ba">ffmpegkit::FFmpegSession::getAllStatistics</a></div><div class="ttdeci">std::shared_ptr&lt; std::list&lt; std::shared_ptr&lt; ffmpegkit::Statistics &gt; &gt; &gt; getAllStatistics()</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/_f_fmpeg_session_8cpp_source.html#l00079">FFmpegSession.cpp:79</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_session_html_a72e8226c1f963444f293ca123649ad51"><div class="ttname"><a href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html#a72e8226c1f963444f293ca123649ad51">ffmpegkit::FFmpegSession::getCompleteCallback</a></div><div class="ttdeci">ffmpegkit::FFmpegSessionCompleteCallback getCompleteCallback()</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/_f_fmpeg_session_8cpp_source.html#l00065">FFmpegSession.cpp:65</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_session_html_a775982f92212bb2a5d9a94f7c2f00c10"><div class="ttname"><a href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html#a775982f92212bb2a5d9a94f7c2f00c10">ffmpegkit::FFmpegSession::isFFmpeg</a></div><div class="ttdeci">bool isFFmpeg() const override</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/_f_fmpeg_session_8cpp_source.html#l00099">FFmpegSession.cpp:99</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_session_html_a8793e8ef7fad7c9652ad067da2b14c58"><div class="ttname"><a href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html#a8793e8ef7fad7c9652ad067da2b14c58">ffmpegkit::FFmpegSession::getLastReceivedStatistics</a></div><div class="ttdeci">std::shared_ptr&lt; ffmpegkit::Statistics &gt; getLastReceivedStatistics()</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/_f_fmpeg_session_8cpp_source.html#l00087">FFmpegSession.cpp:87</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_session_html_a8b32a642cc207cd8c784bff3cb68ec00"><div class="ttname"><a href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html#a8b32a642cc207cd8c784bff3cb68ec00">ffmpegkit::FFmpegSession::getAllStatisticsWithTimeout</a></div><div class="ttdeci">std::shared_ptr&lt; std::list&lt; std::shared_ptr&lt; ffmpegkit::Statistics &gt; &gt; &gt; getAllStatisticsWithTimeout(const int waitTimeout)</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/_f_fmpeg_session_8cpp_source.html#l00069">FFmpegSession.cpp:69</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_session_html_acb5ae95c41830a8cd38b989979c42bc1"><div class="ttname"><a href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html#acb5ae95c41830a8cd38b989979c42bc1">ffmpegkit::FFmpegSession::isMediaInformation</a></div><div class="ttdeci">bool isMediaInformation() const override</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/_f_fmpeg_session_8cpp_source.html#l00107">FFmpegSession.cpp:107</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_session_html_ad4ae61e0493f1f78b409c37eda4839b0"><div class="ttname"><a href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html#ad4ae61e0493f1f78b409c37eda4839b0">ffmpegkit::FFmpegSession::getStatistics</a></div><div class="ttdeci">std::shared_ptr&lt; std::list&lt; std::shared_ptr&lt; ffmpegkit::Statistics &gt; &gt; &gt; getStatistics()</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/_f_fmpeg_session_8cpp_source.html#l00083">FFmpegSession.cpp:83</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_session_html_af257e4bff5dc977e47d8861061fac072"><div class="ttname"><a href="../../d2/dee/classffmpegkit_1_1_f_fmpeg_session.html#af257e4bff5dc977e47d8861061fac072">ffmpegkit::FFmpegSession::create</a></div><div class="ttdeci">static std::shared_ptr&lt; ffmpegkit::FFmpegSession &gt; create(const std::list&lt; std::string &gt; &amp;arguments)</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/_f_fmpeg_session_8cpp_source.html#l00027">FFmpegSession.cpp:27</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_statistics_html"><div class="ttname"><a href="../../d0/de7/classffmpegkit_1_1_statistics.html">ffmpegkit::Statistics</a></div><div class="ttdef"><b>Definition</b> <a href="../../da/df2/_statistics_8h_source.html#l00030">Statistics.h:30</a></div></div>
<div class="ttc" id="anamespaceffmpegkit_html"><div class="ttname"><a href="../../d2/d25/namespaceffmpegkit.html">ffmpegkit</a></div><div class="ttdef"><b>Definition</b> <a href="../../d9/d76/_abstract_session_8h_source.html#l00025">AbstractSession.h:25</a></div></div>
<div class="ttc" id="anamespaceffmpegkit_html_a11bee89be98423d1dc425a2849001ebe"><div class="ttname"><a href="../../d2/d25/namespaceffmpegkit.html#a11bee89be98423d1dc425a2849001ebe">ffmpegkit::LogRedirectionStrategy</a></div><div class="ttdeci">LogRedirectionStrategy</div><div class="ttdef"><b>Definition</b> <a href="../../d6/d42/_log_redirection_strategy_8h_source.html#l00025">LogRedirectionStrategy.h:25</a></div></div>
<div class="ttc" id="anamespaceffmpegkit_html_a250a65ad52e13fa88362845eb4b848ef"><div class="ttname"><a href="../../d2/d25/namespaceffmpegkit.html#a250a65ad52e13fa88362845eb4b848ef">ffmpegkit::StatisticsCallback</a></div><div class="ttdeci">std::function&lt; void(const std::shared_ptr&lt; ffmpegkit::Statistics &gt; statistics)&gt; StatisticsCallback</div><div class="ttdef"><b>Definition</b> <a href="../../d6/df1/_statistics_callback_8h_source.html#l00035">StatisticsCallback.h:35</a></div></div>
<div class="ttc" id="anamespaceffmpegkit_html_a961de60de61ed79c2c7dfee08c9fa939"><div class="ttname"><a href="../../d2/d25/namespaceffmpegkit.html#a961de60de61ed79c2c7dfee08c9fa939">ffmpegkit::LogCallback</a></div><div class="ttdeci">std::function&lt; void(const std::shared_ptr&lt; ffmpegkit::Log &gt; log)&gt; LogCallback</div><div class="ttdef"><b>Definition</b> <a href="../../d4/daf/_log_callback_8h_source.html#l00035">LogCallback.h:35</a></div></div>
<div class="ttc" id="anamespaceffmpegkit_html_afc007c369cdeebeca5cbf663ab966443"><div class="ttname"><a href="../../d2/d25/namespaceffmpegkit.html#afc007c369cdeebeca5cbf663ab966443">ffmpegkit::FFmpegSessionCompleteCallback</a></div><div class="ttdeci">std::function&lt; void(const std::shared_ptr&lt; ffmpegkit::FFmpegSession &gt; session)&gt; FFmpegSessionCompleteCallback</div><div class="ttdef"><b>Definition</b> <a href="../../d6/d47/_f_fmpeg_session_complete_callback_8h_source.html#l00052">FFmpegSessionCompleteCallback.h:52</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Aug 22 2023 01:27:12 for FFmpegKit Linux API by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
</small></address>
</body>
</html>
@@ -0,0 +1,498 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>FFmpegKit Linux API: fftools_ffmpeg_mux.h File Reference</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/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></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 id="projectrow">
<td id="projectlogo"><img alt="Logo" src="../../ffmpeg-kit-icon-v9-small.png"/></td>
<td id="projectalign">
<div id="projectname">FFmpegKit Linux API<span id="projectnumber">&#160;6.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle"><div class="title">fftools_ffmpeg_mux.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<p><a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d16/struct_mux_stream.html">MuxStream</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d29/struct_muxer.html">Muxer</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d56/struct_enc_stats_file.html">EncStatsFile</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a05dcbce260f33ed79d9e12b29df5c81b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#a05dcbce260f33ed79d9e12b29df5c81b">SPECIFIER_OPT_FMT_str</a>&#160;&#160;&#160;&quot;%s&quot;</td></tr>
<tr class="separator:a05dcbce260f33ed79d9e12b29df5c81b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab53f2d7a3313a58027a14edbb6b3371b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#ab53f2d7a3313a58027a14edbb6b3371b">SPECIFIER_OPT_FMT_i</a>&#160;&#160;&#160;&quot;%i&quot;</td></tr>
<tr class="separator:ab53f2d7a3313a58027a14edbb6b3371b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55e9ec369c28568761890322f01f0fc9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#a55e9ec369c28568761890322f01f0fc9">SPECIFIER_OPT_FMT_i64</a>&#160;&#160;&#160;&quot;%&quot;PRId64</td></tr>
<tr class="separator:a55e9ec369c28568761890322f01f0fc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:affa82eeddb5b77ea255732edc8cacda2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#affa82eeddb5b77ea255732edc8cacda2">SPECIFIER_OPT_FMT_ui64</a>&#160;&#160;&#160;&quot;%&quot;PRIu64</td></tr>
<tr class="separator:affa82eeddb5b77ea255732edc8cacda2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d7b961f27b365f8a55021c37c3ae42b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#a1d7b961f27b365f8a55021c37c3ae42b">SPECIFIER_OPT_FMT_f</a>&#160;&#160;&#160;&quot;%f&quot;</td></tr>
<tr class="separator:a1d7b961f27b365f8a55021c37c3ae42b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b3cf8984eccd7698241ded4b9831d9a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#a5b3cf8984eccd7698241ded4b9831d9a">SPECIFIER_OPT_FMT_dbl</a>&#160;&#160;&#160;&quot;%lf&quot;</td></tr>
<tr class="separator:a5b3cf8984eccd7698241ded4b9831d9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61f51ca9f5bb864a0a84e319e5049578"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#a61f51ca9f5bb864a0a84e319e5049578">WARN_MULTIPLE_OPT_USAGE</a>(name, type, so, st)</td></tr>
<tr class="separator:a61f51ca9f5bb864a0a84e319e5049578"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb83c221072b82ac43e6ebe61787072c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(name, type, outvar, fmtctx, st)</td></tr>
<tr class="separator:acb83c221072b82ac43e6ebe61787072c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4cc472c69041f4fae418334430ccb829"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#a4cc472c69041f4fae418334430ccb829">MATCH_PER_TYPE_OPT</a>(name, type, outvar, fmtctx, mediatype)</td></tr>
<tr class="separator:a4cc472c69041f4fae418334430ccb829"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a610bfa570eb186bedbe85d1e3d995046"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="../../d6/d16/struct_mux_stream.html">MuxStream</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#a610bfa570eb186bedbe85d1e3d995046">MuxStream</a></td></tr>
<tr class="separator:a610bfa570eb186bedbe85d1e3d995046"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed3930e65d2d03572bff0c569f869666"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="../../de/d29/struct_muxer.html">Muxer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#aed3930e65d2d03572bff0c569f869666">Muxer</a></td></tr>
<tr class="separator:aed3930e65d2d03572bff0c569f869666"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef3aa85655499b2327543e6105b9608b"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="../../da/d56/struct_enc_stats_file.html">EncStatsFile</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#aef3aa85655499b2327543e6105b9608b">EncStatsFile</a></td></tr>
<tr class="separator:aef3aa85655499b2327543e6105b9608b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ab2d70d28711fd0ab3e019e2d1eafd938"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#ab2d70d28711fd0ab3e019e2d1eafd938">mux_check_init</a> (<a class="el" href="../../de/d29/struct_muxer.html">Muxer</a> *mux)</td></tr>
<tr class="separator:ab2d70d28711fd0ab3e019e2d1eafd938"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:aee22300aab0a785e62da0d08de0c20d2"><td class="memItemLeft" align="right" valign="top">__thread <a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#aee22300aab0a785e62da0d08de0c20d2">want_sdp</a></td></tr>
<tr class="separator:aee22300aab0a785e62da0d08de0c20d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="acb83c221072b82ac43e6ebe61787072c" name="acb83c221072b82ac43e6ebe61787072c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acb83c221072b82ac43e6ebe61787072c">&#9670;&#160;</a></span>MATCH_PER_STREAM_OPT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MATCH_PER_STREAM_OPT</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">name, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">type, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">outvar, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">fmtctx, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">st&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">{\</div>
<div class="line"> <span class="keywordtype">int</span> _ret, _matches = 0;\</div>
<div class="line"> <a class="code hl_struct" href="../../dd/da5/struct_specifier_opt.html">SpecifierOpt</a> *so;\</div>
<div class="line"> for (<span class="keywordtype">int</span> _i = 0; _i &lt; o-&gt;nb_ ## name; _i++) {\</div>
<div class="line"> <span class="keywordtype">char</span> *spec = o-&gt;name[_i].<a class="code hl_variable" href="../../dd/da5/struct_specifier_opt.html#ab83e423aec2a2d42a29daae047dcdb81">specifier</a>;\</div>
<div class="line"> if ((_ret = <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a632b71e4b56c5ee8556a407bbecbcef8">check_stream_specifier</a>(fmtctx, st, spec)) &gt; 0) {\</div>
<div class="line"> outvar = o-&gt;name[_i].u.type;\</div>
<div class="line"> so = &amp;o-&gt;name[_i];\</div>
<div class="line"> _matches++;\</div>
<div class="line"> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (_ret &lt; 0)\</div>
<div class="line"> exit_program(1);\</div>
<div class="line"> }\</div>
<div class="line"> if (_matches &gt; 1)\</div>
<div class="line"> WARN_MULTIPLE_OPT_USAGE(name, type, so, st);\</div>
<div class="line">}</div>
<div class="ttc" id="afftools__cmdutils_8c_html_a632b71e4b56c5ee8556a407bbecbcef8"><div class="ttname"><a href="../../d7/dcc/fftools__cmdutils_8c.html#a632b71e4b56c5ee8556a407bbecbcef8">check_stream_specifier</a></div><div class="ttdeci">int check_stream_specifier(AVFormatContext *s, AVStream *st, const char *spec)</div><div class="ttdef"><b>Definition</b> <a href="../../d7/dcc/fftools__cmdutils_8c_source.html#l00946">fftools_cmdutils.c:946</a></div></div>
<div class="ttc" id="astruct_specifier_opt_html"><div class="ttname"><a href="../../dd/da5/struct_specifier_opt.html">SpecifierOpt</a></div><div class="ttdef"><b>Definition</b> <a href="../../d8/d4e/fftools__cmdutils_8h_source.html#l00182">fftools_cmdutils.h:182</a></div></div>
<div class="ttc" id="astruct_specifier_opt_html_ab83e423aec2a2d42a29daae047dcdb81"><div class="ttname"><a href="../../dd/da5/struct_specifier_opt.html#ab83e423aec2a2d42a29daae047dcdb81">SpecifierOpt::specifier</a></div><div class="ttdeci">char * specifier</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d4e/fftools__cmdutils_8h_source.html#l00183">fftools_cmdutils.h:183</a></div></div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00073">73</a> of file <a class="el" href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html">fftools_ffmpeg_mux.h</a>.</p>
</div>
</div>
<a id="a4cc472c69041f4fae418334430ccb829" name="a4cc472c69041f4fae418334430ccb829"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4cc472c69041f4fae418334430ccb829">&#9670;&#160;</a></span>MATCH_PER_TYPE_OPT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MATCH_PER_TYPE_OPT</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">name, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">type, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">outvar, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">fmtctx, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">mediatype&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">{\</div>
<div class="line"> <span class="keywordtype">int</span> i;\</div>
<div class="line"> for (i = 0; i &lt; o-&gt;nb_ ## name; i++) {\</div>
<div class="line"> <span class="keywordtype">char</span> *spec = o-&gt;name[i].specifier;\</div>
<div class="line"> if (!strcmp(spec, mediatype))\</div>
<div class="line"> outvar = o-&gt;name[i].u.type;\</div>
<div class="line"> }\</div>
<div class="line">}</div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00090">90</a> of file <a class="el" href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html">fftools_ffmpeg_mux.h</a>.</p>
</div>
</div>
<a id="a5b3cf8984eccd7698241ded4b9831d9a" name="a5b3cf8984eccd7698241ded4b9831d9a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5b3cf8984eccd7698241ded4b9831d9a">&#9670;&#160;</a></span>SPECIFIER_OPT_FMT_dbl</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SPECIFIER_OPT_FMT_dbl&#160;&#160;&#160;&quot;%lf&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00061">61</a> of file <a class="el" href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html">fftools_ffmpeg_mux.h</a>.</p>
</div>
</div>
<a id="a1d7b961f27b365f8a55021c37c3ae42b" name="a1d7b961f27b365f8a55021c37c3ae42b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1d7b961f27b365f8a55021c37c3ae42b">&#9670;&#160;</a></span>SPECIFIER_OPT_FMT_f</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SPECIFIER_OPT_FMT_f&#160;&#160;&#160;&quot;%f&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00060">60</a> of file <a class="el" href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html">fftools_ffmpeg_mux.h</a>.</p>
</div>
</div>
<a id="ab53f2d7a3313a58027a14edbb6b3371b" name="ab53f2d7a3313a58027a14edbb6b3371b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab53f2d7a3313a58027a14edbb6b3371b">&#9670;&#160;</a></span>SPECIFIER_OPT_FMT_i</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SPECIFIER_OPT_FMT_i&#160;&#160;&#160;&quot;%i&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00057">57</a> of file <a class="el" href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html">fftools_ffmpeg_mux.h</a>.</p>
</div>
</div>
<a id="a55e9ec369c28568761890322f01f0fc9" name="a55e9ec369c28568761890322f01f0fc9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a55e9ec369c28568761890322f01f0fc9">&#9670;&#160;</a></span>SPECIFIER_OPT_FMT_i64</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SPECIFIER_OPT_FMT_i64&#160;&#160;&#160;&quot;%&quot;PRId64</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00058">58</a> of file <a class="el" href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html">fftools_ffmpeg_mux.h</a>.</p>
</div>
</div>
<a id="a05dcbce260f33ed79d9e12b29df5c81b" name="a05dcbce260f33ed79d9e12b29df5c81b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a05dcbce260f33ed79d9e12b29df5c81b">&#9670;&#160;</a></span>SPECIFIER_OPT_FMT_str</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SPECIFIER_OPT_FMT_str&#160;&#160;&#160;&quot;%s&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00056">56</a> of file <a class="el" href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html">fftools_ffmpeg_mux.h</a>.</p>
</div>
</div>
<a id="affa82eeddb5b77ea255732edc8cacda2" name="affa82eeddb5b77ea255732edc8cacda2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#affa82eeddb5b77ea255732edc8cacda2">&#9670;&#160;</a></span>SPECIFIER_OPT_FMT_ui64</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SPECIFIER_OPT_FMT_ui64&#160;&#160;&#160;&quot;%&quot;PRIu64</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00059">59</a> of file <a class="el" href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html">fftools_ffmpeg_mux.h</a>.</p>
</div>
</div>
<a id="a61f51ca9f5bb864a0a84e319e5049578" name="a61f51ca9f5bb864a0a84e319e5049578"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a61f51ca9f5bb864a0a84e319e5049578">&#9670;&#160;</a></span>WARN_MULTIPLE_OPT_USAGE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define WARN_MULTIPLE_OPT_USAGE</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">name, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">type, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">so, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">st&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">{\</div>
<div class="line"> <span class="keywordtype">char</span> namestr[128] = <span class="stringliteral">&quot;&quot;</span>;\</div>
<div class="line"> <span class="keyword">const</span> <span class="keywordtype">char</span> *spec = so-&gt;specifier &amp;&amp; so-&gt;specifier[0] ? so-&gt;specifier : <span class="stringliteral">&quot;&quot;</span>;\</div>
<div class="line"> for (<span class="keywordtype">int</span> _i = 0; opt_name_##name[_i]; _i++)\</div>
<div class="line"> av_strlcatf(namestr, <span class="keyword">sizeof</span>(namestr), <span class="stringliteral">&quot;-%s%s&quot;</span>, opt_name_##name[_i], opt_name_##name[_i+1] ? (opt_name_##name[_i+2] ? <span class="stringliteral">&quot;, &quot;</span> : <span class="stringliteral">&quot; or &quot;</span>) : <span class="stringliteral">&quot;&quot;</span>);\</div>
<div class="line"> av_log(NULL, AV_LOG_WARNING, <span class="stringliteral">&quot;Multiple %s options specified for stream %d, only the last option &#39;-%s%s%s &quot;</span>SPECIFIER_OPT_FMT_##type<span class="stringliteral">&quot;&#39; will be used.\n&quot;</span>,\</div>
<div class="line"> namestr, st-&gt;index, opt_name_##name[0], spec[0] ? <span class="stringliteral">&quot;:&quot;</span> : <span class="stringliteral">&quot;&quot;</span>, spec, so-&gt;u.type);\</div>
<div class="line">}</div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00063">63</a> of file <a class="el" href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html">fftools_ffmpeg_mux.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="aef3aa85655499b2327543e6105b9608b" name="aef3aa85655499b2327543e6105b9608b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef3aa85655499b2327543e6105b9608b">&#9670;&#160;</a></span>EncStatsFile</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="../../da/d56/struct_enc_stats_file.html">EncStatsFile</a> <a class="el" href="../../da/d56/struct_enc_stats_file.html">EncStatsFile</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aed3930e65d2d03572bff0c569f869666" name="aed3930e65d2d03572bff0c569f869666"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aed3930e65d2d03572bff0c569f869666">&#9670;&#160;</a></span>Muxer</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="../../de/d29/struct_muxer.html">Muxer</a> <a class="el" href="../../de/d29/struct_muxer.html">Muxer</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a610bfa570eb186bedbe85d1e3d995046" name="a610bfa570eb186bedbe85d1e3d995046"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a610bfa570eb186bedbe85d1e3d995046">&#9670;&#160;</a></span>MuxStream</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="../../d6/d16/struct_mux_stream.html">MuxStream</a> <a class="el" href="../../d6/d16/struct_mux_stream.html">MuxStream</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ab2d70d28711fd0ab3e019e2d1eafd938" name="ab2d70d28711fd0ab3e019e2d1eafd938"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab2d70d28711fd0ab3e019e2d1eafd938">&#9670;&#160;</a></span>mux_check_init()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a> mux_check_init </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../de/d29/struct_muxer.html">Muxer</a> *&#160;</td>
<td class="paramname"><em>mux</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="../../d5/d94/fftools__ffmpeg__mux_8c_source.html#l00536">536</a> of file <a class="el" href="../../d5/d94/fftools__ffmpeg__mux_8c_source.html">fftools_ffmpeg_mux.c</a>.</p>
</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a id="aee22300aab0a785e62da0d08de0c20d2" name="aee22300aab0a785e62da0d08de0c20d2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aee22300aab0a785e62da0d08de0c20d2">&#9670;&#160;</a></span>want_sdp</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">__thread <a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a> want_sdp</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="../../d5/d94/fftools__ffmpeg__mux_8c_source.html#l00066">66</a> of file <a class="el" href="../../d5/d94/fftools__ffmpeg__mux_8c_source.html">fftools_ffmpeg_mux.c</a>.</p>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Aug 22 2023 01:27:12 for FFmpegKit Linux API by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
</small></address>
</body>
</html>
@@ -0,0 +1,282 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>FFmpegKit Linux API: fftools_ffmpeg_mux.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/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></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 id="projectrow">
<td id="projectlogo"><img alt="Logo" src="../../ffmpeg-kit-icon-v9-small.png"/></td>
<td id="projectalign">
<div id="projectname">FFmpegKit Linux API<span id="projectnumber">&#160;6.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">fftools_ffmpeg_mux.h</div></div>
</div><!--header-->
<div class="contents">
<a href="../../df/d2b/fftools__ffmpeg__mux_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * Muxer internal APIs - should not be included outside of ffmpeg_mux*</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> * Copyright (c) 2023 ARTHENICA LTD</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> *</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> * This file is part of FFmpeg.</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> *</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> * FFmpeg is free software; you can redistribute it and/or</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> * License as published by the Free Software Foundation; either</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> *</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> * FFmpeg is distributed in the hope that it will be useful,</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment"> * Lesser General Public License for more details.</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment"> *</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment"> * License along with FFmpeg; if not, write to the Free Software</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="comment"> */</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> </div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="comment">/*</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="comment"> * This file is the modified version of ffmpeg_mux.h file living in ffmpeg source code under the fftools folder. We</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="comment"> * manually update it each time we depend on a new ffmpeg version. Below you can see the list of changes applied</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="comment"> * by us to develop ffmpeg-kit library.</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="comment"> *</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="comment"> * ffmpeg-kit changes by ARTHENICA LTD</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="comment"> *</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="comment"> * 07.2023</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="comment"> * --------------------------------------------------------</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="comment"> * - FFmpeg 6.0 changes migrated</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="comment"> * - fftools header names updated</span></div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="comment"> * - want_sdp made thread-local</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="comment"> * - EncStatsFile declaration migrated from ffmpeg_mux_init.c</span></div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="comment"> * - WARN_MULTIPLE_OPT_USAGE, MATCH_PER_STREAM_OPT, MATCH_PER_TYPE_OPT, SPECIFIER_OPT_FMT declarations migrated from</span></div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="comment"> * ffmpeg.h</span></div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span><span class="comment"> * - ms_from_ost migrated to ffmpeg_mux.c</span></div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="comment"> */</span></div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> </div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span><span class="preprocessor">#ifndef FFTOOLS_FFMPEG_MUX_H</span></div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span><span class="preprocessor">#define FFTOOLS_FFMPEG_MUX_H</span></div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> </div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span><span class="preprocessor">#include &lt;stdatomic.h&gt;</span></div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span><span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> </div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span><span class="preprocessor">#include &quot;<a class="code" href="../../da/d87/fftools__thread__queue_8h.html">fftools_thread_queue.h</a>&quot;</span></div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> </div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span><span class="preprocessor">#include &quot;libavformat/avformat.h&quot;</span></div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> </div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span><span class="preprocessor">#include &quot;libavcodec/packet.h&quot;</span></div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> </div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span><span class="preprocessor">#include &quot;libavutil/dict.h&quot;</span></div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span><span class="preprocessor">#include &quot;libavutil/fifo.h&quot;</span></div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span><span class="preprocessor">#include &quot;libavutil/thread.h&quot;</span></div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> </div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"><a class="line" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#a05dcbce260f33ed79d9e12b29df5c81b"> 56</a></span><span class="preprocessor">#define SPECIFIER_OPT_FMT_str &quot;%s&quot;</span></div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"><a class="line" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#ab53f2d7a3313a58027a14edbb6b3371b"> 57</a></span><span class="preprocessor">#define SPECIFIER_OPT_FMT_i &quot;%i&quot;</span></div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"><a class="line" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#a55e9ec369c28568761890322f01f0fc9"> 58</a></span><span class="preprocessor">#define SPECIFIER_OPT_FMT_i64 &quot;%&quot;</span>PRId64</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"><a class="line" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#affa82eeddb5b77ea255732edc8cacda2"> 59</a></span><span class="preprocessor">#define SPECIFIER_OPT_FMT_ui64 &quot;%&quot;</span>PRIu64</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"><a class="line" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#a1d7b961f27b365f8a55021c37c3ae42b"> 60</a></span><span class="preprocessor">#define SPECIFIER_OPT_FMT_f &quot;%f&quot;</span></div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"><a class="line" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#a5b3cf8984eccd7698241ded4b9831d9a"> 61</a></span><span class="preprocessor">#define SPECIFIER_OPT_FMT_dbl &quot;%lf&quot;</span></div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> </div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"><a class="line" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#a61f51ca9f5bb864a0a84e319e5049578"> 63</a></span><span class="preprocessor">#define WARN_MULTIPLE_OPT_USAGE(name, type, so, st)\</span></div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span><span class="preprocessor">{\</span></div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span><span class="preprocessor"> char namestr[128] = &quot;&quot;</span>;\</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> const char *spec = so-&gt;specifier &amp;&amp; so-&gt;specifier[0] ? so-&gt;specifier : &quot;&quot;;\</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> for (int _i = 0; opt_name_##name[_i]; _i++)\</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> av_strlcatf(namestr, sizeof(namestr), &quot;-%s%s&quot;, opt_name_##name[_i], opt_name_##name[_i+1] ? (opt_name_##name[_i+2] ? &quot;, &quot; : &quot; or &quot;) : &quot;&quot;);\</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> av_log(NULL, AV_LOG_WARNING, &quot;Multiple %s options specified for stream %d, only the last option &#39;-%s%s%s &quot;SPECIFIER_OPT_FMT_##type&quot;&#39; will be used.\n&quot;,\</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> namestr, st-&gt;index, opt_name_##name[0], spec[0] ? &quot;:&quot; : &quot;&quot;, spec, so-&gt;u.type);\</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span>}</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> </div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"><a class="line" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c"> 73</a></span><span class="preprocessor">#define MATCH_PER_STREAM_OPT(name, type, outvar, fmtctx, st)\</span></div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span><span class="preprocessor">{\</span></div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span><span class="preprocessor"> int _ret, _matches = 0;\</span></div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span><span class="preprocessor"> SpecifierOpt *so;\</span></div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span><span class="preprocessor"> for (int _i = 0; _i &lt; o-&gt;nb_ ## name; _i++) {\</span></div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span><span class="preprocessor"> char *spec = o-&gt;name[_i].specifier;\</span></div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span><span class="preprocessor"> if ((_ret = check_stream_specifier(fmtctx, st, spec)) &gt; 0) {\</span></div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span><span class="preprocessor"> outvar = o-&gt;name[_i].u.type;\</span></div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span><span class="preprocessor"> so = &amp;o-&gt;name[_i];\</span></div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span><span class="preprocessor"> _matches++;\</span></div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span><span class="preprocessor"> } else if (_ret &lt; 0)\</span></div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span><span class="preprocessor"> exit_program(1);\</span></div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span><span class="preprocessor"> }\</span></div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span><span class="preprocessor"> if (_matches &gt; 1)\</span></div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span><span class="preprocessor"> WARN_MULTIPLE_OPT_USAGE(name, type, so, st);\</span></div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span><span class="preprocessor">}</span></div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> </div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"><a class="line" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#a4cc472c69041f4fae418334430ccb829"> 90</a></span><span class="preprocessor">#define MATCH_PER_TYPE_OPT(name, type, outvar, fmtctx, mediatype)\</span></div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span><span class="preprocessor">{\</span></div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span><span class="preprocessor"> int i;\</span></div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span><span class="preprocessor"> for (i = 0; i &lt; o-&gt;nb_ ## name; i++) {\</span></div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span><span class="preprocessor"> char *spec = o-&gt;name[i].specifier;\</span></div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span><span class="preprocessor"> if (!strcmp(spec, mediatype))\</span></div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span><span class="preprocessor"> outvar = o-&gt;name[i].u.type;\</span></div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span><span class="preprocessor"> }\</span></div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span><span class="preprocessor">}</span></div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> </div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"><a class="line" href="../../d6/d16/struct_mux_stream.html"> 100</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_struct" href="../../d6/d16/struct_mux_stream.html">MuxStream</a> {</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"><a class="line" href="../../d6/d16/struct_mux_stream.html#a02df84cdd7382dceb8e629df3948ecfc"> 101</a></span> <a class="code hl_struct" href="../../db/dde/struct_output_stream.html">OutputStream</a> <a class="code hl_variable" href="../../d6/d16/struct_mux_stream.html#a02df84cdd7382dceb8e629df3948ecfc">ost</a>;</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> </div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> <span class="comment">// name used for logging</span></div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"><a class="line" href="../../d6/d16/struct_mux_stream.html#a107f70f54c356dfee464e48aaf3b3452"> 104</a></span> <span class="keywordtype">char</span> <a class="code hl_variable" href="../../d6/d16/struct_mux_stream.html#a107f70f54c356dfee464e48aaf3b3452">log_name</a>[32];</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> </div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> <span class="comment">/* the packets are buffered here until the muxer is ready to be initialized */</span></div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"><a class="line" href="../../d6/d16/struct_mux_stream.html#a54f2e7eeb2dd33a33d0da854310b7422"> 107</a></span> AVFifo *<a class="code hl_variable" href="../../d6/d16/struct_mux_stream.html#a54f2e7eeb2dd33a33d0da854310b7422">muxing_queue</a>;</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> </div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"><a class="line" href="../../d6/d16/struct_mux_stream.html#a4cb6af1db9beef3785bb1705cdb52d91"> 109</a></span> AVBSFContext *<a class="code hl_variable" href="../../d6/d16/struct_mux_stream.html#a4cb6af1db9beef3785bb1705cdb52d91">bsf_ctx</a>;</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> </div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"><a class="line" href="../../d6/d16/struct_mux_stream.html#ae5bcde701f969a60e667a2b0946c4c0d"> 111</a></span> <a class="code hl_struct" href="../../db/dbb/struct_enc_stats.html">EncStats</a> <a class="code hl_variable" href="../../d6/d16/struct_mux_stream.html#ae5bcde701f969a60e667a2b0946c4c0d">stats</a>;</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> </div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"><a class="line" href="../../d6/d16/struct_mux_stream.html#a539d669d8a642c2fed6663c9d8014d94"> 113</a></span> int64_t <a class="code hl_variable" href="../../d6/d16/struct_mux_stream.html#a539d669d8a642c2fed6663c9d8014d94">max_frames</a>;</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> </div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> <span class="comment">/*</span></div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span><span class="comment"> * The size of the AVPackets&#39; buffers in queue.</span></div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span><span class="comment"> * Updated when a packet is either pushed or pulled from the queue.</span></div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span><span class="comment"> */</span></div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"><a class="line" href="../../d6/d16/struct_mux_stream.html#ab2a9ae6f9309fc83a105ff48cd0b764e"> 119</a></span> <span class="keywordtype">size_t</span> <a class="code hl_variable" href="../../d6/d16/struct_mux_stream.html#ab2a9ae6f9309fc83a105ff48cd0b764e">muxing_queue_data_size</a>;</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> </div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"><a class="line" href="../../d6/d16/struct_mux_stream.html#a8cf67909b63d01d0a8797a058515b58f"> 121</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="../../d6/d16/struct_mux_stream.html#a8cf67909b63d01d0a8797a058515b58f">max_muxing_queue_size</a>;</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> </div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> <span class="comment">/* Threshold after which max_muxing_queue_size will be in effect */</span></div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"><a class="line" href="../../d6/d16/struct_mux_stream.html#ad056cc675c397f488ccd4aa417697b29"> 124</a></span> <span class="keywordtype">size_t</span> <a class="code hl_variable" href="../../d6/d16/struct_mux_stream.html#ad056cc675c397f488ccd4aa417697b29">muxing_queue_data_threshold</a>;</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> </div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> <span class="comment">/* dts of the last packet sent to the muxer, in the stream timebase</span></div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span><span class="comment"> * used for making up missing dts values */</span></div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"><a class="line" href="../../d6/d16/struct_mux_stream.html#ad87754841671e7fcf501063f067535e7"> 128</a></span> int64_t <a class="code hl_variable" href="../../d6/d16/struct_mux_stream.html#ad87754841671e7fcf501063f067535e7">last_mux_dts</a>;</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"><a class="line" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#a610bfa570eb186bedbe85d1e3d995046"> 129</a></span>} <a class="code hl_struct" href="../../d6/d16/struct_mux_stream.html">MuxStream</a>;</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> </div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"><a class="line" href="../../de/d29/struct_muxer.html"> 131</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_struct" href="../../de/d29/struct_muxer.html">Muxer</a> {</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"><a class="line" href="../../de/d29/struct_muxer.html#a352cad64ec3cd752c01dbfd5ba11c04f"> 132</a></span> <a class="code hl_struct" href="../../de/df2/struct_output_file.html">OutputFile</a> <a class="code hl_variable" href="../../de/d29/struct_muxer.html#a352cad64ec3cd752c01dbfd5ba11c04f">of</a>;</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> </div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> <span class="comment">// name used for logging</span></div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"><a class="line" href="../../de/d29/struct_muxer.html#a73312ab28842f8a39a412d43f59d3c70"> 135</a></span> <span class="keywordtype">char</span> <a class="code hl_variable" href="../../de/d29/struct_muxer.html#a73312ab28842f8a39a412d43f59d3c70">log_name</a>[32];</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> </div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"><a class="line" href="../../de/d29/struct_muxer.html#ab542b8fb49305eeb5da3d390fbdb7488"> 137</a></span> AVFormatContext *<a class="code hl_variable" href="../../de/d29/struct_muxer.html#ab542b8fb49305eeb5da3d390fbdb7488">fc</a>;</div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> </div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"><a class="line" href="../../de/d29/struct_muxer.html#ae3b13dfc7ebf351b10b0edcac2a67feb"> 139</a></span> pthread_t <a class="code hl_variable" href="../../de/d29/struct_muxer.html#ae3b13dfc7ebf351b10b0edcac2a67feb">thread</a>;</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"><a class="line" href="../../de/d29/struct_muxer.html#a70d8694c3b50e278d632382b4829d7fd"> 140</a></span> <a class="code hl_struct" href="../../d9/db4/struct_thread_queue.html">ThreadQueue</a> *<a class="code hl_variable" href="../../de/d29/struct_muxer.html#a70d8694c3b50e278d632382b4829d7fd">tq</a>;</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> </div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"><a class="line" href="../../de/d29/struct_muxer.html#a19f942b28bdb85a1affb699f9af2b834"> 142</a></span> AVDictionary *<a class="code hl_variable" href="../../de/d29/struct_muxer.html#a19f942b28bdb85a1affb699f9af2b834">opts</a>;</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> </div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"><a class="line" href="../../de/d29/struct_muxer.html#a3fd10b541d8f8e33c97e2ab9cc66f910"> 144</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="../../de/d29/struct_muxer.html#a3fd10b541d8f8e33c97e2ab9cc66f910">thread_queue_size</a>;</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> </div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> <span class="comment">/* filesize limit expressed in bytes */</span></div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"><a class="line" href="../../de/d29/struct_muxer.html#af393951b0a0abffb231333ef06b0de0e"> 147</a></span> int64_t <a class="code hl_variable" href="../../de/d29/struct_muxer.html#af393951b0a0abffb231333ef06b0de0e">limit_filesize</a>;</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"><a class="line" href="../../de/d29/struct_muxer.html#a4be4ab1620783e1ebd4e8c52dd93160f"> 148</a></span> atomic_int_least64_t <a class="code hl_variable" href="../../de/d29/struct_muxer.html#a4be4ab1620783e1ebd4e8c52dd93160f">last_filesize</a>;</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"><a class="line" href="../../de/d29/struct_muxer.html#a67ba82cbb682a3fa63b7a023c456bf32"> 149</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="../../de/d29/struct_muxer.html#a67ba82cbb682a3fa63b7a023c456bf32">header_written</a>;</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> </div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"><a class="line" href="../../de/d29/struct_muxer.html#aaa259c549cf601c61ed87614ab81d6c0"> 151</a></span> <a class="code hl_struct" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *<a class="code hl_variable" href="../../de/d29/struct_muxer.html#aaa259c549cf601c61ed87614ab81d6c0">sq_mux</a>;</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"><a class="line" href="../../de/d29/struct_muxer.html#a5ad40082372f67f798723f4862e636ea"> 152</a></span> AVPacket *<a class="code hl_variable" href="../../de/d29/struct_muxer.html#a5ad40082372f67f798723f4862e636ea">sq_pkt</a>;</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"><a class="line" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#aed3930e65d2d03572bff0c569f869666"> 153</a></span>} <a class="code hl_struct" href="../../de/d29/struct_muxer.html">Muxer</a>;</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> </div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"><a class="line" href="../../da/d56/struct_enc_stats_file.html"> 155</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_struct" href="../../da/d56/struct_enc_stats_file.html">EncStatsFile</a> {</div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"><a class="line" href="../../da/d56/struct_enc_stats_file.html#a85b8dfec2eb99b2cd1d0214d1f8f8fa2"> 156</a></span> <span class="keywordtype">char</span> *<a class="code hl_variable" href="../../da/d56/struct_enc_stats_file.html#a85b8dfec2eb99b2cd1d0214d1f8f8fa2">path</a>;</div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"><a class="line" href="../../da/d56/struct_enc_stats_file.html#a3c1ac5af7c22c45c0155d1b81c869fb9"> 157</a></span> AVIOContext *<a class="code hl_variable" href="../../da/d56/struct_enc_stats_file.html#a3c1ac5af7c22c45c0155d1b81c869fb9">io</a>;</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"><a class="line" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#aef3aa85655499b2327543e6105b9608b"> 158</a></span>} <a class="code hl_struct" href="../../da/d56/struct_enc_stats_file.html">EncStatsFile</a>;</div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> </div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span><span class="comment">/* whether we want to print an SDP, set in of_open() */</span></div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span><span class="keyword">extern</span> __thread <span class="keywordtype">int</span> <a class="code hl_variable" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#aee22300aab0a785e62da0d08de0c20d2">want_sdp</a>;</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> </div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span><span class="keywordtype">int</span> <a class="code hl_function" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#ab2d70d28711fd0ab3e019e2d1eafd938">mux_check_init</a>(<a class="code hl_struct" href="../../de/d29/struct_muxer.html">Muxer</a> *mux);</div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> </div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span><span class="preprocessor">#endif </span><span class="comment">/* FFTOOLS_FFMPEG_MUX_H */</span><span class="preprocessor"></span></div>
<div class="ttc" id="afftools__ffmpeg__mux_8h_html_ab2d70d28711fd0ab3e019e2d1eafd938"><div class="ttname"><a href="../../df/d2b/fftools__ffmpeg__mux_8h.html#ab2d70d28711fd0ab3e019e2d1eafd938">mux_check_init</a></div><div class="ttdeci">int mux_check_init(Muxer *mux)</div><div class="ttdef"><b>Definition</b> <a href="../../d5/d94/fftools__ffmpeg__mux_8c_source.html#l00536">fftools_ffmpeg_mux.c:536</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux_8h_html_aee22300aab0a785e62da0d08de0c20d2"><div class="ttname"><a href="../../df/d2b/fftools__ffmpeg__mux_8h.html#aee22300aab0a785e62da0d08de0c20d2">want_sdp</a></div><div class="ttdeci">__thread int want_sdp</div><div class="ttdef"><b>Definition</b> <a href="../../d5/d94/fftools__ffmpeg__mux_8c_source.html#l00066">fftools_ffmpeg_mux.c:66</a></div></div>
<div class="ttc" id="afftools__thread__queue_8h_html"><div class="ttname"><a href="../../da/d87/fftools__thread__queue_8h.html">fftools_thread_queue.h</a></div></div>
<div class="ttc" id="astruct_enc_stats_file_html"><div class="ttname"><a href="../../da/d56/struct_enc_stats_file.html">EncStatsFile</a></div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00155">fftools_ffmpeg_mux.h:155</a></div></div>
<div class="ttc" id="astruct_enc_stats_file_html_a3c1ac5af7c22c45c0155d1b81c869fb9"><div class="ttname"><a href="../../da/d56/struct_enc_stats_file.html#a3c1ac5af7c22c45c0155d1b81c869fb9">EncStatsFile::io</a></div><div class="ttdeci">AVIOContext * io</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00157">fftools_ffmpeg_mux.h:157</a></div></div>
<div class="ttc" id="astruct_enc_stats_file_html_a85b8dfec2eb99b2cd1d0214d1f8f8fa2"><div class="ttname"><a href="../../da/d56/struct_enc_stats_file.html#a85b8dfec2eb99b2cd1d0214d1f8f8fa2">EncStatsFile::path</a></div><div class="ttdeci">char * path</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00156">fftools_ffmpeg_mux.h:156</a></div></div>
<div class="ttc" id="astruct_enc_stats_html"><div class="ttname"><a href="../../db/dbb/struct_enc_stats.html">EncStats</a></div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00576">fftools_ffmpeg.h:576</a></div></div>
<div class="ttc" id="astruct_mux_stream_html"><div class="ttname"><a href="../../d6/d16/struct_mux_stream.html">MuxStream</a></div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00100">fftools_ffmpeg_mux.h:100</a></div></div>
<div class="ttc" id="astruct_mux_stream_html_a02df84cdd7382dceb8e629df3948ecfc"><div class="ttname"><a href="../../d6/d16/struct_mux_stream.html#a02df84cdd7382dceb8e629df3948ecfc">MuxStream::ost</a></div><div class="ttdeci">OutputStream ost</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00101">fftools_ffmpeg_mux.h:101</a></div></div>
<div class="ttc" id="astruct_mux_stream_html_a107f70f54c356dfee464e48aaf3b3452"><div class="ttname"><a href="../../d6/d16/struct_mux_stream.html#a107f70f54c356dfee464e48aaf3b3452">MuxStream::log_name</a></div><div class="ttdeci">char log_name[32]</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00104">fftools_ffmpeg_mux.h:104</a></div></div>
<div class="ttc" id="astruct_mux_stream_html_a4cb6af1db9beef3785bb1705cdb52d91"><div class="ttname"><a href="../../d6/d16/struct_mux_stream.html#a4cb6af1db9beef3785bb1705cdb52d91">MuxStream::bsf_ctx</a></div><div class="ttdeci">AVBSFContext * bsf_ctx</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00109">fftools_ffmpeg_mux.h:109</a></div></div>
<div class="ttc" id="astruct_mux_stream_html_a539d669d8a642c2fed6663c9d8014d94"><div class="ttname"><a href="../../d6/d16/struct_mux_stream.html#a539d669d8a642c2fed6663c9d8014d94">MuxStream::max_frames</a></div><div class="ttdeci">int64_t max_frames</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00113">fftools_ffmpeg_mux.h:113</a></div></div>
<div class="ttc" id="astruct_mux_stream_html_a54f2e7eeb2dd33a33d0da854310b7422"><div class="ttname"><a href="../../d6/d16/struct_mux_stream.html#a54f2e7eeb2dd33a33d0da854310b7422">MuxStream::muxing_queue</a></div><div class="ttdeci">AVFifo * muxing_queue</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00107">fftools_ffmpeg_mux.h:107</a></div></div>
<div class="ttc" id="astruct_mux_stream_html_a8cf67909b63d01d0a8797a058515b58f"><div class="ttname"><a href="../../d6/d16/struct_mux_stream.html#a8cf67909b63d01d0a8797a058515b58f">MuxStream::max_muxing_queue_size</a></div><div class="ttdeci">int max_muxing_queue_size</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00121">fftools_ffmpeg_mux.h:121</a></div></div>
<div class="ttc" id="astruct_mux_stream_html_ab2a9ae6f9309fc83a105ff48cd0b764e"><div class="ttname"><a href="../../d6/d16/struct_mux_stream.html#ab2a9ae6f9309fc83a105ff48cd0b764e">MuxStream::muxing_queue_data_size</a></div><div class="ttdeci">size_t muxing_queue_data_size</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00119">fftools_ffmpeg_mux.h:119</a></div></div>
<div class="ttc" id="astruct_mux_stream_html_ad056cc675c397f488ccd4aa417697b29"><div class="ttname"><a href="../../d6/d16/struct_mux_stream.html#ad056cc675c397f488ccd4aa417697b29">MuxStream::muxing_queue_data_threshold</a></div><div class="ttdeci">size_t muxing_queue_data_threshold</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00124">fftools_ffmpeg_mux.h:124</a></div></div>
<div class="ttc" id="astruct_mux_stream_html_ad87754841671e7fcf501063f067535e7"><div class="ttname"><a href="../../d6/d16/struct_mux_stream.html#ad87754841671e7fcf501063f067535e7">MuxStream::last_mux_dts</a></div><div class="ttdeci">int64_t last_mux_dts</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00128">fftools_ffmpeg_mux.h:128</a></div></div>
<div class="ttc" id="astruct_mux_stream_html_ae5bcde701f969a60e667a2b0946c4c0d"><div class="ttname"><a href="../../d6/d16/struct_mux_stream.html#ae5bcde701f969a60e667a2b0946c4c0d">MuxStream::stats</a></div><div class="ttdeci">EncStats stats</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00111">fftools_ffmpeg_mux.h:111</a></div></div>
<div class="ttc" id="astruct_muxer_html"><div class="ttname"><a href="../../de/d29/struct_muxer.html">Muxer</a></div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00131">fftools_ffmpeg_mux.h:131</a></div></div>
<div class="ttc" id="astruct_muxer_html_a19f942b28bdb85a1affb699f9af2b834"><div class="ttname"><a href="../../de/d29/struct_muxer.html#a19f942b28bdb85a1affb699f9af2b834">Muxer::opts</a></div><div class="ttdeci">AVDictionary * opts</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00142">fftools_ffmpeg_mux.h:142</a></div></div>
<div class="ttc" id="astruct_muxer_html_a352cad64ec3cd752c01dbfd5ba11c04f"><div class="ttname"><a href="../../de/d29/struct_muxer.html#a352cad64ec3cd752c01dbfd5ba11c04f">Muxer::of</a></div><div class="ttdeci">OutputFile of</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00132">fftools_ffmpeg_mux.h:132</a></div></div>
<div class="ttc" id="astruct_muxer_html_a3fd10b541d8f8e33c97e2ab9cc66f910"><div class="ttname"><a href="../../de/d29/struct_muxer.html#a3fd10b541d8f8e33c97e2ab9cc66f910">Muxer::thread_queue_size</a></div><div class="ttdeci">int thread_queue_size</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00144">fftools_ffmpeg_mux.h:144</a></div></div>
<div class="ttc" id="astruct_muxer_html_a4be4ab1620783e1ebd4e8c52dd93160f"><div class="ttname"><a href="../../de/d29/struct_muxer.html#a4be4ab1620783e1ebd4e8c52dd93160f">Muxer::last_filesize</a></div><div class="ttdeci">atomic_int_least64_t last_filesize</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00148">fftools_ffmpeg_mux.h:148</a></div></div>
<div class="ttc" id="astruct_muxer_html_a5ad40082372f67f798723f4862e636ea"><div class="ttname"><a href="../../de/d29/struct_muxer.html#a5ad40082372f67f798723f4862e636ea">Muxer::sq_pkt</a></div><div class="ttdeci">AVPacket * sq_pkt</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00152">fftools_ffmpeg_mux.h:152</a></div></div>
<div class="ttc" id="astruct_muxer_html_a67ba82cbb682a3fa63b7a023c456bf32"><div class="ttname"><a href="../../de/d29/struct_muxer.html#a67ba82cbb682a3fa63b7a023c456bf32">Muxer::header_written</a></div><div class="ttdeci">int header_written</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00149">fftools_ffmpeg_mux.h:149</a></div></div>
<div class="ttc" id="astruct_muxer_html_a70d8694c3b50e278d632382b4829d7fd"><div class="ttname"><a href="../../de/d29/struct_muxer.html#a70d8694c3b50e278d632382b4829d7fd">Muxer::tq</a></div><div class="ttdeci">ThreadQueue * tq</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00140">fftools_ffmpeg_mux.h:140</a></div></div>
<div class="ttc" id="astruct_muxer_html_a73312ab28842f8a39a412d43f59d3c70"><div class="ttname"><a href="../../de/d29/struct_muxer.html#a73312ab28842f8a39a412d43f59d3c70">Muxer::log_name</a></div><div class="ttdeci">char log_name[32]</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00135">fftools_ffmpeg_mux.h:135</a></div></div>
<div class="ttc" id="astruct_muxer_html_aaa259c549cf601c61ed87614ab81d6c0"><div class="ttname"><a href="../../de/d29/struct_muxer.html#aaa259c549cf601c61ed87614ab81d6c0">Muxer::sq_mux</a></div><div class="ttdeci">SyncQueue * sq_mux</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00151">fftools_ffmpeg_mux.h:151</a></div></div>
<div class="ttc" id="astruct_muxer_html_ab542b8fb49305eeb5da3d390fbdb7488"><div class="ttname"><a href="../../de/d29/struct_muxer.html#ab542b8fb49305eeb5da3d390fbdb7488">Muxer::fc</a></div><div class="ttdeci">AVFormatContext * fc</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00137">fftools_ffmpeg_mux.h:137</a></div></div>
<div class="ttc" id="astruct_muxer_html_ae3b13dfc7ebf351b10b0edcac2a67feb"><div class="ttname"><a href="../../de/d29/struct_muxer.html#ae3b13dfc7ebf351b10b0edcac2a67feb">Muxer::thread</a></div><div class="ttdeci">pthread_t thread</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00139">fftools_ffmpeg_mux.h:139</a></div></div>
<div class="ttc" id="astruct_muxer_html_af393951b0a0abffb231333ef06b0de0e"><div class="ttname"><a href="../../de/d29/struct_muxer.html#af393951b0a0abffb231333ef06b0de0e">Muxer::limit_filesize</a></div><div class="ttdeci">int64_t limit_filesize</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00147">fftools_ffmpeg_mux.h:147</a></div></div>
<div class="ttc" id="astruct_output_file_html"><div class="ttname"><a href="../../de/df2/struct_output_file.html">OutputFile</a></div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00741">fftools_ffmpeg.h:741</a></div></div>
<div class="ttc" id="astruct_output_stream_html"><div class="ttname"><a href="../../db/dde/struct_output_stream.html">OutputStream</a></div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00611">fftools_ffmpeg.h:611</a></div></div>
<div class="ttc" id="astruct_sync_queue_html"><div class="ttname"><a href="../../d9/d28/struct_sync_queue.html">SyncQueue</a></div><div class="ttdef"><b>Definition</b> <a href="../../df/dbb/fftools__sync__queue_8c_source.html#l00059">fftools_sync_queue.c:59</a></div></div>
<div class="ttc" id="astruct_thread_queue_html"><div class="ttname"><a href="../../d9/db4/struct_thread_queue.html">ThreadQueue</a></div><div class="ttdef"><b>Definition</b> <a href="../../dc/d56/fftools__thread__queue_8c_source.html#l00056">fftools_thread_queue.c:56</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Aug 22 2023 01:27:12 for FFmpegKit Linux API by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
</small></address>
</body>
</html>
@@ -0,0 +1,163 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>FFmpegKit Linux API: HWAccel Struct Reference</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/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></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 id="projectlogo"><img alt="Logo" src="../../ffmpeg-kit-icon-v9-small.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">FFmpegKit Linux API
&#160;<span id="projectnumber">4.5.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</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><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-attribs">Data Fields</a> </div>
<div class="headertitle">
<div class="title">HWAccel Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr class="memitem:a82d8cefa2fe98d73edc28eb129b9c510"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d37/struct_h_w_accel.html#a82d8cefa2fe98d73edc28eb129b9c510">name</a></td></tr>
<tr class="separator:a82d8cefa2fe98d73edc28eb129b9c510"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6524d8c42550b3b71408c216d0c8698a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d37/struct_h_w_accel.html#a6524d8c42550b3b71408c216d0c8698a">init</a> )(AVCodecContext *s)</td></tr>
<tr class="separator:a6524d8c42550b3b71408c216d0c8698a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34f08a5231e54a2fb677aa07bfc2f2b8"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="../../d7/db3/fftools__ffmpeg_8h.html#a0804b6530666fd8d5f4e4193ee1d205f">HWAccelID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d37/struct_h_w_accel.html#a34f08a5231e54a2fb677aa07bfc2f2b8">id</a></td></tr>
<tr class="separator:a34f08a5231e54a2fb677aa07bfc2f2b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a379aaf6aad89d4c2036baf423e3bbb5e"><td class="memItemLeft" align="right" valign="top">enum AVPixelFormat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d37/struct_h_w_accel.html#a379aaf6aad89d4c2036baf423e3bbb5e">pix_fmt</a></td></tr>
<tr class="separator:a379aaf6aad89d4c2036baf423e3bbb5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p class="definition">Definition at line <a class="el" href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00089">89</a> of file <a class="el" href="../../d7/db3/fftools__ffmpeg_8h_source.html">fftools_ffmpeg.h</a>.</p>
</div><h2 class="groupheader">Field Documentation</h2>
<a id="a34f08a5231e54a2fb677aa07bfc2f2b8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a34f08a5231e54a2fb677aa07bfc2f2b8">&#9670;&nbsp;</a></span>id</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="../../d7/db3/fftools__ffmpeg_8h.html#a0804b6530666fd8d5f4e4193ee1d205f">HWAccelID</a> HWAccel::id</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00092">92</a> of file <a class="el" href="../../d7/db3/fftools__ffmpeg_8h_source.html">fftools_ffmpeg.h</a>.</p>
</div>
</div>
<a id="a6524d8c42550b3b71408c216d0c8698a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6524d8c42550b3b71408c216d0c8698a">&#9670;&nbsp;</a></span>init</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a>(* HWAccel::init) (AVCodecContext *s)</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00091">91</a> of file <a class="el" href="../../d7/db3/fftools__ffmpeg_8h_source.html">fftools_ffmpeg.h</a>.</p>
</div>
</div>
<a id="a82d8cefa2fe98d73edc28eb129b9c510"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a82d8cefa2fe98d73edc28eb129b9c510">&#9670;&nbsp;</a></span>name</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char* HWAccel::name</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00090">90</a> of file <a class="el" href="../../d7/db3/fftools__ffmpeg_8h_source.html">fftools_ffmpeg.h</a>.</p>
</div>
</div>
<a id="a379aaf6aad89d4c2036baf423e3bbb5e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a379aaf6aad89d4c2036baf423e3bbb5e">&#9670;&nbsp;</a></span>pix_fmt</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum AVPixelFormat HWAccel::pix_fmt</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00093">93</a> of file <a class="el" href="../../d7/db3/fftools__ffmpeg_8h_source.html">fftools_ffmpeg.h</a>.</p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="../../d7/db3/fftools__ffmpeg_8h_source.html">fftools_ffmpeg.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Aug 15 2022 23:59:53 for FFmpegKit Linux API by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>
@@ -0,0 +1,701 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>FFmpegKit Linux API: ffmpegkit::FFprobeKit Class Reference</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/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></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 id="projectrow">
<td id="projectlogo"><img alt="Logo" src="../../ffmpeg-kit-icon-v9-small.png"/></td>
<td id="projectalign">
<div id="projectname">FFmpegKit Linux API<span id="projectnumber">&#160;6.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../d2/d25/namespaceffmpegkit.html">ffmpegkit</a></li><li class="navelem"><a class="el" href="../../df/d3f/classffmpegkit_1_1_f_fprobe_kit.html">FFprobeKit</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-static-methods">Static Public Member Functions</a> </div>
<div class="headertitle"><div class="title">ffmpegkit::FFprobeKit Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="../../d4/dad/_f_fprobe_kit_8h_source.html">FFprobeKit.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:ad496ab99f90ad92fe614cb99b9637880"><td class="memItemLeft" align="right" valign="top">static std::shared_ptr&lt; <a class="el" href="../../da/d5c/classffmpegkit_1_1_f_fprobe_session.html">ffmpegkit::FFprobeSession</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d3f/classffmpegkit_1_1_f_fprobe_kit.html#ad496ab99f90ad92fe614cb99b9637880">executeWithArguments</a> (const std::list&lt; std::string &gt; &amp;arguments)</td></tr>
<tr class="separator:ad496ab99f90ad92fe614cb99b9637880"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5685bf39272418fb70232abde76cdab7"><td class="memItemLeft" align="right" valign="top">static std::shared_ptr&lt; <a class="el" href="../../da/d5c/classffmpegkit_1_1_f_fprobe_session.html">ffmpegkit::FFprobeSession</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d3f/classffmpegkit_1_1_f_fprobe_kit.html#a5685bf39272418fb70232abde76cdab7">executeWithArgumentsAsync</a> (const std::list&lt; std::string &gt; &amp;arguments, <a class="el" href="../../d2/d25/namespaceffmpegkit.html#af3f451cbb99c4dc36e2e2141a33cdf38">FFprobeSessionCompleteCallback</a> completeCallback)</td></tr>
<tr class="separator:a5685bf39272418fb70232abde76cdab7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63f21b9dcd5d721ce0f07982a91c411b"><td class="memItemLeft" align="right" valign="top">static std::shared_ptr&lt; <a class="el" href="../../da/d5c/classffmpegkit_1_1_f_fprobe_session.html">ffmpegkit::FFprobeSession</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d3f/classffmpegkit_1_1_f_fprobe_kit.html#a63f21b9dcd5d721ce0f07982a91c411b">executeWithArgumentsAsync</a> (const std::list&lt; std::string &gt; &amp;arguments, <a class="el" href="../../d2/d25/namespaceffmpegkit.html#af3f451cbb99c4dc36e2e2141a33cdf38">FFprobeSessionCompleteCallback</a> completeCallback, <a class="el" href="../../d2/d25/namespaceffmpegkit.html#a961de60de61ed79c2c7dfee08c9fa939">ffmpegkit::LogCallback</a> <a class="el" href="../../d8/d45/_f_fmpeg_kit_config_8cpp.html#a7e70dcb2518bb21bffb91bdd7133d329">logCallback</a>)</td></tr>
<tr class="separator:a63f21b9dcd5d721ce0f07982a91c411b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbc72f1fbafb91a5e8f8d5ddfd4cba7e"><td class="memItemLeft" align="right" valign="top">static std::shared_ptr&lt; <a class="el" href="../../da/d5c/classffmpegkit_1_1_f_fprobe_session.html">ffmpegkit::FFprobeSession</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d3f/classffmpegkit_1_1_f_fprobe_kit.html#afbc72f1fbafb91a5e8f8d5ddfd4cba7e">execute</a> (const std::string command)</td></tr>
<tr class="separator:afbc72f1fbafb91a5e8f8d5ddfd4cba7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac71efc2144fdcd99b3daf5abf886e317"><td class="memItemLeft" align="right" valign="top">static std::shared_ptr&lt; <a class="el" href="../../da/d5c/classffmpegkit_1_1_f_fprobe_session.html">ffmpegkit::FFprobeSession</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d3f/classffmpegkit_1_1_f_fprobe_kit.html#ac71efc2144fdcd99b3daf5abf886e317">executeAsync</a> (const std::string command, <a class="el" href="../../d2/d25/namespaceffmpegkit.html#af3f451cbb99c4dc36e2e2141a33cdf38">FFprobeSessionCompleteCallback</a> completeCallback)</td></tr>
<tr class="separator:ac71efc2144fdcd99b3daf5abf886e317"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed95fef44b783eda6141c64d389a7bce"><td class="memItemLeft" align="right" valign="top">static std::shared_ptr&lt; <a class="el" href="../../da/d5c/classffmpegkit_1_1_f_fprobe_session.html">ffmpegkit::FFprobeSession</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d3f/classffmpegkit_1_1_f_fprobe_kit.html#aed95fef44b783eda6141c64d389a7bce">executeAsync</a> (const std::string command, <a class="el" href="../../d2/d25/namespaceffmpegkit.html#af3f451cbb99c4dc36e2e2141a33cdf38">FFprobeSessionCompleteCallback</a> completeCallback, <a class="el" href="../../d2/d25/namespaceffmpegkit.html#a961de60de61ed79c2c7dfee08c9fa939">ffmpegkit::LogCallback</a> <a class="el" href="../../d8/d45/_f_fmpeg_kit_config_8cpp.html#a7e70dcb2518bb21bffb91bdd7133d329">logCallback</a>)</td></tr>
<tr class="separator:aed95fef44b783eda6141c64d389a7bce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4209a1e1730019b6e59f6fbd08d5604c"><td class="memItemLeft" align="right" valign="top">static std::shared_ptr&lt; <a class="el" href="../../df/db7/classffmpegkit_1_1_media_information_session.html">ffmpegkit::MediaInformationSession</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d3f/classffmpegkit_1_1_f_fprobe_kit.html#a4209a1e1730019b6e59f6fbd08d5604c">getMediaInformation</a> (const std::string path)</td></tr>
<tr class="separator:a4209a1e1730019b6e59f6fbd08d5604c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71cd562f26f7552685745dd233994483"><td class="memItemLeft" align="right" valign="top">static std::shared_ptr&lt; <a class="el" href="../../df/db7/classffmpegkit_1_1_media_information_session.html">ffmpegkit::MediaInformationSession</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d3f/classffmpegkit_1_1_f_fprobe_kit.html#a71cd562f26f7552685745dd233994483">getMediaInformation</a> (const std::string path, const <a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a> waitTimeout)</td></tr>
<tr class="separator:a71cd562f26f7552685745dd233994483"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe71f0fd406cca0049f79e92948a281b"><td class="memItemLeft" align="right" valign="top">static std::shared_ptr&lt; <a class="el" href="../../df/db7/classffmpegkit_1_1_media_information_session.html">ffmpegkit::MediaInformationSession</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d3f/classffmpegkit_1_1_f_fprobe_kit.html#afe71f0fd406cca0049f79e92948a281b">getMediaInformationAsync</a> (const std::string path, <a class="el" href="../../d2/d25/namespaceffmpegkit.html#a909392d52220d37ab6e39bd7f4d6abb1">MediaInformationSessionCompleteCallback</a> completeCallback)</td></tr>
<tr class="separator:afe71f0fd406cca0049f79e92948a281b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5297c7a1732d87a8da9232bbf62cddf4"><td class="memItemLeft" align="right" valign="top">static std::shared_ptr&lt; <a class="el" href="../../df/db7/classffmpegkit_1_1_media_information_session.html">ffmpegkit::MediaInformationSession</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d3f/classffmpegkit_1_1_f_fprobe_kit.html#a5297c7a1732d87a8da9232bbf62cddf4">getMediaInformationAsync</a> (const std::string path, <a class="el" href="../../d2/d25/namespaceffmpegkit.html#a909392d52220d37ab6e39bd7f4d6abb1">MediaInformationSessionCompleteCallback</a> completeCallback, <a class="el" href="../../d2/d25/namespaceffmpegkit.html#a961de60de61ed79c2c7dfee08c9fa939">ffmpegkit::LogCallback</a> <a class="el" href="../../d8/d45/_f_fmpeg_kit_config_8cpp.html#a7e70dcb2518bb21bffb91bdd7133d329">logCallback</a>, const <a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a> waitTimeout)</td></tr>
<tr class="separator:a5297c7a1732d87a8da9232bbf62cddf4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6854d0a8008dc27f59d02f4b43e753ec"><td class="memItemLeft" align="right" valign="top">static std::shared_ptr&lt; <a class="el" href="../../df/db7/classffmpegkit_1_1_media_information_session.html">ffmpegkit::MediaInformationSession</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d3f/classffmpegkit_1_1_f_fprobe_kit.html#a6854d0a8008dc27f59d02f4b43e753ec">getMediaInformationFromCommand</a> (const std::string command)</td></tr>
<tr class="separator:a6854d0a8008dc27f59d02f4b43e753ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec0c1a0ef90a48f8e51630dfd77da6ce"><td class="memItemLeft" align="right" valign="top">static std::shared_ptr&lt; std::list&lt; std::shared_ptr&lt; <a class="el" href="../../da/d5c/classffmpegkit_1_1_f_fprobe_session.html">ffmpegkit::FFprobeSession</a> &gt; &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d3f/classffmpegkit_1_1_f_fprobe_kit.html#aec0c1a0ef90a48f8e51630dfd77da6ce">listFFprobeSessions</a> ()</td></tr>
<tr class="separator:aec0c1a0ef90a48f8e51630dfd77da6ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3407c34719eee4dbfe76340c856ce691"><td class="memItemLeft" align="right" valign="top">static std::shared_ptr&lt; std::list&lt; std::shared_ptr&lt; <a class="el" href="../../df/db7/classffmpegkit_1_1_media_information_session.html">ffmpegkit::MediaInformationSession</a> &gt; &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d3f/classffmpegkit_1_1_f_fprobe_kit.html#a3407c34719eee4dbfe76340c856ce691">listMediaInformationSessions</a> ()</td></tr>
<tr class="separator:a3407c34719eee4dbfe76340c856ce691"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Main class to run <code>FFprobe</code> commands. Supports executing commands both synchronously and asynchronously. </p><pre>
auto session = <a class="el" href="../../df/d3f/classffmpegkit_1_1_f_fprobe_kit.html#afbc72f1fbafb91a5e8f8d5ddfd4cba7e">FFprobeKit::execute</a>("-hide_banner -v error -show_entries format=size -of default=noprint_wrappers=1 file1.mp4");
auto asyncSession = <a class="el" href="../../df/d3f/classffmpegkit_1_1_f_fprobe_kit.html#ac71efc2144fdcd99b3daf5abf886e317">FFprobeKit::executeAsync</a>("-hide_banner -v error -show_entries format=size -of default=noprint_wrappers=1 file1.mp4", [](auto session){ ... });
</pre> <p>Provides overloaded <code>execute</code> methods to define session specific callbacks. </p><pre>
auto session = <a class="el" href="../../df/d3f/classffmpegkit_1_1_f_fprobe_kit.html#ac71efc2144fdcd99b3daf5abf886e317">FFprobeKit::executeAsync</a>("-hide_banner -v error -show_entries format=size -of default=noprint_wrappers=1 file1.mp4", [](auto session){ ... }, [](auto log){ ... }];
</pre> <p>It can extract media information for a file or a url, using getMediaInformation method. </p><pre>
auto session = <a class="el" href="../../df/d3f/classffmpegkit_1_1_f_fprobe_kit.html#a4209a1e1730019b6e59f6fbd08d5604c">FFprobeKit::getMediaInformation</a>("file1.mp4");
</pre>
<p class="definition">Definition at line <a class="el" href="../../d4/dad/_f_fprobe_kit_8h_source.html#l00048">48</a> of file <a class="el" href="../../d4/dad/_f_fprobe_kit_8h_source.html">FFprobeKit.h</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="afbc72f1fbafb91a5e8f8d5ddfd4cba7e" name="afbc72f1fbafb91a5e8f8d5ddfd4cba7e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afbc72f1fbafb91a5e8f8d5ddfd4cba7e">&#9670;&#160;</a></span>execute()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt; <a class="el" href="../../da/d5c/classffmpegkit_1_1_f_fprobe_session.html">ffmpegkit::FFprobeSession</a> &gt; ffmpegkit::FFprobeKit::execute </td>
<td>(</td>
<td class="paramtype">const std::string&#160;</td>
<td class="paramname"><em>command</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Synchronously executes FFprobe command provided. Space character is used to split command into arguments. You can use single or double quote characters to specify arguments inside your command.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">command</td><td>FFprobe command </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>FFprobe session created for this execution </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../d0/dc3/_f_fprobe_kit_8cpp_source.html#l00050">50</a> of file <a class="el" href="../../d0/dc3/_f_fprobe_kit_8cpp_source.html">FFprobeKit.cpp</a>.</p>
</div>
</div>
<a id="ac71efc2144fdcd99b3daf5abf886e317" name="ac71efc2144fdcd99b3daf5abf886e317"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac71efc2144fdcd99b3daf5abf886e317">&#9670;&#160;</a></span>executeAsync() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt; <a class="el" href="../../da/d5c/classffmpegkit_1_1_f_fprobe_session.html">ffmpegkit::FFprobeSession</a> &gt; ffmpegkit::FFprobeKit::executeAsync </td>
<td>(</td>
<td class="paramtype">const std::string&#160;</td>
<td class="paramname"><em>command</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/d25/namespaceffmpegkit.html#af3f451cbb99c4dc36e2e2141a33cdf38">FFprobeSessionCompleteCallback</a>&#160;</td>
<td class="paramname"><em>completeCallback</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Starts an asynchronous FFprobe execution for the given command. Space character is used to split the command into arguments. You can use single or double quote characters to specify arguments inside your command.</p>
<p>Note that this method returns immediately and does not wait the execution to complete. You must use an FFprobeSessionCompleteCallback if you want to be notified about the result.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">command</td><td>FFprobe command </td></tr>
<tr><td class="paramname">completeCallback</td><td>callback that will be called when the execution has completed </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>FFprobe session created for this execution </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../d0/dc3/_f_fprobe_kit_8cpp_source.html#l00056">56</a> of file <a class="el" href="../../d0/dc3/_f_fprobe_kit_8cpp_source.html">FFprobeKit.cpp</a>.</p>
</div>
</div>
<a id="aed95fef44b783eda6141c64d389a7bce" name="aed95fef44b783eda6141c64d389a7bce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aed95fef44b783eda6141c64d389a7bce">&#9670;&#160;</a></span>executeAsync() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt; <a class="el" href="../../da/d5c/classffmpegkit_1_1_f_fprobe_session.html">ffmpegkit::FFprobeSession</a> &gt; ffmpegkit::FFprobeKit::executeAsync </td>
<td>(</td>
<td class="paramtype">const std::string&#160;</td>
<td class="paramname"><em>command</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/d25/namespaceffmpegkit.html#af3f451cbb99c4dc36e2e2141a33cdf38">FFprobeSessionCompleteCallback</a>&#160;</td>
<td class="paramname"><em>completeCallback</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/d25/namespaceffmpegkit.html#a961de60de61ed79c2c7dfee08c9fa939">ffmpegkit::LogCallback</a>&#160;</td>
<td class="paramname"><em>logCallback</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Starts an asynchronous FFprobe execution for the given command. Space character is used to split the command into arguments. You can use single or double quote characters to specify arguments inside your command.</p>
<p>Note that this method returns immediately and does not wait the execution to complete. You must use an FFprobeSessionCompleteCallback if you want to be notified about the result.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">command</td><td>FFprobe command </td></tr>
<tr><td class="paramname">completeCallback</td><td>callback that will be notified when execution has completed </td></tr>
<tr><td class="paramname">logCallback</td><td>callback that will receive logs </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>FFprobe session created for this execution </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../d0/dc3/_f_fprobe_kit_8cpp_source.html#l00062">62</a> of file <a class="el" href="../../d0/dc3/_f_fprobe_kit_8cpp_source.html">FFprobeKit.cpp</a>.</p>
</div>
</div>
<a id="ad496ab99f90ad92fe614cb99b9637880" name="ad496ab99f90ad92fe614cb99b9637880"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad496ab99f90ad92fe614cb99b9637880">&#9670;&#160;</a></span>executeWithArguments()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt; <a class="el" href="../../da/d5c/classffmpegkit_1_1_f_fprobe_session.html">ffmpegkit::FFprobeSession</a> &gt; ffmpegkit::FFprobeKit::executeWithArguments </td>
<td>(</td>
<td class="paramtype">const std::list&lt; std::string &gt; &amp;&#160;</td>
<td class="paramname"><em>arguments</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Synchronously executes FFprobe with arguments provided.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">arguments</td><td>FFprobe command options/arguments as string array </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>FFprobe session created for this execution </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../d0/dc3/_f_fprobe_kit_8cpp_source.html#l00032">32</a> of file <a class="el" href="../../d0/dc3/_f_fprobe_kit_8cpp_source.html">FFprobeKit.cpp</a>.</p>
</div>
</div>
<a id="a5685bf39272418fb70232abde76cdab7" name="a5685bf39272418fb70232abde76cdab7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5685bf39272418fb70232abde76cdab7">&#9670;&#160;</a></span>executeWithArgumentsAsync() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt; <a class="el" href="../../da/d5c/classffmpegkit_1_1_f_fprobe_session.html">ffmpegkit::FFprobeSession</a> &gt; ffmpegkit::FFprobeKit::executeWithArgumentsAsync </td>
<td>(</td>
<td class="paramtype">const std::list&lt; std::string &gt; &amp;&#160;</td>
<td class="paramname"><em>arguments</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/d25/namespaceffmpegkit.html#af3f451cbb99c4dc36e2e2141a33cdf38">FFprobeSessionCompleteCallback</a>&#160;</td>
<td class="paramname"><em>completeCallback</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Starts an asynchronous FFprobe execution with arguments provided.</p>
<p>Note that this method returns immediately and does not wait the execution to complete. You must use an FFprobeSessionCompleteCallback if you want to be notified about the result.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">arguments</td><td>FFprobe command options/arguments as string array </td></tr>
<tr><td class="paramname">completeCallback</td><td>callback that will be called when the execution has completed </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>FFprobe session created for this execution </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../d0/dc3/_f_fprobe_kit_8cpp_source.html#l00038">38</a> of file <a class="el" href="../../d0/dc3/_f_fprobe_kit_8cpp_source.html">FFprobeKit.cpp</a>.</p>
</div>
</div>
<a id="a63f21b9dcd5d721ce0f07982a91c411b" name="a63f21b9dcd5d721ce0f07982a91c411b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a63f21b9dcd5d721ce0f07982a91c411b">&#9670;&#160;</a></span>executeWithArgumentsAsync() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt; <a class="el" href="../../da/d5c/classffmpegkit_1_1_f_fprobe_session.html">ffmpegkit::FFprobeSession</a> &gt; ffmpegkit::FFprobeKit::executeWithArgumentsAsync </td>
<td>(</td>
<td class="paramtype">const std::list&lt; std::string &gt; &amp;&#160;</td>
<td class="paramname"><em>arguments</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/d25/namespaceffmpegkit.html#af3f451cbb99c4dc36e2e2141a33cdf38">FFprobeSessionCompleteCallback</a>&#160;</td>
<td class="paramname"><em>completeCallback</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/d25/namespaceffmpegkit.html#a961de60de61ed79c2c7dfee08c9fa939">ffmpegkit::LogCallback</a>&#160;</td>
<td class="paramname"><em>logCallback</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Starts an asynchronous FFprobe execution with arguments provided.</p>
<p>Note that this method returns immediately and does not wait the execution to complete. You must use an FFprobeSessionCompleteCallback if you want to be notified about the result.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">arguments</td><td>FFprobe command options/arguments as string array </td></tr>
<tr><td class="paramname">completeCallback</td><td>callback that will be notified when execution has completed </td></tr>
<tr><td class="paramname">logCallback</td><td>callback that will receive logs </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>FFprobe session created for this execution </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../d0/dc3/_f_fprobe_kit_8cpp_source.html#l00044">44</a> of file <a class="el" href="../../d0/dc3/_f_fprobe_kit_8cpp_source.html">FFprobeKit.cpp</a>.</p>
</div>
</div>
<a id="a4209a1e1730019b6e59f6fbd08d5604c" name="a4209a1e1730019b6e59f6fbd08d5604c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4209a1e1730019b6e59f6fbd08d5604c">&#9670;&#160;</a></span>getMediaInformation() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt; <a class="el" href="../../df/db7/classffmpegkit_1_1_media_information_session.html">ffmpegkit::MediaInformationSession</a> &gt; ffmpegkit::FFprobeKit::getMediaInformation </td>
<td>(</td>
<td class="paramtype">const std::string&#160;</td>
<td class="paramname"><em>path</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Extracts media information for the file specified with path.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">path</td><td>path or uri of a media file </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>media information session created for this execution </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../d0/dc3/_f_fprobe_kit_8cpp_source.html#l00068">68</a> of file <a class="el" href="../../d0/dc3/_f_fprobe_kit_8cpp_source.html">FFprobeKit.cpp</a>.</p>
</div>
</div>
<a id="a71cd562f26f7552685745dd233994483" name="a71cd562f26f7552685745dd233994483"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a71cd562f26f7552685745dd233994483">&#9670;&#160;</a></span>getMediaInformation() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt; <a class="el" href="../../df/db7/classffmpegkit_1_1_media_information_session.html">ffmpegkit::MediaInformationSession</a> &gt; ffmpegkit::FFprobeKit::getMediaInformation </td>
<td>(</td>
<td class="paramtype">const std::string&#160;</td>
<td class="paramname"><em>path</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a>&#160;</td>
<td class="paramname"><em>waitTimeout</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Extracts media information for the file specified with path.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">path</td><td>path or uri of a media file </td></tr>
<tr><td class="paramname">waitTimeout</td><td>max time to wait until media information is transmitted </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>media information session created for this execution </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../d0/dc3/_f_fprobe_kit_8cpp_source.html#l00075">75</a> of file <a class="el" href="../../d0/dc3/_f_fprobe_kit_8cpp_source.html">FFprobeKit.cpp</a>.</p>
</div>
</div>
<a id="afe71f0fd406cca0049f79e92948a281b" name="afe71f0fd406cca0049f79e92948a281b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afe71f0fd406cca0049f79e92948a281b">&#9670;&#160;</a></span>getMediaInformationAsync() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt; <a class="el" href="../../df/db7/classffmpegkit_1_1_media_information_session.html">ffmpegkit::MediaInformationSession</a> &gt; ffmpegkit::FFprobeKit::getMediaInformationAsync </td>
<td>(</td>
<td class="paramtype">const std::string&#160;</td>
<td class="paramname"><em>path</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/d25/namespaceffmpegkit.html#a909392d52220d37ab6e39bd7f4d6abb1">MediaInformationSessionCompleteCallback</a>&#160;</td>
<td class="paramname"><em>completeCallback</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Starts an asynchronous FFprobe execution to extract the media information for the specified file.</p>
<p>Note that this method returns immediately and does not wait the execution to complete. You must use an MediaInformationSessionCompleteCallback if you want to be notified about the result.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">path</td><td>path or uri of a media file </td></tr>
<tr><td class="paramname">completeCallback</td><td>callback that will be called when the execution has completed </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>media information session created for this execution </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../d0/dc3/_f_fprobe_kit_8cpp_source.html#l00082">82</a> of file <a class="el" href="../../d0/dc3/_f_fprobe_kit_8cpp_source.html">FFprobeKit.cpp</a>.</p>
</div>
</div>
<a id="a5297c7a1732d87a8da9232bbf62cddf4" name="a5297c7a1732d87a8da9232bbf62cddf4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5297c7a1732d87a8da9232bbf62cddf4">&#9670;&#160;</a></span>getMediaInformationAsync() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt; <a class="el" href="../../df/db7/classffmpegkit_1_1_media_information_session.html">ffmpegkit::MediaInformationSession</a> &gt; ffmpegkit::FFprobeKit::getMediaInformationAsync </td>
<td>(</td>
<td class="paramtype">const std::string&#160;</td>
<td class="paramname"><em>path</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/d25/namespaceffmpegkit.html#a909392d52220d37ab6e39bd7f4d6abb1">MediaInformationSessionCompleteCallback</a>&#160;</td>
<td class="paramname"><em>completeCallback</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/d25/namespaceffmpegkit.html#a961de60de61ed79c2c7dfee08c9fa939">ffmpegkit::LogCallback</a>&#160;</td>
<td class="paramname"><em>logCallback</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a>&#160;</td>
<td class="paramname"><em>waitTimeout</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Starts an asynchronous FFprobe execution to extract the media information for the specified file.</p>
<p>Note that this method returns immediately and does not wait the execution to complete. You must use an MediaInformationSessionCompleteCallback if you want to be notified about the result.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">path</td><td>path or uri of a media file </td></tr>
<tr><td class="paramname">completeCallback</td><td>callback that will be notified when execution has completed </td></tr>
<tr><td class="paramname">logCallback</td><td>callback that will receive logs </td></tr>
<tr><td class="paramname">waitTimeout</td><td>max time to wait until media information is transmitted </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>media information session created for this execution </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../d0/dc3/_f_fprobe_kit_8cpp_source.html#l00089">89</a> of file <a class="el" href="../../d0/dc3/_f_fprobe_kit_8cpp_source.html">FFprobeKit.cpp</a>.</p>
</div>
</div>
<a id="a6854d0a8008dc27f59d02f4b43e753ec" name="a6854d0a8008dc27f59d02f4b43e753ec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6854d0a8008dc27f59d02f4b43e753ec">&#9670;&#160;</a></span>getMediaInformationFromCommand()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt; <a class="el" href="../../df/db7/classffmpegkit_1_1_media_information_session.html">ffmpegkit::MediaInformationSession</a> &gt; ffmpegkit::FFprobeKit::getMediaInformationFromCommand </td>
<td>(</td>
<td class="paramtype">const std::string&#160;</td>
<td class="paramname"><em>command</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Extracts media information using the command provided asynchronously.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">command</td><td>FFprobe command that prints media information for a file in JSON format </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>media information session created for this execution </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../d0/dc3/_f_fprobe_kit_8cpp_source.html#l00096">96</a> of file <a class="el" href="../../d0/dc3/_f_fprobe_kit_8cpp_source.html">FFprobeKit.cpp</a>.</p>
</div>
</div>
<a id="aec0c1a0ef90a48f8e51630dfd77da6ce" name="aec0c1a0ef90a48f8e51630dfd77da6ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aec0c1a0ef90a48f8e51630dfd77da6ce">&#9670;&#160;</a></span>listFFprobeSessions()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt; std::list&lt; std::shared_ptr&lt; <a class="el" href="../../da/d5c/classffmpegkit_1_1_f_fprobe_session.html">ffmpegkit::FFprobeSession</a> &gt; &gt; &gt; ffmpegkit::FFprobeKit::listFFprobeSessions </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Lists all FFprobe sessions in the session history.</p>
<dl class="section return"><dt>Returns</dt><dd>all FFprobe sessions in the session history </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../d0/dc3/_f_fprobe_kit_8cpp_source.html#l00102">102</a> of file <a class="el" href="../../d0/dc3/_f_fprobe_kit_8cpp_source.html">FFprobeKit.cpp</a>.</p>
</div>
</div>
<a id="a3407c34719eee4dbfe76340c856ce691" name="a3407c34719eee4dbfe76340c856ce691"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3407c34719eee4dbfe76340c856ce691">&#9670;&#160;</a></span>listMediaInformationSessions()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt; std::list&lt; std::shared_ptr&lt; <a class="el" href="../../df/db7/classffmpegkit_1_1_media_information_session.html">ffmpegkit::MediaInformationSession</a> &gt; &gt; &gt; ffmpegkit::FFprobeKit::listMediaInformationSessions </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Lists all <a class="el" href="../../df/d06/classffmpegkit_1_1_media_information.html">MediaInformation</a> sessions in the session history.</p>
<dl class="section return"><dt>Returns</dt><dd>all <a class="el" href="../../df/d06/classffmpegkit_1_1_media_information.html">MediaInformation</a> sessions in the session history </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../d0/dc3/_f_fprobe_kit_8cpp_source.html#l00106">106</a> of file <a class="el" href="../../d0/dc3/_f_fprobe_kit_8cpp_source.html">FFprobeKit.cpp</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="../../d4/dad/_f_fprobe_kit_8h_source.html">FFprobeKit.h</a></li>
<li><a class="el" href="../../d0/dc3/_f_fprobe_kit_8cpp_source.html">FFprobeKit.cpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Aug 22 2023 01:27:12 for FFmpegKit Linux API by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
</small></address>
</body>
</html>
@@ -0,0 +1,110 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>FFmpegKit Linux API: ffmpegkit_exception.cpp File Reference</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/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></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 id="projectrow">
<td id="projectlogo"><img alt="Logo" src="../../ffmpeg-kit-icon-v9-small.png"/></td>
<td id="projectalign">
<div id="projectname">FFmpegKit Linux API<span id="projectnumber">&#160;6.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#var-members">Variables</a> </div>
<div class="headertitle"><div class="title">ffmpegkit_exception.cpp File Reference</div></div>
</div><!--header-->
<div class="contents">
<p><a href="../../df/d40/ffmpegkit__exception_8cpp_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a602bfc62417fcbda9f5e3e6604917b3c"><td class="memItemLeft" align="right" valign="top">__thread jmp_buf&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d40/ffmpegkit__exception_8cpp.html#a602bfc62417fcbda9f5e3e6604917b3c">ex_buf__</a></td></tr>
<tr class="separator:a602bfc62417fcbda9f5e3e6604917b3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Variable Documentation</h2>
<a id="a602bfc62417fcbda9f5e3e6604917b3c" name="a602bfc62417fcbda9f5e3e6604917b3c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a602bfc62417fcbda9f5e3e6604917b3c">&#9670;&#160;</a></span>ex_buf__</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">__thread jmp_buf ex_buf__</td>
</tr>
</table>
</div><div class="memdoc">
<p>Holds information to implement exception handling. </p>
<p class="definition">Definition at line <a class="el" href="../../df/d40/ffmpegkit__exception_8cpp_source.html#l00023">23</a> of file <a class="el" href="../../df/d40/ffmpegkit__exception_8cpp_source.html">ffmpegkit_exception.cpp</a>.</p>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Aug 22 2023 01:27:12 for FFmpegKit Linux API by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
</small></address>
</body>
</html>
@@ -0,0 +1,106 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>FFmpegKit Linux API: ffmpegkit_exception.cpp 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/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></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 id="projectrow">
<td id="projectlogo"><img alt="Logo" src="../../ffmpeg-kit-icon-v9-small.png"/></td>
<td id="projectalign">
<div id="projectname">FFmpegKit Linux API<span id="projectnumber">&#160;6.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">ffmpegkit_exception.cpp</div></div>
</div><!--header-->
<div class="contents">
<a href="../../df/d40/ffmpegkit__exception_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * Copyright (c) 2018-2022 Taner Sener</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> *</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> * This file is part of FFmpegKit.</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> *</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> * FFmpegKit is free software: you can redistribute it and/or modify</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> * it under the terms of the GNU Lesser General Public License as published by</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> * the Free Software Foundation, either version 3 of the License, or</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> * (at your option) any later version.</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> *</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> * FFmpegKit is distributed in the hope that it will be useful,</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment"> * GNU Lesser General Public License for more details.</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment"> *</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment"> * You should have received a copy of the GNU Lesser General Public License</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment"> * along with FFmpegKit. If not, see &lt;http://www.gnu.org/licenses/&gt;.</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment"> */</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#include &quot;<a class="code" href="../../d3/dad/ffmpegkit__exception_8h.html">ffmpegkit_exception.h</a>&quot;</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> </div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"><a class="line" href="../../df/d40/ffmpegkit__exception_8cpp.html#a602bfc62417fcbda9f5e3e6604917b3c"> 23</a></span>__thread jmp_buf <a class="code hl_variable" href="../../df/d40/ffmpegkit__exception_8cpp.html#a602bfc62417fcbda9f5e3e6604917b3c">ex_buf__</a>;</div>
<div class="ttc" id="affmpegkit__exception_8cpp_html_a602bfc62417fcbda9f5e3e6604917b3c"><div class="ttname"><a href="../../df/d40/ffmpegkit__exception_8cpp.html#a602bfc62417fcbda9f5e3e6604917b3c">ex_buf__</a></div><div class="ttdeci">__thread jmp_buf ex_buf__</div><div class="ttdef"><b>Definition</b> <a href="../../df/d40/ffmpegkit__exception_8cpp_source.html#l00023">ffmpegkit_exception.cpp:23</a></div></div>
<div class="ttc" id="affmpegkit__exception_8h_html"><div class="ttname"><a href="../../d3/dad/ffmpegkit__exception_8h.html">ffmpegkit_exception.h</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Aug 22 2023 01:27:12 for FFmpegKit Linux API by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
</small></address>
</body>
</html>
@@ -0,0 +1,98 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>FFmpegKit Linux API: FFmpegKitConfig.h File Reference</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/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></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 id="projectrow">
<td id="projectlogo"><img alt="Logo" src="../../ffmpeg-kit-icon-v9-small.png"/></td>
<td id="projectalign">
<div id="projectname">FFmpegKit Linux API<span id="projectnumber">&#160;6.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#namespaces">Namespaces</a> </div>
<div class="headertitle"><div class="title">FFmpegKitConfig.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<p><a href="../../df/d48/_f_fmpeg_kit_config_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html">ffmpegkit::FFmpegKitConfig</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:d2/d25/namespaceffmpegkit"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d25/namespaceffmpegkit.html">ffmpegkit</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Aug 22 2023 01:27:12 for FFmpegKit Linux API by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
</small></address>
</body>
</html>
@@ -0,0 +1,297 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>FFmpegKit Linux API: FFmpegKitConfig.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/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></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 id="projectrow">
<td id="projectlogo"><img alt="Logo" src="../../ffmpeg-kit-icon-v9-small.png"/></td>
<td id="projectalign">
<div id="projectname">FFmpegKit Linux API<span id="projectnumber">&#160;6.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">FFmpegKitConfig.h</div></div>
</div><!--header-->
<div class="contents">
<a href="../../df/d48/_f_fmpeg_kit_config_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * Copyright (c) 2022 Taner Sener</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> *</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> * This file is part of FFmpegKit.</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> *</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> * FFmpegKit is free software: you can redistribute it and/or modify</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> * it under the terms of the GNU Lesser General Public License as published by</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> * the Free Software Foundation, either version 3 of the License, or</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> * (at your option) any later version.</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> *</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> * FFmpegKit is distributed in the hope that it will be useful,</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment"> * GNU Lesser General Public License for more details.</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment"> *</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment"> * You should have received a copy of the GNU Lesser General Public License</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment"> * along with FFmpegKit. If not, see &lt;http://www.gnu.org/licenses/&gt;.</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment"> */</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#ifndef FFMPEG_KIT_CONFIG_H</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#define FFMPEG_KIT_CONFIG_H</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> </div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include &lt;stdio.h&gt;</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#include &lt;pthread.h&gt;</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#include &lt;unistd.h&gt;</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="preprocessor">#include &quot;<a class="code" href="../../d2/def/_f_fmpeg_session_8h.html">FFmpegSession.h</a>&quot;</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor">#include &quot;<a class="code" href="../../dc/da0/_f_fprobe_session_8h.html">FFprobeSession.h</a>&quot;</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="preprocessor">#include &quot;<a class="code" href="../../d2/d4b/_level_8h.html">Level.h</a>&quot;</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="preprocessor">#include &quot;<a class="code" href="../../d4/daf/_log_callback_8h.html">LogCallback.h</a>&quot;</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="preprocessor">#include &quot;<a class="code" href="../../dd/d69/_media_information_session_8h.html">MediaInformationSession.h</a>&quot;</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="preprocessor">#include &quot;<a class="code" href="../../d5/dce/_signal_8h.html">Signal.h</a>&quot;</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="preprocessor">#include &quot;<a class="code" href="../../d6/df1/_statistics_callback_8h.html">StatisticsCallback.h</a>&quot;</span></div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="preprocessor">#include &lt;map&gt;</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> </div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="keyword">namespace </span><a class="code hl_namespace" href="../../d2/d25/namespaceffmpegkit.html">ffmpegkit</a> {</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> </div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"><a class="line" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html"> 41</a></span> <span class="keyword">class </span><a class="code hl_class" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html">FFmpegKitConfig</a> {</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> </div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"><a class="line" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a4af42a82381a735af4c6f55955254d41"> 45</a></span> <span class="keyword">static</span> <span class="keyword">constexpr</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code hl_variable" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a4af42a82381a735af4c6f55955254d41">FFmpegKitVersion</a> = <span class="stringliteral">&quot;6.0&quot;</span>;</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> </div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"><a class="line" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a38d4506d418b9c33105c59a6976e0594"> 50</a></span> <span class="keyword">static</span> <span class="keyword">constexpr</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code hl_variable" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a38d4506d418b9c33105c59a6976e0594">FFmpegKitNamedPipePrefix</a> = <span class="stringliteral">&quot;fk_pipe_&quot;</span>;</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> </div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a38276361e645da189554ab37bc9a7b82">enableRedirection</a>();</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> </div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a0f689e39aeed46117bccbd88cb825b9b">disableRedirection</a>();</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> </div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#ad720fc314fc5e1f76a44c1fa84b32502">setFontconfigConfigurationPath</a>(<span class="keyword">const</span> std::string&amp; path);</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> </div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#aa689f44d8d82b47a84bd5ef255123524">setFontDirectory</a>(<span class="keyword">const</span> std::string&amp; fontDirectoryPath, <span class="keyword">const</span> std::map&lt;std::string,std::string&gt;&amp; fontNameMapping);</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> </div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#adae003c1060e0adbe24f8f50859e9bd9">setFontDirectoryList</a>(<span class="keyword">const</span> std::list&lt;std::string&gt;&amp; fontDirectoryList, <span class="keyword">const</span> std::map&lt;std::string,std::string&gt;&amp; fontNameMapping);</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> </div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> <span class="keyword">static</span> std::shared_ptr&lt;std::string&gt; <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a49bc4b4d70e68a2d358695151909dbda">registerNewFFmpegPipe</a>();</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> </div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a5b33b1d74216a6b23281184b5a8b5701">closeFFmpegPipe</a>(<span class="keyword">const</span> std::string&amp; ffmpegPipePath);</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> </div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> <span class="keyword">static</span> std::string <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#ae46ef5e084039fcbba1229a6df01f476">getFFmpegVersion</a>();</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> </div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> <span class="keyword">static</span> std::string <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a0c93081c2b97ba3f8440ea1ab28b7953">getVersion</a>();</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> </div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#ac25bdbe25218002b4cd5e1a3dc2a1d13">isLTSBuild</a>();</div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> </div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> <span class="keyword">static</span> std::string <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#ae81bcfffeb93c5154d4234ba5a449eb8">getBuildDate</a>();</div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> </div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a7cb6aee82f88285debb3e4d9e84e27a5">setEnvironmentVariable</a>(<span class="keyword">const</span> std::string&amp; variableName, <span class="keyword">const</span> std::string&amp; variableValue);</div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> </div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#aaa5681c6fbc9ff144f78d0f6d1febcd7">ignoreSignal</a>(<span class="keyword">const</span> <a class="code hl_enumeration" href="../../d2/d25/namespaceffmpegkit.html#ac57fab4209bd25d62c86a99bb459bda2">ffmpegkit::Signal</a> signal);</div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> </div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#af3040a062ee719588c806685940e7d9e">ffmpegExecute</a>(<span class="keyword">const</span> std::shared_ptr&lt;ffmpegkit::FFmpegSession&gt; ffmpegSession);</div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> </div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a8c62c5d0c322e263f9fc926f3f8972b2">ffprobeExecute</a>(<span class="keyword">const</span> std::shared_ptr&lt;ffmpegkit::FFprobeSession&gt; ffprobeSession);</div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> </div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a7a5113b2ea8715b29dfc31d867422f07">getMediaInformationExecute</a>(<span class="keyword">const</span> std::shared_ptr&lt;ffmpegkit::MediaInformationSession&gt; mediaInformationSession, <span class="keyword">const</span> <span class="keywordtype">int</span> waitTimeout);</div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> </div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#aa7449c207e30df8fe67907f881cceea3">asyncFFmpegExecute</a>(<span class="keyword">const</span> std::shared_ptr&lt;ffmpegkit::FFmpegSession&gt; ffmpegSession);</div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> </div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a5dd0c23d3b6db9ffd59448e871995202">asyncFFprobeExecute</a>(<span class="keyword">const</span> std::shared_ptr&lt;ffmpegkit::FFprobeSession&gt; ffprobeSession);</div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> </div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a76858252a1c6afbd4a3c6e27c59366d7">asyncGetMediaInformationExecute</a>(<span class="keyword">const</span> std::shared_ptr&lt;ffmpegkit::MediaInformationSession&gt; mediaInformationSession, <span class="keywordtype">int</span> waitTimeout);</div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> </div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a3a444dfeb55593778d8119840945adaf">enableLogCallback</a>(<span class="keyword">const</span> <a class="code hl_typedef" href="../../d2/d25/namespaceffmpegkit.html#a961de60de61ed79c2c7dfee08c9fa939">ffmpegkit::LogCallback</a> <a class="code hl_variable" href="../../d8/d45/_f_fmpeg_kit_config_8cpp.html#a7e70dcb2518bb21bffb91bdd7133d329">logCallback</a>);</div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> </div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a8522a259ad9b91f2e4dedc94626866ca">enableStatisticsCallback</a>(<span class="keyword">const</span> <a class="code hl_typedef" href="../../d2/d25/namespaceffmpegkit.html#a250a65ad52e13fa88362845eb4b848ef">ffmpegkit::StatisticsCallback</a> <a class="code hl_variable" href="../../d8/d45/_f_fmpeg_kit_config_8cpp.html#a94447b62a78f7c737729ced2596527d2">statisticsCallback</a>);</div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> </div>
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a225d7cf6f7b0a5aac42574bdf9e724b1">enableFFmpegSessionCompleteCallback</a>(<span class="keyword">const</span> <a class="code hl_typedef" href="../../d2/d25/namespaceffmpegkit.html#afc007c369cdeebeca5cbf663ab966443">FFmpegSessionCompleteCallback</a> <a class="code hl_variable" href="../../d8/d45/_f_fmpeg_kit_config_8cpp.html#a4e3022cc16f205a5d2f0e4a7b3896d9b">ffmpegSessionCompleteCallback</a>);</div>
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span> </div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> <span class="keyword">static</span> <a class="code hl_typedef" href="../../d2/d25/namespaceffmpegkit.html#afc007c369cdeebeca5cbf663ab966443">FFmpegSessionCompleteCallback</a> <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#aa9f1f3590db0b5e86fd4b4677e32077a">getFFmpegSessionCompleteCallback</a>();</div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> </div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#add75c3a9c394e7d131bdfe2e6ad04ef7">enableFFprobeSessionCompleteCallback</a>(<span class="keyword">const</span> <a class="code hl_typedef" href="../../d2/d25/namespaceffmpegkit.html#af3f451cbb99c4dc36e2e2141a33cdf38">FFprobeSessionCompleteCallback</a> <a class="code hl_variable" href="../../d8/d45/_f_fmpeg_kit_config_8cpp.html#ad89bc3fb67547d7ced4c6072c541fe78">ffprobeSessionCompleteCallback</a>);</div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span> </div>
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span> <span class="keyword">static</span> <a class="code hl_typedef" href="../../d2/d25/namespaceffmpegkit.html#af3f451cbb99c4dc36e2e2141a33cdf38">FFprobeSessionCompleteCallback</a> <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#aac26e5373d4d6b4d01bbf6dd1954c102">getFFprobeSessionCompleteCallback</a>();</div>
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span> </div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#adc32e1a727ed730ae5e0d11830817b7f">enableMediaInformationSessionCompleteCallback</a>(<span class="keyword">const</span> <a class="code hl_typedef" href="../../d2/d25/namespaceffmpegkit.html#a909392d52220d37ab6e39bd7f4d6abb1">MediaInformationSessionCompleteCallback</a> <a class="code hl_variable" href="../../d8/d45/_f_fmpeg_kit_config_8cpp.html#af17bebd57f370c52961bfc9c3abc21f2">mediaInformationSessionCompleteCallback</a>);</div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> </div>
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span> <span class="keyword">static</span> <a class="code hl_typedef" href="../../d2/d25/namespaceffmpegkit.html#a909392d52220d37ab6e39bd7f4d6abb1">MediaInformationSessionCompleteCallback</a> <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#afb324ff63f1c7fde24b48f8e150735c5">getMediaInformationSessionCompleteCallback</a>();</div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span> </div>
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span> <span class="keyword">static</span> <a class="code hl_enumeration" href="../../d2/d25/namespaceffmpegkit.html#a3726dad678d38ecd08f9af2f142156a4">ffmpegkit::Level</a> <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a698a6084ff38d14a4b9a05c06240dc61">getLogLevel</a>();</div>
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span> </div>
<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"> 291</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#aa5b9e278c61dfa54d14fd34b35782cd8">setLogLevel</a>(<span class="keyword">const</span> <a class="code hl_enumeration" href="../../d2/d25/namespaceffmpegkit.html#a3726dad678d38ecd08f9af2f142156a4">ffmpegkit::Level</a> level);</div>
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"> 292</span> </div>
<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"> 299</span> <span class="keyword">static</span> std::string <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#ada26e691d38c8bfa840ed820aebe76c7">logLevelToString</a>(<span class="keyword">const</span> <a class="code hl_enumeration" href="../../d2/d25/namespaceffmpegkit.html#a3726dad678d38ecd08f9af2f142156a4">ffmpegkit::Level</a> level);</div>
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span> </div>
<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"> 306</span> <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a2c531daca0d3c849a7c544b3cd846a09">getSessionHistorySize</a>();</div>
<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"> 307</span> </div>
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"> 313</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a9938ad34e545fb78ba5ae502c05e05b2">setSessionHistorySize</a>(<span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code hl_variable" href="../../d8/d45/_f_fmpeg_kit_config_8cpp.html#a24cad55e657bdaad060a621460d029f6">sessionHistorySize</a>);</div>
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span> </div>
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"> 321</span> <span class="keyword">static</span> std::shared_ptr&lt;ffmpegkit::Session&gt; <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a73cc75ec0760d8937a2e94615576556d">getSession</a>(<span class="keyword">const</span> <span class="keywordtype">long</span> sessionId);</div>
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"> 322</span> </div>
<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"> 328</span> <span class="keyword">static</span> std::shared_ptr&lt;ffmpegkit::Session&gt; <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a33d369d906baa4e54f388c37ea0fb833">getLastSession</a>();</div>
<div class="line"><a id="l00329" name="l00329"></a><span class="lineno"> 329</span> </div>
<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"> 336</span> <span class="keyword">static</span> std::shared_ptr&lt;ffmpegkit::Session&gt; <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#aae61aa578905dee229d78885f49c4723">getLastCompletedSession</a>();</div>
<div class="line"><a id="l00337" name="l00337"></a><span class="lineno"> 337</span> </div>
<div class="line"><a id="l00343" name="l00343"></a><span class="lineno"> 343</span> <span class="keyword">static</span> std::shared_ptr&lt;std::list&lt;std::shared_ptr&lt;ffmpegkit::Session&gt;&gt;&gt; <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#ae4f3b63d47826b18765517bec9109c3a">getSessions</a>();</div>
<div class="line"><a id="l00344" name="l00344"></a><span class="lineno"> 344</span> </div>
<div class="line"><a id="l00349" name="l00349"></a><span class="lineno"> 349</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#ab31911c60354b18e1b94be058bcead76">clearSessions</a>();</div>
<div class="line"><a id="l00350" name="l00350"></a><span class="lineno"> 350</span> </div>
<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"> 356</span> <span class="keyword">static</span> std::shared_ptr&lt;std::list&lt;std::shared_ptr&lt;ffmpegkit::FFmpegSession&gt;&gt;&gt; <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#ad344deabaab4618515cd45a5b24a66c9">getFFmpegSessions</a>();</div>
<div class="line"><a id="l00357" name="l00357"></a><span class="lineno"> 357</span> </div>
<div class="line"><a id="l00363" name="l00363"></a><span class="lineno"> 363</span> <span class="keyword">static</span> std::shared_ptr&lt;std::list&lt;std::shared_ptr&lt;ffmpegkit::FFprobeSession&gt;&gt;&gt; <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a4f18e5d8e6e35cd7cd39298304daf20b">getFFprobeSessions</a>();</div>
<div class="line"><a id="l00364" name="l00364"></a><span class="lineno"> 364</span> </div>
<div class="line"><a id="l00370" name="l00370"></a><span class="lineno"> 370</span> <span class="keyword">static</span> std::shared_ptr&lt;std::list&lt;std::shared_ptr&lt;ffmpegkit::MediaInformationSession&gt;&gt;&gt; <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a145b6d196a005442878be12f003421af">getMediaInformationSessions</a>();</div>
<div class="line"><a id="l00371" name="l00371"></a><span class="lineno"> 371</span> </div>
<div class="line"><a id="l00377" name="l00377"></a><span class="lineno"> 377</span> <span class="keyword">static</span> std::shared_ptr&lt;std::list&lt;std::shared_ptr&lt;ffmpegkit::Session&gt;&gt;&gt; <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a83149b18d46a1b264c5f2ca3aab802a4">getSessionsByState</a>(<span class="keyword">const</span> <a class="code hl_enumeration" href="../../d2/d25/namespaceffmpegkit.html#a6d76b34ad27245e8ba161c8f30ab5c8f">SessionState</a> state);</div>
<div class="line"><a id="l00378" name="l00378"></a><span class="lineno"> 378</span> </div>
<div class="line"><a id="l00384" name="l00384"></a><span class="lineno"> 384</span> <span class="keyword">static</span> <a class="code hl_enumeration" href="../../d2/d25/namespaceffmpegkit.html#a11bee89be98423d1dc425a2849001ebe">LogRedirectionStrategy</a> <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a4dbd1586599e260e97dccffa875872fd">getLogRedirectionStrategy</a>();</div>
<div class="line"><a id="l00385" name="l00385"></a><span class="lineno"> 385</span> </div>
<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"> 391</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a79c409a7341213cbd3e19c51da962748">setLogRedirectionStrategy</a>(<span class="keyword">const</span> <a class="code hl_enumeration" href="../../d2/d25/namespaceffmpegkit.html#a11bee89be98423d1dc425a2849001ebe">LogRedirectionStrategy</a> logRedirectionStrategy);</div>
<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"> 392</span> </div>
<div class="line"><a id="l00400" name="l00400"></a><span class="lineno"> 400</span> <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a4f6b1eacd532a12d7c8af23a10ef26ca">messagesInTransmit</a>(<span class="keyword">const</span> <span class="keywordtype">long</span> sessionId);</div>
<div class="line"><a id="l00401" name="l00401"></a><span class="lineno"> 401</span> </div>
<div class="line"><a id="l00408" name="l00408"></a><span class="lineno"> 408</span> <span class="keyword">static</span> std::string <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#ac5f8efcf9ed49fa0ba29819c3ea3489e">sessionStateToString</a>(<a class="code hl_enumeration" href="../../d2/d25/namespaceffmpegkit.html#a6d76b34ad27245e8ba161c8f30ab5c8f">SessionState</a> state);</div>
<div class="line"><a id="l00409" name="l00409"></a><span class="lineno"> 409</span> </div>
<div class="line"><a id="l00417" name="l00417"></a><span class="lineno"> 417</span> <span class="keyword">static</span> std::list&lt;std::string&gt; <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a8573a0033b3311ee159513c21cd4cb74">parseArguments</a>(<span class="keyword">const</span> std::string&amp; command);</div>
<div class="line"><a id="l00418" name="l00418"></a><span class="lineno"> 418</span> </div>
<div class="line"><a id="l00425" name="l00425"></a><span class="lineno"> 425</span> <span class="keyword">static</span> std::string <a class="code hl_function" href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#ad8d99898783e62a1c1ab0c9d2c29f0fe">argumentsToString</a>(std::shared_ptr&lt;std::list&lt;std::string&gt;&gt; arguments);</div>
<div class="line"><a id="l00426" name="l00426"></a><span class="lineno"> 426</span> </div>
<div class="line"><a id="l00427" name="l00427"></a><span class="lineno"> 427</span> };</div>
<div class="line"><a id="l00428" name="l00428"></a><span class="lineno"> 428</span> </div>
<div class="line"><a id="l00429" name="l00429"></a><span class="lineno"> 429</span>}</div>
<div class="line"><a id="l00430" name="l00430"></a><span class="lineno"> 430</span> </div>
<div class="line"><a id="l00431" name="l00431"></a><span class="lineno"> 431</span><span class="preprocessor">#endif </span><span class="comment">// FFMPEG_KIT_CONFIG_H</span></div>
<div class="ttc" id="a_f_fmpeg_kit_config_8cpp_html_a24cad55e657bdaad060a621460d029f6"><div class="ttname"><a href="../../d8/d45/_f_fmpeg_kit_config_8cpp.html#a24cad55e657bdaad060a621460d029f6">sessionHistorySize</a></div><div class="ttdeci">static int sessionHistorySize</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l00058">FFmpegKitConfig.cpp:58</a></div></div>
<div class="ttc" id="a_f_fmpeg_kit_config_8cpp_html_a4e3022cc16f205a5d2f0e4a7b3896d9b"><div class="ttname"><a href="../../d8/d45/_f_fmpeg_kit_config_8cpp.html#a4e3022cc16f205a5d2f0e4a7b3896d9b">ffmpegSessionCompleteCallback</a></div><div class="ttdeci">static ffmpegkit::FFmpegSessionCompleteCallback ffmpegSessionCompleteCallback</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l00075">FFmpegKitConfig.cpp:75</a></div></div>
<div class="ttc" id="a_f_fmpeg_kit_config_8cpp_html_a7e70dcb2518bb21bffb91bdd7133d329"><div class="ttname"><a href="../../d8/d45/_f_fmpeg_kit_config_8cpp.html#a7e70dcb2518bb21bffb91bdd7133d329">logCallback</a></div><div class="ttdeci">static ffmpegkit::LogCallback logCallback</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l00069">FFmpegKitConfig.cpp:69</a></div></div>
<div class="ttc" id="a_f_fmpeg_kit_config_8cpp_html_a94447b62a78f7c737729ced2596527d2"><div class="ttname"><a href="../../d8/d45/_f_fmpeg_kit_config_8cpp.html#a94447b62a78f7c737729ced2596527d2">statisticsCallback</a></div><div class="ttdeci">static ffmpegkit::StatisticsCallback statisticsCallback</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l00072">FFmpegKitConfig.cpp:72</a></div></div>
<div class="ttc" id="a_f_fmpeg_kit_config_8cpp_html_ad89bc3fb67547d7ced4c6072c541fe78"><div class="ttname"><a href="../../d8/d45/_f_fmpeg_kit_config_8cpp.html#ad89bc3fb67547d7ced4c6072c541fe78">ffprobeSessionCompleteCallback</a></div><div class="ttdeci">static ffmpegkit::FFprobeSessionCompleteCallback ffprobeSessionCompleteCallback</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l00076">FFmpegKitConfig.cpp:76</a></div></div>
<div class="ttc" id="a_f_fmpeg_kit_config_8cpp_html_af17bebd57f370c52961bfc9c3abc21f2"><div class="ttname"><a href="../../d8/d45/_f_fmpeg_kit_config_8cpp.html#af17bebd57f370c52961bfc9c3abc21f2">mediaInformationSessionCompleteCallback</a></div><div class="ttdeci">static ffmpegkit::MediaInformationSessionCompleteCallback mediaInformationSessionCompleteCallback</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l00077">FFmpegKitConfig.cpp:77</a></div></div>
<div class="ttc" id="a_f_fmpeg_session_8h_html"><div class="ttname"><a href="../../d2/def/_f_fmpeg_session_8h.html">FFmpegSession.h</a></div></div>
<div class="ttc" id="a_f_fprobe_session_8h_html"><div class="ttname"><a href="../../dc/da0/_f_fprobe_session_8h.html">FFprobeSession.h</a></div></div>
<div class="ttc" id="a_level_8h_html"><div class="ttname"><a href="../../d2/d4b/_level_8h.html">Level.h</a></div></div>
<div class="ttc" id="a_log_callback_8h_html"><div class="ttname"><a href="../../d4/daf/_log_callback_8h.html">LogCallback.h</a></div></div>
<div class="ttc" id="a_media_information_session_8h_html"><div class="ttname"><a href="../../dd/d69/_media_information_session_8h.html">MediaInformationSession.h</a></div></div>
<div class="ttc" id="a_signal_8h_html"><div class="ttname"><a href="../../d5/dce/_signal_8h.html">Signal.h</a></div></div>
<div class="ttc" id="a_statistics_callback_8h_html"><div class="ttname"><a href="../../d6/df1/_statistics_callback_8h.html">StatisticsCallback.h</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html">ffmpegkit::FFmpegKitConfig</a></div><div class="ttdef"><b>Definition</b> <a href="../../df/d48/_f_fmpeg_kit_config_8h_source.html#l00041">FFmpegKitConfig.h:41</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_a0c93081c2b97ba3f8440ea1ab28b7953"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a0c93081c2b97ba3f8440ea1ab28b7953">ffmpegkit::FFmpegKitConfig::getVersion</a></div><div class="ttdeci">static std::string getVersion()</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l00972">FFmpegKitConfig.cpp:972</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_a0f689e39aeed46117bccbd88cb825b9b"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a0f689e39aeed46117bccbd88cb825b9b">ffmpegkit::FFmpegKitConfig::disableRedirection</a></div><div class="ttdeci">static void disableRedirection()</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l00823">FFmpegKitConfig.cpp:823</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_a145b6d196a005442878be12f003421af"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a145b6d196a005442878be12f003421af">ffmpegkit::FFmpegKitConfig::getMediaInformationSessions</a></div><div class="ttdeci">static std::shared_ptr&lt; std::list&lt; std::shared_ptr&lt; ffmpegkit::MediaInformationSession &gt; &gt; &gt; getMediaInformationSessions()</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l01308">FFmpegKitConfig.cpp:1308</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_a225d7cf6f7b0a5aac42574bdf9e724b1"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a225d7cf6f7b0a5aac42574bdf9e724b1">ffmpegkit::FFmpegKitConfig::enableFFmpegSessionCompleteCallback</a></div><div class="ttdeci">static void enableFFmpegSessionCompleteCallback(const FFmpegSessionCompleteCallback ffmpegSessionCompleteCallback)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l01152">FFmpegKitConfig.cpp:1152</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_a2c531daca0d3c849a7c544b3cd846a09"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a2c531daca0d3c849a7c544b3cd846a09">ffmpegkit::FFmpegKitConfig::getSessionHistorySize</a></div><div class="ttdeci">static int getSessionHistorySize()</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l01200">FFmpegKitConfig.cpp:1200</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_a33d369d906baa4e54f388c37ea0fb833"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a33d369d906baa4e54f388c37ea0fb833">ffmpegkit::FFmpegKitConfig::getLastSession</a></div><div class="ttdeci">static std::shared_ptr&lt; ffmpegkit::Session &gt; getLastSession()</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l01229">FFmpegKitConfig.cpp:1229</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_a38276361e645da189554ab37bc9a7b82"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a38276361e645da189554ab37bc9a7b82">ffmpegkit::FFmpegKitConfig::enableRedirection</a></div><div class="ttdeci">static void enableRedirection()</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l00800">FFmpegKitConfig.cpp:800</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_a38d4506d418b9c33105c59a6976e0594"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a38d4506d418b9c33105c59a6976e0594">ffmpegkit::FFmpegKitConfig::FFmpegKitNamedPipePrefix</a></div><div class="ttdeci">static constexpr const char * FFmpegKitNamedPipePrefix</div><div class="ttdef"><b>Definition</b> <a href="../../df/d48/_f_fmpeg_kit_config_8h_source.html#l00050">FFmpegKitConfig.h:50</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_a3a444dfeb55593778d8119840945adaf"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a3a444dfeb55593778d8119840945adaf">ffmpegkit::FFmpegKitConfig::enableLogCallback</a></div><div class="ttdeci">static void enableLogCallback(const ffmpegkit::LogCallback logCallback)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l01144">FFmpegKitConfig.cpp:1144</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_a49bc4b4d70e68a2d358695151909dbda"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a49bc4b4d70e68a2d358695151909dbda">ffmpegkit::FFmpegKitConfig::registerNewFFmpegPipe</a></div><div class="ttdeci">static std::shared_ptr&lt; std::string &gt; registerNewFFmpegPipe()</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l00932">FFmpegKitConfig.cpp:932</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_a4af42a82381a735af4c6f55955254d41"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a4af42a82381a735af4c6f55955254d41">ffmpegkit::FFmpegKitConfig::FFmpegKitVersion</a></div><div class="ttdeci">static constexpr const char * FFmpegKitVersion</div><div class="ttdef"><b>Definition</b> <a href="../../df/d48/_f_fmpeg_kit_config_8h_source.html#l00045">FFmpegKitConfig.h:45</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_a4dbd1586599e260e97dccffa875872fd"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a4dbd1586599e260e97dccffa875872fd">ffmpegkit::FFmpegKitConfig::getLogRedirectionStrategy</a></div><div class="ttdeci">static LogRedirectionStrategy getLogRedirectionStrategy()</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l01344">FFmpegKitConfig.cpp:1344</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_a4f18e5d8e6e35cd7cd39298304daf20b"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a4f18e5d8e6e35cd7cd39298304daf20b">ffmpegkit::FFmpegKitConfig::getFFprobeSessions</a></div><div class="ttdeci">static std::shared_ptr&lt; std::list&lt; std::shared_ptr&lt; ffmpegkit::FFprobeSession &gt; &gt; &gt; getFFprobeSessions()</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l01290">FFmpegKitConfig.cpp:1290</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_a4f6b1eacd532a12d7c8af23a10ef26ca"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a4f6b1eacd532a12d7c8af23a10ef26ca">ffmpegkit::FFmpegKitConfig::messagesInTransmit</a></div><div class="ttdeci">static int messagesInTransmit(const long sessionId)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l01352">FFmpegKitConfig.cpp:1352</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_a5b33b1d74216a6b23281184b5a8b5701"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a5b33b1d74216a6b23281184b5a8b5701">ffmpegkit::FFmpegKitConfig::closeFFmpegPipe</a></div><div class="ttdeci">static void closeFFmpegPipe(const std::string &amp;ffmpegPipePath)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l00964">FFmpegKitConfig.cpp:964</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_a5dd0c23d3b6db9ffd59448e871995202"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a5dd0c23d3b6db9ffd59448e871995202">ffmpegkit::FFmpegKitConfig::asyncFFprobeExecute</a></div><div class="ttdeci">static void asyncFFprobeExecute(const std::shared_ptr&lt; ffmpegkit::FFprobeSession &gt; ffprobeSession)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l01088">FFmpegKitConfig.cpp:1088</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_a698a6084ff38d14a4b9a05c06240dc61"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a698a6084ff38d14a4b9a05c06240dc61">ffmpegkit::FFmpegKitConfig::getLogLevel</a></div><div class="ttdeci">static ffmpegkit::Level getLogLevel()</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l01176">FFmpegKitConfig.cpp:1176</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_a73cc75ec0760d8937a2e94615576556d"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a73cc75ec0760d8937a2e94615576556d">ffmpegkit::FFmpegKitConfig::getSession</a></div><div class="ttdeci">static std::shared_ptr&lt; ffmpegkit::Session &gt; getSession(const long sessionId)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l01217">FFmpegKitConfig.cpp:1217</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_a76858252a1c6afbd4a3c6e27c59366d7"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a76858252a1c6afbd4a3c6e27c59366d7">ffmpegkit::FFmpegKitConfig::asyncGetMediaInformationExecute</a></div><div class="ttdeci">static void asyncGetMediaInformationExecute(const std::shared_ptr&lt; ffmpegkit::MediaInformationSession &gt; mediaInformationSession, int waitTimeout)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l01116">FFmpegKitConfig.cpp:1116</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_a79c409a7341213cbd3e19c51da962748"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a79c409a7341213cbd3e19c51da962748">ffmpegkit::FFmpegKitConfig::setLogRedirectionStrategy</a></div><div class="ttdeci">static void setLogRedirectionStrategy(const LogRedirectionStrategy logRedirectionStrategy)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l01348">FFmpegKitConfig.cpp:1348</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_a7a5113b2ea8715b29dfc31d867422f07"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a7a5113b2ea8715b29dfc31d867422f07">ffmpegkit::FFmpegKitConfig::getMediaInformationExecute</a></div><div class="ttdeci">static void getMediaInformationExecute(const std::shared_ptr&lt; ffmpegkit::MediaInformationSession &gt; mediaInformationSession, const int waitTimeout)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l01036">FFmpegKitConfig.cpp:1036</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_a7cb6aee82f88285debb3e4d9e84e27a5"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a7cb6aee82f88285debb3e4d9e84e27a5">ffmpegkit::FFmpegKitConfig::setEnvironmentVariable</a></div><div class="ttdeci">static int setEnvironmentVariable(const std::string &amp;variableName, const std::string &amp;variableValue)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l00994">FFmpegKitConfig.cpp:994</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_a83149b18d46a1b264c5f2ca3aab802a4"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a83149b18d46a1b264c5f2ca3aab802a4">ffmpegkit::FFmpegKitConfig::getSessionsByState</a></div><div class="ttdeci">static std::shared_ptr&lt; std::list&lt; std::shared_ptr&lt; ffmpegkit::Session &gt; &gt; &gt; getSessionsByState(const SessionState state)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l01326">FFmpegKitConfig.cpp:1326</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_a8522a259ad9b91f2e4dedc94626866ca"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a8522a259ad9b91f2e4dedc94626866ca">ffmpegkit::FFmpegKitConfig::enableStatisticsCallback</a></div><div class="ttdeci">static void enableStatisticsCallback(const ffmpegkit::StatisticsCallback statisticsCallback)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l01148">FFmpegKitConfig.cpp:1148</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_a8573a0033b3311ee159513c21cd4cb74"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a8573a0033b3311ee159513c21cd4cb74">ffmpegkit::FFmpegKitConfig::parseArguments</a></div><div class="ttdeci">static std::list&lt; std::string &gt; parseArguments(const std::string &amp;command)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l01366">FFmpegKitConfig.cpp:1366</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_a8c62c5d0c322e263f9fc926f3f8972b2"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a8c62c5d0c322e263f9fc926f3f8972b2">ffmpegkit::FFmpegKitConfig::ffprobeExecute</a></div><div class="ttdeci">static void ffprobeExecute(const std::shared_ptr&lt; ffmpegkit::FFprobeSession &gt; ffprobeSession)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l01024">FFmpegKitConfig.cpp:1024</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_a9938ad34e545fb78ba5ae502c05e05b2"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#a9938ad34e545fb78ba5ae502c05e05b2">ffmpegkit::FFmpegKitConfig::setSessionHistorySize</a></div><div class="ttdeci">static void setSessionHistorySize(const int sessionHistorySize)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l01204">FFmpegKitConfig.cpp:1204</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_aa5b9e278c61dfa54d14fd34b35782cd8"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#aa5b9e278c61dfa54d14fd34b35782cd8">ffmpegkit::FFmpegKitConfig::setLogLevel</a></div><div class="ttdeci">static void setLogLevel(const ffmpegkit::Level level)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l01180">FFmpegKitConfig.cpp:1180</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_aa689f44d8d82b47a84bd5ef255123524"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#aa689f44d8d82b47a84bd5ef255123524">ffmpegkit::FFmpegKitConfig::setFontDirectory</a></div><div class="ttdeci">static void setFontDirectory(const std::string &amp;fontDirectoryPath, const std::map&lt; std::string, std::string &gt; &amp;fontNameMapping)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l00848">FFmpegKitConfig.cpp:848</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_aa7449c207e30df8fe67907f881cceea3"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#aa7449c207e30df8fe67907f881cceea3">ffmpegkit::FFmpegKitConfig::asyncFFmpegExecute</a></div><div class="ttdeci">static void asyncFFmpegExecute(const std::shared_ptr&lt; ffmpegkit::FFmpegSession &gt; ffmpegSession)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l01060">FFmpegKitConfig.cpp:1060</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_aa9f1f3590db0b5e86fd4b4677e32077a"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#aa9f1f3590db0b5e86fd4b4677e32077a">ffmpegkit::FFmpegKitConfig::getFFmpegSessionCompleteCallback</a></div><div class="ttdeci">static FFmpegSessionCompleteCallback getFFmpegSessionCompleteCallback()</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l01156">FFmpegKitConfig.cpp:1156</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_aaa5681c6fbc9ff144f78d0f6d1febcd7"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#aaa5681c6fbc9ff144f78d0f6d1febcd7">ffmpegkit::FFmpegKitConfig::ignoreSignal</a></div><div class="ttdeci">static void ignoreSignal(const ffmpegkit::Signal signal)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l00998">FFmpegKitConfig.cpp:998</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_aac26e5373d4d6b4d01bbf6dd1954c102"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#aac26e5373d4d6b4d01bbf6dd1954c102">ffmpegkit::FFmpegKitConfig::getFFprobeSessionCompleteCallback</a></div><div class="ttdeci">static FFprobeSessionCompleteCallback getFFprobeSessionCompleteCallback()</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l01164">FFmpegKitConfig.cpp:1164</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_aae61aa578905dee229d78885f49c4723"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#aae61aa578905dee229d78885f49c4723">ffmpegkit::FFmpegKitConfig::getLastCompletedSession</a></div><div class="ttdeci">static std::shared_ptr&lt; ffmpegkit::Session &gt; getLastCompletedSession()</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l01236">FFmpegKitConfig.cpp:1236</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_ab31911c60354b18e1b94be058bcead76"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#ab31911c60354b18e1b94be058bcead76">ffmpegkit::FFmpegKitConfig::clearSessions</a></div><div class="ttdeci">static void clearSessions()</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l01262">FFmpegKitConfig.cpp:1262</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_ac25bdbe25218002b4cd5e1a3dc2a1d13"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#ac25bdbe25218002b4cd5e1a3dc2a1d13">ffmpegkit::FFmpegKitConfig::isLTSBuild</a></div><div class="ttdeci">static bool isLTSBuild()</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l00980">FFmpegKitConfig.cpp:980</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_ac5f8efcf9ed49fa0ba29819c3ea3489e"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#ac5f8efcf9ed49fa0ba29819c3ea3489e">ffmpegkit::FFmpegKitConfig::sessionStateToString</a></div><div class="ttdeci">static std::string sessionStateToString(SessionState state)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l01356">FFmpegKitConfig.cpp:1356</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_ad344deabaab4618515cd45a5b24a66c9"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#ad344deabaab4618515cd45a5b24a66c9">ffmpegkit::FFmpegKitConfig::getFFmpegSessions</a></div><div class="ttdeci">static std::shared_ptr&lt; std::list&lt; std::shared_ptr&lt; ffmpegkit::FFmpegSession &gt; &gt; &gt; getFFmpegSessions()</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l01272">FFmpegKitConfig.cpp:1272</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_ad720fc314fc5e1f76a44c1fa84b32502"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#ad720fc314fc5e1f76a44c1fa84b32502">ffmpegkit::FFmpegKitConfig::setFontconfigConfigurationPath</a></div><div class="ttdeci">static int setFontconfigConfigurationPath(const std::string &amp;path)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l00844">FFmpegKitConfig.cpp:844</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_ad8d99898783e62a1c1ab0c9d2c29f0fe"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#ad8d99898783e62a1c1ab0c9d2c29f0fe">ffmpegkit::FFmpegKitConfig::argumentsToString</a></div><div class="ttdeci">static std::string argumentsToString(std::shared_ptr&lt; std::list&lt; std::string &gt; &gt; arguments)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l01417">FFmpegKitConfig.cpp:1417</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_ada26e691d38c8bfa840ed820aebe76c7"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#ada26e691d38c8bfa840ed820aebe76c7">ffmpegkit::FFmpegKitConfig::logLevelToString</a></div><div class="ttdeci">static std::string logLevelToString(const ffmpegkit::Level level)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l01184">FFmpegKitConfig.cpp:1184</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_adae003c1060e0adbe24f8f50859e9bd9"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#adae003c1060e0adbe24f8f50859e9bd9">ffmpegkit::FFmpegKitConfig::setFontDirectoryList</a></div><div class="ttdeci">static void setFontDirectoryList(const std::list&lt; std::string &gt; &amp;fontDirectoryList, const std::map&lt; std::string, std::string &gt; &amp;fontNameMapping)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l00852">FFmpegKitConfig.cpp:852</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_adc32e1a727ed730ae5e0d11830817b7f"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#adc32e1a727ed730ae5e0d11830817b7f">ffmpegkit::FFmpegKitConfig::enableMediaInformationSessionCompleteCallback</a></div><div class="ttdeci">static void enableMediaInformationSessionCompleteCallback(const MediaInformationSessionCompleteCallback mediaInformationSessionCompleteCallback)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l01168">FFmpegKitConfig.cpp:1168</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_add75c3a9c394e7d131bdfe2e6ad04ef7"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#add75c3a9c394e7d131bdfe2e6ad04ef7">ffmpegkit::FFmpegKitConfig::enableFFprobeSessionCompleteCallback</a></div><div class="ttdeci">static void enableFFprobeSessionCompleteCallback(const FFprobeSessionCompleteCallback ffprobeSessionCompleteCallback)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l01160">FFmpegKitConfig.cpp:1160</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_ae46ef5e084039fcbba1229a6df01f476"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#ae46ef5e084039fcbba1229a6df01f476">ffmpegkit::FFmpegKitConfig::getFFmpegVersion</a></div><div class="ttdeci">static std::string getFFmpegVersion()</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l00968">FFmpegKitConfig.cpp:968</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_ae4f3b63d47826b18765517bec9109c3a"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#ae4f3b63d47826b18765517bec9109c3a">ffmpegkit::FFmpegKitConfig::getSessions</a></div><div class="ttdeci">static std::shared_ptr&lt; std::list&lt; std::shared_ptr&lt; ffmpegkit::Session &gt; &gt; &gt; getSessions()</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l01251">FFmpegKitConfig.cpp:1251</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_ae81bcfffeb93c5154d4234ba5a449eb8"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#ae81bcfffeb93c5154d4234ba5a449eb8">ffmpegkit::FFmpegKitConfig::getBuildDate</a></div><div class="ttdeci">static std::string getBuildDate()</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l00988">FFmpegKitConfig.cpp:988</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_af3040a062ee719588c806685940e7d9e"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#af3040a062ee719588c806685940e7d9e">ffmpegkit::FFmpegKitConfig::ffmpegExecute</a></div><div class="ttdeci">static void ffmpegExecute(const std::shared_ptr&lt; ffmpegkit::FFmpegSession &gt; ffmpegSession)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l01012">FFmpegKitConfig.cpp:1012</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_config_html_afb324ff63f1c7fde24b48f8e150735c5"><div class="ttname"><a href="../../dc/d2a/classffmpegkit_1_1_f_fmpeg_kit_config.html#afb324ff63f1c7fde24b48f8e150735c5">ffmpegkit::FFmpegKitConfig::getMediaInformationSessionCompleteCallback</a></div><div class="ttdeci">static MediaInformationSessionCompleteCallback getMediaInformationSessionCompleteCallback()</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l01172">FFmpegKitConfig.cpp:1172</a></div></div>
<div class="ttc" id="anamespaceffmpegkit_html"><div class="ttname"><a href="../../d2/d25/namespaceffmpegkit.html">ffmpegkit</a></div><div class="ttdef"><b>Definition</b> <a href="../../d9/d76/_abstract_session_8h_source.html#l00025">AbstractSession.h:25</a></div></div>
<div class="ttc" id="anamespaceffmpegkit_html_a11bee89be98423d1dc425a2849001ebe"><div class="ttname"><a href="../../d2/d25/namespaceffmpegkit.html#a11bee89be98423d1dc425a2849001ebe">ffmpegkit::LogRedirectionStrategy</a></div><div class="ttdeci">LogRedirectionStrategy</div><div class="ttdef"><b>Definition</b> <a href="../../d6/d42/_log_redirection_strategy_8h_source.html#l00025">LogRedirectionStrategy.h:25</a></div></div>
<div class="ttc" id="anamespaceffmpegkit_html_a250a65ad52e13fa88362845eb4b848ef"><div class="ttname"><a href="../../d2/d25/namespaceffmpegkit.html#a250a65ad52e13fa88362845eb4b848ef">ffmpegkit::StatisticsCallback</a></div><div class="ttdeci">std::function&lt; void(const std::shared_ptr&lt; ffmpegkit::Statistics &gt; statistics)&gt; StatisticsCallback</div><div class="ttdef"><b>Definition</b> <a href="../../d6/df1/_statistics_callback_8h_source.html#l00035">StatisticsCallback.h:35</a></div></div>
<div class="ttc" id="anamespaceffmpegkit_html_a3726dad678d38ecd08f9af2f142156a4"><div class="ttname"><a href="../../d2/d25/namespaceffmpegkit.html#a3726dad678d38ecd08f9af2f142156a4">ffmpegkit::Level</a></div><div class="ttdeci">Level</div><div class="ttdef"><b>Definition</b> <a href="../../d2/d4b/_level_8h_source.html#l00028">Level.h:28</a></div></div>
<div class="ttc" id="anamespaceffmpegkit_html_a6d76b34ad27245e8ba161c8f30ab5c8f"><div class="ttname"><a href="../../d2/d25/namespaceffmpegkit.html#a6d76b34ad27245e8ba161c8f30ab5c8f">ffmpegkit::SessionState</a></div><div class="ttdeci">SessionState</div><div class="ttdef"><b>Definition</b> <a href="../../df/d13/_session_state_8h_source.html#l00025">SessionState.h:25</a></div></div>
<div class="ttc" id="anamespaceffmpegkit_html_a909392d52220d37ab6e39bd7f4d6abb1"><div class="ttname"><a href="../../d2/d25/namespaceffmpegkit.html#a909392d52220d37ab6e39bd7f4d6abb1">ffmpegkit::MediaInformationSessionCompleteCallback</a></div><div class="ttdeci">std::function&lt; void(const std::shared_ptr&lt; ffmpegkit::MediaInformationSession &gt; session)&gt; MediaInformationSessionCompleteCallback</div><div class="ttdef"><b>Definition</b> <a href="../../df/d57/_media_information_session_complete_callback_8h_source.html#l00053">MediaInformationSessionCompleteCallback.h:53</a></div></div>
<div class="ttc" id="anamespaceffmpegkit_html_a961de60de61ed79c2c7dfee08c9fa939"><div class="ttname"><a href="../../d2/d25/namespaceffmpegkit.html#a961de60de61ed79c2c7dfee08c9fa939">ffmpegkit::LogCallback</a></div><div class="ttdeci">std::function&lt; void(const std::shared_ptr&lt; ffmpegkit::Log &gt; log)&gt; LogCallback</div><div class="ttdef"><b>Definition</b> <a href="../../d4/daf/_log_callback_8h_source.html#l00035">LogCallback.h:35</a></div></div>
<div class="ttc" id="anamespaceffmpegkit_html_ac57fab4209bd25d62c86a99bb459bda2"><div class="ttname"><a href="../../d2/d25/namespaceffmpegkit.html#ac57fab4209bd25d62c86a99bb459bda2">ffmpegkit::Signal</a></div><div class="ttdeci">Signal</div><div class="ttdef"><b>Definition</b> <a href="../../d5/dce/_signal_8h_source.html#l00025">Signal.h:25</a></div></div>
<div class="ttc" id="anamespaceffmpegkit_html_af3f451cbb99c4dc36e2e2141a33cdf38"><div class="ttname"><a href="../../d2/d25/namespaceffmpegkit.html#af3f451cbb99c4dc36e2e2141a33cdf38">ffmpegkit::FFprobeSessionCompleteCallback</a></div><div class="ttdeci">std::function&lt; void(const std::shared_ptr&lt; ffmpegkit::FFprobeSession &gt; session)&gt; FFprobeSessionCompleteCallback</div><div class="ttdef"><b>Definition</b> <a href="../../d5/d14/_f_fprobe_session_complete_callback_8h_source.html#l00052">FFprobeSessionCompleteCallback.h:52</a></div></div>
<div class="ttc" id="anamespaceffmpegkit_html_afc007c369cdeebeca5cbf663ab966443"><div class="ttname"><a href="../../d2/d25/namespaceffmpegkit.html#afc007c369cdeebeca5cbf663ab966443">ffmpegkit::FFmpegSessionCompleteCallback</a></div><div class="ttdeci">std::function&lt; void(const std::shared_ptr&lt; ffmpegkit::FFmpegSession &gt; session)&gt; FFmpegSessionCompleteCallback</div><div class="ttdef"><b>Definition</b> <a href="../../d6/d47/_f_fmpeg_session_complete_callback_8h_source.html#l00052">FFmpegSessionCompleteCallback.h:52</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Aug 22 2023 01:27:12 for FFmpegKit Linux API by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
</small></address>
</body>
</html>
@@ -0,0 +1,98 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>FFmpegKit Linux API: MediaInformationSessionCompleteCallback.h File Reference</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/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></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 id="projectrow">
<td id="projectlogo"><img alt="Logo" src="../../ffmpeg-kit-icon-v9-small.png"/></td>
<td id="projectalign">
<div id="projectname">FFmpegKit Linux API<span id="projectnumber">&#160;6.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#typedef-members">Typedefs</a> </div>
<div class="headertitle"><div class="title">MediaInformationSessionCompleteCallback.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<p><a href="../../df/d57/_media_information_session_complete_callback_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:d2/d25/namespaceffmpegkit"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d25/namespaceffmpegkit.html">ffmpegkit</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a909392d52220d37ab6e39bd7f4d6abb1"><td class="memItemLeft" align="right" valign="top">typedef std::function&lt; void(const std::shared_ptr&lt; <a class="el" href="../../df/db7/classffmpegkit_1_1_media_information_session.html">ffmpegkit::MediaInformationSession</a> &gt; session)&gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d25/namespaceffmpegkit.html#a909392d52220d37ab6e39bd7f4d6abb1">ffmpegkit::MediaInformationSessionCompleteCallback</a></td></tr>
<tr class="separator:a909392d52220d37ab6e39bd7f4d6abb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Aug 22 2023 01:27:12 for FFmpegKit Linux API by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
</small></address>
</body>
</html>
@@ -0,0 +1,122 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>FFmpegKit Linux API: MediaInformationSessionCompleteCallback.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/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></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 id="projectrow">
<td id="projectlogo"><img alt="Logo" src="../../ffmpeg-kit-icon-v9-small.png"/></td>
<td id="projectalign">
<div id="projectname">FFmpegKit Linux API<span id="projectnumber">&#160;6.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">MediaInformationSessionCompleteCallback.h</div></div>
</div><!--header-->
<div class="contents">
<a href="../../df/d57/_media_information_session_complete_callback_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * Copyright (c) 2022 Taner Sener</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> *</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> * This file is part of FFmpegKit.</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> *</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> * FFmpegKit is free software: you can redistribute it and/or modify</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> * it under the terms of the GNU Lesser General Public License as published by</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> * the Free Software Foundation, either version 3 of the License, or</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> * (at your option) any later version.</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> *</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> * FFmpegKit is distributed in the hope that it will be useful,</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment"> * GNU Lesser General Public License for more details.</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment"> *</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment"> * You should have received a copy of the GNU Lesser General Public License</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment"> * along with FFmpegKit. If not, see &lt;http://www.gnu.org/licenses/&gt;.</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment"> */</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#ifndef FFMPEG_KIT_MEDIA_INFORMATION_SESSION_COMPLETE_CALLBACK_H</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#define FFMPEG_KIT_MEDIA_INFORMATION_SESSION_COMPLETE_CALLBACK_H</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> </div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include &lt;iostream&gt;</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#include &lt;functional&gt;</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="keyword">namespace </span><a class="code hl_namespace" href="../../d2/d25/namespaceffmpegkit.html">ffmpegkit</a> {</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> </div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> <span class="keyword">class </span>MediaInformationSession;</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> </div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"><a class="line" href="../../d2/d25/namespaceffmpegkit.html#a909392d52220d37ab6e39bd7f4d6abb1"> 53</a></span> <span class="keyword">typedef</span> std::function&lt;void(<span class="keyword">const</span> std::shared_ptr&lt;ffmpegkit::MediaInformationSession&gt; session)&gt; <a class="code hl_typedef" href="../../d2/d25/namespaceffmpegkit.html#a909392d52220d37ab6e39bd7f4d6abb1">MediaInformationSessionCompleteCallback</a>;</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> </div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span><span class="preprocessor"> #include &quot;<a class="code" href="../../dd/d69/_media_information_session_8h.html">MediaInformationSession.h</a>&quot;</span></div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> </div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span>}</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> </div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span><span class="preprocessor">#endif </span><span class="comment">// FFMPEG_KIT_MEDIA_INFORMATION_SESSION_COMPLETE_CALLBACK_H</span></div>
<div class="ttc" id="a_media_information_session_8h_html"><div class="ttname"><a href="../../dd/d69/_media_information_session_8h.html">MediaInformationSession.h</a></div></div>
<div class="ttc" id="anamespaceffmpegkit_html"><div class="ttname"><a href="../../d2/d25/namespaceffmpegkit.html">ffmpegkit</a></div><div class="ttdef"><b>Definition</b> <a href="../../d9/d76/_abstract_session_8h_source.html#l00025">AbstractSession.h:25</a></div></div>
<div class="ttc" id="anamespaceffmpegkit_html_a909392d52220d37ab6e39bd7f4d6abb1"><div class="ttname"><a href="../../d2/d25/namespaceffmpegkit.html#a909392d52220d37ab6e39bd7f4d6abb1">ffmpegkit::MediaInformationSessionCompleteCallback</a></div><div class="ttdeci">std::function&lt; void(const std::shared_ptr&lt; ffmpegkit::MediaInformationSession &gt; session)&gt; MediaInformationSessionCompleteCallback</div><div class="ttdef"><b>Definition</b> <a href="../../df/d57/_media_information_session_complete_callback_8h_source.html#l00053">MediaInformationSessionCompleteCallback.h:53</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Aug 22 2023 01:27:12 for FFmpegKit Linux API by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
</small></address>
</body>
</html>
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,98 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>FFmpegKit Linux API: FFmpegKit.h File Reference</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/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></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 id="projectrow">
<td id="projectlogo"><img alt="Logo" src="../../ffmpeg-kit-icon-v9-small.png"/></td>
<td id="projectalign">
<div id="projectname">FFmpegKit Linux API<span id="projectnumber">&#160;6.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#namespaces">Namespaces</a> </div>
<div class="headertitle"><div class="title">FFmpegKit.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<p><a href="../../df/d99/_f_fmpeg_kit_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d71/classffmpegkit_1_1_f_fmpeg_kit.html">ffmpegkit::FFmpegKit</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:d2/d25/namespaceffmpegkit"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d25/namespaceffmpegkit.html">ffmpegkit</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Aug 22 2023 01:27:12 for FFmpegKit Linux API by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
</small></address>
</body>
</html>
@@ -0,0 +1,154 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>FFmpegKit Linux API: FFmpegKit.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/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></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 id="projectrow">
<td id="projectlogo"><img alt="Logo" src="../../ffmpeg-kit-icon-v9-small.png"/></td>
<td id="projectalign">
<div id="projectname">FFmpegKit Linux API<span id="projectnumber">&#160;6.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">FFmpegKit.h</div></div>
</div><!--header-->
<div class="contents">
<a href="../../df/d99/_f_fmpeg_kit_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * Copyright (c) 2022 Taner Sener</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> *</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> * This file is part of FFmpegKit.</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> *</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> * FFmpegKit is free software: you can redistribute it and/or modify</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> * it under the terms of the GNU Lesser General Public License as published by</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> * the Free Software Foundation, either version 3 of the License, or</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> * (at your option) any later version.</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> *</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> * FFmpegKit is distributed in the hope that it will be useful,</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment"> * GNU Lesser General Public License for more details.</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment"> *</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment"> * You should have received a copy of the GNU Lesser General Public License</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment"> * along with FFmpegKit. If not, see &lt;http://www.gnu.org/licenses/&gt;.</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment"> */</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#ifndef FFMPEG_KIT_H</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#define FFMPEG_KIT_H</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> </div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include &lt;string.h&gt;</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#include &lt;stdlib.h&gt;</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#include &quot;<a class="code" href="../../d4/daf/_log_callback_8h.html">LogCallback.h</a>&quot;</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="preprocessor">#include &quot;<a class="code" href="../../d2/def/_f_fmpeg_session_8h.html">FFmpegSession.h</a>&quot;</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor">#include &quot;<a class="code" href="../../d6/df1/_statistics_callback_8h.html">StatisticsCallback.h</a>&quot;</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> </div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="keyword">namespace </span><a class="code hl_namespace" href="../../d2/d25/namespaceffmpegkit.html">ffmpegkit</a> {</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> </div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"><a class="line" href="../../db/d71/classffmpegkit_1_1_f_fmpeg_kit.html"> 44</a></span> <span class="keyword">class </span><a class="code hl_class" href="../../db/d71/classffmpegkit_1_1_f_fmpeg_kit.html">FFmpegKit</a> {</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> </div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> <span class="keyword">static</span> std::shared_ptr&lt;ffmpegkit::FFmpegSession&gt; <a class="code hl_function" href="../../db/d71/classffmpegkit_1_1_f_fmpeg_kit.html#a801ee8a6735b0096452e050cc52eb84a">executeWithArguments</a>(<span class="keyword">const</span> std::list&lt;std::string&gt;&amp; arguments);</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> </div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <span class="keyword">static</span> std::shared_ptr&lt;ffmpegkit::FFmpegSession&gt; <a class="code hl_function" href="../../db/d71/classffmpegkit_1_1_f_fmpeg_kit.html#a78eb16ecc7165aca610dec5116d7a172">executeWithArgumentsAsync</a>(<span class="keyword">const</span> std::list&lt;std::string&gt;&amp; arguments, <a class="code hl_typedef" href="../../d2/d25/namespaceffmpegkit.html#afc007c369cdeebeca5cbf663ab966443">FFmpegSessionCompleteCallback</a> completeCallback);</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> </div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> <span class="keyword">static</span> std::shared_ptr&lt;ffmpegkit::FFmpegSession&gt; <a class="code hl_function" href="../../db/d71/classffmpegkit_1_1_f_fmpeg_kit.html#a78eb16ecc7165aca610dec5116d7a172">executeWithArgumentsAsync</a>(<span class="keyword">const</span> std::list&lt;std::string&gt;&amp; arguments, <a class="code hl_typedef" href="../../d2/d25/namespaceffmpegkit.html#afc007c369cdeebeca5cbf663ab966443">FFmpegSessionCompleteCallback</a> completeCallback, <a class="code hl_typedef" href="../../d2/d25/namespaceffmpegkit.html#a961de60de61ed79c2c7dfee08c9fa939">ffmpegkit::LogCallback</a> <a class="code hl_variable" href="../../d8/d45/_f_fmpeg_kit_config_8cpp.html#a7e70dcb2518bb21bffb91bdd7133d329">logCallback</a>, <a class="code hl_typedef" href="../../d2/d25/namespaceffmpegkit.html#a250a65ad52e13fa88362845eb4b848ef">ffmpegkit::StatisticsCallback</a> <a class="code hl_variable" href="../../d8/d45/_f_fmpeg_kit_config_8cpp.html#a94447b62a78f7c737729ced2596527d2">statisticsCallback</a>);</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> </div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> <span class="keyword">static</span> std::shared_ptr&lt;ffmpegkit::FFmpegSession&gt; <a class="code hl_function" href="../../db/d71/classffmpegkit_1_1_f_fmpeg_kit.html#ae91e5f7c4e3fa29b02c8b06ae7855353">execute</a>(<span class="keyword">const</span> std::string command);</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> </div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> <span class="keyword">static</span> std::shared_ptr&lt;ffmpegkit::FFmpegSession&gt; <a class="code hl_function" href="../../db/d71/classffmpegkit_1_1_f_fmpeg_kit.html#a9e37e134521dfe25070b7525cd2cacd4">executeAsync</a>(<span class="keyword">const</span> std::string command, <a class="code hl_typedef" href="../../d2/d25/namespaceffmpegkit.html#afc007c369cdeebeca5cbf663ab966443">FFmpegSessionCompleteCallback</a> completeCallback);</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> </div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> <span class="keyword">static</span> std::shared_ptr&lt;ffmpegkit::FFmpegSession&gt; <a class="code hl_function" href="../../db/d71/classffmpegkit_1_1_f_fmpeg_kit.html#a9e37e134521dfe25070b7525cd2cacd4">executeAsync</a>(<span class="keyword">const</span> std::string command, <a class="code hl_typedef" href="../../d2/d25/namespaceffmpegkit.html#afc007c369cdeebeca5cbf663ab966443">FFmpegSessionCompleteCallback</a> completeCallback, <a class="code hl_typedef" href="../../d2/d25/namespaceffmpegkit.html#a961de60de61ed79c2c7dfee08c9fa939">ffmpegkit::LogCallback</a> <a class="code hl_variable" href="../../d8/d45/_f_fmpeg_kit_config_8cpp.html#a7e70dcb2518bb21bffb91bdd7133d329">logCallback</a>, <a class="code hl_typedef" href="../../d2/d25/namespaceffmpegkit.html#a250a65ad52e13fa88362845eb4b848ef">ffmpegkit::StatisticsCallback</a> <a class="code hl_variable" href="../../d8/d45/_f_fmpeg_kit_config_8cpp.html#a94447b62a78f7c737729ced2596527d2">statisticsCallback</a>);</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> </div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../db/d71/classffmpegkit_1_1_f_fmpeg_kit.html#adffdb985f9d0d0c62e5258719eb16e95">cancel</a>();</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> </div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../db/d71/classffmpegkit_1_1_f_fmpeg_kit.html#adffdb985f9d0d0c62e5258719eb16e95">cancel</a>(<span class="keyword">const</span> <span class="keywordtype">long</span> sessionId);</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> </div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> <span class="keyword">static</span> std::shared_ptr&lt;std::list&lt;std::shared_ptr&lt;ffmpegkit::FFmpegSession&gt;&gt;&gt; <a class="code hl_function" href="../../db/d71/classffmpegkit_1_1_f_fmpeg_kit.html#a77729f9b4d54caa00602be422a4c0fa9">listSessions</a>();</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> </div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> };</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> </div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span>}</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> </div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span><span class="preprocessor">#endif </span><span class="comment">// FFMPEG_KIT_H</span></div>
<div class="ttc" id="a_f_fmpeg_kit_config_8cpp_html_a7e70dcb2518bb21bffb91bdd7133d329"><div class="ttname"><a href="../../d8/d45/_f_fmpeg_kit_config_8cpp.html#a7e70dcb2518bb21bffb91bdd7133d329">logCallback</a></div><div class="ttdeci">static ffmpegkit::LogCallback logCallback</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l00069">FFmpegKitConfig.cpp:69</a></div></div>
<div class="ttc" id="a_f_fmpeg_kit_config_8cpp_html_a94447b62a78f7c737729ced2596527d2"><div class="ttname"><a href="../../d8/d45/_f_fmpeg_kit_config_8cpp.html#a94447b62a78f7c737729ced2596527d2">statisticsCallback</a></div><div class="ttdeci">static ffmpegkit::StatisticsCallback statisticsCallback</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d45/_f_fmpeg_kit_config_8cpp_source.html#l00072">FFmpegKitConfig.cpp:72</a></div></div>
<div class="ttc" id="a_f_fmpeg_session_8h_html"><div class="ttname"><a href="../../d2/def/_f_fmpeg_session_8h.html">FFmpegSession.h</a></div></div>
<div class="ttc" id="a_log_callback_8h_html"><div class="ttname"><a href="../../d4/daf/_log_callback_8h.html">LogCallback.h</a></div></div>
<div class="ttc" id="a_statistics_callback_8h_html"><div class="ttname"><a href="../../d6/df1/_statistics_callback_8h.html">StatisticsCallback.h</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_html"><div class="ttname"><a href="../../db/d71/classffmpegkit_1_1_f_fmpeg_kit.html">ffmpegkit::FFmpegKit</a></div><div class="ttdef"><b>Definition</b> <a href="../../df/d99/_f_fmpeg_kit_8h_source.html#l00044">FFmpegKit.h:44</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_html_a77729f9b4d54caa00602be422a4c0fa9"><div class="ttname"><a href="../../db/d71/classffmpegkit_1_1_f_fmpeg_kit.html#a77729f9b4d54caa00602be422a4c0fa9">ffmpegkit::FFmpegKit::listSessions</a></div><div class="ttdeci">static std::shared_ptr&lt; std::list&lt; std::shared_ptr&lt; ffmpegkit::FFmpegSession &gt; &gt; &gt; listSessions()</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d78/_f_fmpeg_kit_8cpp_source.html#l00082">FFmpegKit.cpp:82</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_html_a78eb16ecc7165aca610dec5116d7a172"><div class="ttname"><a href="../../db/d71/classffmpegkit_1_1_f_fmpeg_kit.html#a78eb16ecc7165aca610dec5116d7a172">ffmpegkit::FFmpegKit::executeWithArgumentsAsync</a></div><div class="ttdeci">static std::shared_ptr&lt; ffmpegkit::FFmpegSession &gt; executeWithArgumentsAsync(const std::list&lt; std::string &gt; &amp;arguments, FFmpegSessionCompleteCallback completeCallback)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d78/_f_fmpeg_kit_8cpp_source.html#l00039">FFmpegKit.cpp:39</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_html_a801ee8a6735b0096452e050cc52eb84a"><div class="ttname"><a href="../../db/d71/classffmpegkit_1_1_f_fmpeg_kit.html#a801ee8a6735b0096452e050cc52eb84a">ffmpegkit::FFmpegKit::executeWithArguments</a></div><div class="ttdeci">static std::shared_ptr&lt; ffmpegkit::FFmpegSession &gt; executeWithArguments(const std::list&lt; std::string &gt; &amp;arguments)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d78/_f_fmpeg_kit_8cpp_source.html#l00033">FFmpegKit.cpp:33</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_html_a9e37e134521dfe25070b7525cd2cacd4"><div class="ttname"><a href="../../db/d71/classffmpegkit_1_1_f_fmpeg_kit.html#a9e37e134521dfe25070b7525cd2cacd4">ffmpegkit::FFmpegKit::executeAsync</a></div><div class="ttdeci">static std::shared_ptr&lt; ffmpegkit::FFmpegSession &gt; executeAsync(const std::string command, FFmpegSessionCompleteCallback completeCallback)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d78/_f_fmpeg_kit_8cpp_source.html#l00057">FFmpegKit.cpp:57</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_html_adffdb985f9d0d0c62e5258719eb16e95"><div class="ttname"><a href="../../db/d71/classffmpegkit_1_1_f_fmpeg_kit.html#adffdb985f9d0d0c62e5258719eb16e95">ffmpegkit::FFmpegKit::cancel</a></div><div class="ttdeci">static void cancel()</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d78/_f_fmpeg_kit_8cpp_source.html#l00069">FFmpegKit.cpp:69</a></div></div>
<div class="ttc" id="aclassffmpegkit_1_1_f_fmpeg_kit_html_ae91e5f7c4e3fa29b02c8b06ae7855353"><div class="ttname"><a href="../../db/d71/classffmpegkit_1_1_f_fmpeg_kit.html#ae91e5f7c4e3fa29b02c8b06ae7855353">ffmpegkit::FFmpegKit::execute</a></div><div class="ttdeci">static std::shared_ptr&lt; ffmpegkit::FFmpegSession &gt; execute(const std::string command)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d78/_f_fmpeg_kit_8cpp_source.html#l00051">FFmpegKit.cpp:51</a></div></div>
<div class="ttc" id="anamespaceffmpegkit_html"><div class="ttname"><a href="../../d2/d25/namespaceffmpegkit.html">ffmpegkit</a></div><div class="ttdef"><b>Definition</b> <a href="../../d9/d76/_abstract_session_8h_source.html#l00025">AbstractSession.h:25</a></div></div>
<div class="ttc" id="anamespaceffmpegkit_html_a250a65ad52e13fa88362845eb4b848ef"><div class="ttname"><a href="../../d2/d25/namespaceffmpegkit.html#a250a65ad52e13fa88362845eb4b848ef">ffmpegkit::StatisticsCallback</a></div><div class="ttdeci">std::function&lt; void(const std::shared_ptr&lt; ffmpegkit::Statistics &gt; statistics)&gt; StatisticsCallback</div><div class="ttdef"><b>Definition</b> <a href="../../d6/df1/_statistics_callback_8h_source.html#l00035">StatisticsCallback.h:35</a></div></div>
<div class="ttc" id="anamespaceffmpegkit_html_a961de60de61ed79c2c7dfee08c9fa939"><div class="ttname"><a href="../../d2/d25/namespaceffmpegkit.html#a961de60de61ed79c2c7dfee08c9fa939">ffmpegkit::LogCallback</a></div><div class="ttdeci">std::function&lt; void(const std::shared_ptr&lt; ffmpegkit::Log &gt; log)&gt; LogCallback</div><div class="ttdef"><b>Definition</b> <a href="../../d4/daf/_log_callback_8h_source.html#l00035">LogCallback.h:35</a></div></div>
<div class="ttc" id="anamespaceffmpegkit_html_afc007c369cdeebeca5cbf663ab966443"><div class="ttname"><a href="../../d2/d25/namespaceffmpegkit.html#afc007c369cdeebeca5cbf663ab966443">ffmpegkit::FFmpegSessionCompleteCallback</a></div><div class="ttdeci">std::function&lt; void(const std::shared_ptr&lt; ffmpegkit::FFmpegSession &gt; session)&gt; FFmpegSessionCompleteCallback</div><div class="ttdef"><b>Definition</b> <a href="../../d6/d47/_f_fmpeg_session_complete_callback_8h_source.html#l00052">FFmpegSessionCompleteCallback.h:52</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Aug 22 2023 01:27:12 for FFmpegKit Linux API by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
</small></address>
</body>
</html>
@@ -0,0 +1,670 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>FFmpegKit Linux API: ffmpegkit::MediaInformationSession Class Reference</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/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></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 id="projectrow">
<td id="projectlogo"><img alt="Logo" src="../../ffmpeg-kit-icon-v9-small.png"/></td>
<td id="projectalign">
<div id="projectname">FFmpegKit Linux API<span id="projectnumber">&#160;6.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../d2/d25/namespaceffmpegkit.html">ffmpegkit</a></li><li class="navelem"><a class="el" href="../../df/db7/classffmpegkit_1_1_media_information_session.html">MediaInformationSession</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> </div>
<div class="headertitle"><div class="title">ffmpegkit::MediaInformationSession Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="../../dd/d69/_media_information_session_8h_source.html">MediaInformationSession.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><b>PublicMediaInformationSession</b></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a873ee7cac5b463ef1afd5b5c15859033"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; <a class="el" href="../../df/d06/classffmpegkit_1_1_media_information.html">ffmpegkit::MediaInformation</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/db7/classffmpegkit_1_1_media_information_session.html#a873ee7cac5b463ef1afd5b5c15859033">getMediaInformation</a> ()</td></tr>
<tr class="separator:a873ee7cac5b463ef1afd5b5c15859033"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa44504230bc7f3b8983a238a64b49775"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/db7/classffmpegkit_1_1_media_information_session.html#aa44504230bc7f3b8983a238a64b49775">setMediaInformation</a> (const std::shared_ptr&lt; <a class="el" href="../../df/d06/classffmpegkit_1_1_media_information.html">ffmpegkit::MediaInformation</a> &gt; mediaInformation)</td></tr>
<tr class="separator:aa44504230bc7f3b8983a238a64b49775"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a907e4c65f883904788479e61471863e7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d2/d25/namespaceffmpegkit.html#a909392d52220d37ab6e39bd7f4d6abb1">ffmpegkit::MediaInformationSessionCompleteCallback</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/db7/classffmpegkit_1_1_media_information_session.html#a907e4c65f883904788479e61471863e7">getCompleteCallback</a> ()</td></tr>
<tr class="separator:a907e4c65f883904788479e61471863e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8564e2ec6735cb868c6d78dbc33554f5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/db7/classffmpegkit_1_1_media_information_session.html#a8564e2ec6735cb868c6d78dbc33554f5">isFFmpeg</a> () const override</td></tr>
<tr class="separator:a8564e2ec6735cb868c6d78dbc33554f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa95a1267abc565c3ffc3163085805cdf"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/db7/classffmpegkit_1_1_media_information_session.html#aa95a1267abc565c3ffc3163085805cdf">isFFprobe</a> () const override</td></tr>
<tr class="separator:aa95a1267abc565c3ffc3163085805cdf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb9c1dc1d62ca03a7474c9ace6e9fa89"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/db7/classffmpegkit_1_1_media_information_session.html#adb9c1dc1d62ca03a7474c9ace6e9fa89">isMediaInformation</a> () const override</td></tr>
<tr class="separator:adb9c1dc1d62ca03a7474c9ace6e9fa89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classffmpegkit_1_1_abstract_session"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classffmpegkit_1_1_abstract_session')"><img src="../../closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="../../d2/d41/classffmpegkit_1_1_abstract_session.html">ffmpegkit::AbstractSession</a></td></tr>
<tr class="memitem:a658aebc30e12e1076c136d046c46789a inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d41/classffmpegkit_1_1_abstract_session.html#a658aebc30e12e1076c136d046c46789a">AbstractSession</a> (const std::list&lt; std::string &gt; &amp;arguments, const <a class="el" href="../../d2/d25/namespaceffmpegkit.html#a961de60de61ed79c2c7dfee08c9fa939">ffmpegkit::LogCallback</a> <a class="el" href="../../d8/d45/_f_fmpeg_kit_config_8cpp.html#a7e70dcb2518bb21bffb91bdd7133d329">logCallback</a>, const <a class="el" href="../../d2/d25/namespaceffmpegkit.html#a11bee89be98423d1dc425a2849001ebe">LogRedirectionStrategy</a> logRedirectionStrategy)</td></tr>
<tr class="separator:a658aebc30e12e1076c136d046c46789a inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a832b37343ce2013ed93720b341cf3563 inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d41/classffmpegkit_1_1_abstract_session.html#a832b37343ce2013ed93720b341cf3563">waitForAsynchronousMessagesInTransmit</a> (const <a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a> timeout) const</td></tr>
<tr class="separator:a832b37343ce2013ed93720b341cf3563 inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c293803198b3a3aa137efc80bcbf7ab inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d2/d25/namespaceffmpegkit.html#a961de60de61ed79c2c7dfee08c9fa939">ffmpegkit::LogCallback</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d41/classffmpegkit_1_1_abstract_session.html#a5c293803198b3a3aa137efc80bcbf7ab">getLogCallback</a> () const override</td></tr>
<tr class="separator:a5c293803198b3a3aa137efc80bcbf7ab inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3053747e2f546263d68dbdd698f7234b inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d41/classffmpegkit_1_1_abstract_session.html#a3053747e2f546263d68dbdd698f7234b">getSessionId</a> () const override</td></tr>
<tr class="separator:a3053747e2f546263d68dbdd698f7234b inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6275bb3c30d03d2206592278185d42b4 inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memItemLeft" align="right" valign="top">std::chrono::time_point&lt; std::chrono::system_clock &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d41/classffmpegkit_1_1_abstract_session.html#a6275bb3c30d03d2206592278185d42b4">getCreateTime</a> () const override</td></tr>
<tr class="separator:a6275bb3c30d03d2206592278185d42b4 inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaffadb42d205ff5df0f03e32f190d01d inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memItemLeft" align="right" valign="top">std::chrono::time_point&lt; std::chrono::system_clock &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d41/classffmpegkit_1_1_abstract_session.html#aaffadb42d205ff5df0f03e32f190d01d">getStartTime</a> () const override</td></tr>
<tr class="separator:aaffadb42d205ff5df0f03e32f190d01d inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42c94094ebb152fd0dee322e28f1c832 inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memItemLeft" align="right" valign="top">std::chrono::time_point&lt; std::chrono::system_clock &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d41/classffmpegkit_1_1_abstract_session.html#a42c94094ebb152fd0dee322e28f1c832">getEndTime</a> () const override</td></tr>
<tr class="separator:a42c94094ebb152fd0dee322e28f1c832 inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e6c6f9f02c25cd8b3094f3fb388a581 inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d41/classffmpegkit_1_1_abstract_session.html#a2e6c6f9f02c25cd8b3094f3fb388a581">getDuration</a> () const override</td></tr>
<tr class="separator:a2e6c6f9f02c25cd8b3094f3fb388a581 inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad64ef04aef27be8ff64610906e3f1a6b inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; std::list&lt; std::string &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d41/classffmpegkit_1_1_abstract_session.html#ad64ef04aef27be8ff64610906e3f1a6b">getArguments</a> () const override</td></tr>
<tr class="separator:ad64ef04aef27be8ff64610906e3f1a6b inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abbff9035abb4be844fdec3c1bb85ad7f inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d41/classffmpegkit_1_1_abstract_session.html#abbff9035abb4be844fdec3c1bb85ad7f">getCommand</a> () const override</td></tr>
<tr class="separator:abbff9035abb4be844fdec3c1bb85ad7f inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8956c557d46197a5c9692493d9767039 inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; std::list&lt; std::shared_ptr&lt; <a class="el" href="../../db/d1c/classffmpegkit_1_1_log.html">ffmpegkit::Log</a> &gt; &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d41/classffmpegkit_1_1_abstract_session.html#a8956c557d46197a5c9692493d9767039">getAllLogsWithTimeout</a> (const <a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a> waitTimeout) const override</td></tr>
<tr class="separator:a8956c557d46197a5c9692493d9767039 inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac9ea68506e6850c61129387e9267f8b inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; std::list&lt; std::shared_ptr&lt; <a class="el" href="../../db/d1c/classffmpegkit_1_1_log.html">ffmpegkit::Log</a> &gt; &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d41/classffmpegkit_1_1_abstract_session.html#aac9ea68506e6850c61129387e9267f8b">getAllLogs</a> () const override</td></tr>
<tr class="separator:aac9ea68506e6850c61129387e9267f8b inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf48bfff50be8766d896a718ae3c7102 inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; std::list&lt; std::shared_ptr&lt; <a class="el" href="../../db/d1c/classffmpegkit_1_1_log.html">ffmpegkit::Log</a> &gt; &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d41/classffmpegkit_1_1_abstract_session.html#adf48bfff50be8766d896a718ae3c7102">getLogs</a> () const override</td></tr>
<tr class="separator:adf48bfff50be8766d896a718ae3c7102 inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adff747b9c88db9c08dcdba0998bfd4fd inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d41/classffmpegkit_1_1_abstract_session.html#adff747b9c88db9c08dcdba0998bfd4fd">getAllLogsAsStringWithTimeout</a> (const <a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a> waitTimeout) const override</td></tr>
<tr class="separator:adff747b9c88db9c08dcdba0998bfd4fd inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45ae0bcffbc0941e69b504e8f9597509 inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d41/classffmpegkit_1_1_abstract_session.html#a45ae0bcffbc0941e69b504e8f9597509">getAllLogsAsString</a> () const override</td></tr>
<tr class="separator:a45ae0bcffbc0941e69b504e8f9597509 inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a8031eeb92a9857cc8c8273b80d6d9e inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d41/classffmpegkit_1_1_abstract_session.html#a2a8031eeb92a9857cc8c8273b80d6d9e">getLogsAsString</a> () const override</td></tr>
<tr class="separator:a2a8031eeb92a9857cc8c8273b80d6d9e inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c0bf6d0eefd029d9c077dd04b557e20 inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d41/classffmpegkit_1_1_abstract_session.html#a4c0bf6d0eefd029d9c077dd04b557e20">getOutput</a> () const override</td></tr>
<tr class="separator:a4c0bf6d0eefd029d9c077dd04b557e20 inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac09abdfa6ca35b9e47c63e91051e2dd6 inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d2/d25/namespaceffmpegkit.html#a6d76b34ad27245e8ba161c8f30ab5c8f">ffmpegkit::SessionState</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d41/classffmpegkit_1_1_abstract_session.html#ac09abdfa6ca35b9e47c63e91051e2dd6">getState</a> () const override</td></tr>
<tr class="separator:ac09abdfa6ca35b9e47c63e91051e2dd6 inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a831bba85f9e0f0011e0ef2a5a0416b05 inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; <a class="el" href="../../d4/dcf/classffmpegkit_1_1_return_code.html">ffmpegkit::ReturnCode</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d41/classffmpegkit_1_1_abstract_session.html#a831bba85f9e0f0011e0ef2a5a0416b05">getReturnCode</a> () const override</td></tr>
<tr class="separator:a831bba85f9e0f0011e0ef2a5a0416b05 inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab2db6272ef27d49949107f1d7657cadc inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d41/classffmpegkit_1_1_abstract_session.html#ab2db6272ef27d49949107f1d7657cadc">getFailStackTrace</a> () const override</td></tr>
<tr class="separator:ab2db6272ef27d49949107f1d7657cadc inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae123c336330266b34a01da81c7b9b0bb inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d2/d25/namespaceffmpegkit.html#a11bee89be98423d1dc425a2849001ebe">ffmpegkit::LogRedirectionStrategy</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d41/classffmpegkit_1_1_abstract_session.html#ae123c336330266b34a01da81c7b9b0bb">getLogRedirectionStrategy</a> () const override</td></tr>
<tr class="separator:ae123c336330266b34a01da81c7b9b0bb inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9a016f249e55408155bc4961329e788 inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d41/classffmpegkit_1_1_abstract_session.html#ac9a016f249e55408155bc4961329e788">thereAreAsynchronousMessagesInTransmit</a> () const override</td></tr>
<tr class="separator:ac9a016f249e55408155bc4961329e788 inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a528caf04c52d6d49b9c04aa11d4cac inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d41/classffmpegkit_1_1_abstract_session.html#a2a528caf04c52d6d49b9c04aa11d4cac">addLog</a> (const std::shared_ptr&lt; <a class="el" href="../../db/d1c/classffmpegkit_1_1_log.html">ffmpegkit::Log</a> &gt; log) override</td></tr>
<tr class="separator:a2a528caf04c52d6d49b9c04aa11d4cac inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f6474fffd31aab725847249432bf659 inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d41/classffmpegkit_1_1_abstract_session.html#a8f6474fffd31aab725847249432bf659">startRunning</a> () override</td></tr>
<tr class="separator:a8f6474fffd31aab725847249432bf659 inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d5be42b5576ee247627d113f74ec851 inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d41/classffmpegkit_1_1_abstract_session.html#a9d5be42b5576ee247627d113f74ec851">complete</a> (const std::shared_ptr&lt; <a class="el" href="../../d4/dcf/classffmpegkit_1_1_return_code.html">ffmpegkit::ReturnCode</a> &gt; returnCode) override</td></tr>
<tr class="separator:a9d5be42b5576ee247627d113f74ec851 inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a028bdf7bd5506d9a9c574db0970bf0c2 inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d41/classffmpegkit_1_1_abstract_session.html#a028bdf7bd5506d9a9c574db0970bf0c2">fail</a> (const char *error) override</td></tr>
<tr class="separator:a028bdf7bd5506d9a9c574db0970bf0c2 inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1de92273a4f99fd1afd1333845a50081 inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d41/classffmpegkit_1_1_abstract_session.html#a1de92273a4f99fd1afd1333845a50081">isFFmpeg</a> () const override</td></tr>
<tr class="separator:a1de92273a4f99fd1afd1333845a50081 inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afcd5ca2f7f654ca06feaef2de3993a34 inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d41/classffmpegkit_1_1_abstract_session.html#afcd5ca2f7f654ca06feaef2de3993a34">isFFprobe</a> () const override</td></tr>
<tr class="separator:afcd5ca2f7f654ca06feaef2de3993a34 inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7d0123e0b30a1adb727bdf2173d3313 inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d41/classffmpegkit_1_1_abstract_session.html#ae7d0123e0b30a1adb727bdf2173d3313">isMediaInformation</a> () const override</td></tr>
<tr class="separator:ae7d0123e0b30a1adb727bdf2173d3313 inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af67c25c9ba25ec224c70cfffe69e88be inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d41/classffmpegkit_1_1_abstract_session.html#af67c25c9ba25ec224c70cfffe69e88be">cancel</a> () override</td></tr>
<tr class="separator:af67c25c9ba25ec224c70cfffe69e88be inherit pub_methods_classffmpegkit_1_1_abstract_session"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f53bebf7a57af94915b55d0ed843f2e"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="../../d2/d25/namespaceffmpegkit.html#a961de60de61ed79c2c7dfee08c9fa939">ffmpegkit::LogCallback</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d0e/classffmpegkit_1_1_session.html#a8f53bebf7a57af94915b55d0ed843f2e">getLogCallback</a> () const =0</td></tr>
<tr class="separator:a8f53bebf7a57af94915b55d0ed843f2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8cc37ef959603974566a41bf8b350afd"><td class="memItemLeft" align="right" valign="top">virtual long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d0e/classffmpegkit_1_1_session.html#a8cc37ef959603974566a41bf8b350afd">getSessionId</a> () const =0</td></tr>
<tr class="separator:a8cc37ef959603974566a41bf8b350afd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb1d4b92c56f2f44933e0732649f5d28"><td class="memItemLeft" align="right" valign="top">virtual std::chrono::time_point&lt; std::chrono::system_clock &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d0e/classffmpegkit_1_1_session.html#aeb1d4b92c56f2f44933e0732649f5d28">getCreateTime</a> () const =0</td></tr>
<tr class="separator:aeb1d4b92c56f2f44933e0732649f5d28"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd4db6d319af9cf410cd055b49fec530"><td class="memItemLeft" align="right" valign="top">virtual std::chrono::time_point&lt; std::chrono::system_clock &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d0e/classffmpegkit_1_1_session.html#acd4db6d319af9cf410cd055b49fec530">getStartTime</a> () const =0</td></tr>
<tr class="separator:acd4db6d319af9cf410cd055b49fec530"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58e0e9f2d869fc72cdb0abaf7d4e9f0d"><td class="memItemLeft" align="right" valign="top">virtual std::chrono::time_point&lt; std::chrono::system_clock &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d0e/classffmpegkit_1_1_session.html#a58e0e9f2d869fc72cdb0abaf7d4e9f0d">getEndTime</a> () const =0</td></tr>
<tr class="separator:a58e0e9f2d869fc72cdb0abaf7d4e9f0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c29ba3c1d1e7cf98ad1cd33ccf80496"><td class="memItemLeft" align="right" valign="top">virtual long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d0e/classffmpegkit_1_1_session.html#a2c29ba3c1d1e7cf98ad1cd33ccf80496">getDuration</a> () const =0</td></tr>
<tr class="separator:a2c29ba3c1d1e7cf98ad1cd33ccf80496"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5459bec099b3c8c0a940f88e7b09e435"><td class="memItemLeft" align="right" valign="top">virtual std::shared_ptr&lt; std::list&lt; std::string &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d0e/classffmpegkit_1_1_session.html#a5459bec099b3c8c0a940f88e7b09e435">getArguments</a> () const =0</td></tr>
<tr class="separator:a5459bec099b3c8c0a940f88e7b09e435"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0335e493390f541b3990955cf58effb"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d0e/classffmpegkit_1_1_session.html#ad0335e493390f541b3990955cf58effb">getCommand</a> () const =0</td></tr>
<tr class="separator:ad0335e493390f541b3990955cf58effb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5008380013f00eea22232f8191839546"><td class="memItemLeft" align="right" valign="top">virtual std::shared_ptr&lt; std::list&lt; std::shared_ptr&lt; <a class="el" href="../../db/d1c/classffmpegkit_1_1_log.html">ffmpegkit::Log</a> &gt; &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d0e/classffmpegkit_1_1_session.html#a5008380013f00eea22232f8191839546">getAllLogsWithTimeout</a> (const <a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a> waitTimeout) const =0</td></tr>
<tr class="separator:a5008380013f00eea22232f8191839546"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10c18e9662ed4a57209e2fac7d453a8b"><td class="memItemLeft" align="right" valign="top">virtual std::shared_ptr&lt; std::list&lt; std::shared_ptr&lt; <a class="el" href="../../db/d1c/classffmpegkit_1_1_log.html">ffmpegkit::Log</a> &gt; &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d0e/classffmpegkit_1_1_session.html#a10c18e9662ed4a57209e2fac7d453a8b">getAllLogs</a> () const =0</td></tr>
<tr class="separator:a10c18e9662ed4a57209e2fac7d453a8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a758d3dbdcf80d0e95ba68ebba514ae47"><td class="memItemLeft" align="right" valign="top">virtual std::shared_ptr&lt; std::list&lt; std::shared_ptr&lt; <a class="el" href="../../db/d1c/classffmpegkit_1_1_log.html">ffmpegkit::Log</a> &gt; &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d0e/classffmpegkit_1_1_session.html#a758d3dbdcf80d0e95ba68ebba514ae47">getLogs</a> () const =0</td></tr>
<tr class="separator:a758d3dbdcf80d0e95ba68ebba514ae47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16fb68a703d240c6e0f24cb69e445f27"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d0e/classffmpegkit_1_1_session.html#a16fb68a703d240c6e0f24cb69e445f27">getAllLogsAsStringWithTimeout</a> (const <a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a> waitTimeout) const =0</td></tr>
<tr class="separator:a16fb68a703d240c6e0f24cb69e445f27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07cac9cccb5c166fcc62e6f24e66bf81"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d0e/classffmpegkit_1_1_session.html#a07cac9cccb5c166fcc62e6f24e66bf81">getAllLogsAsString</a> () const =0</td></tr>
<tr class="separator:a07cac9cccb5c166fcc62e6f24e66bf81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac710f753ff41150e149f30108a6a9902"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d0e/classffmpegkit_1_1_session.html#ac710f753ff41150e149f30108a6a9902">getLogsAsString</a> () const =0</td></tr>
<tr class="separator:ac710f753ff41150e149f30108a6a9902"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3132ed21a2856ccea1bc53f13747b9d1"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d0e/classffmpegkit_1_1_session.html#a3132ed21a2856ccea1bc53f13747b9d1">getOutput</a> () const =0</td></tr>
<tr class="separator:a3132ed21a2856ccea1bc53f13747b9d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4975f0b84898dbf73a2d735dc9fed41"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="../../d2/d25/namespaceffmpegkit.html#a6d76b34ad27245e8ba161c8f30ab5c8f">ffmpegkit::SessionState</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d0e/classffmpegkit_1_1_session.html#ad4975f0b84898dbf73a2d735dc9fed41">getState</a> () const =0</td></tr>
<tr class="separator:ad4975f0b84898dbf73a2d735dc9fed41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4bc69e15e791b64b31bfc769ad92da5"><td class="memItemLeft" align="right" valign="top">virtual std::shared_ptr&lt; <a class="el" href="../../d4/dcf/classffmpegkit_1_1_return_code.html">ffmpegkit::ReturnCode</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d0e/classffmpegkit_1_1_session.html#ac4bc69e15e791b64b31bfc769ad92da5">getReturnCode</a> () const =0</td></tr>
<tr class="separator:ac4bc69e15e791b64b31bfc769ad92da5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84d46f5c402e5513b73be1a044052894"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d0e/classffmpegkit_1_1_session.html#a84d46f5c402e5513b73be1a044052894">getFailStackTrace</a> () const =0</td></tr>
<tr class="separator:a84d46f5c402e5513b73be1a044052894"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a279d6f2564448ff711d03401fd1e18ba"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="../../d2/d25/namespaceffmpegkit.html#a11bee89be98423d1dc425a2849001ebe">LogRedirectionStrategy</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d0e/classffmpegkit_1_1_session.html#a279d6f2564448ff711d03401fd1e18ba">getLogRedirectionStrategy</a> () const =0</td></tr>
<tr class="separator:a279d6f2564448ff711d03401fd1e18ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a336e447eeb089650b5d31cb655e1e74f"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d0e/classffmpegkit_1_1_session.html#a336e447eeb089650b5d31cb655e1e74f">thereAreAsynchronousMessagesInTransmit</a> () const =0</td></tr>
<tr class="separator:a336e447eeb089650b5d31cb655e1e74f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45b8d00f933834b0315672b82e44d14c"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d0e/classffmpegkit_1_1_session.html#a45b8d00f933834b0315672b82e44d14c">addLog</a> (const std::shared_ptr&lt; <a class="el" href="../../db/d1c/classffmpegkit_1_1_log.html">ffmpegkit::Log</a> &gt; log)=0</td></tr>
<tr class="separator:a45b8d00f933834b0315672b82e44d14c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae1197238a848be3de55c3d38a070ebd"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d0e/classffmpegkit_1_1_session.html#aae1197238a848be3de55c3d38a070ebd">startRunning</a> ()=0</td></tr>
<tr class="separator:aae1197238a848be3de55c3d38a070ebd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ee68d280a2a15dc654e547273b91116"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d0e/classffmpegkit_1_1_session.html#a4ee68d280a2a15dc654e547273b91116">complete</a> (const std::shared_ptr&lt; <a class="el" href="../../d4/dcf/classffmpegkit_1_1_return_code.html">ffmpegkit::ReturnCode</a> &gt; returnCode)=0</td></tr>
<tr class="separator:a4ee68d280a2a15dc654e547273b91116"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0437449324dc9c28a6abbee57b97b478"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d0e/classffmpegkit_1_1_session.html#a0437449324dc9c28a6abbee57b97b478">fail</a> (const char *error)=0</td></tr>
<tr class="separator:a0437449324dc9c28a6abbee57b97b478"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4f761bdc94926fb9ec97f21d2a7df02"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d0e/classffmpegkit_1_1_session.html#ad4f761bdc94926fb9ec97f21d2a7df02">isFFmpeg</a> () const =0</td></tr>
<tr class="separator:ad4f761bdc94926fb9ec97f21d2a7df02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2486e9f904b06d9eae1a4a8a047c22ff"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d0e/classffmpegkit_1_1_session.html#a2486e9f904b06d9eae1a4a8a047c22ff">isFFprobe</a> () const =0</td></tr>
<tr class="separator:a2486e9f904b06d9eae1a4a8a047c22ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf6734f48296077fd8a7644960c2e08b"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d0e/classffmpegkit_1_1_session.html#abf6734f48296077fd8a7644960c2e08b">isMediaInformation</a> () const =0</td></tr>
<tr class="separator:abf6734f48296077fd8a7644960c2e08b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6e3e93db2042cc25796ca4d3e4135c7"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d0e/classffmpegkit_1_1_session.html#ab6e3e93db2042cc25796ca4d3e4135c7">cancel</a> ()=0</td></tr>
<tr class="separator:ab6e3e93db2042cc25796ca4d3e4135c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:ad7a30a294d7c9e46b9154c0c50ab1fcb"><td class="memItemLeft" align="right" valign="top">static std::shared_ptr&lt; <a class="el" href="../../df/db7/classffmpegkit_1_1_media_information_session.html">ffmpegkit::MediaInformationSession</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/db7/classffmpegkit_1_1_media_information_session.html#ad7a30a294d7c9e46b9154c0c50ab1fcb">create</a> (const std::list&lt; std::string &gt; &amp;arguments)</td></tr>
<tr class="separator:ad7a30a294d7c9e46b9154c0c50ab1fcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0bff70498a0eb11083ab7840038b6091"><td class="memItemLeft" align="right" valign="top">static std::shared_ptr&lt; <a class="el" href="../../df/db7/classffmpegkit_1_1_media_information_session.html">ffmpegkit::MediaInformationSession</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/db7/classffmpegkit_1_1_media_information_session.html#a0bff70498a0eb11083ab7840038b6091">create</a> (const std::list&lt; std::string &gt; &amp;arguments, <a class="el" href="../../d2/d25/namespaceffmpegkit.html#a909392d52220d37ab6e39bd7f4d6abb1">ffmpegkit::MediaInformationSessionCompleteCallback</a> completeCallback)</td></tr>
<tr class="separator:a0bff70498a0eb11083ab7840038b6091"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1cbd477c991e242ea5511d8452388d23"><td class="memItemLeft" align="right" valign="top">static std::shared_ptr&lt; <a class="el" href="../../df/db7/classffmpegkit_1_1_media_information_session.html">ffmpegkit::MediaInformationSession</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/db7/classffmpegkit_1_1_media_information_session.html#a1cbd477c991e242ea5511d8452388d23">create</a> (const std::list&lt; std::string &gt; &amp;arguments, <a class="el" href="../../d2/d25/namespaceffmpegkit.html#a909392d52220d37ab6e39bd7f4d6abb1">ffmpegkit::MediaInformationSessionCompleteCallback</a> completeCallback, <a class="el" href="../../d2/d25/namespaceffmpegkit.html#a961de60de61ed79c2c7dfee08c9fa939">ffmpegkit::LogCallback</a> <a class="el" href="../../d8/d45/_f_fmpeg_kit_config_8cpp.html#a7e70dcb2518bb21bffb91bdd7133d329">logCallback</a>)</td></tr>
<tr class="separator:a1cbd477c991e242ea5511d8452388d23"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-methods" name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:a6fe92d0ae4c015febf19cb5e010cfeb7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/db7/classffmpegkit_1_1_media_information_session.html#a6fe92d0ae4c015febf19cb5e010cfeb7">MediaInformationSession</a> (const std::list&lt; std::string &gt; &amp;arguments, <a class="el" href="../../d2/d25/namespaceffmpegkit.html#a909392d52220d37ab6e39bd7f4d6abb1">ffmpegkit::MediaInformationSessionCompleteCallback</a> completeCallback, <a class="el" href="../../d2/d25/namespaceffmpegkit.html#a961de60de61ed79c2c7dfee08c9fa939">ffmpegkit::LogCallback</a> <a class="el" href="../../d8/d45/_f_fmpeg_kit_config_8cpp.html#a7e70dcb2518bb21bffb91bdd7133d329">logCallback</a>)</td></tr>
<tr class="separator:a6fe92d0ae4c015febf19cb5e010cfeb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-attribs" name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a2bd1acba0891ff9ccc965ee24902d86d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d2/d25/namespaceffmpegkit.html#a909392d52220d37ab6e39bd7f4d6abb1">ffmpegkit::MediaInformationSessionCompleteCallback</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/db7/classffmpegkit_1_1_media_information_session.html#a2bd1acba0891ff9ccc965ee24902d86d">_completeCallback</a></td></tr>
<tr class="separator:a2bd1acba0891ff9ccc965ee24902d86d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6110474e9292e78307329fbb82df4e34"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; <a class="el" href="../../df/d06/classffmpegkit_1_1_media_information.html">ffmpegkit::MediaInformation</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/db7/classffmpegkit_1_1_media_information_session.html#a6110474e9292e78307329fbb82df4e34">_mediaInformation</a></td></tr>
<tr class="separator:a6110474e9292e78307329fbb82df4e34"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="inherited" name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_static_attribs_classffmpegkit_1_1_abstract_session"><td colspan="2" onclick="javascript:toggleInherit('pub_static_attribs_classffmpegkit_1_1_abstract_session')"><img src="../../closed.png" alt="-"/>&#160;Static Public Attributes inherited from <a class="el" href="../../d2/d41/classffmpegkit_1_1_abstract_session.html">ffmpegkit::AbstractSession</a></td></tr>
<tr class="memitem:aeb2c6594ab8cb5c6a186911716e7ce19 inherit pub_static_attribs_classffmpegkit_1_1_abstract_session"><td class="memItemLeft" align="right" valign="top">static constexpr <a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d41/classffmpegkit_1_1_abstract_session.html#aeb2c6594ab8cb5c6a186911716e7ce19">DefaultTimeoutForAsynchronousMessagesInTransmit</a> = 5000</td></tr>
<tr class="separator:aeb2c6594ab8cb5c6a186911716e7ce19 inherit pub_static_attribs_classffmpegkit_1_1_abstract_session"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A custom FFprobe session, which produces a <code><a class="el" href="../../df/d06/classffmpegkit_1_1_media_information.html">MediaInformation</a></code> object using the FFprobe output. </p>
<p class="definition">Definition at line <a class="el" href="../../dd/d69/_media_information_session_8h_source.html#l00033">33</a> of file <a class="el" href="../../dd/d69/_media_information_session_8h_source.html">MediaInformationSession.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a6fe92d0ae4c015febf19cb5e010cfeb7" name="a6fe92d0ae4c015febf19cb5e010cfeb7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6fe92d0ae4c015febf19cb5e010cfeb7">&#9670;&#160;</a></span>MediaInformationSession()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ffmpegkit::MediaInformationSession::MediaInformationSession </td>
<td>(</td>
<td class="paramtype">const std::list&lt; std::string &gt; &amp;&#160;</td>
<td class="paramname"><em>arguments</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/d25/namespaceffmpegkit.html#a909392d52220d37ab6e39bd7f4d6abb1">ffmpegkit::MediaInformationSessionCompleteCallback</a>&#160;</td>
<td class="paramname"><em>completeCallback</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/d25/namespaceffmpegkit.html#a961de60de61ed79c2c7dfee08c9fa939">ffmpegkit::LogCallback</a>&#160;</td>
<td class="paramname"><em>logCallback</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a new media information session.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">arguments</td><td>command arguments </td></tr>
<tr><td class="paramname">completeCallback</td><td>session specific complete callback </td></tr>
<tr><td class="paramname">logCallback</td><td>session specific log callback </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="../../d3/d5d/_media_information_session_8cpp_source.html#l00050">50</a> of file <a class="el" href="../../d3/d5d/_media_information_session_8cpp_source.html">MediaInformationSession.cpp</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ad7a30a294d7c9e46b9154c0c50ab1fcb" name="ad7a30a294d7c9e46b9154c0c50ab1fcb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad7a30a294d7c9e46b9154c0c50ab1fcb">&#9670;&#160;</a></span>create() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt; <a class="el" href="../../df/db7/classffmpegkit_1_1_media_information_session.html">ffmpegkit::MediaInformationSession</a> &gt; ffmpegkit::MediaInformationSession::create </td>
<td>(</td>
<td class="paramtype">const std::list&lt; std::string &gt; &amp;&#160;</td>
<td class="paramname"><em>arguments</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a new media information session.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">arguments</td><td>command arguments </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>created session </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../d3/d5d/_media_information_session_8cpp_source.html#l00026">26</a> of file <a class="el" href="../../d3/d5d/_media_information_session_8cpp_source.html">MediaInformationSession.cpp</a>.</p>
</div>
</div>
<a id="a0bff70498a0eb11083ab7840038b6091" name="a0bff70498a0eb11083ab7840038b6091"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0bff70498a0eb11083ab7840038b6091">&#9670;&#160;</a></span>create() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt; <a class="el" href="../../df/db7/classffmpegkit_1_1_media_information_session.html">ffmpegkit::MediaInformationSession</a> &gt; ffmpegkit::MediaInformationSession::create </td>
<td>(</td>
<td class="paramtype">const std::list&lt; std::string &gt; &amp;&#160;</td>
<td class="paramname"><em>arguments</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/d25/namespaceffmpegkit.html#a909392d52220d37ab6e39bd7f4d6abb1">ffmpegkit::MediaInformationSessionCompleteCallback</a>&#160;</td>
<td class="paramname"><em>completeCallback</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a new media information session.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">arguments</td><td>command arguments </td></tr>
<tr><td class="paramname">completeCallback</td><td>session specific complete callback </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>created session </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../d3/d5d/_media_information_session_8cpp_source.html#l00032">32</a> of file <a class="el" href="../../d3/d5d/_media_information_session_8cpp_source.html">MediaInformationSession.cpp</a>.</p>
</div>
</div>
<a id="a1cbd477c991e242ea5511d8452388d23" name="a1cbd477c991e242ea5511d8452388d23"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1cbd477c991e242ea5511d8452388d23">&#9670;&#160;</a></span>create() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt; <a class="el" href="../../df/db7/classffmpegkit_1_1_media_information_session.html">ffmpegkit::MediaInformationSession</a> &gt; ffmpegkit::MediaInformationSession::create </td>
<td>(</td>
<td class="paramtype">const std::list&lt; std::string &gt; &amp;&#160;</td>
<td class="paramname"><em>arguments</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/d25/namespaceffmpegkit.html#a909392d52220d37ab6e39bd7f4d6abb1">ffmpegkit::MediaInformationSessionCompleteCallback</a>&#160;</td>
<td class="paramname"><em>completeCallback</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/d25/namespaceffmpegkit.html#a961de60de61ed79c2c7dfee08c9fa939">ffmpegkit::LogCallback</a>&#160;</td>
<td class="paramname"><em>logCallback</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a new media information session.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">arguments</td><td>command arguments </td></tr>
<tr><td class="paramname">completeCallback</td><td>session specific complete callback </td></tr>
<tr><td class="paramname">logCallback</td><td>session specific log callback </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>created session </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../d3/d5d/_media_information_session_8cpp_source.html#l00038">38</a> of file <a class="el" href="../../d3/d5d/_media_information_session_8cpp_source.html">MediaInformationSession.cpp</a>.</p>
</div>
</div>
<a id="a907e4c65f883904788479e61471863e7" name="a907e4c65f883904788479e61471863e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a907e4c65f883904788479e61471863e7">&#9670;&#160;</a></span>getCompleteCallback()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d2/d25/namespaceffmpegkit.html#a909392d52220d37ab6e39bd7f4d6abb1">ffmpegkit::MediaInformationSessionCompleteCallback</a> ffmpegkit::MediaInformationSession::getCompleteCallback </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the session specific complete callback.</p>
<dl class="section return"><dt>Returns</dt><dd>session specific complete callback </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../d3/d5d/_media_information_session_8cpp_source.html#l00062">62</a> of file <a class="el" href="../../d3/d5d/_media_information_session_8cpp_source.html">MediaInformationSession.cpp</a>.</p>
</div>
</div>
<a id="a873ee7cac5b463ef1afd5b5c15859033" name="a873ee7cac5b463ef1afd5b5c15859033"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a873ee7cac5b463ef1afd5b5c15859033">&#9670;&#160;</a></span>getMediaInformation()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt; <a class="el" href="../../df/d06/classffmpegkit_1_1_media_information.html">ffmpegkit::MediaInformation</a> &gt; ffmpegkit::MediaInformationSession::getMediaInformation </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the media information extracted in this session.</p>
<dl class="section return"><dt>Returns</dt><dd>media information extracted or nullptr if the command failed or the output can not be parsed </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../d3/d5d/_media_information_session_8cpp_source.html#l00054">54</a> of file <a class="el" href="../../d3/d5d/_media_information_session_8cpp_source.html">MediaInformationSession.cpp</a>.</p>
</div>
</div>
<a id="a8564e2ec6735cb868c6d78dbc33554f5" name="a8564e2ec6735cb868c6d78dbc33554f5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8564e2ec6735cb868c6d78dbc33554f5">&#9670;&#160;</a></span>isFFmpeg()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ffmpegkit::MediaInformationSession::isFFmpeg </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns whether it is an <code>FFmpeg</code> session or not.</p>
<dl class="section return"><dt>Returns</dt><dd>true if it is an <code>FFmpeg</code> session, false otherwise </dd></dl>
<p>Reimplemented from <a class="el" href="../../d2/d41/classffmpegkit_1_1_abstract_session.html#a1de92273a4f99fd1afd1333845a50081">ffmpegkit::AbstractSession</a>.</p>
<p class="definition">Definition at line <a class="el" href="../../d3/d5d/_media_information_session_8cpp_source.html#l00066">66</a> of file <a class="el" href="../../d3/d5d/_media_information_session_8cpp_source.html">MediaInformationSession.cpp</a>.</p>
</div>
</div>
<a id="aa95a1267abc565c3ffc3163085805cdf" name="aa95a1267abc565c3ffc3163085805cdf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa95a1267abc565c3ffc3163085805cdf">&#9670;&#160;</a></span>isFFprobe()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ffmpegkit::MediaInformationSession::isFFprobe </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns whether it is an <code>FFprobe</code> session or not.</p>
<dl class="section return"><dt>Returns</dt><dd>true if it is an <code>FFprobe</code> session, false otherwise </dd></dl>
<p>Reimplemented from <a class="el" href="../../d2/d41/classffmpegkit_1_1_abstract_session.html#afcd5ca2f7f654ca06feaef2de3993a34">ffmpegkit::AbstractSession</a>.</p>
<p class="definition">Definition at line <a class="el" href="../../d3/d5d/_media_information_session_8cpp_source.html#l00070">70</a> of file <a class="el" href="../../d3/d5d/_media_information_session_8cpp_source.html">MediaInformationSession.cpp</a>.</p>
</div>
</div>
<a id="adb9c1dc1d62ca03a7474c9ace6e9fa89" name="adb9c1dc1d62ca03a7474c9ace6e9fa89"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adb9c1dc1d62ca03a7474c9ace6e9fa89">&#9670;&#160;</a></span>isMediaInformation()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ffmpegkit::MediaInformationSession::isMediaInformation </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns whether it is a <code><a class="el" href="../../df/d06/classffmpegkit_1_1_media_information.html">MediaInformation</a></code> session or not.</p>
<dl class="section return"><dt>Returns</dt><dd>true if it is a <code><a class="el" href="../../df/d06/classffmpegkit_1_1_media_information.html">MediaInformation</a></code> session, false otherwise </dd></dl>
<p>Reimplemented from <a class="el" href="../../d2/d41/classffmpegkit_1_1_abstract_session.html#ae7d0123e0b30a1adb727bdf2173d3313">ffmpegkit::AbstractSession</a>.</p>
<p class="definition">Definition at line <a class="el" href="../../d3/d5d/_media_information_session_8cpp_source.html#l00074">74</a> of file <a class="el" href="../../d3/d5d/_media_information_session_8cpp_source.html">MediaInformationSession.cpp</a>.</p>
</div>
</div>
<a id="aa44504230bc7f3b8983a238a64b49775" name="aa44504230bc7f3b8983a238a64b49775"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa44504230bc7f3b8983a238a64b49775">&#9670;&#160;</a></span>setMediaInformation()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ffmpegkit::MediaInformationSession::setMediaInformation </td>
<td>(</td>
<td class="paramtype">const std::shared_ptr&lt; <a class="el" href="../../df/d06/classffmpegkit_1_1_media_information.html">ffmpegkit::MediaInformation</a> &gt;&#160;</td>
<td class="paramname"><em>mediaInformation</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the media information extracted in this session.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">mediaInformation</td><td>media information extracted </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="../../d3/d5d/_media_information_session_8cpp_source.html#l00058">58</a> of file <a class="el" href="../../d3/d5d/_media_information_session_8cpp_source.html">MediaInformationSession.cpp</a>.</p>
</div>
</div>
<h2 class="groupheader">Field Documentation</h2>
<a id="a2bd1acba0891ff9ccc965ee24902d86d" name="a2bd1acba0891ff9ccc965ee24902d86d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2bd1acba0891ff9ccc965ee24902d86d">&#9670;&#160;</a></span>_completeCallback</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d2/d25/namespaceffmpegkit.html#a909392d52220d37ab6e39bd7f4d6abb1">ffmpegkit::MediaInformationSessionCompleteCallback</a> ffmpegkit::MediaInformationSession::_completeCallback</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="../../dd/d69/_media_information_session_8h_source.html#l00119">119</a> of file <a class="el" href="../../dd/d69/_media_information_session_8h_source.html">MediaInformationSession.h</a>.</p>
</div>
</div>
<a id="a6110474e9292e78307329fbb82df4e34" name="a6110474e9292e78307329fbb82df4e34"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6110474e9292e78307329fbb82df4e34">&#9670;&#160;</a></span>_mediaInformation</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt;<a class="el" href="../../df/d06/classffmpegkit_1_1_media_information.html">ffmpegkit::MediaInformation</a>&gt; ffmpegkit::MediaInformationSession::_mediaInformation</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="../../dd/d69/_media_information_session_8h_source.html#l00120">120</a> of file <a class="el" href="../../dd/d69/_media_information_session_8h_source.html">MediaInformationSession.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="../../dd/d69/_media_information_session_8h_source.html">MediaInformationSession.h</a></li>
<li><a class="el" href="../../d3/d5d/_media_information_session_8cpp_source.html">MediaInformationSession.cpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Aug 22 2023 01:27:12 for FFmpegKit Linux API by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
</small></address>
</body>
</html>
@@ -0,0 +1,777 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>FFmpegKit Linux API: fftools_sync_queue.c File Reference</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/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></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 id="projectrow">
<td id="projectlogo"><img alt="Logo" src="../../ffmpeg-kit-icon-v9-small.png"/></td>
<td id="projectalign">
<div id="projectname">FFmpegKit Linux API<span id="projectnumber">&#160;6.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">fftools_sync_queue.c File Reference</div></div>
</div><!--header-->
<div class="contents">
<p><a href="../../df/dbb/fftools__sync__queue_8c_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d94/struct_sync_queue_stream.html">SyncQueueStream</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a391df52580e6c7620235f5f537793407"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="../../d2/d94/struct_sync_queue_stream.html">SyncQueueStream</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dbb/fftools__sync__queue_8c.html#a391df52580e6c7620235f5f537793407">SyncQueueStream</a></td></tr>
<tr class="separator:a391df52580e6c7620235f5f537793407"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:aaddc370144314c88f397d65246fa13c1"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dbb/fftools__sync__queue_8c.html#aaddc370144314c88f397d65246fa13c1">frame_move</a> (const <a class="el" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *sq, <a class="el" href="../../dc/df8/union_sync_queue_frame.html">SyncQueueFrame</a> dst, <a class="el" href="../../dc/df8/union_sync_queue_frame.html">SyncQueueFrame</a> src)</td></tr>
<tr class="separator:aaddc370144314c88f397d65246fa13c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a251ece02811fb8bd6385fbec33b6a8b4"><td class="memItemLeft" align="right" valign="top">static int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dbb/fftools__sync__queue_8c.html#a251ece02811fb8bd6385fbec33b6a8b4">frame_ts</a> (const <a class="el" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *sq, <a class="el" href="../../dc/df8/union_sync_queue_frame.html">SyncQueueFrame</a> frame)</td></tr>
<tr class="separator:a251ece02811fb8bd6385fbec33b6a8b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a870f9c9e4d1ac364766fc8a2c732484f"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dbb/fftools__sync__queue_8c.html#a870f9c9e4d1ac364766fc8a2c732484f">frame_null</a> (const <a class="el" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *sq, <a class="el" href="../../dc/df8/union_sync_queue_frame.html">SyncQueueFrame</a> frame)</td></tr>
<tr class="separator:a870f9c9e4d1ac364766fc8a2c732484f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e661314646fd1bb8fca507096f61787"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dbb/fftools__sync__queue_8c.html#a5e661314646fd1bb8fca507096f61787">finish_stream</a> (<a class="el" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *sq, unsigned <a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a> stream_idx)</td></tr>
<tr class="separator:a5e661314646fd1bb8fca507096f61787"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4238cc98be178d1a35af01d3c21997c9"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dbb/fftools__sync__queue_8c.html#a4238cc98be178d1a35af01d3c21997c9">queue_head_update</a> (<a class="el" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *sq)</td></tr>
<tr class="separator:a4238cc98be178d1a35af01d3c21997c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a808ad6ed0fb0d7f2e0e145a50376f470"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dbb/fftools__sync__queue_8c.html#a808ad6ed0fb0d7f2e0e145a50376f470">stream_update_ts</a> (<a class="el" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *sq, unsigned <a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a> stream_idx, int64_t ts)</td></tr>
<tr class="separator:a808ad6ed0fb0d7f2e0e145a50376f470"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8de62308b26e4fdd23116f298d7f28d"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dbb/fftools__sync__queue_8c.html#aa8de62308b26e4fdd23116f298d7f28d">overflow_heartbeat</a> (<a class="el" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *sq, <a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a> stream_idx)</td></tr>
<tr class="separator:aa8de62308b26e4fdd23116f298d7f28d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f497d719d4fcd96a015b9994e831fbd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dbb/fftools__sync__queue_8c.html#a5f497d719d4fcd96a015b9994e831fbd">sq_send</a> (<a class="el" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *sq, unsigned <a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a> stream_idx, <a class="el" href="../../dc/df8/union_sync_queue_frame.html">SyncQueueFrame</a> frame)</td></tr>
<tr class="separator:a5f497d719d4fcd96a015b9994e831fbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6dec025ee79d08646d778de51776e1c0"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dbb/fftools__sync__queue_8c.html#a6dec025ee79d08646d778de51776e1c0">receive_for_stream</a> (<a class="el" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *sq, unsigned <a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a> stream_idx, <a class="el" href="../../dc/df8/union_sync_queue_frame.html">SyncQueueFrame</a> frame)</td></tr>
<tr class="separator:a6dec025ee79d08646d778de51776e1c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4d019feeae8c6a3ce393901185e7707"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dbb/fftools__sync__queue_8c.html#ab4d019feeae8c6a3ce393901185e7707">receive_internal</a> (<a class="el" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *sq, <a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a> stream_idx, <a class="el" href="../../dc/df8/union_sync_queue_frame.html">SyncQueueFrame</a> frame)</td></tr>
<tr class="separator:ab4d019feeae8c6a3ce393901185e7707"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6ea9cdf83d4914aa1dc8efaaac2a732"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dbb/fftools__sync__queue_8c.html#aa6ea9cdf83d4914aa1dc8efaaac2a732">sq_receive</a> (<a class="el" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *sq, <a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a> stream_idx, <a class="el" href="../../dc/df8/union_sync_queue_frame.html">SyncQueueFrame</a> frame)</td></tr>
<tr class="separator:aa6ea9cdf83d4914aa1dc8efaaac2a732"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3e36c041fbe68938e84e9b59d7d7c46"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dbb/fftools__sync__queue_8c.html#ae3e36c041fbe68938e84e9b59d7d7c46">sq_add_stream</a> (<a class="el" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *sq, <a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a> limiting)</td></tr>
<tr class="separator:ae3e36c041fbe68938e84e9b59d7d7c46"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a722fd660cd1b213727e18cbf40dff35b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dbb/fftools__sync__queue_8c.html#a722fd660cd1b213727e18cbf40dff35b">sq_set_tb</a> (<a class="el" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *sq, unsigned <a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a> stream_idx, AVRational tb)</td></tr>
<tr class="separator:a722fd660cd1b213727e18cbf40dff35b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94edf016e07e0f259e4b515d1f8fea57"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dbb/fftools__sync__queue_8c.html#a94edf016e07e0f259e4b515d1f8fea57">sq_limit_frames</a> (<a class="el" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *sq, unsigned <a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a> stream_idx, uint64_t frames)</td></tr>
<tr class="separator:a94edf016e07e0f259e4b515d1f8fea57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ebd18ffff189c6c8e0a3b0f857d8d74"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dbb/fftools__sync__queue_8c.html#a3ebd18ffff189c6c8e0a3b0f857d8d74">sq_alloc</a> (enum <a class="el" href="../../d6/d35/fftools__sync__queue_8h.html#a8ecdcf04d361bd531cc8d36a3b6213b3">SyncQueueType</a> type, int64_t buf_size_us)</td></tr>
<tr class="separator:a3ebd18ffff189c6c8e0a3b0f857d8d74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb4c2cb240da2d2880de0e2286c8ee5a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dbb/fftools__sync__queue_8c.html#acb4c2cb240da2d2880de0e2286c8ee5a">sq_free</a> (<a class="el" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> **psq)</td></tr>
<tr class="separator:acb4c2cb240da2d2880de0e2286c8ee5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="a391df52580e6c7620235f5f537793407" name="a391df52580e6c7620235f5f537793407"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a391df52580e6c7620235f5f537793407">&#9670;&#160;</a></span>SyncQueueStream</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="../../d2/d94/struct_sync_queue_stream.html">SyncQueueStream</a> <a class="el" href="../../d2/d94/struct_sync_queue_stream.html">SyncQueueStream</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="a5e661314646fd1bb8fca507096f61787" name="a5e661314646fd1bb8fca507096f61787"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5e661314646fd1bb8fca507096f61787">&#9670;&#160;</a></span>finish_stream()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void finish_stream </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *&#160;</td>
<td class="paramname"><em>sq</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned <a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a>&#160;</td>
<td class="paramname"><em>stream_idx</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="../../df/dbb/fftools__sync__queue_8c_source.html#l00101">101</a> of file <a class="el" href="../../df/dbb/fftools__sync__queue_8c_source.html">fftools_sync_queue.c</a>.</p>
</div>
</div>
<a id="aaddc370144314c88f397d65246fa13c1" name="aaddc370144314c88f397d65246fa13c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaddc370144314c88f397d65246fa13c1">&#9670;&#160;</a></span>frame_move()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void frame_move </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *&#160;</td>
<td class="paramname"><em>sq</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../dc/df8/union_sync_queue_frame.html">SyncQueueFrame</a>&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../dc/df8/union_sync_queue_frame.html">SyncQueueFrame</a>&#160;</td>
<td class="paramname"><em>src</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="../../df/dbb/fftools__sync__queue_8c_source.html#l00080">80</a> of file <a class="el" href="../../df/dbb/fftools__sync__queue_8c_source.html">fftools_sync_queue.c</a>.</p>
</div>
</div>
<a id="a870f9c9e4d1ac364766fc8a2c732484f" name="a870f9c9e4d1ac364766fc8a2c732484f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a870f9c9e4d1ac364766fc8a2c732484f">&#9670;&#160;</a></span>frame_null()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a> frame_null </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *&#160;</td>
<td class="paramname"><em>sq</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../dc/df8/union_sync_queue_frame.html">SyncQueueFrame</a>&#160;</td>
<td class="paramname"><em>frame</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="../../df/dbb/fftools__sync__queue_8c_source.html#l00096">96</a> of file <a class="el" href="../../df/dbb/fftools__sync__queue_8c_source.html">fftools_sync_queue.c</a>.</p>
</div>
</div>
<a id="a251ece02811fb8bd6385fbec33b6a8b4" name="a251ece02811fb8bd6385fbec33b6a8b4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a251ece02811fb8bd6385fbec33b6a8b4">&#9670;&#160;</a></span>frame_ts()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static int64_t frame_ts </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *&#160;</td>
<td class="paramname"><em>sq</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../dc/df8/union_sync_queue_frame.html">SyncQueueFrame</a>&#160;</td>
<td class="paramname"><em>frame</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="../../df/dbb/fftools__sync__queue_8c_source.html#l00089">89</a> of file <a class="el" href="../../df/dbb/fftools__sync__queue_8c_source.html">fftools_sync_queue.c</a>.</p>
</div>
</div>
<a id="aa8de62308b26e4fdd23116f298d7f28d" name="aa8de62308b26e4fdd23116f298d7f28d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa8de62308b26e4fdd23116f298d7f28d">&#9670;&#160;</a></span>overflow_heartbeat()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a> overflow_heartbeat </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *&#160;</td>
<td class="paramname"><em>sq</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a>&#160;</td>
<td class="paramname"><em>stream_idx</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="../../df/dbb/fftools__sync__queue_8c_source.html#l00190">190</a> of file <a class="el" href="../../df/dbb/fftools__sync__queue_8c_source.html">fftools_sync_queue.c</a>.</p>
</div>
</div>
<a id="a4238cc98be178d1a35af01d3c21997c9" name="a4238cc98be178d1a35af01d3c21997c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4238cc98be178d1a35af01d3c21997c9">&#9670;&#160;</a></span>queue_head_update()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void queue_head_update </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *&#160;</td>
<td class="paramname"><em>sq</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="../../df/dbb/fftools__sync__queue_8c_source.html#l00135">135</a> of file <a class="el" href="../../df/dbb/fftools__sync__queue_8c_source.html">fftools_sync_queue.c</a>.</p>
</div>
</div>
<a id="a6dec025ee79d08646d778de51776e1c0" name="a6dec025ee79d08646d778de51776e1c0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6dec025ee79d08646d778de51776e1c0">&#9670;&#160;</a></span>receive_for_stream()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a> receive_for_stream </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *&#160;</td>
<td class="paramname"><em>sq</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned <a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a>&#160;</td>
<td class="paramname"><em>stream_idx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../dc/df8/union_sync_queue_frame.html">SyncQueueFrame</a>&#160;</td>
<td class="paramname"><em>frame</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="../../df/dbb/fftools__sync__queue_8c_source.html#l00291">291</a> of file <a class="el" href="../../df/dbb/fftools__sync__queue_8c_source.html">fftools_sync_queue.c</a>.</p>
</div>
</div>
<a id="ab4d019feeae8c6a3ce393901185e7707" name="ab4d019feeae8c6a3ce393901185e7707"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab4d019feeae8c6a3ce393901185e7707">&#9670;&#160;</a></span>receive_internal()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a> receive_internal </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *&#160;</td>
<td class="paramname"><em>sq</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a>&#160;</td>
<td class="paramname"><em>stream_idx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../dc/df8/union_sync_queue_frame.html">SyncQueueFrame</a>&#160;</td>
<td class="paramname"><em>frame</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="../../df/dbb/fftools__sync__queue_8c_source.html#l00329">329</a> of file <a class="el" href="../../df/dbb/fftools__sync__queue_8c_source.html">fftools_sync_queue.c</a>.</p>
</div>
</div>
<a id="ae3e36c041fbe68938e84e9b59d7d7c46" name="ae3e36c041fbe68938e84e9b59d7d7c46"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae3e36c041fbe68938e84e9b59d7d7c46">&#9670;&#160;</a></span>sq_add_stream()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a> sq_add_stream </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *&#160;</td>
<td class="paramname"><em>sq</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a>&#160;</td>
<td class="paramname"><em>limiting</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add a new stream to the sync queue.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">limiting</td><td>whether the stream is limiting, i.e. no other stream can be longer than this one </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>a non-negative stream index on success</li>
<li>a negative error code on error </li>
</ul>
</dd></dl>
<p class="definition">Definition at line <a class="el" href="../../df/dbb/fftools__sync__queue_8c_source.html#l00365">365</a> of file <a class="el" href="../../df/dbb/fftools__sync__queue_8c_source.html">fftools_sync_queue.c</a>.</p>
</div>
</div>
<a id="a3ebd18ffff189c6c8e0a3b0f857d8d74" name="a3ebd18ffff189c6c8e0a3b0f857d8d74"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3ebd18ffff189c6c8e0a3b0f857d8d74">&#9670;&#160;</a></span>sq_alloc()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> * sq_alloc </td>
<td>(</td>
<td class="paramtype">enum <a class="el" href="../../d6/d35/fftools__sync__queue_8h.html#a8ecdcf04d361bd531cc8d36a3b6213b3">SyncQueueType</a>&#160;</td>
<td class="paramname"><em>type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64_t&#160;</td>
<td class="paramname"><em>buf_size_us</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Allocate a sync queue of the given type.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">buf_size_us</td><td>maximum duration that will be buffered in microseconds </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="../../df/dbb/fftools__sync__queue_8c_source.html#l00419">419</a> of file <a class="el" href="../../df/dbb/fftools__sync__queue_8c_source.html">fftools_sync_queue.c</a>.</p>
</div>
</div>
<a id="acb4c2cb240da2d2880de0e2286c8ee5a" name="acb4c2cb240da2d2880de0e2286c8ee5a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acb4c2cb240da2d2880de0e2286c8ee5a">&#9670;&#160;</a></span>sq_free()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void sq_free </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> **&#160;</td>
<td class="paramname"><em>psq</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="../../df/dbb/fftools__sync__queue_8c_source.html#l00442">442</a> of file <a class="el" href="../../df/dbb/fftools__sync__queue_8c_source.html">fftools_sync_queue.c</a>.</p>
</div>
</div>
<a id="a94edf016e07e0f259e4b515d1f8fea57" name="a94edf016e07e0f259e4b515d1f8fea57"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a94edf016e07e0f259e4b515d1f8fea57">&#9670;&#160;</a></span>sq_limit_frames()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void sq_limit_frames </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *&#160;</td>
<td class="paramname"><em>sq</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned <a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a>&#160;</td>
<td class="paramname"><em>stream_idx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint64_t&#160;</td>
<td class="paramname"><em>max_frames</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Limit the number of output frames for stream with index stream_idx to max_frames. </p>
<p class="definition">Definition at line <a class="el" href="../../df/dbb/fftools__sync__queue_8c_source.html#l00407">407</a> of file <a class="el" href="../../df/dbb/fftools__sync__queue_8c_source.html">fftools_sync_queue.c</a>.</p>
</div>
</div>
<a id="aa6ea9cdf83d4914aa1dc8efaaac2a732" name="aa6ea9cdf83d4914aa1dc8efaaac2a732"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa6ea9cdf83d4914aa1dc8efaaac2a732">&#9670;&#160;</a></span>sq_receive()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a> sq_receive </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *&#160;</td>
<td class="paramname"><em>sq</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a>&#160;</td>
<td class="paramname"><em>stream_idx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../dc/df8/union_sync_queue_frame.html">SyncQueueFrame</a>&#160;</td>
<td class="paramname"><em>frame</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Read a frame from the queue.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">stream_idx</td><td>index of the stream to read a frame for. May be -1, then try to read a frame from any stream that is ready for output. </td></tr>
<tr><td class="paramname">frame</td><td>output frame will be written here on success. The frame is owned by the caller.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>a non-negative index of the stream to which the returned frame belongs</li>
<li>AVERROR(EAGAIN) when more frames need to be submitted to the queue</li>
<li>AVERROR_EOF when no more frames will be available for this stream (for any stream if stream_idx is -1)</li>
<li>another negative error code on failure </li>
</ul>
</dd></dl>
<p class="definition">Definition at line <a class="el" href="../../df/dbb/fftools__sync__queue_8c_source.html#l00353">353</a> of file <a class="el" href="../../df/dbb/fftools__sync__queue_8c_source.html">fftools_sync_queue.c</a>.</p>
</div>
</div>
<a id="a5f497d719d4fcd96a015b9994e831fbd" name="a5f497d719d4fcd96a015b9994e831fbd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f497d719d4fcd96a015b9994e831fbd">&#9670;&#160;</a></span>sq_send()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a> sq_send </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *&#160;</td>
<td class="paramname"><em>sq</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned <a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a>&#160;</td>
<td class="paramname"><em>stream_idx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../dc/df8/union_sync_queue_frame.html">SyncQueueFrame</a>&#160;</td>
<td class="paramname"><em>frame</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Submit a frame for the stream with index stream_idx.</p>
<p>On success, the sync queue takes ownership of the frame and will reset the contents of the supplied frame. On failure, the frame remains owned by the caller.</p>
<p>Sending a frame with NULL contents marks the stream as finished.</p>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>0 on success</li>
<li>AVERROR_EOF when no more frames should be submitted for this stream</li>
<li>another a negative error code on failure </li>
</ul>
</dd></dl>
<p class="definition">Definition at line <a class="el" href="../../df/dbb/fftools__sync__queue_8c_source.html#l00248">248</a> of file <a class="el" href="../../df/dbb/fftools__sync__queue_8c_source.html">fftools_sync_queue.c</a>.</p>
</div>
</div>
<a id="a722fd660cd1b213727e18cbf40dff35b" name="a722fd660cd1b213727e18cbf40dff35b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a722fd660cd1b213727e18cbf40dff35b">&#9670;&#160;</a></span>sq_set_tb()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void sq_set_tb </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *&#160;</td>
<td class="paramname"><em>sq</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned <a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a>&#160;</td>
<td class="paramname"><em>stream_idx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">AVRational&#160;</td>
<td class="paramname"><em>tb</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the timebase for the stream with index stream_idx. Should be called before sending any frames for this stream. </p>
<p class="definition">Definition at line <a class="el" href="../../df/dbb/fftools__sync__queue_8c_source.html#l00392">392</a> of file <a class="el" href="../../df/dbb/fftools__sync__queue_8c_source.html">fftools_sync_queue.c</a>.</p>
</div>
</div>
<a id="a808ad6ed0fb0d7f2e0e145a50376f470" name="a808ad6ed0fb0d7f2e0e145a50376f470"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a808ad6ed0fb0d7f2e0e145a50376f470">&#9670;&#160;</a></span>stream_update_ts()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void stream_update_ts </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *&#160;</td>
<td class="paramname"><em>sq</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned <a class="el" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a>&#160;</td>
<td class="paramname"><em>stream_idx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64_t&#160;</td>
<td class="paramname"><em>ts</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="../../df/dbb/fftools__sync__queue_8c_source.html#l00161">161</a> of file <a class="el" href="../../df/dbb/fftools__sync__queue_8c_source.html">fftools_sync_queue.c</a>.</p>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Aug 22 2023 01:27:12 for FFmpegKit Linux API by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
</small></address>
</body>
</html>
@@ -0,0 +1,591 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>FFmpegKit Linux API: fftools_sync_queue.c 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/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></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 id="projectrow">
<td id="projectlogo"><img alt="Logo" src="../../ffmpeg-kit-icon-v9-small.png"/></td>
<td id="projectalign">
<div id="projectname">FFmpegKit Linux API<span id="projectnumber">&#160;6.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">fftools_sync_queue.c</div></div>
</div><!--header-->
<div class="contents">
<a href="../../df/dbb/fftools__sync__queue_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * This file is part of FFmpeg.</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> * Copyright (c) 2023 ARTHENICA LTD</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> *</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> * FFmpeg is free software; you can redistribute it and/or</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> * License as published by the Free Software Foundation; either</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> *</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> * FFmpeg is distributed in the hope that it will be useful,</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"> * Lesser General Public License for more details.</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment"> *</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment"> * License along with FFmpeg; if not, write to the Free Software</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment"> */</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="comment">/*</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="comment"> * This file is the modified version of sync_queue.c file living in ffmpeg source code under the fftools folder. We</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="comment"> * manually update it each time we depend on a new ffmpeg version. Below you can see the list of changes applied</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="comment"> * by us to develop ffmpeg-kit library.</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="comment"> *</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="comment"> * ffmpeg-kit changes by ARTHENICA LTD</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="comment"> *</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="comment"> * 07.2023</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="comment"> * --------------------------------------------------------</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="comment"> * - FFmpeg 6.0 changes migrated</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="comment"> * - fftools header names updated</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="comment"> */</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> </div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="preprocessor">#include &lt;string.h&gt;</span></div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> </div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="preprocessor">#include &quot;libavutil/avassert.h&quot;</span></div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span><span class="preprocessor">#include &quot;libavutil/error.h&quot;</span></div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="preprocessor">#include &quot;libavutil/fifo.h&quot;</span></div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span><span class="preprocessor">#include &quot;libavutil/mathematics.h&quot;</span></div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span><span class="preprocessor">#include &quot;libavutil/mem.h&quot;</span></div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> </div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span><span class="preprocessor">#include &quot;<a class="code" href="../../d5/df5/fftools__objpool_8h.html">fftools_objpool.h</a>&quot;</span></div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span><span class="preprocessor">#include &quot;<a class="code" href="../../d6/d35/fftools__sync__queue_8h.html">fftools_sync_queue.h</a>&quot;</span></div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> </div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"><a class="line" href="../../d2/d94/struct_sync_queue_stream.html"> 45</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_struct" href="../../d2/d94/struct_sync_queue_stream.html">SyncQueueStream</a> {</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"><a class="line" href="../../d2/d94/struct_sync_queue_stream.html#aa3aa5fc3137f9f222d45a0dcb5d031f8"> 46</a></span> AVFifo *<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#aa3aa5fc3137f9f222d45a0dcb5d031f8">fifo</a>;</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"><a class="line" href="../../d2/d94/struct_sync_queue_stream.html#a215a25282f85265e765035089c7197f9"> 47</a></span> AVRational <a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#a215a25282f85265e765035089c7197f9">tb</a>;</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> </div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> <span class="comment">/* stream head: largest timestamp seen */</span></div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"><a class="line" href="../../d2/d94/struct_sync_queue_stream.html#afa8c97ba87d308f5760f61c229a8fead"> 50</a></span> int64_t <a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#afa8c97ba87d308f5760f61c229a8fead">head_ts</a>;</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"><a class="line" href="../../d2/d94/struct_sync_queue_stream.html#a24abe05decc9a6825a890be5cddcb740"> 51</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#a24abe05decc9a6825a890be5cddcb740">limiting</a>;</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> <span class="comment">/* no more frames will be sent for this stream */</span></div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"><a class="line" href="../../d2/d94/struct_sync_queue_stream.html#a9780b2194bcb4f34802ad6c8119f4fe5"> 53</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#a9780b2194bcb4f34802ad6c8119f4fe5">finished</a>;</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> </div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"><a class="line" href="../../d2/d94/struct_sync_queue_stream.html#ab20fc7999548152df14069363152e431"> 55</a></span> uint64_t <a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#ab20fc7999548152df14069363152e431">frames_sent</a>;</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"><a class="line" href="../../d2/d94/struct_sync_queue_stream.html#ad2651b7a252f02dcb05098760d0b9a4e"> 56</a></span> uint64_t <a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#ad2651b7a252f02dcb05098760d0b9a4e">frames_max</a>;</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"><a class="line" href="../../df/dbb/fftools__sync__queue_8c.html#a391df52580e6c7620235f5f537793407"> 57</a></span>} <a class="code hl_struct" href="../../d2/d94/struct_sync_queue_stream.html">SyncQueueStream</a>;</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> </div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"><a class="line" href="../../d9/d28/struct_sync_queue.html"> 59</a></span><span class="keyword">struct </span><a class="code hl_struct" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> {</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"><a class="line" href="../../d9/d28/struct_sync_queue.html#a9b015594410ac2faa91b148d7d4501b9"> 60</a></span> <span class="keyword">enum</span> <a class="code hl_enumeration" href="../../d6/d35/fftools__sync__queue_8h.html#a8ecdcf04d361bd531cc8d36a3b6213b3">SyncQueueType</a> <a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a9b015594410ac2faa91b148d7d4501b9">type</a>;</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> </div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <span class="comment">/* no more frames will be sent for any stream */</span></div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"><a class="line" href="../../d9/d28/struct_sync_queue.html#a5733f48b0ec4a03e3de1a8029bdd44ed"> 63</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a5733f48b0ec4a03e3de1a8029bdd44ed">finished</a>;</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> <span class="comment">/* sync head: the stream with the _smallest_ head timestamp</span></div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span><span class="comment"> * this stream determines which frames can be output */</span></div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"><a class="line" href="../../d9/d28/struct_sync_queue.html#a955459c81fb9f8e61c889b73955ed3a5"> 66</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a955459c81fb9f8e61c889b73955ed3a5">head_stream</a>;</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> <span class="comment">/* the finished stream with the smallest finish timestamp or -1 */</span></div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"><a class="line" href="../../d9/d28/struct_sync_queue.html#afff43d090ee04704815e3187b6500a16"> 68</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#afff43d090ee04704815e3187b6500a16">head_finished_stream</a>;</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> </div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> <span class="comment">// maximum buffering duration in microseconds</span></div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"><a class="line" href="../../d9/d28/struct_sync_queue.html#ac4cb296973a28d7e2625724cddc42667"> 71</a></span> int64_t <a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#ac4cb296973a28d7e2625724cddc42667">buf_size_us</a>;</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> </div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"><a class="line" href="../../d9/d28/struct_sync_queue.html#a94cc4e4e7042ff5a103d91005f44dc97"> 73</a></span> <a class="code hl_struct" href="../../d2/d94/struct_sync_queue_stream.html">SyncQueueStream</a> *<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a94cc4e4e7042ff5a103d91005f44dc97">streams</a>;</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"><a class="line" href="../../d9/d28/struct_sync_queue.html#aedb3e815e90b53a52cac23c172c704f4"> 74</a></span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#aedb3e815e90b53a52cac23c172c704f4">nb_streams</a>;</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> </div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <span class="comment">// pool of preallocated frames to avoid constant allocations</span></div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"><a class="line" href="../../d9/d28/struct_sync_queue.html#aadf23023786eab9ab40f1f2182719167"> 77</a></span> <a class="code hl_struct" href="../../d4/d62/struct_obj_pool.html">ObjPool</a> *<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#aadf23023786eab9ab40f1f2182719167">pool</a>;</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span>};</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> </div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"><a class="line" href="../../df/dbb/fftools__sync__queue_8c.html#aaddc370144314c88f397d65246fa13c1"> 80</a></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../df/dbb/fftools__sync__queue_8c.html#aaddc370144314c88f397d65246fa13c1">frame_move</a>(<span class="keyword">const</span> <a class="code hl_struct" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *sq, <a class="code hl_union" href="../../dc/df8/union_sync_queue_frame.html">SyncQueueFrame</a> dst,</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> <a class="code hl_union" href="../../dc/df8/union_sync_queue_frame.html">SyncQueueFrame</a> src)</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span>{</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <span class="keywordflow">if</span> (sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a9b015594410ac2faa91b148d7d4501b9">type</a> == <a class="code hl_enumvalue" href="../../d6/d35/fftools__sync__queue_8h.html#a8ecdcf04d361bd531cc8d36a3b6213b3a69345b74224b95dc2ec281949375055d">SYNC_QUEUE_PACKETS</a>)</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> av_packet_move_ref(dst.<a class="code hl_variable" href="../../dc/df8/union_sync_queue_frame.html#adddf0753b505502215ea450eb58b807e">p</a>, src.<a class="code hl_variable" href="../../dc/df8/union_sync_queue_frame.html#adddf0753b505502215ea450eb58b807e">p</a>);</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> av_frame_move_ref(dst.<a class="code hl_variable" href="../../dc/df8/union_sync_queue_frame.html#a760fa08c314c05cb7455db8eb3823eb8">f</a>, src.<a class="code hl_variable" href="../../dc/df8/union_sync_queue_frame.html#a760fa08c314c05cb7455db8eb3823eb8">f</a>);</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span>}</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> </div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"><a class="line" href="../../df/dbb/fftools__sync__queue_8c.html#a251ece02811fb8bd6385fbec33b6a8b4"> 89</a></span><span class="keyword">static</span> int64_t <a class="code hl_function" href="../../df/dbb/fftools__sync__queue_8c.html#a251ece02811fb8bd6385fbec33b6a8b4">frame_ts</a>(<span class="keyword">const</span> <a class="code hl_struct" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *sq, <a class="code hl_union" href="../../dc/df8/union_sync_queue_frame.html">SyncQueueFrame</a> frame)</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span>{</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <span class="keywordflow">return</span> (sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a9b015594410ac2faa91b148d7d4501b9">type</a> == <a class="code hl_enumvalue" href="../../d6/d35/fftools__sync__queue_8h.html#a8ecdcf04d361bd531cc8d36a3b6213b3a69345b74224b95dc2ec281949375055d">SYNC_QUEUE_PACKETS</a>) ?</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> frame.<a class="code hl_variable" href="../../dc/df8/union_sync_queue_frame.html#adddf0753b505502215ea450eb58b807e">p</a>-&gt;pts + frame.<a class="code hl_variable" href="../../dc/df8/union_sync_queue_frame.html#adddf0753b505502215ea450eb58b807e">p</a>-&gt;duration :</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> frame.<a class="code hl_variable" href="../../dc/df8/union_sync_queue_frame.html#a760fa08c314c05cb7455db8eb3823eb8">f</a>-&gt;pts + frame.<a class="code hl_variable" href="../../dc/df8/union_sync_queue_frame.html#a760fa08c314c05cb7455db8eb3823eb8">f</a>-&gt;duration;</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span>}</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> </div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"><a class="line" href="../../df/dbb/fftools__sync__queue_8c.html#a870f9c9e4d1ac364766fc8a2c732484f"> 96</a></span><span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code hl_function" href="../../df/dbb/fftools__sync__queue_8c.html#a870f9c9e4d1ac364766fc8a2c732484f">frame_null</a>(<span class="keyword">const</span> <a class="code hl_struct" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *sq, <a class="code hl_union" href="../../dc/df8/union_sync_queue_frame.html">SyncQueueFrame</a> frame)</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span>{</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <span class="keywordflow">return</span> (sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a9b015594410ac2faa91b148d7d4501b9">type</a> == <a class="code hl_enumvalue" href="../../d6/d35/fftools__sync__queue_8h.html#a8ecdcf04d361bd531cc8d36a3b6213b3a69345b74224b95dc2ec281949375055d">SYNC_QUEUE_PACKETS</a>) ? (frame.<a class="code hl_variable" href="../../dc/df8/union_sync_queue_frame.html#adddf0753b505502215ea450eb58b807e">p</a> == NULL) : (frame.<a class="code hl_variable" href="../../dc/df8/union_sync_queue_frame.html#a760fa08c314c05cb7455db8eb3823eb8">f</a> == NULL);</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span>}</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> </div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"><a class="line" href="../../df/dbb/fftools__sync__queue_8c.html#a5e661314646fd1bb8fca507096f61787"> 101</a></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../df/dbb/fftools__sync__queue_8c.html#a5e661314646fd1bb8fca507096f61787">finish_stream</a>(<a class="code hl_struct" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *sq, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> stream_idx)</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span>{</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> <a class="code hl_struct" href="../../d2/d94/struct_sync_queue_stream.html">SyncQueueStream</a> *st = &amp;sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a94cc4e4e7042ff5a103d91005f44dc97">streams</a>[stream_idx];</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> </div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#a9780b2194bcb4f34802ad6c8119f4fe5">finished</a> = 1;</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> </div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> <span class="keywordflow">if</span> (st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#a24abe05decc9a6825a890be5cddcb740">limiting</a> &amp;&amp; st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#afa8c97ba87d308f5760f61c229a8fead">head_ts</a> != AV_NOPTS_VALUE) {</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> <span class="comment">/* check if this stream is the new finished head */</span></div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> <span class="keywordflow">if</span> (sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#afff43d090ee04704815e3187b6500a16">head_finished_stream</a> &lt; 0 ||</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> av_compare_ts(st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#afa8c97ba87d308f5760f61c229a8fead">head_ts</a>, st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#a215a25282f85265e765035089c7197f9">tb</a>,</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a94cc4e4e7042ff5a103d91005f44dc97">streams</a>[sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#afff43d090ee04704815e3187b6500a16">head_finished_stream</a>].<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#afa8c97ba87d308f5760f61c229a8fead">head_ts</a>,</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a94cc4e4e7042ff5a103d91005f44dc97">streams</a>[sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#afff43d090ee04704815e3187b6500a16">head_finished_stream</a>].<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#a215a25282f85265e765035089c7197f9">tb</a>) &lt; 0) {</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#afff43d090ee04704815e3187b6500a16">head_finished_stream</a> = stream_idx;</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> }</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> </div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> <span class="comment">/* mark as finished all streams that should no longer receive new frames,</span></div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span><span class="comment"> * due to them being ahead of some finished stream */</span></div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> st = &amp;sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a94cc4e4e7042ff5a103d91005f44dc97">streams</a>[sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#afff43d090ee04704815e3187b6500a16">head_finished_stream</a>];</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#aedb3e815e90b53a52cac23c172c704f4">nb_streams</a>; i++) {</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> <a class="code hl_struct" href="../../d2/d94/struct_sync_queue_stream.html">SyncQueueStream</a> *st1 = &amp;sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a94cc4e4e7042ff5a103d91005f44dc97">streams</a>[i];</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> <span class="keywordflow">if</span> (st != st1 &amp;&amp; st1-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#afa8c97ba87d308f5760f61c229a8fead">head_ts</a> != AV_NOPTS_VALUE &amp;&amp;</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> av_compare_ts(st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#afa8c97ba87d308f5760f61c229a8fead">head_ts</a>, st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#a215a25282f85265e765035089c7197f9">tb</a>, st1-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#afa8c97ba87d308f5760f61c229a8fead">head_ts</a>, st1-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#a215a25282f85265e765035089c7197f9">tb</a>) &lt;= 0)</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> st1-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#a9780b2194bcb4f34802ad6c8119f4fe5">finished</a> = 1;</div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> }</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> }</div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> </div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> <span class="comment">/* mark the whole queue as finished if all streams are finished */</span></div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#aedb3e815e90b53a52cac23c172c704f4">nb_streams</a>; i++) {</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> <span class="keywordflow">if</span> (!sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a94cc4e4e7042ff5a103d91005f44dc97">streams</a>[i].<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#a9780b2194bcb4f34802ad6c8119f4fe5">finished</a>)</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> }</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a5733f48b0ec4a03e3de1a8029bdd44ed">finished</a> = 1;</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span>}</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> </div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"><a class="line" href="../../df/dbb/fftools__sync__queue_8c.html#a4238cc98be178d1a35af01d3c21997c9"> 135</a></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../df/dbb/fftools__sync__queue_8c.html#a4238cc98be178d1a35af01d3c21997c9">queue_head_update</a>(<a class="code hl_struct" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *sq)</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span>{</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> <span class="keywordflow">if</span> (sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a955459c81fb9f8e61c889b73955ed3a5">head_stream</a> &lt; 0) {</div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> <span class="comment">/* wait for one timestamp in each stream before determining</span></div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span><span class="comment"> * the queue head */</span></div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#aedb3e815e90b53a52cac23c172c704f4">nb_streams</a>; i++) {</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> <a class="code hl_struct" href="../../d2/d94/struct_sync_queue_stream.html">SyncQueueStream</a> *st = &amp;sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a94cc4e4e7042ff5a103d91005f44dc97">streams</a>[i];</div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> <span class="keywordflow">if</span> (st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#a24abe05decc9a6825a890be5cddcb740">limiting</a> &amp;&amp; st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#afa8c97ba87d308f5760f61c229a8fead">head_ts</a> == AV_NOPTS_VALUE)</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> }</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> </div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> <span class="comment">// placeholder value, correct one will be found below</span></div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a955459c81fb9f8e61c889b73955ed3a5">head_stream</a> = 0;</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> }</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> </div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#aedb3e815e90b53a52cac23c172c704f4">nb_streams</a>; i++) {</div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> <a class="code hl_struct" href="../../d2/d94/struct_sync_queue_stream.html">SyncQueueStream</a> *st_head = &amp;sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a94cc4e4e7042ff5a103d91005f44dc97">streams</a>[sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a955459c81fb9f8e61c889b73955ed3a5">head_stream</a>];</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> <a class="code hl_struct" href="../../d2/d94/struct_sync_queue_stream.html">SyncQueueStream</a> *st_other = &amp;sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a94cc4e4e7042ff5a103d91005f44dc97">streams</a>[i];</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> <span class="keywordflow">if</span> (st_other-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#a24abe05decc9a6825a890be5cddcb740">limiting</a> &amp;&amp; st_other-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#afa8c97ba87d308f5760f61c229a8fead">head_ts</a> != AV_NOPTS_VALUE &amp;&amp;</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> av_compare_ts(st_other-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#afa8c97ba87d308f5760f61c229a8fead">head_ts</a>, st_other-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#a215a25282f85265e765035089c7197f9">tb</a>,</div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> st_head-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#afa8c97ba87d308f5760f61c229a8fead">head_ts</a>, st_head-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#a215a25282f85265e765035089c7197f9">tb</a>) &lt; 0)</div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a955459c81fb9f8e61c889b73955ed3a5">head_stream</a> = i;</div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> }</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span>}</div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> </div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span><span class="comment">/* update this stream&#39;s head timestamp */</span></div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"><a class="line" href="../../df/dbb/fftools__sync__queue_8c.html#a808ad6ed0fb0d7f2e0e145a50376f470"> 161</a></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../df/dbb/fftools__sync__queue_8c.html#a808ad6ed0fb0d7f2e0e145a50376f470">stream_update_ts</a>(<a class="code hl_struct" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *sq, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> stream_idx, int64_t ts)</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span>{</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> <a class="code hl_struct" href="../../d2/d94/struct_sync_queue_stream.html">SyncQueueStream</a> *st = &amp;sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a94cc4e4e7042ff5a103d91005f44dc97">streams</a>[stream_idx];</div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> </div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> <span class="keywordflow">if</span> (ts == AV_NOPTS_VALUE ||</div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> (st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#afa8c97ba87d308f5760f61c229a8fead">head_ts</a> != AV_NOPTS_VALUE &amp;&amp; st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#afa8c97ba87d308f5760f61c229a8fead">head_ts</a> &gt;= ts))</div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> </div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#afa8c97ba87d308f5760f61c229a8fead">head_ts</a> = ts;</div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> </div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> <span class="comment">/* if this stream is now ahead of some finished stream, then</span></div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span><span class="comment"> * this stream is also finished */</span></div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> <span class="keywordflow">if</span> (sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#afff43d090ee04704815e3187b6500a16">head_finished_stream</a> &gt;= 0 &amp;&amp;</div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> av_compare_ts(sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a94cc4e4e7042ff5a103d91005f44dc97">streams</a>[sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#afff43d090ee04704815e3187b6500a16">head_finished_stream</a>].<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#afa8c97ba87d308f5760f61c229a8fead">head_ts</a>,</div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a94cc4e4e7042ff5a103d91005f44dc97">streams</a>[sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#afff43d090ee04704815e3187b6500a16">head_finished_stream</a>].<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#a215a25282f85265e765035089c7197f9">tb</a>,</div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> ts, st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#a215a25282f85265e765035089c7197f9">tb</a>) &lt;= 0)</div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> <a class="code hl_function" href="../../df/dbb/fftools__sync__queue_8c.html#a5e661314646fd1bb8fca507096f61787">finish_stream</a>(sq, stream_idx);</div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> </div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> <span class="comment">/* update the overall head timestamp if it could have changed */</span></div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> <span class="keywordflow">if</span> (st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#a24abe05decc9a6825a890be5cddcb740">limiting</a> &amp;&amp;</div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> (sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a955459c81fb9f8e61c889b73955ed3a5">head_stream</a> &lt; 0 || sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a955459c81fb9f8e61c889b73955ed3a5">head_stream</a> == stream_idx))</div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> <a class="code hl_function" href="../../df/dbb/fftools__sync__queue_8c.html#a4238cc98be178d1a35af01d3c21997c9">queue_head_update</a>(sq);</div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span>}</div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> </div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span><span class="comment">/* If the queue for the given stream (or all streams when stream_idx=-1)</span></div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span><span class="comment"> * is overflowing, trigger a fake heartbeat on lagging streams.</span></div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span><span class="comment"> *</span></div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span><span class="comment"> * @return 1 if heartbeat triggered, 0 otherwise</span></div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span><span class="comment"> */</span></div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"><a class="line" href="../../df/dbb/fftools__sync__queue_8c.html#aa8de62308b26e4fdd23116f298d7f28d"> 190</a></span><span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code hl_function" href="../../df/dbb/fftools__sync__queue_8c.html#aa8de62308b26e4fdd23116f298d7f28d">overflow_heartbeat</a>(<a class="code hl_struct" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *sq, <span class="keywordtype">int</span> stream_idx)</div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span>{</div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> <a class="code hl_struct" href="../../d2/d94/struct_sync_queue_stream.html">SyncQueueStream</a> *st;</div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> <a class="code hl_union" href="../../dc/df8/union_sync_queue_frame.html">SyncQueueFrame</a> frame;</div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> int64_t tail_ts = AV_NOPTS_VALUE;</div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> </div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> <span class="comment">/* if no stream specified, pick the one that is most ahead */</span></div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> <span class="keywordflow">if</span> (stream_idx &lt; 0) {</div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> int64_t ts = AV_NOPTS_VALUE;</div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> </div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#aedb3e815e90b53a52cac23c172c704f4">nb_streams</a>; i++) {</div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> st = &amp;sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a94cc4e4e7042ff5a103d91005f44dc97">streams</a>[i];</div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> <span class="keywordflow">if</span> (st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#afa8c97ba87d308f5760f61c229a8fead">head_ts</a> != AV_NOPTS_VALUE &amp;&amp;</div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> (ts == AV_NOPTS_VALUE ||</div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> av_compare_ts(ts, sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a94cc4e4e7042ff5a103d91005f44dc97">streams</a>[stream_idx].<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#a215a25282f85265e765035089c7197f9">tb</a>,</div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#afa8c97ba87d308f5760f61c229a8fead">head_ts</a>, st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#a215a25282f85265e765035089c7197f9">tb</a>) &lt; 0)) {</div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> ts = st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#afa8c97ba87d308f5760f61c229a8fead">head_ts</a>;</div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> stream_idx = i;</div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> }</div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> }</div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> <span class="comment">/* no stream has a timestamp yet -&gt; nothing to do */</span></div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> <span class="keywordflow">if</span> (stream_idx &lt; 0)</div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> }</div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> </div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> st = &amp;sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a94cc4e4e7042ff5a103d91005f44dc97">streams</a>[stream_idx];</div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> </div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> <span class="comment">/* get the chosen stream&#39;s tail timestamp */</span></div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; tail_ts == AV_NOPTS_VALUE &amp;&amp;</div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> av_fifo_peek(st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#aa3aa5fc3137f9f222d45a0dcb5d031f8">fifo</a>, &amp;frame, 1, i) &gt;= 0; i++)</div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> tail_ts = <a class="code hl_function" href="../../df/dbb/fftools__sync__queue_8c.html#a251ece02811fb8bd6385fbec33b6a8b4">frame_ts</a>(sq, frame);</div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> </div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> <span class="comment">/* overflow triggers when the tail is over specified duration behind the head */</span></div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> <span class="keywordflow">if</span> (tail_ts == AV_NOPTS_VALUE || tail_ts &gt;= st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#afa8c97ba87d308f5760f61c229a8fead">head_ts</a> ||</div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> av_rescale_q(st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#afa8c97ba87d308f5760f61c229a8fead">head_ts</a> - tail_ts, st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#a215a25282f85265e765035089c7197f9">tb</a>, AV_TIME_BASE_Q) &lt; sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#ac4cb296973a28d7e2625724cddc42667">buf_size_us</a>)</div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> </div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> <span class="comment">/* signal a fake timestamp for all streams that prevent tail_ts from being output */</span></div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> tail_ts++;</div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#aedb3e815e90b53a52cac23c172c704f4">nb_streams</a>; i++) {</div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span> <a class="code hl_struct" href="../../d2/d94/struct_sync_queue_stream.html">SyncQueueStream</a> *st1 = &amp;sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a94cc4e4e7042ff5a103d91005f44dc97">streams</a>[i];</div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> int64_t ts;</div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> </div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> <span class="keywordflow">if</span> (st == st1 || st1-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#a9780b2194bcb4f34802ad6c8119f4fe5">finished</a> ||</div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span> (st1-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#afa8c97ba87d308f5760f61c229a8fead">head_ts</a> != AV_NOPTS_VALUE &amp;&amp;</div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> av_compare_ts(tail_ts, st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#a215a25282f85265e765035089c7197f9">tb</a>, st1-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#afa8c97ba87d308f5760f61c229a8fead">head_ts</a>, st1-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#a215a25282f85265e765035089c7197f9">tb</a>) &lt;= 0))</div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span> </div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span> ts = av_rescale_q(tail_ts, st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#a215a25282f85265e765035089c7197f9">tb</a>, st1-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#a215a25282f85265e765035089c7197f9">tb</a>);</div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span> <span class="keywordflow">if</span> (st1-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#afa8c97ba87d308f5760f61c229a8fead">head_ts</a> != AV_NOPTS_VALUE)</div>
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span> ts = FFMAX(st1-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#afa8c97ba87d308f5760f61c229a8fead">head_ts</a> + 1, ts);</div>
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span> </div>
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span> <a class="code hl_function" href="../../df/dbb/fftools__sync__queue_8c.html#a808ad6ed0fb0d7f2e0e145a50376f470">stream_update_ts</a>(sq, i, ts);</div>
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span> }</div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> </div>
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> <span class="keywordflow">return</span> 1;</div>
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span>}</div>
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> </div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"><a class="line" href="../../df/dbb/fftools__sync__queue_8c.html#a5f497d719d4fcd96a015b9994e831fbd"> 248</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="../../df/dbb/fftools__sync__queue_8c.html#a5f497d719d4fcd96a015b9994e831fbd">sq_send</a>(<a class="code hl_struct" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *sq, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> stream_idx, <a class="code hl_union" href="../../dc/df8/union_sync_queue_frame.html">SyncQueueFrame</a> frame)</div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span>{</div>
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> <a class="code hl_struct" href="../../d2/d94/struct_sync_queue_stream.html">SyncQueueStream</a> *st;</div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> <a class="code hl_union" href="../../dc/df8/union_sync_queue_frame.html">SyncQueueFrame</a> dst;</div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> int64_t ts;</div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> <span class="keywordtype">int</span> ret;</div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> </div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> av_assert0(stream_idx &lt; sq-&gt;<a class="code hl_variable" href="../../d8/d78/fftools__ffprobe_8c.html#abad15c2aaf9c54ccddd8d8abf6bed069">nb_streams</a>);</div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span> st = &amp;sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a94cc4e4e7042ff5a103d91005f44dc97">streams</a>[stream_idx];</div>
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span> </div>
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> av_assert0(st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#a215a25282f85265e765035089c7197f9">tb</a>.num &gt; 0 &amp;&amp; st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#a215a25282f85265e765035089c7197f9">tb</a>.den &gt; 0);</div>
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span> </div>
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="../../df/dbb/fftools__sync__queue_8c.html#a870f9c9e4d1ac364766fc8a2c732484f">frame_null</a>(sq, frame)) {</div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span> <a class="code hl_function" href="../../df/dbb/fftools__sync__queue_8c.html#a5e661314646fd1bb8fca507096f61787">finish_stream</a>(sq, stream_idx);</div>
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span> }</div>
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span> <span class="keywordflow">if</span> (st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#a9780b2194bcb4f34802ad6c8119f4fe5">finished</a>)</div>
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span> <span class="keywordflow">return</span> AVERROR_EOF;</div>
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span> </div>
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span> ret = <a class="code hl_function" href="../../d7/dd8/fftools__objpool_8c.html#ac1d7df6827c7b36c79c17a660a96c7f2">objpool_get</a>(sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#aadf23023786eab9ab40f1f2182719167">pool</a>, (<span class="keywordtype">void</span>**)&amp;dst);</div>
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span> <span class="keywordflow">if</span> (ret &lt; 0)</div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> <span class="keywordflow">return</span> ret;</div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> </div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> <a class="code hl_function" href="../../df/dbb/fftools__sync__queue_8c.html#aaddc370144314c88f397d65246fa13c1">frame_move</a>(sq, dst, frame);</div>
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span> </div>
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span> ts = <a class="code hl_function" href="../../df/dbb/fftools__sync__queue_8c.html#a251ece02811fb8bd6385fbec33b6a8b4">frame_ts</a>(sq, dst);</div>
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span> </div>
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span> ret = av_fifo_write(st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#aa3aa5fc3137f9f222d45a0dcb5d031f8">fifo</a>, &amp;dst, 1);</div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span> <span class="keywordflow">if</span> (ret &lt; 0) {</div>
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span> <a class="code hl_function" href="../../df/dbb/fftools__sync__queue_8c.html#aaddc370144314c88f397d65246fa13c1">frame_move</a>(sq, frame, dst);</div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span> <a class="code hl_function" href="../../d7/dd8/fftools__objpool_8c.html#a4da002d4bc3bf48ba22633a96d20bb88">objpool_release</a>(sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#aadf23023786eab9ab40f1f2182719167">pool</a>, (<span class="keywordtype">void</span>**)&amp;dst);</div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span> <span class="keywordflow">return</span> ret;</div>
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span> }</div>
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span> </div>
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"> 282</span> <a class="code hl_function" href="../../df/dbb/fftools__sync__queue_8c.html#a808ad6ed0fb0d7f2e0e145a50376f470">stream_update_ts</a>(sq, stream_idx, ts);</div>
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span> </div>
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span> st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#ab20fc7999548152df14069363152e431">frames_sent</a>++;</div>
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span> <span class="keywordflow">if</span> (st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#ab20fc7999548152df14069363152e431">frames_sent</a> &gt;= st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#ad2651b7a252f02dcb05098760d0b9a4e">frames_max</a>)</div>
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span> <a class="code hl_function" href="../../df/dbb/fftools__sync__queue_8c.html#a5e661314646fd1bb8fca507096f61787">finish_stream</a>(sq, stream_idx);</div>
<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"> 287</span> </div>
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"> 288</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"> 289</span>}</div>
<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"> 290</span> </div>
<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"><a class="line" href="../../df/dbb/fftools__sync__queue_8c.html#a6dec025ee79d08646d778de51776e1c0"> 291</a></span><span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code hl_function" href="../../df/dbb/fftools__sync__queue_8c.html#a6dec025ee79d08646d778de51776e1c0">receive_for_stream</a>(<a class="code hl_struct" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *sq, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> stream_idx,</div>
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"> 292</span> <a class="code hl_union" href="../../dc/df8/union_sync_queue_frame.html">SyncQueueFrame</a> frame)</div>
<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"> 293</span>{</div>
<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"> 294</span> <a class="code hl_struct" href="../../d2/d94/struct_sync_queue_stream.html">SyncQueueStream</a> *st_head = sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a955459c81fb9f8e61c889b73955ed3a5">head_stream</a> &gt;= 0 ?</div>
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"> 295</span> &amp;sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a94cc4e4e7042ff5a103d91005f44dc97">streams</a>[sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a955459c81fb9f8e61c889b73955ed3a5">head_stream</a>] : NULL;</div>
<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"> 296</span> <a class="code hl_struct" href="../../d2/d94/struct_sync_queue_stream.html">SyncQueueStream</a> *st;</div>
<div class="line"><a id="l00297" name="l00297"></a><span class="lineno"> 297</span> </div>
<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"> 298</span> av_assert0(stream_idx &lt; sq-&gt;<a class="code hl_variable" href="../../d8/d78/fftools__ffprobe_8c.html#abad15c2aaf9c54ccddd8d8abf6bed069">nb_streams</a>);</div>
<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"> 299</span> st = &amp;sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a94cc4e4e7042ff5a103d91005f44dc97">streams</a>[stream_idx];</div>
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span> </div>
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span> <span class="keywordflow">if</span> (av_fifo_can_read(st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#aa3aa5fc3137f9f222d45a0dcb5d031f8">fifo</a>)) {</div>
<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"> 302</span> <a class="code hl_union" href="../../dc/df8/union_sync_queue_frame.html">SyncQueueFrame</a> peek;</div>
<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"> 303</span> int64_t ts;</div>
<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"> 304</span> <span class="keywordtype">int</span> cmp = 1;</div>
<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"> 305</span> </div>
<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"> 306</span> av_fifo_peek(st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#aa3aa5fc3137f9f222d45a0dcb5d031f8">fifo</a>, &amp;peek, 1, 0);</div>
<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"> 307</span> ts = <a class="code hl_function" href="../../df/dbb/fftools__sync__queue_8c.html#a251ece02811fb8bd6385fbec33b6a8b4">frame_ts</a>(sq, peek);</div>
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span> </div>
<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"> 309</span> <span class="comment">/* check if this stream&#39;s tail timestamp does not overtake</span></div>
<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"> 310</span><span class="comment"> * the overall queue head */</span></div>
<div class="line"><a id="l00311" name="l00311"></a><span class="lineno"> 311</span> <span class="keywordflow">if</span> (ts != AV_NOPTS_VALUE &amp;&amp; st_head)</div>
<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"> 312</span> cmp = av_compare_ts(ts, st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#a215a25282f85265e765035089c7197f9">tb</a>, st_head-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#afa8c97ba87d308f5760f61c229a8fead">head_ts</a>, st_head-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#a215a25282f85265e765035089c7197f9">tb</a>);</div>
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"> 313</span> </div>
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span> <span class="comment">/* We can release frames that do not end after the queue head.</span></div>
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"> 315</span><span class="comment"> * Frames with no timestamps are just passed through with no conditions.</span></div>
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span><span class="comment"> */</span></div>
<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"> 317</span> <span class="keywordflow">if</span> (cmp &lt;= 0 || ts == AV_NOPTS_VALUE) {</div>
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span> <a class="code hl_function" href="../../df/dbb/fftools__sync__queue_8c.html#aaddc370144314c88f397d65246fa13c1">frame_move</a>(sq, frame, peek);</div>
<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"> 319</span> <a class="code hl_function" href="../../d7/dd8/fftools__objpool_8c.html#a4da002d4bc3bf48ba22633a96d20bb88">objpool_release</a>(sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#aadf23023786eab9ab40f1f2182719167">pool</a>, (<span class="keywordtype">void</span>**)&amp;peek);</div>
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"> 320</span> av_fifo_drain2(st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#aa3aa5fc3137f9f222d45a0dcb5d031f8">fifo</a>, 1);</div>
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"> 321</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"> 322</span> }</div>
<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"> 323</span> }</div>
<div class="line"><a id="l00324" name="l00324"></a><span class="lineno"> 324</span> </div>
<div class="line"><a id="l00325" name="l00325"></a><span class="lineno"> 325</span> <span class="keywordflow">return</span> (sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a5733f48b0ec4a03e3de1a8029bdd44ed">finished</a> || (st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#a9780b2194bcb4f34802ad6c8119f4fe5">finished</a> &amp;&amp; !av_fifo_can_read(st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#aa3aa5fc3137f9f222d45a0dcb5d031f8">fifo</a>))) ?</div>
<div class="line"><a id="l00326" name="l00326"></a><span class="lineno"> 326</span> AVERROR_EOF : AVERROR(EAGAIN);</div>
<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"> 327</span>}</div>
<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"> 328</span> </div>
<div class="line"><a id="l00329" name="l00329"></a><span class="lineno"><a class="line" href="../../df/dbb/fftools__sync__queue_8c.html#ab4d019feeae8c6a3ce393901185e7707"> 329</a></span><span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code hl_function" href="../../df/dbb/fftools__sync__queue_8c.html#ab4d019feeae8c6a3ce393901185e7707">receive_internal</a>(<a class="code hl_struct" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *sq, <span class="keywordtype">int</span> stream_idx, <a class="code hl_union" href="../../dc/df8/union_sync_queue_frame.html">SyncQueueFrame</a> frame)</div>
<div class="line"><a id="l00330" name="l00330"></a><span class="lineno"> 330</span>{</div>
<div class="line"><a id="l00331" name="l00331"></a><span class="lineno"> 331</span> <span class="keywordtype">int</span> nb_eof = 0;</div>
<div class="line"><a id="l00332" name="l00332"></a><span class="lineno"> 332</span> <span class="keywordtype">int</span> ret;</div>
<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"> 333</span> </div>
<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"> 334</span> <span class="comment">/* read a frame for a specific stream */</span></div>
<div class="line"><a id="l00335" name="l00335"></a><span class="lineno"> 335</span> <span class="keywordflow">if</span> (stream_idx &gt;= 0) {</div>
<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"> 336</span> ret = <a class="code hl_function" href="../../df/dbb/fftools__sync__queue_8c.html#a6dec025ee79d08646d778de51776e1c0">receive_for_stream</a>(sq, stream_idx, frame);</div>
<div class="line"><a id="l00337" name="l00337"></a><span class="lineno"> 337</span> <span class="keywordflow">return</span> (ret &lt; 0) ? ret : stream_idx;</div>
<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"> 338</span> }</div>
<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"> 339</span> </div>
<div class="line"><a id="l00340" name="l00340"></a><span class="lineno"> 340</span> <span class="comment">/* read a frame for any stream with available output */</span></div>
<div class="line"><a id="l00341" name="l00341"></a><span class="lineno"> 341</span> <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#aedb3e815e90b53a52cac23c172c704f4">nb_streams</a>; i++) {</div>
<div class="line"><a id="l00342" name="l00342"></a><span class="lineno"> 342</span> ret = <a class="code hl_function" href="../../df/dbb/fftools__sync__queue_8c.html#a6dec025ee79d08646d778de51776e1c0">receive_for_stream</a>(sq, i, frame);</div>
<div class="line"><a id="l00343" name="l00343"></a><span class="lineno"> 343</span> <span class="keywordflow">if</span> (ret == AVERROR_EOF || ret == AVERROR(EAGAIN)) {</div>
<div class="line"><a id="l00344" name="l00344"></a><span class="lineno"> 344</span> nb_eof += (ret == AVERROR_EOF);</div>
<div class="line"><a id="l00345" name="l00345"></a><span class="lineno"> 345</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l00346" name="l00346"></a><span class="lineno"> 346</span> }</div>
<div class="line"><a id="l00347" name="l00347"></a><span class="lineno"> 347</span> <span class="keywordflow">return</span> (ret &lt; 0) ? ret : i;</div>
<div class="line"><a id="l00348" name="l00348"></a><span class="lineno"> 348</span> }</div>
<div class="line"><a id="l00349" name="l00349"></a><span class="lineno"> 349</span> </div>
<div class="line"><a id="l00350" name="l00350"></a><span class="lineno"> 350</span> <span class="keywordflow">return</span> (nb_eof == sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#aedb3e815e90b53a52cac23c172c704f4">nb_streams</a>) ? AVERROR_EOF : AVERROR(EAGAIN);</div>
<div class="line"><a id="l00351" name="l00351"></a><span class="lineno"> 351</span>}</div>
<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"> 352</span> </div>
<div class="line"><a id="l00353" name="l00353"></a><span class="lineno"><a class="line" href="../../df/dbb/fftools__sync__queue_8c.html#aa6ea9cdf83d4914aa1dc8efaaac2a732"> 353</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="../../df/dbb/fftools__sync__queue_8c.html#aa6ea9cdf83d4914aa1dc8efaaac2a732">sq_receive</a>(<a class="code hl_struct" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *sq, <span class="keywordtype">int</span> stream_idx, <a class="code hl_union" href="../../dc/df8/union_sync_queue_frame.html">SyncQueueFrame</a> frame)</div>
<div class="line"><a id="l00354" name="l00354"></a><span class="lineno"> 354</span>{</div>
<div class="line"><a id="l00355" name="l00355"></a><span class="lineno"> 355</span> <span class="keywordtype">int</span> ret = <a class="code hl_function" href="../../df/dbb/fftools__sync__queue_8c.html#ab4d019feeae8c6a3ce393901185e7707">receive_internal</a>(sq, stream_idx, frame);</div>
<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"> 356</span> </div>
<div class="line"><a id="l00357" name="l00357"></a><span class="lineno"> 357</span> <span class="comment">/* try again if the queue overflowed and triggered a fake heartbeat</span></div>
<div class="line"><a id="l00358" name="l00358"></a><span class="lineno"> 358</span><span class="comment"> * for lagging streams */</span></div>
<div class="line"><a id="l00359" name="l00359"></a><span class="lineno"> 359</span> <span class="keywordflow">if</span> (ret == AVERROR(EAGAIN) &amp;&amp; <a class="code hl_function" href="../../df/dbb/fftools__sync__queue_8c.html#aa8de62308b26e4fdd23116f298d7f28d">overflow_heartbeat</a>(sq, stream_idx))</div>
<div class="line"><a id="l00360" name="l00360"></a><span class="lineno"> 360</span> ret = <a class="code hl_function" href="../../df/dbb/fftools__sync__queue_8c.html#ab4d019feeae8c6a3ce393901185e7707">receive_internal</a>(sq, stream_idx, frame);</div>
<div class="line"><a id="l00361" name="l00361"></a><span class="lineno"> 361</span> </div>
<div class="line"><a id="l00362" name="l00362"></a><span class="lineno"> 362</span> <span class="keywordflow">return</span> ret;</div>
<div class="line"><a id="l00363" name="l00363"></a><span class="lineno"> 363</span>}</div>
<div class="line"><a id="l00364" name="l00364"></a><span class="lineno"> 364</span> </div>
<div class="line"><a id="l00365" name="l00365"></a><span class="lineno"><a class="line" href="../../df/dbb/fftools__sync__queue_8c.html#ae3e36c041fbe68938e84e9b59d7d7c46"> 365</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="../../df/dbb/fftools__sync__queue_8c.html#ae3e36c041fbe68938e84e9b59d7d7c46">sq_add_stream</a>(<a class="code hl_struct" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *sq, <span class="keywordtype">int</span> limiting)</div>
<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"> 366</span>{</div>
<div class="line"><a id="l00367" name="l00367"></a><span class="lineno"> 367</span> <a class="code hl_struct" href="../../d2/d94/struct_sync_queue_stream.html">SyncQueueStream</a> *tmp, *st;</div>
<div class="line"><a id="l00368" name="l00368"></a><span class="lineno"> 368</span> </div>
<div class="line"><a id="l00369" name="l00369"></a><span class="lineno"> 369</span> tmp = av_realloc_array(sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a94cc4e4e7042ff5a103d91005f44dc97">streams</a>, sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#aedb3e815e90b53a52cac23c172c704f4">nb_streams</a> + 1, <span class="keyword">sizeof</span>(*sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a94cc4e4e7042ff5a103d91005f44dc97">streams</a>));</div>
<div class="line"><a id="l00370" name="l00370"></a><span class="lineno"> 370</span> <span class="keywordflow">if</span> (!tmp)</div>
<div class="line"><a id="l00371" name="l00371"></a><span class="lineno"> 371</span> <span class="keywordflow">return</span> AVERROR(ENOMEM);</div>
<div class="line"><a id="l00372" name="l00372"></a><span class="lineno"> 372</span> sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a94cc4e4e7042ff5a103d91005f44dc97">streams</a> = tmp;</div>
<div class="line"><a id="l00373" name="l00373"></a><span class="lineno"> 373</span> </div>
<div class="line"><a id="l00374" name="l00374"></a><span class="lineno"> 374</span> st = &amp;sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a94cc4e4e7042ff5a103d91005f44dc97">streams</a>[sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#aedb3e815e90b53a52cac23c172c704f4">nb_streams</a>];</div>
<div class="line"><a id="l00375" name="l00375"></a><span class="lineno"> 375</span> memset(st, 0, <span class="keyword">sizeof</span>(*st));</div>
<div class="line"><a id="l00376" name="l00376"></a><span class="lineno"> 376</span> </div>
<div class="line"><a id="l00377" name="l00377"></a><span class="lineno"> 377</span> st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#aa3aa5fc3137f9f222d45a0dcb5d031f8">fifo</a> = av_fifo_alloc2(1, <span class="keyword">sizeof</span>(<a class="code hl_union" href="../../dc/df8/union_sync_queue_frame.html">SyncQueueFrame</a>), AV_FIFO_FLAG_AUTO_GROW);</div>
<div class="line"><a id="l00378" name="l00378"></a><span class="lineno"> 378</span> <span class="keywordflow">if</span> (!st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#aa3aa5fc3137f9f222d45a0dcb5d031f8">fifo</a>)</div>
<div class="line"><a id="l00379" name="l00379"></a><span class="lineno"> 379</span> <span class="keywordflow">return</span> AVERROR(ENOMEM);</div>
<div class="line"><a id="l00380" name="l00380"></a><span class="lineno"> 380</span> </div>
<div class="line"><a id="l00381" name="l00381"></a><span class="lineno"> 381</span> <span class="comment">/* we set a valid default, so that a pathological stream that never</span></div>
<div class="line"><a id="l00382" name="l00382"></a><span class="lineno"> 382</span><span class="comment"> * receives even a real timebase (and no frames) won&#39;t stall all other</span></div>
<div class="line"><a id="l00383" name="l00383"></a><span class="lineno"> 383</span><span class="comment"> * streams forever; cf. overflow_heartbeat() */</span></div>
<div class="line"><a id="l00384" name="l00384"></a><span class="lineno"> 384</span> st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#a215a25282f85265e765035089c7197f9">tb</a> = (AVRational){ 1, 1 };</div>
<div class="line"><a id="l00385" name="l00385"></a><span class="lineno"> 385</span> st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#afa8c97ba87d308f5760f61c229a8fead">head_ts</a> = AV_NOPTS_VALUE;</div>
<div class="line"><a id="l00386" name="l00386"></a><span class="lineno"> 386</span> st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#ad2651b7a252f02dcb05098760d0b9a4e">frames_max</a> = UINT64_MAX;</div>
<div class="line"><a id="l00387" name="l00387"></a><span class="lineno"> 387</span> st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#a24abe05decc9a6825a890be5cddcb740">limiting</a> = limiting;</div>
<div class="line"><a id="l00388" name="l00388"></a><span class="lineno"> 388</span> </div>
<div class="line"><a id="l00389" name="l00389"></a><span class="lineno"> 389</span> <span class="keywordflow">return</span> sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#aedb3e815e90b53a52cac23c172c704f4">nb_streams</a>++;</div>
<div class="line"><a id="l00390" name="l00390"></a><span class="lineno"> 390</span>}</div>
<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"> 391</span> </div>
<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"><a class="line" href="../../df/dbb/fftools__sync__queue_8c.html#a722fd660cd1b213727e18cbf40dff35b"> 392</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="../../df/dbb/fftools__sync__queue_8c.html#a722fd660cd1b213727e18cbf40dff35b">sq_set_tb</a>(<a class="code hl_struct" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *sq, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> stream_idx, AVRational tb)</div>
<div class="line"><a id="l00393" name="l00393"></a><span class="lineno"> 393</span>{</div>
<div class="line"><a id="l00394" name="l00394"></a><span class="lineno"> 394</span> <a class="code hl_struct" href="../../d2/d94/struct_sync_queue_stream.html">SyncQueueStream</a> *st;</div>
<div class="line"><a id="l00395" name="l00395"></a><span class="lineno"> 395</span> </div>
<div class="line"><a id="l00396" name="l00396"></a><span class="lineno"> 396</span> av_assert0(stream_idx &lt; sq-&gt;<a class="code hl_variable" href="../../d8/d78/fftools__ffprobe_8c.html#abad15c2aaf9c54ccddd8d8abf6bed069">nb_streams</a>);</div>
<div class="line"><a id="l00397" name="l00397"></a><span class="lineno"> 397</span> st = &amp;sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a94cc4e4e7042ff5a103d91005f44dc97">streams</a>[stream_idx];</div>
<div class="line"><a id="l00398" name="l00398"></a><span class="lineno"> 398</span> </div>
<div class="line"><a id="l00399" name="l00399"></a><span class="lineno"> 399</span> av_assert0(!av_fifo_can_read(st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#aa3aa5fc3137f9f222d45a0dcb5d031f8">fifo</a>));</div>
<div class="line"><a id="l00400" name="l00400"></a><span class="lineno"> 400</span> </div>
<div class="line"><a id="l00401" name="l00401"></a><span class="lineno"> 401</span> <span class="keywordflow">if</span> (st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#afa8c97ba87d308f5760f61c229a8fead">head_ts</a> != AV_NOPTS_VALUE)</div>
<div class="line"><a id="l00402" name="l00402"></a><span class="lineno"> 402</span> st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#afa8c97ba87d308f5760f61c229a8fead">head_ts</a> = av_rescale_q(st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#afa8c97ba87d308f5760f61c229a8fead">head_ts</a>, st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#a215a25282f85265e765035089c7197f9">tb</a>, tb);</div>
<div class="line"><a id="l00403" name="l00403"></a><span class="lineno"> 403</span> </div>
<div class="line"><a id="l00404" name="l00404"></a><span class="lineno"> 404</span> st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#a215a25282f85265e765035089c7197f9">tb</a> = tb;</div>
<div class="line"><a id="l00405" name="l00405"></a><span class="lineno"> 405</span>}</div>
<div class="line"><a id="l00406" name="l00406"></a><span class="lineno"> 406</span> </div>
<div class="line"><a id="l00407" name="l00407"></a><span class="lineno"><a class="line" href="../../df/dbb/fftools__sync__queue_8c.html#a94edf016e07e0f259e4b515d1f8fea57"> 407</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="../../df/dbb/fftools__sync__queue_8c.html#a94edf016e07e0f259e4b515d1f8fea57">sq_limit_frames</a>(<a class="code hl_struct" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *sq, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> stream_idx, uint64_t frames)</div>
<div class="line"><a id="l00408" name="l00408"></a><span class="lineno"> 408</span>{</div>
<div class="line"><a id="l00409" name="l00409"></a><span class="lineno"> 409</span> <a class="code hl_struct" href="../../d2/d94/struct_sync_queue_stream.html">SyncQueueStream</a> *st;</div>
<div class="line"><a id="l00410" name="l00410"></a><span class="lineno"> 410</span> </div>
<div class="line"><a id="l00411" name="l00411"></a><span class="lineno"> 411</span> av_assert0(stream_idx &lt; sq-&gt;<a class="code hl_variable" href="../../d8/d78/fftools__ffprobe_8c.html#abad15c2aaf9c54ccddd8d8abf6bed069">nb_streams</a>);</div>
<div class="line"><a id="l00412" name="l00412"></a><span class="lineno"> 412</span> st = &amp;sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a94cc4e4e7042ff5a103d91005f44dc97">streams</a>[stream_idx];</div>
<div class="line"><a id="l00413" name="l00413"></a><span class="lineno"> 413</span> </div>
<div class="line"><a id="l00414" name="l00414"></a><span class="lineno"> 414</span> st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#ad2651b7a252f02dcb05098760d0b9a4e">frames_max</a> = frames;</div>
<div class="line"><a id="l00415" name="l00415"></a><span class="lineno"> 415</span> <span class="keywordflow">if</span> (st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#ab20fc7999548152df14069363152e431">frames_sent</a> &gt;= st-&gt;<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#ad2651b7a252f02dcb05098760d0b9a4e">frames_max</a>)</div>
<div class="line"><a id="l00416" name="l00416"></a><span class="lineno"> 416</span> <a class="code hl_function" href="../../df/dbb/fftools__sync__queue_8c.html#a5e661314646fd1bb8fca507096f61787">finish_stream</a>(sq, stream_idx);</div>
<div class="line"><a id="l00417" name="l00417"></a><span class="lineno"> 417</span>}</div>
<div class="line"><a id="l00418" name="l00418"></a><span class="lineno"> 418</span> </div>
<div class="line"><a id="l00419" name="l00419"></a><span class="lineno"><a class="line" href="../../df/dbb/fftools__sync__queue_8c.html#a3ebd18ffff189c6c8e0a3b0f857d8d74"> 419</a></span><a class="code hl_struct" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *<a class="code hl_function" href="../../df/dbb/fftools__sync__queue_8c.html#a3ebd18ffff189c6c8e0a3b0f857d8d74">sq_alloc</a>(<span class="keyword">enum</span> <a class="code hl_enumeration" href="../../d6/d35/fftools__sync__queue_8h.html#a8ecdcf04d361bd531cc8d36a3b6213b3">SyncQueueType</a> type, int64_t buf_size_us)</div>
<div class="line"><a id="l00420" name="l00420"></a><span class="lineno"> 420</span>{</div>
<div class="line"><a id="l00421" name="l00421"></a><span class="lineno"> 421</span> <a class="code hl_struct" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *sq = av_mallocz(<span class="keyword">sizeof</span>(*sq));</div>
<div class="line"><a id="l00422" name="l00422"></a><span class="lineno"> 422</span> </div>
<div class="line"><a id="l00423" name="l00423"></a><span class="lineno"> 423</span> <span class="keywordflow">if</span> (!sq)</div>
<div class="line"><a id="l00424" name="l00424"></a><span class="lineno"> 424</span> <span class="keywordflow">return</span> NULL;</div>
<div class="line"><a id="l00425" name="l00425"></a><span class="lineno"> 425</span> </div>
<div class="line"><a id="l00426" name="l00426"></a><span class="lineno"> 426</span> sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a9b015594410ac2faa91b148d7d4501b9">type</a> = type;</div>
<div class="line"><a id="l00427" name="l00427"></a><span class="lineno"> 427</span> sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#ac4cb296973a28d7e2625724cddc42667">buf_size_us</a> = buf_size_us;</div>
<div class="line"><a id="l00428" name="l00428"></a><span class="lineno"> 428</span> </div>
<div class="line"><a id="l00429" name="l00429"></a><span class="lineno"> 429</span> sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a955459c81fb9f8e61c889b73955ed3a5">head_stream</a> = -1;</div>
<div class="line"><a id="l00430" name="l00430"></a><span class="lineno"> 430</span> sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#afff43d090ee04704815e3187b6500a16">head_finished_stream</a> = -1;</div>
<div class="line"><a id="l00431" name="l00431"></a><span class="lineno"> 431</span> </div>
<div class="line"><a id="l00432" name="l00432"></a><span class="lineno"> 432</span> sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#aadf23023786eab9ab40f1f2182719167">pool</a> = (type == <a class="code hl_enumvalue" href="../../d6/d35/fftools__sync__queue_8h.html#a8ecdcf04d361bd531cc8d36a3b6213b3a69345b74224b95dc2ec281949375055d">SYNC_QUEUE_PACKETS</a>) ? <a class="code hl_function" href="../../d7/dd8/fftools__objpool_8c.html#a11bd14295b9fa65567206b9848f54234">objpool_alloc_packets</a>() :</div>
<div class="line"><a id="l00433" name="l00433"></a><span class="lineno"> 433</span> <a class="code hl_function" href="../../d7/dd8/fftools__objpool_8c.html#a3d2cc90dad36a8b49533bbc1f30b0c3d">objpool_alloc_frames</a>();</div>
<div class="line"><a id="l00434" name="l00434"></a><span class="lineno"> 434</span> <span class="keywordflow">if</span> (!sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#aadf23023786eab9ab40f1f2182719167">pool</a>) {</div>
<div class="line"><a id="l00435" name="l00435"></a><span class="lineno"> 435</span> av_freep(&amp;sq);</div>
<div class="line"><a id="l00436" name="l00436"></a><span class="lineno"> 436</span> <span class="keywordflow">return</span> NULL;</div>
<div class="line"><a id="l00437" name="l00437"></a><span class="lineno"> 437</span> }</div>
<div class="line"><a id="l00438" name="l00438"></a><span class="lineno"> 438</span> </div>
<div class="line"><a id="l00439" name="l00439"></a><span class="lineno"> 439</span> <span class="keywordflow">return</span> sq;</div>
<div class="line"><a id="l00440" name="l00440"></a><span class="lineno"> 440</span>}</div>
<div class="line"><a id="l00441" name="l00441"></a><span class="lineno"> 441</span> </div>
<div class="line"><a id="l00442" name="l00442"></a><span class="lineno"><a class="line" href="../../df/dbb/fftools__sync__queue_8c.html#acb4c2cb240da2d2880de0e2286c8ee5a"> 442</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="../../df/dbb/fftools__sync__queue_8c.html#acb4c2cb240da2d2880de0e2286c8ee5a">sq_free</a>(<a class="code hl_struct" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> **psq)</div>
<div class="line"><a id="l00443" name="l00443"></a><span class="lineno"> 443</span>{</div>
<div class="line"><a id="l00444" name="l00444"></a><span class="lineno"> 444</span> <a class="code hl_struct" href="../../d9/d28/struct_sync_queue.html">SyncQueue</a> *sq = *psq;</div>
<div class="line"><a id="l00445" name="l00445"></a><span class="lineno"> 445</span> </div>
<div class="line"><a id="l00446" name="l00446"></a><span class="lineno"> 446</span> <span class="keywordflow">if</span> (!sq)</div>
<div class="line"><a id="l00447" name="l00447"></a><span class="lineno"> 447</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00448" name="l00448"></a><span class="lineno"> 448</span> </div>
<div class="line"><a id="l00449" name="l00449"></a><span class="lineno"> 449</span> <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#aedb3e815e90b53a52cac23c172c704f4">nb_streams</a>; i++) {</div>
<div class="line"><a id="l00450" name="l00450"></a><span class="lineno"> 450</span> <a class="code hl_union" href="../../dc/df8/union_sync_queue_frame.html">SyncQueueFrame</a> frame;</div>
<div class="line"><a id="l00451" name="l00451"></a><span class="lineno"> 451</span> <span class="keywordflow">while</span> (av_fifo_read(sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a94cc4e4e7042ff5a103d91005f44dc97">streams</a>[i].<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#aa3aa5fc3137f9f222d45a0dcb5d031f8">fifo</a>, &amp;frame, 1) &gt;= 0)</div>
<div class="line"><a id="l00452" name="l00452"></a><span class="lineno"> 452</span> <a class="code hl_function" href="../../d7/dd8/fftools__objpool_8c.html#a4da002d4bc3bf48ba22633a96d20bb88">objpool_release</a>(sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#aadf23023786eab9ab40f1f2182719167">pool</a>, (<span class="keywordtype">void</span>**)&amp;frame);</div>
<div class="line"><a id="l00453" name="l00453"></a><span class="lineno"> 453</span> </div>
<div class="line"><a id="l00454" name="l00454"></a><span class="lineno"> 454</span> av_fifo_freep2(&amp;sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a94cc4e4e7042ff5a103d91005f44dc97">streams</a>[i].<a class="code hl_variable" href="../../d2/d94/struct_sync_queue_stream.html#aa3aa5fc3137f9f222d45a0dcb5d031f8">fifo</a>);</div>
<div class="line"><a id="l00455" name="l00455"></a><span class="lineno"> 455</span> }</div>
<div class="line"><a id="l00456" name="l00456"></a><span class="lineno"> 456</span> </div>
<div class="line"><a id="l00457" name="l00457"></a><span class="lineno"> 457</span> av_freep(&amp;sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#a94cc4e4e7042ff5a103d91005f44dc97">streams</a>);</div>
<div class="line"><a id="l00458" name="l00458"></a><span class="lineno"> 458</span> </div>
<div class="line"><a id="l00459" name="l00459"></a><span class="lineno"> 459</span> <a class="code hl_function" href="../../d7/dd8/fftools__objpool_8c.html#a8f520e6bdb0261648153ff389ca2d82c">objpool_free</a>(&amp;sq-&gt;<a class="code hl_variable" href="../../d9/d28/struct_sync_queue.html#aadf23023786eab9ab40f1f2182719167">pool</a>);</div>
<div class="line"><a id="l00460" name="l00460"></a><span class="lineno"> 460</span> </div>
<div class="line"><a id="l00461" name="l00461"></a><span class="lineno"> 461</span> av_freep(psq);</div>
<div class="line"><a id="l00462" name="l00462"></a><span class="lineno"> 462</span>}</div>
<div class="ttc" id="afftools__ffprobe_8c_html_abad15c2aaf9c54ccddd8d8abf6bed069"><div class="ttname"><a href="../../d8/d78/fftools__ffprobe_8c.html#abad15c2aaf9c54ccddd8d8abf6bed069">nb_streams</a></div><div class="ttdeci">__thread int nb_streams</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d78/fftools__ffprobe_8c_source.html#l00336">fftools_ffprobe.c:336</a></div></div>
<div class="ttc" id="afftools__objpool_8c_html_a11bd14295b9fa65567206b9848f54234"><div class="ttname"><a href="../../d7/dd8/fftools__objpool_8c.html#a11bd14295b9fa65567206b9848f54234">objpool_alloc_packets</a></div><div class="ttdeci">ObjPool * objpool_alloc_packets(void)</div><div class="ttdef"><b>Definition</b> <a href="../../d7/dd8/fftools__objpool_8c_source.html#l00138">fftools_objpool.c:138</a></div></div>
<div class="ttc" id="afftools__objpool_8c_html_a3d2cc90dad36a8b49533bbc1f30b0c3d"><div class="ttname"><a href="../../d7/dd8/fftools__objpool_8c.html#a3d2cc90dad36a8b49533bbc1f30b0c3d">objpool_alloc_frames</a></div><div class="ttdeci">ObjPool * objpool_alloc_frames(void)</div><div class="ttdef"><b>Definition</b> <a href="../../d7/dd8/fftools__objpool_8c_source.html#l00142">fftools_objpool.c:142</a></div></div>
<div class="ttc" id="afftools__objpool_8c_html_a4da002d4bc3bf48ba22633a96d20bb88"><div class="ttname"><a href="../../d7/dd8/fftools__objpool_8c.html#a4da002d4bc3bf48ba22633a96d20bb88">objpool_release</a></div><div class="ttdeci">void objpool_release(ObjPool *op, void **obj)</div><div class="ttdef"><b>Definition</b> <a href="../../d7/dd8/fftools__objpool_8c_source.html#l00092">fftools_objpool.c:92</a></div></div>
<div class="ttc" id="afftools__objpool_8c_html_a8f520e6bdb0261648153ff389ca2d82c"><div class="ttname"><a href="../../d7/dd8/fftools__objpool_8c.html#a8f520e6bdb0261648153ff389ca2d82c">objpool_free</a></div><div class="ttdeci">void objpool_free(ObjPool **pop)</div><div class="ttdef"><b>Definition</b> <a href="../../d7/dd8/fftools__objpool_8c_source.html#l00068">fftools_objpool.c:68</a></div></div>
<div class="ttc" id="afftools__objpool_8c_html_ac1d7df6827c7b36c79c17a660a96c7f2"><div class="ttname"><a href="../../d7/dd8/fftools__objpool_8c.html#ac1d7df6827c7b36c79c17a660a96c7f2">objpool_get</a></div><div class="ttdeci">int objpool_get(ObjPool *op, void **obj)</div><div class="ttdef"><b>Definition</b> <a href="../../d7/dd8/fftools__objpool_8c_source.html#l00081">fftools_objpool.c:81</a></div></div>
<div class="ttc" id="afftools__objpool_8h_html"><div class="ttname"><a href="../../d5/df5/fftools__objpool_8h.html">fftools_objpool.h</a></div></div>
<div class="ttc" id="afftools__sync__queue_8c_html_a251ece02811fb8bd6385fbec33b6a8b4"><div class="ttname"><a href="../../df/dbb/fftools__sync__queue_8c.html#a251ece02811fb8bd6385fbec33b6a8b4">frame_ts</a></div><div class="ttdeci">static int64_t frame_ts(const SyncQueue *sq, SyncQueueFrame frame)</div><div class="ttdef"><b>Definition</b> <a href="../../df/dbb/fftools__sync__queue_8c_source.html#l00089">fftools_sync_queue.c:89</a></div></div>
<div class="ttc" id="afftools__sync__queue_8c_html_a3ebd18ffff189c6c8e0a3b0f857d8d74"><div class="ttname"><a href="../../df/dbb/fftools__sync__queue_8c.html#a3ebd18ffff189c6c8e0a3b0f857d8d74">sq_alloc</a></div><div class="ttdeci">SyncQueue * sq_alloc(enum SyncQueueType type, int64_t buf_size_us)</div><div class="ttdef"><b>Definition</b> <a href="../../df/dbb/fftools__sync__queue_8c_source.html#l00419">fftools_sync_queue.c:419</a></div></div>
<div class="ttc" id="afftools__sync__queue_8c_html_a4238cc98be178d1a35af01d3c21997c9"><div class="ttname"><a href="../../df/dbb/fftools__sync__queue_8c.html#a4238cc98be178d1a35af01d3c21997c9">queue_head_update</a></div><div class="ttdeci">static void queue_head_update(SyncQueue *sq)</div><div class="ttdef"><b>Definition</b> <a href="../../df/dbb/fftools__sync__queue_8c_source.html#l00135">fftools_sync_queue.c:135</a></div></div>
<div class="ttc" id="afftools__sync__queue_8c_html_a5e661314646fd1bb8fca507096f61787"><div class="ttname"><a href="../../df/dbb/fftools__sync__queue_8c.html#a5e661314646fd1bb8fca507096f61787">finish_stream</a></div><div class="ttdeci">static void finish_stream(SyncQueue *sq, unsigned int stream_idx)</div><div class="ttdef"><b>Definition</b> <a href="../../df/dbb/fftools__sync__queue_8c_source.html#l00101">fftools_sync_queue.c:101</a></div></div>
<div class="ttc" id="afftools__sync__queue_8c_html_a5f497d719d4fcd96a015b9994e831fbd"><div class="ttname"><a href="../../df/dbb/fftools__sync__queue_8c.html#a5f497d719d4fcd96a015b9994e831fbd">sq_send</a></div><div class="ttdeci">int sq_send(SyncQueue *sq, unsigned int stream_idx, SyncQueueFrame frame)</div><div class="ttdef"><b>Definition</b> <a href="../../df/dbb/fftools__sync__queue_8c_source.html#l00248">fftools_sync_queue.c:248</a></div></div>
<div class="ttc" id="afftools__sync__queue_8c_html_a6dec025ee79d08646d778de51776e1c0"><div class="ttname"><a href="../../df/dbb/fftools__sync__queue_8c.html#a6dec025ee79d08646d778de51776e1c0">receive_for_stream</a></div><div class="ttdeci">static int receive_for_stream(SyncQueue *sq, unsigned int stream_idx, SyncQueueFrame frame)</div><div class="ttdef"><b>Definition</b> <a href="../../df/dbb/fftools__sync__queue_8c_source.html#l00291">fftools_sync_queue.c:291</a></div></div>
<div class="ttc" id="afftools__sync__queue_8c_html_a722fd660cd1b213727e18cbf40dff35b"><div class="ttname"><a href="../../df/dbb/fftools__sync__queue_8c.html#a722fd660cd1b213727e18cbf40dff35b">sq_set_tb</a></div><div class="ttdeci">void sq_set_tb(SyncQueue *sq, unsigned int stream_idx, AVRational tb)</div><div class="ttdef"><b>Definition</b> <a href="../../df/dbb/fftools__sync__queue_8c_source.html#l00392">fftools_sync_queue.c:392</a></div></div>
<div class="ttc" id="afftools__sync__queue_8c_html_a808ad6ed0fb0d7f2e0e145a50376f470"><div class="ttname"><a href="../../df/dbb/fftools__sync__queue_8c.html#a808ad6ed0fb0d7f2e0e145a50376f470">stream_update_ts</a></div><div class="ttdeci">static void stream_update_ts(SyncQueue *sq, unsigned int stream_idx, int64_t ts)</div><div class="ttdef"><b>Definition</b> <a href="../../df/dbb/fftools__sync__queue_8c_source.html#l00161">fftools_sync_queue.c:161</a></div></div>
<div class="ttc" id="afftools__sync__queue_8c_html_a870f9c9e4d1ac364766fc8a2c732484f"><div class="ttname"><a href="../../df/dbb/fftools__sync__queue_8c.html#a870f9c9e4d1ac364766fc8a2c732484f">frame_null</a></div><div class="ttdeci">static int frame_null(const SyncQueue *sq, SyncQueueFrame frame)</div><div class="ttdef"><b>Definition</b> <a href="../../df/dbb/fftools__sync__queue_8c_source.html#l00096">fftools_sync_queue.c:96</a></div></div>
<div class="ttc" id="afftools__sync__queue_8c_html_a94edf016e07e0f259e4b515d1f8fea57"><div class="ttname"><a href="../../df/dbb/fftools__sync__queue_8c.html#a94edf016e07e0f259e4b515d1f8fea57">sq_limit_frames</a></div><div class="ttdeci">void sq_limit_frames(SyncQueue *sq, unsigned int stream_idx, uint64_t frames)</div><div class="ttdef"><b>Definition</b> <a href="../../df/dbb/fftools__sync__queue_8c_source.html#l00407">fftools_sync_queue.c:407</a></div></div>
<div class="ttc" id="afftools__sync__queue_8c_html_aa6ea9cdf83d4914aa1dc8efaaac2a732"><div class="ttname"><a href="../../df/dbb/fftools__sync__queue_8c.html#aa6ea9cdf83d4914aa1dc8efaaac2a732">sq_receive</a></div><div class="ttdeci">int sq_receive(SyncQueue *sq, int stream_idx, SyncQueueFrame frame)</div><div class="ttdef"><b>Definition</b> <a href="../../df/dbb/fftools__sync__queue_8c_source.html#l00353">fftools_sync_queue.c:353</a></div></div>
<div class="ttc" id="afftools__sync__queue_8c_html_aa8de62308b26e4fdd23116f298d7f28d"><div class="ttname"><a href="../../df/dbb/fftools__sync__queue_8c.html#aa8de62308b26e4fdd23116f298d7f28d">overflow_heartbeat</a></div><div class="ttdeci">static int overflow_heartbeat(SyncQueue *sq, int stream_idx)</div><div class="ttdef"><b>Definition</b> <a href="../../df/dbb/fftools__sync__queue_8c_source.html#l00190">fftools_sync_queue.c:190</a></div></div>
<div class="ttc" id="afftools__sync__queue_8c_html_aaddc370144314c88f397d65246fa13c1"><div class="ttname"><a href="../../df/dbb/fftools__sync__queue_8c.html#aaddc370144314c88f397d65246fa13c1">frame_move</a></div><div class="ttdeci">static void frame_move(const SyncQueue *sq, SyncQueueFrame dst, SyncQueueFrame src)</div><div class="ttdef"><b>Definition</b> <a href="../../df/dbb/fftools__sync__queue_8c_source.html#l00080">fftools_sync_queue.c:80</a></div></div>
<div class="ttc" id="afftools__sync__queue_8c_html_ab4d019feeae8c6a3ce393901185e7707"><div class="ttname"><a href="../../df/dbb/fftools__sync__queue_8c.html#ab4d019feeae8c6a3ce393901185e7707">receive_internal</a></div><div class="ttdeci">static int receive_internal(SyncQueue *sq, int stream_idx, SyncQueueFrame frame)</div><div class="ttdef"><b>Definition</b> <a href="../../df/dbb/fftools__sync__queue_8c_source.html#l00329">fftools_sync_queue.c:329</a></div></div>
<div class="ttc" id="afftools__sync__queue_8c_html_acb4c2cb240da2d2880de0e2286c8ee5a"><div class="ttname"><a href="../../df/dbb/fftools__sync__queue_8c.html#acb4c2cb240da2d2880de0e2286c8ee5a">sq_free</a></div><div class="ttdeci">void sq_free(SyncQueue **psq)</div><div class="ttdef"><b>Definition</b> <a href="../../df/dbb/fftools__sync__queue_8c_source.html#l00442">fftools_sync_queue.c:442</a></div></div>
<div class="ttc" id="afftools__sync__queue_8c_html_ae3e36c041fbe68938e84e9b59d7d7c46"><div class="ttname"><a href="../../df/dbb/fftools__sync__queue_8c.html#ae3e36c041fbe68938e84e9b59d7d7c46">sq_add_stream</a></div><div class="ttdeci">int sq_add_stream(SyncQueue *sq, int limiting)</div><div class="ttdef"><b>Definition</b> <a href="../../df/dbb/fftools__sync__queue_8c_source.html#l00365">fftools_sync_queue.c:365</a></div></div>
<div class="ttc" id="afftools__sync__queue_8h_html"><div class="ttname"><a href="../../d6/d35/fftools__sync__queue_8h.html">fftools_sync_queue.h</a></div></div>
<div class="ttc" id="afftools__sync__queue_8h_html_a8ecdcf04d361bd531cc8d36a3b6213b3"><div class="ttname"><a href="../../d6/d35/fftools__sync__queue_8h.html#a8ecdcf04d361bd531cc8d36a3b6213b3">SyncQueueType</a></div><div class="ttdeci">SyncQueueType</div><div class="ttdef"><b>Definition</b> <a href="../../d6/d35/fftools__sync__queue_8h_source.html#l00041">fftools_sync_queue.h:41</a></div></div>
<div class="ttc" id="afftools__sync__queue_8h_html_a8ecdcf04d361bd531cc8d36a3b6213b3a69345b74224b95dc2ec281949375055d"><div class="ttname"><a href="../../d6/d35/fftools__sync__queue_8h.html#a8ecdcf04d361bd531cc8d36a3b6213b3a69345b74224b95dc2ec281949375055d">SYNC_QUEUE_PACKETS</a></div><div class="ttdeci">@ SYNC_QUEUE_PACKETS</div><div class="ttdef"><b>Definition</b> <a href="../../d6/d35/fftools__sync__queue_8h_source.html#l00042">fftools_sync_queue.h:42</a></div></div>
<div class="ttc" id="astruct_obj_pool_html"><div class="ttname"><a href="../../d4/d62/struct_obj_pool.html">ObjPool</a></div><div class="ttdef"><b>Definition</b> <a href="../../d7/dd8/fftools__objpool_8c_source.html#l00044">fftools_objpool.c:44</a></div></div>
<div class="ttc" id="astruct_sync_queue_html"><div class="ttname"><a href="../../d9/d28/struct_sync_queue.html">SyncQueue</a></div><div class="ttdef"><b>Definition</b> <a href="../../df/dbb/fftools__sync__queue_8c_source.html#l00059">fftools_sync_queue.c:59</a></div></div>
<div class="ttc" id="astruct_sync_queue_html_a5733f48b0ec4a03e3de1a8029bdd44ed"><div class="ttname"><a href="../../d9/d28/struct_sync_queue.html#a5733f48b0ec4a03e3de1a8029bdd44ed">SyncQueue::finished</a></div><div class="ttdeci">int finished</div><div class="ttdef"><b>Definition</b> <a href="../../df/dbb/fftools__sync__queue_8c_source.html#l00063">fftools_sync_queue.c:63</a></div></div>
<div class="ttc" id="astruct_sync_queue_html_a94cc4e4e7042ff5a103d91005f44dc97"><div class="ttname"><a href="../../d9/d28/struct_sync_queue.html#a94cc4e4e7042ff5a103d91005f44dc97">SyncQueue::streams</a></div><div class="ttdeci">SyncQueueStream * streams</div><div class="ttdef"><b>Definition</b> <a href="../../df/dbb/fftools__sync__queue_8c_source.html#l00073">fftools_sync_queue.c:73</a></div></div>
<div class="ttc" id="astruct_sync_queue_html_a955459c81fb9f8e61c889b73955ed3a5"><div class="ttname"><a href="../../d9/d28/struct_sync_queue.html#a955459c81fb9f8e61c889b73955ed3a5">SyncQueue::head_stream</a></div><div class="ttdeci">int head_stream</div><div class="ttdef"><b>Definition</b> <a href="../../df/dbb/fftools__sync__queue_8c_source.html#l00066">fftools_sync_queue.c:66</a></div></div>
<div class="ttc" id="astruct_sync_queue_html_a9b015594410ac2faa91b148d7d4501b9"><div class="ttname"><a href="../../d9/d28/struct_sync_queue.html#a9b015594410ac2faa91b148d7d4501b9">SyncQueue::type</a></div><div class="ttdeci">enum SyncQueueType type</div><div class="ttdef"><b>Definition</b> <a href="../../df/dbb/fftools__sync__queue_8c_source.html#l00060">fftools_sync_queue.c:60</a></div></div>
<div class="ttc" id="astruct_sync_queue_html_aadf23023786eab9ab40f1f2182719167"><div class="ttname"><a href="../../d9/d28/struct_sync_queue.html#aadf23023786eab9ab40f1f2182719167">SyncQueue::pool</a></div><div class="ttdeci">ObjPool * pool</div><div class="ttdef"><b>Definition</b> <a href="../../df/dbb/fftools__sync__queue_8c_source.html#l00077">fftools_sync_queue.c:77</a></div></div>
<div class="ttc" id="astruct_sync_queue_html_ac4cb296973a28d7e2625724cddc42667"><div class="ttname"><a href="../../d9/d28/struct_sync_queue.html#ac4cb296973a28d7e2625724cddc42667">SyncQueue::buf_size_us</a></div><div class="ttdeci">int64_t buf_size_us</div><div class="ttdef"><b>Definition</b> <a href="../../df/dbb/fftools__sync__queue_8c_source.html#l00071">fftools_sync_queue.c:71</a></div></div>
<div class="ttc" id="astruct_sync_queue_html_aedb3e815e90b53a52cac23c172c704f4"><div class="ttname"><a href="../../d9/d28/struct_sync_queue.html#aedb3e815e90b53a52cac23c172c704f4">SyncQueue::nb_streams</a></div><div class="ttdeci">unsigned int nb_streams</div><div class="ttdef"><b>Definition</b> <a href="../../df/dbb/fftools__sync__queue_8c_source.html#l00074">fftools_sync_queue.c:74</a></div></div>
<div class="ttc" id="astruct_sync_queue_html_afff43d090ee04704815e3187b6500a16"><div class="ttname"><a href="../../d9/d28/struct_sync_queue.html#afff43d090ee04704815e3187b6500a16">SyncQueue::head_finished_stream</a></div><div class="ttdeci">int head_finished_stream</div><div class="ttdef"><b>Definition</b> <a href="../../df/dbb/fftools__sync__queue_8c_source.html#l00068">fftools_sync_queue.c:68</a></div></div>
<div class="ttc" id="astruct_sync_queue_stream_html"><div class="ttname"><a href="../../d2/d94/struct_sync_queue_stream.html">SyncQueueStream</a></div><div class="ttdef"><b>Definition</b> <a href="../../df/dbb/fftools__sync__queue_8c_source.html#l00045">fftools_sync_queue.c:45</a></div></div>
<div class="ttc" id="astruct_sync_queue_stream_html_a215a25282f85265e765035089c7197f9"><div class="ttname"><a href="../../d2/d94/struct_sync_queue_stream.html#a215a25282f85265e765035089c7197f9">SyncQueueStream::tb</a></div><div class="ttdeci">AVRational tb</div><div class="ttdef"><b>Definition</b> <a href="../../df/dbb/fftools__sync__queue_8c_source.html#l00047">fftools_sync_queue.c:47</a></div></div>
<div class="ttc" id="astruct_sync_queue_stream_html_a24abe05decc9a6825a890be5cddcb740"><div class="ttname"><a href="../../d2/d94/struct_sync_queue_stream.html#a24abe05decc9a6825a890be5cddcb740">SyncQueueStream::limiting</a></div><div class="ttdeci">int limiting</div><div class="ttdef"><b>Definition</b> <a href="../../df/dbb/fftools__sync__queue_8c_source.html#l00051">fftools_sync_queue.c:51</a></div></div>
<div class="ttc" id="astruct_sync_queue_stream_html_a9780b2194bcb4f34802ad6c8119f4fe5"><div class="ttname"><a href="../../d2/d94/struct_sync_queue_stream.html#a9780b2194bcb4f34802ad6c8119f4fe5">SyncQueueStream::finished</a></div><div class="ttdeci">int finished</div><div class="ttdef"><b>Definition</b> <a href="../../df/dbb/fftools__sync__queue_8c_source.html#l00053">fftools_sync_queue.c:53</a></div></div>
<div class="ttc" id="astruct_sync_queue_stream_html_aa3aa5fc3137f9f222d45a0dcb5d031f8"><div class="ttname"><a href="../../d2/d94/struct_sync_queue_stream.html#aa3aa5fc3137f9f222d45a0dcb5d031f8">SyncQueueStream::fifo</a></div><div class="ttdeci">AVFifo * fifo</div><div class="ttdef"><b>Definition</b> <a href="../../df/dbb/fftools__sync__queue_8c_source.html#l00046">fftools_sync_queue.c:46</a></div></div>
<div class="ttc" id="astruct_sync_queue_stream_html_ab20fc7999548152df14069363152e431"><div class="ttname"><a href="../../d2/d94/struct_sync_queue_stream.html#ab20fc7999548152df14069363152e431">SyncQueueStream::frames_sent</a></div><div class="ttdeci">uint64_t frames_sent</div><div class="ttdef"><b>Definition</b> <a href="../../df/dbb/fftools__sync__queue_8c_source.html#l00055">fftools_sync_queue.c:55</a></div></div>
<div class="ttc" id="astruct_sync_queue_stream_html_ad2651b7a252f02dcb05098760d0b9a4e"><div class="ttname"><a href="../../d2/d94/struct_sync_queue_stream.html#ad2651b7a252f02dcb05098760d0b9a4e">SyncQueueStream::frames_max</a></div><div class="ttdeci">uint64_t frames_max</div><div class="ttdef"><b>Definition</b> <a href="../../df/dbb/fftools__sync__queue_8c_source.html#l00056">fftools_sync_queue.c:56</a></div></div>
<div class="ttc" id="astruct_sync_queue_stream_html_afa8c97ba87d308f5760f61c229a8fead"><div class="ttname"><a href="../../d2/d94/struct_sync_queue_stream.html#afa8c97ba87d308f5760f61c229a8fead">SyncQueueStream::head_ts</a></div><div class="ttdeci">int64_t head_ts</div><div class="ttdef"><b>Definition</b> <a href="../../df/dbb/fftools__sync__queue_8c_source.html#l00050">fftools_sync_queue.c:50</a></div></div>
<div class="ttc" id="aunion_sync_queue_frame_html"><div class="ttname"><a href="../../dc/df8/union_sync_queue_frame.html">SyncQueueFrame</a></div><div class="ttdef"><b>Definition</b> <a href="../../d6/d35/fftools__sync__queue_8h_source.html#l00046">fftools_sync_queue.h:46</a></div></div>
<div class="ttc" id="aunion_sync_queue_frame_html_a760fa08c314c05cb7455db8eb3823eb8"><div class="ttname"><a href="../../dc/df8/union_sync_queue_frame.html#a760fa08c314c05cb7455db8eb3823eb8">SyncQueueFrame::f</a></div><div class="ttdeci">AVFrame * f</div><div class="ttdef"><b>Definition</b> <a href="../../d6/d35/fftools__sync__queue_8h_source.html#l00047">fftools_sync_queue.h:47</a></div></div>
<div class="ttc" id="aunion_sync_queue_frame_html_adddf0753b505502215ea450eb58b807e"><div class="ttname"><a href="../../dc/df8/union_sync_queue_frame.html#adddf0753b505502215ea450eb58b807e">SyncQueueFrame::p</a></div><div class="ttdeci">AVPacket * p</div><div class="ttdef"><b>Definition</b> <a href="../../d6/d35/fftools__sync__queue_8h_source.html#l00048">fftools_sync_queue.h:48</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Aug 22 2023 01:27:12 for FFmpegKit Linux API by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
</small></address>
</body>
</html>