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:

- pvauthorengineinterface.h