videoplayback/videohelix/inc/mpxvideoplayerutility.h
branchRCL_3
changeset 15 8f0df5c82986
parent 12 7f2b2a65da29
child 21 315810614048
equal deleted inserted replaced
14:55fa1ec415c6 15:8f0df5c82986
    13 *
    13 *
    14 * Description:  This class is the interface between the playback plugin and RMMFController
    14 * Description:  This class is the interface between the playback plugin and RMMFController
    15 *
    15 *
    16 */
    16 */
    17 
    17 
    18 // Version : %version: 11 %
    18 // Version : %version: 13 %
    19 
    19 
    20 
    20 
    21 #ifndef __MPXVIDEOPLAYERUTILITY__
    21 #ifndef __MPXVIDEOPLAYERUTILITY__
    22 #define __MPXVIDEOPLAYERUTILITY__
    22 #define __MPXVIDEOPLAYERUTILITY__
    23 
    23 
    24 //
    24 //
    25 //  INCLUDES
    25 //  INCLUDES
    26 //
    26 //
    27 #include <mmf/common/mmfcontroller.h>
    27 #include <mmf/common/mmfcontroller.h>
       
    28 #include <e32base.h>
    28 
    29 
    29 #ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
    30 #ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
    30 #include <mmf/common/mmfstandardcustomcommandsimpl.h>
    31 #include <mmf/common/mmfstandardcustomcommandsimpl.h>
    31 #else
    32 #else
    32 #include <mmf/common/mmfstandardcustomcommands.h>
    33 #include <mmf/common/mmfstandardcustomcommands.h>
    40 
    41 
    41 //
    42 //
    42 //  FORWARD DECLARATIONS
    43 //  FORWARD DECLARATIONS
    43 //
    44 //
    44 class CMPXVideoPlaybackController;
    45 class CMPXVideoPlaybackController;
       
    46 class CFbsBitmap;
    45 
    47 
    46 //
    48 //
    47 //  CLASS DECLARATION
    49 //  CLASS DECLARATION
    48 //
    50 //
    49 
    51 
    50 NONSHARABLE_CLASS( CMpxVideoPlayerUtility ) : public CBase,
    52 NONSHARABLE_CLASS( CMpxVideoPlayerUtility ) : public CActive,
    51                                               public MMMFControllerEventMonitorObserver
    53                                               public MMMFControllerEventMonitorObserver
    52 {
    54 {
    53     public:
    55     public:
    54 
    56 
    55         static CMpxVideoPlayerUtility* NewL( CMPXVideoPlaybackController* aVideoPlaybackCtrl );
    57         static CMpxVideoPlayerUtility* NewL( CMPXVideoPlaybackController* aVideoPlaybackCtrl );
    99         void SetPositionL( const TTimeIntervalMicroSeconds& aPosition );
   101         void SetPositionL( const TTimeIntervalMicroSeconds& aPosition );
   100 
   102 
   101         void SetPlayVelocityL( TInt aVelocity );
   103         void SetPlayVelocityL( TInt aVelocity );
   102 
   104 
   103         void GetVideoLoadingProgressL( TInt& aPercentageProgress );
   105         void GetVideoLoadingProgressL( TInt& aPercentageProgress );
       
   106         
       
   107         void GetFrameL();
   104 
   108 
   105         //
   109         //
   106         //  MMMFControllerEventMonitorObserver Implementation
   110         //  MMMFControllerEventMonitorObserver Implementation
   107         //
   111         //
   108         void HandleEvent( const TMMFEvent& aEvent );
   112         void HandleEvent( const TMMFEvent& aEvent );
       
   113              
       
   114         CFbsBitmap& GetBitmap();
       
   115         
       
   116         void RunL();
       
   117         void DoCancel();
   109 
   118 
   110 #ifdef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
   119 #ifdef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
   111         void OpenFile64L( const RFile64& aFile );
   120         void OpenFile64L( const RFile64& aFile );
   112 #endif // SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
   121 #endif // SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
   113 
   122 
   121 
   130 
   122         void SendSurfaceCommandL( TInt aCmd,
   131         void SendSurfaceCommandL( TInt aCmd,
   123                                   const TSurfaceId& aSurfaceId,
   132                                   const TSurfaceId& aSurfaceId,
   124                                   const TRect& aCropRect,
   133                                   const TRect& aCropRect,
   125                                   TVideoAspectRatio aAspectRatio );
   134                                   TVideoAspectRatio aAspectRatio );
       
   135 
       
   136         void SendSurfaceCreatedCommand();
   126 
   137 
   127 #endif
   138 #endif
   128 
   139 
   129     private:
   140     private:
   130 
   141 
   148 
   159 
   149 #ifdef SYMBIAN_BUILD_GCE
   160 #ifdef SYMBIAN_BUILD_GCE
   150         RMMFVideoPlaySurfaceSupportCustomCommands iVideoPlaySurfaceSupportCustomCommands;
   161         RMMFVideoPlaySurfaceSupportCustomCommands iVideoPlaySurfaceSupportCustomCommands;
   151 
   162 
   152         TSurfaceId                                iSurfaceId;
   163         TSurfaceId                                iSurfaceId;
       
   164         TRect                                     iCropRect;
       
   165         TVideoAspectRatio                         iAspectRatio;
   153 #endif
   166 #endif
   154 
   167 
   155         CMMFControllerEventMonitor*               iControllerEventMonitor;
   168         CMMFControllerEventMonitor*               iControllerEventMonitor;
   156 
   169 
   157         TBool                                     iDirectScreenAccessAbort;
   170         TBool                                     iDirectScreenAccessAbort;
       
   171         
       
   172         CFbsBitmap*                               iPosterFrameBitmap;
   158 };
   173 };
   159 
   174 
   160 #endif /* __MPXVIDEOPLAYERUTILITY__ */
   175 #endif /* __MPXVIDEOPLAYERUTILITY__ */