Main Page   Class Hierarchy   Data Structures   File List   Data Fields   Globals  

PVAuthorEngineInterface Class Reference

#include <pvauthorengineinterface.h>


Public Methods

virtual ~PVAuthorEngineInterface ()
virtual PVCommandId SetLogAppender (const char *aTag, PVLoggerAppender &aAppender, const OsclAny *aContextData=NULL)=0
virtual PVCommandId RemoveLogAppender (const char *aTag, PVLoggerAppender &aAppender, const OsclAny *aContextData=NULL)=0
virtual PVCommandId SetLogLevel (const char *aTag, int32 aLevel, bool aSetSubtree=false, const OsclAny *aContextData=NULL)=0
virtual PVCommandId GetLogLevel (const char *aTag, PVLogLevelInfo &aLogInfo, const OsclAny *aContextData=NULL)=0
virtual PVCommandId Open (const OsclAny *aContextData=NULL)=0
virtual PVCommandId Close (const OsclAny *aContextData=NULL)=0
virtual PVCommandId AddDataSource (const PVMFNodeInterface &aDataSource, const OsclAny *aContextData=NULL)=0
virtual PVCommandId RemoveDataSource (const PVMFNodeInterface &aDataSource, const OsclAny *aContextData=NULL)=0
virtual PVCommandId SelectComposer (const PvmfMimeString &aComposerType, PVInterface *&aConfigInterface, const OsclAny *aContextData=NULL)=0
virtual PVCommandId SelectComposer (const PVUuid &aComposerUuid, PVInterface *&aConfigInterface, const OsclAny *aContextData=NULL)=0
virtual PVCommandId AddMediaTrack (const PVMFNodeInterface &aDataSource, const PvmfMimeString &aEncoderType, const OsclAny *aComposer, PVInterface *&aConfigInterface, const OsclAny *aContextData=NULL)=0
virtual PVCommandId AddMediaTrack (const PVMFNodeInterface &aDataSource, const PVUuid &aEncoderUuid, const OsclAny *aComposer, PVInterface *&aConfigInterface, const OsclAny *aContextData=NULL)=0
virtual PVCommandId AddDataSink (const PVMFNodeInterface &aDataSink, const OsclAny *aComposer, const OsclAny *aContextData=NULL)=0
virtual PVCommandId RemoveDataSink (const PVMFNodeInterface &aDataSink, const OsclAny *aContextData=NULL)=0
virtual PVCommandId Init (const OsclAny *aContextData=NULL)=0
virtual PVCommandId Reset (const OsclAny *aContextData=NULL)=0
virtual PVCommandId Start (const OsclAny *aContextData=NULL)=0
virtual PVCommandId Pause (const OsclAny *aContextData=NULL)=0
virtual PVCommandId Resume (const OsclAny *aContextData=NULL)=0
virtual PVCommandId Stop (const OsclAny *aContextData=NULL)=0
virtual PVAEState GetPVAuthorState ()=0
virtual PVCommandId QueryUUID (const PvmfMimeString &aMimeType, Oscl_Vector< PVUuid, OsclMemAllocator > &aUuids, bool aExactUuidsOnly=false, const OsclAny *aContextData=NULL)=0
virtual PVCommandId QueryInterface (const PVUuid &aUuid, PVInterface *&aInterfacePtr, const OsclAny *aContextData=NULL)=0
virtual PVCommandId GetSDKModuleInfo (PVSDKModuleInfo &aSDKModuleInfo, const OsclAny *aContextData=NULL)=0
virtual PVCommandId CancelAllCommands (const OsclAny *aContextData=NULL)=0

Static Public Methods

OSCL_IMPORT_REF void GetSDKInfo (PVSDKInfo &aSDKInfo)


Detailed Description

PVAuthorEngineInterface


Constructor & Destructor Documentation

virtual PVAuthorEngineInterface::~PVAuthorEngineInterface   [inline, virtual]
 

Destructor.


Member Function Documentation

virtual PVCommandId PVAuthorEngineInterface::AddDataSink const PVMFNodeInterface &    aDataSink,
const OsclAny *    aComposer,
const OsclAny *    aContextData = NULL
[pure virtual]
 

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.

This command is valid only when pvAuthor Engine is in PVAE_STATE_OPENED state. The referenced composer must be previously selected.

This command does not change the pvAuthor Engine engine state.

Parameters:
aDataSink  Reference to the data sink to be used
aComposer  Opaque data identifying the composer to which the data sink will connect to.
aContextData  Optional opaque data to be passed back to user with the command response
Returns:
A unique command id for asynchronous completion

virtual PVCommandId PVAuthorEngineInterface::AddDataSource const PVMFNodeInterface &    aDataSource,
const OsclAny *    aContextData = NULL
[pure virtual]
 

Adds a media source to be used as input to an authoring session.

This command is valid only when pvAuthor Engine is in PVAE_STATE_OPENED state. This command does not change the pvAuthor Engine engine state.

Parameters:
aDataSource  Reference to the data source
aContextData  Optional opaque data to be passed back to user with the command response
Returns:
Unique command ID to identify this command in command response

virtual PVCommandId PVAuthorEngineInterface::AddMediaTrack const PVMFNodeInterface &    aDataSource,
const PVUuid &    aEncoderUuid,
const OsclAny *    aComposer,
PVInterface *&    aConfigInterface,
const OsclAny *    aContextData = NULL
[pure virtual]
 

Add a media track to the specified composer.

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.

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 Reset(), user must call removeRef on the PVInterface object to remove its reference to the object.

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.

Parameters:
aDataSource  Data source node to provide input data
aEncoderUuid  Uuid of encoder to encode the source data
aComposer  Opaque data to identify the composer in which a media track will be added.
aConfigInterface  Pointer to configuration object for the selected encoder will be saved to this parameter upon completion of this call
aContextData  Optional opaque data to be passed back to user with the command response
Returns:
A unique command id for asynchronous completion

virtual PVCommandId PVAuthorEngineInterface::AddMediaTrack const PVMFNodeInterface &    aDataSource,
const PvmfMimeString &    aEncoderType,
const OsclAny *    aComposer,
PVInterface *&    aConfigInterface,
const OsclAny *    aContextData = NULL
[pure virtual]
 

Add a media track to the specified composer.

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.

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 Reset(), user must call removeRef on the PVInterface object to remove its reference to the object.

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.

Parameters:
aDataSource  Data source node to provide input data
aEncoderType  MIME type of encoder to encode the source data
aComposer  Opaque data to identify the composer in which a media track will be added.
aConfigInterface  Pointer to configuration object for the selected encoder will be saved to this parameter upon completion of this call
aContextData  Optional opaque data to be passed back to user with the command response
Returns:
A unique command id for asynchronous completion

virtual PVCommandId PVAuthorEngineInterface::CancelAllCommands const OsclAny *    aContextData = NULL [pure virtual]
 

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.

Parameters:
aContextData  Optional opaque data that will be passed back to the user with the command response
Returns:
A unique command id for asynchronous completion

virtual PVCommandId PVAuthorEngineInterface::Close const OsclAny *    aContextData = NULL [pure virtual]
 

Closes an authoring session.

All resources added and allocated to the authoring session will be released.

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.

Parameters:
aContextData  Optional opaque data to be passed back to user with the command response
Returns:
Unique command ID to identify this command in command response

virtual PVCommandId PVAuthorEngineInterface::GetLogLevel const char *    aTag,
PVLogLevelInfo   aLogInfo,
const OsclAny *    aContextData = NULL
[pure virtual]
 

Allows the logging level to be queried for a particular logging tag. A larger log level will result in more messages being logged.

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.

Parameters:
aTag  Specifies the logger tree tag where the log level should be retrieved.
aLogInfo  An output parameter which will be filled in with the log level information.
aContextData  Optional opaque data that will be passed back to the user with the command response
Exceptions:
memory_error  leaves on memory allocation error.
Returns:
A unique command id for asynchronous completion

virtual PVAEState PVAuthorEngineInterface::GetPVAuthorState   [pure virtual]
 

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.

Parameters:
aState  Output parameter to hold state information
aContextData  Optional opaque data to be passed back to user with the command response
Returns:
A unique command id for synchronous completion

OSCL_IMPORT_REF void PVAuthorEngineInterface::GetSDKInfo PVSDKInfo   aSDKInfo [static]
 

Returns SDK version information about author engine.

Parameters:
aSDKInfo  A reference to a PVSDKInfo 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.

virtual PVCommandId PVAuthorEngineInterface::GetSDKModuleInfo PVSDKModuleInfo   aSDKModuleInfo,
const OsclAny *    aContextData = NULL
[pure virtual]
 

Returns information about all modules currently used by the SDK. Currently this API is NOT SUPPORTED.

Parameters:
aSDKModuleInfo  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.
aContextData  Optional opaque data that will be passed back to the user with the command response
Returns:
A unique command id for asynchronous completion

virtual PVCommandId PVAuthorEngineInterface::Init const OsclAny *    aContextData = NULL [pure virtual]
 

Initialize an authoring session.

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 Reset(). 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.

Upon completion of this command, pvAuthor Engine will be in PVAE_STATE_INITIALIZED state, and the authoring session is ready to start.

Parameters:
aContextData  Optional opaque data to be passed back to user with the command response
Returns:
A unique command id for asynchronous completion

virtual PVCommandId PVAuthorEngineInterface::Open const OsclAny *    aContextData = NULL [pure virtual]
 

Opens an authoring session.

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.

Parameters:
aContextData  Optional opaque data to be passed back to user with the command response
Returns:
Unique command ID to identify this command in command response

virtual PVCommandId PVAuthorEngineInterface::Pause const OsclAny *    aContextData = NULL [pure virtual]
 

Pause the authoring session.

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.

Upon completion of this command, pvAuthor Engine will be in PVAE_STATE_PAUSED state.

Parameters:
aContextData  Optional opaque data to be passed back to user with the command response
Returns:
A unique command id for asynchronous completion

virtual PVCommandId PVAuthorEngineInterface::QueryInterface const PVUuid &    aUuid,
PVInterface *&    aInterfacePtr,
const OsclAny *    aContextData = NULL
[pure virtual]
 

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

Parameters:
aUuid  The UUID of the desired interface
aInterfacePtr  The output pointer to the desired interface
aContextData  Optional opaque data to be passed back to user with the command response
Returns:
A unique command id for asynchronous completion

virtual PVCommandId PVAuthorEngineInterface::QueryUUID const PvmfMimeString &    aMimeType,
Oscl_Vector< PVUuid, OsclMemAllocator > &    aUuids,
bool    aExactUuidsOnly = false,
const OsclAny *    aContextData = NULL
[pure virtual]
 

Discover the UUIDs of interfaces associated with the specified MIME type and node

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.

Parameters:
aMimeType  The MIME type of the desired interfaces
aUuids  A vector to hold the discovered UUIDs
aExactUuidsOnly  Turns on/off the retrival of UUIDs with aMimeType as a base type
aContextData  Optional opaque data to be passed back to user with the command response
Returns:
A unique command id for asynchronous completion

virtual PVCommandId PVAuthorEngineInterface::RemoveDataSink const PVMFNodeInterface &    aDataSink,
const OsclAny *    aContextData = NULL
[pure virtual]
 

Removes a previously added data sink. Currently this API does not cause any action as it is not relevant.

This command is valid only when pvAuthor Engine is in PVAE_STATE_OPENED state. This command does not change the pvAuthor Engine engine state.

Parameters:
aDataSink  Reference to the data sink to be removed
aContextData  Optional opaque data to be passed back to user with the command response
Returns:
A unique command id for asynchronous completion

virtual PVCommandId PVAuthorEngineInterface::RemoveDataSource const PVMFNodeInterface &    aDataSource,
const OsclAny *    aContextData = NULL
[pure virtual]
 

Unbinds a previously added data source.

This command is valid only when pvAuthor Engine is in PVAE_STATE_OPENED state. This command does not change the pvAuthor Engine engine state.

Parameters:
aDataSource  Reference to the data source to be removed
aContextData  Optional opaque data to be passed back to user with the command response
Returns:
A unique command id for asynchronous completion

virtual PVCommandId PVAuthorEngineInterface::RemoveLogAppender const char *    aTag,
PVLoggerAppender &    aAppender,
const OsclAny *    aContextData = NULL
[pure virtual]
 

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.

Parameters:
aTag  Specifies the logger tree tag where the appender should be removed. Can be NULL to remove at all locations.
aAppender  The log appender to remove.
aContextData  Optional opaque data that will be passed back to the user with the command response
Exceptions:
memory_error  leaves on memory allocation error.
Returns:
A unique command id for asynchronous completion

virtual PVCommandId PVAuthorEngineInterface::Reset const OsclAny *    aContextData = NULL [pure virtual]
 

Reset an initialized authoring session.

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.

User must call removeRef() to remove its reference to any PVInterface objects received from SelectComposer() or AddMediaTrack() or QueryInterface() APIs before calling this method. This method would fail otherwise.

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.

Parameters:
aContextData  Optional opaque data to be passed back to user with the command response
Returns:
A unique command id for asynchronous completion

virtual PVCommandId PVAuthorEngineInterface::Resume const OsclAny *    aContextData = NULL [pure virtual]
 

Resume a paused authoring session.

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.

Upon completion of this command, pvAuthor Engine will be in PVAE_STATE_RECORDING state.

Parameters:
aContextData  Optional opaque data to be passed back to user with the command response
Returns:
A unique command id for asynchronous completion

virtual PVCommandId PVAuthorEngineInterface::SelectComposer const PVUuid &    aComposerUuid,
PVInterface *&    aConfigInterface,
const OsclAny *    aContextData = NULL
[pure virtual]
 

Selects an output composer by specifying its Uuid.

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.

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 AddMediaTrack(), AddDataSink(). 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 Reset(), user must call removeRef on the PVInterface object to remove its reference to the object.

Parameters:
aComposerUuid  Uuid of output composer to be used
aConfigInterface  Pointer to configuration object for the selected composer will be saved to this parameter upon completion of this call
aContextData  Optional opaque data to be passed back to user with the command response
Returns:
A unique command id for asynchronous completion

virtual PVCommandId PVAuthorEngineInterface::SelectComposer const PvmfMimeString &    aComposerType,
PVInterface *&    aConfigInterface,
const OsclAny *    aContextData = NULL
[pure virtual]
 

Selects an output composer by specifying its MIME type.

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.

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 AddMediaTrack(), AddDataSink(). 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 Reset(), user must call removeRef on the PVInterface object to remove its reference to the object.

Parameters:
aComposerType  MIME type of output composer to be used
aConfigInterface  Pointer to configuration object for the selected composer will be saved to this parameter upon completion of this call
aContextData  Optional opaque data to be passed back to user with the command response
Returns:
A unique command id for asynchronous completion

virtual PVCommandId PVAuthorEngineInterface::SetLogAppender const char *    aTag,
PVLoggerAppender &    aAppender,
const OsclAny *    aContextData = NULL
[pure virtual]
 

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.

Parameters:
aTag  Specifies the logger tree tag where the appender should be attached.
aAppender  The log appender to attach.
aContextData  Optional opaque data that will be passed back to the user with the command response
Exceptions:
memory_error  leaves on memory allocation error.
Returns:
A unique command id for asynchronous completion

virtual PVCommandId PVAuthorEngineInterface::SetLogLevel const char *    aTag,
int32    aLevel,
bool    aSetSubtree = false,
const OsclAny *    aContextData = NULL
[pure virtual]
 

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.

Parameters:
aTag  Specifies the logger tree tag where the log level should be set.
aLevel  Specifies the log level to set.
aSetSubtree  Specifies whether the entire subtree with aTag as the root should be reset to the log level.
aContextData  Optional opaque data that will be passed back to the user with the command response
Exceptions:
memory_error  leaves on memory allocation error.
Returns:
A unique command id for asynchronous completion

virtual PVCommandId PVAuthorEngineInterface::Start const OsclAny *    aContextData = NULL [pure virtual]
 

Start the authoring session.

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.

Upon completion of this command, pvAuthor Engine will be in PVAE_STATE_RECORDING state.

Parameters:
aContextData  Optional opaque data to be passed back to user with the command response
Returns:
A unique command id for asynchronous completion

virtual PVCommandId PVAuthorEngineInterface::Stop const OsclAny *    aContextData = NULL [pure virtual]
 

Stops an authoring session.

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.

Upon completion of this command, pvAuthor Engine will be in PVAE_STATE_INITIALIZED state.

Parameters:
aContextData  Optional opaque data to be passed back to user with the command response
Returns:
A unique command id for asynchronous completion


The documentation for this class was generated from the following file:
PV Author Engine
Posting Version: OPENCORE_20090310