Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 874255f3b26b44feb57fbe38a7384518 > files > 254

gmerlin-0.4.1-2mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>gmerlin: bg_encoder_plugin_s Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.9 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>bg_encoder_plugin_s Struct Reference<br>
<small>
[<a class="el" href="group__plugin__e.html">Encoder</a>]</small>
</h1><!-- doxytag: class="bg_encoder_plugin_s" -->Encoder plugin.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="plugin_8h_source.html">plugin.h</a>&gt;</code>
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structbg__plugin__common__s.html">bg_plugin_common_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__encoder__plugin__s.html#7faaf9e8d8286fae792d7d666282712e">common</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Infos and functions common to all plugin types.  <a href="#7faaf9e8d8286fae792d7d666282712e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__encoder__plugin__s.html#f0e48573a299b048838462721c2ca571">max_audio_streams</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Maximum number of audio streams. -1 means infinite.  <a href="#f0e48573a299b048838462721c2ca571"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__encoder__plugin__s.html#1676cda5007ab765b30b6f8ae9059712">max_video_streams</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Maximum number of video streams. -1 means infinite.  <a href="#1676cda5007ab765b30b6f8ae9059712"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__encoder__plugin__s.html#b0683d36069b2b3a517f341081bfb42c">max_subtitle_text_streams</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Maximum number of text subtitle streams. -1 means infinite.  <a href="#b0683d36069b2b3a517f341081bfb42c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__encoder__plugin__s.html#e98b2cada29d0e355588e10fa6fdfb9c">max_subtitle_overlay_streams</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Maximum number of overlay subtitle streams. -1 means infinite.  <a href="#e98b2cada29d0e355588e10fa6fdfb9c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__encoder__plugin__s.html#aa4bfb9e3d3127367beffab4ab6181ae">get_extension</a> )(void *priv)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the file extension.  <a href="#aa4bfb9e3d3127367beffab4ab6181ae"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__encoder__plugin__s.html#08cb70a3b17f9370d859849c5a5d42b9">open</a> )(void *data, const char *filename, const <a class="el" href="structbg__metadata__t.html">bg_metadata_t</a> *metadata, const <a class="el" href="structbg__chapter__list__t.html">bg_chapter_list_t</a> *chapter_list)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Open a file.  <a href="#08cb70a3b17f9370d859849c5a5d42b9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__encoder__plugin__s.html#24e8bbdef808b8007e6c05c195b365a2">get_filename</a> )(void *)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the filename, which can be passed to the player.  <a href="#24e8bbdef808b8007e6c05c195b365a2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="structbg__parameter__info__s.html">bg_parameter_info_t</a> *(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__encoder__plugin__s.html#038ce398c0c5eea8b07f65de130e8cff">get_audio_parameters</a> )(void *priv)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get audio related parameters.  <a href="#038ce398c0c5eea8b07f65de130e8cff"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="structbg__parameter__info__s.html">bg_parameter_info_t</a> *(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__encoder__plugin__s.html#573ded4ed40856b6e7ee2ce9ae9204cd">get_video_parameters</a> )(void *priv)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get video related parameters.  <a href="#573ded4ed40856b6e7ee2ce9ae9204cd"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="structbg__parameter__info__s.html">bg_parameter_info_t</a> *(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__encoder__plugin__s.html#37a299a4e0b2789b6422e407e6184ccc">get_subtitle_text_parameters</a> )(void *priv)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get text subtitle related parameters.  <a href="#37a299a4e0b2789b6422e407e6184ccc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="structbg__parameter__info__s.html">bg_parameter_info_t</a> *(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__encoder__plugin__s.html#46c8c997b81637d315d8af19200379ea">get_subtitle_overlay_parameters</a> )(void *priv)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get overlay subtitle related parameters.  <a href="#46c8c997b81637d315d8af19200379ea"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__encoder__plugin__s.html#c35bee3876f1e38c89533ced0284d96d">add_audio_stream</a> )(void *priv, const char *language, <a class="elRef" doxygen="gavl.tags:http://gmerlin.sourceforge.net/doc/gavl//" href="http://gmerlin.sourceforge.net/doc/gavl//structgavl__audio__format__s.html">gavl_audio_format_t</a> *format)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add an audio stream.  <a href="#c35bee3876f1e38c89533ced0284d96d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__encoder__plugin__s.html#24e703bd84983ac11d34952f4dc7b90e">add_video_stream</a> )(void *priv, <a class="elRef" doxygen="gavl.tags:http://gmerlin.sourceforge.net/doc/gavl//" href="http://gmerlin.sourceforge.net/doc/gavl//structgavl__video__format__s.html">gavl_video_format_t</a> *format)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a video stream.  <a href="#24e703bd84983ac11d34952f4dc7b90e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__encoder__plugin__s.html#cc1b345445e45bd2900db7415fe0cec6">add_subtitle_text_stream</a> )(void *priv, const char *language, int *timescale)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a text subtitle stream.  <a href="#cc1b345445e45bd2900db7415fe0cec6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__encoder__plugin__s.html#2ab157a115db2fe985bfecd1d5c11d64">add_subtitle_overlay_stream</a> )(void *priv, const char *language, <a class="elRef" doxygen="gavl.tags:http://gmerlin.sourceforge.net/doc/gavl//" href="http://gmerlin.sourceforge.net/doc/gavl//structgavl__video__format__s.html">gavl_video_format_t</a> *format)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a text subtitle stream.  <a href="#2ab157a115db2fe985bfecd1d5c11d64"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__encoder__plugin__s.html#844160ace039211d6669ed17c36920fa">set_audio_parameter</a> )(void *priv, int stream, const char *name, const <a class="el" href="unionbg__parameter__value__t.html">bg_parameter_value_t</a> *v)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set audio encoding parameter.  <a href="#844160ace039211d6669ed17c36920fa"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__encoder__plugin__s.html#f5ded06f48aada9fa78b2c16901e6ae9">set_video_parameter</a> )(void *priv, int stream, const char *name, const <a class="el" href="unionbg__parameter__value__t.html">bg_parameter_value_t</a> *v)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set video encoding parameter.  <a href="#f5ded06f48aada9fa78b2c16901e6ae9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__encoder__plugin__s.html#e579aaf9e0b41f2d905f9db04ff1625a">set_subtitle_text_parameter</a> )(void *priv, int stream, const char *name, const <a class="el" href="unionbg__parameter__value__t.html">bg_parameter_value_t</a> *v)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set text subtitle encoding parameter.  <a href="#e579aaf9e0b41f2d905f9db04ff1625a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__encoder__plugin__s.html#44c9fc442fc6feb7246e4501b8da9f16">set_subtitle_overlay_parameter</a> )(void *priv, int stream, const char *name, const <a class="el" href="unionbg__parameter__value__t.html">bg_parameter_value_t</a> *v)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set text subtitle encoding parameter.  <a href="#44c9fc442fc6feb7246e4501b8da9f16"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__encoder__plugin__s.html#428b0b0da08326ac492ba4ed69e74f57">set_video_pass</a> )(void *priv, int stream, int pass, int total_passes, const char *stats_file)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Setup multipass video encoding.  <a href="#428b0b0da08326ac492ba4ed69e74f57"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__encoder__plugin__s.html#1cf8e37fa973f92cd6281e33dbfec12c">start</a> )(void *priv)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set up all codecs and prepare for encoding.  <a href="#1cf8e37fa973f92cd6281e33dbfec12c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__encoder__plugin__s.html#75226a2fcb57acfb503f694e56bf58cf">get_audio_format</a> )(void *priv, int stream, <a class="elRef" doxygen="gavl.tags:http://gmerlin.sourceforge.net/doc/gavl//" href="http://gmerlin.sourceforge.net/doc/gavl//structgavl__audio__format__s.html">gavl_audio_format_t</a> *ret)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get audio format.  <a href="#75226a2fcb57acfb503f694e56bf58cf"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__encoder__plugin__s.html#93f122c5f81f8680b2f5301b5481763a">get_video_format</a> )(void *priv, int stream, <a class="elRef" doxygen="gavl.tags:http://gmerlin.sourceforge.net/doc/gavl//" href="http://gmerlin.sourceforge.net/doc/gavl//structgavl__video__format__s.html">gavl_video_format_t</a> *ret)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get video format.  <a href="#93f122c5f81f8680b2f5301b5481763a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__encoder__plugin__s.html#c329d6ddd7a2102e7c5fff8d0c940146">get_subtitle_overlay_format</a> )(void *priv, int stream, <a class="elRef" doxygen="gavl.tags:http://gmerlin.sourceforge.net/doc/gavl//" href="http://gmerlin.sourceforge.net/doc/gavl//structgavl__video__format__s.html">gavl_video_format_t</a> *ret)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get video format of an overlay subtitle stream.  <a href="#c329d6ddd7a2102e7c5fff8d0c940146"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__encoder__plugin__s.html#2cfcc1506330c13123ec029faac1767e">write_audio_frame</a> )(void *data, <a class="elRef" doxygen="gavl.tags:http://gmerlin.sourceforge.net/doc/gavl//" href="http://gmerlin.sourceforge.net/doc/gavl//structgavl__audio__frame__s.html">gavl_audio_frame_t</a> *frame, int stream)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write audio samples.  <a href="#2cfcc1506330c13123ec029faac1767e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__encoder__plugin__s.html#bf7856cf0e08795ab9bca2556679a773">write_video_frame</a> )(void *data, <a class="elRef" doxygen="gavl.tags:http://gmerlin.sourceforge.net/doc/gavl//" href="http://gmerlin.sourceforge.net/doc/gavl//structgavl__video__frame__s.html">gavl_video_frame_t</a> *frame, int stream)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write video frame.  <a href="#bf7856cf0e08795ab9bca2556679a773"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__encoder__plugin__s.html#5f163a5dd016e8b2f91efdf47e37ddc0">write_subtitle_text</a> )(void *data, const char *text, int64_t <a class="el" href="structbg__encoder__plugin__s.html#1cf8e37fa973f92cd6281e33dbfec12c">start</a>, int64_t duration, int stream)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write a text subtitle.  <a href="#5f163a5dd016e8b2f91efdf47e37ddc0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__encoder__plugin__s.html#2698e409b17f85cff9e760dadb0d14a2">write_subtitle_overlay</a> )(void *data, <a class="elRef" doxygen="gavl.tags:http://gmerlin.sourceforge.net/doc/gavl//" href="http://gmerlin.sourceforge.net/doc/gavl//structgavl__overlay__t.html">gavl_overlay_t</a> *ovl, int stream)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write an overlay subtitle.  <a href="#2698e409b17f85cff9e760dadb0d14a2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__encoder__plugin__s.html#ea9cf7073aa9a5d6e242747f714a4e07">close</a> )(void *data, int do_delete)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Close encoder.  <a href="#ea9cf7073aa9a5d6e242747f714a4e07"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Encoder plugin. <hr><h2>Field Documentation</h2>
<a class="anchor" name="7faaf9e8d8286fae792d7d666282712e"></a><!-- doxytag: member="bg_encoder_plugin_s::common" ref="7faaf9e8d8286fae792d7d666282712e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structbg__plugin__common__s.html">bg_plugin_common_t</a> <a class="el" href="structbg__encoder__plugin__s.html#7faaf9e8d8286fae792d7d666282712e">bg_encoder_plugin_s::common</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Infos and functions common to all plugin types. 
<p>

</div>
</div><p>
<a class="anchor" name="f0e48573a299b048838462721c2ca571"></a><!-- doxytag: member="bg_encoder_plugin_s::max_audio_streams" ref="f0e48573a299b048838462721c2ca571" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="structbg__encoder__plugin__s.html#f0e48573a299b048838462721c2ca571">bg_encoder_plugin_s::max_audio_streams</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Maximum number of audio streams. -1 means infinite. 
<p>

</div>
</div><p>
<a class="anchor" name="1676cda5007ab765b30b6f8ae9059712"></a><!-- doxytag: member="bg_encoder_plugin_s::max_video_streams" ref="1676cda5007ab765b30b6f8ae9059712" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="structbg__encoder__plugin__s.html#1676cda5007ab765b30b6f8ae9059712">bg_encoder_plugin_s::max_video_streams</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Maximum number of video streams. -1 means infinite. 
<p>

</div>
</div><p>
<a class="anchor" name="b0683d36069b2b3a517f341081bfb42c"></a><!-- doxytag: member="bg_encoder_plugin_s::max_subtitle_text_streams" ref="b0683d36069b2b3a517f341081bfb42c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="structbg__encoder__plugin__s.html#b0683d36069b2b3a517f341081bfb42c">bg_encoder_plugin_s::max_subtitle_text_streams</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Maximum number of text subtitle streams. -1 means infinite. 
<p>

</div>
</div><p>
<a class="anchor" name="e98b2cada29d0e355588e10fa6fdfb9c"></a><!-- doxytag: member="bg_encoder_plugin_s::max_subtitle_overlay_streams" ref="e98b2cada29d0e355588e10fa6fdfb9c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="structbg__encoder__plugin__s.html#e98b2cada29d0e355588e10fa6fdfb9c">bg_encoder_plugin_s::max_subtitle_overlay_streams</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Maximum number of overlay subtitle streams. -1 means infinite. 
<p>

</div>
</div><p>
<a class="anchor" name="aa4bfb9e3d3127367beffab4ab6181ae"></a><!-- doxytag: member="bg_encoder_plugin_s::get_extension" ref="aa4bfb9e3d3127367beffab4ab6181ae" args=")(void *priv)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char*(* <a class="el" href="structbg__encoder__plugin__s.html#aa4bfb9e3d3127367beffab4ab6181ae">bg_encoder_plugin_s::get_extension</a>)(void *priv)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the file extension. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>priv</em>&nbsp;</td><td>The handle returned by the create() method </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The file extension</dd></dl>
If a plugin supports more than one output format, the actual format is configured as a parameter. This function returns the extension according to the format. 
</div>
</div><p>
<a class="anchor" name="08cb70a3b17f9370d859849c5a5d42b9"></a><!-- doxytag: member="bg_encoder_plugin_s::open" ref="08cb70a3b17f9370d859849c5a5d42b9" args=")(void *data, const char *filename, const bg_metadata_t *metadata, const bg_chapter_list_t *chapter_list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* <a class="el" href="structbg__encoder__plugin__s.html#08cb70a3b17f9370d859849c5a5d42b9">bg_encoder_plugin_s::open</a>)(void *data, const char *filename, const <a class="el" href="structbg__metadata__t.html">bg_metadata_t</a> *metadata, const <a class="el" href="structbg__chapter__list__t.html">bg_chapter_list_t</a> *chapter_list)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Open a file. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>priv</em>&nbsp;</td><td>The handle returned by the create() method </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>Name of the file to be opened </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>metadata</em>&nbsp;</td><td>Metadata to be written to the file </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>chapter_list</em>&nbsp;</td><td>Chapter list (optional, can be NULL) </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="24e8bbdef808b8007e6c05c195b365a2"></a><!-- doxytag: member="bg_encoder_plugin_s::get_filename" ref="24e8bbdef808b8007e6c05c195b365a2" args=")(void *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char*(* <a class="el" href="structbg__encoder__plugin__s.html#24e8bbdef808b8007e6c05c195b365a2">bg_encoder_plugin_s::get_filename</a>)(void *)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the filename, which can be passed to the player. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>priv</em>&nbsp;</td><td>The handle returned by the create() method</td></tr>
  </table>
</dl>
This must be implemented only if the plugin creates files with names different from the the filename passed to the <a class="el" href="structbg__encoder__plugin__s.html#08cb70a3b17f9370d859849c5a5d42b9" title="Open a file.">open()</a> function 
</div>
</div><p>
<a class="anchor" name="038ce398c0c5eea8b07f65de130e8cff"></a><!-- doxytag: member="bg_encoder_plugin_s::get_audio_parameters" ref="038ce398c0c5eea8b07f65de130e8cff" args=")(void *priv)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="structbg__parameter__info__s.html">bg_parameter_info_t</a>*(* <a class="el" href="structbg__encoder__plugin__s.html#038ce398c0c5eea8b07f65de130e8cff">bg_encoder_plugin_s::get_audio_parameters</a>)(void *priv)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get audio related parameters. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>priv</em>&nbsp;</td><td>The handle returned by the create() method </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>NULL terminated array of parameter descriptions</dd></dl>
The returned parameters are owned by the plugin and must not be freed. 
</div>
</div><p>
<a class="anchor" name="573ded4ed40856b6e7ee2ce9ae9204cd"></a><!-- doxytag: member="bg_encoder_plugin_s::get_video_parameters" ref="573ded4ed40856b6e7ee2ce9ae9204cd" args=")(void *priv)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="structbg__parameter__info__s.html">bg_parameter_info_t</a>*(* <a class="el" href="structbg__encoder__plugin__s.html#573ded4ed40856b6e7ee2ce9ae9204cd">bg_encoder_plugin_s::get_video_parameters</a>)(void *priv)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get video related parameters. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>priv</em>&nbsp;</td><td>The handle returned by the create() method </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>NULL terminated array of parameter descriptions</dd></dl>
The returned parameters are owned by the plugin and must not be freed. 
</div>
</div><p>
<a class="anchor" name="37a299a4e0b2789b6422e407e6184ccc"></a><!-- doxytag: member="bg_encoder_plugin_s::get_subtitle_text_parameters" ref="37a299a4e0b2789b6422e407e6184ccc" args=")(void *priv)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="structbg__parameter__info__s.html">bg_parameter_info_t</a>*(* <a class="el" href="structbg__encoder__plugin__s.html#37a299a4e0b2789b6422e407e6184ccc">bg_encoder_plugin_s::get_subtitle_text_parameters</a>)(void *priv)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get text subtitle related parameters. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>priv</em>&nbsp;</td><td>The handle returned by the create() method </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>NULL terminated array of parameter descriptions</dd></dl>
The returned parameters are owned by the plugin and must not be freed. 
</div>
</div><p>
<a class="anchor" name="46c8c997b81637d315d8af19200379ea"></a><!-- doxytag: member="bg_encoder_plugin_s::get_subtitle_overlay_parameters" ref="46c8c997b81637d315d8af19200379ea" args=")(void *priv)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="structbg__parameter__info__s.html">bg_parameter_info_t</a>*(* <a class="el" href="structbg__encoder__plugin__s.html#46c8c997b81637d315d8af19200379ea">bg_encoder_plugin_s::get_subtitle_overlay_parameters</a>)(void *priv)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get overlay subtitle related parameters. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>priv</em>&nbsp;</td><td>The handle returned by the create() method </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>NULL terminated array of parameter descriptions</dd></dl>
The returned parameters are owned by the plugin and must not be freed. 
</div>
</div><p>
<a class="anchor" name="c35bee3876f1e38c89533ced0284d96d"></a><!-- doxytag: member="bg_encoder_plugin_s::add_audio_stream" ref="c35bee3876f1e38c89533ced0284d96d" args=")(void *priv, const char *language, gavl_audio_format_t *format)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* <a class="el" href="structbg__encoder__plugin__s.html#c35bee3876f1e38c89533ced0284d96d">bg_encoder_plugin_s::add_audio_stream</a>)(void *priv, const char *language, <a class="elRef" doxygen="gavl.tags:http://gmerlin.sourceforge.net/doc/gavl//" href="http://gmerlin.sourceforge.net/doc/gavl//structgavl__audio__format__s.html">gavl_audio_format_t</a> *format)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add an audio stream. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>priv</em>&nbsp;</td><td>The handle returned by the create() method </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>language</em>&nbsp;</td><td>as ISO 639-2 code (3 characters+'\0') or NULL </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>Format of the source </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Index of this stream (starting with 0)</dd></dl>
The format might be changed to the nearest format supported by the plugin. Use <a class="el" href="structbg__encoder__plugin__s.html#75226a2fcb57acfb503f694e56bf58cf">get_audio_format</a> to get the actual format needed by the plugin, after <a class="el" href="structbg__encoder__plugin__s.html#1cf8e37fa973f92cd6281e33dbfec12c">start()</a> was called. 
</div>
</div><p>
<a class="anchor" name="24e703bd84983ac11d34952f4dc7b90e"></a><!-- doxytag: member="bg_encoder_plugin_s::add_video_stream" ref="24e703bd84983ac11d34952f4dc7b90e" args=")(void *priv, gavl_video_format_t *format)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* <a class="el" href="structbg__encoder__plugin__s.html#24e703bd84983ac11d34952f4dc7b90e">bg_encoder_plugin_s::add_video_stream</a>)(void *priv, <a class="elRef" doxygen="gavl.tags:http://gmerlin.sourceforge.net/doc/gavl//" href="http://gmerlin.sourceforge.net/doc/gavl//structgavl__video__format__s.html">gavl_video_format_t</a> *format)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a video stream. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>priv</em>&nbsp;</td><td>The handle returned by the create() method </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>Format of the source </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Index of this stream (starting with 0)</dd></dl>
The format might be changed to the nearest format supported by the plugin. Use <a class="el" href="structbg__encoder__plugin__s.html#93f122c5f81f8680b2f5301b5481763a">get_video_format</a> to get the actual format needed by the plugin, after <a class="el" href="structbg__encoder__plugin__s.html#1cf8e37fa973f92cd6281e33dbfec12c">start()</a> was called. 
</div>
</div><p>
<a class="anchor" name="cc1b345445e45bd2900db7415fe0cec6"></a><!-- doxytag: member="bg_encoder_plugin_s::add_subtitle_text_stream" ref="cc1b345445e45bd2900db7415fe0cec6" args=")(void *priv, const char *language, int *timescale)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* <a class="el" href="structbg__encoder__plugin__s.html#cc1b345445e45bd2900db7415fe0cec6">bg_encoder_plugin_s::add_subtitle_text_stream</a>)(void *priv, const char *language, int *timescale)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a text subtitle stream. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>priv</em>&nbsp;</td><td>The handle returned by the create() method </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>language</em>&nbsp;</td><td>as ISO 639-2 code (3 characters+'\0') or NULL </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Index of this stream (starting with 0) </dd></dl>

</div>
</div><p>
<a class="anchor" name="2ab157a115db2fe985bfecd1d5c11d64"></a><!-- doxytag: member="bg_encoder_plugin_s::add_subtitle_overlay_stream" ref="2ab157a115db2fe985bfecd1d5c11d64" args=")(void *priv, const char *language, gavl_video_format_t *format)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* <a class="el" href="structbg__encoder__plugin__s.html#2ab157a115db2fe985bfecd1d5c11d64">bg_encoder_plugin_s::add_subtitle_overlay_stream</a>)(void *priv, const char *language, <a class="elRef" doxygen="gavl.tags:http://gmerlin.sourceforge.net/doc/gavl//" href="http://gmerlin.sourceforge.net/doc/gavl//structgavl__video__format__s.html">gavl_video_format_t</a> *format)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a text subtitle stream. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>priv</em>&nbsp;</td><td>The handle returned by the create() method </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>language</em>&nbsp;</td><td>as ISO 639-2 code (3 characters+'\0') or NULL </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>Format of the source </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Index of this stream (starting with 0)</dd></dl>
The format might be changed to the nearest format supported by the plugin. Use <a class="el" href="structbg__encoder__plugin__s.html#c329d6ddd7a2102e7c5fff8d0c940146">get_subtitle_overlay_format</a> to get the actual format needed by the plugin, after <a class="el" href="structbg__encoder__plugin__s.html#1cf8e37fa973f92cd6281e33dbfec12c">start</a> was called. 
</div>
</div><p>
<a class="anchor" name="844160ace039211d6669ed17c36920fa"></a><!-- doxytag: member="bg_encoder_plugin_s::set_audio_parameter" ref="844160ace039211d6669ed17c36920fa" args=")(void *priv, int stream, const char *name, const bg_parameter_value_t *v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* <a class="el" href="structbg__encoder__plugin__s.html#844160ace039211d6669ed17c36920fa">bg_encoder_plugin_s::set_audio_parameter</a>)(void *priv, int stream, const char *name, const <a class="el" href="unionbg__parameter__value__t.html">bg_parameter_value_t</a> *v)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set audio encoding parameter. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>priv</em>&nbsp;</td><td>The handle returned by the create() method </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>stream</em>&nbsp;</td><td>Stream index (starting with 0) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>Name of the parameter </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>v</em>&nbsp;</td><td>Value</td></tr>
  </table>
</dl>
Use this function with parameters obtained by <a class="el" href="structbg__encoder__plugin__s.html#038ce398c0c5eea8b07f65de130e8cff">get_audio_parameters</a>. 
</div>
</div><p>
<a class="anchor" name="f5ded06f48aada9fa78b2c16901e6ae9"></a><!-- doxytag: member="bg_encoder_plugin_s::set_video_parameter" ref="f5ded06f48aada9fa78b2c16901e6ae9" args=")(void *priv, int stream, const char *name, const bg_parameter_value_t *v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* <a class="el" href="structbg__encoder__plugin__s.html#f5ded06f48aada9fa78b2c16901e6ae9">bg_encoder_plugin_s::set_video_parameter</a>)(void *priv, int stream, const char *name, const <a class="el" href="unionbg__parameter__value__t.html">bg_parameter_value_t</a> *v)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set video encoding parameter. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>priv</em>&nbsp;</td><td>The handle returned by the create() method </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>stream</em>&nbsp;</td><td>Stream index (starting with 0) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>Name of the parameter </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>v</em>&nbsp;</td><td>Value</td></tr>
  </table>
</dl>
Use this function with parameters obtained by <a class="el" href="structbg__encoder__plugin__s.html#573ded4ed40856b6e7ee2ce9ae9204cd">get_video_parameters</a>. 
</div>
</div><p>
<a class="anchor" name="e579aaf9e0b41f2d905f9db04ff1625a"></a><!-- doxytag: member="bg_encoder_plugin_s::set_subtitle_text_parameter" ref="e579aaf9e0b41f2d905f9db04ff1625a" args=")(void *priv, int stream, const char *name, const bg_parameter_value_t *v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* <a class="el" href="structbg__encoder__plugin__s.html#e579aaf9e0b41f2d905f9db04ff1625a">bg_encoder_plugin_s::set_subtitle_text_parameter</a>)(void *priv, int stream, const char *name, const <a class="el" href="unionbg__parameter__value__t.html">bg_parameter_value_t</a> *v)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set text subtitle encoding parameter. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>priv</em>&nbsp;</td><td>The handle returned by the create() method </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>stream</em>&nbsp;</td><td>Stream index (starting with 0) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>Name of the parameter </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>v</em>&nbsp;</td><td>Value</td></tr>
  </table>
</dl>
Use this function with parameters obtained by <a class="el" href="structbg__encoder__plugin__s.html#37a299a4e0b2789b6422e407e6184ccc">get_subtitle_text_parameters</a>. 
</div>
</div><p>
<a class="anchor" name="44c9fc442fc6feb7246e4501b8da9f16"></a><!-- doxytag: member="bg_encoder_plugin_s::set_subtitle_overlay_parameter" ref="44c9fc442fc6feb7246e4501b8da9f16" args=")(void *priv, int stream, const char *name, const bg_parameter_value_t *v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* <a class="el" href="structbg__encoder__plugin__s.html#44c9fc442fc6feb7246e4501b8da9f16">bg_encoder_plugin_s::set_subtitle_overlay_parameter</a>)(void *priv, int stream, const char *name, const <a class="el" href="unionbg__parameter__value__t.html">bg_parameter_value_t</a> *v)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set text subtitle encoding parameter. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>priv</em>&nbsp;</td><td>The handle returned by the create() method </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>stream</em>&nbsp;</td><td>Stream index (starting with 0) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>Name of the parameter </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>v</em>&nbsp;</td><td>Value</td></tr>
  </table>
</dl>
Use this function with parameters obtained by <a class="el" href="structbg__encoder__plugin__s.html#46c8c997b81637d315d8af19200379ea">get_subtitle_overlay_parameters</a>. 
</div>
</div><p>
<a class="anchor" name="428b0b0da08326ac492ba4ed69e74f57"></a><!-- doxytag: member="bg_encoder_plugin_s::set_video_pass" ref="428b0b0da08326ac492ba4ed69e74f57" args=")(void *priv, int stream, int pass, int total_passes, const char *stats_file)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* <a class="el" href="structbg__encoder__plugin__s.html#428b0b0da08326ac492ba4ed69e74f57">bg_encoder_plugin_s::set_video_pass</a>)(void *priv, int stream, int pass, int total_passes, const char *stats_file)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Setup multipass video encoding. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>priv</em>&nbsp;</td><td>The handle returned by the create() method </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>stream</em>&nbsp;</td><td>Stream index (starting with 0) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pass</em>&nbsp;</td><td>Number of this pass (starting with 1) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>total_passes</em>&nbsp;</td><td>Number of total passes </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>stats_file</em>&nbsp;</td><td>Name of a file, which can be used for multipass statistics </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 if multipass transcoding is not supported and can be ommitted, 1 else </dd></dl>

</div>
</div><p>
<a class="anchor" name="1cf8e37fa973f92cd6281e33dbfec12c"></a><!-- doxytag: member="bg_encoder_plugin_s::start" ref="1cf8e37fa973f92cd6281e33dbfec12c" args=")(void *priv)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* <a class="el" href="structbg__encoder__plugin__s.html#1cf8e37fa973f92cd6281e33dbfec12c">bg_encoder_plugin_s::start</a>)(void *priv)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set up all codecs and prepare for encoding. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>priv</em>&nbsp;</td><td>The handle returned by the create() method </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on error, 1 on success</dd></dl>
Optional function for preparing the actual encoding. Applications must check for this function and call it when available. 
</div>
</div><p>
<a class="anchor" name="75226a2fcb57acfb503f694e56bf58cf"></a><!-- doxytag: member="bg_encoder_plugin_s::get_audio_format" ref="75226a2fcb57acfb503f694e56bf58cf" args=")(void *priv, int stream, gavl_audio_format_t *ret)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* <a class="el" href="structbg__encoder__plugin__s.html#75226a2fcb57acfb503f694e56bf58cf">bg_encoder_plugin_s::get_audio_format</a>)(void *priv, int stream, <a class="elRef" doxygen="gavl.tags:http://gmerlin.sourceforge.net/doc/gavl//" href="http://gmerlin.sourceforge.net/doc/gavl//structgavl__audio__format__s.html">gavl_audio_format_t</a> *ret)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get audio format. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>priv</em>&nbsp;</td><td>The handle returned by the create() method </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>stream</em>&nbsp;</td><td>Stream index (starting with 0) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ret</em>&nbsp;</td><td>Returns format</td></tr>
  </table>
</dl>
Call this after calling <a class="el" href="structbg__encoder__plugin__s.html#1cf8e37fa973f92cd6281e33dbfec12c">start()</a> if it's defined. 
</div>
</div><p>
<a class="anchor" name="93f122c5f81f8680b2f5301b5481763a"></a><!-- doxytag: member="bg_encoder_plugin_s::get_video_format" ref="93f122c5f81f8680b2f5301b5481763a" args=")(void *priv, int stream, gavl_video_format_t *ret)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* <a class="el" href="structbg__encoder__plugin__s.html#93f122c5f81f8680b2f5301b5481763a">bg_encoder_plugin_s::get_video_format</a>)(void *priv, int stream, <a class="elRef" doxygen="gavl.tags:http://gmerlin.sourceforge.net/doc/gavl//" href="http://gmerlin.sourceforge.net/doc/gavl//structgavl__video__format__s.html">gavl_video_format_t</a> *ret)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get video format. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>priv</em>&nbsp;</td><td>The handle returned by the create() method </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>stream</em>&nbsp;</td><td>Stream index (starting with 0) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ret</em>&nbsp;</td><td>Returns format</td></tr>
  </table>
</dl>
Call this after calling <a class="el" href="structbg__encoder__plugin__s.html#1cf8e37fa973f92cd6281e33dbfec12c">start()</a> if it's defined. 
</div>
</div><p>
<a class="anchor" name="c329d6ddd7a2102e7c5fff8d0c940146"></a><!-- doxytag: member="bg_encoder_plugin_s::get_subtitle_overlay_format" ref="c329d6ddd7a2102e7c5fff8d0c940146" args=")(void *priv, int stream, gavl_video_format_t *ret)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* <a class="el" href="structbg__encoder__plugin__s.html#c329d6ddd7a2102e7c5fff8d0c940146">bg_encoder_plugin_s::get_subtitle_overlay_format</a>)(void *priv, int stream, <a class="elRef" doxygen="gavl.tags:http://gmerlin.sourceforge.net/doc/gavl//" href="http://gmerlin.sourceforge.net/doc/gavl//structgavl__video__format__s.html">gavl_video_format_t</a> *ret)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get video format of an overlay subtitle stream. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>priv</em>&nbsp;</td><td>The handle returned by the create() method </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>stream</em>&nbsp;</td><td>Stream index (starting with 0) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ret</em>&nbsp;</td><td>Returns format</td></tr>
  </table>
</dl>
Call this after calling <a class="el" href="structbg__encoder__plugin__s.html#1cf8e37fa973f92cd6281e33dbfec12c">start()</a> if it's defined. 
</div>
</div><p>
<a class="anchor" name="2cfcc1506330c13123ec029faac1767e"></a><!-- doxytag: member="bg_encoder_plugin_s::write_audio_frame" ref="2cfcc1506330c13123ec029faac1767e" args=")(void *data, gavl_audio_frame_t *frame, int stream)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* <a class="el" href="structbg__encoder__plugin__s.html#2cfcc1506330c13123ec029faac1767e">bg_encoder_plugin_s::write_audio_frame</a>)(void *data, <a class="elRef" doxygen="gavl.tags:http://gmerlin.sourceforge.net/doc/gavl//" href="http://gmerlin.sourceforge.net/doc/gavl//structgavl__audio__frame__s.html">gavl_audio_frame_t</a> *frame, int stream)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Write audio samples. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>priv</em>&nbsp;</td><td>The handle returned by the create() method </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>frame</em>&nbsp;</td><td>Frame with samples </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>stream</em>&nbsp;</td><td>Stream index (starting with 0) </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 is the data was successfully written, 0 else</dd></dl>
The actual number of samples must be stored in the valid_samples member of the frame. 
</div>
</div><p>
<a class="anchor" name="bf7856cf0e08795ab9bca2556679a773"></a><!-- doxytag: member="bg_encoder_plugin_s::write_video_frame" ref="bf7856cf0e08795ab9bca2556679a773" args=")(void *data, gavl_video_frame_t *frame, int stream)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* <a class="el" href="structbg__encoder__plugin__s.html#bf7856cf0e08795ab9bca2556679a773">bg_encoder_plugin_s::write_video_frame</a>)(void *data, <a class="elRef" doxygen="gavl.tags:http://gmerlin.sourceforge.net/doc/gavl//" href="http://gmerlin.sourceforge.net/doc/gavl//structgavl__video__frame__s.html">gavl_video_frame_t</a> *frame, int stream)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Write video frame. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>priv</em>&nbsp;</td><td>The handle returned by the create() method </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>frame</em>&nbsp;</td><td>Frame </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>stream</em>&nbsp;</td><td>Stream index (starting with 0) </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 is the data was successfully written, 0 else </dd></dl>

</div>
</div><p>
<a class="anchor" name="5f163a5dd016e8b2f91efdf47e37ddc0"></a><!-- doxytag: member="bg_encoder_plugin_s::write_subtitle_text" ref="5f163a5dd016e8b2f91efdf47e37ddc0" args=")(void *data, const char *text, int64_t start, int64_t duration, int stream)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* <a class="el" href="structbg__encoder__plugin__s.html#5f163a5dd016e8b2f91efdf47e37ddc0">bg_encoder_plugin_s::write_subtitle_text</a>)(void *data, const char *text, int64_t <a class="el" href="structbg__encoder__plugin__s.html#1cf8e37fa973f92cd6281e33dbfec12c">start</a>, int64_t duration, int stream)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Write a text subtitle. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>priv</em>&nbsp;</td><td>The handle returned by the create() method </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>frame</em>&nbsp;</td><td>The text </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>start</em>&nbsp;</td><td>Start of the subtitle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>duration</em>&nbsp;</td><td>Duration of the subtitle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>stream</em>&nbsp;</td><td>Stream index (starting with 0) </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 is the data was successfully written, 0 else </dd></dl>

</div>
</div><p>
<a class="anchor" name="2698e409b17f85cff9e760dadb0d14a2"></a><!-- doxytag: member="bg_encoder_plugin_s::write_subtitle_overlay" ref="2698e409b17f85cff9e760dadb0d14a2" args=")(void *data, gavl_overlay_t *ovl, int stream)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* <a class="el" href="structbg__encoder__plugin__s.html#2698e409b17f85cff9e760dadb0d14a2">bg_encoder_plugin_s::write_subtitle_overlay</a>)(void *data, <a class="elRef" doxygen="gavl.tags:http://gmerlin.sourceforge.net/doc/gavl//" href="http://gmerlin.sourceforge.net/doc/gavl//structgavl__overlay__t.html">gavl_overlay_t</a> *ovl, int stream)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Write an overlay subtitle. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>priv</em>&nbsp;</td><td>The handle returned by the create() method </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ovl</em>&nbsp;</td><td>An overlay </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>stream</em>&nbsp;</td><td>Stream index (starting with 0) </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 is the data was successfully written, 0 else </dd></dl>

</div>
</div><p>
<a class="anchor" name="ea9cf7073aa9a5d6e242747f714a4e07"></a><!-- doxytag: member="bg_encoder_plugin_s::close" ref="ea9cf7073aa9a5d6e242747f714a4e07" args=")(void *data, int do_delete)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* <a class="el" href="structbg__encoder__plugin__s.html#ea9cf7073aa9a5d6e242747f714a4e07">bg_encoder_plugin_s::close</a>)(void *data, int do_delete)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Close encoder. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>priv</em>&nbsp;</td><td>The handle returned by the create() method </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>do_delete</em>&nbsp;</td><td>Set this to 1 to delete all created files </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 is the file was sucessfully closed, 0 else</dd></dl>
After calling this function, the plugin should be destroyed. 
</div>
</div><p>
<hr>The documentation for this struct was generated from the following file:<ul>
<li>/home/mandrake/rpm/BUILD/gmerlin-0.4.1/include/gmerlin/<a class="el" href="plugin_8h_source.html">plugin.h</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sat Aug 22 01:28:05 2009 for gmerlin by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
</body>
</html>