Main Page   Data Structures   File List   Data Fields  

PVPlayerInterface Class Reference

#include <pv_player_interface.h>


Public Methods

virtual ~PVPlayerInterface ()
virtual PVCommandId GetSDKModuleInfo (PVSDKModuleInfo &aSDKModuleInfo, const OsclAny *aContextData=NULL)=0
virtual PVCommandId SetLogAppender (const char *aTag, OsclSharedPtr< PVLoggerAppender > &aAppender, const OsclAny *aContextData=NULL)=0
virtual PVCommandId RemoveLogAppender (const char *aTag, OsclSharedPtr< 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 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 CancelCommand (PVCommandId aCancelCmdId, const OsclAny *aContextData=NULL)=0
virtual PVCommandId CancelAllCommands (const OsclAny *aContextData=NULL)=0
virtual PVCommandId GetPVPlayerState (PVPlayerState &aState, const OsclAny *aContextData=NULL)=0
virtual PVMFStatus GetPVPlayerStateSync (PVPlayerState &aState)=0
virtual PVCommandId AddDataSource (PVPlayerDataSource &aDataSource, const OsclAny *aContextData=NULL)=0
virtual PVCommandId Init (const OsclAny *aContextData=NULL)=0
virtual PVCommandId GetMetadataKeys (PVPMetadataList &aKeyList, int32 aStartingIndex=0, int32 aMaxEntries=-1, char *aQueryKey=NULL, const OsclAny *aContextData=NULL)=0
virtual PVCommandId GetMetadataValues (PVPMetadataList &aKeyList, int32 aStartingValueIndex, int32 aMaxValueEntries, int32 &aNumAvailableValueEntries, Oscl_Vector< PvmiKvp, OsclMemAllocator > &aValueList, const OsclAny *aContextData=NULL, bool aMetadataValuesCopiedInCallBack=true)=0
virtual PVCommandId ReleaseMetadataValues (Oscl_Vector< PvmiKvp, OsclMemAllocator > &aValueList, const OsclAny *aContextData=NULL)=0
virtual PVCommandId AddDataSink (PVPlayerDataSink &aDataSink, const OsclAny *aContextData=NULL)=0
virtual PVCommandId SetPlaybackRange (PVPPlaybackPosition aBeginPos, PVPPlaybackPosition aEndPos, bool aQueueRange, const OsclAny *aContextData=NULL)=0
virtual PVCommandId GetPlaybackRange (PVPPlaybackPosition &aBeginPos, PVPPlaybackPosition &aEndPos, bool aQueued, const OsclAny *aContextData=NULL)=0
virtual PVCommandId GetCurrentPosition (PVPPlaybackPosition &aPos, const OsclAny *aContextData=NULL)=0
virtual PVCommandId SetPlaybackRate (int32 aRate, PVMFTimebase *aTimebase=NULL, const OsclAny *aContextData=NULL)=0
virtual PVCommandId GetPlaybackRate (int32 &aRate, PVMFTimebase *&aTimebase, const OsclAny *aContextData=NULL)=0
virtual PVCommandId GetPlaybackMinMaxRate (int32 &aMinRate, int32 &aMaxRate, const OsclAny *aContextData=NULL)=0
virtual PVMFStatus GetCurrentPositionSync (PVPPlaybackPosition &aPos)=0
virtual PVCommandId Prepare (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 PVCommandId RemoveDataSink (PVPlayerDataSink &aDataSink, const OsclAny *aContextData=NULL)=0
virtual PVCommandId Reset (const OsclAny *aContextData=NULL)=0
virtual PVCommandId RemoveDataSource (PVPlayerDataSource &aDataSource, const OsclAny *aContextData=NULL)=0

Static Public Methods

OSCL_IMPORT_REF void GetSDKInfo (PVSDKInfo &aSDKInfo)


Detailed Description

PVPlayerInterface is the interface to the pvPlayer SDK, which allows control of a multimedia playback engine. The PVPlayerFactory factory class is to be used to create and delete instances of this object


Constructor & Destructor Documentation

virtual PVPlayerInterface::~PVPlayerInterface   [inline, virtual]
 

Object destructor function Releases all resources prior to destruction


Member Function Documentation

virtual PVCommandId PVPlayerInterface::AddDataSink PVPlayerDataSink &    aDataSink,
const OsclAny *    aContextData = NULL
[pure virtual]
 

This function allows a player data sink to be specified for playback. This function must be called when pvPlayer is in PVP_STATE_INITIALIZED state. The specified data sink must be a valid PVPlayerDataSink to be accepted for use in playback. This command request is asynchronous. PVCommandStatusObserver's CommandCompleted() callback handler will be called when this command request completes.

Parameters:
aDataSink  The player data sink to be used for playback.
aContextData  Optional opaque data that will be passed back to the user with the command response @leave This method can leave with one of the following error codes OsclErrNotSupported if the format of the sink is incompatible with what the SDK can handle OsclErrInvalidState if invoked in the incorrect state OsclErrNoMemory if the SDK failed to allocate memory during this operation
Returns:
A unique command id for asynchronous completion

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

This function allows a player data source to be specified for playback. This function must be called when pvPlayer is in PVP_STATE_IDLE state and before calling Init. The specified data source must be a valid PVPlayerDataSource to be accepted for use in playback. This command request is asynchronous. PVCommandStatusObserver's CommandCompleted() callback handler will be called when this command request completes.

Parameters:
aDataSource  Reference to the player data source to be used for playback
aContextData  Optional opaque data that will be passed back to the user with the command response @leave This method can leave with one of the following error codes OsclErrNotSupported if the format of the source is incompatible with what the SDK can handle OsclErrInvalidState if invoked in the incorrect state OsclErrNoMemory if the SDK failed to allocate memory during this operation
Returns:
A unique command id for asynchronous completion

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

This API is to allow the user to cancel all pending requests in pvPlayer. The current request being processed, if any, will also be aborted. The user of PV-SDK should get the state of PVPlayer Engine after the command completes and before issuing any other command. This command request is asynchronous. PVCommandStatusObserver's CommandCompleted() callback handler will be called when this command request completes.

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 PVPlayerInterface::CancelCommand PVCommandId    aCancelCmdId,
const OsclAny *    aContextData = NULL
[pure virtual]
 

This API is to allow user of the SDK to cancel any specific command which is pending on pvPlayer. If the request is to cancel a command which still has to be processed pvPlayer will just remove the command from its queue of commands to be processed. If the request is to cancel a command that is ongoing then player will attempt to interrupt the ongoing command. The state of player after a cancel can vary. So the user of pvPlayerSDK must always query for state before issuing any subsequent commands. This command request is asynchronous. PVCommandStatusObserver's CommandCompleted() callback handler will be called when this command request completes.

Parameters:
aCancelCmdId  Command Id to be cancelled.
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 PVPlayerInterface::GetCurrentPosition PVPPlaybackPosition &    aPos,
const OsclAny *    aContextData = NULL
[pure virtual]
 

This function allows querying of the current playback position. The playback position units will be in the one specified by the passed-in reference to PVPPlaybackPosition. If no units are specified, the units will default to milliseconds. This command request is asynchronous. PVCommandStatusObserver's CommandCompleted() callback handler will be called when this command request completes.

Parameters:
aPos  Reference to place the current playback position
aContextData  Optional opaque data that will be passed back to the user with the command response @leave This method can leave with one of the following error codes OsclErrInvalidState if invoked in the incorrect state
Returns:
A unique command id for asynchronous completion

virtual PVMFStatus PVPlayerInterface::GetCurrentPositionSync PVPPlaybackPosition &    aPos [pure virtual]
 

This function allows querying of the current playback position as a synchronous command. The playback position units will be in the one specified by the passed-in reference to PVPPlaybackPosition. If no units are specified, the units will default to milliseconds.

Parameters:
aPos  Reference to place the current playback position @leave This method can leave with one of the following error codes OsclErrInvalidState if invoked in the incorrect state
Returns:
Status indicating whether the command succeeded or not.

virtual PVCommandId PVPlayerInterface::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). This command request is asynchronous. PVCommandStatusObserver's CommandCompleted() callback handler will be called when this command request completes.

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:
This  method can leave with one of the following error codes OsclErrNoMemory if the SDK failed to allocate memory during this operation
Returns:
A unique command ID for asynchronous completion

virtual PVCommandId PVPlayerInterface::GetMetadataKeys PVPMetadataList &    aKeyList,
int32    aStartingIndex = 0,
int32    aMaxEntries = -1,
char *    aQueryKey = NULL,
const OsclAny *    aContextData = NULL
[pure virtual]
 

This function makes a request to return the list of all or segment of available metadata keys in the current pvPlayer state. The metadata key list is dynamic and can change during the course of pvPlayer usage. The list can be used to retrieve the metadata values with GetMetadataValues function. This command request is asynchronous. PVCommandStatusObserver's CommandCompleted() callback handler will be called when this command request completes.

Parameters:
aKeyList  Reference to a vector to place the metadata key list.
aStartingIndex  Input parameter to specify the starting index for aKeyList. This parameter along with aMaxEntries allows us to retrieve the metadata key list in segments.
aMaxEntries  Input parameter to specify the maximum number of entries to be added to aKeyList. If there is no limit, set to -1.
aQueryKey  Input parameter to narrow down the list of requested keys. For example, "track-info/video" indicates all keys related to "track-info/video". for eg: "track-info/video/width" "track-info/video/height". A NULL value indicates that all keys are requested.
aContextData  Optional opaque data that will be passed back to the user with the command response @leave This method can leave with one of the following error codes OsclErrInvalidState if invoked in the incorrect state OsclErrNoMemory if the SDK failed to allocate memory during this operation
Returns:
A unique command id for asynchronous completion

virtual PVCommandId PVPlayerInterface::GetMetadataValues PVPMetadataList &    aKeyList,
int32    aStartingValueIndex,
int32    aMaxValueEntries,
int32 &    aNumAvailableValueEntries,
Oscl_Vector< PvmiKvp, OsclMemAllocator > &    aValueList,
const OsclAny *    aContextData = NULL,
bool    aMetadataValuesCopiedInCallBack = true
[pure virtual]
 

The function makes a request to return the metadata value(s) specified by the passed in metadata key list. If the requeted metadata value is unavailable or the metadata key is invalid, the returned list will not contain a KVP entry for the key. Note that value indexed in the returned aValueList does not necessary match the same index into the specified aKeyList since this command can return none or more than one KVP for a specified key. This command request is asynchronous. PVCommandStatusObserver's CommandCompleted() callback handler will be called when this command request completes.

Parameters:
aKeyList  Reference to a list of metadata keys for which metadata values are requested.
aStartingValueIndex  The starting index refers to the an index into the whole value list specified by the keys in aKeyList. This command would populate the aValueList starting from the specified index.
aMaxValueEntries  Input parameter to specify the maximum number of entries to be added to aValueList. If there is no limit, set to -1.
aNumAvailableValueEntries  Output parameter which will be filled with number of available values for the specified key list.
aValueList  Reference to a vector of KVP to place the specified metadata values
aContextData  Optional opaque data that will be passed back to the user with the command response
aMetadataValuesCopiedInCallBack  Boolean to let engine know if metadata values are copied by User of SDK in command complete callback. By default the SDK assumes this to be the case. If this argument is set to false by the caller, then SDK assumes that user will call ReleaseMetaDataValues at a later point. @leave This method can leave with one of the following error codes OsclErrInvalidState if invoked in the incorrect state OsclErrNoMemory if the SDK failed to allocate memory during this operation
Returns:
A unique command id for asynchronous completion

virtual PVCommandId PVPlayerInterface::GetPlaybackMinMaxRate int32 &    aMinRate,
int32 &    aMaxRate,
const OsclAny *    aContextData = NULL
[pure virtual]
 

This function retrieves the minimum and maximum playback rate expressed as a millipercent of "real-time" playback rate. This function can be called anytime between pvPlayer instantiation and destruction. This command request is asynchronous. PVCommandStatusObserver's CommandCompleted() callback handler will be called when this command request completes.

Parameters:
aMinRate  A reference to an integer which will be filled in with the minimum playback rate allowed expressed as millipercent of "real-time" playback rate.
aMaxRate  A reference to an integer which will be filled in with the maximum playback rate allowed expressed as millipercent of "real-time" playback rate.
aContextData  Optional opaque data that will be passed back to the user with the command response @leave This method can leave with one of the following error codes
Returns:
A unique command id for asynchronous completion

virtual PVCommandId PVPlayerInterface::GetPlaybackRange PVPPlaybackPosition &    aBeginPos,
PVPPlaybackPosition &    aEndPos,
bool    aQueued,
const OsclAny *    aContextData = NULL
[pure virtual]
 

This function retrieves the playback range information for the current or queued playback range. The user can choose which playback range by the aQueued flag. This function can be called when pvPlayer is in PVP_STATE_INITIALIZED, PVP_STATE_PREPARED, PVP_STATE_STARTED, or PVP_STATE_PAUSED state. The units of position is specified in the passed-in PVPlaybackPosition parameters which will be filled in when the command completes. This command request is asynchronous. PVCommandStatusObserver's CommandCompleted() callback handler will be called when this command request completes.

Parameters:
aBeginPos  Reference to place the begin position for the playback range
aEndPos  Reference to place the end position for the playback range
aQueued  Input flag to choose inof of which playback range to return. Set(true)for queued range. Reset(false) for current range.
aContextData  Optional opaque data that will be passed back to the user with the command response @leave This method can leave with one of the following error codes OsclErrInvalidState if invoked in the incorrect state
Returns:
A unique command id for asynchronous completion

virtual PVCommandId PVPlayerInterface::GetPlaybackRate int32 &    aRate,
PVMFTimebase *&    aTimebase,
const OsclAny *    aContextData = NULL
[pure virtual]
 

This function retrieves the current playback rate setting. If the playback rate is set as a millipercent of "real-time" playback rate, then aRate will be filled in with the milliperecent value when this command completes successfully. If the playback rate is set by an outside timebase, aRate will be set to 0 and aTimebase pointer will point to the PVMFTimebase being used when the command completes successfully. This function can be called when pvPlayer is in PVP_STATE_PREPARED, PVP_STATE_STARTED, or PVP_STATE_PAUSED state. This command request is asynchronous. PVCommandStatusObserver's CommandCompleted() callback handler will be called when this command request completes.

Parameters:
aRate  A reference to an integer which will be filled in with the current playback rate expressed as millipercent of "real-time" playback rate. If an outside timebase is being used, aRate would be set to 0.
aTimebase  Reference to an PVMFTimebase pointer which will be valid if an outside timebase is being used for the playback clock.
aContextData  Optional opaque data that will be passed back to the user with the command response @leave This method can leave with one of the following error codes
Returns:
A unique command id for asynchronous completion

virtual PVCommandId PVPlayerInterface::GetPVPlayerState PVPlayerState &    aState,
const OsclAny *    aContextData = NULL
[pure virtual]
 

This function returns the current state of pvPlayer. Application may use this info for updating display or determine if the pvPlayer is ready for the next request. This command request is asynchronous. PVCommandStatusObserver's CommandCompleted() callback handler will be called when this command request completes.

Parameters:
aState  A reference to a PVPlayerState. Upon successful completion of this command, it will contain the current state of pvPlayer.
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 PVMFStatus PVPlayerInterface::GetPVPlayerStateSync PVPlayerState &    aState [pure virtual]
 

This function returns the current state of pvPlayer as a synchronous command. Application may use this info for updating display or determine if the pvPlayer is ready for the next request.

Parameters:
aState  A reference to a PVPlayerState. Upon successful completion of this command, it will contain the current state of pvPlayer.
Returns:
Status indicating whether the command succeeded or not.

OSCL_IMPORT_REF void PVPlayerInterface::GetSDKInfo PVSDKInfo &    aSDKInfo [static]
 

Returns SDK version information about pvPlayer.

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 PVPlayerInterface::GetSDKModuleInfo PVSDKModuleInfo &    aSDKModuleInfo,
const OsclAny *    aContextData = NULL
[pure virtual]
 

Returns information about all modules currently used by pvPlayer SDK. This command request is asynchronous. PVCommandStatusObserver's CommandCompleted() callback handler will be called when this command request completes.

Parameters:
aSDKModuleInfo  A reference to a PVSDKModuleInfo structure which contains the number of modules currently used by pvPlayer SDK and the PV UUID and description string for each module. The PV UUID 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 @leave This method can leave with one of the following error codes OsclErrNoMemory if the SDK failed to allocate memory during this operation
Returns:
A unique command ID for asynchronous completion

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

This function switches pvPlayer from PVP_STATE_IDLE state to the PVP_STATE_INITIALIZED state. During the transition, pvPlayer is in the PVP_STATE_INITIALIZING transitional state and the data source is being initialized to obtain metadata and track information of the source media. If initialization fails, pvPlayer will revert to PVP_STATE_IDLE state and the data source will be closed. The Command should only be called in PVP_STATE_IDLE. This command request is asynchronous. PVCommandStatusObserver's CommandCompleted() callback handler will be called when this command request completes.

Parameters:
aContextData  Optional opaque data that will be passed back to the user with the command response @leave This method can leave with one of the following error codes OsclErrInvalidState if invoked in the incorrect state OsclErrNoMemory if the SDK failed to allocate memory during this operation
Returns:
A unique command id for asynchronous completion

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

This function pauses the currently ongoing playback. pvPlayer must be in PVP_STATE_STARTED state to call this function. When pause successfully completes, pvPlayer will be in PVP_STATE_PAUSED state. This command request is asynchronous. PVCommandStatusObserver's CommandCompleted() callback handler will be called when this command request completes.

Parameters:
aContextData  Optional opaque data that will be passed back to the user with the command response @leave This method can leave with one of the following error codes OsclErrInvalidState if invoked in the incorrect state OsclErrNoMemory if the SDK failed to allocate memory during this operation
Returns:
A unique command id for asynchronous completion

virtual PVCommandId PVPlayerInterface::Prepare const OsclAny *    aContextData = NULL [pure virtual]
 

This functions prepares pvPlayer for playback. pvPlayer connects the data source with the data sinks and starts the data source to queue the media data for playback(e.g. for 3GPP streaming, fills the jitter buffer). pvPlayer also checks to make sure each component needed for playback is ready and capable. When successful, pvPlayer will be in PVP_STATE_PREPARED state, The command should be called only in PVP_STATE_INITIALISED. This command request is asynchronous. PVCommandStatusObserver's CommandCompleted() callback handler will be called when this command request completes.

Parameters:
aContextData  Optional opaque data that will be passed back to the user with the command response @leave This method can leave with one of the following error codes OsclErrInvalidState if invoked in the incorrect state OsclErrNoMemory if the SDK failed to allocate memory during this operation
Returns:
A unique command id for asynchronous completion

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

This API is to allow for extensibility of the pvPlayer 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. This command request is asynchronous. PVCommandStatusObserver's CommandCompleted() callback handler will be called when this command request completes.

Parameters:
aUuid  The UUID of the desired interface
aInterfacePtr  A reference to the output pointer to the desired interface
aContextData  Optional opaque data that will be passed back to the user with the command response
Exceptions:
This  method can leave with one of the following error codes OsclErrNotSupported if the specified interface UUID is not supported
Returns:
A unique command ID for asynchronous completion

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

This API is to allow for extensibility of the pvPlayer interface. It allows a caller to ask for all UUIDs associated with a particular MIME type. If interfaces of the requested MIME type are found within the system, they are added to the UUIDs array. Also added to the UUIDs array will be all interfaces which have the requested MIME type as a base MIME type. This functionality can be turned off. This command request is asynchronous. PVCommandStatusObserver's CommandCompleted() callback handler will be called when this command request completes.

Parameters:
aMimeType  The MIME type of the desired interfaces
aUuids  An array to hold the discovered UUIDs
aExactUuidsOnly  Turns on/off the retrival of UUIDs with aMimeType as a base type
aContextData  Optional opaque data that will be passed back to the user with the command response
Exceptions:
This  method can leave with one of the following error codes OsclErrNoMemory if the SDK failed to allocate memory during this operation
Returns:
A unique command ID for asynchronous completion

virtual PVCommandId PVPlayerInterface::ReleaseMetadataValues Oscl_Vector< PvmiKvp, OsclMemAllocator > &    aValueList,
const OsclAny *    aContextData = NULL
[pure virtual]
 

The function makes a request to release the metadata value(s) specified by the passed in metadata value list. This command request is asynchronous. PVCommandStatusObserver's CommandCompleted() callback handler will be called when this command request completes.If a GetMetaDataValues were called in PVP_STATE_INITIALIZED state, then corresponding ReleaseMetaDataValues must be called before Reset. If a GetMetaDataValues were called in PVP_STATE_PREPARED, PVP_STATE_STARTED, PVP_STATE_PAUSED states, then corresponding ReleaseMetaDataValues must be called before Stop.

Parameters:
aValueList  Reference to a vector of KVP to place the specified metadata values
aContextData  Optional opaque data that will be passed back to the user with the command response @leave This method can leave with one of the following error codes OsclErrInvalidState if invoked in the incorrect state OsclErrNoMemory if the SDK failed to allocate memory during this operation
Returns:
A unique command id for asynchronous completion

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

This function may be used to close and unbind a data sink that has been previously added. This function must be called when pvPlayer is in PVP_STATE_INITIALIZED state. If the data sink is in use for playback, Stop must be called first to stop the playback and free the data sink. This command request is asynchronous. PVCommandStatusObserver's CommandCompleted() callback handler will be called when this command request completes.

Parameters:
aDataSink  Reference to the data sink to be removed
aContextData  Optional opaque data that will be passed back to the user with the command response @leave This method can leave with one of the following error codes OsclErrBadHandle if the passed in sink parameter is invalid OsclErrInvalidState if invoked in the incorrect state OsclErrNoMemory if the SDK failed to allocate memory during this operation
Returns:
A unique command id for asynchronous completion

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

This function may be used to close and unbind a data source that has been previously added. This function must be called when pvPlayer is in PVP_STATE_IDLE state. If the data source has already been initialized, Reset must be called first. This command request is asynchronous. PVCommandStatusObserver's CommandCompleted() callback handler will be called when this command request completes.

Parameters:
aDataSource  Reference to the data source to be removed.
aContextData  Optional opaque data that will be passed back to the user with the command response @leave This method can leave with one of the following error codes OsclErrBadHandle if the passed in sink parameter is invalid OsclErrInvalidState if invoked in the incorrect state OsclErrNoMemory if the SDK failed to allocate memory during this operation
Returns:
A unique command id for asynchronous completion

virtual PVCommandId PVPlayerInterface::RemoveLogAppender const char *    aTag,
OsclSharedPtr< 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. This command request is asynchronous. PVCommandStatusObserver's CommandCompleted() callback handler will be called when this command request completes.

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:
This  method can leave with one of the following error codes OsclErrNoMemory if the SDK failed to allocate memory during this operation
Returns:
A unique command ID for asynchronous completion

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

This function cleans up resources used for playback to transition pvPlayer to PVP_STATE_IDLE state. While processing this command, pvPlayer is in the PVP_STATE_RESETTING state. If any data sinks are still referenced by pvPlayer when this function is called, the data sinks will be closed and removed from pvPlayer during the Reset. If already in PVP_STATE_IDLE state, then nothing will occur. This command request is asynchronous. PVCommandStatusObserver's CommandCompleted() callback handler will be called when this command request completes.

Parameters:
aContextData  Optional opaque data that will be passed back to the user with the command response @leave This method can leave with one of the following error codes OsclErrNoMemory if the SDK failed to allocate memory during this operation
Returns:
A unique command id for asynchronous completion

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

This function resumes the currently paused playback. pvPlayer must be in PVP_STATE_PAUSED state to call this function. When resume successfully completes, pvPlayer will be in PVP_STATE_STARTED state. This command request is asynchronous. PVCommandStatusObserver's CommandCompleted() callback handler will be called when this command request completes.

Parameters:
aContextData  Optional opaque data that will be passed back to the user with the command response @leave This method can leave with one of the following error codes OsclErrInvalidState if invoked in the incorrect state OsclErrNoMemory if the SDK failed to allocate memory during this operation
Returns:
A unique command id for asynchronous completion

virtual PVCommandId PVPlayerInterface::SetLogAppender const char *    aTag,
OsclSharedPtr< 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). This API can be called anytime after creation of pvPlayer. This command request is asynchronous. PVCommandStatusObserver's CommandCompleted() callback handler will be called when this command request completes.

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:
This  method can leave with one of the following error codes OsclErrNoMemory if the SDK failed to allocate memory during this operation
Returns:
A unique command ID for asynchronous completion

virtual PVCommandId PVPlayerInterface::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 aSetSubtree flag will allow an entire subtree, with the specified tag as the root, to be reset to the specified value. This command request is asynchronous. PVCommandStatusObserver's CommandCompleted() callback handler will be called when this command request completes.

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:
This  method can leave with one of the following error codes OsclErrNoMemory if the SDK failed to allocate memory during this operation
Returns:
A unique command ID for asynchronous completion

virtual PVCommandId PVPlayerInterface::SetPlaybackRange PVPPlaybackPosition    aBeginPos,
PVPPlaybackPosition    aEndPos,
bool    aQueueRange,
const OsclAny *    aContextData = NULL
[pure virtual]
 

This function sets the begin and end positions for the new playback range or changes the end position of the current playback range. This function must be called when pvPlayer is in PVP_STATE_INITIALIZED, PVP_STATE_PREPARED, PVP_STATE_STARTED, or PVP_STATE_PAUSED state. The specified positions must be between beginning of clip and clip duration. The units of position is specified in the passed-in parameter PVPPlaybackPosition. If either of the positions is indeterminate, use the indeterminate flag in PVPPlaybackPosition structure. The queued playback range can be done using aQueueRange flag which is Not Supported as of now by PV-SDK. This function will overwrite any previous playback range info. The only exception is the changing of end position for the current playback range during playback. Command if called in player state as PVP_STATE_INITIALISED or PVP_STATE_PAUSED, will complete in one Engine AO run without actually changing the position. The change in position will come into affect when Prepare or Resume respectively is called on Engine by the app. If reposition request is not honored by the source node during Prepare or Resume, engine will continue to complete Prepare or Resume but will send an informational event "PVMFInfoChangePlaybackPositionNotSupported" to the app informing that the SetPlaybackRange request could not be honored. This command request is asynchronous. PVCommandStatusObserver's CommandCompleted() callback handler will be called when this command request completes.

Parameters:
aBeginPos  Beginning position for the new playback range
aEndPos  Ending position for the new playback range.
aQueueRange  Input flag to tell pvPlayer to queue the new playback range (Set/true) or use the new playback range right away (Reset/false)
aContextData  Optional opaque data that will be passed back to the user with the command response @leave This method can leave with one of the following error codes OsclErrInvalidState if invoked in the incorrect state
Returns:
A unique command id for asynchronous completion

virtual PVCommandId PVPlayerInterface::SetPlaybackRate int32    aRate,
PVMFTimebase *    aTimebase = NULL,
const OsclAny *    aContextData = NULL
[pure virtual]
 

This function allows the setting of the playback rate. The playback rate can be set as millipercent of "real-time" playback rate. For example, 100000 means 1X "real-time", 400000 means 4X, 25000 means 0.25X, and -100000 means 1X backward. The playback rate can also be modified by specifying the timebase to use for the playback clock. This is accomplished by setting the aRate parameter to 0 and passing in a pointer to an PVMFTimebase. This function can be called when pvPlayer is in PVP_STATE_PREPARED, PVP_STATE_STARTED, or PVP_STATE_PAUSED state. Changing to or from an outside timebase is only allowed in PVP_STATE_PREPARED. Command if called in player state PVP_STATE_PAUSED with a direction change, will complete in one Engine AO run without actually changing the direction. The change in direction will come into affect when Resume is called on Engine by the app. If the request is not honored by the source node during Resume, engine will continue to complete Resume but will send an informational event "PVMFInfoChangePlaybackPositionNotSupported" to the app informing that the SetPlaybackRate request could not be honored. This command request is asynchronous. PVCommandStatusObserver's CommandCompleted() callback handler will be called when this command request completes.

Parameters:
aRate  The playback rate specified as millipercent of "real-time". A millipercent is 1/1000 of a percent. So 2X = 200% of realtime is 200,000 millipercent. The motivation is to povide precision with an integer parameter. Negative rates specify backward playback. The valid range of absolute value of playback rates will be limited to the minimum and maximum returned by GetPlaybackMinMaxRate().
aTimebase  Reference to an PVMFTimebase which will be used to drive the playback clock. aRate must be set to 0, 1X, or -1X to use the timebase.
aContextData  Optional opaque data that will be passed back to the user with the command response @leave This method can leave with one of the following error codes OsclErrArgument if rate or timebase is invalid
Returns:
A unique command id for asynchronous completion

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

This function kicks off the actual playback. Media data are sent out from the data source to the data sink(s). pvPlayer will transition to PVP_STATE_STARTED state after playback starts successfully. The command should be called only in PVP_STATE_PREPARED. This command request is asynchronous. PVCommandStatusObserver's CommandCompleted() callback handler will be called when this command request completes.

Parameters:
aContextData  Optional opaque data that will be passed back to the user with the command response @leave This method can leave with one of the following error codes OsclErrInvalidState if invoked in the incorrect state OsclErrNoMemory if the SDK failed to allocate memory during this operation
Returns:
A unique command id for asynchronous completion

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

This function stops the current playback and transitions pvPlayer to the PVP_STATE_INITIALIZED state. During the transition, data transmission from data source to all data sinks are terminated. Also all connections between data source and data sinks are torn down. This command request is asynchronous. PVCommandStatusObserver's CommandCompleted() callback handler will be called when this command request completes.

Parameters:
aContextData  Optional opaque data that will be passed back to the user with the command response @leave This method can leave with one of the following error codes OsclErrInvalidState if invoked in the incorrect state OsclErrNoMemory if the SDK failed to allocate memory during this operation
Returns:
A unique command id for asynchronous completion


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