mmlibs/mmfw/tsrc/mmfunittest/aclnt/TSU_MMF_ACLNT_01/TestStepPlayerVarious.cpp
author hgs
Tue, 02 Nov 2010 12:28:51 +0000
changeset 6 fe9d1bf55678
parent 0 b8ed18f6c07b
permissions -rw-r--r--
2010wk46_02
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     1
// Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     2
// All rights reserved.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     3
// This component and the accompanying materials are made available
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     4
// under the terms of "Eclipse Public License v1.0"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     5
// which accompanies this distribution, and is available
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     7
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     8
// Initial Contributors:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     9
// Nokia Corporation - initial contribution.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    10
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    11
// Contributors:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    12
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    13
// Description:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    14
// This file contains an example Test step implementation 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    15
// This demonstrates the various functions provided
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    16
// by the CTestStep base class which are available within
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    17
// a test step 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    18
// 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    19
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    20
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    21
// EPOC includes
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    22
#include <e32base.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    23
#include <e32test.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    24
#include <e32keys.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    25
#include <c32comm.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    26
#include <f32file.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    27
#include <etel.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    28
#include <etelmm.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    29
#include <testframework.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    30
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    31
#include <mdaaudiosampleplayer.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    32
//#include <MdaAudioSampleEditor.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    33
//#include <MdaAudioTonePlayer.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    34
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    35
// Test system includes
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    36
#include <testframework.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    37
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    38
// Specific includes for this test suite
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    39
#include "TestStepUnitMMFAudClient.h"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    40
#include "TestSuiteUnitMMFAudClient.h"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    41
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    42
// Specific includes for these test steps
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    43
#include "TestStepPlayerManip.h"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    44
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    45
#include "mmfclientaudioplayer.h"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    46
#include "../../ctlfrm/TS_Codes.h"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    47
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    48
_LIT(KAudioControllerName,"Symbian Audio Wav Test controller");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    49
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    50
// --------------------------------------------
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    51
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    52
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    53
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    54
 * Static constructor for CTestStepPlayerPosition.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    55
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    56
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    57
 * @return	"CTestStepPlayerPosition*"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    58
 *			The constructed CTestStepPlayerPosition
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    59
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    60
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    61
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    62
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    63
CTestStepPlayerPosition* CTestStepPlayerPosition::NewL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    64
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    65
	CTestStepPlayerPosition* self = new(ELeave) CTestStepPlayerPosition;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    66
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    67
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    68
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    69
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    70
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    71
 * Test step constructor.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    72
 * Each test step initialises its own name.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    73
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    74
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    75
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    76
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    77
CTestStepPlayerPosition::CTestStepPlayerPosition() : iHasPlayed(EFalse)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    78
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    79
	iTestStepResult = EPass;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    80
	// store the name of this test case
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    81
	// this is the name that is used by the script file
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    82
	iTestStepName = _L("MM-MMF-ACLNT-U-0035-CP");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    83
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    84
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    85
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    86
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    87
 * Test step destructor.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    88
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    89
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    90
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    91
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    92
CTestStepPlayerPosition::~CTestStepPlayerPosition()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    93
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    94
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    95
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    96
 * Implementation of the MMdaAudioPlayerCallback interface functions
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    97
 **/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    98
void CTestStepPlayerPosition::MapcInitComplete(TInt aError, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    99
								const TTimeIntervalMicroSeconds &/*aDuration*/)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   100
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   101
	iError = aError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   102
	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   103
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   104
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   105
void CTestStepPlayerPosition::MapcPlayComplete(TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   106
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   107
	iError = aError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   108
	if (iError == KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   109
		iHasPlayed = ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   110
	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   111
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   112
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   113
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   114
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   115
 * Test step Preamble.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   116
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   117
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   118
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   119
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   120
 enum TVerdict CTestStepPlayerPosition::DoTestStepPreambleL(void)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   121
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   122
	 enum TVerdict verdict;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   123
	 // this installs the scheduler
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   124
	 verdict = CTestStepUnitMMFAudClient::DoTestStepPreambleL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   125
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   126
	// Printing to the console and log file
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   127
	 INFO_PRINTF1(_L("MM-MMF-ACLNT-U-0035-CP"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   128
	 INFO_PRINTF1(_L("this test is getting and setting the postion of a sound file after openning it, and playing it. GetPosition()"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   129
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   130
	 iError = KErrNone; //KErrTimedOut;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   131
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   132
	 if(!GetStringFromConfig(_L("SectionOne"), _L("AudioPlayFName1"), iFileName))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   133
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   134
		 //INFO_PRINTF2(_L("file name %s not found..."), fileptr);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   135
		 return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   136
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   137
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   138
	 iPlayer = CMMFMdaAudioPlayerUtility::NewFilePlayerL(iFileName, *this);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   139
	 CActiveScheduler::Start();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   140
	 User::After(1000000);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   141
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   142
	 if (iPlayer == NULL ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   143
		 iError != KErrNone )
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   144
		 return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   145
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   146
	 //store Duration
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   147
	 iDuration = iPlayer->Duration();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   148
	 if (iDuration <= TTimeIntervalMicroSeconds(0) )
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   149
		 return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   150
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   151
	// check if player openned the file successfully
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   152
	TInt err1 = KErrNone;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   153
	TInt state = 0;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   154
	err1 = GetAudPlayerState(iPlayer, state);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   155
	if ( err1 != KErrNone ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   156
		 state != CMMFMdaAudioPlayerUtility::EStopped )
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   157
		return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   158
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   159
	 return verdict;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   160
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   161
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   162
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   163
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   164
 * Test step Postamble.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   165
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   166
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   167
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   168
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   169
enum TVerdict CTestStepPlayerPosition::DoTestStepPostambleL(void)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   170
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   171
	delete iPlayer;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   172
	iPlayer = NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   173
	//[ Destroy the scheduler ]
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   174
	delete iPlayer;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   175
	return CTestStepUnitMMFAudClient::DoTestStepPostambleL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   176
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   177
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   178
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   179
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   180
 * Do the test step.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   181
 * Each test step must supply an implementation for DoTestStepL.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   182
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   183
 * @return	"TVerdict"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   184
 *			The result of the test step
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   185
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   186
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   187
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   188
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   189
TVerdict CTestStepPlayerPosition::DoTestStepL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   190
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   191
	iTestStepResult = EPass;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   192
	TInt err; 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   193
	TTimeIntervalMicroSeconds pos;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   194
	//__MM_HEAP_MARK;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   195
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   196
	// check if position 0 before playing
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   197
	err = iPlayer->GetPosition(pos);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   198
	if (err != KErrNone ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   199
		pos != TTimeIntervalMicroSeconds(0))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   200
		return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   201
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   202
	// set position and check
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   203
	iPlayer->SetPosition(TTimeIntervalMicroSeconds(500000));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   204
	err = iPlayer->GetPosition(pos);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   205
	if (err != KErrNone ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   206
		pos != TTimeIntervalMicroSeconds(500000))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   207
		return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   208
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   209
	// set position and check
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   210
	iPlayer->SetPosition(TTimeIntervalMicroSeconds(10000));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   211
	err = iPlayer->GetPosition(pos);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   212
	if (err != KErrNone ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   213
		pos != TTimeIntervalMicroSeconds(10000))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   214
		return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   215
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   216
	//  play pause and check
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   217
	iPlayer->Play();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   218
	CActiveScheduler::Start();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   219
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   220
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   221
	//INC24264
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   222
	err = iPlayer->GetPosition(pos);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   223
	if ((err == KErrNone) || (pos <= TTimeIntervalMicroSeconds(0)))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   224
		return iTestStepResult = EPass;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   225
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   226
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   227
	// stop it after 200 milisecs, not accurate though
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   228
	/*User::After(200000);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   229
	iPlayer->Pause();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   230
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   231
	// check position again, we don't have an accurate opsition
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   232
	err = iPlayer->GetPosition(pos);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   233
	if (err != KErrNone ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   234
		pos <= TTimeIntervalMicroSeconds(0) ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   235
		pos > iDuration )
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   236
		return EFail;*/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   237
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   238
	delete iPlayer;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   239
	iPlayer = NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   240
	//__MM_HEAP_MARKEND;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   241
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   242
	INFO_PRINTF1(_L("finished with this test step"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   243
	// test steps return a result
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   244
	return iTestStepResult;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   245
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   246
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   247
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   248
// class CTestStepPlayerPlayWindow
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   249
// --------------------------------------------
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   250
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   251
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   252
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   253
 * Static constructor for CTestStepPlayerPlayWindow.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   254
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   255
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   256
 * @return	"CTestStepPlayerPlayWindow*"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   257
 *			The constructed CTestStepPlayerPlayWindow
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   258
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   259
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   260
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   261
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   262
CTestStepPlayerPlayWindow* CTestStepPlayerPlayWindow::NewL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   263
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   264
	CTestStepPlayerPlayWindow* self = new(ELeave) CTestStepPlayerPlayWindow;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   265
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   266
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   267
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   268
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   269
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   270
 * Test step constructor.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   271
 * Each test step initialises its own name.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   272
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   273
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   274
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   275
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   276
CTestStepPlayerPlayWindow::CTestStepPlayerPlayWindow() : iHasPlayed(EFalse)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   277
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   278
	iTestStepResult = EPass;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   279
	// store the name of this test case
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   280
	// this is the name that is used by the script file
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   281
	iTestStepName = _L("MM-MMF-ACLNT-U-0050-CP");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   282
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   283
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   284
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   285
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   286
 * Test step destructor.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   287
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   288
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   289
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   290
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   291
CTestStepPlayerPlayWindow::~CTestStepPlayerPlayWindow()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   292
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   293
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   294
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   295
 * Implementation of the MMdaAudioPlayerCallback interface functions
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   296
 **/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   297
void CTestStepPlayerPlayWindow::MapcInitComplete(TInt aError, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   298
								const TTimeIntervalMicroSeconds &/*aDuration*/)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   299
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   300
	iError = aError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   301
	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   302
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   303
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   304
void CTestStepPlayerPlayWindow::MapcPlayComplete(TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   305
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   306
	iError = aError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   307
	if (iError == KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   308
		iHasPlayed = ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   309
	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   310
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   311
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   312
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   313
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   314
 * Test step Preamble.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   315
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   316
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   317
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   318
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   319
 enum TVerdict CTestStepPlayerPlayWindow::DoTestStepPreambleL(void)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   320
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   321
	 enum TVerdict verdict;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   322
	 // this installs the scheduler
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   323
	 verdict = CTestStepUnitMMFAudClient::DoTestStepPreambleL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   324
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   325
	// Printing to the console and log file
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   326
	 INFO_PRINTF1(_L("MM-MMF-ACLNT-U-0050-CP"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   327
	 INFO_PRINTF1(_L("this test is setting and clearing the Play Window of a sound file after openning it [Set|Clear]PlayWindow()"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   328
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   329
	 iError = KErrNone; //KErrTimedOut;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   330
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   331
	 if(!GetStringFromConfig(_L("SectionOne"), _L("AudioPlayFName1"), iFileName))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   332
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   333
		 //INFO_PRINTF2(_L("file name %s not found..."), fileptr);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   334
		 return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   335
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   336
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   337
	 iPlayer = CMMFMdaAudioPlayerUtility::NewFilePlayerL(iFileName, *this);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   338
	 CActiveScheduler::Start();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   339
	 User::After(1000000);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   340
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   341
	 if (iPlayer == NULL ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   342
		 iError != KErrNone )
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   343
		 return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   344
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   345
	 //store Duration
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   346
	 iDuration = iPlayer->Duration();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   347
	 if (iDuration <= TTimeIntervalMicroSeconds(0) )
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   348
		 return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   349
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   350
	iBeginning = TTimeIntervalMicroSeconds( 0 );
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   351
	iMiddle = TTimeIntervalMicroSeconds( iPlayer->Duration().Int64() / 2 );
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   352
	iEnd = iPlayer->Duration();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   353
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   354
	// check if player openned the file successfully
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   355
	TInt err1 = KErrNone;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   356
	TInt state = 0;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   357
	err1 = GetAudPlayerState(iPlayer, state);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   358
	if ( err1 != KErrNone ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   359
		 state != CMMFMdaAudioPlayerUtility::EStopped )
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   360
		return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   361
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   362
	 return verdict;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   363
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   364
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   365
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   366
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   367
 * Test step Postamble.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   368
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   369
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   370
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   371
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   372
enum TVerdict CTestStepPlayerPlayWindow::DoTestStepPostambleL(void)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   373
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   374
	delete iPlayer;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   375
	iPlayer = NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   376
	//[ Destroy the scheduler ]
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   377
	return CTestStepUnitMMFAudClient::DoTestStepPostambleL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   378
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   379
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   380
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   381
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   382
 * Do the test step.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   383
 * Each test step must supply an implementation for DoTestStepL.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   384
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   385
 * @return	"TVerdict"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   386
 *			The result of the test step
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   387
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   388
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   389
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   390
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   391
TVerdict CTestStepPlayerPlayWindow::DoTestStepL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   392
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   393
	TInt err; 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   394
	//__MM_HEAP_MARK;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   395
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   396
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   397
	TRAP(err, iPlayer->SetPlayWindow(iBeginning, iMiddle) ); 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   398
	iPlayer->Play();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   399
	// Wait for a MapcPlayComplete() callback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   400
	// calling User::After(1200000) is no good because the active scheduler
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   401
	// is not running so no RunL()'s can work 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   402
	// i.e. nothing can come back from controller & the AudioPlayer utility's
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   403
	// state will not get updated.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   404
	//User::After(1200000); // wrong 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   405
	CActiveScheduler::Start();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   406
	if (err != KErrNone) // no way to check programmatically without access to the controller
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   407
		//|| iPlayer->Duration() != TTimeIntervalMicroSeconds(iMiddle.Int64()-iBeginning.Int64()) )
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   408
		return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   409
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   410
	TRAP(err, iPlayer->ClearPlayWindow() );
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   411
	if (err != KErrNone ) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   412
		return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   413
	iPlayer->Play();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   414
	CActiveScheduler::Start();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   415
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   416
	if (iError!= KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   417
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   418
		INFO_PRINTF2(_L("iPlayer->Play() failed, iError = %d"), iError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   419
		return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   420
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   421
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   422
	delete iPlayer;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   423
	iPlayer = NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   424
	//__MM_HEAP_MARKEND;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   425
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   426
	INFO_PRINTF1(_L("finished with this test step"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   427
	// test steps return a result
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   428
	return iTestStepResult;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   429
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   430
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   431
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   432
// class CTestStepPlayerBalance
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   433
// --------------------------------------------
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   434
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   435
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   436
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   437
 * Static constructor for CTestStepPlayerBalance.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   438
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   439
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   440
 * @return	"CTestStepPlayerBalance*"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   441
 *			The constructed CTestStepPlayerBalance
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   442
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   443
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   444
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   445
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   446
CTestStepPlayerBalance* CTestStepPlayerBalance::NewL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   447
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   448
	CTestStepPlayerBalance* self = new(ELeave) CTestStepPlayerBalance;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   449
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   450
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   451
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   452
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   453
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   454
 * Test step constructor.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   455
 * Each test step initialises its own name.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   456
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   457
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   458
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   459
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   460
CTestStepPlayerBalance::CTestStepPlayerBalance()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   461
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   462
	iTestStepResult = EPass;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   463
	// store the name of this test case
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   464
	// this is the name that is used by the script file
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   465
	iTestStepName = _L("MM-MMF-ACLNT-U-0052-HP");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   466
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   467
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   468
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   469
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   470
 * Test step destructor.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   471
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   472
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   473
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   474
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   475
CTestStepPlayerBalance::~CTestStepPlayerBalance()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   476
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   477
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   478
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   479
 * Implementation of the MMdaAudioPlayerCallback interface functions
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   480
 **/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   481
void CTestStepPlayerBalance::MapcInitComplete(TInt aError, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   482
											  const TTimeIntervalMicroSeconds &/*aDuration*/)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   483
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   484
	iError = aError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   485
	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   486
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   487
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   488
void CTestStepPlayerBalance::MapcPlayComplete(TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   489
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   490
	iError = aError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   491
	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   492
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   493
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   494
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   495
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   496
 * Test step Preamble.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   497
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   498
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   499
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   500
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   501
 enum TVerdict CTestStepPlayerBalance::DoTestStepPreambleL(void)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   502
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   503
	 enum TVerdict verdict;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   504
	 // this installs the scheduler
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   505
	 verdict = CTestStepUnitMMFAudClient::DoTestStepPreambleL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   506
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   507
	// Printing to the console and log file
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   508
	 INFO_PRINTF1(_L("MM-MMF-ACLNT-U-0052-HP"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   509
	 INFO_PRINTF1(_L("this test is setting and getting the balance of a sound: [Set|Get]Balance()"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   510
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   511
	 iError = KErrNone; //KErrTimedOut;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   512
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   513
	 if(!GetStringFromConfig(_L("SectionOne"), _L("AudioPlayFName1"), iFileName))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   514
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   515
		 //INFO_PRINTF2(_L("file name %s not found..."), fileptr);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   516
		 return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   517
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   518
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   519
	 iPlayer = CMMFMdaAudioPlayerUtility::NewFilePlayerL(iFileName, *this);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   520
	 CActiveScheduler::Start();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   521
	 User::After(1000000);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   522
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   523
	 if (iPlayer == NULL ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   524
		 iError != KErrNone )
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   525
		 return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   526
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   527
	 //store Duration
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   528
	 iDuration = iPlayer->Duration();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   529
	 if (iDuration <= TTimeIntervalMicroSeconds(0) )
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   530
		 return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   531
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   532
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   533
	 return verdict;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   534
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   535
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   536
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   537
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   538
 * Test step Postamble.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   539
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   540
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   541
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   542
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   543
enum TVerdict CTestStepPlayerBalance::DoTestStepPostambleL(void)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   544
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   545
	delete iPlayer;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   546
	iPlayer = NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   547
	//[ Destroy the scheduler ]
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   548
	return CTestStepUnitMMFAudClient::DoTestStepPostambleL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   549
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   550
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   551
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   552
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   553
 * Do the test step.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   554
 * Each test step must supply an implementation for DoTestStepL.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   555
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   556
 * @return	"TVerdict"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   557
 *			The result of the test step
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   558
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   559
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   560
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   561
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   562
TVerdict CTestStepPlayerBalance::DoTestStepL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   563
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   564
	TInt err; 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   565
	TInt balance = 0; // KMMFBalanceCenter
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   566
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   567
	// test 1
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   568
	err = iPlayer->SetBalance(); // default KMMFBalanceCenter = 0
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   569
	if (err != KErrNone)	// we expect this to return KErrNone in Typhoon
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   570
		return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   571
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   572
	err = iPlayer->GetBalance(balance);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   573
	if (err != KErrNone ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   574
		balance != 0)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   575
		return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   576
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   577
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   578
	// test 2
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   579
	err = iPlayer->SetBalance(KMMFBalanceMaxLeft); // -100
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   580
	if (err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   581
		return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   582
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   583
	err = iPlayer->GetBalance(balance);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   584
	if (err != KErrNone ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   585
		balance != KMMFBalanceMaxLeft)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   586
		return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   587
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   588
	// test 3
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   589
	err = iPlayer->SetBalance(KMMFBalanceMaxRight);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   590
	if (err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   591
		return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   592
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   593
	err = iPlayer->GetBalance(balance);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   594
	if (err != KErrNone ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   595
		balance != KMMFBalanceMaxRight)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   596
		return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   597
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   598
	// test 4
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   599
	err = iPlayer->SetBalance(KMMFBalanceMaxRight/2);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   600
	if (err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   601
		return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   602
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   603
	err = iPlayer->GetBalance(balance);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   604
	if (err != KErrNone ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   605
		balance != KMMFBalanceMaxRight/2)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   606
		return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   607
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   608
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   609
	// test 4 out of bounds
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   610
	/* until we check the return codes...
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   611
	TRAP(err, iPlayer->SetBalance(KMMFBalanceMaxRight+5));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   612
	if (err != KErrArgument ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   613
		err != KErrTooBig )
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   614
		return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   615
	*/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   616
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   617
	INFO_PRINTF1(_L("finished with this test step"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   618
	// test steps return a result
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   619
	return iTestStepResult;	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   620
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   621
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   622
// class CTestStepPlayerClose
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   623
// --------------------------------------------
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   624
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   625
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   626
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   627
 * Static constructor for CTestStepPlayerClose.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   628
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   629
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   630
 * @return	"CTestStepPlayerClose*"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   631
 *			The constructed CTestStepPlayerClose
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   632
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   633
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   634
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   635
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   636
CTestStepPlayerClose* CTestStepPlayerClose::NewL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   637
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   638
	CTestStepPlayerClose* self = new(ELeave) CTestStepPlayerClose;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   639
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   640
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   641
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   642
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   643
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   644
 * Test step constructor.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   645
 * Each test step initialises its own name.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   646
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   647
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   648
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   649
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   650
CTestStepPlayerClose::CTestStepPlayerClose()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   651
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   652
	iTestStepResult = EPass;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   653
	// store the name of this test case
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   654
	// this is the name that is used by the script file
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   655
	iTestStepName = _L("MM-MMF-ACLNT-U-0044-CP");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   656
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   657
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   658
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   659
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   660
 * Test step destructor.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   661
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   662
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   663
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   664
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   665
CTestStepPlayerClose::~CTestStepPlayerClose()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   666
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   667
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   668
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   669
 * Implementation of the MMdaAudioPlayerCallback interface functions
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   670
 **/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   671
void CTestStepPlayerClose::MapcInitComplete(TInt aError, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   672
								const TTimeIntervalMicroSeconds &/*aDuration*/)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   673
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   674
	iError = aError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   675
	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   676
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   677
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   678
void CTestStepPlayerClose::MapcPlayComplete(TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   679
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   680
	iError = aError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   681
	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   682
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   683
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   684
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   685
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   686
 * Test step Preamble.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   687
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   688
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   689
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   690
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   691
 enum TVerdict CTestStepPlayerClose::DoTestStepPreambleL(void)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   692
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   693
	 enum TVerdict verdict;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   694
	 // this installs the scheduler
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   695
	 verdict = CTestStepUnitMMFAudClient::DoTestStepPreambleL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   696
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   697
	// Printing to the console and log file
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   698
	 INFO_PRINTF1(_L("MM-MMF-ACLNT-U-0044-CP"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   699
	 INFO_PRINTF1(_L("this test is closing an open sound: Close()"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   700
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   701
	 iError = KErrNone; //KErrTimedOut;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   702
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   703
	 if(!GetStringFromConfig(_L("SectionOne"), _L("AudioPlayFName1"), iFileName))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   704
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   705
		 //INFO_PRINTF2(_L("file name %s not found..."), fileptr);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   706
		 return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   707
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   708
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   709
	 iPlayer = CMMFMdaAudioPlayerUtility::NewFilePlayerL(iFileName, *this);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   710
	 CActiveScheduler::Start();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   711
	 User::After(1000000);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   712
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   713
	 if (iPlayer == NULL ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   714
		 iError != KErrNone )
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   715
		 return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   716
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   717
	 //store Duration
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   718
	 iDuration = iPlayer->Duration();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   719
	 if (iDuration <= TTimeIntervalMicroSeconds(0) )
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   720
		 return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   721
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   722
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   723
	 return verdict;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   724
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   725
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   726
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   727
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   728
 * Test step Postamble.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   729
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   730
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   731
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   732
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   733
enum TVerdict CTestStepPlayerClose::DoTestStepPostambleL(void)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   734
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   735
	delete iPlayer;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   736
	iPlayer = NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   737
	//User::After(1000000);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   738
	//[ Destroy the scheduler ]
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   739
	return CTestStepUnitMMFAudClient::DoTestStepPostambleL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   740
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   741
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   742
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   743
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   744
 * Do the test step.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   745
 * Each test step must supply an implementation for DoTestStepL.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   746
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   747
 * @return	"TVerdict"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   748
 *			The result of the test step
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   749
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   750
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   751
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   752
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   753
TVerdict CTestStepPlayerClose::DoTestStepL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   754
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   755
	TInt err; 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   756
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   757
	// test 1
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   758
	TRAP(err, iPlayer->Close());
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   759
	if (iPlayer == NULL ||  // better check condition?
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   760
		err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   761
		return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   762
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   763
	// re-open file
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   764
	iPlayer->OpenFileL(iFileName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   765
	CActiveScheduler::Start();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   766
	User::After(1000000);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   767
	// check
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   768
	if (iPlayer == NULL ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   769
		iError != KErrNone )
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   770
		return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   771
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   772
	// test 2
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   773
	//TRAP(err, iPlayer->Close());
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   774
	if (iPlayer == NULL || // better check condition?
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   775
		err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   776
		return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   777
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   778
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   779
	INFO_PRINTF1(_L("finished with this test step"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   780
	// test steps return a result
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   781
	return iTestStepResult;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   782
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   783
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   784
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   785
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   786
// class CTestStepPlayerMeta
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   787
// --------------------------------------------
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   788
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   789
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   790
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   791
 * Static constructor for CTestStepPlayerMeta.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   792
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   793
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   794
 * @return	"CTestStepPlayerMeta*"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   795
 *			The constructed CTestStepPlayerMeta
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   796
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   797
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   798
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   799
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   800
CTestStepPlayerMeta* CTestStepPlayerMeta::NewL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   801
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   802
	CTestStepPlayerMeta* self = new(ELeave) CTestStepPlayerMeta;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   803
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   804
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   805
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   806
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   807
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   808
 * Test step constructor.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   809
 * Each test step initialises its own name.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   810
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   811
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   812
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   813
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   814
CTestStepPlayerMeta::CTestStepPlayerMeta()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   815
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   816
	iTestStepResult = EPass;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   817
	// store the name of this test case
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   818
	// this is the name that is used by the script file
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   819
	iTestStepName = _L("MM-MMF-ACLNT-U-0045-HP");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   820
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   821
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   822
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   823
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   824
 * Test step destructor.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   825
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   826
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   827
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   828
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   829
CTestStepPlayerMeta::~CTestStepPlayerMeta()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   830
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   831
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   832
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   833
 * Implementation of the MMdaAudioPlayerCallback interface functions
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   834
 **/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   835
void CTestStepPlayerMeta::MapcInitComplete(TInt aError, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   836
								const TTimeIntervalMicroSeconds &/*aDuration*/)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   837
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   838
	iError = aError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   839
	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   840
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   841
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   842
void CTestStepPlayerMeta::MapcPlayComplete(TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   843
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   844
	iError = aError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   845
	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   846
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   847
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   848
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   849
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   850
 * Test step Preamble.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   851
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   852
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   853
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   854
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   855
 enum TVerdict CTestStepPlayerMeta::DoTestStepPreambleL(void)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   856
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   857
	 enum TVerdict verdict;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   858
	 // this installs the scheduler
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   859
	 verdict = CTestStepUnitMMFAudClient::DoTestStepPreambleL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   860
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   861
	// Printing to the console and log file
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   862
	 INFO_PRINTF1(_L("MM-MMF-ACLNT-U-0045-HP"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   863
	 INFO_PRINTF1(_L("this test is about metadata manipulation"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   864
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   865
	 iError = KErrNone; //KErrTimedOut;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   866
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   867
	 if(!GetStringFromConfig(_L("SectionOne"), _L("AudioFNameMeta"), iFileName))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   868
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   869
		 //INFO_PRINTF2(_L("file name %s not found..."), fileptr);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   870
		 return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   871
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   872
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   873
	 iPlayer = CMMFMdaAudioPlayerUtility::NewFilePlayerL(iFileName, *this);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   874
	 CActiveScheduler::Start();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   875
	 User::After(1000000);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   876
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   877
	 if (iPlayer == NULL ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   878
		 iError != KErrNone )
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   879
		 return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   880
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   881
	 return verdict;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   882
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   883
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   884
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   885
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   886
 * Test step Postamble.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   887
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   888
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   889
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   890
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   891
enum TVerdict CTestStepPlayerMeta::DoTestStepPostambleL(void)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   892
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   893
	delete iPlayer;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   894
	iPlayer = NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   895
	//[ Destroy the scheduler ]
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   896
	return CTestStepUnitMMFAudClient::DoTestStepPostambleL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   897
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   898
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   899
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   900
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   901
 * Do the test step.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   902
 * Each test step must supply an implementation for DoTestStepL.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   903
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   904
 * @return	"TVerdict"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   905
 *			The result of the test step
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   906
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   907
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   908
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   909
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   910
TVerdict CTestStepPlayerMeta::DoTestStepL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   911
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   912
	iTestStepResult = EPass;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   913
	TInt err, num; 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   914
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   915
	err = iPlayer->GetNumberOfMetaDataEntries(iNum);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   916
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   917
#ifdef _TYPHOON_TEST_
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   918
	if (err != KErrNotSupported)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   919
		return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   920
#endif
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   921
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   922
#ifndef _TYPHOON_TEST_
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   923
	if (err != KErrNone || iNum == 0 )
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   924
		return EFail;  // check a known number of meta data
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   925
#endif
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   926
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   927
	_LIT(KMetaName, "To be changed N");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   928
	_LIT(KMetaValue, "To be changed V");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   929
	CMMFMetaDataEntry* meta = CMMFMetaDataEntry::NewL(KMetaName, KMetaValue);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   930
	CleanupStack::PushL(meta);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   931
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   932
	for (num = 0; num <iNum; num++)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   933
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   934
		TRAP(err, meta = iPlayer->GetMetaDataEntryL(num) ); // check if they count from 0
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   935
		#ifdef _TYPHOON_TEST_
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   936
			if (err != KErrNotSupported)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   937
				return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   938
		#endif
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   939
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   940
		#ifndef _TYPHOON_TEST_
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   941
			if (err != KErrNone ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   942
				meta->Name() == KMetaName || 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   943
				meta->Value() == KMetaValue )
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   944
				return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   945
		#endif
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   946
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   947
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   948
	CleanupStack::PopAndDestroy(meta);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   949
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   950
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   951
	INFO_PRINTF1(_L("finished with this test step"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   952
	// test steps return a result
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   953
	return iTestStepResult;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   954
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   955
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   956
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   957
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   958
// class CTestStepPlayerPriority
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   959
// --------------------------------------------
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   960
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   961
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   962
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   963
 * Static constructor for CTestStepPlayerPriority.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   964
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   965
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   966
 * @return	"CTestStepPlayerPriority*"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   967
 *			The constructed CTestStepPlayerPriority
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   968
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   969
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   970
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   971
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   972
CTestStepPlayerPriority* CTestStepPlayerPriority::NewL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   973
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   974
	CTestStepPlayerPriority* self = new(ELeave) CTestStepPlayerPriority;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   975
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   976
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   977
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   978
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   979
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   980
 * Test step constructor.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   981
 * Each test step initialises its own name.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   982
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   983
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   984
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   985
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   986
CTestStepPlayerPriority::CTestStepPlayerPriority()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   987
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   988
	iTestStepResult = EPass;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   989
	// store the name of this test case
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   990
	// this is the name that is used by the script file
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   991
	iTestStepName = _L("MM-MMF-ACLNT-U-0053-HP");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   992
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   993
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   994
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   995
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   996
 * Test step destructor.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   997
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   998
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   999
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1000
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1001
CTestStepPlayerPriority::~CTestStepPlayerPriority()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1002
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1003
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1004
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1005
 * Implementation of the MMdaAudioPlayerCallback interface functions
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1006
 **/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1007
void CTestStepPlayerPriority::MapcInitComplete(TInt aError, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1008
								const TTimeIntervalMicroSeconds &/*aDuration*/)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1009
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1010
	iError = aError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1011
	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1012
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1013
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1014
void CTestStepPlayerPriority::MapcPlayComplete(TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1015
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1016
	iError = aError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1017
	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1018
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1019
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1020
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1021
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1022
 * Test step Preamble.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1023
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1024
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1025
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1026
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1027
 enum TVerdict CTestStepPlayerPriority::DoTestStepPreambleL(void)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1028
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1029
	 enum TVerdict verdict;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1030
	 // this installs the scheduler
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1031
	 verdict = CTestStepUnitMMFAudClient::DoTestStepPreambleL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1032
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1033
	// Printing to the console and log file
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1034
	 INFO_PRINTF1(_L("MM-MMF-ACLNT-U-0053-HP"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1035
	 INFO_PRINTF1(_L("this test is about the priority of the audio player"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1036
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1037
	 iError = KErrNone; //KErrTimedOut;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1038
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1039
	 if(!GetStringFromConfig(_L("SectionOne"), _L("AudioFNameMeta"), iFileName))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1040
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1041
		 //INFO_PRINTF2(_L("file name %s not found..."), fileptr);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1042
		 return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1043
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1044
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1045
	 iPlayer = CMMFMdaAudioPlayerUtility::NewFilePlayerL(iFileName, *this);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1046
	 CActiveScheduler::Start();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1047
	 User::After(1000000);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1048
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1049
	 if (iPlayer == NULL ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1050
		 iError != KErrNone )
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1051
		 return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1052
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1053
	 return verdict;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1054
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1055
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1056
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1057
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1058
 * Test step Postamble.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1059
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1060
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1061
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1062
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1063
enum TVerdict CTestStepPlayerPriority::DoTestStepPostambleL(void)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1064
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1065
	delete iPlayer;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1066
	iPlayer = NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1067
	//[ Destroy the scheduler ]
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1068
	return CTestStepUnitMMFAudClient::DoTestStepPostambleL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1069
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1070
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1071
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1072
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1073
 * Do the test step.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1074
 * Each test step must supply an implementation for DoTestStepL.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1075
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1076
 * @return	"TVerdict"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1077
 *			The result of the test step
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1078
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1079
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1080
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1081
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1082
TVerdict CTestStepPlayerPriority::DoTestStepL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1083
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1084
	iTestStepResult = EPass;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1085
	TInt err = KErrNone; 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1086
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1087
	iPlayer->SetPriority(EMdaPriorityNormal, EMdaPriorityPreferenceQuality);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1088
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1089
	TMMFPrioritySettings priorSets;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1090
	err = GetAudPlayerPriority(iPlayer, priorSets);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1091
	if (err != KErrNone ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1092
		priorSets.iPriority != EMdaPriorityNormal ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1093
		priorSets.iPref != EMdaPriorityPreferenceQuality)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1094
		return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1095
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1096
	iPlayer->SetPriority(EMdaPriorityNormal, EMdaPriorityPreferenceTime);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1097
	err = GetAudPlayerPriority(iPlayer, priorSets);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1098
	if (err != KErrNone ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1099
		priorSets.iPriority != EMdaPriorityNormal ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1100
		priorSets.iPref != EMdaPriorityPreferenceTime)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1101
		return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1102
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1103
	iPlayer->SetPriority(EMdaPriorityMin, EMdaPriorityPreferenceTimeAndQuality);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1104
	err = GetAudPlayerPriority(iPlayer, priorSets);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1105
	if (err != KErrNone ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1106
		priorSets.iPriority != EMdaPriorityMin ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1107
		priorSets.iPref != EMdaPriorityPreferenceTimeAndQuality)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1108
		return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1109
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1110
	iPlayer->SetPriority(EMdaPriorityMin, EMdaPriorityPreferenceTimeAndQuality);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1111
	err = GetAudPlayerPriority(iPlayer, priorSets);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1112
	if (err != KErrNone ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1113
		priorSets.iPriority != EMdaPriorityMin ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1114
		priorSets.iPref != EMdaPriorityPreferenceTimeAndQuality)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1115
		return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1116
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1117
	iPlayer->SetPriority(EMdaPriorityMax, EMdaPriorityPreferenceTimeAndQuality);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1118
	err = GetAudPlayerPriority(iPlayer, priorSets);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1119
	if (err != KErrNone ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1120
		priorSets.iPriority != EMdaPriorityMax ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1121
		priorSets.iPref != EMdaPriorityPreferenceTimeAndQuality)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1122
		return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1123
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1124
	iPlayer->SetPriority(EMdaPriorityMax, EMdaPriorityPreferenceTimeAndQuality);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1125
	err = GetAudPlayerPriority(iPlayer, priorSets);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1126
	if (err != KErrNone ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1127
		priorSets.iPriority != EMdaPriorityMax ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1128
		priorSets.iPref != EMdaPriorityPreferenceTimeAndQuality)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1129
		return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1130
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1131
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1132
	INFO_PRINTF1(_L("finished with this test step"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1133
	// test steps return a result
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1134
	return iTestStepResult;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1135
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1136
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1137
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1138
// CTestStepPlayerPauseSetPosPlay
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1139
CTestStepPlayerPauseSetPosPlay* CTestStepPlayerPauseSetPosPlay::NewL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1140
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1141
	CTestStepPlayerPauseSetPosPlay* self = new(ELeave) CTestStepPlayerPauseSetPosPlay();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1142
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1143
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1144
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1145
CTestStepPlayerPauseSetPosPlay::CTestStepPlayerPauseSetPosPlay()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1146
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1147
	iTestStepName = _L("MM-MMF-ACLNT-U-0054-HP");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1148
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1149
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1150
CTestStepPlayerPauseSetPosPlay::~CTestStepPlayerPauseSetPosPlay()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1151
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1152
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1153
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1154
void CTestStepPlayerPauseSetPosPlay::Close()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1155
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1156
	delete iPlayer;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1157
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1158
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1159
TVerdict CTestStepPlayerPauseSetPosPlay::DoTestStepL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1160
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1161
	INFO_PRINTF1(_L("MM-MMF-ACLNT-U-0054-HP"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1162
	INFO_PRINTF1(_L("This test is playing, then pausing, setting the position and playing again."));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1163
	INFO_PRINTF1(_L("Audio should start playing immediately from the second position after the pause."));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1164
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1165
	TPtrC filename;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1166
	if (!GetStringFromConfig(_L("SectionOne"), _L("AudioPlayFName2"), filename))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1167
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1168
		INFO_PRINTF1(_L("Audio test filename not found in INI file"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1169
		return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1170
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1171
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1172
	iPlayer = CMMFMdaAudioPlayerUtility::NewFilePlayerL(filename, *this);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1173
	CActiveScheduler::Start();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1174
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1175
	if (iError != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1176
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1177
		INFO_PRINTF2(_L("Error creating file player %d"), iError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1178
		return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1179
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1180
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1181
	// Start playing...
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1182
	iPlayer->Play();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1183
	User::After(1000000);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1184
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1185
	// Pause after 2 secs
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1186
	iPlayer->Pause();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1187
	User::After(2000000);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1188
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1189
	// Set new position
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1190
	TTimeIntervalMicroSeconds newPos(4000000);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1191
	iPlayer->SetPosition(newPos);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1192
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1193
	// Play to the end
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1194
	iPlayer->Play();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1195
	CActiveScheduler::Start();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1196
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1197
	if (iError != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1198
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1199
		INFO_PRINTF2(_L("Error playing back sound %d"), iError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1200
		return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1201
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1202
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1203
	return EPass;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1204
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1205
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1206
// from MMdaAudioPlayerCallback
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1207
void CTestStepPlayerPauseSetPosPlay::MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& /*aDuration*/)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1208
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1209
	iError = aError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1210
	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1211
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1212
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1213
void CTestStepPlayerPauseSetPosPlay::MapcPlayComplete(TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1214
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1215
	iError = aError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1216
	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1217
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1218
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1219
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1220
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1221
//  CTestStepPlayerPlayWaitSetPos
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1222
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1223
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1224
CTestStepPlayerPlayWaitSetPos* CTestStepPlayerPlayWaitSetPos::NewL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1225
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1226
	return new (ELeave) CTestStepPlayerPlayWaitSetPos();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1227
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1228
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1229
CTestStepPlayerPlayWaitSetPos::CTestStepPlayerPlayWaitSetPos()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1230
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1231
	iTestStepName = _L("MM-MMF-ACLNT-U-0989-CP");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1232
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1233
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1234
CTestStepPlayerPlayWaitSetPos::~CTestStepPlayerPlayWaitSetPos()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1235
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1236
	delete iPlayer;	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1237
	delete iSetPositionCountDown;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1238
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1239
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1240
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1241
/* 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1242
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1243
 * Stages:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1244
 * 1) Setup the utility and timer objects.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1245
 * 2) Start the playback and start the countdown of 6 seconds.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1246
 * 3) Upon countdown completion set the playback position to the 2 second point.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1247
 * 4) Check the file playback completed.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1248
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1249
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1250
TVerdict CTestStepPlayerPlayWaitSetPos::DoTestStepL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1251
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1252
	INFO_PRINTF1(_L("MM-MMF-ACLNT-U-0984-CP"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1253
	INFO_PRINTF1(_L("This test is playing an audio file then after 6 seconds setting the position to the 2 second point."));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1254
	INFO_PRINTF1(_L("Audio should play to completion after the call to SetPosition()."));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1255
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1256
	//Stage 1
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1257
	TCallBack callbackFunction(TimerCallback, this);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1258
	iSetPositionCountDown = CPeriodic::NewL(CActive::EPriorityHigh);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1259
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1260
	TPtrC filename;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1261
	if (!GetStringFromConfig(_L("SectionOne"), _L("AudioPlayFName2"), filename))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1262
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1263
		ERR_PRINTF1(_L("Audio test filename not found in INI file"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1264
		return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1265
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1266
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1267
	iPlayer = CMMFMdaAudioPlayerUtility::NewFilePlayerL(filename, *this);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1268
	CActiveScheduler::Start();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1269
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1270
	if (iError != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1271
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1272
		ERR_PRINTF2(_L("Error creating file player %d"), iError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1273
		return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1274
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1275
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1276
	//Stage 2	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1277
	INFO_PRINTF1(_L("Starting file playback."));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1278
	iSetPositionCountDown->Start(6000000, 6000000, callbackFunction);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1279
	iPlayer->Play();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1280
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1281
	CActiveScheduler::Start();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1282
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1283
	//Stage 4
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1284
	if (iError != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1285
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1286
		ERR_PRINTF2(_L("Error during file playback %d"), iError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1287
		return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1288
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1289
	else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1290
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1291
		INFO_PRINTF1(_L("File playback completed."));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1292
		return EPass;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1293
		}		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1294
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1295
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1296
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1297
void CTestStepPlayerPlayWaitSetPos::MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& /*aDuration*/)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1298
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1299
	iError = aError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1300
	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1301
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1302
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1303
void CTestStepPlayerPlayWaitSetPos::MapcPlayComplete(TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1304
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1305
	iError = aError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1306
	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1307
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1308
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1309
TInt CTestStepPlayerPlayWaitSetPos::TimerCallback(TAny* aParentObject)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1310
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1311
	CTestStepPlayerPlayWaitSetPos* target = static_cast<CTestStepPlayerPlayWaitSetPos*>(aParentObject);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1312
	target->DoTimerCallback();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1313
	return 0;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1314
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1315
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1316
void CTestStepPlayerPlayWaitSetPos::DoTimerCallback()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1317
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1318
	//Stage 3
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1319
	INFO_PRINTF1(_L("Setting the position to 2 seconds in."));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1320
	iSetPositionCountDown->Cancel();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1321
	iPlayer->SetPosition(2000000);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1322
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1323
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1324
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1325
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1326
// --------------------------------------------
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1327
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1328
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1329
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1330
 * Static constructor for CTestStepPlayerGetImplementationInfo.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1331
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1332
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1333
 * @return	"CTestStepPlayerGetImplementationInfo*"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1334
 *			The constructed CTestStepPlayerGetImplementationInfo
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1335
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1336
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1337
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1338
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1339
CTestStepPlayerGetImplementationInfo* CTestStepPlayerGetImplementationInfo::NewL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1340
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1341
	CTestStepPlayerGetImplementationInfo* self = new(ELeave) CTestStepPlayerGetImplementationInfo;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1342
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1343
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1344
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1345
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1346
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1347
 * Test step constructor.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1348
 * Each test step initialises its own name.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1349
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1350
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1351
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1352
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1353
CTestStepPlayerGetImplementationInfo::CTestStepPlayerGetImplementationInfo() 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1354
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1355
	iTestStepResult = EPass;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1356
	// store the name of this test case
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1357
	// this is the name that is used by the script file
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1358
	iTestStepName = _L("MM-MMF-ACLNT-U-0061-HP");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1359
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1360
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1361
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1362
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1363
 * Test step destructor.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1364
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1365
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1366
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1367
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1368
CTestStepPlayerGetImplementationInfo::~CTestStepPlayerGetImplementationInfo()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1369
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1370
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1371
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1372
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1373
 * Implementation of the MMdaAudioPlayerCallback interface functions
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1374
 **/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1375
void CTestStepPlayerGetImplementationInfo::MapcInitComplete(TInt aError, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1376
								const TTimeIntervalMicroSeconds &/*aDuration*/)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1377
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1378
	iError = aError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1379
	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1380
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1381
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1382
void CTestStepPlayerGetImplementationInfo::MapcPlayComplete(TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1383
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1384
	iError = aError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1385
	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1386
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1387
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1388
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1389
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1390
 * Test step Preamble.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1391
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1392
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1393
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1394
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1395
enum TVerdict CTestStepPlayerGetImplementationInfo::DoTestStepPreambleL(void)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1396
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1397
	enum TVerdict verdict;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1398
	// this installs the scheduler
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1399
	verdict = CTestStepUnitMMFAudClient::DoTestStepPreambleL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1400
	if (verdict != EPass)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1401
		return verdict;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1402
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1403
	 if(!GetStringFromConfig(_L("SectionOne"), _L("AudioPlayFName1"), iFileName))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1404
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1405
		 //INFO_PRINTF2(_L("file name %s not found..."), fileptr);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1406
		 return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1407
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1408
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1409
	// Printing to the console and log file
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1410
	INFO_PRINTF1(iTestStepName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1411
	INFO_PRINTF1(_L("this test tests CMMFMdaAudioPlayerUtility::ControllerImplementationInformationL()"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1412
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1413
	return verdict;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1414
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1415
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1416
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1417
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1418
 * Test step Postamble.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1419
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1420
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1421
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1422
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1423
enum TVerdict CTestStepPlayerGetImplementationInfo::DoTestStepPostambleL(void)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1424
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1425
	delete iPlayer;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1426
	iPlayer = NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1427
	//[ Destroy the scheduler ]
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1428
	return CTestStepUnitMMFAudClient::DoTestStepPostambleL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1429
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1430
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1431
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1432
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1433
 * Do the test step.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1434
 * Each test step must supply an implementation for DoTestStepL.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1435
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1436
 * @return	"TVerdict"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1437
 *			The result of the test step
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1438
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1439
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1440
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1441
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1442
TVerdict CTestStepPlayerGetImplementationInfo::DoTestStepL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1443
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1444
	TInt err;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1445
	err = KErrNone;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1446
	iTestStepResult = EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1447
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1448
	iPlayer = CMMFMdaAudioPlayerUtility::NewFilePlayerL(iFileName, *this);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1449
	CActiveScheduler::Start();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1450
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1451
	if (iError != KErrNone) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1452
		return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1453
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1454
	const CMMFControllerImplementationInformation* info = NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1455
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1456
	TRAP(err, info = &iPlayer->ControllerImplementationInformationL());
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1457
	if (err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1458
		return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1459
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1460
	if (info->DisplayName().Compare(KAudioControllerName)!=0)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1461
		iTestStepResult = EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1462
	else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1463
		iTestStepResult = EPass;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1464
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1465
	delete iPlayer;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1466
	iPlayer = NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1467
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1468
	INFO_PRINTF1(_L("finished with this test step"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1469
	// test steps return a result
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1470
	return iTestStepResult;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1471
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1472
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1473
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1474
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1475
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1476
// --------------------------------------------
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1477
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1478
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1479
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1480
 * Static constructor for CTestStepPlayerSendCustomCommandSync.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1481
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1482
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1483
 * @return	"CTestStepPlayerSendCustomCommandSync*"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1484
 *			The constructed CTestStepPlayerSendCustomCommandSync
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1485
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1486
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1487
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1488
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1489
CTestStepPlayerSendCustomCommandSync* CTestStepPlayerSendCustomCommandSync::NewL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1490
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1491
	CTestStepPlayerSendCustomCommandSync* self = new(ELeave) CTestStepPlayerSendCustomCommandSync;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1492
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1493
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1494
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1495
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1496
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1497
 * Test step constructor.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1498
 * Each test step initialises its own name.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1499
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1500
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1501
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1502
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1503
CTestStepPlayerSendCustomCommandSync::CTestStepPlayerSendCustomCommandSync()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1504
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1505
	iTestStepResult = EPass;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1506
	// store the name of this test case
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1507
	// this is the name that is used by the script file
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1508
	iTestStepName = _L("MM-MMF-ACLNT-U-0062-HP");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1509
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1510
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1511
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1512
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1513
 * Test step destructor.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1514
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1515
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1516
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1517
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1518
CTestStepPlayerSendCustomCommandSync::~CTestStepPlayerSendCustomCommandSync()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1519
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1520
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1521
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1522
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1523
 * Implementation of the MVideoRecorderUtilityObserver interface functions
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1524
 **/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1525
void CTestStepPlayerSendCustomCommandSync::MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& /*aDuration*/)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1526
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1527
	iError = aError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1528
	CActiveScheduler::Stop(); 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1529
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1530
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1531
void CTestStepPlayerSendCustomCommandSync::MapcPlayComplete(TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1532
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1533
	iError = aError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1534
	CActiveScheduler::Stop(); 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1535
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1536
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1537
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1538
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1539
 * Test step Preamble.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1540
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1541
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1542
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1543
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1544
enum TVerdict CTestStepPlayerSendCustomCommandSync::DoTestStepPreambleL(void)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1545
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1546
	enum TVerdict verdict;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1547
	// this installs the scheduler
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1548
	verdict = CTestStepUnitMMFAudClient::DoTestStepPreambleL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1549
	if (verdict != EPass)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1550
		return verdict;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1551
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1552
	if(!GetStringFromConfig(_L("SectionOne"), _L("AudioFNameTestController"), iFileName))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1553
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1554
		 //INFO_PRINTF2(_L("file name %s not found..."), fileptr);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1555
		 return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1556
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1557
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1558
	// Printing to the console and log file
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1559
	INFO_PRINTF1(iTestStepName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1560
	INFO_PRINTF1(_L("this test is a test of CMMFMdaAudioPlayerUtility::CustomCommandSync()"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1561
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1562
	return verdict;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1563
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1564
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1565
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1566
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1567
 * Test step Postamble.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1568
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1569
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1570
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1571
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1572
enum TVerdict CTestStepPlayerSendCustomCommandSync::DoTestStepPostambleL(void)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1573
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1574
	delete iPlayer;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1575
	iPlayer = NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1576
	//[ Destroy the scheduler ]
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1577
	return CTestStepUnitMMFAudClient::DoTestStepPostambleL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1578
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1579
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1580
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1581
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1582
 * Do the test step.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1583
 * Each test step must supply an implementation for DoTestStepL.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1584
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1585
 * @return	"TVerdict"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1586
 *			The result of the test step
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1587
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1588
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1589
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1590
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1591
TVerdict CTestStepPlayerSendCustomCommandSync::DoTestStepL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1592
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1593
	TInt err;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1594
	err = KErrNone;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1595
	iTestStepResult = EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1596
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1597
	iPlayer = CMMFMdaAudioPlayerUtility::NewL(*this);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1598
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1599
	// special command to open the test controller, since it uses a different Media ID and will not be found with the normal Open
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1600
	err = OpenFileWithTestControllerL(iPlayer,iFileName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1601
	// no callback, since we skipped this
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1602
	if (err!=KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1603
		return EInconclusive;	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1604
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1605
	TUid uid;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1606
	uid = TUid::Uid(0x101f72B4);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1607
	TMMFMessageDestinationPckg destPckg(uid);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1608
	// test without a return value
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1609
	err = iPlayer->CustomCommandSync(destPckg,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1610
								EMMFTestCustomCommandGeneralSynchronous,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1611
								KFirstParameter,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1612
								KSecondParameter);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1613
								
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1614
	if (err!=KTestCustomCommandSuccess)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1615
		return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1616
		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1617
	TBuf8<256> buf;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1618
		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1619
	err = iPlayer->CustomCommandSync(destPckg,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1620
								EMMFTestCustomCommandGeneralSynchronousWithReturn,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1621
								KFirstParameter,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1622
								KSecondParameter,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1623
								buf);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1624
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1625
	if (err!=KTestCustomCommandSuccess)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1626
		return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1627
		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1628
	if (buf.Compare(KReturnParameter)==0)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1629
		iTestStepResult = EPass;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1630
	else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1631
		iTestStepResult = EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1632
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1633
	delete iPlayer;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1634
	iPlayer = NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1635
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1636
	INFO_PRINTF1(_L("finished with this test step"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1637
	// test steps return a result
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1638
	return iTestStepResult;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1639
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1640
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1641
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1642
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1643
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1644
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1645
// --------------------------------------------
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1646
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1647
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1648
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1649
 * Static constructor for CTestStepPlayerSendCustomCommandAsync.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1650
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1651
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1652
 * @return	"CTestStepPlayerSendCustomCommandAsync*"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1653
 *			The constructed CTestStepPlayerSendCustomCommandAsync
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1654
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1655
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1656
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1657
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1658
CTestStepPlayerSendCustomCommandAsync* CTestStepPlayerSendCustomCommandAsync::NewL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1659
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1660
	CTestStepPlayerSendCustomCommandAsync* self = new(ELeave) CTestStepPlayerSendCustomCommandAsync;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1661
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1662
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1663
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1664
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1665
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1666
 * Test step constructor.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1667
 * Each test step initialises its own name.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1668
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1669
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1670
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1671
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1672
CTestStepPlayerSendCustomCommandAsync::CTestStepPlayerSendCustomCommandAsync()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1673
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1674
	iTestStepResult = EPass;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1675
	// store the name of this test case
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1676
	// this is the name that is used by the script file
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1677
	iTestStepName = _L("MM-MMF-ACLNT-U-0063-HP");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1678
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1679
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1680
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1681
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1682
 * Test step destructor.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1683
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1684
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1685
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1686
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1687
CTestStepPlayerSendCustomCommandAsync::~CTestStepPlayerSendCustomCommandAsync()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1688
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1689
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1690
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1691
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1692
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1693
 * Test step Close
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1694
 * handles all deletion
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1695
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1696
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1697
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1698
void CTestStepPlayerSendCustomCommandAsync::Close()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1699
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1700
	delete iAsyncObserver;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1701
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1702
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1703
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1704
 * Implementation of the MVideoRecorderUtilityObserver interface functions
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1705
 **/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1706
void CTestStepPlayerSendCustomCommandAsync::MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& /*aDuration*/)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1707
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1708
	iError = aError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1709
	CActiveScheduler::Stop(); 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1710
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1711
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1712
void CTestStepPlayerSendCustomCommandAsync::MapcPlayComplete(TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1713
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1714
	iError = aError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1715
	CActiveScheduler::Stop(); 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1716
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1717
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1718
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1719
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1720
 * Test step Preamble.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1721
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1722
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1723
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1724
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1725
enum TVerdict CTestStepPlayerSendCustomCommandAsync::DoTestStepPreambleL(void)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1726
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1727
	enum TVerdict verdict;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1728
	// this installs the scheduler
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1729
	verdict = CTestStepUnitMMFAudClient::DoTestStepPreambleL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1730
	if (verdict != EPass)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1731
		return verdict;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1732
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1733
	if(!GetStringFromConfig(_L("SectionOne"), _L("AudioFNameTestController"), iFileName))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1734
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1735
		 //INFO_PRINTF2(_L("file name %s not found..."), fileptr);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1736
		 return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1737
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1738
		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1739
	iAsyncObserver = new (ELeave) CAsyncObserver;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1740
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1741
	// Printing to the console and log file
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1742
	INFO_PRINTF1(iTestStepName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1743
	INFO_PRINTF1(_L("this test tests CMMFMdaAudioPlayerUtility::CustomCommandAsync"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1744
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1745
	return verdict;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1746
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1747
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1748
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1749
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1750
 * Test step Postamble.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1751
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1752
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1753
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1754
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1755
enum TVerdict CTestStepPlayerSendCustomCommandAsync::DoTestStepPostambleL(void)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1756
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1757
	delete iPlayer;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1758
	iPlayer = NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1759
	//[ Destroy the scheduler ]
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1760
	return CTestStepUnitMMFAudClient::DoTestStepPostambleL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1761
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1762
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1763
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1764
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1765
 * Do the test step.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1766
 * Each test step must supply an implementation for DoTestStepL.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1767
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1768
 * @return	"TVerdict"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1769
 *			The result of the test step
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1770
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1771
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1772
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1773
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1774
TVerdict CTestStepPlayerSendCustomCommandAsync::DoTestStepL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1775
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1776
	TInt err;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1777
	err = KErrNone;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1778
	iTestStepResult = EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1779
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1780
	iPlayer = CMMFMdaAudioPlayerUtility::NewL(*this);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1781
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1782
	// special command to open the test controller, since it uses a different Media ID and will not be found with the normal Open
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1783
	err = OpenFileWithTestControllerL(iPlayer,iFileName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1784
	// no callback, since we skipped this
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1785
	if (err!=KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1786
		return EInconclusive;	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1787
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1788
	TUid uid;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1789
	uid = TUid::Uid(0x101f72B4);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1790
	// destinationPckg can be temporary as the asynchronous custom command returns before the temporary variable goes out of scope
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1791
	TMMFMessageDestinationPckg destinationPckg(uid);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1792
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1793
	// test without a return value
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1794
	iPlayer->CustomCommandAsync(destinationPckg,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1795
								EMMFTestCustomCommandGeneralAsynchronous,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1796
								KFirstParameter,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1797
								KSecondParameter,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1798
								iAsyncObserver->ActiveStatus());
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1799
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1800
	CActiveScheduler::Start();	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1801
	if (iAsyncObserver->iStatus.Int() !=KTestCustomCommandSuccess)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1802
		return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1803
								
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1804
	TBuf8<256> buf;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1805
		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1806
	iPlayer->CustomCommandAsync(destinationPckg,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1807
								EMMFTestCustomCommandGeneralAsynchronousWithReturn,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1808
								KFirstParameter,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1809
								KSecondParameter,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1810
								buf,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1811
								iAsyncObserver->ActiveStatus());
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1812
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1813
	CActiveScheduler::Start();	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1814
	if (iAsyncObserver->iStatus.Int() !=KTestCustomCommandSuccess)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1815
		return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1816
		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1817
	if (buf.Compare(KReturnParameter)==0)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1818
		iTestStepResult = EPass;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1819
	else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1820
		iTestStepResult = EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1821
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1822
	INFO_PRINTF1(_L("finished with this test step"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1823
	// test steps return a result
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1824
	return iTestStepResult;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1825
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1826
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1827
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1828
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1829
// --------------------------------------------
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1830
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1831
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1832
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1833
 * Static constructor for CTestStepPlayerReloadingTest.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1834
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1835
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1836
 * @return	"CTestStepPlayerReloadingTest*"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1837
 *			The constructed CTestStepPlayerReloadingTest
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1838
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1839
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1840
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1841
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1842
CTestStepPlayerReloadingTest* CTestStepPlayerReloadingTest::NewL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1843
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1844
	CTestStepPlayerReloadingTest* self = new(ELeave) CTestStepPlayerReloadingTest;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1845
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1846
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1847
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1848
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1849
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1850
 * Test step constructor.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1851
 * Each test step initialises its own name.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1852
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1853
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1854
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1855
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1856
CTestStepPlayerReloadingTest::CTestStepPlayerReloadingTest()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1857
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1858
	iTestStepResult = EPass;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1859
	// store the name of this test case
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1860
	// this is the name that is used by the script file
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1861
	iTestStepName = _L("MM-MMF-ACLNT-U-0064-HP");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1862
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1863
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1864
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1865
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1866
 * Test step destructor.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1867
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1868
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1869
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1870
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1871
CTestStepPlayerReloadingTest::~CTestStepPlayerReloadingTest()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1872
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1873
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1874
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1875
void CTestStepPlayerReloadingTest::MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& /*aDuration*/)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1876
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1877
	iError = aError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1878
	CActiveScheduler::Stop(); 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1879
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1880
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1881
void CTestStepPlayerReloadingTest::MapcPlayComplete(TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1882
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1883
	iError = aError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1884
	CActiveScheduler::Stop(); 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1885
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1886
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1887
void CTestStepPlayerReloadingTest::MaloLoadingStarted()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1888
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1889
	iLoadingStarted = ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1890
	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1891
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1892
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1893
void CTestStepPlayerReloadingTest::MaloLoadingComplete()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1894
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1895
	iLoadingComplete = ETrue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1896
	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1897
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1898
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1899
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1900
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1901
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1902
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1903
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1904
 * Test step Preamble.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1905
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1906
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1907
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1908
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1909
enum TVerdict CTestStepPlayerReloadingTest::DoTestStepPreambleL(void)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1910
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1911
	enum TVerdict verdict;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1912
	// this installs the scheduler
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1913
	verdict = CTestStepUnitMMFAudClient::DoTestStepPreambleL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1914
	if (verdict != EPass)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1915
		return verdict;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1916
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1917
	if(!GetStringFromConfig(_L("SectionOne"), _L("AudioFNameTestController"), iFileName))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1918
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1919
		 //INFO_PRINTF2(_L("file name %s not found..."), fileptr);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1920
		 return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1921
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1922
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1923
	// Printing to the console and log file
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1924
	INFO_PRINTF1(iTestStepName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1925
	INFO_PRINTF1(_L("this test simulates Audio Reloading and tests CMMFMdaAudioPlayerUtility::GetAudioLoadingProgressL"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1926
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1927
	return verdict;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1928
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1929
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1930
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1931
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1932
 * Test step Postamble.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1933
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1934
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1935
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1936
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1937
enum TVerdict CTestStepPlayerReloadingTest::DoTestStepPostambleL(void)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1938
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1939
	delete iPlayer;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1940
	iPlayer = NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1941
	//[ Destroy the scheduler ]
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1942
	return CTestStepUnitMMFAudClient::DoTestStepPostambleL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1943
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1944
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1945
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1946
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1947
 * Do the test step.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1948
 * Each test step must supply an implementation for DoTestStepL.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1949
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1950
 * @return	"TVerdict"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1951
 *			The result of the test step
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1952
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1953
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1954
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1955
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1956
TVerdict CTestStepPlayerReloadingTest::DoTestStepL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1957
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1958
	TInt err;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1959
	err = KErrNone;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1960
	iTestStepResult = EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1961
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1962
	iPlayer = CMMFMdaAudioPlayerUtility::NewL(*this);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1963
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1964
	err = OpenFileWithTestControllerL(iPlayer, iFileName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1965
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1966
	if (err!=KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1967
		return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1968
		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1969
	iPlayer->RegisterForAudioLoadingNotification(*this);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1970
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1971
	TUid uid;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1972
	uid = TUid::Uid(0x101f72B4);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1973
	TMMFMessageDestinationPckg destPckg(uid);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1974
	// test without a return value
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1975
	err = iPlayer->CustomCommandSync(destPckg,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1976
								EMMFTestCustomCommandSimulateReloading,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1977
								KNullDesC8,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1978
								KNullDesC8);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1979
								
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1980
	if (err!=KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1981
		return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1982
		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1983
	CActiveScheduler::Start();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1984
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1985
	if (!iLoadingStarted)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1986
		return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1987
		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1988
	TInt percentageComplete = 0;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1989
	TInt oldPercentageComplete =0;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1990
	while (percentageComplete!=100 && percentageComplete>=oldPercentageComplete)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1991
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1992
		oldPercentageComplete = percentageComplete;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1993
		iPlayer->GetAudioLoadingProgressL(percentageComplete);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1994
		INFO_PRINTF2(_L("Loading progress: %d"),percentageComplete);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1995
		User::After(100);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1996
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1997
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1998
	CActiveScheduler::Start();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  1999
		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2000
	if (iLoadingComplete && percentageComplete==100)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2001
		iTestStepResult = EPass;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2002
	else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2003
		iTestStepResult = EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2004
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2005
	delete iPlayer;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2006
	iPlayer = NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2007
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2008
	INFO_PRINTF1(_L("finished with this test step"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2009
	// test steps return a result
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2010
	return iTestStepResult;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2011
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2012
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2013
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2014
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2015
 * Static constructor for CTestStepPlayerPlayStopFFPlayNext.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2016
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2017
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2018
 * @return	"CTestStepPlayerPlayStopFFPlayNext*"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2019
 *			The constructed CTestStepPlayerPlayStopFFPlayNext
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2020
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2021
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2022
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2023
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2024
CTestStepPlayerPlayStopFFPlayNext* CTestStepPlayerPlayStopFFPlayNext::NewL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2025
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2026
	CTestStepPlayerPlayStopFFPlayNext* self = new(ELeave) CTestStepPlayerPlayStopFFPlayNext;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2027
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2028
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2029
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2030
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2031
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2032
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2033
 * Test step constructor.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2034
 * Each test step initialises its own name.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2035
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2036
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2037
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2038
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2039
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2040
CTestStepPlayerPlayStopFFPlayNext::CTestStepPlayerPlayStopFFPlayNext()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2041
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2042
	// store the name of this test case
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2043
	// this is the name that is used by the script file
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2044
	iTestStepName = _L("MM-MMF-ACLNT-U-0856-HP");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2045
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2046
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2047
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2048
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2049
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2050
 * Test step destructor.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2051
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2052
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2053
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2054
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2055
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2056
CTestStepPlayerPlayStopFFPlayNext::~CTestStepPlayerPlayStopFFPlayNext()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2057
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2058
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2059
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2060
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2061
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2062
 * Test step Preamble.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2063
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2064
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2065
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2066
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2067
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2068
TVerdict CTestStepPlayerPlayStopFFPlayNext::DoTestStepPreambleL(void)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2069
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2070
	TVerdict verdict=EPass;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2071
	 // this installs the scheduler
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2072
	if((verdict = CTestStepUnitMMFAudClient::DoTestStepPreambleL())	!= EPass)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2073
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2074
		return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2075
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2076
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2077
	// Printing to the console and log file
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2078
	INFO_PRINTF2(_L("%S"), &iTestStepName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2079
	INFO_PRINTF1(_L("this is a test of calling Play, Stop fast forward close"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2080
	INFO_PRINTF1(_L("and then open the next song playing again & verifying the clip is played from the start"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2081
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2082
	if(!GetStringFromConfig(_L("SectionOne"), _L("AudioPlayFName10"), iFileName)) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2083
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2084
		return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2085
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2086
	// create a play utility
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2087
	TRAPD(error, iPlayerUtility = CMdaAudioPlayerUtility::NewL(*this));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2088
	if (error != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2089
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2090
		return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2091
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2092
	return verdict;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2093
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2094
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2095
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2096
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2097
 * Test step Postamble.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2098
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2099
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2100
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2101
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2102
TVerdict CTestStepPlayerPlayStopFFPlayNext::DoTestStepPostambleL(void)	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2103
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2104
	delete iPlayerUtility;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2105
	iPlayerUtility = NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2106
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2107
	//[ Destroy the scheduler ]
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2108
	return CTestStepUnitMMFAudClient::DoTestStepPostambleL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2109
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2110
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2111
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2112
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2113
 * Callback Handle.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2114
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2115
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2116
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2117
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2118
void CTestStepPlayerPlayStopFFPlayNext::MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& /*aDuration*/)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2119
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2120
	INFO_PRINTF2(_L("MapcInitComplete(): error = %d"), aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2121
	iError = aError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2122
	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2123
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2124
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2125
void CTestStepPlayerPlayStopFFPlayNext::MapcPlayComplete(TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2126
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2127
	INFO_PRINTF2(_L("MapcPlayComplete(): error = %d"), aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2128
	iError = aError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2129
	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2130
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2131
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2132
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2133
TVerdict CTestStepPlayerPlayStopFFPlayNext::DoTestStepL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2134
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2135
	iTestStepResult = EPass;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2136
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2137
	INFO_PRINTF1(_L("Opening file using player utility..."));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2138
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2139
	// open the sound file
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2140
	TRAP(iError, iPlayerUtility->OpenFileL(iFileName));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2141
	if (iError != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2142
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2143
		return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2144
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2145
	// wait for open to complete
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2146
	CActiveScheduler::Start(); 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2147
	if (iError != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2148
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2149
		return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2150
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2151
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2152
	TTimeIntervalMicroSeconds playStart = TTimeIntervalMicroSeconds(0);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2153
	TTimeIntervalMicroSeconds playEnd = iPlayerUtility->Duration();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2154
	// SetPlayWindow, Play & verify we play from start of window
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2155
	INFO_PRINTF1(_L("calling SetPlayWindow..."));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2156
	iPlayerUtility->SetPlayWindow(playStart, playEnd);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2157
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2158
	INFO_PRINTF1(_L("calling play..."));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2159
	iPlayerUtility->Play();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2160
		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2161
	if (iError != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2162
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2163
		  return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2164
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2165
	const TInt KTwoSeconds = 2000000;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2166
	User::After(KTwoSeconds);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2167
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2168
	TTimeIntervalMicroSeconds position = TTimeIntervalMicroSeconds(0);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2169
	iPlayerUtility->GetPosition(position);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2170
	INFO_PRINTF1(_L("calling stop..."));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2171
	iPlayerUtility->Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2172
	FastForward(position);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2173
	iPlayerUtility->GetPosition(position);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2174
	FastForward(position);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2175
	iPlayerUtility->GetPosition(position);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2176
	FastForward(position);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2177
	Next();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2178
	if (iError != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2179
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2180
		return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2181
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2182
	iPlayerUtility->Play();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2183
	User::After(KTwoSeconds);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2184
	position = 0;	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2185
	iPlayerUtility->GetPosition(position);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2186
	TInt64 halfSecond = playEnd.Int64() / 2;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2187
	if (position.Int64() > halfSecond)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2188
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2189
		INFO_PRINTF2(_L("play position is not at start of clip - %d"), position.Int64());
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2190
		return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2191
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2192
	iPlayerUtility->Close();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2193
	return iTestStepResult;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2194
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2195
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2196
void CTestStepPlayerPlayStopFFPlayNext::FastForward(const TTimeIntervalMicroSeconds aPosition)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2197
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2198
	TTimeIntervalMicroSeconds step = TTimeIntervalMicroSeconds(200000);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2199
	iPlayerUtility->SetPosition(aPosition.Int64() + step.Int64());
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2200
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2201
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2202
void CTestStepPlayerPlayStopFFPlayNext::Next()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2203
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2204
	iPlayerUtility->Close();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2205
	iError = KErrNone;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2206
	TRAP(iError, iPlayerUtility->OpenFileL(iFileName));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2207
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2208
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2209
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2210
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2211
// class CTestStepMultipleSetPlayerPriority
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2212
// --------------------------------------------
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2213
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2214
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2215
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2216
 * Static constructor for CTestStepMultipleSetPlayerPriority.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2217
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2218
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2219
 * @return	"CTestStepMultipleSetPlayerPriority*"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2220
 *			The constructed CTestStepMultipleSetPlayerPriority
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2221
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2222
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2223
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2224
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2225
CTestStepMultipleSetPlayerPriority* CTestStepMultipleSetPlayerPriority::NewL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2226
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2227
	CTestStepMultipleSetPlayerPriority* self = new(ELeave) CTestStepMultipleSetPlayerPriority;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2228
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2229
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2230
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2231
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2232
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2233
 * Test step constructor.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2234
 * Each test step initialises its own name.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2235
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2236
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2237
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2238
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2239
CTestStepMultipleSetPlayerPriority::CTestStepMultipleSetPlayerPriority()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2240
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2241
	iTestStepResult = EPass;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2242
	// store the name of this test case
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2243
	// this is the name that is used by the script file
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2244
	iTestStepName = _L("MM-MMF-ACLNT-U-0957-HP");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2245
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2246
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2247
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2248
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2249
 * Test step destructor.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2250
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2251
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2252
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2253
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2254
CTestStepMultipleSetPlayerPriority::~CTestStepMultipleSetPlayerPriority()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2255
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2256
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2257
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2258
 * Implementation of the MMdaAudioPlayerCallback interface functions
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2259
 **/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2260
void CTestStepMultipleSetPlayerPriority::MapcInitComplete(TInt aError, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2261
								const TTimeIntervalMicroSeconds &/*aDuration*/)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2262
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2263
	iError = aError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2264
	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2265
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2266
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2267
void CTestStepMultipleSetPlayerPriority::MapcPlayComplete(TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2268
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2269
	iError = aError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2270
	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2271
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2272
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2273
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2274
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2275
 * Test step Preamble.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2276
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2277
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2278
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2279
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2280
 enum TVerdict CTestStepMultipleSetPlayerPriority::DoTestStepPreambleL(void)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2281
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2282
	 enum TVerdict verdict;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2283
	 // this installs the scheduler
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2284
	 verdict = CTestStepUnitMMFAudClient::DoTestStepPreambleL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2285
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2286
	// Printing to the console and log file
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2287
	 INFO_PRINTF1(_L("MM-MMF-ACLNT-U-0957-HP"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2288
	 INFO_PRINTF1(_L("This test checks for setting the priorities more than once, as part of  DEF067052"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2289
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2290
	 iError = KErrNone; //KErrTimedOut;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2291
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2292
	 if(!GetStringFromConfig(_L("SectionOne"), _L("AudioFNameMeta"), iFileName))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2293
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2294
		 return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2295
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2296
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2297
	 iPlayer = CMMFMdaAudioPlayerUtility::NewFilePlayerL(iFileName, *this);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2298
	 CActiveScheduler::Start();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2299
	 User::After(1000000);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2300
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2301
	 if (iPlayer == NULL ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2302
		 iError != KErrNone )
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2303
		 return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2304
	 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2305
	 return verdict;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2306
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2307
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2308
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2309
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2310
 * Test step Postamble.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2311
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2312
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2313
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2314
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2315
enum TVerdict CTestStepMultipleSetPlayerPriority::DoTestStepPostambleL(void)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2316
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2317
	delete iPlayer;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2318
	iPlayer = NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2319
	//[ Destroy the scheduler ]
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2320
	return CTestStepUnitMMFAudClient::DoTestStepPostambleL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2321
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2322
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2323
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2324
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2325
 * Do the test step.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2326
 * Each test step must supply an implementation for DoTestStepL.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2327
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2328
 * @return	"TVerdict"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2329
 *			The result of the test step
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2330
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2331
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2332
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2333
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2334
TVerdict CTestStepMultipleSetPlayerPriority::DoTestStepL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2335
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2336
	iTestStepResult = EPass;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2337
	TInt err = KErrNone; 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2338
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2339
	iPlayer->SetPriority(EMdaPriorityNormal, EMdaPriorityPreferenceQuality);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2340
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2341
	TMMFPrioritySettings priorSets;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2342
	err = GetAudPlayerPriority(iPlayer, priorSets);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2343
	if (err != KErrNone ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2344
		priorSets.iPriority != EMdaPriorityNormal ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2345
		priorSets.iPref != EMdaPriorityPreferenceQuality)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2346
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2347
		return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2348
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2349
	iPlayer->Play();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2350
	User::After(1000000);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2351
	iPlayer->Pause();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2352
	iPlayer->SetPriority(EMdaPriorityMin, EMdaPriorityPreferenceTimeAndQuality);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2353
	err = GetAudPlayerPriority(iPlayer, priorSets);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2354
	if (err != KErrNone ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2355
		priorSets.iPriority != EMdaPriorityMin ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2356
		priorSets.iPref != EMdaPriorityPreferenceTimeAndQuality)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2357
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2358
		return EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2359
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2360
	iPlayer->Play();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2361
	INFO_PRINTF1(_L("finished with this test step"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2362
	// test steps return a result
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2363
	return iTestStepResult;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2364
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2365
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2366
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2367
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2368
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2369
// class CTestStepPlayerPlayPausePlay
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2370
// --------------------------------------------
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2371
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2372
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2373
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2374
 * Static constructor for CTestStepPlayerPlayPausePlay.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2375
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2376
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2377
 * @return	"CTestStepPlayerPlayPausePlay*"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2378
 *			The constructed CTestStepPlayerPlayPausePlay
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2379
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2380
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2381
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2382
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2383
CTestStepPlayerPlayPausePlay* CTestStepPlayerPlayPausePlay::NewL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2384
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2385
	CTestStepPlayerPlayPausePlay* self = new(ELeave) CTestStepPlayerPlayPausePlay;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2386
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2387
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2388
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2389
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2390
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2391
 * Test step constructor.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2392
 * Each test step initialises its own name.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2393
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2394
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2395
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2396
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2397
CTestStepPlayerPlayPausePlay::CTestStepPlayerPlayPausePlay()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2398
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2399
	iTestStepResult = EPass;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2400
	// store the name of this test case
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2401
	// this is the name that is used by the script file
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2402
	iTestStepName = _L("MM-MMF-ACLNT-U-0958-HP");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2403
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2404
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2405
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2406
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2407
 * Test step destructor.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2408
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2409
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2410
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2411
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2412
CTestStepPlayerPlayPausePlay::~CTestStepPlayerPlayPausePlay()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2413
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2414
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2415
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2416
 * Implementation of the MMdaAudioPlayerCallback interface functions
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2417
 **/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2418
void CTestStepPlayerPlayPausePlay::MapcInitComplete(TInt aError, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2419
								const TTimeIntervalMicroSeconds &/*aDuration*/)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2420
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2421
	iError = aError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2422
	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2423
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2424
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2425
void CTestStepPlayerPlayPausePlay::MapcPlayComplete(TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2426
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2427
	INFO_PRINTF1(_L("finished with this test step"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2428
	iError = aError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2429
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2430
	if (!iError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2431
		iTestStepResult = EPass;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2432
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2433
	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2434
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2435
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2436
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2437
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2438
 * Test step Preamble.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2439
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2440
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2441
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2442
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2443
 enum TVerdict CTestStepPlayerPlayPausePlay::DoTestStepPreambleL(void)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2444
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2445
	 enum TVerdict verdict;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2446
	 // this installs the scheduler
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2447
	 verdict = CTestStepUnitMMFAudClient::DoTestStepPreambleL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2448
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2449
	// Printing to the console and log file
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2450
	 INFO_PRINTF1(_L("MM-MMF-ACLNT-U-0958-HP"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2451
	 INFO_PRINTF1(_L("This test checks that a paused playback at position 0 will resume and complete, as part of DEF070060"));	 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2452
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2453
	 iError = KErrNone; //KErrTimedOut;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2454
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2455
	 if(!GetStringFromConfig(_L("SectionOne"), _L("AudioFNameMeta"), iFileName))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2456
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2457
		 return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2458
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2459
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2460
	 iPlayer = CMMFMdaAudioPlayerUtility::NewFilePlayerL(iFileName, *this);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2461
	 CActiveScheduler::Start();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2462
	 User::After(1000000);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2463
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2464
	 if (iPlayer == NULL ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2465
		 iError != KErrNone )
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2466
		 return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2467
	 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2468
	 return verdict;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2469
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2470
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2471
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2472
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2473
 * Test step Postamble.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2474
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2475
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2476
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2477
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2478
enum TVerdict CTestStepPlayerPlayPausePlay::DoTestStepPostambleL(void)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2479
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2480
	delete iPlayer;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2481
	iPlayer = NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2482
	//[ Destroy the scheduler ]
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2483
	return CTestStepUnitMMFAudClient::DoTestStepPostambleL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2484
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2485
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2486
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2487
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2488
 * Do the test step.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2489
 * Each test step must supply an implementation for DoTestStepL.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2490
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2491
 * @return	"TVerdict"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2492
 *			The result of the test step
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2493
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2494
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2495
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2496
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2497
TVerdict CTestStepPlayerPlayPausePlay::DoTestStepL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2498
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2499
	iTestStepResult = EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2500
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2501
	iPlayer->Play();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2502
	iPlayer->Pause();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2503
	iPlayer->Play();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2504
	CActiveScheduler::Start();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2505
	// test steps return a result
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2506
	return iTestStepResult;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2507
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2508
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2509
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2510
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2511
// class CTestStepPlaybackDurationInformation
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2512
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2513
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2514
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2515
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2516
 * Static constructor for CTestStepPlaybackDurationInformation.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2517
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2518
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2519
 * @return	"CTestStepPlaybackDurationInformation*"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2520
 *			The constructed CTestStepPlaybackDurationInformation
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2521
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2522
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2523
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2524
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2525
CTestStepPlaybackDurationInformation* CTestStepPlaybackDurationInformation::NewL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2526
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2527
	CTestStepPlaybackDurationInformation* self = new(ELeave) CTestStepPlaybackDurationInformation;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2528
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2529
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2530
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2531
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2532
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2533
 * Test step constructor.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2534
 * Each test step initialises its own name.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2535
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2536
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2537
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2538
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2539
CTestStepPlaybackDurationInformation::CTestStepPlaybackDurationInformation()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2540
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2541
	iTestStepResult = EPass;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2542
	// store the name of this test case
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2543
	// this is the name that is used by the script file
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2544
	iTestStepName = _L("MM-MMF-ACLNT-U-0960-HP");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2545
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2546
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2547
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2548
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2549
 * Test step destructor.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2550
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2551
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2552
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2553
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2554
CTestStepPlaybackDurationInformation::~CTestStepPlaybackDurationInformation()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2555
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2556
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2557
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2558
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2559
 * Implementation of the MMdaAudioPlayerCallback interface functions
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2560
 **/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2561
void CTestStepPlaybackDurationInformation::MapcInitComplete(TInt aError, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2562
								const TTimeIntervalMicroSeconds &/*aDuration*/)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2563
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2564
	iError = aError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2565
	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2566
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2567
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2568
void CTestStepPlaybackDurationInformation::MapcPlayComplete(TInt)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2569
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2570
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2571
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2572
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2573
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2574
 * Test step Preamble.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2575
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2576
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2577
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2578
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2579
enum TVerdict CTestStepPlaybackDurationInformation::DoTestStepPreambleL(void)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2580
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2581
	enum TVerdict verdict;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2582
	// this installs the scheduler
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2583
	verdict = CTestStepUnitMMFAudClient::DoTestStepPreambleL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2584
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2585
	// Printing to the console and log file
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2586
	INFO_PRINTF1(_L("MM-MMF-ACLNT-U-0960-HP"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2587
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2588
	INFO_PRINTF1(_L("This test checks that CMdaAudioPlayerUtility::Duration(TTimeIntervalMicroSeconds &) returns TMMFDurationInfo::EMMFDurationInfoValid"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2589
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2590
	iError = KErrNone;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2591
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2592
	if(!GetStringFromConfig(_L("SectionOne"), _L("AudioFNameMeta"), iFileName))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2593
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2594
		return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2595
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2596
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2597
	//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2598
	// Setup player with dummy file
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2599
	iPlayer = CMdaAudioPlayerUtility::NewFilePlayerL(iFileName, *this);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2600
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2601
	CActiveScheduler::Start();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2602
	User::After(1000000);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2603
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2604
	if (iPlayer == NULL ||
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2605
	 	iError != KErrNone )
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2606
	 	return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2607
	 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2608
	return verdict;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2609
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2610
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2611
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2612
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2613
 * Test step Postamble.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2614
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2615
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2616
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2617
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2618
enum TVerdict CTestStepPlaybackDurationInformation::DoTestStepPostambleL(void)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2619
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2620
	delete iPlayer;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2621
	iPlayer = NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2622
	//[ Destroy the scheduler ]
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2623
	return CTestStepUnitMMFAudClient::DoTestStepPostambleL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2624
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2625
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2626
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2627
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2628
 * Do the test step.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2629
 * Each test step must supply an implementation for DoTestStepL.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2630
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2631
 * @return	"TVerdict"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2632
 *			The result of the test step
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2633
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2634
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2635
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2636
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2637
TVerdict CTestStepPlaybackDurationInformation::DoTestStepL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2638
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2639
	iTestStepResult = EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2640
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2641
	// Check that the duration state is TMMFDurationInfo::EMMFDurationInfoValid - known.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2642
	TTimeIntervalMicroSeconds  result2 = 0;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2643
	TMMFDurationInfo result = iPlayer->Duration(result2);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2644
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2645
	if ( result == EMMFDurationInfoValid )
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2646
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2647
		iTestStepResult = EPass;		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2648
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2649
	else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2650
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2651
		iTestStepResult = EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2652
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2653
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2654
	// test steps return a result
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2655
	return iTestStepResult;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2656
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2657
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2658
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2659
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2660
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2661
// --------------------------------------------
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2662
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2663
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2664
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2665
 * Static constructor for CTestStepPlayerCheckImplementationInfo.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2666
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2667
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2668
 * @return	"CTestStepPlayerCheckImplementationInfo*"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2669
 *			The constructed CTestStepPlayerCheckImplementationInfo
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2670
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2671
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2672
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2673
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2674
CTestStepPlayerCheckImplementationInfo* CTestStepPlayerCheckImplementationInfo::NewL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2675
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2676
	CTestStepPlayerCheckImplementationInfo* self = new(ELeave) CTestStepPlayerCheckImplementationInfo;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2677
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2678
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2679
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2680
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2681
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2682
 * Test step constructor.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2683
 * Each test step initialises its own name.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2684
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2685
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2686
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2687
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2688
CTestStepPlayerCheckImplementationInfo::CTestStepPlayerCheckImplementationInfo() 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2689
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2690
	iTestStepResult = EPass;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2691
	// store the name of this test case
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2692
	// this is the name that is used by the script file
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2693
	iTestStepName = _L("MM-MMF-ACLNT-U-1004-HP");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2694
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2695
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2696
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2697
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2698
 * Test step destructor.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2699
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2700
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2701
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2702
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2703
CTestStepPlayerCheckImplementationInfo::~CTestStepPlayerCheckImplementationInfo()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2704
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2705
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2706
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2707
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2708
 * Implementation of the MMdaAudioPlayerCallback interface functions
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2709
 **/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2710
void CTestStepPlayerCheckImplementationInfo::MapcInitComplete(TInt aError, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2711
								const TTimeIntervalMicroSeconds &/*aDuration*/)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2712
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2713
	iError = aError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2714
	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2715
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2716
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2717
void CTestStepPlayerCheckImplementationInfo::MapcPlayComplete(TInt aError)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2718
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2719
	iError = aError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2720
	CActiveScheduler::Stop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2721
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2722
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2723
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2724
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2725
 * Test step Preamble.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2726
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2727
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2728
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2729
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2730
TVerdict CTestStepPlayerCheckImplementationInfo::DoTestStepPreambleL(void)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2731
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2732
	// this installs the scheduler
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2733
	TVerdict verdict = CTestStepUnitMMFAudClient::DoTestStepPreambleL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2734
	if (verdict != EPass)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2735
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2736
		return verdict;	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2737
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2738
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2739
	 if(!GetStringFromConfig(_L("SectionOne"), _L("AudioPlayFName1"), iFileName))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2740
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2741
		return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2742
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2743
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2744
	// Printing to the console and log file
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2745
	INFO_PRINTF1(iTestStepName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2746
	INFO_PRINTF1(_L("this test tests CMMFMdaAudioPlayerUtility::ControllerImplementationInformationL()"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2747
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2748
	return verdict;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2749
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2750
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2751
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2752
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2753
 * Test step Postamble.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2754
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2755
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2756
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2757
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2758
TVerdict CTestStepPlayerCheckImplementationInfo::DoTestStepPostambleL(void)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2759
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2760
	//[ Destroy the scheduler ]
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2761
	return CTestStepUnitMMFAudClient::DoTestStepPostambleL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2762
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2763
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2764
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2765
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2766
 * Do the test step.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2767
 * Each test step must supply an implementation for DoTestStepL.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2768
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2769
 * @return	"TVerdict"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2770
 *			The result of the test step
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2771
 *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2772
 * @xxxx
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2773
 * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2774
 */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2775
TVerdict CTestStepPlayerCheckImplementationInfo::DoTestStepL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2776
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2777
	TInt err = KErrNone;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2778
	iTestStepResult = EFail;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2779
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2780
	iPlayer = CMMFMdaAudioPlayerUtility::NewFilePlayerL(iFileName, *this);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2781
	CActiveScheduler::Start();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2782
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2783
	if (iError != KErrNone) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2784
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2785
		return EInconclusive;	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2786
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2787
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2788
	const CMMFControllerImplementationInformation* info = NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2789
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2790
	TRAP(err, info = &iPlayer->ControllerImplementationInformationL());
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2791
	if (err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2792
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2793
		return EFail;	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2794
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2795
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2796
	TBuf<40> displayName;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2797
	displayName.Copy(info->DisplayName());
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2798
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2799
	iPlayer->Close(); 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2800
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2801
	if(!GetStringFromConfig(_L("SectionOne"), _L("AudioFNameTestController"), iFileName))
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2802
		{ 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2803
		return EInconclusive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2804
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2805
		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2806
	err = OpenFileWithTestControllerL(iPlayer,iFileName);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2807
	// no callback, since we skipped this
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2808
	if (err != KErrNone)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2809
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2810
		return EInconclusive;		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2811
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2812
			
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2813
	TRAP(err, info = &iPlayer->ControllerImplementationInformationL());
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2814
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2815
	if(info->DisplayName().Compare(displayName) != 0)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2816
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2817
		iTestStepResult = EPass;	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2818
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2819
	else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2820
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2821
		iTestStepResult = EFail;	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2822
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2823
		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2824
	delete iPlayer;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2825
	iPlayer = NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2826
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2827
	INFO_PRINTF1(_L("finished with this test step"));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2828
	// test steps return a result
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2829
	return iTestStepResult;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2830
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
  2831