blob: a0514e172d97fc7a89920dd5564194d9eb8d7f27 [file] [log] [blame]
<!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>