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-doc / 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"/>
<title>FFmpeg: Buffer source API</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
   &#160;<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&#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>
<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>  </div>
<div class="ingroups"><a class="el" href="group__lavfi.html">Libavfilter - graph-based frame editing library</a></div></div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="files"></a>
Files</h2></td></tr>
<tr><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><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>Memory buffer source API. </p>
<br/></td></tr>
<tr><td colspan="2"><h2><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr><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><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavfi__buffersrc.html#ga77cbac27e90408ba6e3e34a9fa6558f0">av_buffersrc_add_ref</a> (<a class="el" href="structAVFilterContext.html">AVFilterContext</a> *buffer_src, AVFilterBufferRef *picref, int flags)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Add buffer data in picref to buffer_src.  <a href="#ga77cbac27e90408ba6e3e34a9fa6558f0"></a><br/></td></tr>
<tr><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><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of failed requests.  <a href="#ga996e96007a0fda870549ac3c4e1e0967"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavfi__buffersrc.html#ga98515c064f012e4d6c8a72830170935e">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><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a frame to the buffer source.  <a href="#ga98515c064f012e4d6c8a72830170935e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavfi__buffersrc.html#ga278eb115bf4c5bb98626427db06d032c">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><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a frame to the buffer source.  <a href="#ga278eb115bf4c5bb98626427db06d032c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lavfi__buffersrc.html#ga54133fc5421777515032c593bc00f191">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><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a frame to the buffer source.  <a href="#ga54133fc5421777515032c593bc00f191"></a><br/></td></tr>
</table>
<hr/><h2>Enumeration Type Documentation</h2>
<a class="anchor" id="ga99fb83031ce9923c84392b4e92f956b5"></a><!-- doxytag: member="buffersrc.h::@2" ref="ga99fb83031ce9923c84392b4e92f956b5" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a6efcf61145ec6d60d3a773fcd0797872"></a><!-- doxytag: member="AV_BUFFERSRC_FLAG_NO_CHECK_FORMAT" ref="gga99fb83031ce9923c84392b4e92f956b5a6efcf61145ec6d60d3a773fcd0797872" args="" -->AV_BUFFERSRC_FLAG_NO_CHECK_FORMAT</em>&nbsp;</td><td>
<p>Do not check for format changes. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a361be31bba170d5ec5bac19ce962ceb5"></a><!-- doxytag: member="AV_BUFFERSRC_FLAG_PUSH" ref="gga99fb83031ce9923c84392b4e92f956b5a361be31bba170d5ec5bac19ce962ceb5" args="" -->AV_BUFFERSRC_FLAG_PUSH</em>&nbsp;</td><td>
<p>Immediately push the frame to the output. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5a24758c8f4deed09b04b1be6c2e66a14e"></a><!-- doxytag: member="AV_BUFFERSRC_FLAG_KEEP_REF" ref="gga99fb83031ce9923c84392b4e92f956b5a24758c8f4deed09b04b1be6c2e66a14e" args="" -->AV_BUFFERSRC_FLAG_KEEP_REF</em>&nbsp;</td><td>
<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>
</dd>
</dl>

<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>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ga77cbac27e90408ba6e3e34a9fa6558f0"></a><!-- doxytag: member="buffersrc.h::av_buffersrc_add_ref" ref="ga77cbac27e90408ba6e3e34a9fa6558f0" args="(AVFilterContext *buffer_src, AVFilterBufferRef *picref, int flags)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__lavfi__buffersrc.html#ga77cbac27e90408ba6e3e34a9fa6558f0">av_buffersrc_add_ref</a> </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">AVFilterBufferRef *&#160;</td>
          <td class="paramname"><em>picref</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 buffer data in picref to buffer_src. </p>
<dl class="params"><dt><b>Parameters:</b></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">picref</td><td>a buffer reference, 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="return"><dt><b>Returns:</b></dt><dd>&gt;= 0 in case of success, a negative AVERROR code in case of failure </dd></dl>

</div>
</div>
<a class="anchor" id="ga996e96007a0fda870549ac3c4e1e0967"></a><!-- doxytag: member="buffersrc.h::av_buffersrc_get_nb_failed_requests" ref="ga996e96007a0fda870549ac3c4e1e0967" args="(AVFilterContext *buffer_src)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned <a class="el" href="group__lavfi__buffersrc.html#ga996e96007a0fda870549ac3c4e1e0967">av_buffersrc_get_nb_failed_requests</a> </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="ga98515c064f012e4d6c8a72830170935e"></a><!-- doxytag: member="buffersrc.h::av_buffersrc_write_frame" ref="ga98515c064f012e4d6c8a72830170935e" args="(AVFilterContext *ctx, const AVFrame *frame)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__lavfi__buffersrc.html#ga98515c064f012e4d6c8a72830170935e">av_buffersrc_write_frame</a> </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><b>Parameters:</b></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="return"><dt><b>Returns:</b></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#ga54133fc5421777515032c593bc00f191" 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="ga278eb115bf4c5bb98626427db06d032c"></a><!-- doxytag: member="buffersrc.h::av_buffersrc_add_frame" ref="ga278eb115bf4c5bb98626427db06d032c" args="(AVFilterContext *ctx, AVFrame *frame)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__lavfi__buffersrc.html#ga278eb115bf4c5bb98626427db06d032c">av_buffersrc_add_frame</a> </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><b>Parameters:</b></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="return"><dt><b>Returns:</b></dt><dd>0 on success, a negative AVERROR on error.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>the difference between this function and <a class="el" href="group__lavfi__buffersrc.html#ga98515c064f012e4d6c8a72830170935e" title="Add a frame to the buffer source.">av_buffersrc_write_frame()</a> is that <a class="el" href="group__lavfi__buffersrc.html#ga98515c064f012e4d6c8a72830170935e" 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#ga54133fc5421777515032c593bc00f191" 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#a53">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="ga54133fc5421777515032c593bc00f191"></a><!-- doxytag: member="buffersrc.h::av_buffersrc_add_frame_flags" ref="ga54133fc5421777515032c593bc00f191" args="(AVFilterContext *buffer_src, AVFrame *frame, int flags)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group__lavfi__buffersrc.html#ga54133fc5421777515032c593bc00f191">av_buffersrc_add_frame_flags</a> </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><b>Parameters:</b></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="return"><dt><b>Returns:</b></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#l00402">filter_encode_write_frame()</a>, and <a class="el" href="filtering__audio_8c_source.html#l00212">main()</a>.</p>

</div>
</div>
</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">&#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>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 &#160;<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>