Repository URL to install this package:
Version:
7:2.7.1-1ubuntu3 ▾
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>FFmpeg: AVFormatContext Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">FFmpeg
 <span id="projectnumber">2.7.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
<li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li class="current"><a href="annotated.html"><span>Data Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Data Structures</span></a></li>
<li><a href="classes.html"><span>Data Structure Index</span></a></li>
<li><a href="functions.html"><span>Data Fields</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-attribs">Data Fields</a> </div>
<div class="headertitle">
<div class="title">AVFormatContext Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
<!-- doxytag: class="AVFormatContext" -->
<p>Format I/O context.
<a href="structAVFormatContext.html#details">More...</a></p>
<p><code>#include <<a class="el" href="avformat_8h_source.html">avformat.h</a>></code></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structAVClass.html">AVClass</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a0c396740b9a2487aa57d4352d2dc1687">av_class</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">A class for logging and <a class="el" href="group__avoptions.html">AVOptions</a>. <a href="#a0c396740b9a2487aa57d4352d2dc1687"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structAVInputFormat.html">AVInputFormat</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a78efc5a53c21c8d81197445207ac4374">iformat</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">The input container format. <a href="#a78efc5a53c21c8d81197445207ac4374"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structAVOutputFormat.html">AVOutputFormat</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a20d80ac07e38ff5c268d15aaf2798b98">oformat</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">The output container format. <a href="#a20d80ac07e38ff5c268d15aaf2798b98"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#ac4c0777e54085af2f3f1b27130e2b21b">priv_data</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Format private data. <a href="#ac4c0777e54085af2f3f1b27130e2b21b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structAVIOContext.html">AVIOContext</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a1e7324262b6b78522e52064daaa7bc87">pb</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">I/O context. <a href="#a1e7324262b6b78522e52064daaa7bc87"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a4e6076343df1ffc2e16cedbba3f3f397">ctx_flags</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Flags signalling stream properties. <a href="#a4e6076343df1ffc2e16cedbba3f3f397"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a0b748d924898b08b89ff4974afd17285">nb_streams</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Number of elements in <a class="el" href="structAVFormatContext.html#acfefb6b6cf21e87a0dcbd1a547ba2348" title="A list of all streams in the file.">AVFormatContext.streams</a>. <a href="#a0b748d924898b08b89ff4974afd17285"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structAVStream.html">AVStream</a> ** </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#acfefb6b6cf21e87a0dcbd1a547ba2348">streams</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">A list of all streams in the file. <a href="#acfefb6b6cf21e87a0dcbd1a547ba2348"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">char </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a65a978cf0ca3c0f0da52840d2e97f9ea">filename</a> [1024]</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">input or output filename <a href="#a65a978cf0ca3c0f0da52840d2e97f9ea"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a2590129e00adfa726ab2033a10e905e9">start_time</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Position of the first frame of the component, in AV_TIME_BASE fractional seconds. <a href="#a2590129e00adfa726ab2033a10e905e9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#ad0ea78ac48f5bb0a15a15c1c472744d9">duration</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Duration of the stream, in AV_TIME_BASE fractional seconds. <a href="#ad0ea78ac48f5bb0a15a15c1c472744d9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a4f7a7b9b1313907c88e62b03f3e569e6">bit_rate</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Total stream bitrate in bit/s, 0 if not available. <a href="#a4f7a7b9b1313907c88e62b03f3e569e6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a0739c2952969d3c67788f02ea829f549">packet_size</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a58422ed3d461b3440a15cf057ac5f5b7">max_delay</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a32379cc371463b235d54235d4af06a15">flags</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Flags modifying the (de)muxer behaviour. <a href="#a32379cc371463b235d54235d4af06a15"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#afcff2757459cf56050b2d908f46957b0">probesize</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="attributes_8h.html#aa6d076561d3a9eea4729ee632652de02">attribute_deprecated</a> int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#ae5e988daf153680f8e213708cfa1dd08">max_analyze_duration</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const uint8_t * </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a19cb4471ba011fc7adc5e17344c608f5">key</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a1f2c1db3070cc100938eaed81ff3767d">keylen</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a58c8c4d0ea974e0fcb0ce06fb1174f9f">nb_programs</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structAVProgram.html">AVProgram</a> ** </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a4c2c5a4c758966349ff513e95154d062">programs</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__lavc__core.html#gaadca229ad2c20e060a14fec08a5cc7ce">AVCodecID</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#ab179ade0dbe905ab2867b7001bf618ec">video_codec_id</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Forced video codec_id. <a href="#ab179ade0dbe905ab2867b7001bf618ec"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__lavc__core.html#gaadca229ad2c20e060a14fec08a5cc7ce">AVCodecID</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a1c99fc118bf047959a0284bffc2c1a9a">audio_codec_id</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Forced audio codec_id. <a href="#a1c99fc118bf047959a0284bffc2c1a9a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__lavc__core.html#gaadca229ad2c20e060a14fec08a5cc7ce">AVCodecID</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#acca61846d663b15e5a56b35c903e4d3b">subtitle_codec_id</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Forced subtitle codec_id. <a href="#acca61846d663b15e5a56b35c903e4d3b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#ab0470d586a71d4f356194d202591617d">max_index_size</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Maximum amount of memory in bytes to use for the index of each stream. <a href="#ab0470d586a71d4f356194d202591617d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#ae188350a3838a14a233bf272d68998be">max_picture_buffer</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Maximum amount of memory in bytes to use for buffering frames obtained from realtime capture devices. <a href="#ae188350a3838a14a233bf272d68998be"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a6f60043baf4abd0d201ccefc27bb4306">nb_chapters</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Number of chapters in <a class="el" href="structAVChapter.html">AVChapter</a> array. <a href="#a6f60043baf4abd0d201ccefc27bb4306"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structAVChapter.html">AVChapter</a> ** </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#ac17d5fc2dcdb00806cc83b02d9f940f3">chapters</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__lavu__dict.html#ga1d7cc0833bee918994a600556410315f">AVDictionary</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a3019a56080ed2e3297ff25bc2ff88adf">metadata</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Metadata that applies to the whole file. <a href="#a3019a56080ed2e3297ff25bc2ff88adf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#aa5ddb5cee1df28f21739133f2e37f1c5">start_time_realtime</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Start time of the stream in real world time, in microseconds since the Unix epoch (00:00 1st January 1970). <a href="#aa5ddb5cee1df28f21739133f2e37f1c5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a517e6b5dcada506a49ef413d4d8d477a">fps_probe_size</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">The number of frames used for determining the framerate in <a class="el" href="group__lavf__decoding.html#gad42172e27cddafb81096939783b157bb" title="Read packets of a media file to get stream information.">avformat_find_stream_info()</a>. <a href="#a517e6b5dcada506a49ef413d4d8d477a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#aeebb15a72d1503e641b633aeb3be0bf0">error_recognition</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Error recognition; higher values will detect more errors but may misdetect some more or less valid parts as errors. <a href="#aeebb15a72d1503e641b633aeb3be0bf0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structAVIOInterruptCB.html">AVIOInterruptCB</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a5b37acfe4024d92ee510064e80920b40">interrupt_callback</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Custom interrupt callbacks for the I/O layer. <a href="#a5b37acfe4024d92ee510064e80920b40"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#ab4478e9742f661800cf7e0af84136cae">debug</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Flags to enable debugging. <a href="#ab4478e9742f661800cf7e0af84136cae"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a00edb6b7a31f8dabfa668334ca1f92d7">max_interleave_delta</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Maximum buffering duration for interleaving. <a href="#a00edb6b7a31f8dabfa668334ca1f92d7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a5017684cf0a84c990f60c8d50adec144">strict_std_compliance</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Allow non-standard and experimental extension. <a href="#a5017684cf0a84c990f60c8d50adec144"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a0302506d4b3434da77b8b3db43821aa0">event_flags</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Flags for the user to detect events happening on the file. <a href="#a0302506d4b3434da77b8b3db43821aa0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#ad7854e5186dd14ce91dea1dfd0bb826f">max_ts_probe</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Maximum number of packets to read while waiting for the first timestamp. <a href="#ad7854e5186dd14ce91dea1dfd0bb826f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a032c7d859883eddc9d87a9e3b2cc3853">avoid_negative_ts</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Avoid negative timestamps during muxing. <a href="#a032c7d859883eddc9d87a9e3b2cc3853"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a5d331e9a0609a93dd4593af6c118cc4b">ts_id</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Transport stream id. <a href="#a5d331e9a0609a93dd4593af6c118cc4b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#ac02383c2106cca8022f8a293399aed58">audio_preload</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Audio preload in microseconds. <a href="#ac02383c2106cca8022f8a293399aed58"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#ae20c589e20f22f74f1687702de6d2e8e">max_chunk_duration</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Max chunk time in microseconds. <a href="#ae20c589e20f22f74f1687702de6d2e8e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a3d8cfff712c81d1cbc725b40ce02f7e7">max_chunk_size</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Max chunk size in bytes Note, not all formats support this and unpredictable things may happen if it is used when not supported. <a href="#a3d8cfff712c81d1cbc725b40ce02f7e7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a90251622aa2b78badbb846274aff4633">use_wallclock_as_timestamps</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">forces the use of wallclock timestamps as pts/dts of packets This has undefined results in the presence of B frames. <a href="#a90251622aa2b78badbb846274aff4633"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a5e6814c9de3c272396f07e2ff18c7b27">avio_flags</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">avio flags, used to force AVIO_FLAG_DIRECT. <a href="#a5e6814c9de3c272396f07e2ff18c7b27"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="avformat_8h.html#a7c2692ffa20d3e888e40e79eeda6d73b">AVDurationEstimationMethod</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a95035552afae17c1b7cd701ad72e67b5">duration_estimation_method</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">The duration field can be estimated through various ways, and this field can be used to know how the duration was estimated. <a href="#a95035552afae17c1b7cd701ad72e67b5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#ad9042cdda3a644e4ef46bfeffa34e4f3">skip_initial_bytes</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Skip initial bytes when opening stream. <a href="#ad9042cdda3a644e4ef46bfeffa34e4f3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#afe4c7f02033d4b58b3636b9e42db25de">correct_ts_overflow</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Correct single timestamp overflows. <a href="#afe4c7f02033d4b58b3636b9e42db25de"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a41a1f108aa38e851f65ff4f0a70ce5a5">seek2any</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Force seeking to any (also non key) frames. <a href="#a41a1f108aa38e851f65ff4f0a70ce5a5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a1fdd77fff4c7df1e30ce1d42e10922e9">flush_packets</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Flush the I/O context after each packet. <a href="#a1fdd77fff4c7df1e30ce1d42e10922e9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a65f11f94f40f83866ebe651c8ae111cf">probe_score</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">format probing score. <a href="#a65f11f94f40f83866ebe651c8ae111cf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a7d1f665ecabe03e3d18accbb1ebb32b1">format_probesize</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">number of bytes to read maximally to identify format. <a href="#a7d1f665ecabe03e3d18accbb1ebb32b1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#aa3b43e2a040a3ce658620711a8345234">codec_whitelist</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">',' separated list of allowed decoders. <a href="#aa3b43e2a040a3ce658620711a8345234"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#abcaa5a7c53d4b0224a5fc2d23e88ea03">format_whitelist</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">',' separated list of allowed demuxers. <a href="#abcaa5a7c53d4b0224a5fc2d23e88ea03"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="avformat_8h.html#a7bec8d592652431045d81a02fef74f28">AVFormatInternal</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a8a8bec51da36db65ff864f88a85805d9">internal</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">An opaque field for libavformat internal usage. <a href="#a8a8bec51da36db65ff864f88a85805d9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a45afe89c377463a1b9446ac94b3c513b">io_repositioned</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">IO repositioned flag. <a href="#a45afe89c377463a1b9446ac94b3c513b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structAVCodec.html">AVCodec</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a1891d82f7f853a16ebcba7cae939c4f0">video_codec</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Forced video codec. <a href="#a1891d82f7f853a16ebcba7cae939c4f0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structAVCodec.html">AVCodec</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#ab73f76ceac8ed711c56decc2d64456f0">audio_codec</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Forced audio codec. <a href="#ab73f76ceac8ed711c56decc2d64456f0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structAVCodec.html">AVCodec</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a9cc6a317755fa4f65b0bab36bcb18c87">subtitle_codec</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Forced subtitle codec. <a href="#a9cc6a317755fa4f65b0bab36bcb18c87"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structAVCodec.html">AVCodec</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a6f39359931d266a5cd68223ca68dd3a1">data_codec</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Forced data codec. <a href="#a6f39359931d266a5cd68223ca68dd3a1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a6fc5a51cf62b6e8ad379c1ac57d4a0c4">metadata_header_padding</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Number of bytes to be written as padding in a metadata header. <a href="#a6fc5a51cf62b6e8ad379c1ac57d4a0c4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a71797838db59ca0682dd2d18b149134e">opaque</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">User data. <a href="#a71797838db59ca0682dd2d18b149134e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="avformat_8h.html#a8232a706c09cba000025f64ddcd05495">av_format_control_message</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#ab569e23a4966ca1f708fb498dd6b3d5f">control_message_cb</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Callback used by devices to communicate with application. <a href="#ab569e23a4966ca1f708fb498dd6b3d5f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a711dc3e6159c44dc31843f915b893a12">output_ts_offset</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Output timestamp offset, in microseconds. <a href="#a711dc3e6159c44dc31843f915b893a12"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#ae37d8ef296a546a242209c886881275b">max_analyze_duration2</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Maximum duration (in AV_TIME_BASE units) of the data read from input in <a class="el" href="group__lavf__decoding.html#gad42172e27cddafb81096939783b157bb" title="Read packets of a media file to get stream information.">avformat_find_stream_info()</a>. <a href="#ae37d8ef296a546a242209c886881275b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a423ea33665de4caba4a77ecf68c63722">probesize2</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Maximum size of the data read from input for determining the input container format. <a href="#a423ea33665de4caba4a77ecf68c63722"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint8_t * </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#afeccb79eb120b1c79d7d269e8049237a">dump_separator</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">dump format separator. <a href="#afeccb79eb120b1c79d7d269e8049237a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__lavc__core.html#gaadca229ad2c20e060a14fec08a5cc7ce">AVCodecID</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a2112b67f2f7a58bde5b6d13dc353b58d">data_codec_id</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Forced Data codec_id. <a href="#a2112b67f2f7a58bde5b6d13dc353b58d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVFormatContext.html#a5b40817d7dae87863741179ceac022ac">open_cb</a> )(struct <a class="el" href="structAVFormatContext.html">AVFormatContext</a> *s, <a class="el" href="structAVIOContext.html">AVIOContext</a> **p, const char *url, int <a class="el" href="structAVFormatContext.html#a32379cc371463b235d54235d4af06a15">flags</a>, const <a class="el" href="structAVIOInterruptCB.html">AVIOInterruptCB</a> *int_cb, <a class="el" href="group__lavu__dict.html#ga1d7cc0833bee918994a600556410315f">AVDictionary</a> **options)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Called to open further IO contexts when needed for demuxing. <a href="#a5b40817d7dae87863741179ceac022ac"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Format I/O context. </p>
<p>New fields can be added to the end with minor version bumps. Removal, reordering and changes to existing fields require a major version bump. sizeof(AVFormatContext) must not be used outside libav*, use <a class="el" href="group__lavf__core.html#gac7a91abf2f59648d995894711f070f62" title="Allocate an AVFormatContext.">avformat_alloc_context()</a> to create an <a class="el" href="structAVFormatContext.html" title="Format I/O context.">AVFormatContext</a>. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="avio_reading_8c-example.html#_a6">avio_reading.c</a>, <a class="el" href="demuxing_decoding_8c-example.html#_a0">demuxing_decoding.c</a>, <a class="el" href="filtering_audio_8c-example.html#_a2">filtering_audio.c</a>, <a class="el" href="filtering_video_8c-example.html#_a1">filtering_video.c</a>, <a class="el" href="metadata_8c-example.html#_a1">metadata.c</a>, <a class="el" href="muxing_8c-example.html#_a14">muxing.c</a>, <a class="el" href="remuxing_8c-example.html#_a1">remuxing.c</a>, <a class="el" href="transcode_aac_8c-example.html#_a3">transcode_aac.c</a>, and <a class="el" href="transcoding_8c-example.html#_a0">transcoding.c</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01263">1263</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div><hr/><h2>Field Documentation</h2>
<a class="anchor" id="a0c396740b9a2487aa57d4352d2dc1687"></a><!-- doxytag: member="AVFormatContext::av_class" ref="a0c396740b9a2487aa57d4352d2dc1687" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="structAVClass.html">AVClass</a>* <a class="el" href="structAVFormatContext.html#a0c396740b9a2487aa57d4352d2dc1687">AVFormatContext::av_class</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>A class for logging and <a class="el" href="group__avoptions.html">AVOptions</a>. </p>
<p>Set by <a class="el" href="group__lavf__core.html#gac7a91abf2f59648d995894711f070f62" title="Allocate an AVFormatContext.">avformat_alloc_context()</a>. Exports (de)muxer private options if they exist. </p>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01268">1268</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="a78efc5a53c21c8d81197445207ac4374"></a><!-- doxytag: member="AVFormatContext::iformat" ref="a78efc5a53c21c8d81197445207ac4374" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct <a class="el" href="structAVInputFormat.html">AVInputFormat</a>* <a class="el" href="structAVFormatContext.html#a78efc5a53c21c8d81197445207ac4374">AVFormatContext::iformat</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>The input container format. </p>
<p>Demuxing only, set by <a class="el" href="group__lavf__decoding.html#ga10a404346c646e4ab58f4ed798baca32" title="Open an input stream and read the header.">avformat_open_input()</a>. </p>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01275">1275</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="a20d80ac07e38ff5c268d15aaf2798b98"></a><!-- doxytag: member="AVFormatContext::oformat" ref="a20d80ac07e38ff5c268d15aaf2798b98" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct <a class="el" href="structAVOutputFormat.html">AVOutputFormat</a>* <a class="el" href="structAVFormatContext.html#a20d80ac07e38ff5c268d15aaf2798b98">AVFormatContext::oformat</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>The output container format. </p>
<p>Muxing only, must be set by the caller before <a class="el" href="group__lavf__encoding.html#ga78d4e734fecb1d2385536e6dd5b7b9f5" title="Allocate the stream private data and write the stream header to an output media file.">avformat_write_header()</a>. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="muxing_8c-example.html#a62">muxing.c</a>, and <a class="el" href="transcoding_8c-example.html#a51">transcoding.c</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01282">1282</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
<p>Referenced by <a class="el" href="muxing_8c_source.html#l00092">add_stream()</a>, <a class="el" href="muxing_8c_source.html#l00556">main()</a>, <a class="el" href="transcoding_8c_source.html#l00087">open_output_file()</a>, and <a class="el" href="muxing_8c_source.html#l00490">write_video_frame()</a>.</p>
</div>
</div>
<a class="anchor" id="ac4c0777e54085af2f3f1b27130e2b21b"></a><!-- doxytag: member="AVFormatContext::priv_data" ref="ac4c0777e54085af2f3f1b27130e2b21b" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* <a class="el" href="structAVFormatContext.html#ac4c0777e54085af2f3f1b27130e2b21b">AVFormatContext::priv_data</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Format private data. </p>
<p>This is an AVOptions-enabled struct if and only if iformat/oformat.priv_class is not NULL.</p>
<ul>
<li>muxing: set by <a class="el" href="group__lavf__encoding.html#ga78d4e734fecb1d2385536e6dd5b7b9f5" title="Allocate the stream private data and write the stream header to an output media file.">avformat_write_header()</a></li>
<li>demuxing: set by <a class="el" href="group__lavf__decoding.html#ga10a404346c646e4ab58f4ed798baca32" title="Open an input stream and read the header.">avformat_open_input()</a> </li>
</ul>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01291">1291</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="a1e7324262b6b78522e52064daaa7bc87"></a><!-- doxytag: member="AVFormatContext::pb" ref="a1e7324262b6b78522e52064daaa7bc87" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structAVIOContext.html">AVIOContext</a>* <a class="el" href="structAVFormatContext.html#a1e7324262b6b78522e52064daaa7bc87">AVFormatContext::pb</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>I/O context. </p>
<ul>
<li>demuxing: either set by the user before <a class="el" href="group__lavf__decoding.html#ga10a404346c646e4ab58f4ed798baca32" title="Open an input stream and read the header.">avformat_open_input()</a> (then the user must close it manually) or set by <a class="el" href="group__lavf__decoding.html#ga10a404346c646e4ab58f4ed798baca32" title="Open an input stream and read the header.">avformat_open_input()</a>.</li>
<li>muxing: set by the user before <a class="el" href="group__lavf__encoding.html#ga78d4e734fecb1d2385536e6dd5b7b9f5" title="Allocate the stream private data and write the stream header to an output media file.">avformat_write_header()</a>. The caller must take care of closing / freeing the IO context.</li>
</ul>
<p>Do NOT set this field if AVFMT_NOFILE flag is set in iformat/oformat.flags. In such a case, the (de)muxer will handle I/O in some other way and this field will be NULL. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="avio_reading_8c-example.html#a15">avio_reading.c</a>, <a class="el" href="muxing_8c-example.html#a142">muxing.c</a>, and <a class="el" href="transcoding_8c-example.html#a58">transcoding.c</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01305">1305</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
<p>Referenced by <a class="el" href="avio__reading_8c_source.html#l00057">main()</a>, and <a class="el" href="transcoding_8c_source.html#l00087">open_output_file()</a>.</p>
</div>
</div>
<a class="anchor" id="a4e6076343df1ffc2e16cedbba3f3f397"></a><!-- doxytag: member="AVFormatContext::ctx_flags" ref="a4e6076343df1ffc2e16cedbba3f3f397" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structAVFormatContext.html#a4e6076343df1ffc2e16cedbba3f3f397">AVFormatContext::ctx_flags</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Flags signalling stream properties. </p>
<p>A combination of AVFMTCTX_*. Set by libavformat. </p>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01312">1312</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="a0b748d924898b08b89ff4974afd17285"></a><!-- doxytag: member="AVFormatContext::nb_streams" ref="a0b748d924898b08b89ff4974afd17285" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int <a class="el" href="structAVFormatContext.html#a0b748d924898b08b89ff4974afd17285">AVFormatContext::nb_streams</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Number of elements in <a class="el" href="structAVFormatContext.html#acfefb6b6cf21e87a0dcbd1a547ba2348" title="A list of all streams in the file.">AVFormatContext.streams</a>. </p>
<p>Set by <a class="el" href="group__lavf__core.html#gadcb0fd3e507d9b58fe78f61f8ad39827" title="Add a new stream to a media file.">avformat_new_stream()</a>, must not be modified by any other code. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="muxing_8c-example.html#a38">muxing.c</a>, <a class="el" href="remuxing_8c-example.html#a24">remuxing.c</a>, and <a class="el" href="transcoding_8c-example.html#a15">transcoding.c</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01319">1319</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
<p>Referenced by <a class="el" href="muxing_8c_source.html#l00092">add_stream()</a>, <a class="el" href="transcoding_8c_source.html#l00336">init_filters()</a>, <a class="el" href="remuxing_8c_source.html#l00046">main()</a>, <a class="el" href="transcoding_8c_source.html#l00049">open_input_file()</a>, and <a class="el" href="transcoding_8c_source.html#l00087">open_output_file()</a>.</p>
</div>
</div>
<a class="anchor" id="acfefb6b6cf21e87a0dcbd1a547ba2348"></a><!-- doxytag: member="AVFormatContext::streams" ref="acfefb6b6cf21e87a0dcbd1a547ba2348" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structAVStream.html">AVStream</a>** <a class="el" href="structAVFormatContext.html#acfefb6b6cf21e87a0dcbd1a547ba2348">AVFormatContext::streams</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>A list of all streams in the file. </p>
<p>New streams are created with <a class="el" href="group__lavf__core.html#gadcb0fd3e507d9b58fe78f61f8ad39827" title="Add a new stream to a media file.">avformat_new_stream()</a>.</p>
<ul>
<li>demuxing: streams are created by libavformat in <a class="el" href="group__lavf__decoding.html#ga10a404346c646e4ab58f4ed798baca32" title="Open an input stream and read the header.">avformat_open_input()</a>. If AVFMTCTX_NOHEADER is set in ctx_flags, then new streams may also appear in <a class="el" href="group__lavf__decoding.html#ga4fdb3084415a82e3810de6ee60e46a61" title="Return the next frame of a stream.">av_read_frame()</a>.</li>
<li>muxing: streams are created by the user before <a class="el" href="group__lavf__encoding.html#ga78d4e734fecb1d2385536e6dd5b7b9f5" title="Allocate the stream private data and write the stream header to an output media file.">avformat_write_header()</a>.</li>
</ul>
<p>Freed by libavformat in <a class="el" href="group__lavf__core.html#gac2990b13b68e831a408fce8e1d0d6445" title="Free an AVFormatContext and all its streams.">avformat_free_context()</a>. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="demuxing_decoding_8c-example.html#a58">demuxing_decoding.c</a>, <a class="el" href="filtering_audio_8c-example.html#a20">filtering_audio.c</a>, <a class="el" href="filtering_video_8c-example.html#a21">filtering_video.c</a>, <a class="el" href="muxing_8c-example.html#a19">muxing.c</a>, <a class="el" href="remuxing_8c-example.html#a6">remuxing.c</a>, and <a class="el" href="transcoding_8c-example.html#a18">transcoding.c</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01331">1331</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
<p>Referenced by <a class="el" href="transcoding_8c_source.html#l00366">encode_write_frame()</a>, <a class="el" href="transcoding_8c_source.html#l00446">flush_encoder()</a>, <a class="el" href="filtering__audio_8c_source.html#l00085">init_filters()</a>, <a class="el" href="muxing_8c_source.html#l00069">log_packet()</a>, <a class="el" href="demuxing__decoding_8c_source.html#l00226">main()</a>, <a class="el" href="demuxing__decoding_8c_source.html#l00156">open_codec_context()</a>, <a class="el" href="filtering__audio_8c_source.html#l00051">open_input_file()</a>, and <a class="el" href="transcoding_8c_source.html#l00087">open_output_file()</a>.</p>
</div>
</div>
<a class="anchor" id="a65a978cf0ca3c0f0da52840d2e97f9ea"></a><!-- doxytag: member="AVFormatContext::filename" ref="a65a978cf0ca3c0f0da52840d2e97f9ea" args="[1024]" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char <a class="el" href="structAVFormatContext.html#a65a978cf0ca3c0f0da52840d2e97f9ea">AVFormatContext::filename</a>[1024]</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>input or output filename </p>
<ul>
<li>demuxing: set by <a class="el" href="group__lavf__decoding.html#ga10a404346c646e4ab58f4ed798baca32" title="Open an input stream and read the header.">avformat_open_input()</a></li>
<li>muxing: may be set by the caller before <a class="el" href="group__lavf__encoding.html#ga78d4e734fecb1d2385536e6dd5b7b9f5" title="Allocate the stream private data and write the stream header to an output media file.">avformat_write_header()</a> </li>
</ul>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01339">1339</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="a2590129e00adfa726ab2033a10e905e9"></a><!-- doxytag: member="AVFormatContext::start_time" ref="a2590129e00adfa726ab2033a10e905e9" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int64_t <a class="el" href="structAVFormatContext.html#a2590129e00adfa726ab2033a10e905e9">AVFormatContext::start_time</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Position of the first frame of the component, in AV_TIME_BASE fractional seconds. </p>
<p>NEVER set this value directly: It is deduced from the <a class="el" href="structAVStream.html" title="Stream structure.">AVStream</a> values.</p>
<p>Demuxing only, set by libavformat. </p>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01348">1348</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="ad0ea78ac48f5bb0a15a15c1c472744d9"></a><!-- doxytag: member="AVFormatContext::duration" ref="ad0ea78ac48f5bb0a15a15c1c472744d9" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int64_t <a class="el" href="structAVFormatContext.html#ad0ea78ac48f5bb0a15a15c1c472744d9">AVFormatContext::duration</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Duration of the stream, in AV_TIME_BASE fractional seconds. </p>
<p>Only set this value if you know none of the individual stream durations and also do not set any of them. This is deduced from the <a class="el" href="structAVStream.html" title="Stream structure.">AVStream</a> values if not set.</p>
<p>Demuxing only, set by libavformat. </p>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01358">1358</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="a4f7a7b9b1313907c88e62b03f3e569e6"></a><!-- doxytag: member="AVFormatContext::bit_rate" ref="a4f7a7b9b1313907c88e62b03f3e569e6" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structAVFormatContext.html#a4f7a7b9b1313907c88e62b03f3e569e6">AVFormatContext::bit_rate</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Total stream bitrate in bit/s, 0 if not available. </p>
<p>Never set it directly if the file_size and the duration are known as FFmpeg can compute it automatically. </p>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01365">1365</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="a0739c2952969d3c67788f02ea829f549"></a><!-- doxytag: member="AVFormatContext::packet_size" ref="a0739c2952969d3c67788f02ea829f549" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int <a class="el" href="structAVFormatContext.html#a0739c2952969d3c67788f02ea829f549">AVFormatContext::packet_size</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01367">1367</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="a58422ed3d461b3440a15cf057ac5f5b7"></a><!-- doxytag: member="AVFormatContext::max_delay" ref="a58422ed3d461b3440a15cf057ac5f5b7" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structAVFormatContext.html#a58422ed3d461b3440a15cf057ac5f5b7">AVFormatContext::max_delay</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01368">1368</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="a32379cc371463b235d54235d4af06a15"></a><!-- doxytag: member="AVFormatContext::flags" ref="a32379cc371463b235d54235d4af06a15" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structAVFormatContext.html#a32379cc371463b235d54235d4af06a15">AVFormatContext::flags</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Flags modifying the (de)muxer behaviour. </p>
<p>A combination of AVFMT_FLAG_*. Set by the user before <a class="el" href="group__lavf__decoding.html#ga10a404346c646e4ab58f4ed798baca32" title="Open an input stream and read the header.">avformat_open_input()</a> / <a class="el" href="group__lavf__encoding.html#ga78d4e734fecb1d2385536e6dd5b7b9f5" title="Allocate the stream private data and write the stream header to an output media file.">avformat_write_header()</a>. </p>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01374">1374</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="afcff2757459cf56050b2d908f46957b0"></a><!-- doxytag: member="AVFormatContext::probesize" ref="afcff2757459cf56050b2d908f46957b0" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int <a class="el" href="structAVFormatContext.html#afcff2757459cf56050b2d908f46957b0">AVFormatContext::probesize</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000005">Deprecated:</a></b></dt><dd>deprecated in favor of probesize2 </dd></dl>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01401">1401</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="ae5e988daf153680f8e213708cfa1dd08"></a><!-- doxytag: member="AVFormatContext::max_analyze_duration" ref="ae5e988daf153680f8e213708cfa1dd08" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="attributes_8h.html#aa6d076561d3a9eea4729ee632652de02">attribute_deprecated</a> int <a class="el" href="structAVFormatContext.html#ae5e988daf153680f8e213708cfa1dd08">AVFormatContext::max_analyze_duration</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000006">Deprecated:</a></b></dt><dd>deprecated in favor of max_analyze_duration2 </dd></dl>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01407">1407</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="a19cb4471ba011fc7adc5e17344c608f5"></a><!-- doxytag: member="AVFormatContext::key" ref="a19cb4471ba011fc7adc5e17344c608f5" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const uint8_t* <a class="el" href="structAVFormatContext.html#a19cb4471ba011fc7adc5e17344c608f5">AVFormatContext::key</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01409">1409</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="a1f2c1db3070cc100938eaed81ff3767d"></a><!-- doxytag: member="AVFormatContext::keylen" ref="a1f2c1db3070cc100938eaed81ff3767d" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structAVFormatContext.html#a1f2c1db3070cc100938eaed81ff3767d">AVFormatContext::keylen</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01410">1410</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="a58c8c4d0ea974e0fcb0ce06fb1174f9f"></a><!-- doxytag: member="AVFormatContext::nb_programs" ref="a58c8c4d0ea974e0fcb0ce06fb1174f9f" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int <a class="el" href="structAVFormatContext.html#a58c8c4d0ea974e0fcb0ce06fb1174f9f">AVFormatContext::nb_programs</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01412">1412</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="a4c2c5a4c758966349ff513e95154d062"></a><!-- doxytag: member="AVFormatContext::programs" ref="a4c2c5a4c758966349ff513e95154d062" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structAVProgram.html">AVProgram</a>** <a class="el" href="structAVFormatContext.html#a4c2c5a4c758966349ff513e95154d062">AVFormatContext::programs</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01413">1413</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="ab179ade0dbe905ab2867b7001bf618ec"></a><!-- doxytag: member="AVFormatContext::video_codec_id" ref="ab179ade0dbe905ab2867b7001bf618ec" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__lavc__core.html#gaadca229ad2c20e060a14fec08a5cc7ce">AVCodecID</a> <a class="el" href="structAVFormatContext.html#ab179ade0dbe905ab2867b7001bf618ec">AVFormatContext::video_codec_id</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Forced video codec_id. </p>
<p>Demuxing: Set by user. </p>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01419">1419</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="a1c99fc118bf047959a0284bffc2c1a9a"></a><!-- doxytag: member="AVFormatContext::audio_codec_id" ref="a1c99fc118bf047959a0284bffc2c1a9a" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__lavc__core.html#gaadca229ad2c20e060a14fec08a5cc7ce">AVCodecID</a> <a class="el" href="structAVFormatContext.html#a1c99fc118bf047959a0284bffc2c1a9a">AVFormatContext::audio_codec_id</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Forced audio codec_id. </p>
<p>Demuxing: Set by user. </p>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01425">1425</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="acca61846d663b15e5a56b35c903e4d3b"></a><!-- doxytag: member="AVFormatContext::subtitle_codec_id" ref="acca61846d663b15e5a56b35c903e4d3b" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__lavc__core.html#gaadca229ad2c20e060a14fec08a5cc7ce">AVCodecID</a> <a class="el" href="structAVFormatContext.html#acca61846d663b15e5a56b35c903e4d3b">AVFormatContext::subtitle_codec_id</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Forced subtitle codec_id. </p>
<p>Demuxing: Set by user. </p>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01431">1431</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="ab0470d586a71d4f356194d202591617d"></a><!-- doxytag: member="AVFormatContext::max_index_size" ref="ab0470d586a71d4f356194d202591617d" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int <a class="el" href="structAVFormatContext.html#ab0470d586a71d4f356194d202591617d">AVFormatContext::max_index_size</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Maximum amount of memory in bytes to use for the index of each stream. </p>
<p>If the index exceeds this size, entries will be discarded as needed to maintain a smaller size. This can lead to slower or less accurate seeking (depends on demuxer). Demuxers for which a full in-memory index is mandatory will ignore this.</p>
<ul>
<li>muxing: unused</li>
<li>demuxing: set by user </li>
</ul>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01443">1443</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="ae188350a3838a14a233bf272d68998be"></a><!-- doxytag: member="AVFormatContext::max_picture_buffer" ref="ae188350a3838a14a233bf272d68998be" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int <a class="el" href="structAVFormatContext.html#ae188350a3838a14a233bf272d68998be">AVFormatContext::max_picture_buffer</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Maximum amount of memory in bytes to use for buffering frames obtained from realtime capture devices. </p>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01449">1449</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="a6f60043baf4abd0d201ccefc27bb4306"></a><!-- doxytag: member="AVFormatContext::nb_chapters" ref="a6f60043baf4abd0d201ccefc27bb4306" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int <a class="el" href="structAVFormatContext.html#a6f60043baf4abd0d201ccefc27bb4306">AVFormatContext::nb_chapters</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Number of chapters in <a class="el" href="structAVChapter.html">AVChapter</a> array. </p>
<p>When muxing, chapters are normally written in the file header, so nb_chapters should normally be initialized before write_header is called. Some muxers (e.g. mov and mkv) can also write chapters in the trailer. To write chapters in the trailer, nb_chapters must be zero when write_header is called and non-zero when write_trailer is called.</p>
<ul>
<li>muxing: set by user</li>
<li>demuxing: set by libavformat </li>
</ul>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01462">1462</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="ac17d5fc2dcdb00806cc83b02d9f940f3"></a><!-- doxytag: member="AVFormatContext::chapters" ref="ac17d5fc2dcdb00806cc83b02d9f940f3" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structAVChapter.html">AVChapter</a>** <a class="el" href="structAVFormatContext.html#ac17d5fc2dcdb00806cc83b02d9f940f3">AVFormatContext::chapters</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01463">1463</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="a3019a56080ed2e3297ff25bc2ff88adf"></a><!-- doxytag: member="AVFormatContext::metadata" ref="a3019a56080ed2e3297ff25bc2ff88adf" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__lavu__dict.html#ga1d7cc0833bee918994a600556410315f">AVDictionary</a>* <a class="el" href="structAVFormatContext.html#a3019a56080ed2e3297ff25bc2ff88adf">AVFormatContext::metadata</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Metadata that applies to the whole file. </p>
<ul>
<li>demuxing: set by libavformat in <a class="el" href="group__lavf__decoding.html#ga10a404346c646e4ab58f4ed798baca32" title="Open an input stream and read the header.">avformat_open_input()</a></li>
<li>muxing: may be set by the caller before <a class="el" href="group__lavf__encoding.html#ga78d4e734fecb1d2385536e6dd5b7b9f5" title="Allocate the stream private data and write the stream header to an output media file.">avformat_write_header()</a></li>
</ul>
<p>Freed by libavformat in <a class="el" href="group__lavf__core.html#gac2990b13b68e831a408fce8e1d0d6445" title="Free an AVFormatContext and all its streams.">avformat_free_context()</a>. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="metadata_8c-example.html#a7">metadata.c</a>.</dd>
</dl>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01473">1473</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
<p>Referenced by <a class="el" href="metadata_8c_source.html#l00034">main()</a>.</p>
</div>
</div>
<a class="anchor" id="aa5ddb5cee1df28f21739133f2e37f1c5"></a><!-- doxytag: member="AVFormatContext::start_time_realtime" ref="aa5ddb5cee1df28f21739133f2e37f1c5" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int64_t <a class="el" href="structAVFormatContext.html#aa5ddb5cee1df28f21739133f2e37f1c5">AVFormatContext::start_time_realtime</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Start time of the stream in real world time, in microseconds since the Unix epoch (00:00 1st January 1970). </p>
<p>That is, pts=0 in the stream was captured at this real world time.</p>
<ul>
<li>muxing: Set by the caller before <a class="el" href="group__lavf__encoding.html#ga78d4e734fecb1d2385536e6dd5b7b9f5" title="Allocate the stream private data and write the stream header to an output media file.">avformat_write_header()</a>. If set to either 0 or AV_NOPTS_VALUE, then the current wall-time will be used.</li>
<li>demuxing: Set by libavformat. AV_NOPTS_VALUE if unknown. Note that the value may become known after some number of frames have been received. </li>
</ul>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01486">1486</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="a517e6b5dcada506a49ef413d4d8d477a"></a><!-- doxytag: member="AVFormatContext::fps_probe_size" ref="a517e6b5dcada506a49ef413d4d8d477a" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structAVFormatContext.html#a517e6b5dcada506a49ef413d4d8d477a">AVFormatContext::fps_probe_size</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>The number of frames used for determining the framerate in <a class="el" href="group__lavf__decoding.html#gad42172e27cddafb81096939783b157bb" title="Read packets of a media file to get stream information.">avformat_find_stream_info()</a>. </p>
<p>Demuxing only, set by the caller before <a class="el" href="group__lavf__decoding.html#gad42172e27cddafb81096939783b157bb" title="Read packets of a media file to get stream information.">avformat_find_stream_info()</a>. </p>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01493">1493</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="aeebb15a72d1503e641b633aeb3be0bf0"></a><!-- doxytag: member="AVFormatContext::error_recognition" ref="aeebb15a72d1503e641b633aeb3be0bf0" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structAVFormatContext.html#aeebb15a72d1503e641b633aeb3be0bf0">AVFormatContext::error_recognition</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Error recognition; higher values will detect more errors but may misdetect some more or less valid parts as errors. </p>
<p>Demuxing only, set by the caller before <a class="el" href="group__lavf__decoding.html#ga10a404346c646e4ab58f4ed798baca32" title="Open an input stream and read the header.">avformat_open_input()</a>. </p>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01500">1500</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="a5b37acfe4024d92ee510064e80920b40"></a><!-- doxytag: member="AVFormatContext::interrupt_callback" ref="a5b37acfe4024d92ee510064e80920b40" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structAVIOInterruptCB.html">AVIOInterruptCB</a> <a class="el" href="structAVFormatContext.html#a5b37acfe4024d92ee510064e80920b40">AVFormatContext::interrupt_callback</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Custom interrupt callbacks for the I/O layer. </p>
<p>demuxing: set by the user before <a class="el" href="group__lavf__decoding.html#ga10a404346c646e4ab58f4ed798baca32" title="Open an input stream and read the header.">avformat_open_input()</a>. muxing: set by the user before <a class="el" href="group__lavf__encoding.html#ga78d4e734fecb1d2385536e6dd5b7b9f5" title="Allocate the stream private data and write the stream header to an output media file.">avformat_write_header()</a> (mainly useful for AVFMT_NOFILE formats). The callback should also be passed to <a class="el" href="avio_8h.html#ade8a63980569494c99593ebf0d1e891b" title="Create and initialize a AVIOContext for accessing the resource indicated by url.">avio_open2()</a> if it's used to open the file. </p>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01511">1511</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="ab4478e9742f661800cf7e0af84136cae"></a><!-- doxytag: member="AVFormatContext::debug" ref="ab4478e9742f661800cf7e0af84136cae" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structAVFormatContext.html#ab4478e9742f661800cf7e0af84136cae">AVFormatContext::debug</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Flags to enable debugging. </p>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01516">1516</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="a00edb6b7a31f8dabfa668334ca1f92d7"></a><!-- doxytag: member="AVFormatContext::max_interleave_delta" ref="a00edb6b7a31f8dabfa668334ca1f92d7" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int64_t <a class="el" href="structAVFormatContext.html#a00edb6b7a31f8dabfa668334ca1f92d7">AVFormatContext::max_interleave_delta</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Maximum buffering duration for interleaving. </p>
<p>To ensure all the streams are interleaved correctly, <a class="el" href="group__lavf__encoding.html#ga37352ed2c63493c38219d935e71db6c1" title="Write a packet to an output media file ensuring correct interleaving.">av_interleaved_write_frame()</a> will wait until it has at least one packet for each stream before actually writing any packets to the output file. When some streams are "sparse" (i.e. there are large gaps between successive packets), this can result in excessive buffering.</p>
<p>This field specifies the maximum difference between the timestamps of the first and the last packet in the muxing queue, above which libavformat will output a packet regardless of whether it has queued a packet for all the streams.</p>
<p>Muxing only, set by the caller before <a class="el" href="group__lavf__encoding.html#ga78d4e734fecb1d2385536e6dd5b7b9f5" title="Allocate the stream private data and write the stream header to an output media file.">avformat_write_header()</a>. </p>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01535">1535</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="a5017684cf0a84c990f60c8d50adec144"></a><!-- doxytag: member="AVFormatContext::strict_std_compliance" ref="a5017684cf0a84c990f60c8d50adec144" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structAVFormatContext.html#a5017684cf0a84c990f60c8d50adec144">AVFormatContext::strict_std_compliance</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Allow non-standard and experimental extension. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="structAVCodecContext.html#a3090804569341ca235e3adbdc03318d2" title="strictly follow the standard (MPEG4, ...).">AVCodecContext.strict_std_compliance</a> </dd></dl>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01541">1541</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="a0302506d4b3434da77b8b3db43821aa0"></a><!-- doxytag: member="AVFormatContext::event_flags" ref="a0302506d4b3434da77b8b3db43821aa0" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structAVFormatContext.html#a0302506d4b3434da77b8b3db43821aa0">AVFormatContext::event_flags</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Flags for the user to detect events happening on the file. </p>
<p>Flags must be cleared by the user once the event has been handled. A combination of AVFMT_EVENT_FLAG_*. </p>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01548">1548</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="ad7854e5186dd14ce91dea1dfd0bb826f"></a><!-- doxytag: member="AVFormatContext::max_ts_probe" ref="ad7854e5186dd14ce91dea1dfd0bb826f" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structAVFormatContext.html#ad7854e5186dd14ce91dea1dfd0bb826f">AVFormatContext::max_ts_probe</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Maximum number of packets to read while waiting for the first timestamp. </p>
<p>Decoding only. </p>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01555">1555</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="a032c7d859883eddc9d87a9e3b2cc3853"></a><!-- doxytag: member="AVFormatContext::avoid_negative_ts" ref="a032c7d859883eddc9d87a9e3b2cc3853" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structAVFormatContext.html#a032c7d859883eddc9d87a9e3b2cc3853">AVFormatContext::avoid_negative_ts</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Avoid negative timestamps during muxing. </p>
<p>Any value of the AVFMT_AVOID_NEG_TS_* constants. Note, this only works when using av_interleaved_write_frame. (interleave_packet_per_dts is in use)</p>
<ul>
<li>muxing: Set by user</li>
<li>demuxing: unused </li>
</ul>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01564">1564</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="a5d331e9a0609a93dd4593af6c118cc4b"></a><!-- doxytag: member="AVFormatContext::ts_id" ref="a5d331e9a0609a93dd4593af6c118cc4b" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structAVFormatContext.html#a5d331e9a0609a93dd4593af6c118cc4b">AVFormatContext::ts_id</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Transport stream id. </p>
<p>This will be moved into demuxer private options. Thus no API/ABI compatibility </p>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01573">1573</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="ac02383c2106cca8022f8a293399aed58"></a><!-- doxytag: member="AVFormatContext::audio_preload" ref="ac02383c2106cca8022f8a293399aed58" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structAVFormatContext.html#ac02383c2106cca8022f8a293399aed58">AVFormatContext::audio_preload</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Audio preload in microseconds. </p>
<p>Note, not all formats support this and unpredictable things may happen if it is used when not supported.</p>
<ul>
<li>encoding: Set by user via AVOptions (NO direct access)</li>
<li>decoding: unused </li>
</ul>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01581">1581</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="ae20c589e20f22f74f1687702de6d2e8e"></a><!-- doxytag: member="AVFormatContext::max_chunk_duration" ref="ae20c589e20f22f74f1687702de6d2e8e" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structAVFormatContext.html#ae20c589e20f22f74f1687702de6d2e8e">AVFormatContext::max_chunk_duration</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Max chunk time in microseconds. </p>
<p>Note, not all formats support this and unpredictable things may happen if it is used when not supported.</p>
<ul>
<li>encoding: Set by user via AVOptions (NO direct access)</li>
<li>decoding: unused </li>
</ul>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01589">1589</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="a3d8cfff712c81d1cbc725b40ce02f7e7"></a><!-- doxytag: member="AVFormatContext::max_chunk_size" ref="a3d8cfff712c81d1cbc725b40ce02f7e7" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structAVFormatContext.html#a3d8cfff712c81d1cbc725b40ce02f7e7">AVFormatContext::max_chunk_size</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Max chunk size in bytes Note, not all formats support this and unpredictable things may happen if it is used when not supported. </p>
<ul>
<li>encoding: Set by user via AVOptions (NO direct access)</li>
<li>decoding: unused </li>
</ul>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01597">1597</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="a90251622aa2b78badbb846274aff4633"></a><!-- doxytag: member="AVFormatContext::use_wallclock_as_timestamps" ref="a90251622aa2b78badbb846274aff4633" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structAVFormatContext.html#a90251622aa2b78badbb846274aff4633">AVFormatContext::use_wallclock_as_timestamps</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>forces the use of wallclock timestamps as pts/dts of packets This has undefined results in the presence of B frames. </p>
<ul>
<li>encoding: unused</li>
<li>decoding: Set by user via AVOptions (NO direct access) </li>
</ul>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01605">1605</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="a5e6814c9de3c272396f07e2ff18c7b27"></a><!-- doxytag: member="AVFormatContext::avio_flags" ref="a5e6814c9de3c272396f07e2ff18c7b27" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structAVFormatContext.html#a5e6814c9de3c272396f07e2ff18c7b27">AVFormatContext::avio_flags</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>avio flags, used to force AVIO_FLAG_DIRECT. </p>
<ul>
<li>encoding: unused</li>
<li>decoding: Set by user via AVOptions (NO direct access) </li>
</ul>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01612">1612</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="a95035552afae17c1b7cd701ad72e67b5"></a><!-- doxytag: member="AVFormatContext::duration_estimation_method" ref="a95035552afae17c1b7cd701ad72e67b5" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="avformat_8h.html#a7c2692ffa20d3e888e40e79eeda6d73b">AVDurationEstimationMethod</a> <a class="el" href="structAVFormatContext.html#a95035552afae17c1b7cd701ad72e67b5">AVFormatContext::duration_estimation_method</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>The duration field can be estimated through various ways, and this field can be used to know how the duration was estimated. </p>
<ul>
<li>encoding: unused</li>
<li>decoding: Read by user via AVOptions (NO direct access) </li>
</ul>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01620">1620</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="ad9042cdda3a644e4ef46bfeffa34e4f3"></a><!-- doxytag: member="AVFormatContext::skip_initial_bytes" ref="ad9042cdda3a644e4ef46bfeffa34e4f3" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int64_t <a class="el" href="structAVFormatContext.html#ad9042cdda3a644e4ef46bfeffa34e4f3">AVFormatContext::skip_initial_bytes</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Skip initial bytes when opening stream. </p>
<ul>
<li>encoding: unused</li>
<li>decoding: Set by user via AVOptions (NO direct access) </li>
</ul>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01627">1627</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="afe4c7f02033d4b58b3636b9e42db25de"></a><!-- doxytag: member="AVFormatContext::correct_ts_overflow" ref="afe4c7f02033d4b58b3636b9e42db25de" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int <a class="el" href="structAVFormatContext.html#afe4c7f02033d4b58b3636b9e42db25de">AVFormatContext::correct_ts_overflow</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Correct single timestamp overflows. </p>
<ul>
<li>encoding: unused</li>
<li>decoding: Set by user via AVOptions (NO direct access) </li>
</ul>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01634">1634</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="a41a1f108aa38e851f65ff4f0a70ce5a5"></a><!-- doxytag: member="AVFormatContext::seek2any" ref="a41a1f108aa38e851f65ff4f0a70ce5a5" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structAVFormatContext.html#a41a1f108aa38e851f65ff4f0a70ce5a5">AVFormatContext::seek2any</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Force seeking to any (also non key) frames. </p>
<ul>
<li>encoding: unused</li>
<li>decoding: Set by user via AVOptions (NO direct access) </li>
</ul>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01641">1641</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="a1fdd77fff4c7df1e30ce1d42e10922e9"></a><!-- doxytag: member="AVFormatContext::flush_packets" ref="a1fdd77fff4c7df1e30ce1d42e10922e9" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structAVFormatContext.html#a1fdd77fff4c7df1e30ce1d42e10922e9">AVFormatContext::flush_packets</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Flush the I/O context after each packet. </p>
<ul>
<li>encoding: Set by user via AVOptions (NO direct access)</li>
<li>decoding: unused </li>
</ul>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01648">1648</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="a65f11f94f40f83866ebe651c8ae111cf"></a><!-- doxytag: member="AVFormatContext::probe_score" ref="a65f11f94f40f83866ebe651c8ae111cf" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structAVFormatContext.html#a65f11f94f40f83866ebe651c8ae111cf">AVFormatContext::probe_score</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>format probing score. </p>
<p>The maximal score is AVPROBE_SCORE_MAX, its set when the demuxer probes the format.</p>
<ul>
<li>encoding: unused</li>
<li>decoding: set by avformat, read by user via <a class="el" href="avformat_8h.html#ad332941a01e30dd7d20a25f98dd69907">av_format_get_probe_score()</a> (NO direct access) </li>
</ul>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01657">1657</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="a7d1f665ecabe03e3d18accbb1ebb32b1"></a><!-- doxytag: member="AVFormatContext::format_probesize" ref="a7d1f665ecabe03e3d18accbb1ebb32b1" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structAVFormatContext.html#a7d1f665ecabe03e3d18accbb1ebb32b1">AVFormatContext::format_probesize</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>number of bytes to read maximally to identify format. </p>
<ul>
<li>encoding: unused</li>
<li>decoding: set by user through AVOPtions (NO direct access) </li>
</ul>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01664">1664</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="aa3b43e2a040a3ce658620711a8345234"></a><!-- doxytag: member="AVFormatContext::codec_whitelist" ref="aa3b43e2a040a3ce658620711a8345234" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char* <a class="el" href="structAVFormatContext.html#aa3b43e2a040a3ce658620711a8345234">AVFormatContext::codec_whitelist</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>',' separated list of allowed decoders. </p>
<p>If NULL then all are allowed</p>
<ul>
<li>encoding: unused</li>
<li>decoding: set by user through AVOptions (NO direct access) </li>
</ul>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01672">1672</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="abcaa5a7c53d4b0224a5fc2d23e88ea03"></a><!-- doxytag: member="AVFormatContext::format_whitelist" ref="abcaa5a7c53d4b0224a5fc2d23e88ea03" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char* <a class="el" href="structAVFormatContext.html#abcaa5a7c53d4b0224a5fc2d23e88ea03">AVFormatContext::format_whitelist</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>',' separated list of allowed demuxers. </p>
<p>If NULL then all are allowed</p>
<ul>
<li>encoding: unused</li>
<li>decoding: set by user through AVOptions (NO direct access) </li>
</ul>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01680">1680</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="a8a8bec51da36db65ff864f88a85805d9"></a><!-- doxytag: member="AVFormatContext::internal" ref="a8a8bec51da36db65ff864f88a85805d9" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="avformat_8h.html#a7bec8d592652431045d81a02fef74f28">AVFormatInternal</a>* <a class="el" href="structAVFormatContext.html#a8a8bec51da36db65ff864f88a85805d9">AVFormatContext::internal</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>An opaque field for libavformat internal usage. </p>
<p>Must not be accessed in any way by callers. </p>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01686">1686</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="a45afe89c377463a1b9446ac94b3c513b"></a><!-- doxytag: member="AVFormatContext::io_repositioned" ref="a45afe89c377463a1b9446ac94b3c513b" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structAVFormatContext.html#a45afe89c377463a1b9446ac94b3c513b">AVFormatContext::io_repositioned</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>IO repositioned flag. </p>
<p>This is set by avformat when the underlaying IO context read pointer is repositioned, for example when doing byte based seeking. Demuxers can use the flag to detect such changes. </p>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01694">1694</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="a1891d82f7f853a16ebcba7cae939c4f0"></a><!-- doxytag: member="AVFormatContext::video_codec" ref="a1891d82f7f853a16ebcba7cae939c4f0" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structAVCodec.html">AVCodec</a>* <a class="el" href="structAVFormatContext.html#a1891d82f7f853a16ebcba7cae939c4f0">AVFormatContext::video_codec</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Forced video codec. </p>
<p>This allows forcing a specific decoder, even when there are multiple with the same codec_id. Demuxing: Set by user via av_format_set_video_codec (NO direct access). </p>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01702">1702</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="ab73f76ceac8ed711c56decc2d64456f0"></a><!-- doxytag: member="AVFormatContext::audio_codec" ref="ab73f76ceac8ed711c56decc2d64456f0" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structAVCodec.html">AVCodec</a>* <a class="el" href="structAVFormatContext.html#ab73f76ceac8ed711c56decc2d64456f0">AVFormatContext::audio_codec</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Forced audio codec. </p>
<p>This allows forcing a specific decoder, even when there are multiple with the same codec_id. Demuxing: Set by user via av_format_set_audio_codec (NO direct access). </p>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01710">1710</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="a9cc6a317755fa4f65b0bab36bcb18c87"></a><!-- doxytag: member="AVFormatContext::subtitle_codec" ref="a9cc6a317755fa4f65b0bab36bcb18c87" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structAVCodec.html">AVCodec</a>* <a class="el" href="structAVFormatContext.html#a9cc6a317755fa4f65b0bab36bcb18c87">AVFormatContext::subtitle_codec</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Forced subtitle codec. </p>
<p>This allows forcing a specific decoder, even when there are multiple with the same codec_id. Demuxing: Set by user via av_format_set_subtitle_codec (NO direct access). </p>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01718">1718</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="a6f39359931d266a5cd68223ca68dd3a1"></a><!-- doxytag: member="AVFormatContext::data_codec" ref="a6f39359931d266a5cd68223ca68dd3a1" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structAVCodec.html">AVCodec</a>* <a class="el" href="structAVFormatContext.html#a6f39359931d266a5cd68223ca68dd3a1">AVFormatContext::data_codec</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Forced data codec. </p>
<p>This allows forcing a specific decoder, even when there are multiple with the same codec_id. Demuxing: Set by user via av_format_set_data_codec (NO direct access). </p>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01726">1726</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="a6fc5a51cf62b6e8ad379c1ac57d4a0c4"></a><!-- doxytag: member="AVFormatContext::metadata_header_padding" ref="a6fc5a51cf62b6e8ad379c1ac57d4a0c4" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="structAVFormatContext.html#a6fc5a51cf62b6e8ad379c1ac57d4a0c4">AVFormatContext::metadata_header_padding</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Number of bytes to be written as padding in a metadata header. </p>
<p>Demuxing: Unused. Muxing: Set by user via av_format_set_metadata_header_padding. </p>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01733">1733</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="a71797838db59ca0682dd2d18b149134e"></a><!-- doxytag: member="AVFormatContext::opaque" ref="a71797838db59ca0682dd2d18b149134e" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* <a class="el" href="structAVFormatContext.html#a71797838db59ca0682dd2d18b149134e">AVFormatContext::opaque</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>User data. </p>
<p>This is a place for some private data of the user. Mostly usable with control_message_cb or any future callbacks in device's context. </p>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01740">1740</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="ab569e23a4966ca1f708fb498dd6b3d5f"></a><!-- doxytag: member="AVFormatContext::control_message_cb" ref="ab569e23a4966ca1f708fb498dd6b3d5f" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="avformat_8h.html#a8232a706c09cba000025f64ddcd05495">av_format_control_message</a> <a class="el" href="structAVFormatContext.html#ab569e23a4966ca1f708fb498dd6b3d5f">AVFormatContext::control_message_cb</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Callback used by devices to communicate with application. </p>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01745">1745</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="a711dc3e6159c44dc31843f915b893a12"></a><!-- doxytag: member="AVFormatContext::output_ts_offset" ref="a711dc3e6159c44dc31843f915b893a12" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int64_t <a class="el" href="structAVFormatContext.html#a711dc3e6159c44dc31843f915b893a12">AVFormatContext::output_ts_offset</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Output timestamp offset, in microseconds. </p>
<p>Muxing: set by user via AVOptions (NO direct access) </p>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01751">1751</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="ae37d8ef296a546a242209c886881275b"></a><!-- doxytag: member="AVFormatContext::max_analyze_duration2" ref="ae37d8ef296a546a242209c886881275b" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int64_t <a class="el" href="structAVFormatContext.html#ae37d8ef296a546a242209c886881275b">AVFormatContext::max_analyze_duration2</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Maximum duration (in AV_TIME_BASE units) of the data read from input in <a class="el" href="group__lavf__decoding.html#gad42172e27cddafb81096939783b157bb" title="Read packets of a media file to get stream information.">avformat_find_stream_info()</a>. </p>
<p>Demuxing only, set by the caller before <a class="el" href="group__lavf__decoding.html#gad42172e27cddafb81096939783b157bb" title="Read packets of a media file to get stream information.">avformat_find_stream_info()</a> via AVOptions (NO direct access). Can be set to 0 to let avformat choose using a heuristic. </p>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01760">1760</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="a423ea33665de4caba4a77ecf68c63722"></a><!-- doxytag: member="AVFormatContext::probesize2" ref="a423ea33665de4caba4a77ecf68c63722" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int64_t <a class="el" href="structAVFormatContext.html#a423ea33665de4caba4a77ecf68c63722">AVFormatContext::probesize2</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Maximum size of the data read from input for determining the input container format. </p>
<p>Demuxing only, set by the caller before <a class="el" href="group__lavf__decoding.html#ga10a404346c646e4ab58f4ed798baca32" title="Open an input stream and read the header.">avformat_open_input()</a> via AVOptions (NO direct access). </p>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01768">1768</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="afeccb79eb120b1c79d7d269e8049237a"></a><!-- doxytag: member="AVFormatContext::dump_separator" ref="afeccb79eb120b1c79d7d269e8049237a" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t* <a class="el" href="structAVFormatContext.html#afeccb79eb120b1c79d7d269e8049237a">AVFormatContext::dump_separator</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>dump format separator. </p>
<p>can be ", " or "\n " or anything else Code outside libavformat should access this field using AVOptions (NO direct access).</p>
<ul>
<li>muxing: Set by user.</li>
<li>demuxing: Set by user. </li>
</ul>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01778">1778</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="a2112b67f2f7a58bde5b6d13dc353b58d"></a><!-- doxytag: member="AVFormatContext::data_codec_id" ref="a2112b67f2f7a58bde5b6d13dc353b58d" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__lavc__core.html#gaadca229ad2c20e060a14fec08a5cc7ce">AVCodecID</a> <a class="el" href="structAVFormatContext.html#a2112b67f2f7a58bde5b6d13dc353b58d">AVFormatContext::data_codec_id</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Forced Data codec_id. </p>
<p>Demuxing: Set by user. </p>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01784">1784</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<a class="anchor" id="a5b40817d7dae87863741179ceac022ac"></a><!-- doxytag: member="AVFormatContext::open_cb" ref="a5b40817d7dae87863741179ceac022ac" args=")(struct AVFormatContext *s, AVIOContext **p, const char *url, int flags, const AVIOInterruptCB *int_cb, AVDictionary **options)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int(* <a class="el" href="structAVFormatContext.html#a5b40817d7dae87863741179ceac022ac">AVFormatContext::open_cb</a>)(struct <a class="el" href="structAVFormatContext.html">AVFormatContext</a> *s, <a class="el" href="structAVIOContext.html">AVIOContext</a> **p, const char *url, int <a class="el" href="structAVFormatContext.html#a32379cc371463b235d54235d4af06a15">flags</a>, const <a class="el" href="structAVIOInterruptCB.html">AVIOInterruptCB</a> *int_cb, <a class="el" href="group__lavu__dict.html#ga1d7cc0833bee918994a600556410315f">AVDictionary</a> **options)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Called to open further IO contexts when needed for demuxing. </p>
<p>This can be set by the user application to perform security checks on the URLs before opening them. The function should behave like <a class="el" href="avio_8h.html#ade8a63980569494c99593ebf0d1e891b" title="Create and initialize a AVIOContext for accessing the resource indicated by url.">avio_open2()</a>, <a class="el" href="structAVFormatContext.html" title="Format I/O context.">AVFormatContext</a> is provided as contextual information and to reach <a class="el" href="structAVFormatContext.html#a71797838db59ca0682dd2d18b149134e" title="User data.">AVFormatContext.opaque</a>.</p>
<p>If NULL then some simple checks are used together with <a class="el" href="avio_8h.html#ade8a63980569494c99593ebf0d1e891b" title="Create and initialize a AVIOContext for accessing the resource indicated by url.">avio_open2()</a>.</p>
<p>Must not be accessed directly from outside avformat. <a class="el" href="avformat_8h.html#a5d810ed581b87580c36e63445172244e">av_format_set_open_cb()</a></p>
<p>Demuxing: Set by user. </p>
<p>Definition at line <a class="el" href="avformat_8h_source.html#l01801">1801</a> of file <a class="el" href="avformat_8h_source.html">avformat.h</a>.</p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>libavformat/<a class="el" href="avformat_8h_source.html">avformat.h</a></li>
</ul>
</div><!-- contents -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Defines</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<hr class="footer"/><address class="footer"><small>
Generated by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>