Main Page   Data Structures   File List   Data Fields  

pv_player_interface.h

Go to the documentation of this file.
00001 /*
00002 * ==============================================================================
00003 *  Name        : pv_player_interface.h
00004 *  Part of     :
00005 *  Interface   :
00006 *  Description : Interface class and supporting definitions for the pvPlayer engine
00007 *  Version     : (see RELEASE field in copyright header above)
00008 *
00009 * ==============================================================================
00010 */
00011 
00012 #ifndef PV_PLAYER_INTERFACE_H_INCLUDED
00013 #define PV_PLAYER_INTERFACE_H_INCLUDED
00014 
00015 
00016 // INCLUDES
00017 #ifndef OSCL_BASE_H_INCLUDED
00018 #include "oscl_base.h"
00019 #endif
00020 
00021 #ifndef OSCL_STRING_H_INCLUDED
00022 #include "oscl_string.h"
00023 #endif
00024 
00025 #ifndef OSCL_VECTOR_H_INCLUDED
00026 #include "oscl_vector.h"
00027 #endif
00028 
00029 #ifndef OSCL_MEM_H_INCLUDED
00030 #include "oscl_mem.h"
00031 #endif
00032 
00033 #ifndef PVLOGGER_H_INCLUDED
00034 #include "pvlogger.h"
00035 #endif
00036 
00037 #ifndef PVMF_RETURN_CODES_H_INCLUDED
00038 #include "pvmf_return_codes.h"
00039 #endif
00040 
00041 #ifndef PV_ENGINE_TYPES_H_INCLUDED
00042 #include "pv_engine_types.h"
00043 #endif
00044 
00045 #ifndef PV_PLAYER_TYPES_H_INCLUDED
00046 #include "pv_player_types.h"
00047 #endif
00048 
00049 #ifndef PV_PLAYER_EVENTS_H_INCLUDED
00050 #include "pv_player_events.h"
00051 #endif
00052 
00053 #ifndef PV_PLAYER_DATASOURCE_H_INCLUDED
00054 #include "pv_player_datasource.h"
00055 #endif
00056 
00057 #ifndef PV_PLAYER_DATASINK_H_INCLUDED
00058 #include "pv_player_datasink.h"
00059 #endif
00060 
00061 #ifndef PVMI_KVP_H_INCLUDED
00062 #include "pvmi_kvp.h"
00063 #endif
00064 
00065 #ifndef PVMF_MEDIA_CLOCK_H_INCLUDED
00066 #include "pvmf_media_clock.h"
00067 #endif
00068 
00069 
00070 // CLASS DECLARATION
00077 class PVPlayerInterface
00078 {
00079     public:
00080 
00085         virtual ~PVPlayerInterface() {};
00086 
00104         virtual PVCommandId GetSDKModuleInfo(PVSDKModuleInfo &aSDKModuleInfo, const OsclAny* aContextData = NULL) = 0;
00105 
00128         virtual PVCommandId SetLogAppender(const char* aTag, OsclSharedPtr<PVLoggerAppender>& aAppender, const OsclAny* aContextData = NULL) = 0;
00129 
00149         virtual PVCommandId RemoveLogAppender(const char* aTag, OsclSharedPtr<PVLoggerAppender>& aAppender, const OsclAny* aContextData = NULL) = 0;
00150 
00174         virtual PVCommandId SetLogLevel(const char* aTag, int32 aLevel, bool aSetSubtree = false, const OsclAny* aContextData = NULL) = 0;
00175 
00194         virtual PVCommandId GetLogLevel(const char* aTag, PVLogLevelInfo& aLogInfo, const OsclAny* aContextData = NULL) = 0;
00195 
00219         virtual PVCommandId QueryUUID(const PvmfMimeString& aMimeType, Oscl_Vector<PVUuid, OsclMemAllocator>& aUuids,
00220                                       bool aExactUuidsOnly = false, const OsclAny* aContextData = NULL) = 0;
00241         virtual PVCommandId QueryInterface(const PVUuid& aUuid, PVInterface*& aInterfacePtr, const OsclAny* aContextData = NULL) = 0;
00242 
00259         virtual PVCommandId CancelCommand(PVCommandId aCancelCmdId, const OsclAny* aContextData = NULL) = 0;
00260 
00272         virtual PVCommandId CancelAllCommands(const OsclAny* aContextData = NULL) = 0;
00273 
00288         virtual PVCommandId GetPVPlayerState(PVPlayerState& aState, const OsclAny* aContextData = NULL) = 0;
00289 
00300         virtual PVMFStatus GetPVPlayerStateSync(PVPlayerState& aState) = 0;
00301 
00319         virtual PVCommandId AddDataSource(PVPlayerDataSource& aDataSource, const OsclAny* aContextData = NULL) = 0;
00320 
00338         virtual PVCommandId Init(const OsclAny* aContextData = NULL) = 0;
00339 
00366         virtual PVCommandId GetMetadataKeys(PVPMetadataList& aKeyList, int32 aStartingIndex = 0, int32 aMaxEntries = -1,
00367                                             char* aQueryKey = NULL, const OsclAny* aContextData = NULL) = 0;
00368 
00399         virtual PVCommandId GetMetadataValues(PVPMetadataList& aKeyList, int32 aStartingValueIndex, int32 aMaxValueEntries, int32& aNumAvailableValueEntries,
00400                                               Oscl_Vector<PvmiKvp, OsclMemAllocator>& aValueList, const OsclAny* aContextData = NULL, bool aMetadataValuesCopiedInCallBack = true) = 0;
00401 
00419         virtual PVCommandId ReleaseMetadataValues(Oscl_Vector<PvmiKvp, OsclMemAllocator>& aValueList, const OsclAny* aContextData = NULL) = 0;
00420 
00438         virtual PVCommandId AddDataSink(PVPlayerDataSink& aDataSink, const OsclAny* aContextData = NULL) = 0;
00439 
00470         virtual PVCommandId SetPlaybackRange(PVPPlaybackPosition aBeginPos, PVPPlaybackPosition aEndPos, bool aQueueRange, const OsclAny* aContextData = NULL) = 0;
00471 
00492         virtual PVCommandId GetPlaybackRange(PVPPlaybackPosition &aBeginPos, PVPPlaybackPosition &aEndPos, bool aQueued, const OsclAny* aContextData = NULL) = 0;
00493 
00509         virtual PVCommandId GetCurrentPosition(PVPPlaybackPosition &aPos, const OsclAny* aContextData = NULL) = 0;
00510 
00543         virtual PVCommandId SetPlaybackRate(int32 aRate, PVMFTimebase* aTimebase = NULL, const OsclAny* aContextData = NULL) = 0;
00544 
00568         virtual PVCommandId GetPlaybackRate(int32& aRate, PVMFTimebase*& aTimebase, const OsclAny* aContextData = NULL) = 0;
00569 
00589         virtual PVCommandId GetPlaybackMinMaxRate(int32& aMinRate, int32& aMaxRate, const OsclAny* aContextData = NULL) = 0;
00590 
00602         virtual PVMFStatus GetCurrentPositionSync(PVPPlaybackPosition &aPos) = 0;
00603 
00620         virtual PVCommandId Prepare(const OsclAny* aContextData = NULL) = 0;
00621 
00636         virtual PVCommandId Start(const OsclAny* aContextData = NULL) = 0;
00637 
00651         virtual PVCommandId Pause(const OsclAny* aContextData = NULL) = 0;
00652 
00667         virtual PVCommandId Resume(const OsclAny* aContextData = NULL) = 0;
00668 
00684         virtual PVCommandId Stop(const OsclAny* aContextData = NULL) = 0;
00685 
00703         virtual PVCommandId RemoveDataSink(PVPlayerDataSink& aDataSink, const OsclAny* aContextData = NULL) = 0;
00704 
00720         virtual PVCommandId Reset(const OsclAny* aContextData = NULL) = 0;
00721 
00739         virtual PVCommandId RemoveDataSource(PVPlayerDataSource& aDataSource, const OsclAny* aContextData = NULL) = 0;
00740 
00750         OSCL_IMPORT_REF static void GetSDKInfo(PVSDKInfo& aSDKInfo);
00751 
00752 };
00753 
00754 
00755 
00756 
00757 #endif // PV_PLAYER_INTERFACE_H_INCLUDED

PV Player Engine
Posting Version: CORE_8.000.1.1_RC4