os/mm/mmlibs/mmfw/tsrc/mmfintegrationtest/vclnt/src/OpenFileByHandle_PlayText.cpp
First public contribution.
1 // Copyright (c) 2004-2010 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // under the terms of "Eclipse Public License v1.0"
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
14 // OpenFileByHandlePlayTextFile.CPP
18 #include "TestPlayer.h"
19 #include "OpenFileByHandle_PlayText.h"
26 CTestMmfVclntOpenFilePlayTextFile::CTestMmfVclntOpenFilePlayTextFile(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay)
29 // store the name of this test case
30 // this is the name that is used by the script file
31 // Each test step initialises it's own name
32 iTestStepName = aTestName;
33 iSectName = aSectName;
36 // expand heap, so we can load 80k video
40 CTestMmfVclntOpenFilePlayTextFile* CTestMmfVclntOpenFilePlayTextFile::NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay)
42 CTestMmfVclntOpenFilePlayTextFile* self = new (ELeave) CTestMmfVclntOpenFilePlayTextFile(aTestName,aSectName,aKeyName,aPlay);
46 CTestMmfVclntOpenFilePlayTextFile* CTestMmfVclntOpenFilePlayTextFile::NewLC(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName,const TBool aPlay)
48 CTestMmfVclntOpenFilePlayTextFile* self = CTestMmfVclntOpenFilePlayTextFile::NewLC(aTestName,aSectName,aKeyName,aPlay);
49 CleanupStack::PushL(self);
53 void CTestMmfVclntOpenFilePlayTextFile::MvpuoOpenComplete(TInt aError)
56 INFO_PRINTF1(_L("Open Complete callback"));
57 CActiveScheduler::Stop();
60 void CTestMmfVclntOpenFilePlayTextFile::MvpuoPrepareComplete(TInt aError)
63 INFO_PRINTF1(_L("Open Complete callback"));
64 CActiveScheduler::Stop();
67 void CTestMmfVclntOpenFilePlayTextFile::MvpuoFrameReady(CFbsBitmap& /*aFrame*/, TInt aError)
70 INFO_PRINTF1(_L("Frame Ready callback"));
73 void CTestMmfVclntOpenFilePlayTextFile::MvpuoPlayComplete(TInt aError)
76 INFO_PRINTF1(_L("Play Complete callback"));
77 CActiveScheduler::Stop();
80 void CTestMmfVclntOpenFilePlayTextFile::MvpuoEvent(const TMMFEvent& /*aEvent*/)
86 * Load and initialise an audio file.
88 TVerdict CTestMmfVclntOpenFilePlayTextFile::DoTestStepL()
90 return( PerformTestStepL() );
93 TVerdict CTestMmfVclntOpenFilePlayTextFile::PerformTestStepL()
96 iError = KErrTimedOut;
98 INFO_PRINTF1(_L("Test : Video Player - OpenFileL(RFile&)"));
103 User::LeaveIfError(fs.Connect());
104 CleanupClosePushL(fs);
105 User::LeaveIfError(fs.ShareProtected());
108 if(!GetStringFromConfig(iSectName,iKeyName,filename))
110 return EInconclusive;
113 User::LeaveIfError(file.Open(fs,filename,EFileRead));
114 CleanupClosePushL(file);
118 TRect rect, clipRect;
119 CVideoPlayerUtility* player = CVideoPlayerUtility::NewL(*this, EMdaPriorityNormal,
120 EMdaPriorityPreferenceTimeAndQuality,
121 iWs, *iScreen, *iWindow, rect, clipRect);
122 CleanupStack::PushL(player);
123 TRAP(iError,player->OpenFileL(file));
125 if(iError == KErrNone)
127 // Wait for initialisation callback
128 INFO_PRINTF1(_L("CVideoPlayerUtility: Opening file"));
129 CActiveScheduler::Start();
132 // text file is not supported
133 if(iError == KErrNotSupported)
139 if (iError == KErrNone && player != NULL)
142 CActiveScheduler::Start();
146 if (iError == KErrNone && player != NULL)
150 iError = KErrTimedOut;
152 INFO_PRINTF1(_L("CVideoPlayerUtility: Playing file"));
153 // Wait for init callback
154 CActiveScheduler::Start();
155 if(iError == KErrNone)
170 INFO_PRINTF1(_L("CVideoPlayerUtility: Destroying"));
171 if(iError != KErrNone)
173 ERR_PRINTF2( _L("CVideoPlayerUtility failed with error %d"),iError );
176 CleanupStack::PopAndDestroy(3, &fs);