mmlibs/mmfw/tsrc/mmfunittest/DevVideo/src/TestDevVideoPlayTwo.cpp
changeset 0 b8ed18f6c07b
equal deleted inserted replaced
-1:000000000000 0:b8ed18f6c07b
       
     1 
       
     2 // Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     3 // All rights reserved.
       
     4 // This component and the accompanying materials are made available
       
     5 // under the terms of "Eclipse Public License v1.0"
       
     6 // which accompanies this distribution, and is available
       
     7 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 //
       
     9 // Initial Contributors:
       
    10 // Nokia Corporation - initial contribution.
       
    11 //
       
    12 // Contributors:
       
    13 //
       
    14 // Description:
       
    15 // TestDevVideoPlay.cpp
       
    16 // 
       
    17 //
       
    18 
       
    19 #include "TestDevVideoPlay.h"
       
    20 #include "TestDevVideoPlayTestData.h"
       
    21 #include "TestDevVideoPlugins/decoder.h"
       
    22 #include "TestDevVideoPlugins/postproc.h"
       
    23 #include <e32math.h>
       
    24 
       
    25 CTestDevVideoPlaySetInputCrop::CTestDevVideoPlaySetInputCrop(const TDesC& aTestName, TTestType aTestType)
       
    26 	:CTestDevVideoPlayStep(aTestName, aTestType)
       
    27 	{
       
    28 	}
       
    29 
       
    30 CTestDevVideoPlaySetInputCrop* CTestDevVideoPlaySetInputCrop::NewL(const TDesC& aTestName, TTestType aTestType)
       
    31 	{
       
    32 	CTestDevVideoPlaySetInputCrop* self = new(ELeave) CTestDevVideoPlaySetInputCrop(aTestName, aTestType);
       
    33 	return self;
       
    34 	}
       
    35 
       
    36 TVerdict CTestDevVideoPlaySetInputCrop::DoTestL(CMMFDevVideoPlay& aDevVideoPlay)
       
    37 	{
       
    38 	TVerdict ret = EPass;
       
    39 	TInt expErr = KErrNone;
       
    40 	
       
    41 	INFO_PRINTF1(_L("CMMFDevVideoPlay:  SetInputCrop"));
       
    42 	
       
    43 	// expected results
       
    44 	if (iTestType != ETestValid)
       
    45 		{
       
    46 		ERR_PRINTF1(_L("Error - invalid test step type"));
       
    47 		return EInconclusive;
       
    48 		}
       
    49 
       
    50 	TInt err = KErrNone;
       
    51 	TInt err2 = KErrNone;
       
    52 
       
    53 	THwDeviceId hwDecoder = 0;
       
    54 	THwDeviceId hwPostProc = 0;
       
    55 
       
    56 	// select decoder
       
    57 	TRAP(err, hwDecoder = aDevVideoPlay.SelectDecoderL(KUidDevVideoTestDecodeHwDevice));
       
    58 	if (err != KErrNone)
       
    59 		{
       
    60 		ERR_PRINTF1(_L("Error - couldn't initialize decoder"));
       
    61 			return EInconclusive;
       
    62 		}
       
    63 
       
    64 	// select post-processor
       
    65 	TRAP(err, hwPostProc = aDevVideoPlay.SelectPostProcessorL(KUidDevVideoTestPostProcHwDevice));
       
    66 	if (err != KErrNone)
       
    67 		{
       
    68 		ERR_PRINTF1(_L("Error - couldn't initialize post processor"));
       
    69 			return EInconclusive;
       
    70 		}
       
    71 
       
    72 	// set input crop on decoder
       
    73 	TRect testRect1(KTestInputCropRectA, KTestInputCropRectB, KTestInputCropRectC, KTestInputCropRectD);
       
    74 	TRAP(err, aDevVideoPlay.SetInputCropOptionsL(hwDecoder, testRect1) )
       
    75 	
       
    76 	// set input crop on post-processor
       
    77 	TRect testRect2(KTestInputCropRectD, KTestInputCropRectC, KTestInputCropRectB, KTestInputCropRectA);
       
    78 	TRAP(err2, aDevVideoPlay.SetInputCropOptionsL(hwPostProc, testRect2) )
       
    79 
       
    80 
       
    81 	if ((err != expErr) || (err2 != expErr))
       
    82 		{
       
    83 		ERR_PRINTF3(_L("SetInputCropOptionsL() on Decoder gave error %d (expected %d)"),err, expErr);
       
    84 		ERR_PRINTF3(_L("SetInputCropOptionsL() on Post-Processor gave error %d (expected %d)"),err2, expErr);
       
    85 		ret = EFail;
       
    86 		}
       
    87 	else
       
    88 		INFO_PRINTF4(_L("SetInputCropOptionsL(), %d, %d= %d"), err, err2, expErr);
       
    89 	
       
    90 	return ret;
       
    91 	}
       
    92 //------------------------------------------------------------------
       
    93 
       
    94 CTestDevVideoPlaySetYuvToRgbOptionsFormat::CTestDevVideoPlaySetYuvToRgbOptionsFormat(const TDesC& aTestName, TTestType aTestType)
       
    95 	:CTestDevVideoPlayStep(aTestName, aTestType)
       
    96 	{
       
    97 	}
       
    98 
       
    99 CTestDevVideoPlaySetYuvToRgbOptionsFormat* CTestDevVideoPlaySetYuvToRgbOptionsFormat::NewL(const TDesC& aTestName, TTestType aTestType)
       
   100 	{
       
   101 	CTestDevVideoPlaySetYuvToRgbOptionsFormat* self = new(ELeave) CTestDevVideoPlaySetYuvToRgbOptionsFormat(aTestName, aTestType);
       
   102 	return self;
       
   103 	}
       
   104 
       
   105 TVerdict CTestDevVideoPlaySetYuvToRgbOptionsFormat::DoTestL(CMMFDevVideoPlay& aDevVideoPlay)
       
   106 	{
       
   107 	TVerdict ret = EPass;
       
   108 	TInt expErr = KErrNone;
       
   109 	
       
   110 	INFO_PRINTF1(_L("CMMFDevVideoPlay:  SetYuvToRgbOptionsFormat"));
       
   111 	
       
   112 	// expected results
       
   113 	if (iTestType != ETestValid)
       
   114 		{
       
   115 		ERR_PRINTF1(_L("Error - invalid test step type"));
       
   116 		return EInconclusive;
       
   117 		}
       
   118 
       
   119 	TInt err = KErrNone;
       
   120 	TInt err2 = KErrNone;
       
   121 
       
   122 	THwDeviceId hwDecoder = 0;
       
   123 	THwDeviceId hwPostProc = 0;
       
   124 
       
   125 	// select decoder
       
   126 	TRAP(err, hwDecoder = aDevVideoPlay.SelectDecoderL(KUidDevVideoTestDecodeHwDevice));
       
   127 	if (err != KErrNone)
       
   128 		{
       
   129 		ERR_PRINTF1(_L("Error - couldn't initialize decoder"));
       
   130 			return EInconclusive;
       
   131 		}
       
   132 
       
   133 	// select post-processor
       
   134 	TRAP(err, hwPostProc = aDevVideoPlay.SelectPostProcessorL(KUidDevVideoTestPostProcHwDevice));
       
   135 	if (err != KErrNone)
       
   136 		{
       
   137 		ERR_PRINTF1(_L("Error - couldn't initialize post processor"));
       
   138 			return EInconclusive;
       
   139 		}
       
   140 
       
   141 	// set YUV to RGB options with formats on decoder
       
   142 	TRAP(err, aDevVideoPlay.SetYuvToRgbOptionsL(hwDecoder, KTestYuvToRgb1, KTestYuvFormat1, KTestRgbFormat1) );
       
   143 	
       
   144 	// set YUV to RGB options with formats on post-processor
       
   145 	TRAP(err2, aDevVideoPlay.SetYuvToRgbOptionsL(hwPostProc, KTestYuvToRgb2, KTestYuvFormat2, KTestRgbFormat2) );
       
   146 
       
   147 
       
   148 	if ((err != expErr) || (err2 != expErr))
       
   149 		{
       
   150 		ERR_PRINTF3(_L("SetYuvToRgbOptionsL() on Decoder gave error %d (expected %d)"),err, expErr);
       
   151 		ERR_PRINTF3(_L("SetYuvToRgbOptionsL() on Post-Processor gave error %d (expected %d)"),err2, expErr);
       
   152 		ret = EFail;
       
   153 		}
       
   154 	else
       
   155 		INFO_PRINTF4(_L("SetYuvToRgbOptionsL(), %d, %d= %d"), err, err2, expErr);
       
   156 	
       
   157 	return ret;
       
   158 	}
       
   159 //------------------------------------------------------------------
       
   160 
       
   161 CTestDevVideoPlaySetYuvToRgbOptions::CTestDevVideoPlaySetYuvToRgbOptions(const TDesC& aTestName, TTestType aTestType)
       
   162 	:CTestDevVideoPlayStep(aTestName, aTestType)
       
   163 	{
       
   164 	}
       
   165 
       
   166 CTestDevVideoPlaySetYuvToRgbOptions* CTestDevVideoPlaySetYuvToRgbOptions::NewL(const TDesC& aTestName, TTestType aTestType)
       
   167 	{
       
   168 	CTestDevVideoPlaySetYuvToRgbOptions* self = new(ELeave) CTestDevVideoPlaySetYuvToRgbOptions(aTestName, aTestType);
       
   169 	return self;
       
   170 	}
       
   171 
       
   172 TVerdict CTestDevVideoPlaySetYuvToRgbOptions::DoTestL(CMMFDevVideoPlay& aDevVideoPlay)
       
   173 	{
       
   174 	TVerdict ret = EPass;
       
   175 	TInt expErr = KErrNone;
       
   176 	
       
   177 	INFO_PRINTF1(_L("CMMFDevVideoPlay:  SetYuvToRgbOptions"));
       
   178 	
       
   179 	// expected results
       
   180 	if (iTestType != ETestValid)
       
   181 		{
       
   182 		ERR_PRINTF1(_L("Error - invalid test step type"));
       
   183 		return EInconclusive;
       
   184 		}
       
   185 
       
   186 	TInt err = KErrNone;
       
   187 	TInt err2 = KErrNone;
       
   188 
       
   189 	THwDeviceId hwDecoder = 0;
       
   190 	THwDeviceId hwPostProc = 0;
       
   191 
       
   192 	// select decoder
       
   193 	TRAP(err, hwDecoder = aDevVideoPlay.SelectDecoderL(KUidDevVideoTestDecodeHwDevice));
       
   194 	if (err != KErrNone)
       
   195 		{
       
   196 		ERR_PRINTF1(_L("Error - couldn't initialize decoder"));
       
   197 			return EInconclusive;
       
   198 		}
       
   199 
       
   200 	// select post-processor
       
   201 	TRAP(err, hwPostProc = aDevVideoPlay.SelectPostProcessorL(KUidDevVideoTestPostProcHwDevice));
       
   202 	if (err != KErrNone)
       
   203 		{
       
   204 		ERR_PRINTF1(_L("Error - couldn't initialize post processor"));
       
   205 			return EInconclusive;
       
   206 		}
       
   207 
       
   208 	// set YUV to RGB options with formats on decoder
       
   209 	TRAP(err, aDevVideoPlay.SetYuvToRgbOptionsL(hwDecoder, KTestYuvToRgb1) );
       
   210 	
       
   211 	// set YUV to RGB options with formats on post-processor
       
   212 	TRAP(err2, aDevVideoPlay.SetYuvToRgbOptionsL(hwPostProc, KTestYuvToRgb2) );
       
   213 
       
   214 
       
   215 	if ((err != expErr) || (err2 != expErr))
       
   216 		{
       
   217 		ERR_PRINTF3(_L("SetYuvToRgbOptionsL() on Decoder gave error %d (expected %d)"),err, expErr);
       
   218 		ERR_PRINTF3(_L("SetYuvToRgbOptionsL() on Post-Processor gave error %d (expected %d)"),err2, expErr);
       
   219 		ret = EFail;
       
   220 		}
       
   221 	else
       
   222 		INFO_PRINTF4(_L("SetYuvToRgbOptionsL(), %d, %d= %d"), err, err2, expErr);
       
   223 	
       
   224 	return ret;
       
   225 	}
       
   226 //------------------------------------------------------------------
       
   227 
       
   228 CTestDevVideoPlaySetRotate::CTestDevVideoPlaySetRotate(const TDesC& aTestName, TTestType aTestType)
       
   229 	:CTestDevVideoPlayStep(aTestName, aTestType)
       
   230 	{
       
   231 	}
       
   232 
       
   233 CTestDevVideoPlaySetRotate* CTestDevVideoPlaySetRotate::NewL(const TDesC& aTestName, TTestType aTestType)
       
   234 	{
       
   235 	CTestDevVideoPlaySetRotate* self = new(ELeave) CTestDevVideoPlaySetRotate(aTestName, aTestType);
       
   236 	return self;
       
   237 	}
       
   238 
       
   239 TVerdict CTestDevVideoPlaySetRotate::DoTestL(CMMFDevVideoPlay& aDevVideoPlay)
       
   240 	{
       
   241 	TVerdict ret = EPass;
       
   242 	TInt expErr = KErrNone;
       
   243 	
       
   244 	INFO_PRINTF1(_L("CMMFDevVideoPlay:  SetRotate"));
       
   245 	
       
   246 	// expected results
       
   247 	if (iTestType != ETestValid)
       
   248 		{
       
   249 		ERR_PRINTF1(_L("Error - invalid test step type"));
       
   250 		return EInconclusive;
       
   251 		}
       
   252 
       
   253 	TInt err = KErrNone;
       
   254 	TInt err2 = KErrNone;
       
   255 
       
   256 	THwDeviceId hwDecoder = 0;
       
   257 	THwDeviceId hwPostProc = 0;
       
   258 
       
   259 	// select decoder
       
   260 	TRAP(err, hwDecoder = aDevVideoPlay.SelectDecoderL(KUidDevVideoTestDecodeHwDevice));
       
   261 	if (err != KErrNone)
       
   262 		{
       
   263 		ERR_PRINTF1(_L("Error - couldn't initialize decoder"));
       
   264 			return EInconclusive;
       
   265 		}
       
   266 
       
   267 	// select post-processor
       
   268 	TRAP(err, hwPostProc = aDevVideoPlay.SelectPostProcessorL(KUidDevVideoTestPostProcHwDevice));
       
   269 	if (err != KErrNone)
       
   270 		{
       
   271 		ERR_PRINTF1(_L("Error - couldn't initialize post processor"));
       
   272 			return EInconclusive;
       
   273 		}
       
   274 
       
   275 	// set rotate options on decoder
       
   276 	TRAP(err, aDevVideoPlay.SetRotateOptionsL(hwDecoder, KTestRotate1) );
       
   277 	
       
   278 	// set rotate options on post-processor
       
   279 	TRAP(err2, aDevVideoPlay.SetRotateOptionsL(hwPostProc, KTestRotate2) );
       
   280 
       
   281 
       
   282 	if ((err != expErr) || (err2 != expErr))
       
   283 		{
       
   284 		ERR_PRINTF3(_L("SetRotateOptionsL() on Decoder gave error %d (expected %d)"),err, expErr);
       
   285 		ERR_PRINTF3(_L("SetRotateOptionsL() on Post-Processor gave error %d (expected %d)"),err2, expErr);
       
   286 		ret = EFail;
       
   287 		}
       
   288 	else
       
   289 		INFO_PRINTF4(_L("SetRotateOptionsL(), %d, %d= %d"), err, err2, expErr);
       
   290 	
       
   291 	return ret;
       
   292 	}
       
   293 //------------------------------------------------------------------
       
   294 
       
   295 CTestDevVideoPlaySetScale::CTestDevVideoPlaySetScale(const TDesC& aTestName, TTestType aTestType)
       
   296 	:CTestDevVideoPlayStep(aTestName, aTestType)
       
   297 	{
       
   298 	}
       
   299 
       
   300 CTestDevVideoPlaySetScale* CTestDevVideoPlaySetScale::NewL(const TDesC& aTestName, TTestType aTestType)
       
   301 	{
       
   302 	CTestDevVideoPlaySetScale* self = new(ELeave) CTestDevVideoPlaySetScale(aTestName, aTestType);
       
   303 	return self;
       
   304 	}
       
   305 
       
   306 TVerdict CTestDevVideoPlaySetScale::DoTestL(CMMFDevVideoPlay& aDevVideoPlay)
       
   307 	{
       
   308 	TVerdict ret = EPass;
       
   309 	TInt expErr = KErrNone;
       
   310 	
       
   311 	INFO_PRINTF1(_L("CMMFDevVideoPlay:  SetScale"));
       
   312 	
       
   313 	// expected results
       
   314 	if (iTestType != ETestValid)
       
   315 		{
       
   316 		ERR_PRINTF1(_L("Error - invalid test step type"));
       
   317 		return EInconclusive;
       
   318 		}
       
   319 
       
   320 	TInt err = KErrNone;
       
   321 	TInt err2 = KErrNone;
       
   322 
       
   323 	THwDeviceId hwDecoder = 0;
       
   324 	THwDeviceId hwPostProc = 0;
       
   325 
       
   326 	// select decoder
       
   327 	TRAP(err, hwDecoder = aDevVideoPlay.SelectDecoderL(KUidDevVideoTestDecodeHwDevice));
       
   328 	if (err != KErrNone)
       
   329 		{
       
   330 		ERR_PRINTF1(_L("Error - couldn't initialize decoder"));
       
   331 			return EInconclusive;
       
   332 		}
       
   333 
       
   334 	// select post-processor
       
   335 	TRAP(err, hwPostProc = aDevVideoPlay.SelectPostProcessorL(KUidDevVideoTestPostProcHwDevice));
       
   336 	if (err != KErrNone)
       
   337 		{
       
   338 		ERR_PRINTF1(_L("Error - couldn't initialize post processor"));
       
   339 			return EInconclusive;
       
   340 		}
       
   341 
       
   342 	// set scale options on decoder
       
   343 	TSize testScale1(KTestScaleX, KTestScaleY);
       
   344 	TRAP(err, aDevVideoPlay.SetScaleOptionsL(hwDecoder, testScale1, ETrue) );
       
   345 	
       
   346 	TSize testScale2(KTestScaleY, KTestScaleX);
       
   347 	// set scale options on post-processor
       
   348 	TRAP(err2, aDevVideoPlay.SetScaleOptionsL(hwPostProc, testScale2, ETrue) );
       
   349 
       
   350 
       
   351 	if ((err != expErr) || (err2 != expErr))
       
   352 		{
       
   353 		ERR_PRINTF3(_L("SetScaleOptionsL() on Decoder gave error %d (expected %d)"),err, expErr);
       
   354 		ERR_PRINTF3(_L("SetScaleOptionsL() on Post-Processor gave error %d (expected %d)"),err2, expErr);
       
   355 		ret = EFail;
       
   356 		}
       
   357 	else
       
   358 		INFO_PRINTF4(_L("SetScaleOptionsL(), %d, %d= %d"), err, err2, expErr);
       
   359 	
       
   360 	return ret;
       
   361 	}
       
   362 //------------------------------------------------------------------
       
   363 
       
   364 CTestDevVideoPlaySetCrop::CTestDevVideoPlaySetCrop(const TDesC& aTestName, TTestType aTestType)
       
   365 	:CTestDevVideoPlayStep(aTestName, aTestType)
       
   366 	{
       
   367 	}
       
   368 
       
   369 CTestDevVideoPlaySetCrop* CTestDevVideoPlaySetCrop::NewL(const TDesC& aTestName, TTestType aTestType)
       
   370 	{
       
   371 	CTestDevVideoPlaySetCrop* self = new(ELeave) CTestDevVideoPlaySetCrop(aTestName, aTestType);
       
   372 	return self;
       
   373 	}
       
   374 
       
   375 TVerdict CTestDevVideoPlaySetCrop::DoTestL(CMMFDevVideoPlay& aDevVideoPlay)
       
   376 	{
       
   377 	TVerdict ret = EPass;
       
   378 	TInt expErr = KErrNone;
       
   379 	
       
   380 	INFO_PRINTF1(_L("CMMFDevVideoPlay:  SetCrop"));
       
   381 	
       
   382 	// expected results
       
   383 	if (iTestType != ETestValid)
       
   384 		{
       
   385 		ERR_PRINTF1(_L("Error - invalid test step type"));
       
   386 		return EInconclusive;
       
   387 		}
       
   388 
       
   389 	TInt err = KErrNone;
       
   390 	TInt err2 = KErrNone;
       
   391 
       
   392 	THwDeviceId hwDecoder = 0;
       
   393 	THwDeviceId hwPostProc = 0;
       
   394 
       
   395 	// select decoder
       
   396 	TRAP(err, hwDecoder = aDevVideoPlay.SelectDecoderL(KUidDevVideoTestDecodeHwDevice));
       
   397 	if (err != KErrNone)
       
   398 		{
       
   399 		ERR_PRINTF1(_L("Error - couldn't initialize decoder"));
       
   400 			return EInconclusive;
       
   401 		}
       
   402 
       
   403 	// select post-processor
       
   404 	TRAP(err, hwPostProc = aDevVideoPlay.SelectPostProcessorL(KUidDevVideoTestPostProcHwDevice));
       
   405 	if (err != KErrNone)
       
   406 		{
       
   407 		ERR_PRINTF1(_L("Error - couldn't initialize post processor"));
       
   408 			return EInconclusive;
       
   409 		}
       
   410 
       
   411 	// set output crop options on decoder
       
   412 	TRect testRect1(KTestOutputCropRectA, KTestOutputCropRectB, KTestOutputCropRectC, KTestOutputCropRectD);
       
   413 	TRAP(err, aDevVideoPlay.SetOutputCropOptionsL(hwDecoder, testRect1) );
       
   414 	
       
   415 	// set output crop options on post-processor
       
   416 	TRect testRect2(KTestOutputCropRectD, KTestOutputCropRectC, KTestOutputCropRectB, KTestOutputCropRectA);
       
   417 	TRAP(err2, aDevVideoPlay.SetOutputCropOptionsL(hwPostProc, testRect2) );
       
   418 
       
   419 
       
   420 	if ((err != expErr) || (err2 != expErr))
       
   421 		{
       
   422 		ERR_PRINTF3(_L("SetOutputCropOptionsL() on Decoder gave error %d (expected %d)"),err, expErr);
       
   423 		ERR_PRINTF3(_L("SetOutputCropOptionsL() on Post-Processor gave error %d (expected %d)"),err2, expErr);
       
   424 		ret = EFail;
       
   425 		}
       
   426 	else
       
   427 		INFO_PRINTF4(_L("SetOutputCropOptionsL(), %d, %d= %d"), err, err2, expErr);
       
   428 	
       
   429 	return ret;
       
   430 	}
       
   431 //------------------------------------------------------------------
       
   432 
       
   433 CTestDevVideoPlaySetPostProcOptions::CTestDevVideoPlaySetPostProcOptions(const TDesC& aTestName, TTestType aTestType)
       
   434 	:CTestDevVideoPlayStep(aTestName, aTestType)
       
   435 	{
       
   436 	}
       
   437 
       
   438 CTestDevVideoPlaySetPostProcOptions* CTestDevVideoPlaySetPostProcOptions::NewL(const TDesC& aTestName, TTestType aTestType)
       
   439 	{
       
   440 	CTestDevVideoPlaySetPostProcOptions* self = new(ELeave) CTestDevVideoPlaySetPostProcOptions(aTestName, aTestType);
       
   441 	return self;
       
   442 	}
       
   443 
       
   444 TVerdict CTestDevVideoPlaySetPostProcOptions::DoTestL(CMMFDevVideoPlay& aDevVideoPlay)
       
   445 	{
       
   446 	TVerdict ret = EPass;
       
   447 	TInt expErr = KErrNone;
       
   448 	
       
   449 	INFO_PRINTF1(_L("CMMFDevVideoPlay:  SetPostProcOptions"));
       
   450 	
       
   451 	// expected results
       
   452 	if (iTestType != ETestValid)
       
   453 		{
       
   454 		ERR_PRINTF1(_L("Error - invalid test step type"));
       
   455 		return EInconclusive;
       
   456 		}
       
   457 
       
   458 	TInt err = KErrNone;
       
   459 	TInt err2 = KErrNone;
       
   460 
       
   461 	THwDeviceId hwDecoder = 0;
       
   462 	THwDeviceId hwPostProc = 0;
       
   463 
       
   464 	// select decoder
       
   465 	TRAP(err, hwDecoder = aDevVideoPlay.SelectDecoderL(KUidDevVideoTestDecodeHwDevice));
       
   466 	if (err != KErrNone)
       
   467 		{
       
   468 		ERR_PRINTF1(_L("Error - couldn't initialize decoder"));
       
   469 			return EInconclusive;
       
   470 		}
       
   471 
       
   472 	// select post-processor
       
   473 	TRAP(err, hwPostProc = aDevVideoPlay.SelectPostProcessorL(KUidDevVideoTestPostProcHwDevice));
       
   474 	if (err != KErrNone)
       
   475 		{
       
   476 		ERR_PRINTF1(_L("Error - couldn't initialize post processor"));
       
   477 			return EInconclusive;
       
   478 		}
       
   479 
       
   480 	// set post-processor options on decoder
       
   481 	TRAP(err, aDevVideoPlay.SetPostProcSpecificOptionsL(hwDecoder, KTestPostProcOptions1) );
       
   482 	
       
   483 	// set post-processor options on post-processor
       
   484 	TRAP(err2, aDevVideoPlay.SetPostProcSpecificOptionsL(hwPostProc, KTestPostProcOptions2) );
       
   485 
       
   486 
       
   487 	if ((err != expErr) || (err2 != expErr))
       
   488 		{
       
   489 		ERR_PRINTF3(_L("SetPostProcSpecificOptionsL() on Decoder gave error %d (expected %d)"),err, expErr);
       
   490 		ERR_PRINTF3(_L("SetPostProcSpecificOptionsL() on Post-Processor gave error %d (expected %d)"),err2, expErr);
       
   491 		ret = EFail;
       
   492 		}
       
   493 	else
       
   494 		INFO_PRINTF4(_L("SetPostProcSpecificOptionsL(), %d, %d= %d"), err, err2, expErr);
       
   495 	
       
   496 	return ret;
       
   497 	}
       
   498 //------------------------------------------------------------------
       
   499 
       
   500 CTestDevVideoPlaySetClockSource::CTestDevVideoPlaySetClockSource(const TDesC& aTestName, TTestType aTestType)
       
   501 	:CTestDevVideoPlayStep(aTestName, aTestType)
       
   502 	{
       
   503 	}
       
   504 
       
   505 CTestDevVideoPlaySetClockSource* CTestDevVideoPlaySetClockSource::NewL(const TDesC& aTestName, TTestType aTestType)
       
   506 	{
       
   507 	CTestDevVideoPlaySetClockSource* self = new(ELeave) CTestDevVideoPlaySetClockSource(aTestName, aTestType);
       
   508 	return self;
       
   509 	}
       
   510 
       
   511 TVerdict CTestDevVideoPlaySetClockSource::DoTestL(CMMFDevVideoPlay& aDevVideoPlay)
       
   512 	{
       
   513 	TVerdict ret = EPass;
       
   514 //	TInt expErr = KErrNone;
       
   515 	TBool selDec = ETrue;
       
   516 	TBool selPost = ETrue;
       
   517 
       
   518 	INFO_PRINTF1(_L("CMMFDevVideoPlay:  SetClockSource"));
       
   519 	
       
   520 	// expected results
       
   521 	switch(iTestType)
       
   522 		{
       
   523 		case ETestValid:
       
   524 //			expErr = KErrNone;	// EABI warning removal
       
   525 			break;
       
   526 		case ETestDecoderOnly:
       
   527 			selPost = EFalse;
       
   528 			break;
       
   529 		case ETestPostProcOnly:
       
   530 			selDec = EFalse;
       
   531 			break;
       
   532 		default:
       
   533 			ERR_PRINTF1(_L("Error - invalid test step type"));
       
   534 			return EInconclusive;
       
   535 		}
       
   536 
       
   537 	TInt err = KErrNone;
       
   538 
       
   539 //	THwDeviceId hwDecoder = 0;
       
   540 //	THwDeviceId hwPostProc = 0;
       
   541 
       
   542 	// select decoder
       
   543 	if (selDec)
       
   544 		{
       
   545 //		TRAP(err, hwDecoder = aDevVideoPlay.SelectDecoderL(KUidDevVideoTestDecodeHwDevice));
       
   546 		TRAP(err, aDevVideoPlay.SelectDecoderL(KUidDevVideoTestDecodeHwDevice));	// EABI warning removal
       
   547 		if (err != KErrNone)
       
   548 			{
       
   549 			ERR_PRINTF1(_L("Error - couldn't initialize decoder"));
       
   550 				return EInconclusive;
       
   551 			}
       
   552 		}
       
   553 
       
   554 	// select post-processor
       
   555 	if (selPost)
       
   556 		{
       
   557 		TRAP(err, aDevVideoPlay.SelectPostProcessorL(KUidDevVideoTestPostProcHwDevice));	// EABI warning removal
       
   558 //		TRAP(err, hwPostProc = aDevVideoPlay.SelectPostProcessorL(KUidDevVideoTestPostProcHwDevice));
       
   559 		if (err != KErrNone)
       
   560 			{
       
   561 			ERR_PRINTF1(_L("Error - couldn't initialize post processor"));
       
   562 				return EInconclusive;
       
   563 			}
       
   564 		}
       
   565 
       
   566 	CSystemClockSource *time1 = NULL;
       
   567 
       
   568 	// no parameters so no need to have a separate 'test clock source'
       
   569 	TRAP(err, time1 = CSystemClockSource::NewL());
       
   570 	if (err != KErrNone)
       
   571 		{
       
   572 		ERR_PRINTF1(_L("Error - couldn't construct system clock class"));
       
   573 		
       
   574 		return EInconclusive;
       
   575 		}
       
   576 	
       
   577 	// set clock source 
       
   578 	aDevVideoPlay.SetClockSource(time1);
       
   579 	
       
   580 	// if there is no panic then test has passed
       
   581 
       
   582 	INFO_PRINTF1(_L("SetClockSourceL() called correctly on HW Devices."));
       
   583 	
       
   584 	// delete clock source
       
   585 	delete time1; time1 = NULL;
       
   586 
       
   587 	return ret;
       
   588 	}
       
   589 //------------------------------------------------------------------
       
   590 
       
   591 CTestDevVideoPlaySetVideoOutput::CTestDevVideoPlaySetVideoOutput(const TDesC& aTestName, TTestType aTestType)
       
   592 	:CTestDevVideoPlayStep(aTestName, aTestType)
       
   593 	{
       
   594 	}
       
   595 
       
   596 CTestDevVideoPlaySetVideoOutput* CTestDevVideoPlaySetVideoOutput::NewL(const TDesC& aTestName, TTestType aTestType)
       
   597 	{
       
   598 	CTestDevVideoPlaySetVideoOutput* self = new(ELeave) CTestDevVideoPlaySetVideoOutput(aTestName, aTestType);
       
   599 	return self;
       
   600 	}
       
   601 
       
   602 TVerdict CTestDevVideoPlaySetVideoOutput::DoTestL(CMMFDevVideoPlay& aDevVideoPlay)
       
   603 	{
       
   604 	TVerdict ret = EPass;
       
   605 	TInt expErr = KErrNone;
       
   606 	
       
   607 	INFO_PRINTF1(_L("CMMFDevVideoPlay:  SetVideoOutput"));
       
   608 	
       
   609 	// expected results
       
   610 	if (iTestType != ETestValid)
       
   611 		{
       
   612 		ERR_PRINTF1(_L("Error - invalid test step type"));
       
   613 		return EInconclusive;
       
   614 		}
       
   615 
       
   616 	TInt err = KErrNone;
       
   617 
       
   618 //	THwDeviceId hwDecoder = 0;
       
   619 //	THwDeviceId hwPostProc = 0;
       
   620 
       
   621 	// select decoder
       
   622 //	TRAP(err, hwDecoder = aDevVideoPlay.SelectDecoderL(KUidDevVideoTestDecodeHwDevice));
       
   623 	TRAP(err, aDevVideoPlay.SelectDecoderL(KUidDevVideoTestDecodeHwDevice));	// EABI warning removal
       
   624 	if (err != KErrNone)
       
   625 		{
       
   626 		ERR_PRINTF1(_L("Error - couldn't initialize decoder"));
       
   627 			return EInconclusive;
       
   628 		}
       
   629 
       
   630 	// select post-processor
       
   631 //	TRAP(err, hwPostProc = aDevVideoPlay.SelectPostProcessorL(KUidDevVideoTestPostProcHwDevice));
       
   632 	TRAP(err, aDevVideoPlay.SelectPostProcessorL(KUidDevVideoTestPostProcHwDevice));	// EABI warning removal
       
   633 	if (err != KErrNone)
       
   634 		{
       
   635 		ERR_PRINTF1(_L("Error - couldn't initialize post processor"));
       
   636 			return EInconclusive;
       
   637 		}
       
   638 
       
   639 	expErr = KErrHardwareNotAvailable;//Post processor plugin will leave with this if it gets
       
   640 									  //the method call correctly
       
   641 
       
   642 	TRAP(err, aDevVideoPlay.SetVideoDestScreenL(ETrue) )
       
   643 
       
   644 	if (err != expErr)
       
   645 		{
       
   646 		ERR_PRINTF3(_L("SetVideoDestScreenL() gave error %d (expected %d)"),err, expErr);
       
   647 		ret = EFail;
       
   648 		}
       
   649 	else
       
   650 		INFO_PRINTF3(_L("SetVideoDestScreenL(), %d = %d"), err, expErr);
       
   651 	
       
   652 	return ret;
       
   653 	}
       
   654 //------------------------------------------------------------------
       
   655 
       
   656 CTestDevVideoPlaySynchronizeDecoding::CTestDevVideoPlaySynchronizeDecoding(const TDesC& aTestName, TTestType aTestType)
       
   657 	:CTestDevVideoPlayStep(aTestName, aTestType)
       
   658 	{
       
   659 	}
       
   660 
       
   661 CTestDevVideoPlaySynchronizeDecoding* CTestDevVideoPlaySynchronizeDecoding::NewL(const TDesC& aTestName, TTestType aTestType)
       
   662 	{
       
   663 	CTestDevVideoPlaySynchronizeDecoding* self = new(ELeave) CTestDevVideoPlaySynchronizeDecoding(aTestName, aTestType);
       
   664 	return self;
       
   665 	}
       
   666 
       
   667 TVerdict CTestDevVideoPlaySynchronizeDecoding::DoTestL(CMMFDevVideoPlay& aDevVideoPlay)
       
   668 	{
       
   669 	TVerdict ret = EPass;
       
   670 	
       
   671 	INFO_PRINTF1(_L("CMMFDevVideoPlay:  SynchronizeDecoding"));
       
   672 	
       
   673 	// expected results
       
   674 	if (iTestType != ETestValid)
       
   675 		{
       
   676 		ERR_PRINTF1(_L("Error - invalid test step type"));
       
   677 		return EInconclusive;
       
   678 		}
       
   679 
       
   680 	TInt err = KErrNone;
       
   681 
       
   682 //	THwDeviceId hwDecoder = 0;
       
   683 //	THwDeviceId hwPostProc = 0;
       
   684 
       
   685 	// select decoder
       
   686 //	TRAP(err, hwDecoder = aDevVideoPlay.SelectDecoderL(KUidDevVideoTestDecodeHwDevice));
       
   687 	TRAP(err, aDevVideoPlay.SelectDecoderL(KUidDevVideoTestDecodeHwDevice));	// eABI warning removal
       
   688 	if (err != KErrNone)
       
   689 		{
       
   690 		ERR_PRINTF1(_L("Error - couldn't initialize decoder"));
       
   691 			return EInconclusive;
       
   692 		}
       
   693 
       
   694 	// select post-processor
       
   695 //	TRAP(err, hwPostProc = aDevVideoPlay.SelectPostProcessorL(KUidDevVideoTestPostProcHwDevice));
       
   696 	TRAP(err, aDevVideoPlay.SelectPostProcessorL(KUidDevVideoTestPostProcHwDevice));	// eABI warning removal
       
   697 	if (err != KErrNone)
       
   698 		{
       
   699 		ERR_PRINTF1(_L("Error - couldn't initialize post processor"));
       
   700 			return EInconclusive;
       
   701 		}
       
   702 
       
   703 	// call synchronize decoding on Decoder
       
   704 	aDevVideoPlay.SynchronizeDecoding(ETrue);
       
   705 	// if this doesn't panic then test passes
       
   706 
       
   707 	INFO_PRINTF1(_L("SynchronizeDecoding() called successfully."));
       
   708 	
       
   709 	return ret;
       
   710 	}
       
   711 //------------------------------------------------------------------
       
   712 
       
   713 CTestDevVideoPlaySetBufferOptions::CTestDevVideoPlaySetBufferOptions(const TDesC& aTestName, TTestType aTestType)
       
   714 	:CTestDevVideoPlayStep(aTestName, aTestType)
       
   715 	{
       
   716 	}
       
   717 
       
   718 CTestDevVideoPlaySetBufferOptions* CTestDevVideoPlaySetBufferOptions::NewL(const TDesC& aTestName, TTestType aTestType)
       
   719 	{
       
   720 	CTestDevVideoPlaySetBufferOptions* self = new(ELeave) CTestDevVideoPlaySetBufferOptions(aTestName, aTestType);
       
   721 	return self;
       
   722 	}
       
   723 
       
   724 TVerdict CTestDevVideoPlaySetBufferOptions::DoTestL(CMMFDevVideoPlay& aDevVideoPlay)
       
   725 	{
       
   726 	TVerdict ret = EPass;
       
   727 	TInt expErr = KErrNone;
       
   728 	
       
   729 	INFO_PRINTF1(_L("CMMFDevVideoPlay:  SetBufferOptions"));
       
   730 	
       
   731 	// expected results
       
   732 	if (iTestType != ETestValid)
       
   733 		{
       
   734 		ERR_PRINTF1(_L("Error - invalid test step type"));
       
   735 		return EInconclusive;
       
   736 		}
       
   737 
       
   738 	TInt err = KErrNone;
       
   739 
       
   740 //	THwDeviceId hwDecoder = 0;
       
   741 //	THwDeviceId hwPostProc = 0;
       
   742 
       
   743 	// select decoder
       
   744 //	TRAP(err, hwDecoder = aDevVideoPlay.SelectDecoderL(KUidDevVideoTestDecodeHwDevice));
       
   745 	TRAP(err, aDevVideoPlay.SelectDecoderL(KUidDevVideoTestDecodeHwDevice));	// EABI warning removal
       
   746 	if (err != KErrNone)
       
   747 		{
       
   748 		ERR_PRINTF1(_L("Error - couldn't initialize decoder"));
       
   749 			return EInconclusive;
       
   750 		}
       
   751 
       
   752 	// select post-processor
       
   753 //	TRAP(err, hwPostProc = aDevVideoPlay.SelectPostProcessorL(KUidDevVideoTestPostProcHwDevice));
       
   754 	TRAP(err, aDevVideoPlay.SelectPostProcessorL(KUidDevVideoTestPostProcHwDevice));	// EABI warning removal
       
   755 	if (err != KErrNone)
       
   756 		{
       
   757 		ERR_PRINTF1(_L("Error - couldn't initialize post processor"));
       
   758 			return EInconclusive;
       
   759 		}
       
   760 
       
   761 	// initialize buffer options to the test data
       
   762 	CMMFDevVideoPlay::TBufferOptions buffOptions = GetTestBufferOptions();
       
   763 
       
   764 	// set buffer options on decoder [will leave on error]
       
   765 	TRAP(err, aDevVideoPlay.SetBufferOptionsL(buffOptions) );
       
   766 
       
   767 	if (err != expErr)
       
   768 		{
       
   769 		ERR_PRINTF3(_L("SetBufferOptionsL() gave error %d (expected %d)"),err, expErr);
       
   770 		ret = EFail;
       
   771 		}
       
   772 	else
       
   773 		INFO_PRINTF3(_L("SetBufferOptions(), %d = %d"), err, expErr);
       
   774 	
       
   775 	return ret;
       
   776 	}
       
   777 //------------------------------------------------------------------
       
   778 
       
   779 CTestDevVideoPlayGetBufferOptions::CTestDevVideoPlayGetBufferOptions(const TDesC& aTestName, TTestType aTestType)
       
   780 	:CTestDevVideoPlayStep(aTestName, aTestType)
       
   781 	{
       
   782 	}
       
   783 
       
   784 CTestDevVideoPlayGetBufferOptions* CTestDevVideoPlayGetBufferOptions::NewL(const TDesC& aTestName, TTestType aTestType)
       
   785 	{
       
   786 	CTestDevVideoPlayGetBufferOptions* self = new(ELeave) CTestDevVideoPlayGetBufferOptions(aTestName, aTestType);
       
   787 	return self;
       
   788 	}
       
   789 
       
   790 TVerdict CTestDevVideoPlayGetBufferOptions::DoTestL(CMMFDevVideoPlay& aDevVideoPlay)
       
   791 	{
       
   792 	TVerdict ret = EPass;
       
   793 	TInt expErr = KErrNone;
       
   794 	
       
   795 	INFO_PRINTF1(_L("CMMFDevVideoPlay:  GetBufferOptions"));
       
   796 	
       
   797 	// expected results
       
   798 	if (iTestType != ETestValid)
       
   799 		{
       
   800 		ERR_PRINTF1(_L("Error - invalid test step type"));
       
   801 		return EInconclusive;
       
   802 		}
       
   803 
       
   804 	TInt err = KErrNone;
       
   805 
       
   806 //	THwDeviceId hwDecoder = 0;
       
   807 //	THwDeviceId hwPostProc = 0;
       
   808 
       
   809 	// select decoder
       
   810 //	TRAP(err, hwDecoder = aDevVideoPlay.SelectDecoderL(KUidDevVideoTestDecodeHwDevice));
       
   811 	TRAP(err, aDevVideoPlay.SelectDecoderL(KUidDevVideoTestDecodeHwDevice));	// EABI warning removal
       
   812 	if (err != KErrNone)
       
   813 		{
       
   814 		ERR_PRINTF1(_L("Error - couldn't initialize decoder"));
       
   815 			return EInconclusive;
       
   816 		}
       
   817 
       
   818 	// select post-processor
       
   819 //	TRAP(err, hwPostProc = aDevVideoPlay.SelectPostProcessorL(KUidDevVideoTestPostProcHwDevice));
       
   820 	TRAP(err, aDevVideoPlay.SelectPostProcessorL(KUidDevVideoTestPostProcHwDevice));	// EABI warning removal
       
   821 	if (err != KErrNone)
       
   822 		{
       
   823 		ERR_PRINTF1(_L("Error - couldn't initialize post processor"));
       
   824 			return EInconclusive;
       
   825 		}
       
   826 
       
   827 	// get buffer options from the decoder
       
   828 	CMMFDevVideoPlay::TBufferOptions buffOptions;
       
   829 	aDevVideoPlay.GetBufferOptions(buffOptions);
       
   830 
       
   831 	// compare this to the test data
       
   832 	if ( !CompareBufferOptions(buffOptions, GetTestBufferOptions()) )
       
   833 		{
       
   834 		ERR_PRINTF1(_L("GetBufferOptions() comparison with test data failed!"));
       
   835 		ret = EFail;
       
   836 		}
       
   837 	else 
       
   838 		{
       
   839 		INFO_PRINTF1(_L("GetBufferOptions() comparison with test data passed."));
       
   840 		INFO_PRINTF3(_L("GetBufferOptions(), %d = %d"), err, expErr);
       
   841 		}
       
   842 	
       
   843 	return ret;
       
   844 	}
       
   845 //------------------------------------------------------------------
       
   846 
       
   847 CTestDevVideoPlaySetHrdVbv::CTestDevVideoPlaySetHrdVbv(const TDesC& aTestName, TTestType aTestType)
       
   848 	:CTestDevVideoPlayStep(aTestName, aTestType)
       
   849 	{
       
   850 	}
       
   851 
       
   852 CTestDevVideoPlaySetHrdVbv* CTestDevVideoPlaySetHrdVbv::NewL(const TDesC& aTestName, TTestType aTestType)
       
   853 	{
       
   854 	CTestDevVideoPlaySetHrdVbv* self = new(ELeave) CTestDevVideoPlaySetHrdVbv(aTestName, aTestType);
       
   855 	return self;
       
   856 	}
       
   857 
       
   858 TVerdict CTestDevVideoPlaySetHrdVbv::DoTestL(CMMFDevVideoPlay& aDevVideoPlay)
       
   859 	{
       
   860 	TVerdict ret = EPass;
       
   861 	
       
   862 	INFO_PRINTF1(_L("CMMFDevVideoPlay:  SetHrdVbv"));
       
   863 	
       
   864 	// expected results
       
   865 	if (iTestType != ETestValid)
       
   866 		{
       
   867 		ERR_PRINTF1(_L("Error - invalid test step type"));
       
   868 		return EInconclusive;
       
   869 		}
       
   870 
       
   871 	TInt err = KErrNone;
       
   872 
       
   873 //	THwDeviceId hwDecoder = 0;
       
   874 //	THwDeviceId hwPostProc = 0;
       
   875 
       
   876 	// select decoder
       
   877 //	TRAP(err, hwDecoder = aDevVideoPlay.SelectDecoderL(KUidDevVideoTestDecodeHwDevice));
       
   878 	TRAP(err, aDevVideoPlay.SelectDecoderL(KUidDevVideoTestDecodeHwDevice));	// EABI warning removal
       
   879 	if (err != KErrNone)
       
   880 		{
       
   881 		ERR_PRINTF1(_L("Error - couldn't initialize decoder"));
       
   882 			return EInconclusive;
       
   883 		}
       
   884 
       
   885 	// select post-processor
       
   886 //	TRAP(err, hwPostProc = aDevVideoPlay.SelectPostProcessorL(KUidDevVideoTestPostProcHwDevice));
       
   887 	TRAP(err, aDevVideoPlay.SelectPostProcessorL(KUidDevVideoTestPostProcHwDevice));	// EABI warning removal
       
   888 	if (err != KErrNone)
       
   889 		{
       
   890 		ERR_PRINTF1(_L("Error - couldn't initialize post processor"));
       
   891 			return EInconclusive;
       
   892 		}
       
   893 
       
   894 	HBufC8* hrdVbvParams = NULL; 
       
   895 	TRAP(err, hrdVbvParams = KTestHrdVbvParams().AllocL());
       
   896 	if (err != KErrNone)
       
   897 		{
       
   898 		ERR_PRINTF1(_L("Error - couldn't initialize hrd/vbv params"));
       
   899 			return EInconclusive;
       
   900 		}
       
   901 
       
   902 	// set hrd/vbv spec on decoder
       
   903 	aDevVideoPlay.SetHrdVbvSpec(KTestHrdVbvSpec, *hrdVbvParams);
       
   904 	// if this doesn't panic then test has passed
       
   905 
       
   906 	// delete copy
       
   907 	delete hrdVbvParams; hrdVbvParams = NULL;
       
   908 
       
   909 	INFO_PRINTF1(_L("SetHrdVbvSpec() called successfully."));
       
   910 	
       
   911 	return ret;
       
   912 	}
       
   913 
       
   914 //------------------------------------------------------------------
       
   915 
       
   916 void CTestDevVideoPlayInit::MdvpoInitComplete(TInt aError)
       
   917 	{
       
   918 	INFO_PRINTF2(_L("MdvpoInitComplete():  Error = %d"), aError);
       
   919 	
       
   920 	iError = aError;
       
   921 	}
       
   922 
       
   923 CTestDevVideoPlayInit::CTestDevVideoPlayInit(const TDesC& aTestName, TTestType aTestType)
       
   924 	:CTestDevVideoPlayStep(aTestName, aTestType)
       
   925 	{
       
   926 	}
       
   927 
       
   928 CTestDevVideoPlayInit* CTestDevVideoPlayInit::NewL(const TDesC& aTestName, TTestType aTestType)
       
   929 	{
       
   930 	CTestDevVideoPlayInit* self = new(ELeave) CTestDevVideoPlayInit(aTestName, aTestType);
       
   931 	return self;
       
   932 	}
       
   933 
       
   934 TVerdict CTestDevVideoPlayInit::DoTestL(CMMFDevVideoPlay& aDevVideoPlay)
       
   935 	{
       
   936 	TVerdict ret = EPass;
       
   937 	TInt expErr = KErrNone;
       
   938 	
       
   939 	INFO_PRINTF1(_L("CMMFDevVideoPlay:  Init"));
       
   940 	
       
   941 	// expected results
       
   942 	if (iTestType != ETestValid)
       
   943 		{
       
   944 		ERR_PRINTF1(_L("Error - invalid test step type"));
       
   945 		return EInconclusive;
       
   946 		}
       
   947 
       
   948 	TInt err = KErrNone;
       
   949 
       
   950 //	THwDeviceId hwDecoder = 0;
       
   951 //	THwDeviceId hwPostProc = 0;
       
   952 
       
   953 	// select decoder
       
   954 //	TRAP(err, hwDecoder = aDevVideoPlay.SelectDecoderL(KUidDevVideoTestDecodeHwDevice));
       
   955 	TRAP(err, aDevVideoPlay.SelectDecoderL(KUidDevVideoTestDecodeHwDevice));	// EABI warning removal
       
   956 	if (err != KErrNone)
       
   957 		{
       
   958 		ERR_PRINTF1(_L("Error - couldn't initialize decoder"));
       
   959 			return EInconclusive;
       
   960 		}
       
   961 
       
   962 	// select post-processor
       
   963 //	TRAP(err, hwPostProc = aDevVideoPlay.SelectPostProcessorL(KUidDevVideoTestPostProcHwDevice));
       
   964 	TRAP(err, aDevVideoPlay.SelectPostProcessorL(KUidDevVideoTestPostProcHwDevice));	// EABI warning removal
       
   965 	if (err != KErrNone)
       
   966 		{
       
   967 		ERR_PRINTF1(_L("Error - couldn't initialize post processor"));
       
   968 			return EInconclusive;
       
   969 		}
       
   970 
       
   971 	// initialize CDevVideoPlay and wait for response in iError
       
   972 	// iError is set by the MdvpoInitComplete callback
       
   973 	aDevVideoPlay.Initialize();
       
   974 
       
   975 	if (iError != expErr)
       
   976 		{
       
   977 		ERR_PRINTF3(_L("Initialize() gave error %d (expected %d)"),iError, expErr);
       
   978 		ret = EFail;
       
   979 		}
       
   980 	else
       
   981 		INFO_PRINTF3(_L("Initialize(), %d = %d"), iError, expErr);
       
   982 	
       
   983 	return ret;
       
   984 	}
       
   985 
       
   986 //------------------------------------------------------------------
       
   987 
       
   988 void CTestDevVideoPlayStartDSA::MdvpoInitComplete(TInt aError)
       
   989 	{
       
   990 	INFO_PRINTF2(_L("CTestDevVideoPlayStartDSA::MdvpoInitComplete():  Error = %d"), aError);
       
   991 	
       
   992 	iError = aError;
       
   993 	}
       
   994 
       
   995 CTestDevVideoPlayStartDSA::CTestDevVideoPlayStartDSA(const TDesC& aTestName, TTestType aTestType)
       
   996 	:CTestDevVideoPlayStep(aTestName, aTestType)
       
   997 	{
       
   998 	}
       
   999 
       
  1000 CTestDevVideoPlayStartDSA* CTestDevVideoPlayStartDSA::NewL(const TDesC& aTestName, TTestType aTestType)
       
  1001 	{
       
  1002 	CTestDevVideoPlayStartDSA* self = new(ELeave) CTestDevVideoPlayStartDSA(aTestName, aTestType);
       
  1003 	return self;
       
  1004 	}
       
  1005 
       
  1006 TVerdict CTestDevVideoPlayStartDSA::DoTestL(CMMFDevVideoPlay& aDevVideoPlay)
       
  1007 	{
       
  1008 	TVerdict ret = EPass;
       
  1009 	TInt expErr = KErrNone;
       
  1010 	
       
  1011 	INFO_PRINTF1(_L("CMMFDevVideoPlay:  StartDSA"));
       
  1012 	
       
  1013 	// expected results
       
  1014 	if (iTestType != ETestValid)
       
  1015 		{
       
  1016 		ERR_PRINTF1(_L("Error - invalid test step type"));
       
  1017 		return EInconclusive;
       
  1018 		}
       
  1019 
       
  1020 	TInt err = KErrNone;
       
  1021 
       
  1022 //	THwDeviceId hwDecoder = 0;
       
  1023 //	THwDeviceId hwPostProc = 0;
       
  1024 
       
  1025 	// select decoder
       
  1026 //	TRAP(err, hwDecoder = aDevVideoPlay.SelectDecoderL(KUidDevVideoTestDecodeHwDevice));
       
  1027 	TRAP(err, aDevVideoPlay.SelectDecoderL(KUidDevVideoTestDecodeHwDevice));	// EABI warning removal
       
  1028 	if (err != KErrNone)
       
  1029 		{
       
  1030 		ERR_PRINTF1(_L("Error - couldn't initialize decoder"));
       
  1031 			return EInconclusive;
       
  1032 		}
       
  1033 
       
  1034 	// select post-processor
       
  1035 //	TRAP(err, hwPostProc = aDevVideoPlay.SelectPostProcessorL(KUidDevVideoTestPostProcHwDevice));
       
  1036 	TRAP(err, aDevVideoPlay.SelectPostProcessorL(KUidDevVideoTestPostProcHwDevice));	// EABI warning removal
       
  1037 	if (err != KErrNone)
       
  1038 		{
       
  1039 		ERR_PRINTF1(_L("Error - couldn't initialize post processor"));
       
  1040 			return EInconclusive;
       
  1041 		}
       
  1042 
       
  1043 	// initialize CDevVideoPlay and wait for response
       
  1044 	// iError is set by the MdvpoInitComplete callback
       
  1045 	aDevVideoPlay.Initialize();
       
  1046 	if (iError != KErrNone)
       
  1047 		{
       
  1048 		ERR_PRINTF1(_L("Error - couldn't initialize DevVideoPlay"));
       
  1049 			return EInconclusive;
       
  1050 		}
       
  1051 
       
  1052 	// screen device is independant of DevVideo so we can construct one here
       
  1053 	// and just check that it is non NULL at the plugin
       
  1054 	CFbsScreenDevice *screenDev = NULL;
       
  1055 	TRAP(err, screenDev = CFbsScreenDevice::NewL(_L("scdv"), EColor16));
       
  1056 	if (err != KErrNone)
       
  1057 		{
       
  1058 		ERR_PRINTF1(_L("Error - couldn't initialize screen device"));
       
  1059 		//return EInconclusive;
       
  1060 		}
       
  1061 
       
  1062 	TRect dsaRect(KTestDSARectA, KTestDSARectB, KTestDSARectC, KTestDSARectD);
       
  1063 	TRegionFix<1> reg1(dsaRect);
       
  1064 	
       
  1065 	// start direct screen access
       
  1066 	TRAP(err, aDevVideoPlay.StartDirectScreenAccessL(dsaRect, *screenDev, reg1) );
       
  1067 	
       
  1068 	// delete screen device and rect
       
  1069 	delete screenDev;  
       
  1070 	screenDev = NULL;
       
  1071 
       
  1072 	reg1.Clear();
       
  1073 
       
  1074 	if (err != expErr)
       
  1075 		{
       
  1076 		ERR_PRINTF3(_L("StartDirectScreenAccessL() gave error %d (expected %d)"),err, expErr);
       
  1077 		ret = EFail;
       
  1078 		}
       
  1079 	else
       
  1080 		INFO_PRINTF3(_L("StartDirectScreenAccessL(), %d = %d"), err, expErr);
       
  1081 	
       
  1082 	return ret;
       
  1083 	}
       
  1084 //------------------------------------------------------------------
       
  1085 
       
  1086 void CTestDevVideoPlaySetClipRegion::MdvpoInitComplete(TInt aError)
       
  1087 	{
       
  1088 	INFO_PRINTF2(_L("CTestDevVideoPlaySetClipRegion::MdvpoInitComplete():  Error = %d"), aError);
       
  1089 	
       
  1090 	iError = aError;
       
  1091 	}
       
  1092 
       
  1093 CTestDevVideoPlaySetClipRegion::CTestDevVideoPlaySetClipRegion(const TDesC& aTestName, TTestType aTestType)
       
  1094 	:CTestDevVideoPlayStep(aTestName, aTestType)
       
  1095 	{
       
  1096 	}
       
  1097 
       
  1098 CTestDevVideoPlaySetClipRegion* CTestDevVideoPlaySetClipRegion::NewL(const TDesC& aTestName, TTestType aTestType)
       
  1099 	{
       
  1100 	CTestDevVideoPlaySetClipRegion* self = new(ELeave) CTestDevVideoPlaySetClipRegion(aTestName, aTestType);
       
  1101 	return self;
       
  1102 	}
       
  1103 
       
  1104 TVerdict CTestDevVideoPlaySetClipRegion::DoTestL(CMMFDevVideoPlay& aDevVideoPlay)
       
  1105 	{
       
  1106 	TVerdict ret = EPass;
       
  1107 	
       
  1108 	INFO_PRINTF1(_L("CMMFDevVideoPlay:  SetClipRegion"));
       
  1109 	
       
  1110 	// expected results
       
  1111 	if (iTestType != ETestValid)
       
  1112 		{
       
  1113 		ERR_PRINTF1(_L("Error - invalid test step type"));
       
  1114 		return EInconclusive;
       
  1115 		}
       
  1116 
       
  1117 	TInt err = KErrNone;
       
  1118 
       
  1119 //	THwDeviceId hwDecoder = 0;
       
  1120 //	THwDeviceId hwPostProc = 0;
       
  1121 
       
  1122 	// select decoder
       
  1123 //	TRAP(err, hwDecoder = aDevVideoPlay.SelectDecoderL(KUidDevVideoTestDecodeHwDevice));
       
  1124 	TRAP(err, aDevVideoPlay.SelectDecoderL(KUidDevVideoTestDecodeHwDevice));	// eABI warning removal
       
  1125 	if (err != KErrNone)
       
  1126 		{
       
  1127 		ERR_PRINTF1(_L("Error - couldn't initialize decoder"));
       
  1128 			return EInconclusive;
       
  1129 		}
       
  1130 
       
  1131 	// select post-processor
       
  1132 //	TRAP(err, hwPostProc = aDevVideoPlay.SelectPostProcessorL(KUidDevVideoTestPostProcHwDevice));
       
  1133 	TRAP(err, aDevVideoPlay.SelectPostProcessorL(KUidDevVideoTestPostProcHwDevice));	// EABI warning removal
       
  1134 	if (err != KErrNone)
       
  1135 		{
       
  1136 		ERR_PRINTF1(_L("Error - couldn't initialize post processor"));
       
  1137 			return EInconclusive;
       
  1138 		}
       
  1139 
       
  1140 	// initialize CDevVideoPlay and wait for response
       
  1141 	// iError is set by the MdvpoInitComplete callback
       
  1142 	aDevVideoPlay.Initialize();
       
  1143 	
       
  1144 	if (iError != KErrNone)
       
  1145 		{
       
  1146 		ERR_PRINTF1(_L("Error - couldn't initialize DevVideoPlay"));
       
  1147 			return EInconclusive;
       
  1148 		}
       
  1149 
       
  1150 	TRect dsaRect(KTestDSARectA, KTestDSARectB, KTestDSARectC, KTestDSARectD);
       
  1151 	TRegionFix<1> reg1(dsaRect);
       
  1152 	
       
  1153 	// set clip region 
       
  1154 	aDevVideoPlay.SetScreenClipRegion(reg1);
       
  1155 	
       
  1156 	// clear region
       
  1157 	reg1.Clear();
       
  1158 
       
  1159 	// if no PANIC then test has passed
       
  1160 	INFO_PRINTF1(_L("SetScreenClipRegion() called successfully"));
       
  1161 	
       
  1162 	return ret;
       
  1163 	}
       
  1164 //------------------------------------------------------------------
       
  1165 
       
  1166 void CTestDevVideoPlaySetPauseClipFail::MdvpoInitComplete(TInt aError)
       
  1167 	{
       
  1168 	INFO_PRINTF2(_L("CTestDevVideoPlaySetPauseClipFail::MdvpoInitComplete():  Error = %d"), aError);
       
  1169 	
       
  1170 	iError = aError;
       
  1171 	}
       
  1172 
       
  1173 CTestDevVideoPlaySetPauseClipFail::CTestDevVideoPlaySetPauseClipFail(const TDesC& aTestName, TTestType aTestType)
       
  1174 	:CTestDevVideoPlayStep(aTestName, aTestType)
       
  1175 	{
       
  1176 	}
       
  1177 
       
  1178 CTestDevVideoPlaySetPauseClipFail* CTestDevVideoPlaySetPauseClipFail::NewL(const TDesC& aTestName, TTestType aTestType)
       
  1179 	{
       
  1180 	CTestDevVideoPlaySetPauseClipFail* self = new(ELeave) CTestDevVideoPlaySetPauseClipFail(aTestName, aTestType);
       
  1181 	return self;
       
  1182 	}
       
  1183 
       
  1184 TVerdict CTestDevVideoPlaySetPauseClipFail::DoTestL(CMMFDevVideoPlay& aDevVideoPlay)
       
  1185 	{
       
  1186 	TVerdict ret = EPass;
       
  1187 	
       
  1188 	INFO_PRINTF1(_L("CMMFDevVideoPlay:  SetPauseClipFail"));
       
  1189 	
       
  1190 	// expected results
       
  1191 	if (iTestType != ETestValid)
       
  1192 		{
       
  1193 		ERR_PRINTF1(_L("Error - invalid test step type"));
       
  1194 		return EInconclusive;
       
  1195 		}
       
  1196 
       
  1197 	TInt err = KErrNone;
       
  1198 
       
  1199 //	THwDeviceId hwDecoder = 0;
       
  1200 //	THwDeviceId hwPostProc = 0;
       
  1201 
       
  1202 	// select decoder
       
  1203 //	TRAP(err, hwDecoder = aDevVideoPlay.SelectDecoderL(KUidDevVideoTestDecodeHwDevice));
       
  1204 	TRAP(err, aDevVideoPlay.SelectDecoderL(KUidDevVideoTestDecodeHwDevice));	// EABI warning removal
       
  1205 	if (err != KErrNone)
       
  1206 		{
       
  1207 		ERR_PRINTF1(_L("Error - couldn't initialize decoder"));
       
  1208 			return EInconclusive;
       
  1209 		}
       
  1210 
       
  1211 	// select post-processor
       
  1212 //	TRAP(err, hwPostProc = aDevVideoPlay.SelectPostProcessorL(KUidDevVideoTestPostProcHwDevice));
       
  1213 	TRAP(err, aDevVideoPlay.SelectPostProcessorL(KUidDevVideoTestPostProcHwDevice));	// EABI warning removal
       
  1214 	if (err != KErrNone)
       
  1215 		{
       
  1216 		ERR_PRINTF1(_L("Error - couldn't initialize post processor"));
       
  1217 			return EInconclusive;
       
  1218 		}
       
  1219 
       
  1220 	// initialize CDevVideoPlay and wait for response
       
  1221 	// iError is set by the MdvpoInitComplete callback
       
  1222 	aDevVideoPlay.Initialize();
       
  1223 	
       
  1224 	if (iError != KErrNone)
       
  1225 		{
       
  1226 		ERR_PRINTF1(_L("Error - couldn't initialize DevVideoPlay"));
       
  1227 			return EInconclusive;
       
  1228 		}
       
  1229 
       
  1230 	// set pause on clip fail to ETrue
       
  1231 	aDevVideoPlay.SetPauseOnClipFail(ETrue);
       
  1232 
       
  1233 	// if no PANIC then test has passed
       
  1234 	INFO_PRINTF1(_L("SetPauseClipFail() called successfully"));
       
  1235 	
       
  1236 	return ret;
       
  1237 	}
       
  1238 //------------------------------------------------------------------
       
  1239 
       
  1240 void CTestDevVideoPlayAbortDSA::MdvpoInitComplete(TInt aError)
       
  1241 	{
       
  1242 	INFO_PRINTF2(_L("CTestDevVideoPlayAbortDSA::MdvpoInitComplete():  Error = %d"), aError);
       
  1243 	
       
  1244 	iError = aError;
       
  1245 	}
       
  1246 
       
  1247 CTestDevVideoPlayAbortDSA::CTestDevVideoPlayAbortDSA(const TDesC& aTestName, TTestType aTestType)
       
  1248 	:CTestDevVideoPlayStep(aTestName, aTestType)
       
  1249 	{
       
  1250 	}
       
  1251 
       
  1252 CTestDevVideoPlayAbortDSA* CTestDevVideoPlayAbortDSA::NewL(const TDesC& aTestName, TTestType aTestType)
       
  1253 	{
       
  1254 	CTestDevVideoPlayAbortDSA* self = new(ELeave) CTestDevVideoPlayAbortDSA(aTestName, aTestType);
       
  1255 	return self;
       
  1256 	}
       
  1257 
       
  1258 TVerdict CTestDevVideoPlayAbortDSA::DoTestL(CMMFDevVideoPlay& aDevVideoPlay)
       
  1259 	{
       
  1260 	TVerdict ret = EPass;
       
  1261 	
       
  1262 	INFO_PRINTF1(_L("CMMFDevVideoPlay:  AbortDSA"));
       
  1263 	
       
  1264 	// expected results
       
  1265 	if (iTestType != ETestValid)
       
  1266 		{
       
  1267 		ERR_PRINTF1(_L("Error - invalid test step type"));
       
  1268 		return EInconclusive;
       
  1269 		}
       
  1270 
       
  1271 	TInt err = KErrNone;
       
  1272 
       
  1273 //	THwDeviceId hwDecoder = 0;
       
  1274 //	THwDeviceId hwPostProc = 0;
       
  1275 
       
  1276 	// select decoder
       
  1277 //	TRAP(err, hwDecoder = aDevVideoPlay.SelectDecoderL(KUidDevVideoTestDecodeHwDevice));
       
  1278 	TRAP(err, aDevVideoPlay.SelectDecoderL(KUidDevVideoTestDecodeHwDevice));	// EABI warning removal
       
  1279 	if (err != KErrNone)
       
  1280 		{
       
  1281 		ERR_PRINTF1(_L("Error - couldn't initialize decoder"));
       
  1282 			return EInconclusive;
       
  1283 		}
       
  1284 
       
  1285 	// select post-processor
       
  1286 //	TRAP(err, hwPostProc = aDevVideoPlay.SelectPostProcessorL(KUidDevVideoTestPostProcHwDevice));
       
  1287 	TRAP(err, aDevVideoPlay.SelectPostProcessorL(KUidDevVideoTestPostProcHwDevice));	// eABI warning removal
       
  1288 	if (err != KErrNone)
       
  1289 		{
       
  1290 		ERR_PRINTF1(_L("Error - couldn't initialize post processor"));
       
  1291 			return EInconclusive;
       
  1292 		}
       
  1293 
       
  1294 	// initialize CDevVideoPlay and wait for response
       
  1295 	// iError is set by the MdvpoInitComplete callback
       
  1296 	aDevVideoPlay.Initialize();
       
  1297 	
       
  1298 	if (iError != KErrNone)
       
  1299 		{
       
  1300 		ERR_PRINTF1(_L("Error - couldn't initialize DevVideoPlay"));
       
  1301 			return EInconclusive;
       
  1302 		}
       
  1303 
       
  1304 	// abort direct screen access [is there a way to check this?]
       
  1305 	aDevVideoPlay.AbortDirectScreenAccess();
       
  1306 
       
  1307 	INFO_PRINTF1(_L("AbortDirectScreenAccess() called successfully"));
       
  1308 	
       
  1309 	return ret;
       
  1310 	}
       
  1311 //------------------------------------------------------------------
       
  1312 
       
  1313 void CTestDevVideoPlayIsPlaying::MdvpoInitComplete(TInt aError)
       
  1314 	{
       
  1315 	INFO_PRINTF2(_L("CTestDevVideoPlayIsPlaying::MdvpoInitComplete():  Error = %d"), aError);
       
  1316 	
       
  1317 	iError = aError;
       
  1318 	}
       
  1319 
       
  1320 CTestDevVideoPlayIsPlaying::CTestDevVideoPlayIsPlaying(const TDesC& aTestName, TTestType aTestType)
       
  1321 	:CTestDevVideoPlayStep(aTestName, aTestType)
       
  1322 	{
       
  1323 	}
       
  1324 
       
  1325 CTestDevVideoPlayIsPlaying* CTestDevVideoPlayIsPlaying::NewL(const TDesC& aTestName, TTestType aTestType)
       
  1326 	{
       
  1327 	CTestDevVideoPlayIsPlaying* self = new(ELeave) CTestDevVideoPlayIsPlaying(aTestName, aTestType);
       
  1328 	return self;
       
  1329 	}
       
  1330 
       
  1331 TVerdict CTestDevVideoPlayIsPlaying::DoTestL(CMMFDevVideoPlay& aDevVideoPlay)
       
  1332 	{
       
  1333 	TVerdict ret = EPass;
       
  1334 	
       
  1335 	INFO_PRINTF1(_L("CMMFDevVideoPlay:  IsPlaying"));
       
  1336 	
       
  1337 	// expected results
       
  1338 	if (iTestType != ETestValid)
       
  1339 		{
       
  1340 		ERR_PRINTF1(_L("Error - invalid test step type"));
       
  1341 		return EInconclusive;
       
  1342 		}
       
  1343 
       
  1344 	TInt err = KErrNone;
       
  1345 
       
  1346 //	THwDeviceId hwDecoder = 0;
       
  1347 //	THwDeviceId hwPostProc = 0;
       
  1348 
       
  1349 	// select decoder
       
  1350 //	TRAP(err, hwDecoder = aDevVideoPlay.SelectDecoderL(KUidDevVideoTestDecodeHwDevice));
       
  1351 	TRAP(err, aDevVideoPlay.SelectDecoderL(KUidDevVideoTestDecodeHwDevice));	// EABI warning removal
       
  1352 	if (err != KErrNone)
       
  1353 		{
       
  1354 		ERR_PRINTF1(_L("Error - couldn't initialize decoder"));
       
  1355 			return EInconclusive;
       
  1356 		}
       
  1357 
       
  1358 	// select post-processor
       
  1359 //	TRAP(err, hwPostProc = aDevVideoPlay.SelectPostProcessorL(KUidDevVideoTestPostProcHwDevice));
       
  1360 	TRAP(err, aDevVideoPlay.SelectPostProcessorL(KUidDevVideoTestPostProcHwDevice));	// EABI warning removal
       
  1361 	if (err != KErrNone)
       
  1362 		{
       
  1363 		ERR_PRINTF1(_L("Error - couldn't initialize post processor"));
       
  1364 			return EInconclusive;
       
  1365 		}
       
  1366 
       
  1367 	// initialize CDevVideoPlay and wait for response
       
  1368 	// iError is set by the MdvpoInitComplete callback
       
  1369 	aDevVideoPlay.Initialize();
       
  1370 	
       
  1371 	if (iError != KErrNone)
       
  1372 		{
       
  1373 		ERR_PRINTF1(_L("Error - couldn't initialize DevVideoPlay"));
       
  1374 			return EInconclusive;
       
  1375 		}
       
  1376 
       
  1377 	TBool playing = ETrue;
       
  1378 
       
  1379 	// check DevVideoPlay is not playing
       
  1380 	playing = aDevVideoPlay.IsPlaying();
       
  1381 
       
  1382 	if (playing)
       
  1383 		{
       
  1384 		ERR_PRINTF1(_L("IsPlaying() reported ETrue - expected EFalse!"));
       
  1385 		ret = EFail;
       
  1386 		}
       
  1387 	else
       
  1388 		INFO_PRINTF1(_L("IsPlaying() returned EFalse as expected"));
       
  1389 	
       
  1390 	return ret;
       
  1391 	}
       
  1392 //------------------------------------------------------------------
       
  1393 
       
  1394 void CTestDevVideoPlayRedraw::MdvpoInitComplete(TInt aError)
       
  1395 	{
       
  1396 	INFO_PRINTF2(_L("CTestDevVideoPlayRedraw::MdvpoInitComplete():  Error = %d"), aError);
       
  1397 	
       
  1398 	iError = aError;
       
  1399 	}
       
  1400 
       
  1401 CTestDevVideoPlayRedraw::CTestDevVideoPlayRedraw(const TDesC& aTestName, TTestType aTestType)
       
  1402 	:CTestDevVideoPlayStep(aTestName, aTestType)
       
  1403 	{
       
  1404 	}
       
  1405 
       
  1406 CTestDevVideoPlayRedraw* CTestDevVideoPlayRedraw::NewL(const TDesC& aTestName, TTestType aTestType)
       
  1407 	{
       
  1408 	CTestDevVideoPlayRedraw* self = new(ELeave) CTestDevVideoPlayRedraw(aTestName, aTestType);
       
  1409 	return self;
       
  1410 	}
       
  1411 
       
  1412 TVerdict CTestDevVideoPlayRedraw::DoTestL(CMMFDevVideoPlay& aDevVideoPlay)
       
  1413 	{
       
  1414 	TVerdict ret = EPass;
       
  1415 	
       
  1416 	INFO_PRINTF1(_L("CMMFDevVideoPlay:  Redraw"));
       
  1417 	
       
  1418 	// expected results
       
  1419 	if (iTestType != ETestValid)
       
  1420 		{
       
  1421 		ERR_PRINTF1(_L("Error - invalid test step type"));
       
  1422 		return EInconclusive;
       
  1423 		}
       
  1424 
       
  1425 	TInt err = KErrNone;
       
  1426 
       
  1427 //	THwDeviceId hwDecoder = 0;
       
  1428 //	THwDeviceId hwPostProc = 0;
       
  1429 
       
  1430 	// select decoder
       
  1431 //	TRAP(err, hwDecoder = aDevVideoPlay.SelectDecoderL(KUidDevVideoTestDecodeHwDevice));
       
  1432 	TRAP(err, aDevVideoPlay.SelectDecoderL(KUidDevVideoTestDecodeHwDevice));	// EABI warning removal
       
  1433 	if (err != KErrNone)
       
  1434 		{
       
  1435 		ERR_PRINTF1(_L("Error - couldn't initialize decoder"));
       
  1436 			return EInconclusive;
       
  1437 		}
       
  1438 
       
  1439 	// select post-processor
       
  1440 //	TRAP(err, hwPostProc = aDevVideoPlay.SelectPostProcessorL(KUidDevVideoTestPostProcHwDevice));
       
  1441 	TRAP(err, aDevVideoPlay.SelectPostProcessorL(KUidDevVideoTestPostProcHwDevice));	// EABI warning removal
       
  1442 	if (err != KErrNone)
       
  1443 		{
       
  1444 		ERR_PRINTF1(_L("Error - couldn't initialize post processor"));
       
  1445 			return EInconclusive;
       
  1446 		}
       
  1447 
       
  1448 	// initialize CDevVideoPlay and wait for response
       
  1449 	// iError is set by the MdvpoInitComplete callback
       
  1450 	aDevVideoPlay.Initialize();
       
  1451 	
       
  1452 	if (iError != KErrNone)
       
  1453 		{
       
  1454 		ERR_PRINTF1(_L("Error - couldn't initialize DevVideoPlay"));
       
  1455 			return EInconclusive;
       
  1456 		}
       
  1457 
       
  1458 	// call redraw [is there a way to check this?]
       
  1459 	aDevVideoPlay.Redraw();
       
  1460 
       
  1461 	INFO_PRINTF1(_L("Redraw() called successfully"));
       
  1462 	
       
  1463 	return ret;
       
  1464 	}
       
  1465 //------------------------------------------------------------------
       
  1466 
       
  1467 void CTestDevVideoPlayStart::MdvpoInitComplete(TInt aError)
       
  1468 	{
       
  1469 	INFO_PRINTF2(_L("CTestDevVideoPlayStart::MdvpoInitComplete():  Error = %d"), aError);
       
  1470 	
       
  1471 	iError = aError;
       
  1472 	}
       
  1473 
       
  1474 CTestDevVideoPlayStart::CTestDevVideoPlayStart(const TDesC& aTestName, TTestType aTestType)
       
  1475 	:CTestDevVideoPlayStep(aTestName, aTestType)
       
  1476 	{
       
  1477 	}
       
  1478 
       
  1479 CTestDevVideoPlayStart* CTestDevVideoPlayStart::NewL(const TDesC& aTestName, TTestType aTestType)
       
  1480 	{
       
  1481 	CTestDevVideoPlayStart* self = new(ELeave) CTestDevVideoPlayStart(aTestName, aTestType);
       
  1482 	return self;
       
  1483 	}
       
  1484 
       
  1485 TVerdict CTestDevVideoPlayStart::DoTestL(CMMFDevVideoPlay& aDevVideoPlay)
       
  1486 	{
       
  1487 	TVerdict ret = EPass;
       
  1488 //	TInt expErr = KErrNone;
       
  1489 	TBool selDec = ETrue;
       
  1490 	TBool selPost = ETrue;
       
  1491 
       
  1492 	INFO_PRINTF1(_L("CMMFDevVideoPlay:  Start"));
       
  1493 	
       
  1494 	// expected results
       
  1495 	switch(iTestType)
       
  1496 		{
       
  1497 		case ETestValid:
       
  1498 //			expErr = KErrNone;	// EABI warning removal
       
  1499 			break;
       
  1500 		case ETestDecoderOnly:
       
  1501 			selPost = EFalse;
       
  1502 			break;
       
  1503 		case ETestPostProcOnly:
       
  1504 			selDec = EFalse;
       
  1505 			break;
       
  1506 		default:
       
  1507 			ERR_PRINTF1(_L("Error - invalid test step type"));
       
  1508 			return EInconclusive;
       
  1509 		}
       
  1510 
       
  1511 	TInt err = KErrNone;
       
  1512 
       
  1513 //	THwDeviceId hwDecoder = 0;
       
  1514 //	THwDeviceId hwPostProc = 0;
       
  1515 
       
  1516 	// select decoder
       
  1517 	if (selDec)
       
  1518 		{
       
  1519 //		TRAP(err, hwDecoder = aDevVideoPlay.SelectDecoderL(KUidDevVideoTestDecodeHwDevice));
       
  1520 		TRAP(err, aDevVideoPlay.SelectDecoderL(KUidDevVideoTestDecodeHwDevice));	// EABI warning removal
       
  1521 		if (err != KErrNone)
       
  1522 			{
       
  1523 			ERR_PRINTF1(_L("Error - couldn't initialize decoder"));
       
  1524 				return EInconclusive;
       
  1525 			}
       
  1526 		}
       
  1527 
       
  1528 	// select post-processor
       
  1529 	if (selPost)
       
  1530 		{
       
  1531 //		TRAP(err, hwPostProc = aDevVideoPlay.SelectPostProcessorL(KUidDevVideoTestPostProcHwDevice));
       
  1532 		TRAP(err, aDevVideoPlay.SelectPostProcessorL(KUidDevVideoTestPostProcHwDevice));	// EABIO warning removal
       
  1533 		if (err != KErrNone)
       
  1534 			{
       
  1535 			ERR_PRINTF1(_L("Error - couldn't initialize post processor"));
       
  1536 				return EInconclusive;
       
  1537 			}
       
  1538 		}
       
  1539 
       
  1540 	// initialize CDevVideoPlay and wait for response
       
  1541 	// iError is set by the MdvpoInitComplete callback
       
  1542 	aDevVideoPlay.Initialize();
       
  1543 	
       
  1544 	if (iError != KErrNone)
       
  1545 		{
       
  1546 		ERR_PRINTF1(_L("Error - couldn't initialize DevVideoPlay"));
       
  1547 			return EInconclusive;
       
  1548 		}
       
  1549 
       
  1550 	// check not already playing
       
  1551 	TBool playing = aDevVideoPlay.IsPlaying();
       
  1552 	if (playing)
       
  1553 		{
       
  1554 		ERR_PRINTF1(_L("Error - DevVideoPlay already playing!"));
       
  1555 			return EInconclusive;
       
  1556 		}
       
  1557 
       
  1558 	// call start on DevVideoPlay then check IsPlaying()
       
  1559 	aDevVideoPlay.Start();
       
  1560 	playing = aDevVideoPlay.IsPlaying();
       
  1561 
       
  1562 	if (!playing)
       
  1563 		{
       
  1564 		ERR_PRINTF1(_L("IsPlaying() returned EFalse - expected ETrue"));
       
  1565 		ret = EFail;
       
  1566 		}
       
  1567 	else
       
  1568 		INFO_PRINTF1(_L("Start() called successfully"));
       
  1569 	
       
  1570 	return ret;
       
  1571 	}
       
  1572 //------------------------------------------------------------------
       
  1573 
       
  1574 void CTestDevVideoPlayStop::MdvpoInitComplete(TInt aError)
       
  1575 	{
       
  1576 	INFO_PRINTF2(_L("CTestDevVideoPlayStop::MdvpoInitComplete():  Error = %d"), aError);
       
  1577 	
       
  1578 	iError = aError;
       
  1579 	}
       
  1580 
       
  1581 CTestDevVideoPlayStop::CTestDevVideoPlayStop(const TDesC& aTestName, TTestType aTestType)
       
  1582 	:CTestDevVideoPlayStep(aTestName, aTestType)
       
  1583 	{
       
  1584 	}
       
  1585 
       
  1586 CTestDevVideoPlayStop* CTestDevVideoPlayStop::NewL(const TDesC& aTestName, TTestType aTestType)
       
  1587 	{
       
  1588 	CTestDevVideoPlayStop* self = new(ELeave) CTestDevVideoPlayStop(aTestName, aTestType);
       
  1589 	return self;
       
  1590 	}
       
  1591 
       
  1592 TVerdict CTestDevVideoPlayStop::DoTestL(CMMFDevVideoPlay& aDevVideoPlay)
       
  1593 	{
       
  1594 	TVerdict ret = EPass;
       
  1595 //	TInt expErr = KErrNone;
       
  1596 	TBool selDec = ETrue;
       
  1597 	TBool selPost = ETrue;
       
  1598 
       
  1599 	INFO_PRINTF1(_L("CMMFDevVideoPlay:  Stop"));
       
  1600 	
       
  1601 	// expected results
       
  1602 	switch(iTestType)
       
  1603 		{
       
  1604 		case ETestValid:
       
  1605 //			expErr = KErrNone;	// EABI warning removal
       
  1606 			break;
       
  1607 		case ETestDecoderOnly:
       
  1608 			selPost = EFalse;
       
  1609 			break;
       
  1610 		case ETestPostProcOnly:
       
  1611 			selDec = EFalse;
       
  1612 			break;
       
  1613 		default:
       
  1614 			ERR_PRINTF1(_L("Error - invalid test step type"));
       
  1615 			return EInconclusive;
       
  1616 		}
       
  1617 
       
  1618 	TInt err = KErrNone;
       
  1619 
       
  1620 //	THwDeviceId hwDecoder = 0;
       
  1621 //	THwDeviceId hwPostProc = 0;
       
  1622 
       
  1623 	// select decoder
       
  1624 	if (selDec)
       
  1625 		{
       
  1626 //		TRAP(err, hwDecoder = aDevVideoPlay.SelectDecoderL(KUidDevVideoTestDecodeHwDevice));
       
  1627 		TRAP(err, aDevVideoPlay.SelectDecoderL(KUidDevVideoTestDecodeHwDevice));	// EABI warning removal
       
  1628 		if (err != KErrNone)
       
  1629 			{
       
  1630 			ERR_PRINTF1(_L("Error - couldn't initialize decoder"));
       
  1631 				return EInconclusive;
       
  1632 			}
       
  1633 		}
       
  1634 
       
  1635 	// select post-processor
       
  1636 	if (selPost)
       
  1637 		{
       
  1638 //		TRAP(err, hwPostProc = aDevVideoPlay.SelectPostProcessorL(KUidDevVideoTestPostProcHwDevice));
       
  1639 		TRAP(err, aDevVideoPlay.SelectPostProcessorL(KUidDevVideoTestPostProcHwDevice));	// EABI warning removal
       
  1640 		if (err != KErrNone)
       
  1641 			{
       
  1642 			ERR_PRINTF1(_L("Error - couldn't initialize post processor"));
       
  1643 				return EInconclusive;
       
  1644 			}
       
  1645 		}
       
  1646 	// initialize CDevVideoPlay and wait for response
       
  1647 	// iError is set by the MdvpoInitComplete callback
       
  1648 	aDevVideoPlay.Initialize();
       
  1649 	
       
  1650 	if (iError != KErrNone)
       
  1651 		{
       
  1652 		ERR_PRINTF1(_L("Error - couldn't initialize DevVideoPlay"));
       
  1653 			return EInconclusive;
       
  1654 		}
       
  1655 
       
  1656 	// check DevVideoPlay has started playing then call stop
       
  1657 	aDevVideoPlay.Start();
       
  1658 	TBool playing = aDevVideoPlay.IsPlaying();
       
  1659 
       
  1660 	if (!playing)
       
  1661 		{
       
  1662 		ERR_PRINTF1(_L("Error - couldn't start playback!"));
       
  1663 			return EInconclusive;
       
  1664 		}
       
  1665 
       
  1666 	// call stop
       
  1667 	aDevVideoPlay.Stop();
       
  1668 	playing = aDevVideoPlay.IsPlaying();
       
  1669 
       
  1670 	if (playing)
       
  1671 		{
       
  1672 		ERR_PRINTF1(_L("IsPlaying() returned ETrue - expected EFalse"));
       
  1673 		ret = EFail;
       
  1674 		}
       
  1675 	else
       
  1676 		INFO_PRINTF1(_L("Stop() called successfully"));
       
  1677 	
       
  1678 	return ret;
       
  1679 	}
       
  1680 //------------------------------------------------------------------
       
  1681 
       
  1682 void CTestDevVideoPlayPause::MdvpoInitComplete(TInt aError)
       
  1683 	{
       
  1684 	INFO_PRINTF2(_L("CTestDevVideoPlayPause::MdvpoInitComplete():  Error = %d"), aError);
       
  1685 	
       
  1686 	iError = aError;
       
  1687 	}
       
  1688 
       
  1689 CTestDevVideoPlayPause::CTestDevVideoPlayPause(const TDesC& aTestName, TTestType aTestType)
       
  1690 	:CTestDevVideoPlayStep(aTestName, aTestType)
       
  1691 	{
       
  1692 	}
       
  1693 
       
  1694 CTestDevVideoPlayPause* CTestDevVideoPlayPause::NewL(const TDesC& aTestName, TTestType aTestType)
       
  1695 	{
       
  1696 	CTestDevVideoPlayPause* self = new(ELeave) CTestDevVideoPlayPause(aTestName, aTestType);
       
  1697 	return self;
       
  1698 	}
       
  1699 
       
  1700 TVerdict CTestDevVideoPlayPause::DoTestL(CMMFDevVideoPlay& aDevVideoPlay)
       
  1701 	{
       
  1702 	TVerdict ret = EPass;
       
  1703 //	TInt expErr = KErrNone;
       
  1704 	TBool selDec = ETrue;
       
  1705 	TBool selPost = ETrue;
       
  1706 
       
  1707 	INFO_PRINTF1(_L("CMMFDevVideoPlay:  Pause"));
       
  1708 	
       
  1709 	// expected results
       
  1710 	switch(iTestType)
       
  1711 		{
       
  1712 		case ETestValid:
       
  1713 //			expErr = KErrNone;	// EABI warning removal
       
  1714 			break;
       
  1715 		case ETestDecoderOnly:
       
  1716 			selPost = EFalse;
       
  1717 			break;
       
  1718 		case ETestPostProcOnly:
       
  1719 			selDec = EFalse;
       
  1720 			break;
       
  1721 		default:
       
  1722 			ERR_PRINTF1(_L("Error - invalid test step type"));
       
  1723 			return EInconclusive;
       
  1724 		}
       
  1725 
       
  1726 	TInt err = KErrNone;
       
  1727 
       
  1728 //	THwDeviceId hwDecoder = 0;
       
  1729 //	THwDeviceId hwPostProc = 0;
       
  1730 
       
  1731 	// select decoder
       
  1732 	if (selDec)
       
  1733 		{
       
  1734 //		TRAP(err, hwDecoder = aDevVideoPlay.SelectDecoderL(KUidDevVideoTestDecodeHwDevice));
       
  1735 		TRAP(err, aDevVideoPlay.SelectDecoderL(KUidDevVideoTestDecodeHwDevice));	// EABI warning removal
       
  1736 		if (err != KErrNone)
       
  1737 			{
       
  1738 			ERR_PRINTF1(_L("Error - couldn't initialize decoder"));
       
  1739 				return EInconclusive;
       
  1740 			}
       
  1741 		}
       
  1742 
       
  1743 	// select post-processor
       
  1744 	if (selPost)
       
  1745 		{
       
  1746 //		TRAP(err, hwPostProc = aDevVideoPlay.SelectPostProcessorL(KUidDevVideoTestPostProcHwDevice));
       
  1747 		TRAP(err, aDevVideoPlay.SelectPostProcessorL(KUidDevVideoTestPostProcHwDevice));	// EABI warning removal
       
  1748 		if (err != KErrNone)
       
  1749 			{
       
  1750 			ERR_PRINTF1(_L("Error - couldn't initialize post processor"));
       
  1751 				return EInconclusive;
       
  1752 			}
       
  1753 		}
       
  1754 
       
  1755 	// initialize CDevVideoPlay and wait for response
       
  1756 	// iError is set by the MdvpoInitComplete callback
       
  1757 	aDevVideoPlay.Initialize();
       
  1758 	
       
  1759 	if (iError != KErrNone)
       
  1760 		{
       
  1761 		ERR_PRINTF1(_L("Error - couldn't initialize DevVideoPlay"));
       
  1762 			return EInconclusive;
       
  1763 		}
       
  1764 
       
  1765 	// check DevVideoPlay has started playing then call pause
       
  1766 	aDevVideoPlay.Start();
       
  1767 	TBool playing = aDevVideoPlay.IsPlaying();
       
  1768 
       
  1769 	if (!playing)
       
  1770 		{
       
  1771 		ERR_PRINTF1(_L("Error - couldn't start playback!"));
       
  1772 			return EInconclusive;
       
  1773 		}
       
  1774 
       
  1775 	// call pause
       
  1776 	aDevVideoPlay.Pause();
       
  1777 	playing = aDevVideoPlay.IsPlaying();
       
  1778 
       
  1779 	if (playing)
       
  1780 		{
       
  1781 		ERR_PRINTF1(_L("IsPlaying() returned ETrue - expected EFalse"));
       
  1782 		ret = EFail;
       
  1783 		}
       
  1784 	else
       
  1785 		INFO_PRINTF1(_L("Pause() called successfully"));
       
  1786 
       
  1787 	return ret;
       
  1788 	}
       
  1789 //------------------------------------------------------------------
       
  1790