videoplayback/videohelix/inc/mpxvideoplaybackcontroller.h
branchRCL_3
changeset 9 5294c000a26d
parent 8 ce5ada96ab30
child 11 8970fbd719ec
--- a/videoplayback/videohelix/inc/mpxvideoplaybackcontroller.h	Fri Mar 12 15:43:00 2010 +0200
+++ b/videoplayback/videohelix/inc/mpxvideoplaybackcontroller.h	Mon Mar 15 12:40:47 2010 +0200
@@ -15,7 +15,7 @@
 *
 */
 
-// Version : %version: 19 %
+// Version : %version: ou1cpsw#21 %
 
 
 #ifndef _CMPXVIDEOPLAYBACKCONTROLLER_H_
@@ -51,7 +51,7 @@
 class CMediaRecognizer;
 class CMPXVideoSeeker;
 class CMpxVideoDrmHelper;
-
+class CHWRMLight;
 //
 //  CLASS DECLARATION
 //
@@ -94,7 +94,7 @@
         void HandleSettingChange( const TUid& aRepositoryUid,
                                   TUint32 aSettingId );
 
-        void OpenFileL( const TDesC& aMediaFile, RFile& aFile, TInt aAccessPointId = -1 );
+        void OpenFileL( const TDesC& aMediaFile, RFile& aFile, TInt aPosition, TInt aAccessPointId = KUseDefaultIap );  
 
         void HandleGeneralPlaybackCommandL( CMPXCommand& aCmd );
 
@@ -125,16 +125,15 @@
         TBool IsVoiceCall();
 
         void HandleTvOutEventL( TBool aConnected );
-        static TInt HandleBackLightTimout( TAny* aPtr );
-        void DoHandleBackLightTimout();
-        void StartBackLightTimer();
-        void CancelBackLightTimer();
+
         void HandleError(TInt error);
         void SetVolumeSteps( TInt aVolumeSteps );
         void HandleVolumeL( TBool aIncrease );
 
 #ifdef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
-        void OpenFile64L( const TDesC& aMediaFile, RFile64& aFile, TInt aAccessPointId = -1 );
+
+        void OpenFile64L( const TDesC& aMediaFile, RFile64& aFile, TInt aPosition, TInt aAccessPointId = KUseDefaultIap ); 
+
 #endif // SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
 
 
@@ -144,7 +143,7 @@
         void RestartDSA( CMPXCommand& aCmd );
         inline void AbortDSA();
 
-        void InitVolumeWatchers();
+        void InitVolumeWatchersL();
 
         void ChangeState(TMPXVideoPlaybackState aChangeToState);
 
@@ -156,6 +155,32 @@
         void DetermineMediaTypeL();
 
         void ResetMemberVariables();
+        
+        void StartLightsControl();
+        void CancelLightsControl();
+        
+        void EnableDisplayBacklight();
+        void DisableDisplayBacklight();
+       
+        static TInt HandleBackLightTimeout( TAny* aPtr );
+        void DoHandleBackLightTimeout();
+        void StartBackLightTimer();
+        void CancelBackLightTimer();
+        
+        void InitUserActivityTimerL();
+        void RestartUserActivityTimer();
+        void CancelUserActivityTimer();
+        static TInt HandleUserActivityTimeout( TAny* aPtr );
+        void DoHandleUserActivityTimeout();
+       
+        TTimeIntervalMicroSeconds32 InitDisplayTimerL();
+        void RestartDisplayTimer();
+        void CancelDisplayTimer();
+        static TInt HandleDisplayTimeout( TAny* aPtr );
+        void DoHandleDisplayTimeout();
+        
+        CHWRMLight* GetLightsL();
+        void ReleaseLights();
 
     protected:
 
@@ -217,10 +242,23 @@
         // Video seeker
         CMPXVideoSeeker*                        iVideoSeeker;
 
-        CPeriodic*                              iBackLightTimer;
+        // Timer for calling User::ResetInactivityTime() periodicallly while playing.
+        // This keeps backligth on and screensaver off.
+        CPeriodic*                              iBackLightTimer;        
+                                                                        
+        // Timer to turn display lights off when playing to TV-out
+        CPeriodic*                              iDisplayTimer;         
+        TTimeIntervalMicroSeconds32             iDisplayTimerTimeout;
+        // Timer monitoring user activity when TV-out is connected
+        CPeriodic*                              iUserActivityTimer;     
+
+        
         TBool                                   iSeekable;
 
         CMpxVideoDrmHelper*                     iDrmHelper;
+        CHWRMLight*                             iLight;
+        TInt                                    iLightStatus;
+        TInt                                    iSavedPosition;
 
     public:     // Friend classes