videoplayback/videohelix/inc/mpxvideoplaybackcontroller.h
branchRCL_3
changeset 9 5294c000a26d
parent 8 ce5ada96ab30
child 11 8970fbd719ec
equal deleted inserted replaced
8:ce5ada96ab30 9:5294c000a26d
    13 *
    13 *
    14 * Description:   This class plays files with the Helix Engine
    14 * Description:   This class plays files with the Helix Engine
    15 *
    15 *
    16 */
    16 */
    17 
    17 
    18 // Version : %version: 19 %
    18 // Version : %version: ou1cpsw#21 %
    19 
    19 
    20 
    20 
    21 #ifndef _CMPXVIDEOPLAYBACKCONTROLLER_H_
    21 #ifndef _CMPXVIDEOPLAYBACKCONTROLLER_H_
    22 #define _CMPXVIDEOPLAYBACKCONTROLLER_H_
    22 #define _CMPXVIDEOPLAYBACKCONTROLLER_H_
    23 
    23 
    49 class CMPXPlaybackPlugin;
    49 class CMPXPlaybackPlugin;
    50 class CMPXVideoPlaybackState;
    50 class CMPXVideoPlaybackState;
    51 class CMediaRecognizer;
    51 class CMediaRecognizer;
    52 class CMPXVideoSeeker;
    52 class CMPXVideoSeeker;
    53 class CMpxVideoDrmHelper;
    53 class CMpxVideoDrmHelper;
    54 
    54 class CHWRMLight;
    55 //
    55 //
    56 //  CLASS DECLARATION
    56 //  CLASS DECLARATION
    57 //
    57 //
    58 
    58 
    59 /*
    59 /*
    92         //  MMPXCenRepObserver Implementation
    92         //  MMPXCenRepObserver Implementation
    93         //
    93         //
    94         void HandleSettingChange( const TUid& aRepositoryUid,
    94         void HandleSettingChange( const TUid& aRepositoryUid,
    95                                   TUint32 aSettingId );
    95                                   TUint32 aSettingId );
    96 
    96 
    97         void OpenFileL( const TDesC& aMediaFile, RFile& aFile, TInt aAccessPointId = -1 );
    97         void OpenFileL( const TDesC& aMediaFile, RFile& aFile, TInt aPosition, TInt aAccessPointId = KUseDefaultIap );  
    98 
    98 
    99         void HandleGeneralPlaybackCommandL( CMPXCommand& aCmd );
    99         void HandleGeneralPlaybackCommandL( CMPXCommand& aCmd );
   100 
   100 
   101         void HandleCustomPlaybackCommandL( CMPXCommand& aCmd );
   101         void HandleCustomPlaybackCommandL( CMPXCommand& aCmd );
   102 
   102 
   123         TBool IsActivePhoneCall();
   123         TBool IsActivePhoneCall();
   124         TBool IsVideoCall();
   124         TBool IsVideoCall();
   125         TBool IsVoiceCall();
   125         TBool IsVoiceCall();
   126 
   126 
   127         void HandleTvOutEventL( TBool aConnected );
   127         void HandleTvOutEventL( TBool aConnected );
   128         static TInt HandleBackLightTimout( TAny* aPtr );
   128 
   129         void DoHandleBackLightTimout();
       
   130         void StartBackLightTimer();
       
   131         void CancelBackLightTimer();
       
   132         void HandleError(TInt error);
   129         void HandleError(TInt error);
   133         void SetVolumeSteps( TInt aVolumeSteps );
   130         void SetVolumeSteps( TInt aVolumeSteps );
   134         void HandleVolumeL( TBool aIncrease );
   131         void HandleVolumeL( TBool aIncrease );
   135 
   132 
   136 #ifdef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
   133 #ifdef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
   137         void OpenFile64L( const TDesC& aMediaFile, RFile64& aFile, TInt aAccessPointId = -1 );
   134 
       
   135         void OpenFile64L( const TDesC& aMediaFile, RFile64& aFile, TInt aPosition, TInt aAccessPointId = KUseDefaultIap ); 
       
   136 
   138 #endif // SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
   137 #endif // SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
   139 
   138 
   140 
   139 
   141     private:
   140     private:
   142 
   141 
   143         void SetDisplayWindowL( CMPXCommand& aCmd );
   142         void SetDisplayWindowL( CMPXCommand& aCmd );
   144         void RestartDSA( CMPXCommand& aCmd );
   143         void RestartDSA( CMPXCommand& aCmd );
   145         inline void AbortDSA();
   144         inline void AbortDSA();
   146 
   145 
   147         void InitVolumeWatchers();
   146         void InitVolumeWatchersL();
   148 
   147 
   149         void ChangeState(TMPXVideoPlaybackState aChangeToState);
   148         void ChangeState(TMPXVideoPlaybackState aChangeToState);
   150 
   149 
   151         void SetVolumeMMFL();
   150         void SetVolumeMMFL();
   152         void SetVolumeCenRepL( TInt aVolume );
   151         void SetVolumeCenRepL( TInt aVolume );
   154 
   153 
   155         TMPXVideoMode GetModeToSet();
   154         TMPXVideoMode GetModeToSet();
   156         void DetermineMediaTypeL();
   155         void DetermineMediaTypeL();
   157 
   156 
   158         void ResetMemberVariables();
   157         void ResetMemberVariables();
       
   158         
       
   159         void StartLightsControl();
       
   160         void CancelLightsControl();
       
   161         
       
   162         void EnableDisplayBacklight();
       
   163         void DisableDisplayBacklight();
       
   164        
       
   165         static TInt HandleBackLightTimeout( TAny* aPtr );
       
   166         void DoHandleBackLightTimeout();
       
   167         void StartBackLightTimer();
       
   168         void CancelBackLightTimer();
       
   169         
       
   170         void InitUserActivityTimerL();
       
   171         void RestartUserActivityTimer();
       
   172         void CancelUserActivityTimer();
       
   173         static TInt HandleUserActivityTimeout( TAny* aPtr );
       
   174         void DoHandleUserActivityTimeout();
       
   175        
       
   176         TTimeIntervalMicroSeconds32 InitDisplayTimerL();
       
   177         void RestartDisplayTimer();
       
   178         void CancelDisplayTimer();
       
   179         static TInt HandleDisplayTimeout( TAny* aPtr );
       
   180         void DoHandleDisplayTimeout();
       
   181         
       
   182         CHWRMLight* GetLightsL();
       
   183         void ReleaseLights();
   159 
   184 
   160     protected:
   185     protected:
   161 
   186 
   162         /*
   187         /*
   163          *  C++ default constructor
   188          *  C++ default constructor
   215         CMPXVideoPlaybackMode*                  iPlaybackMode;
   240         CMPXVideoPlaybackMode*                  iPlaybackMode;
   216 
   241 
   217         // Video seeker
   242         // Video seeker
   218         CMPXVideoSeeker*                        iVideoSeeker;
   243         CMPXVideoSeeker*                        iVideoSeeker;
   219 
   244 
   220         CPeriodic*                              iBackLightTimer;
   245         // Timer for calling User::ResetInactivityTime() periodicallly while playing.
       
   246         // This keeps backligth on and screensaver off.
       
   247         CPeriodic*                              iBackLightTimer;        
       
   248                                                                         
       
   249         // Timer to turn display lights off when playing to TV-out
       
   250         CPeriodic*                              iDisplayTimer;         
       
   251         TTimeIntervalMicroSeconds32             iDisplayTimerTimeout;
       
   252         // Timer monitoring user activity when TV-out is connected
       
   253         CPeriodic*                              iUserActivityTimer;     
       
   254 
       
   255         
   221         TBool                                   iSeekable;
   256         TBool                                   iSeekable;
   222 
   257 
   223         CMpxVideoDrmHelper*                     iDrmHelper;
   258         CMpxVideoDrmHelper*                     iDrmHelper;
       
   259         CHWRMLight*                             iLight;
       
   260         TInt                                    iLightStatus;
       
   261         TInt                                    iSavedPosition;
   224 
   262 
   225     public:     // Friend classes
   263     public:     // Friend classes
   226 
   264 
   227         // states are friends of the controller
   265         // states are friends of the controller
   228         friend class CMPXVideoPlaybackState;
   266         friend class CMPXVideoPlaybackState;