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