#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) |
|
Object destructor function Releases all resources prior to destruction |
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
Returns SDK version information about pvPlayer.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|