sl@0: // Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // Header file: Video Player 2 Tests. sl@0: // sl@0: // sl@0: sl@0: #ifndef TESTVIDEOPLAYER2_H sl@0: #define TESTVIDEOPLAYER2_H sl@0: sl@0: #include "tsi_mmf_vclntavi_stepbase.h" sl@0: #include sl@0: sl@0: /** sl@0: * Load and play a video file using graphics surface sl@0: * sl@0: * RTestVclnt2PlayFile sl@0: * sl@0: */ sl@0: class RTestVclnt2PlayFile : public RTestVclnt2AviPlayerStep sl@0: { sl@0: public: sl@0: static RTestVclnt2PlayFile* NewL(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); sl@0: sl@0: protected: sl@0: virtual TVerdict DoTestStepPreambleL(); sl@0: virtual TVerdict DoTestStepPostambleL(); sl@0: sl@0: virtual void FsmL(TVclntTestPlayEvents aEventCode); sl@0: sl@0: virtual void HandleIdleL(); sl@0: virtual void HandleOpenCompleteL(); sl@0: virtual void HandlePrepareCompleteL(); sl@0: virtual void HandlePlayCompleteL(); sl@0: sl@0: // called by HandlePrepareCompleteL to trigger the video playback sl@0: virtual void StartPlayback(); sl@0: sl@0: // constructor sl@0: RTestVclnt2PlayFile(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); sl@0: }; sl@0: #ifdef SYMBIAN_BUILD_GCE sl@0: /** sl@0: * Test CMediaClientVideoDisplay.This test makes sure that the new dll sl@0: * (mediaclientvideodisplay) is loaded and used. sl@0: * sl@0: * RTestMediaClientVideoDisplay sl@0: * sl@0: */ sl@0: class RTestMediaClientVideoDisplay : public RTestVclnt2AviPlayerStep sl@0: { sl@0: public: sl@0: static RTestMediaClientVideoDisplay* NewL(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); sl@0: sl@0: protected: sl@0: virtual TVerdict DoTestStepPreambleL(); sl@0: virtual TVerdict DoTestStepPostambleL(); sl@0: sl@0: virtual void FsmL(TVclntTestPlayEvents aEventCode); sl@0: sl@0: virtual void HandleIdleL(); sl@0: virtual void HandleOpenCompleteL(); sl@0: virtual void HandlePrepareCompleteL(); sl@0: virtual void HandlePlayCompleteL(); sl@0: sl@0: // called by HandlePrepareCompleteL to trigger the video playback sl@0: virtual void StartPlayback(); sl@0: sl@0: // constructor sl@0: RTestMediaClientVideoDisplay(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); sl@0: }; sl@0: sl@0: #endif sl@0: sl@0: sl@0: /** sl@0: * Load and play a video file using graphics surface with default window position, video sl@0: * extent and clip rect, then during playback, perform some actions specified within the sl@0: * implementation of the function DoThisActionDuringPlaybackL(). Before exiting sl@0: * DoThisActionDuringPlaybackL, SetActionPerformed() should be called to signal that sl@0: * all user action to be performed during video playback is completed. sl@0: * sl@0: * RTestVclnt2ActionDuringVideoPlayback sl@0: * sl@0: */ sl@0: class RTestVclnt2PerformActionDuringVideoPlayback : public RTestVclnt2PlayFile sl@0: { sl@0: protected: sl@0: RTestVclnt2PerformActionDuringVideoPlayback(const TDesC& aTestName, sl@0: const TDesC& aSectName, sl@0: const TDesC& aKeyName, sl@0: TInt aExpectedError); sl@0: sl@0: // overriden in this class to trigger start video playback and then proceed to sl@0: // perform the action detailed within DoThisActionDuringPlaybackL sl@0: virtual void StartPlayback(); sl@0: sl@0: virtual void HandlePlayCompleteL(); sl@0: virtual void DoThisActionDuringPlaybackL(CVideoPlayerUtility2& aPlayer) = 0; sl@0: sl@0: private: sl@0: TInt iActionError; sl@0: }; sl@0: sl@0: sl@0: /** sl@0: * Load and play a video file using graphics surface with specific window position, video sl@0: * extent and clip rect sl@0: * sl@0: * RTestVclnt2AddWin sl@0: * sl@0: */ sl@0: class RTestVclnt2AddWin : public RTestVclnt2PlayFile sl@0: { sl@0: public: sl@0: static RTestVclnt2AddWin* NewL(const TDesC& aTestName, sl@0: const TDesC& aSectName, sl@0: const TDesC& aKeyName, sl@0: TInt aExpectedError); sl@0: sl@0: protected: sl@0: // constructor sl@0: RTestVclnt2AddWin(const TDesC& aTestName, sl@0: const TDesC& aSectName, sl@0: const TDesC& aKeyName, sl@0: TInt aExpectedError); sl@0: sl@0: virtual void HandlePrepareCompleteL(); sl@0: }; sl@0: sl@0: sl@0: /** sl@0: * Load and play a video file using graphics surface, then change the display window during playback sl@0: * sl@0: * RTestVclnt2RemoveWin sl@0: * sl@0: */ sl@0: class RTestVclnt2RemoveWin : public RTestVclnt2PerformActionDuringVideoPlayback sl@0: { sl@0: public: sl@0: static RTestVclnt2RemoveWin* NewL(const TDesC& aTestName, sl@0: const TDesC& aSectName, sl@0: const TDesC& aKeyName, sl@0: TInt aExpectedError, sl@0: TBool aAddBack); sl@0: sl@0: protected: sl@0: virtual void HandlePrepareCompleteL(); sl@0: virtual void DoThisActionDuringPlaybackL(CVideoPlayerUtility2& aPlayer); sl@0: sl@0: private: sl@0: // constructor sl@0: RTestVclnt2RemoveWin(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, TBool aAddBack); sl@0: sl@0: private: sl@0: /** If true, Add the display back again after removing it. */ sl@0: TBool iAddBack; sl@0: }; sl@0: sl@0: sl@0: /** sl@0: * Load and play a video file using graphics surface, then change the window position during playback sl@0: * sl@0: * RTestVclnt2WinPos sl@0: * sl@0: */ sl@0: class RTestVclnt2WinPos : public RTestVclnt2PerformActionDuringVideoPlayback sl@0: { sl@0: public: sl@0: static RTestVclnt2WinPos* NewL(const TDesC& aTestName, sl@0: const TDesC& aSectName, sl@0: const TDesC& aKeyName, sl@0: TInt aExpectedError); sl@0: sl@0: protected: sl@0: virtual void DoThisActionDuringPlaybackL(CVideoPlayerUtility2& aPlayer); sl@0: sl@0: private: sl@0: RTestVclnt2WinPos(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); sl@0: }; sl@0: sl@0: sl@0: /** sl@0: * Load and play a video file using graphics surface, then change the video extent during playback sl@0: * sl@0: * RTestVclnt2VideoExt sl@0: * sl@0: */ sl@0: class RTestVclnt2VideoExt : public RTestVclnt2PerformActionDuringVideoPlayback sl@0: { sl@0: public: sl@0: static RTestVclnt2VideoExt* NewL(const TDesC& aTestName, sl@0: const TDesC& aSectName, sl@0: const TDesC& aKeyName, sl@0: TInt aExpectedError); sl@0: sl@0: protected: sl@0: virtual void DoThisActionDuringPlaybackL(CVideoPlayerUtility2& aPlayer); sl@0: sl@0: private: sl@0: // constructor sl@0: RTestVclnt2VideoExt(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); sl@0: }; sl@0: sl@0: sl@0: /** sl@0: * Load and play a video file using graphics surface, then change the clipping rect during playback sl@0: * sl@0: * RTestVclnt2ClipRect sl@0: * sl@0: */ sl@0: class RTestVclnt2ClipRect : public RTestVclnt2PerformActionDuringVideoPlayback sl@0: { sl@0: public: sl@0: static RTestVclnt2ClipRect* NewL(const TDesC& aTestName, sl@0: const TDesC& aSectName, sl@0: const TDesC& aKeyName, sl@0: TInt aExpectedError); sl@0: sl@0: protected: sl@0: virtual void DoThisActionDuringPlaybackL(CVideoPlayerUtility2& aPlayer); sl@0: sl@0: private: sl@0: RTestVclnt2ClipRect(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); sl@0: }; sl@0: sl@0: sl@0: /** sl@0: * Load and play a video file using graphics surface, then change the scale factor during playback sl@0: * sl@0: * RTestVclnt2Scale sl@0: * sl@0: */ sl@0: class RTestVclnt2Scale : public RTestVclnt2PerformActionDuringVideoPlayback sl@0: { sl@0: public: sl@0: static RTestVclnt2Scale* NewL(const TDesC& aTestName, sl@0: const TDesC& aSectName, sl@0: const TDesC& aKeyName, sl@0: TInt aExpectedError); sl@0: sl@0: protected: sl@0: virtual void DoThisActionDuringPlaybackL(CVideoPlayerUtility2& aPlayer); sl@0: sl@0: virtual void HandlePrepareCompleteL(); sl@0: sl@0: private: sl@0: // constructor sl@0: RTestVclnt2Scale(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); sl@0: }; sl@0: sl@0: /** sl@0: * Load a video file, set the crop region and then play video using graphics surface with non-default window sl@0: * clipping rect or video extent sl@0: * sl@0: * RTestVclnt2Viewport sl@0: * sl@0: */ sl@0: class RTestVclnt2Viewport : public RTestVclnt2PlayFile sl@0: { sl@0: public: sl@0: static RTestVclnt2Viewport* NewL(const TDesC& aTestName, sl@0: const TDesC& aSectName, sl@0: const TDesC& aKeyName, sl@0: const TSize& aViewportSize, sl@0: TInt aExpectedError = KErrNone); sl@0: sl@0: protected: sl@0: virtual void HandlePrepareCompleteL(); sl@0: sl@0: private: sl@0: void HandlePrepareCompleteL(const TRect& aCropRegion, const TRect& aVideoExtent, const TRect& aClipRect); sl@0: sl@0: // constructor sl@0: RTestVclnt2Viewport(const TDesC& aTestName, sl@0: const TDesC& aSectName, sl@0: const TDesC& aKeyName, sl@0: const TSize& aViewportSize, sl@0: TInt aExpectedError); sl@0: sl@0: protected: sl@0: TSize iViewportSize; sl@0: }; sl@0: sl@0: /** sl@0: * Load a video file, set an invalid crop region and then play video using graphics surface sl@0: * sl@0: * RTestVclnt2InvalidViewport sl@0: * sl@0: */ sl@0: class RTestVclnt2InvalidViewport : public RTestVclnt2PlayFile sl@0: { sl@0: public: sl@0: static RTestVclnt2InvalidViewport* NewL(const TDesC& aTestName, sl@0: const TDesC& aSectName, sl@0: const TDesC& aKeyName, sl@0: TInt aExpectedError = KErrNone); sl@0: sl@0: protected: sl@0: virtual void HandlePrepareCompleteL(); sl@0: sl@0: private: sl@0: // constructor sl@0: RTestVclnt2InvalidViewport(const TDesC& aTestName, sl@0: const TDesC& aSectName, sl@0: const TDesC& aKeyName, sl@0: TInt aExpectedError); sl@0: }; sl@0: sl@0: /** sl@0: * Load and play a video file using graphics surface with rotation set sl@0: * sl@0: * RTestVclnt2Rotation sl@0: * sl@0: */ sl@0: class RTestVclnt2Rotation : public RTestVclnt2PlayFile sl@0: { sl@0: public: sl@0: static RTestVclnt2Rotation* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); sl@0: sl@0: protected: sl@0: virtual void HandlePrepareCompleteL(); sl@0: sl@0: private: sl@0: // constructor sl@0: RTestVclnt2Rotation(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError) ; sl@0: }; sl@0: sl@0: sl@0: /** sl@0: * Load and play a video file using graphics surface with specific crop region, autoscale, sl@0: * video extent and clip rect settings. sl@0: * sl@0: * RTestVclnt2Settings sl@0: * sl@0: */ sl@0: class RTestVclnt2Settings : public RTestVclnt2PlayFile sl@0: { sl@0: public: sl@0: static RTestVclnt2Settings* NewL(const TDesC& aTestName, sl@0: const TDesC& aSectName, sl@0: const TDesC& aKeyName, sl@0: TInt aExpectedError = KErrNone); sl@0: sl@0: protected: sl@0: virtual void HandlePrepareCompleteL(); sl@0: sl@0: private: sl@0: // constructor sl@0: RTestVclnt2Settings(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError) ; sl@0: }; sl@0: sl@0: /** sl@0: * Load and play a video file using graphics surface with specific crop region, content alignment, sl@0: * scale factor, video extent and clip rect settings. The video clip will be playbacked multiple times, sl@0: * each with a different combination of the settings. sl@0: * sl@0: * RTestVclnt2SettingsAndAlignments sl@0: * sl@0: */ sl@0: class RTestVclnt2SettingsAndAlignments : public RTestVclnt2PlayFile sl@0: { sl@0: public: sl@0: static RTestVclnt2SettingsAndAlignments* NewL(const TDesC& aTestName, sl@0: const TDesC& aSectName, sl@0: const TDesC& aKeyName, sl@0: TInt aExpectedError = KErrNone); sl@0: sl@0: protected: sl@0: virtual void HandlePrepareCompleteL(); sl@0: virtual void HandlePlayCompleteL(); sl@0: virtual TVerdict DoTestStepPreambleL(); sl@0: sl@0: private: sl@0: // constructor sl@0: RTestVclnt2SettingsAndAlignments(const TDesC& aTestName, sl@0: const TDesC& aSectName, sl@0: const TDesC& aKeyName, sl@0: TInt aExpectedError); sl@0: sl@0: // helpers sl@0: void AddDisplayWindowL(const TRect& aCropRegion); sl@0: void SetCropRegionL(TRect& aCropRegion); sl@0: void SetContentOffsetL(); sl@0: void SetScaleFactorL(); sl@0: void SetContentAlignmentL(); sl@0: sl@0: private: sl@0: TInt iCount; sl@0: }; sl@0: sl@0: sl@0: /** sl@0: * Load and play a video file using graphics surface on a second display sl@0: * sl@0: * RTestVclnt2SecDisplay sl@0: * sl@0: */ sl@0: class RTestVclnt2SecDisplay : public RTestVclnt2PlayFile sl@0: { sl@0: public: sl@0: static RTestVclnt2SecDisplay* NewL(const TDesC& aTestName, sl@0: const TDesC& aSectName, sl@0: const TDesC& aKeyName, sl@0: TInt aExpectedError = KErrNone); sl@0: sl@0: protected: sl@0: // test framework sl@0: virtual TVerdict DoTestStepPreambleL(); sl@0: virtual TVerdict DoTestStepPostambleL(); sl@0: sl@0: virtual void HandlePrepareCompleteL(); sl@0: sl@0: private: sl@0: // constructor sl@0: RTestVclnt2SecDisplay(const TDesC& aTestName, sl@0: const TDesC& aSectName, sl@0: const TDesC& aKeyName, sl@0: TInt aExpectedError); sl@0: sl@0: private: sl@0: CWsScreenDevice* iSecondScreen; sl@0: }; sl@0: sl@0: sl@0: /** sl@0: * Load and play a video file using graphics surface, then pause the video and attempt sl@0: * to change the crop region and continue to playback the video. sl@0: * sl@0: * RTestVclnt2CropRectPause sl@0: * sl@0: */ sl@0: class RTestVclnt2CropRectPause : public RTestVclnt2PerformActionDuringVideoPlayback sl@0: { sl@0: public: sl@0: static RTestVclnt2CropRectPause* NewL(const TDesC& aTestName, sl@0: const TDesC& aSectName, sl@0: const TDesC& aKeyName, sl@0: TInt aExpectedError = KErrNone); sl@0: sl@0: protected: sl@0: virtual void DoThisActionDuringPlaybackL(CVideoPlayerUtility2& aPlayfser); sl@0: sl@0: private: sl@0: RTestVclnt2CropRectPause(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError); sl@0: }; sl@0: sl@0: sl@0: /** sl@0: * Load and play a video file using graphics surface with overlay graphics on top of video picture sl@0: * sl@0: * RTestVclnt2Overlay sl@0: * sl@0: */ sl@0: class RTestVclnt2Overlay : public RTestVclnt2PlayFile sl@0: { sl@0: public: sl@0: static RTestVclnt2Overlay* NewL(const TDesC& aTestName, sl@0: const TDesC& aSectName, sl@0: const TDesC& aKeyName, sl@0: TInt aExpectedError); sl@0: sl@0: protected: sl@0: // constructor sl@0: RTestVclnt2Overlay(const TDesC& aTestName, sl@0: const TDesC& aSectName, sl@0: const TDesC& aKeyName, sl@0: TInt aExpectedError); sl@0: sl@0: virtual TVerdict DoTestStepPreambleL(); sl@0: virtual TVerdict DoTestStepPostambleL(); sl@0: sl@0: virtual void HandlePrepareCompleteL(); sl@0: sl@0: private: sl@0: CFont* iFont; sl@0: }; sl@0: sl@0: /** sl@0: * Load and play a video file using graphics surface and attempting to add the same display window twice sl@0: * using default values sl@0: * sl@0: * RTestVclnt2AddWin2 sl@0: * sl@0: */ sl@0: class RTestVclnt2AddWin2 : public RTestVclnt2PlayFile sl@0: { sl@0: public: sl@0: static RTestVclnt2AddWin2* NewL(const TDesC& aTestName, sl@0: const TDesC& aSectName, sl@0: const TDesC& aKeyName, sl@0: TInt aExpectedError); sl@0: sl@0: protected: sl@0: // constructor sl@0: RTestVclnt2AddWin2(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError); sl@0: sl@0: virtual void HandlePrepareCompleteL(); sl@0: }; sl@0: sl@0: /** sl@0: * Load and play a video file using graphics surface and attempting to add the display window with specific sl@0: * settings then add the same display window using default values again sl@0: * sl@0: * RTestVclnt2AddWin2WithSettings sl@0: * sl@0: */ sl@0: class RTestVclnt2AddWin2WithSettings : public RTestVclnt2PlayFile sl@0: { sl@0: public: sl@0: static RTestVclnt2AddWin2WithSettings* NewL(const TDesC& aTestName, sl@0: const TDesC& aSectName, sl@0: const TDesC& aKeyName, sl@0: TInt aExpectedError); sl@0: sl@0: protected: sl@0: // constructor sl@0: RTestVclnt2AddWin2WithSettings(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError); sl@0: sl@0: // state machine sl@0: virtual void HandlePrepareCompleteL(); sl@0: }; sl@0: sl@0: /** sl@0: * Load and play a video file using graphics surface and set content offset and/or content alignment sl@0: * sl@0: * RTestVclnt2ContOffset sl@0: * sl@0: */ sl@0: class RTestVclnt2ContOffset : public RTestVclnt2PlayFile sl@0: { sl@0: public: sl@0: static RTestVclnt2ContOffset* NewL(const TDesC& aTestName, sl@0: const TDesC& aSectName, sl@0: const TDesC& aKeyName, sl@0: TInt aExpectedError); sl@0: sl@0: protected: sl@0: // state machine sl@0: virtual void HandlePrepareCompleteL(); sl@0: sl@0: private: sl@0: // constructor sl@0: RTestVclnt2ContOffset(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError); sl@0: }; sl@0: sl@0: /** sl@0: * Load and play a video file using graphics surface and set content offset during playback sl@0: * sl@0: * RTestVclnt2ContOffsetAtPlay sl@0: * sl@0: */ sl@0: class RTestVclnt2ContOffsetAtPlay : public RTestVclnt2PerformActionDuringVideoPlayback sl@0: { sl@0: public: sl@0: static RTestVclnt2ContOffsetAtPlay* NewL(const TDesC& aTestName, sl@0: const TDesC& aSectName, sl@0: const TDesC& aKeyName, sl@0: TInt aExpectedError); sl@0: sl@0: protected: sl@0: virtual void DoThisActionDuringPlaybackL(CVideoPlayerUtility2& aPlayer); sl@0: sl@0: private: sl@0: // constructor sl@0: RTestVclnt2ContOffsetAtPlay(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError); sl@0: }; sl@0: sl@0: /** sl@0: * Load and play a video file using graphics surface and set content aligment during playback sl@0: * sl@0: * RTestVclnt2Align sl@0: * sl@0: */ sl@0: class RTestVclnt2Align : public RTestVclnt2PerformActionDuringVideoPlayback sl@0: { sl@0: public: sl@0: static RTestVclnt2Align* NewL(const TDesC& aTestName, sl@0: const TDesC& aSectName, sl@0: const TDesC& aKeyName, sl@0: TInt aExpectedError); sl@0: sl@0: protected: sl@0: virtual void HandlePrepareCompleteL(); sl@0: virtual void DoThisActionDuringPlaybackL(CVideoPlayerUtility2& aPlayer); sl@0: sl@0: private: sl@0: // constructor sl@0: RTestVclnt2Align(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError); sl@0: }; sl@0: sl@0: /** sl@0: * Load and play a video file using graphics surface and set auto scale sl@0: * sl@0: * RTestVclnt2AutoScale sl@0: * sl@0: */ sl@0: class RTestVclnt2AutoScale : public RTestVclnt2PerformActionDuringVideoPlayback sl@0: { sl@0: public: sl@0: static RTestVclnt2AutoScale* NewL(const TDesC& aTestName, sl@0: const TDesC& aSectName, sl@0: const TDesC& aKeyName, sl@0: TInt aExpectedError); sl@0: sl@0: protected: sl@0: virtual void HandlePrepareCompleteL(); sl@0: virtual void DoThisActionDuringPlaybackL(CVideoPlayerUtility2& aPlayer); sl@0: sl@0: private: sl@0: RTestVclnt2AutoScale(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError); sl@0: }; sl@0: sl@0: /** sl@0: * Load and play a video file using graphics surface sl@0: * sl@0: * RTestVclnt2PlayFile sl@0: * sl@0: */ sl@0: class RTestVclnt2OldController : public RTestVclnt2PlayFile sl@0: { sl@0: public: sl@0: static RTestVclnt2OldController* NewL(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); sl@0: sl@0: protected: sl@0: virtual void HandleIdleL(); sl@0: virtual void HandlePrepareCompleteL(); sl@0: sl@0: private: sl@0: RTestVclnt2OldController(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); sl@0: }; sl@0: sl@0: /** sl@0: * Without opening a file, try doing surface related functions sl@0: * sl@0: * RTestVclnt2NoFile sl@0: * sl@0: */ sl@0: class RTestVclnt2NoFile : public RTestVclnt2PlayFile sl@0: { sl@0: public: sl@0: static RTestVclnt2NoFile* NewL(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); sl@0: sl@0: protected: sl@0: virtual void HandleIdleL(); sl@0: sl@0: private: sl@0: RTestVclnt2NoFile(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); sl@0: }; sl@0: sl@0: /** sl@0: * Attempt to play video without display sl@0: * sl@0: * RTestVclnt2PlayAfterRemoveWin sl@0: * sl@0: */ sl@0: class RTestVclnt2PlayAfterRemoveWin : public RTestVclnt2PlayFile sl@0: { sl@0: public: sl@0: static RTestVclnt2PlayAfterRemoveWin* NewL(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); sl@0: sl@0: protected: sl@0: virtual void HandlePrepareCompleteL(); sl@0: virtual void HandlePlayCompleteL(); sl@0: sl@0: private: sl@0: RTestVclnt2PlayAfterRemoveWin(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); sl@0: sl@0: private: sl@0: TInt iPlayAttempt; sl@0: }; sl@0: sl@0: /** sl@0: * Use surface utility API without GCE support sl@0: * sl@0: * RTestVclnt2NoGce sl@0: * sl@0: */ sl@0: class RTestVclnt2NoGce : public RTestVclnt2PlayFile sl@0: { sl@0: public: sl@0: static RTestVclnt2NoGce* NewL(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); sl@0: sl@0: protected: sl@0: virtual void HandleIdleL(); sl@0: virtual void HandleOpenCompleteL(); sl@0: sl@0: private: sl@0: RTestVclnt2NoGce(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); sl@0: }; sl@0: sl@0: /** sl@0: * Alloc tests (using Client heap) for Video Player utility 2. sl@0: * sl@0: * RTestVclnt2Alloc sl@0: * sl@0: */ sl@0: class RTestVclnt2Alloc : public RTestVclnt2PlayFile sl@0: { sl@0: public: sl@0: static RTestVclnt2Alloc* NewL(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); sl@0: virtual TVerdict DoTestStepL(); sl@0: sl@0: protected: sl@0: virtual TVerdict DoTestStepPreambleL(); sl@0: virtual TVerdict PerformTestL(); sl@0: sl@0: private: sl@0: RTestVclnt2Alloc(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); sl@0: }; sl@0: sl@0: class RTestVclnt2InvalidScaleFactor : public RTestVclnt2PlayFile sl@0: { sl@0: public: sl@0: static RTestVclnt2InvalidScaleFactor* NewL(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); sl@0: sl@0: protected: sl@0: // From RTestVclnt2PlayFile sl@0: void HandlePrepareCompleteL(); sl@0: sl@0: private: sl@0: RTestVclnt2InvalidScaleFactor(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError); sl@0: }; sl@0: sl@0: #endif // TESTVIDEOPLAYER2_H