devsound/devsoundrefplugin/tsrc/CIPlugins/src/teststepciunderflowautostopcontrol.cpp
author hgs
Fri, 08 Oct 2010 19:45:45 +0100
changeset 2 1c6fdad012dc
parent 0 79dd3e2336a0
permissions -rw-r--r--
2010wk40_02
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
     1
// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
     2
// All rights reserved.
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
     3
// This component and the accompanying materials are made available
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
     4
// under the terms of "Eclipse Public License v1.0"
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
     5
// which accompanies this distribution, and is available
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
     7
//
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
     8
// Initial Contributors:
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
     9
// Nokia Corporation - initial contribution.
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    10
//
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    11
// Contributors:
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    12
//
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    13
// Description:
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    14
//
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    15
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    16
#include "teststepciunderflowautostopcontrol.h"
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    17
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    18
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    19
TVerdict CTestStepCIUnderflowAutoStopControl::DoTestStepL()
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    20
	{
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    21
	iTestStepResult = ETestSuiteError;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    22
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    23
	INFO_PRINTF1(_L("Initializing test CI device"));
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    24
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    25
	if (iTestStepName.Compare(_L("MM-MMF-DEVSOUNDCI-U-0091-HP")) == 0)
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    26
		{
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    27
		iTestStepResult = DoTestStep0091L();
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    28
		}
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    29
	else if (iTestStepName.Compare(_L("MM-MMF-DEVSOUNDCI-U-0092-HP")) == 0)
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    30
		{
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    31
		iTestStepResult = DoTestStep0092L();
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    32
		}
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    33
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    34
	return iTestStepResult;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    35
	}
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    36
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    37
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    38
TVerdict CTestStepCIUnderflowAutoStopControl::DoTestStep0091L()
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    39
	{
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    40
	iTestStepResult = EFail;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    41
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    42
	INFO_PRINTF1(_L("UnderflowAutoStopControl - Instantiating"));
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    43
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    44
	//Initialize - with the UID of our test HwDevice
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    45
	#ifndef SYMBIAN_MULTIMEDIA_A3FDEVSOUND
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    46
	TUid testUID = {KUidUnderflowAutoStopControlTestDevice};
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    47
	#else
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    48
	TFourCC testUID('T','0','2','1');
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    49
	#endif
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    50
	
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    51
	iTestStepResult = TestInitialize(testUID, EMMFStatePlaying);
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    52
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    53
	if (iTestStepResult != EPass)
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    54
		{
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    55
		INFO_PRINTF1(_L("DevSound failed to instantiate the test device"));
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    56
		return EInconclusive;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    57
		}
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    58
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    59
	// reset the value as previous test is pass
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    60
	iTestStepResult = EFail;  
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    61
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    62
	// KUidunderflowAutoStopControl
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    63
	MMMFUnderflowAutoStopControl* ptr = static_cast <MMMFUnderflowAutoStopControl*> (iMMFDevSound->CustomInterface(KUidUnderflowAutoStopControl));
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    64
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    65
	if (ptr)
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    66
		{
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    67
		INFO_PRINTF1(_L("MMMFUnderflowAutoStopControl instantiated successfully"));
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    68
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    69
		iTestStepResult = EPass;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    70
		}
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    71
	else
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    72
		{
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    73
		ERR_PRINTF1(_L("MMMFUnderflowAutoStopControl failed to retrieve the interface"));
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    74
		}
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    75
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    76
	return iTestStepResult;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    77
	}
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    78
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    79
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    80
TVerdict CTestStepCIUnderflowAutoStopControl::DoTestStep0092L()
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    81
	{
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    82
	iTestStepResult = EFail;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    83
	TInt result = KErrGeneral;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    84
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    85
	INFO_PRINTF1(_L("MMMFUnderflowAutoStopControl - SetConversionFormat"));
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    86
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    87
	//Initialize - with the UID of our test HwDevice
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    88
	#ifndef SYMBIAN_MULTIMEDIA_A3FDEVSOUND
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    89
	TUid testUID = {KUidUnderflowAutoStopControlTestDevice};
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    90
	#else
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    91
	TFourCC testUID('T','0','2','1');
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    92
	#endif
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    93
	
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    94
	iTestStepResult = TestInitialize(testUID, EMMFStatePlaying);
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    95
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    96
	if (iTestStepResult != EPass)
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    97
		{
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    98
		INFO_PRINTF1(_L("DevSound failed to instantiate the test device"));
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
    99
		return EInconclusive;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   100
		}
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   101
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   102
	// reset the value as previous test is pass
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   103
	iTestStepResult = EFail;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   104
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   105
	// KUidUnderflowAutoStopControl
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   106
	MMMFUnderflowAutoStopControl* ptr = static_cast <MMMFUnderflowAutoStopControl*> (iMMFDevSound->CustomInterface(KUidUnderflowAutoStopControl));
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   107
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   108
	if (ptr)
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   109
		{
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   110
		result = ptr->MmuascTurnOffUnderflowAutoStop(); // call method
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   111
		
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   112
		if (result == KErrNone)
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   113
			{
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   114
			INFO_PRINTF1(_L("MMMFUnderflowAutoStopControl::MmuascTurnOffUnderflowAutoStop finished successfully"));
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   115
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   116
			iTestStepResult = EPass;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   117
			}
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   118
		else
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   119
			{
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   120
			ERR_PRINTF2(_L("MMMFUnderflowAutoStopControl::MmuascTurnOffUnderflowAutoStop failed with error %d"), result);
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   121
			}
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   122
		}
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   123
	else
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   124
		{
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   125
		INFO_PRINTF1(_L("MMMFUnderflowAutoStopControl failed to retrieve the interface"));
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   126
		iTestStepResult = EInconclusive;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   127
		}
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   128
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   129
	return iTestStepResult;
79dd3e2336a0 2010wk36_01
hgs
parents:
diff changeset
   130
	}