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 } |