Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
ffmpeg-doc / usr / share / doc / ffmpeg / api / group__lavfi__buffersrc.html
Size: Mime:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>FFmpeg: Buffer source API</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">FFmpeg
   &#160;<span id="projectnumber">3.0.2</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;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><!-- top -->
<!-- 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">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#files">Files</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Buffer source API<div class="ingroups"><a class="el" href="group__lavfi.html">Libavfilter - graph-based frame editing library</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
Files</h2></td></tr>
<tr class="memitem:buffersrc_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="buffersrc_8h.html">buffersrc.h</a></td></tr>
<tr class="memdesc:buffersrc_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory buffer source API. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga99fb83031ce9923c84392b4e92f956b5"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group__lavfi__buffersrc.html#gga99fb83031ce9923c84392b4e92f956b5a6efcf61145ec6d60d3a773fcd0797872">AV_BUFFERSRC_FLAG_NO_CHECK_FORMAT</a> = 1, 
<a class="el" href="group__lavfi__buffersrc.html#gga99fb83031ce9923c84392b4e92f956b5a361be31bba170d5ec5bac19ce962ceb5">AV_BUFFERSRC_FLAG_PUSH</a> = 4, 
<a class="el" href="group__lavfi__buffersrc.html#gga99fb83031ce9923c84392b4e92f956b5a24758c8f4deed09b04b1be6c2e66a14e">AV_BUFFERSRC_FLAG_KEEP_REF</a> = 8
 }</td></tr>
<tr class="separator:ga99fb83031ce9923c84392b4e92f956b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga996e96007a0fda870549ac3c4e1e0967"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavfi__buffersrc.html#ga996e96007a0fda870549ac3c4e1e0967">av_buffersrc_get_nb_failed_requests</a> (<a class="el" href="structAVFilterContext.html">AVFilterContext</a> *buffer_src)</td></tr>
<tr class="memdesc:ga996e96007a0fda870549ac3c4e1e0967"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of failed requests.  <a href="#ga996e96007a0fda870549ac3c4e1e0967">More...</a><br/></td></tr>
<tr class="separator:ga996e96007a0fda870549ac3c4e1e0967"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga786409c3f3910a0ab5fa6b23b4e7399b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="attributes_8h.html#a93f17e0f0b53a66e7b5eceb3dff2918f">av_warn_unused_result</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavfi__buffersrc.html#ga786409c3f3910a0ab5fa6b23b4e7399b">av_buffersrc_write_frame</a> (<a class="el" href="structAVFilterContext.html">AVFilterContext</a> *ctx, const <a class="el" href="structAVFrame.html">AVFrame</a> *<a class="el" href="extract__mvs_8c.html#ad7d33d579a8d4241a5e643e39287a209">frame</a>)</td></tr>
<tr class="memdesc:ga786409c3f3910a0ab5fa6b23b4e7399b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a frame to the buffer source.  <a href="#ga786409c3f3910a0ab5fa6b23b4e7399b">More...</a><br/></td></tr>
<tr class="separator:ga786409c3f3910a0ab5fa6b23b4e7399b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8fc71cb48c1ad1aa78b48f87daa4cf19"><td class="memItemLeft" align="right" valign="top"><a class="el" href="attributes_8h.html#a93f17e0f0b53a66e7b5eceb3dff2918f">av_warn_unused_result</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavfi__buffersrc.html#ga8fc71cb48c1ad1aa78b48f87daa4cf19">av_buffersrc_add_frame</a> (<a class="el" href="structAVFilterContext.html">AVFilterContext</a> *ctx, <a class="el" href="structAVFrame.html">AVFrame</a> *<a class="el" href="extract__mvs_8c.html#ad7d33d579a8d4241a5e643e39287a209">frame</a>)</td></tr>
<tr class="memdesc:ga8fc71cb48c1ad1aa78b48f87daa4cf19"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a frame to the buffer source.  <a href="#ga8fc71cb48c1ad1aa78b48f87daa4cf19">More...</a><br/></td></tr>
<tr class="separator:ga8fc71cb48c1ad1aa78b48f87daa4cf19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga73ed90c3c3407f36e54d65f91faaaed9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="attributes_8h.html#a93f17e0f0b53a66e7b5eceb3dff2918f">av_warn_unused_result</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavfi__buffersrc.html#ga73ed90c3c3407f36e54d65f91faaaed9">av_buffersrc_add_frame_flags</a> (<a class="el" href="structAVFilterContext.html">AVFilterContext</a> *buffer_src, <a class="el" href="structAVFrame.html">AVFrame</a> *<a class="el" href="extract__mvs_8c.html#ad7d33d579a8d4241a5e643e39287a209">frame</a>, int flags)</td></tr>
<tr class="memdesc:ga73ed90c3c3407f36e54d65f91faaaed9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a frame to the buffer source.  <a href="#ga73ed90c3c3407f36e54d65f91faaaed9">More...</a><br/></td></tr>
<tr class="separator:ga73ed90c3c3407f36e54d65f91faaaed9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="ga99fb83031ce9923c84392b4e92f956b5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a6efcf61145ec6d60d3a773fcd0797872"></a>AV_BUFFERSRC_FLAG_NO_CHECK_FORMAT</em>&#160;</td><td class="fielddoc">
<p>Do not check for format changes. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a361be31bba170d5ec5bac19ce962ceb5"></a>AV_BUFFERSRC_FLAG_PUSH</em>&#160;</td><td class="fielddoc">
<p>Immediately push the frame to the output. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a24758c8f4deed09b04b1be6c2e66a14e"></a>AV_BUFFERSRC_FLAG_KEEP_REF</em>&#160;</td><td class="fielddoc">
<p>Keep a reference to the frame. </p>
<p>If the frame if reference-counted, create a new reference; otherwise copy the frame data. </p>
</td></tr>
</table>

<p>Definition at line <a class="el" href="buffersrc_8h_source.html#l00038">38</a> of file <a class="el" href="buffersrc_8h_source.html">buffersrc.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga996e96007a0fda870549ac3c4e1e0967"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned av_buffersrc_get_nb_failed_requests </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structAVFilterContext.html">AVFilterContext</a> *&#160;</td>
          <td class="paramname"><em>buffer_src</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the number of failed requests. </p>
<p>A failed request is when the request_frame method is called while no frame is present in the buffer. The number is reset when a frame is added. </p>

</div>
</div>
<a class="anchor" id="ga786409c3f3910a0ab5fa6b23b4e7399b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="attributes_8h.html#a93f17e0f0b53a66e7b5eceb3dff2918f">av_warn_unused_result</a> int av_buffersrc_write_frame </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structAVFilterContext.html">AVFilterContext</a> *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structAVFrame.html">AVFrame</a> *&#160;</td>
          <td class="paramname"><em>frame</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add a frame to the buffer source. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>an instance of the buffersrc filter </td></tr>
    <tr><td class="paramname">frame</td><td>frame to be added. If the frame is reference counted, this function will make a new reference to it. Otherwise the frame data will be copied.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, a negative AVERROR on error</dd></dl>
<p>This function is equivalent to <a class="el" href="group__lavfi__buffersrc.html#ga73ed90c3c3407f36e54d65f91faaaed9" title="Add a frame to the buffer source. ">av_buffersrc_add_frame_flags()</a> with the AV_BUFFERSRC_FLAG_KEEP_REF flag. </p>

</div>
</div>
<a class="anchor" id="ga8fc71cb48c1ad1aa78b48f87daa4cf19"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="attributes_8h.html#a93f17e0f0b53a66e7b5eceb3dff2918f">av_warn_unused_result</a> int av_buffersrc_add_frame </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structAVFilterContext.html">AVFilterContext</a> *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structAVFrame.html">AVFrame</a> *&#160;</td>
          <td class="paramname"><em>frame</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add a frame to the buffer source. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>an instance of the buffersrc filter </td></tr>
    <tr><td class="paramname">frame</td><td>frame to be added. If the frame is reference counted, this function will take ownership of the reference(s) and reset the frame. Otherwise the frame data will be copied. If this function returns an error, the input frame is not touched.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, a negative AVERROR on error.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>the difference between this function and <a class="el" href="group__lavfi__buffersrc.html#ga786409c3f3910a0ab5fa6b23b4e7399b" title="Add a frame to the buffer source. ">av_buffersrc_write_frame()</a> is that <a class="el" href="group__lavfi__buffersrc.html#ga786409c3f3910a0ab5fa6b23b4e7399b" title="Add a frame to the buffer source. ">av_buffersrc_write_frame()</a> creates a new reference to the input frame, while this function takes ownership of the reference passed to it.</dd></dl>
<p>This function is equivalent to <a class="el" href="group__lavfi__buffersrc.html#ga73ed90c3c3407f36e54d65f91faaaed9" title="Add a frame to the buffer source. ">av_buffersrc_add_frame_flags()</a> without the AV_BUFFERSRC_FLAG_KEEP_REF flag. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="filter_audio_8c-example.html#a54">filter_audio.c</a>.</dd>
</dl>
<p>Referenced by <a class="el" href="filter__audio_8c_source.html#l00270">main()</a>.</p>

</div>
</div>
<a class="anchor" id="ga73ed90c3c3407f36e54d65f91faaaed9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="attributes_8h.html#a93f17e0f0b53a66e7b5eceb3dff2918f">av_warn_unused_result</a> int av_buffersrc_add_frame_flags </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structAVFilterContext.html">AVFilterContext</a> *&#160;</td>
          <td class="paramname"><em>buffer_src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structAVFrame.html">AVFrame</a> *&#160;</td>
          <td class="paramname"><em>frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>flags</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add a frame to the buffer source. </p>
<p>By default, if the frame is reference-counted, this function will take ownership of the reference(s) and reset the frame. This can be controlled using the flags.</p>
<p>If this function returns an error, the input frame is not touched.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer_src</td><td>pointer to a buffer source context </td></tr>
    <tr><td class="paramname">frame</td><td>a frame, or NULL to mark EOF </td></tr>
    <tr><td class="paramname">flags</td><td>a combination of AV_BUFFERSRC_FLAG_* </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>&gt;= 0 in case of success, a negative AVERROR code in case of failure </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="filtering_audio_8c-example.html#a79">filtering_audio.c</a>, <a class="el" href="filtering_video_8c-example.html#a72">filtering_video.c</a>, and <a class="el" href="transcoding_8c-example.html#a105">transcoding.c</a>.</dd>
</dl>
<p>Referenced by <a class="el" href="transcoding_8c_source.html#l00401">filter_encode_write_frame()</a>, and <a class="el" href="filtering__audio_8c_source.html#l00211">main()</a>.</p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>
</body>
</html>