mmlibs/mmfw/tsrc/mmfintegrationtest/vclntavi/src/testvideoplayer.cpp
changeset 4 9d4397b300d1
parent 0 b8ed18f6c07b
equal deleted inserted replaced
1:fcaf4606ba4e 4:9d4397b300d1
  2945                 iTestStepResult = EInconclusive;
  2945                 iTestStepResult = EInconclusive;
  2946                 break;
  2946                 break;
  2947             }
  2947             }
  2948         }
  2948         }
  2949     }
  2949     }
       
  2950 
       
  2951 
       
  2952 //
       
  2953 // RTestVclntExternalDisplayControl
       
  2954 //
       
  2955 
       
  2956 /**
       
  2957  * RTestVclntExternalDisplayControl::Constructor
       
  2958  */
       
  2959 RTestVclntExternalDisplayControl::RTestVclntExternalDisplayControl(const TDesC& aTestName, const TDesC& aSectName, const TDesC& aKeyName, TInt aExpectedError, const TBool aPlay)
       
  2960     : RTestVclntAviPlayerStep(aTestName, aSectName, aKeyName, aExpectedError), iPlay(aPlay)
       
  2961     {
       
  2962     iHeapSize = 2000000; //-2MB
       
  2963     }
       
  2964 
       
  2965 /**
       
  2966  * RTestVclntExternalDisplayControl::NewL
       
  2967  */
       
  2968 RTestVclntExternalDisplayControl* RTestVclntExternalDisplayControl::NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError,const TBool aPlay)
       
  2969     {
       
  2970     RTestVclntExternalDisplayControl* self = new (ELeave) RTestVclntExternalDisplayControl(aTestName, aSectName, aKeyName, aExpectedError, aPlay);
       
  2971     return self;
       
  2972     }
       
  2973 
       
  2974 /**
       
  2975  * RTestVclntExternalDisplayControl::DoTestStepL
       
  2976  */
       
  2977 TVerdict RTestVclntExternalDisplayControl::DoTestStepL()
       
  2978     {
       
  2979     // read external display control
       
  2980     SetExternalDisplayControl();
       
  2981     
       
  2982      // WDP:We are going to start the test now
       
  2983      // Ensure we set paging memory to appropriate cache size for tests which need it
       
  2984      //ignore other tests
       
  2985     TVerdict verdict=SetCacheSize();
       
  2986     if(verdict!=EPass)
       
  2987         {
       
  2988         return verdict;
       
  2989         }
       
  2990      
       
  2991     // Call the state handler from IDLE state
       
  2992     FsmL(EVPIdle);
       
  2993     User::LeaveIfError(iError);
       
  2994     // Start the scheduler - Done only once !
       
  2995     CActiveScheduler::Start();
       
  2996     
       
  2997     return iTestStepResult;
       
  2998     }
       
  2999 
       
  3000 //Default SetCache size
       
  3001 TVerdict RTestVclntExternalDisplayControl::SetCacheSize()
       
  3002     {
       
  3003     //Do not try to increase cache size for tests which dont need it
       
  3004     return EPass;
       
  3005             
       
  3006     }
       
  3007 
       
  3008 /**
       
  3009  * RTestVclntExternalDisplayControl::FsmL
       
  3010  */
       
  3011 void RTestVclntExternalDisplayControl::FsmL(TVclntTestPlayEvents aEventCode)
       
  3012     {
       
  3013     if (FsmCheck(aEventCode))
       
  3014         {
       
  3015         //TInt err = KErrNone;
       
  3016         switch (aEventCode)
       
  3017             {
       
  3018             case EVPIdle:
       
  3019                 // Open iVideoPlayer
       
  3020                 INFO_PRINTF2(_L("iVideoPlayer->OpenFileL() %S"), &iFilename);
       
  3021                 TRAP(iError, iVideoPlayer->OpenFileL(iFilename, ControllerUid()));
       
  3022                 PrepareState(EVPOpenComplete, KErrNone);
       
  3023                 break;
       
  3024             case EVPOpenComplete:
       
  3025                 // set external display control
       
  3026                 iVideoPlayer->SetExternalDisplaySwitchingL((*iScreen).GetScreenNumber(), iExternalDisplayControl);
       
  3027                 // Prepare iVideoPlayer
       
  3028                 INFO_PRINTF1(_L("iVideoPlayer->Prepare()"));
       
  3029                 iVideoPlayer->Prepare();
       
  3030                 PrepareState(EVPPrepareComplete, KErrNone);
       
  3031                 break;
       
  3032             case EVPPrepareComplete:
       
  3033                 iTestStepResult = DoTestL(iVideoPlayer);
       
  3034                 break;
       
  3035             case EVPPlayComplete:
       
  3036                 iTestStepResult = EPass;
       
  3037                 CActiveScheduler::Stop();
       
  3038                 break;
       
  3039             }
       
  3040         }
       
  3041     }
       
  3042 
       
  3043 /**
       
  3044  * RTestVclntExternalDisplayControl::DoTestL
       
  3045  */
       
  3046 TVerdict RTestVclntExternalDisplayControl::DoTestL(CVideoPlayerUtility* /*aPlayer*/)
       
  3047     {
       
  3048     TVerdict ret = EFail;
       
  3049 
       
  3050     if(iPlay)
       
  3051         {
       
  3052         iError = KErrTimedOut;
       
  3053         INFO_PRINTF1(_L("iVideoPlayer->Play()"));
       
  3054         PrepareState(EVPPlayComplete, KErrNone);
       
  3055         iVideoPlayer->Play();
       
  3056         }
       
  3057     else
       
  3058         {
       
  3059         CActiveScheduler::Stop();
       
  3060         ret = EPass;
       
  3061         }
       
  3062         
       
  3063     return ret;
       
  3064     }
       
  3065 
       
  3066 TVerdict RTestVclntExternalDisplayControl::SetExternalDisplayControl()
       
  3067     {
       
  3068     if(GetBoolFromConfig(iSectName, _L("externalDisplayControl"), iExternalDisplayControl))
       
  3069         {
       
  3070         INFO_PRINTF2(_L("External display switch control set to %d"), iExternalDisplayControl);
       
  3071         }
       
  3072     else
       
  3073         {
       
  3074         return EInconclusive;
       
  3075         }
       
  3076     return EPass;
       
  3077     }