#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) |
|
Destructor. |
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
Returns SDK version information about author engine.
|
|
Returns information about all modules currently used by the SDK. Currently this API is NOT SUPPORTED.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|