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 
00216         virtual PVCommandId QueryInterface(const PVUuid& aUuid, PVInterface*& aInterfacePtr, const OsclAny* aContextData = NULL) = 0;
00217 
00234         virtual PVCommandId CancelCommand(PVCommandId aCancelCmdId, const OsclAny* aContextData = NULL) = 0;
00235 
00247         virtual PVCommandId CancelAllCommands(const OsclAny* aContextData = NULL) = 0;
00248 
00263         virtual PVCommandId GetPVPlayerState(PVPlayerState& aState, const OsclAny* aContextData = NULL) = 0;
00264 
00275         virtual PVMFStatus GetPVPlayerStateSync(PVPlayerState& aState) = 0;
00276 
00294         virtual PVCommandId AddDataSource(PVPlayerDataSource& aDataSource, const OsclAny* aContextData = NULL) = 0;
00295 
00312         virtual PVCommandId UpdateDataSource(PVPlayerDataSource& aDataSource, const OsclAny* aContextData = NULL) = 0;
00313 
00331         virtual PVCommandId Init(const OsclAny* aContextData = NULL) = 0;
00332 
00360         virtual PVCommandId GetMetadataKeys(PVPMetadataList& aKeyList, int32 aStartingIndex = 0, int32 aMaxEntries = -1,
00361                                             char* aQueryKey = NULL, const OsclAny* aContextData = NULL,
00362                                             uint32 aClipIndex = 0) = 0;
00363 
00395         virtual PVCommandId GetMetadataValues(PVPMetadataList& aKeyList, int32 aStartingValueIndex, int32 aMaxValueEntries, int32& aNumAvailableValueEntries,
00396                                               Oscl_Vector<PvmiKvp, OsclMemAllocator>& aValueList, const OsclAny* aContextData = NULL,
00397                                               bool aMetadataValuesCopiedInCallBack = true, uint32 aClipIndex = 0) = 0;
00398 
00417         virtual PVCommandId ReleaseMetadataValues(Oscl_Vector<PvmiKvp, OsclMemAllocator>& aValueList, const OsclAny* aContextData = NULL,
00418                 uint32 aClipIndex = 0) = 0;
00419 
00437         virtual PVCommandId AddDataSink(PVPlayerDataSink& aDataSink, const OsclAny* aContextData = NULL) = 0;
00438 
00478         virtual PVCommandId SetPlaybackRange(PVPPlaybackPosition aBeginPos, PVPPlaybackPosition aEndPos, bool aQueueRange, const OsclAny* aContextData = NULL,
00479                                              bool aSkipToRequestedPosition = true, bool aSeekToSyncPoint = true) = 0;
00480 
00501         virtual PVCommandId GetPlaybackRange(PVPPlaybackPosition &aBeginPos, PVPPlaybackPosition &aEndPos, bool aQueued, const OsclAny* aContextData = NULL) = 0;
00502 
00518         virtual PVCommandId GetCurrentPosition(PVPPlaybackPosition &aPos, const OsclAny* aContextData = NULL) = 0;
00519 
00552         virtual PVCommandId SetPlaybackRate(int32 aRate, PVMFTimebase* aTimebase = NULL, const OsclAny* aContextData = NULL) = 0;
00553 
00577         virtual PVCommandId GetPlaybackRate(int32& aRate, PVMFTimebase*& aTimebase, const OsclAny* aContextData = NULL) = 0;
00578 
00598         virtual PVCommandId GetPlaybackMinMaxRate(int32& aMinRate, int32& aMaxRate, const OsclAny* aContextData = NULL) = 0;
00599 
00611         virtual PVMFStatus GetCurrentPositionSync(PVPPlaybackPosition &aPos) = 0;
00612 
00629         virtual PVCommandId Prepare(const OsclAny* aContextData = NULL) = 0;
00630 
00645         virtual PVCommandId Start(const OsclAny* aContextData = NULL) = 0;
00646 
00660         virtual PVCommandId Pause(const OsclAny* aContextData = NULL) = 0;
00661 
00676         virtual PVCommandId Resume(const OsclAny* aContextData = NULL) = 0;
00677 
00693         virtual PVCommandId Stop(const OsclAny* aContextData = NULL) = 0;
00694 
00712         virtual PVCommandId RemoveDataSink(PVPlayerDataSink& aDataSink, const OsclAny* aContextData = NULL) = 0;
00713 
00729         virtual PVCommandId Reset(const OsclAny* aContextData = NULL) = 0;
00730 
00748         virtual PVCommandId RemoveDataSource(PVPlayerDataSource& aDataSource, const OsclAny* aContextData = NULL) = 0;
00749 
00759         OSCL_IMPORT_REF static void GetSDKInfo(PVSDKInfo& aSDKInfo);
00760 
00761 };
00762 
00763 
00764 
00765 
00766 #endif // PV_PLAYER_INTERFACE_H_INCLUDED

PV Player Engine
Posting Version: CORE_8.508.1.1