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