<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>PVAuthorEngineInterface class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.2.18 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="annotated.html">Data Structures</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Data Fields</a> &nbsp; <a class="qindex" href="globals.html">Globals</a> &nbsp; </center>
<hr><h1>PVAuthorEngineInterface Class Reference</h1><code>#include &lt;<a class="el" href="pvauthorengineinterface_8h-source.html">pvauthorengineinterface.h</a>&gt;</code>
<p>
<table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
<tr><td nowrap align=right valign=top>virtual&nbsp;</td><td valign=bottom><a class="el" href="classPVAuthorEngineInterface.html#a0">~PVAuthorEngineInterface</a> ()</td></tr>
<tr><td nowrap align=right valign=top>virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a>&nbsp;</td><td valign=bottom><a class="el" href="classPVAuthorEngineInterface.html#a1">SetLogAppender</a> (const char *aTag, PVLoggerAppender &amp;aAppender, const OsclAny *aContextData=NULL)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a>&nbsp;</td><td valign=bottom><a class="el" href="classPVAuthorEngineInterface.html#a2">RemoveLogAppender</a> (const char *aTag, PVLoggerAppender &amp;aAppender, const OsclAny *aContextData=NULL)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a>&nbsp;</td><td valign=bottom><a class="el" href="classPVAuthorEngineInterface.html#a3">SetLogLevel</a> (const char *aTag, int32 aLevel, bool aSetSubtree=false, const OsclAny *aContextData=NULL)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a>&nbsp;</td><td valign=bottom><a class="el" href="classPVAuthorEngineInterface.html#a4">GetLogLevel</a> (const char *aTag, <a class="el" href="pv__engine__types_8h.html#a4">PVLogLevelInfo</a> &amp;aLogInfo, const OsclAny *aContextData=NULL)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a>&nbsp;</td><td valign=bottom><a class="el" href="classPVAuthorEngineInterface.html#a5">Open</a> (const OsclAny *aContextData=NULL)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a>&nbsp;</td><td valign=bottom><a class="el" href="classPVAuthorEngineInterface.html#a6">Close</a> (const OsclAny *aContextData=NULL)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a>&nbsp;</td><td valign=bottom><a class="el" href="classPVAuthorEngineInterface.html#a7">AddDataSource</a> (const PVMFNodeInterface &amp;aDataSource, const OsclAny *aContextData=NULL)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a>&nbsp;</td><td valign=bottom><a class="el" href="classPVAuthorEngineInterface.html#a8">RemoveDataSource</a> (const PVMFNodeInterface &amp;aDataSource, const OsclAny *aContextData=NULL)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a>&nbsp;</td><td valign=bottom><a class="el" href="classPVAuthorEngineInterface.html#a9">SelectComposer</a> (const PvmfMimeString &amp;aComposerType, PVInterface *&amp;aConfigInterface, const OsclAny *aContextData=NULL)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a>&nbsp;</td><td valign=bottom><a class="el" href="classPVAuthorEngineInterface.html#a10">SelectComposer</a> (const PVUuid &amp;aComposerUuid, PVInterface *&amp;aConfigInterface, const OsclAny *aContextData=NULL)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a>&nbsp;</td><td valign=bottom><a class="el" href="classPVAuthorEngineInterface.html#a11">AddMediaTrack</a> (const PVMFNodeInterface &amp;aDataSource, const PvmfMimeString &amp;aEncoderType, const OsclAny *aComposer, PVInterface *&amp;aConfigInterface, const OsclAny *aContextData=NULL)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a>&nbsp;</td><td valign=bottom><a class="el" href="classPVAuthorEngineInterface.html#a12">AddMediaTrack</a> (const PVMFNodeInterface &amp;aDataSource, const PVUuid &amp;aEncoderUuid, const OsclAny *aComposer, PVInterface *&amp;aConfigInterface, const OsclAny *aContextData=NULL)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a>&nbsp;</td><td valign=bottom><a class="el" href="classPVAuthorEngineInterface.html#a13">AddDataSink</a> (const PVMFNodeInterface &amp;aDataSink, const OsclAny *aComposer, const OsclAny *aContextData=NULL)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a>&nbsp;</td><td valign=bottom><a class="el" href="classPVAuthorEngineInterface.html#a14">RemoveDataSink</a> (const PVMFNodeInterface &amp;aDataSink, const OsclAny *aContextData=NULL)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a>&nbsp;</td><td valign=bottom><a class="el" href="classPVAuthorEngineInterface.html#a15">Init</a> (const OsclAny *aContextData=NULL)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a>&nbsp;</td><td valign=bottom><a class="el" href="classPVAuthorEngineInterface.html#a16">Reset</a> (const OsclAny *aContextData=NULL)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a>&nbsp;</td><td valign=bottom><a class="el" href="classPVAuthorEngineInterface.html#a17">Start</a> (const OsclAny *aContextData=NULL)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a>&nbsp;</td><td valign=bottom><a class="el" href="classPVAuthorEngineInterface.html#a18">Pause</a> (const OsclAny *aContextData=NULL)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a>&nbsp;</td><td valign=bottom><a class="el" href="classPVAuthorEngineInterface.html#a19">Resume</a> (const OsclAny *aContextData=NULL)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a>&nbsp;</td><td valign=bottom><a class="el" href="classPVAuthorEngineInterface.html#a20">Stop</a> (const OsclAny *aContextData=NULL)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual <a class="el" href="pvauthorengineinterface_8h.html#a8">PVAEState</a>&nbsp;</td><td valign=bottom><a class="el" href="classPVAuthorEngineInterface.html#a21">GetPVAuthorState</a> ()=0</td></tr>
<tr><td nowrap align=right valign=top>virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a>&nbsp;</td><td valign=bottom><a class="el" href="classPVAuthorEngineInterface.html#a22">QueryUUID</a> (const PvmfMimeString &amp;aMimeType, Oscl_Vector&lt; PVUuid, OsclMemAllocator &gt; &amp;aUuids, bool aExactUuidsOnly=false, const OsclAny *aContextData=NULL)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a>&nbsp;</td><td valign=bottom><a class="el" href="classPVAuthorEngineInterface.html#a23">QueryInterface</a> (const PVUuid &amp;aUuid, PVInterface *&amp;aInterfacePtr, const OsclAny *aContextData=NULL)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a>&nbsp;</td><td valign=bottom><a class="el" href="classPVAuthorEngineInterface.html#a24">GetSDKModuleInfo</a> (<a class="el" href="pv__engine__types_8h.html#a6">PVSDKModuleInfo</a> &amp;aSDKModuleInfo, const OsclAny *aContextData=NULL)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a>&nbsp;</td><td valign=bottom><a class="el" href="classPVAuthorEngineInterface.html#a25">CancelAllCommands</a> (const OsclAny *aContextData=NULL)=0</td></tr>
<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="classPVAuthorEngineInterface.html#d0">GetSDKInfo</a> (<a class="el" href="structPVSDKInfo.html">PVSDKInfo</a> &amp;aSDKInfo)</td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
PVAuthorEngineInterface 
<p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="a0" doxytag="PVAuthorEngineInterface::~PVAuthorEngineInterface"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual PVAuthorEngineInterface::~PVAuthorEngineInterface </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [inline, virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Destructor.     </td>
  </tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a name="a13" doxytag="PVAuthorEngineInterface::AddDataSink"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a> PVAuthorEngineInterface::AddDataSink </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const PVMFNodeInterface &amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aDataSink</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const OsclAny *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aComposer</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const OsclAny *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aContextData</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [pure virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Adds a media sink where output data from the specified composer will be written to. Currently this API does not cause any action as it is not relevant.
<p>
This command is valid only when pvAuthor Engine is in PVAE_STATE_OPENED state. The referenced composer must be previously selected.
<p>
This command does not change the pvAuthor Engine engine state.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aDataSink</em>&nbsp;</td><td>
Reference to the data sink to be used </td></tr>
<tr><td valign=top><em>aComposer</em>&nbsp;</td><td>
Opaque data identifying the composer to which the data sink will connect to. </td></tr>
<tr><td valign=top><em>aContextData</em>&nbsp;</td><td>
Optional opaque data to be passed back to user with the command response </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
A unique command id for asynchronous completion </dl>    </td>
  </tr>
</table>
<a name="a7" doxytag="PVAuthorEngineInterface::AddDataSource"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a> PVAuthorEngineInterface::AddDataSource </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const PVMFNodeInterface &amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aDataSource</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const OsclAny *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aContextData</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [pure virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Adds a media source to be used as input to an authoring session.
<p>
This command is valid only when pvAuthor Engine is in PVAE_STATE_OPENED state. This command does not change the pvAuthor Engine engine state.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aDataSource</em>&nbsp;</td><td>
Reference to the data source </td></tr>
<tr><td valign=top><em>aContextData</em>&nbsp;</td><td>
Optional opaque data to be passed back to user with the command response </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
Unique command ID to identify this command in command response </dl>    </td>
  </tr>
</table>
<a name="a12" doxytag="PVAuthorEngineInterface::AddMediaTrack"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a> PVAuthorEngineInterface::AddMediaTrack </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const PVMFNodeInterface &amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aDataSource</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const PVUuid &amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aEncoderUuid</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const OsclAny *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aComposer</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>PVInterface *&amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aConfigInterface</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const OsclAny *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aContextData</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [pure virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Add a media track to the specified composer.
<p>
The source data of this media track will come from the specified data source. pvAuthor engine will encoder of the specified Uuid to encode the source data. A media track will be added to the specified composer, and encoded data will be written to the composer during the authoring session.
<p>
A configuration object for the selected composer will be saved to the PVInterface pointer provided in aConfigInterface parameter. User should call queryInterface to query for the configuration interfaces supported by the encoder. Before calling <a class="el" href="classPVAuthorEngineInterface.html#a16">Reset()</a>, user must call removeRef on the PVInterface object to remove its reference to the object.
<p>
This command is valid only when pvAuthor Engine is in PVAE_STATE_OPENED state. The referenced data source and composer must be already added before this method is called. This command does not change the pvAuthor Engine engine state.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aDataSource</em>&nbsp;</td><td>
Data source node to provide input data </td></tr>
<tr><td valign=top><em>aEncoderUuid</em>&nbsp;</td><td>
Uuid of encoder to encode the source data </td></tr>
<tr><td valign=top><em>aComposer</em>&nbsp;</td><td>
Opaque data to identify the composer in which a media track will be added. </td></tr>
<tr><td valign=top><em>aConfigInterface</em>&nbsp;</td><td>
Pointer to configuration object for the selected encoder will be saved to this parameter upon completion of this call </td></tr>
<tr><td valign=top><em>aContextData</em>&nbsp;</td><td>
Optional opaque data to be passed back to user with the command response </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
A unique command id for asynchronous completion </dl>    </td>
  </tr>
</table>
<a name="a11" doxytag="PVAuthorEngineInterface::AddMediaTrack"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a> PVAuthorEngineInterface::AddMediaTrack </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const PVMFNodeInterface &amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aDataSource</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const PvmfMimeString &amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aEncoderType</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const OsclAny *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aComposer</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>PVInterface *&amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aConfigInterface</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const OsclAny *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aContextData</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [pure virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Add a media track to the specified composer.
<p>
The source data of this media track will come from the specified data source. pvAuthor engine will select the most suitable available encoder of the specified type. A media track will be added to the specified composer, and encoded data will be written to the composer during the authoring session.
<p>
A configuration object for the selected composer will be saved to the PVInterface pointer provided in aConfigInterface parameter. User should call queryInterface to query for the configuration interfaces supported by the encoder. Before calling <a class="el" href="classPVAuthorEngineInterface.html#a16">Reset()</a>, user must call removeRef on the PVInterface object to remove its reference to the object.
<p>
This command is valid only when pvAuthor Engine is in PVAE_STATE_OPENED state. The referenced data source and composer must be already added before this method is called. This command does not change the pvAuthor Engine engine state.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aDataSource</em>&nbsp;</td><td>
Data source node to provide input data </td></tr>
<tr><td valign=top><em>aEncoderType</em>&nbsp;</td><td>
MIME type of encoder to encode the source data </td></tr>
<tr><td valign=top><em>aComposer</em>&nbsp;</td><td>
Opaque data to identify the composer in which a media track will be added. </td></tr>
<tr><td valign=top><em>aConfigInterface</em>&nbsp;</td><td>
Pointer to configuration object for the selected encoder will be saved to this parameter upon completion of this call </td></tr>
<tr><td valign=top><em>aContextData</em>&nbsp;</td><td>
Optional opaque data to be passed back to user with the command response </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
A unique command id for asynchronous completion </dl>    </td>
  </tr>
</table>
<a name="a25" doxytag="PVAuthorEngineInterface::CancelAllCommands"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a> PVAuthorEngineInterface::CancelAllCommands </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const OsclAny *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>aContextData</em> = NULL          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [pure virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Cancel all pending requests. The current request being processed, if any, will also be aborted. PVAE_CMD_CANCEL_ALL_COMMANDS will be passed to the command observer on completion. Currently this API is NOT SUPPORTED.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aContextData</em>&nbsp;</td><td>
Optional opaque data that will be passed back to the user with the command response </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
A unique command id for asynchronous completion </dl>    </td>
  </tr>
</table>
<a name="a6" doxytag="PVAuthorEngineInterface::Close"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a> PVAuthorEngineInterface::Close </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const OsclAny *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>aContextData</em> = NULL          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [pure virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Closes an authoring session.
<p>
All resources added and allocated to the authoring session will be released.
<p>
This command is valid only when pvAuthor engine is in PVAE_STATE_OPENED state and Upon completion of this command, pvAuthor Engine will be in PVAE_STATE_IDLE state.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aContextData</em>&nbsp;</td><td>
Optional opaque data to be passed back to user with the command response </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
Unique command ID to identify this command in command response </dl>    </td>
  </tr>
</table>
<a name="a4" doxytag="PVAuthorEngineInterface::GetLogLevel"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a> PVAuthorEngineInterface::GetLogLevel </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aTag</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="pv__engine__types_8h.html#a4">PVLogLevelInfo</a> &amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aLogInfo</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const OsclAny *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aContextData</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [pure virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Allows the logging level to be queried for a particular logging tag. A larger log level will result in more messages being logged.
<p>
In the asynchronous response, this should return the log level along with an indication of where the level was inherited (i.e., the ancestor tag). Currently this API is NOT SUPPORTED.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aTag</em>&nbsp;</td><td>
Specifies the logger tree tag where the log level should be retrieved. </td></tr>
<tr><td valign=top><em>aLogInfo</em>&nbsp;</td><td>
An output parameter which will be filled in with the log level information. </td></tr>
<tr><td valign=top><em>aContextData</em>&nbsp;</td><td>
Optional opaque data that will be passed back to the user with the command response </td></tr>
</table>
</dl><dl compact><dt><b>Exceptions: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>memory_error</em>&nbsp;</td><td>
 leaves on memory allocation error.</td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
A unique command id for asynchronous completion </dl>    </td>
  </tr>
</table>
<a name="a21" doxytag="PVAuthorEngineInterface::GetPVAuthorState"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual <a class="el" href="pvauthorengineinterface_8h.html#a8">PVAEState</a> PVAuthorEngineInterface::GetPVAuthorState </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [pure virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
This function returns the current state of the pvAuthor Engine. Application may use this info for updating display or determine if the pvAuthor Engine is ready for the next command.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aState</em>&nbsp;</td><td>
Output parameter to hold state information </td></tr>
<tr><td valign=top><em>aContextData</em>&nbsp;</td><td>
Optional opaque data to be passed back to user with the command response </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
A unique command id for synchronous completion </dl>    </td>
  </tr>
</table>
<a name="d0" doxytag="PVAuthorEngineInterface::GetSDKInfo"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void PVAuthorEngineInterface::GetSDKInfo </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="structPVSDKInfo.html">PVSDKInfo</a> &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>aSDKInfo</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [static]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns SDK version information about author engine.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aSDKInfo</em>&nbsp;</td><td>
A reference to a <a class="el" href="structPVSDKInfo.html">PVSDKInfo</a> structure which contains product name, supported hardware platform, supported software platform, version, part number, and PV UUID. These fields will contain info .for the currently instantiated pvPlayer engine when this function returns success. </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a24" doxytag="PVAuthorEngineInterface::GetSDKModuleInfo"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a> PVAuthorEngineInterface::GetSDKModuleInfo </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="pv__engine__types_8h.html#a6">PVSDKModuleInfo</a> &amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aSDKModuleInfo</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const OsclAny *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aContextData</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [pure virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns information about all modules currently used by the SDK. Currently this API is NOT SUPPORTED.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aSDKModuleInfo</em>&nbsp;</td><td>
A reference to a PVSDKModuleInfo structure which contains the number of modules currently used by pvAuthor Engine and the PV UID and description string for each module. The PV UID and description string for modules will be returned in one string buffer allocated by the client. If the string buffer is not large enough to hold the all the module's information, the information will be written up to the length of the buffer and truncated. </td></tr>
<tr><td valign=top><em>aContextData</em>&nbsp;</td><td>
Optional opaque data that will be passed back to the user with the command response </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
A unique command id for asynchronous completion </dl>    </td>
  </tr>
</table>
<a name="a15" doxytag="PVAuthorEngineInterface::Init"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a> PVAuthorEngineInterface::Init </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const OsclAny *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>aContextData</em> = NULL          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [pure virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Initialize an authoring session.
<p>
Upon calling this method, no more data sources and sinks can be added to the session. Also, all configuration settings will be locked and cannot be modified until the session is reset by calling <a class="el" href="classPVAuthorEngineInterface.html#a16">Reset()</a>. Resources for the session will allocated and initialized to the configuration settings specified. This command is valid only when pvAuthor Engine is in PVAE_STATE_OPENED state.
<p>
Upon completion of this command, pvAuthor Engine will be in PVAE_STATE_INITIALIZED state, and the authoring session is ready to start.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aContextData</em>&nbsp;</td><td>
Optional opaque data to be passed back to user with the command response </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
A unique command id for asynchronous completion </dl>    </td>
  </tr>
</table>
<a name="a5" doxytag="PVAuthorEngineInterface::Open"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a> PVAuthorEngineInterface::Open </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const OsclAny *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>aContextData</em> = NULL          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [pure virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Opens an authoring session.
<p>
This command is valid only when pvAuthor engine is in PVAE_STATE_IDLE state. Upon completion of this method, pvAuthor engine will be in PVAE_STATE_OPENED state.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aContextData</em>&nbsp;</td><td>
Optional opaque data to be passed back to user with the command response </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
Unique command ID to identify this command in command response </dl>    </td>
  </tr>
</table>
<a name="a18" doxytag="PVAuthorEngineInterface::Pause"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a> PVAuthorEngineInterface::Pause </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const OsclAny *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>aContextData</em> = NULL          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [pure virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Pause the authoring session.
<p>
The authoring session will be paused and no encoded output data will be sent to the data sink. This function is valid only in the PVAE_STATE_RECORDING state.
<p>
Upon completion of this command, pvAuthor Engine will be in PVAE_STATE_PAUSED state.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aContextData</em>&nbsp;</td><td>
Optional opaque data to be passed back to user with the command response </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
A unique command id for asynchronous completion </dl>    </td>
  </tr>
</table>
<a name="a23" doxytag="PVAuthorEngineInterface::QueryInterface"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a> PVAuthorEngineInterface::QueryInterface </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const PVUuid &amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aUuid</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>PVInterface *&amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aInterfacePtr</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const OsclAny *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aContextData</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [pure virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
This API is to allow for extensibility of the pvAuthor engine interface. It allows a caller to ask for an instance of a particular interface object to be returned. The mechanism is analogous to the COM IUnknown method. The interfaces are identified with an interface ID that is a UUID as in DCE and a pointer to the interface object is returned if it is supported. Otherwise the returned pointer is NULL. TBD: Define the UIID, InterfacePtr structures<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aUuid</em>&nbsp;</td><td>
The UUID of the desired interface </td></tr>
<tr><td valign=top><em>aInterfacePtr</em>&nbsp;</td><td>
The output pointer to the desired interface </td></tr>
<tr><td valign=top><em>aContextData</em>&nbsp;</td><td>
Optional opaque data to be passed back to user with the command response </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
A unique command id for asynchronous completion </dl>    </td>
  </tr>
</table>
<a name="a22" doxytag="PVAuthorEngineInterface::QueryUUID"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a> PVAuthorEngineInterface::QueryUUID </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const PvmfMimeString &amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aMimeType</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>Oscl_Vector&lt; PVUuid, OsclMemAllocator &gt; &amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aUuids</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>bool&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aExactUuidsOnly</em> = false, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const OsclAny *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aContextData</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [pure virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Discover the UUIDs of interfaces associated with the specified MIME type and node
<p>
This API is to allow for extensibility of the pvAuthor Engine interface. User can query for all UUIDs associated with a particular MIME type. The UUIDs will be added to the aUuids vector provided by the user. Currently this API is NOT SUPPORTED.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aMimeType</em>&nbsp;</td><td>
The MIME type of the desired interfaces </td></tr>
<tr><td valign=top><em>aUuids</em>&nbsp;</td><td>
A vector to hold the discovered UUIDs </td></tr>
<tr><td valign=top><em>aExactUuidsOnly</em>&nbsp;</td><td>
Turns on/off the retrival of UUIDs with aMimeType as a base type </td></tr>
<tr><td valign=top><em>aContextData</em>&nbsp;</td><td>
Optional opaque data to be passed back to user with the command response </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
A unique command id for asynchronous completion </dl>    </td>
  </tr>
</table>
<a name="a14" doxytag="PVAuthorEngineInterface::RemoveDataSink"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a> PVAuthorEngineInterface::RemoveDataSink </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const PVMFNodeInterface &amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aDataSink</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const OsclAny *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aContextData</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [pure virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Removes a previously added data sink. Currently this API does not cause any action as it is not relevant.
<p>
This command is valid only when pvAuthor Engine is in PVAE_STATE_OPENED state. This command does not change the pvAuthor Engine engine state.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aDataSink</em>&nbsp;</td><td>
Reference to the data sink to be removed </td></tr>
<tr><td valign=top><em>aContextData</em>&nbsp;</td><td>
Optional opaque data to be passed back to user with the command response </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
A unique command id for asynchronous completion </dl>    </td>
  </tr>
</table>
<a name="a8" doxytag="PVAuthorEngineInterface::RemoveDataSource"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a> PVAuthorEngineInterface::RemoveDataSource </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const PVMFNodeInterface &amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aDataSource</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const OsclAny *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aContextData</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [pure virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Unbinds a previously added data source.
<p>
This command is valid only when pvAuthor Engine is in PVAE_STATE_OPENED state. This command does not change the pvAuthor Engine engine state.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aDataSource</em>&nbsp;</td><td>
Reference to the data source to be removed </td></tr>
<tr><td valign=top><em>aContextData</em>&nbsp;</td><td>
Optional opaque data to be passed back to user with the command response </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
A unique command id for asynchronous completion </dl>    </td>
  </tr>
</table>
<a name="a2" doxytag="PVAuthorEngineInterface::RemoveLogAppender"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a> PVAuthorEngineInterface::RemoveLogAppender </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aTag</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>PVLoggerAppender &amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aAppender</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const OsclAny *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aContextData</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [pure virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Allows a logging appender to be removed from the logger tree at the point specified by the input tag. If the input tag is NULL then the appender will be removed from locations in the tree. Currently this API is NOT SUPPORTED.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aTag</em>&nbsp;</td><td>
Specifies the logger tree tag where the appender should be removed. Can be NULL to remove at all locations. </td></tr>
<tr><td valign=top><em>aAppender</em>&nbsp;</td><td>
The log appender to remove. </td></tr>
<tr><td valign=top><em>aContextData</em>&nbsp;</td><td>
Optional opaque data that will be passed back to the user with the command response</td></tr>
</table>
</dl><dl compact><dt><b>Exceptions: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>memory_error</em>&nbsp;</td><td>
 leaves on memory allocation error.</td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
A unique command id for asynchronous completion </dl>    </td>
  </tr>
</table>
<a name="a16" doxytag="PVAuthorEngineInterface::Reset"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a> PVAuthorEngineInterface::Reset </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const OsclAny *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>aContextData</em> = NULL          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [pure virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Reset an initialized authoring session.
<p>
The authoring session will be stopped and all composers and encoders selected for the session will be removed. All data sources and sinks will be reset but will continue to be available for authoring the next output clip.
<p>
User must call removeRef() to remove its reference to any PVInterface objects received from <a class="el" href="classPVAuthorEngineInterface.html#a9">SelectComposer()</a> or <a class="el" href="classPVAuthorEngineInterface.html#a11">AddMediaTrack()</a> or <a class="el" href="classPVAuthorEngineInterface.html#a23">QueryInterface()</a> APIs before calling this method. This method would fail otherwise.
<p>
This method can be called from ANY state but PVAE_STATE_IDLE. Upon completion of this command, pvAuthor Engine will be in PVAE_STATE_OPENED state.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aContextData</em>&nbsp;</td><td>
Optional opaque data to be passed back to user with the command response </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
A unique command id for asynchronous completion </dl>    </td>
  </tr>
</table>
<a name="a19" doxytag="PVAuthorEngineInterface::Resume"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a> PVAuthorEngineInterface::Resume </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const OsclAny *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>aContextData</em> = NULL          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [pure virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Resume a paused authoring session.
<p>
The authoring session will be resumed and pvAuthor Engine will resume sending encoded output data to the data sinks. This function is valid only in the PVAE_STATE_PAUSED state.
<p>
Upon completion of this command, pvAuthor Engine will be in PVAE_STATE_RECORDING state.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aContextData</em>&nbsp;</td><td>
Optional opaque data to be passed back to user with the command response </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
A unique command id for asynchronous completion </dl>    </td>
  </tr>
</table>
<a name="a10" doxytag="PVAuthorEngineInterface::SelectComposer"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a> PVAuthorEngineInterface::SelectComposer </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const PVUuid &amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aComposerUuid</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>PVInterface *&amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aConfigInterface</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const OsclAny *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aContextData</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [pure virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Selects an output composer by specifying its Uuid.
<p>
pvAuthor engine the composer of the specified Uuid in the authoring session. This command is valid only when pvAuthor Engine is in PVAE_STATE_OPENED state. This command does not change the pvAuthor Engine state.
<p>
Upon completion of this command, opaque data to indentify the selected composer is provided in the callback. The user needs to use this opaque data to identify the composer when calling <a class="el" href="classPVAuthorEngineInterface.html#a11">AddMediaTrack()</a>, <a class="el" href="classPVAuthorEngineInterface.html#a13">AddDataSink()</a>. A configuration interface for the selected composer will be saved to the PVInterface pointer provided in aConfigInterface parameter. User should call queryInterface to query for the configuration interfaces supported by the composer. When configuration is complete or before calling <a class="el" href="classPVAuthorEngineInterface.html#a16">Reset()</a>, user must call removeRef on the PVInterface object to remove its reference to the object.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aComposerUuid</em>&nbsp;</td><td>
Uuid of output composer to be used </td></tr>
<tr><td valign=top><em>aConfigInterface</em>&nbsp;</td><td>
Pointer to configuration object for the selected composer will be saved to this parameter upon completion of this call </td></tr>
<tr><td valign=top><em>aContextData</em>&nbsp;</td><td>
Optional opaque data to be passed back to user with the command response </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
A unique command id for asynchronous completion </dl>    </td>
  </tr>
</table>
<a name="a9" doxytag="PVAuthorEngineInterface::SelectComposer"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a> PVAuthorEngineInterface::SelectComposer </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const PvmfMimeString &amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aComposerType</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>PVInterface *&amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aConfigInterface</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const OsclAny *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aContextData</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [pure virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Selects an output composer by specifying its MIME type.
<p>
pvAuthor engine will use the most suitable output composer of the specified MIME type available in the authoring session. This command is valid only when pvAuthor Engine is in PVAE_STATE_OPENED state. This command does not change the pvAuthor Engine state.
<p>
Upon completion of this command, opaque data to indentify the selected composer is provided in the callback. The user needs to use this opaque data to identify the composer when calling <a class="el" href="classPVAuthorEngineInterface.html#a11">AddMediaTrack()</a>, <a class="el" href="classPVAuthorEngineInterface.html#a13">AddDataSink()</a>. A configuration interface for the selected composer will be saved to the PVInterface pointer provided in aConfigInterface parameter. User should call queryInterface to query for the configuration interfaces supported by the composer. When configuration is complete or before calling <a class="el" href="classPVAuthorEngineInterface.html#a16">Reset()</a>, user must call removeRef on the PVInterface object to remove its reference to the object.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aComposerType</em>&nbsp;</td><td>
MIME type of output composer to be used </td></tr>
<tr><td valign=top><em>aConfigInterface</em>&nbsp;</td><td>
Pointer to configuration object for the selected composer will be saved to this parameter upon completion of this call </td></tr>
<tr><td valign=top><em>aContextData</em>&nbsp;</td><td>
Optional opaque data to be passed back to user with the command response </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
A unique command id for asynchronous completion </dl>    </td>
  </tr>
</table>
<a name="a1" doxytag="PVAuthorEngineInterface::SetLogAppender"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a> PVAuthorEngineInterface::SetLogAppender </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aTag</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>PVLoggerAppender &amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aAppender</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const OsclAny *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aContextData</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [pure virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Allows a logging appender to be attached at some point in the logger tag tree. The location in the tag tree is specified by the input tag string. A single appender can be attached multiple times in the tree, but it may result in duplicate copies of log messages if the appender is not attached in disjoint portions of the tree. A logging appender is responsible for actually writing the log message to its final location (e.g., memory, file, network, etc). Currently this API is NOT SUPPORTED.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aTag</em>&nbsp;</td><td>
Specifies the logger tree tag where the appender should be attached. </td></tr>
<tr><td valign=top><em>aAppender</em>&nbsp;</td><td>
The log appender to attach. </td></tr>
<tr><td valign=top><em>aContextData</em>&nbsp;</td><td>
Optional opaque data that will be passed back to the user with the command response</td></tr>
</table>
</dl><dl compact><dt><b>Exceptions: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>memory_error</em>&nbsp;</td><td>
 leaves on memory allocation error.</td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
A unique command id for asynchronous completion </dl>    </td>
  </tr>
</table>
<a name="a3" doxytag="PVAuthorEngineInterface::SetLogLevel"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a> PVAuthorEngineInterface::SetLogLevel </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aTag</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int32&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aLevel</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>bool&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aSetSubtree</em> = false, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const OsclAny *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>aContextData</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [pure virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Allows the logging level to be set for the logging node specified by the tag. A larger log level will result in more messages being logged. A message will only be logged if its level is LESS THAN or equal to the current log level. The set_subtree flag will allow an entire subtree, with the specified tag as the root, to be reset to the specified value. Currently this API is NOT SUPPORTED.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aTag</em>&nbsp;</td><td>
Specifies the logger tree tag where the log level should be set. </td></tr>
<tr><td valign=top><em>aLevel</em>&nbsp;</td><td>
Specifies the log level to set. </td></tr>
<tr><td valign=top><em>aSetSubtree</em>&nbsp;</td><td>
Specifies whether the entire subtree with aTag as the root should be reset to the log level. </td></tr>
<tr><td valign=top><em>aContextData</em>&nbsp;</td><td>
Optional opaque data that will be passed back to the user with the command response</td></tr>
</table>
</dl><dl compact><dt><b>Exceptions: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>memory_error</em>&nbsp;</td><td>
 leaves on memory allocation error.</td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
A unique command id for asynchronous completion </dl>    </td>
  </tr>
</table>
<a name="a17" doxytag="PVAuthorEngineInterface::Start"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a> PVAuthorEngineInterface::Start </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const OsclAny *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>aContextData</em> = NULL          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [pure virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Start the authoring session.
<p>
pvAuthor Engine will begin to receive source data, encode them to the specified format and quality, and send the output data to the specified data sinks. This function is valid only in the PVAE_STATE_INITIALIZED state.
<p>
Upon completion of this command, pvAuthor Engine will be in PVAE_STATE_RECORDING state.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aContextData</em>&nbsp;</td><td>
Optional opaque data to be passed back to user with the command response </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
A unique command id for asynchronous completion </dl>    </td>
  </tr>
</table>
<a name="a20" doxytag="PVAuthorEngineInterface::Stop"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual <a class="el" href="pv__engine__types_8h.html#a0">PVCommandId</a> PVAuthorEngineInterface::Stop </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const OsclAny *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>aContextData</em> = NULL          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [pure virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Stops an authoring session.
<p>
The authoring session will be stopped and pvAuthor Engine will stop receiving source data from the data sources, and no further encoded data will be sent to the data sinks. This function is valid only in the PVAE_STATE_RECORDING and PVAE_STATE_PAUSED states.
<p>
Upon completion of this command, pvAuthor Engine will be in PVAE_STATE_INITIALIZED state.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>aContextData</em>&nbsp;</td><td>
Optional opaque data to be passed back to user with the command response </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
A unique command id for asynchronous completion </dl>    </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="pvauthorengineinterface_8h-source.html">pvauthorengineinterface.h</a></ul>
<hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>PV Author Engine</small>
<address style="align: left;"><small>Posting Version: OPENCORE_20090310 </small>
</small></address>
</body>
</html>
