|
1 /* |
|
2 * Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). |
|
3 * All rights reserved. |
|
4 * This component and the accompanying materials are made available |
|
5 * under the terms of "Eclipse Public License v1.0" |
|
6 * which accompanies this distribution, and is available |
|
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
8 * |
|
9 * Initial Contributors: |
|
10 * Nokia Corporation - initial contribution. |
|
11 * |
|
12 * Contributors: |
|
13 * |
|
14 * Description: |
|
15 * |
|
16 */ |
|
17 |
|
18 |
|
19 #ifndef OMXSCRIPTTEST_H_ |
|
20 #define OMXSCRIPTTEST_H_ |
|
21 |
|
22 #include "omxscriptparser.h" |
|
23 #include "asbreakeventhandler.h" |
|
24 #include "videotesttimer.h" |
|
25 #include <e32msgqueue.h> |
|
26 #include "omxthreadrequest.h" |
|
27 #include "omx_xml_script.h" |
|
28 //#include <multimedia/mmfbuffershared.h> |
|
29 #include <openmax/il/khronos/v1_x/OMX_IVCommon.h> |
|
30 #include <openmax/il/khronos/v1_x/OMX_Types.h> |
|
31 #include "portbufferhandler.h" |
|
32 |
|
33 class CNonTunneledHandler; |
|
34 class CVideoBufferHandler; |
|
35 class CVideoBufferSinkHandler; |
|
36 class CBaseProfileHandler; |
|
37 class CWindowManager; |
|
38 |
|
39 const OMX_VERSIONTYPE KOmxVersion = { OMX_VERSION_MAJOR, OMX_VERSION_MINOR, OMX_VERSION_REVISION, OMX_VERSION_STEP }; |
|
40 |
|
41 /** |
|
42 * Class to parse and execute an OMX test case specified in |
|
43 * an XML file. |
|
44 */ |
|
45 NONSHARABLE_CLASS(ROmxScriptTest) : public MOmxScriptIf, public MASBreakCallback, public MTimerObserver |
|
46 { |
|
47 public: |
|
48 |
|
49 NONSHARABLE_CLASS(CComponentInfo) : public CBase |
|
50 { |
|
51 public: |
|
52 static CComponentInfo* NewL(ROmxScriptTest& aTestController); |
|
53 ~CComponentInfo(); |
|
54 |
|
55 private: |
|
56 CComponentInfo(ROmxScriptTest& aTestController); |
|
57 void ConstructL(); |
|
58 |
|
59 public: |
|
60 HBufC8* iShortName; |
|
61 HBufC8* iComponentName; |
|
62 OMX_COMPONENTTYPE* iComponent; |
|
63 CBaseProfileHandler* iBaseHandler; //NULL if not being used via OMX IL Base Profile |
|
64 COmxThreadRequest* iThreadRequest; |
|
65 |
|
66 private: |
|
67 ROmxScriptTest& iTestController; |
|
68 }; |
|
69 |
|
70 class TExpectedEvent |
|
71 { |
|
72 public: |
|
73 OMX_COMPONENTTYPE* iComponent; |
|
74 OMX_EVENTTYPE iEvent; |
|
75 TUint32 iData1; |
|
76 TUint32 iData2; |
|
77 TAny* iEventData; |
|
78 }; |
|
79 typedef void (*THashFilter)(RBuf8&); |
|
80 THashFilter GetHashFilterByName(const TDesC8& aName); |
|
81 |
|
82 ROmxScriptTest(MOmxScriptTestLogger& aLogger); |
|
83 void Close(); |
|
84 |
|
85 void RunTestL(const TDesC& aScriptFilename, const TDesC& aScriptSection); |
|
86 |
|
87 // MOmxScriptIf |
|
88 TBool MosLoadComponentL(const TDesC8& aComp, const TDesC8& aName, TBool aBaseProfile, const TDesC8* aBaseImpl, TBool aLoadInCoreServerThread); |
|
89 TBool MosSetupTunnel(const TDesC8& aSourceComp, TInt aSourcePort, |
|
90 const TDesC8& aSinkComp, TInt aSinkPort, OMX_ERRORTYPE aExpectedError); |
|
91 TBool MosSetupNonTunnel(const TDesC8& aSourceComp, TInt aSourcePort, |
|
92 const TDesC8& aSinkComp, TInt aSinkPort, |
|
93 OMX_BUFFERSUPPLIERTYPE aSupplier); |
|
94 TBool MosSetWindowL(const TDesC8& aComp); |
|
95 TBool MosSetDroppedFrameEvent(const TDesC8& aComp, const TDesC8& aAction); |
|
96 TBool MosAllTransitionL(OMX_STATETYPE aState,OMX_ERRORTYPE aExpectedError, TTransitionOrder aOrder); |
|
97 TBool MosWaitEOS(); |
|
98 TBool MosWaitEOS(const TDesC8& aComp); |
|
99 TBool MosSetFilename(const TDesC8& aComp, const TDesC& aFilename); |
|
100 |
|
101 TBool MosSetFilename_bellagio(const TDesC8& aComp, char *filepath); |
|
102 |
|
103 TBool MosSetBadFilename(const TDesC8& aComp); |
|
104 TBool MosGetFilename(const TDesC8& aComp, TDesC& aFilename, OMX_ERRORTYPE aExpectedError); |
|
105 |
|
106 TBool MosSetBufferCount(const TDesC8& aComp, TInt aPortIndex, TInt aCount, OMX_ERRORTYPE aExpectedError); |
|
107 TBool MosCompareFilesL(const TDesC& aFileOne, const TDesC& aFileTwo); |
|
108 TBool MosFilterAndCompareFilesL( |
|
109 const TDesC& aFileOne, const TDesC8& aFile1Filter1, const TDesC8& aFile1Filter2, const TDesC8& aFile1Filter3, |
|
110 const TDesC& aFileTwo, const TDesC8& aFile2Filter1, const TDesC8& aFile2Filter2, const TDesC8& aFile2Filter3); |
|
111 TBool MosBufferSupplierOverrideL(const TDesC8& aSourceComp, TInt aSourcePort, |
|
112 const TDesC8& aSinkComp, TInt aSinkPort, |
|
113 OMX_BUFFERSUPPLIERTYPE aSupplier, |
|
114 OMX_ERRORTYPE aExpectedSourceError, OMX_ERRORTYPE aExpectedSinkError); |
|
115 TBool MosSetVideoPortDefL(const TDesC8& aComp, TInt aPortIndex, TInt aWidth, TInt aHeight, OMX_COLOR_FORMATTYPE* aColorFormat, OMX_VIDEO_CODINGTYPE* aCodingType, TInt aStride, TReal aFps, OMX_ERRORTYPE aExpectedError); |
|
116 TBool MosSetCameraOneShotL(const TDesC8& aComp, TInt aIsOneShot, OMX_ERRORTYPE aExpectedError); |
|
117 TBool MosSetCameraCaptureL(const TDesC8& aComp, TInt aPortIndex, TInt aIsCapturing, OMX_ERRORTYPE aExpectedError); |
|
118 void MosParseError(const TDesC& aError); |
|
119 TBool MosWaitL(TTimeIntervalMicroSeconds32 aDelay); |
|
120 TBool MosExpectEventL(const TDesC8& aComp, OMX_EVENTTYPE aEvent, TUint32 nData1, TUint32 nData2); |
|
121 TBool MosWaitForAllEventsL(); |
|
122 TBool MosTransition(const TDesC8& aComp, OMX_STATETYPE aState, TBool aAsync); |
|
123 TBool MosFailingTransition(const TDesC8& aComp, OMX_STATETYPE aState,OMX_ERRORTYPE aExpectedError); |
|
124 TBool MosCheckStateL(const TDesC8& aComp, OMX_STATETYPE aState); |
|
125 TBool MosCheckVideoPortDefL(const TDesC8& aComp, TInt aPortIndex, TInt aWidth, TInt aHeight, OMX_VIDEO_CODINGTYPE aCoding, OMX_COLOR_FORMATTYPE aColorFormat); |
|
126 TBool MosCheckMetaDataL(const TDesC8& aComp, TInt aPortIndex, OMX_METADATASCOPETYPE aScope, const TDesC8& aAtomType, TUint32 aAtomIndex, const TDesC8& aData); |
|
127 TBool MosGetParameterUnknownIndexTypeL(const TDesC8& aComp, TInt aPortIndex, OMX_METADATASCOPETYPE aScope, const TDesC8& aAtomType, TUint32 aAtomIndex, const TDesC8& aData); |
|
128 TBool MosSetParameterUnknownIndexTypeL(const TDesC8& aComp, TInt aPortIndex, OMX_METADATASCOPETYPE aScope, const TDesC8& aAtomType, TUint32 aAtomIndex, const TDesC8& aData); |
|
129 |
|
130 TBool MosDisablePort(const TDesC8& aComp, TInt aPortIndex); |
|
131 TBool MosEnablePort(const TDesC8& aComp, TInt aPortIndex); |
|
132 TBool MosIgnoreEventL(const TDesC8& aComp, OMX_EVENTTYPE aEvent, TUint32 nData1, TUint32 nData2); |
|
133 TBool MosSetPcmAudioPortDefL(const TDesC8& aComp, TInt aPortIndex, TInt aNumChannels, TInt aSamplingRate, TInt aBitsperSample, OMX_NUMERICALDATATYPE aNumData, OMX_ENDIANTYPE aEndian, OMX_BOOL* aInterleaved, const TDesC8* aEncoding); |
|
134 TBool MosSetConfigAudioVolumeL(const TDesC8& aComp, TInt aPortIndex, TBool aLinear, TInt aMinVolume, TInt aMaxVolume, TInt aVolume, OMX_ERRORTYPE aExpectedError); |
|
135 TBool MosCheckConfigAudioVolumeL(const TDesC8& aComp, TInt aPortIndex, TBool aLinear, TInt aMinVolume, TInt aMaxVolume, TInt aVolume); |
|
136 TBool MosCheckConfigAudioMuteL(const TDesC8& aComp, TInt aPortIndex, TBool aMute); |
|
137 TBool MosSetConfigAudioMuteL(const TDesC8& aComp, TInt aPortIndex, TBool aMute); |
|
138 TBool MosSetAacAudioPortDefL(const TDesC8& aComp, TInt aPortIndex, TInt aNumChannels, TInt aSamplingRate, TInt aBitRate, TInt aAudioBandwidth, TInt aFrameLength, TInt aAacTools, TInt aAacErTools, TInt aProfile, TInt aStreamFormat, TInt aChannelMode); |
|
139 TBool MosSetAudioPortDefL(const TDesC8& aComp, TInt aPortIndex, OMX_AUDIO_CODINGTYPE* aCodingType, OMX_ERRORTYPE aExpectedError); |
|
140 TBool MosSetRefClockTypeL(const TDesC8& aComp, OMX_TIME_REFCLOCKTYPE aRefClockType); |
|
141 TBool MosSetClockTimeScale(const TDesC8& aComp, OMX_S32 aScale); |
|
142 TBool MosSetClockStateL(const TDesC8& aComp, OMX_TIME_CLOCKSTATE aClockState, TInt aStartTime, TInt aOffset, TUint32 aWaitMask); |
|
143 TBool MosCheckClockStateL(const TDesC8& aComp, OMX_TIME_CLOCKSTATE aClockState); |
|
144 TBool MosCheckTimePositionL(const TDesC8& aComp, TInt aPortIndex, TInt aTimestamp); |
|
145 TBool MosSetTimePositionL(const TDesC8& aComp, TInt aPortIndex, TInt aTimestamp); |
|
146 TBool MosSetClientStartTimeL(const TDesC8& aComp, TInt aPortIndex, TInt aTimestamp); |
|
147 TBool MosSetCurrentAudioReferenceTimeL(const TDesC8& aComp, TInt aPortIndex, TInt aTimestamp); |
|
148 TBool MosSetVideoFitModeL(TVideoFitMode aVideoFitMode); |
|
149 TBool MosNegativeSetDataChunk(const TDesC8& aComp, OMX_ERRORTYPE aExpectedError, TInt aExpectedSystemError); |
|
150 TBool MosCheckFrameCountL(const TDesC& aFilename, TInt aCount); |
|
151 TBool InitialiseBufferHandlerL(const TDesC8& aComp, TDesC& aName, const TDesC8* aType); |
|
152 void StartBufferHandler(); |
|
153 void StopBufferHandler(); |
|
154 void SendInvalidBufferId(TInt aInvalidId); |
|
155 TBool InitialiseBufferSinkHandlerL(const TDesC8& aComp, TDesC& aName); |
|
156 void StartBufferSinkHandler(); |
|
157 void StopBufferSinkHandler(); |
|
158 |
|
159 TBool MosSetBufferSize(const TDesC8& aComp, TInt aPortIndex, TInt aCount, OMX_ERRORTYPE aExpectedError); |
|
160 TBool MosGetAndCompareBufferCount(const TDesC8& aComp, TInt aPortIndex, TInt aDataToCompare); |
|
161 TBool MosGetAndCompareBufferSize(const TDesC8& aComp, TInt aPortIndex, TInt aDataToCompare); |
|
162 TBool MosFlushBuffer(const TDesC8& aComp, TInt aPortIndex, OMX_ERRORTYPE aExpectedError); |
|
163 TBool MosForceFlushBuffer(const TDesC8& aComp, TInt aPortIndex, OMX_ERRORTYPE aExpectedError); |
|
164 TBool MosSetActiveStream(const TDesC8& aComp, TUint32 aPortIndex); |
|
165 TBool MosGetActiveStream(const TDesC8& aComp, TUint32 aPortIndex); |
|
166 TBool MosChangeFilledBufferLength(const TDesC8& aComp, TInt aValue); |
|
167 TBool MosSetOMX_SymbianIndexParamBufferMsgQueueData(const TDesC8& aComp, OMX_ERRORTYPE aExpectedError); |
|
168 TBool MosGetExtensionIndex(const TDesC8& aComp, const TDesC8& aParameterName, OMX_ERRORTYPE aExpectedError); |
|
169 |
|
170 TBool MosCheckTimeClockState(const TDesC8& aComp, OMX_TIME_CLOCKSTATE aExpectedState); |
|
171 TBool MosCheckMediaTime(const TDesC8& aComp, TInt aPortIndex, OMX_TICKS aMediaTime, TBool aMoreThan); |
|
172 TBool MosBaseSupportPortL(const TDesC8& aComp, TInt aPortIndex); |
|
173 TBool MosBaseSetAutonomous(const TDesC8& aComp, TInt aPortIndex, TBool aEnabled); |
|
174 TBool MosBaseAllocateBuffersL(const TDesC8& aComp, TInt aPortIndex, TInt aNumberBuffers); |
|
175 TBool MosBaseFreeAllocatedBuffersL(const TDesC8& aComp); |
|
176 TBool MosBaseSetBufSupplier(const TDesC8& aComp, TInt aPortIndex, TBool aComponentSupplier); |
|
177 TBool MosBaseFillThisBuffer(const TDesC8& aComp, TInt aPortIndex, TInt aPortRelBufIndex); |
|
178 TBool MosBaseEmptyThisBuffer(const TDesC8& aComp, TInt aPortIndex, TInt aPortRelBufIndex); |
|
179 TBool MosBaseWaitForBuffer(const TDesC8& aComp, TInt aPortIndex, TInt aPortRelBufIndex); |
|
180 TBool MosBaseTimestampPassClock(const TDesC8& aCompReceiving, const TDesC8& aClockCompToPass); |
|
181 TBool MosBaseTimestampCheckTimestampL(const TDesC8& aComp, TInt aPortIndex, TUint aExpectedTime, TUint aTolerance); |
|
182 TBool MosBaseTimestampCompareWithRefClockL(const TDesC8& aComp, TInt aPortIndex, TUint aTolerance); |
|
183 TBool MosMarkBuffer(const TDesC8& aComp, TInt aPortIndex, const TDesC8& aTargetComp, TInt markData); |
|
184 |
|
185 // mpeg4 encoder component |
|
186 TBool MosSetVideoEncQuantL(const TDesC8& aComp, TInt aPortIndex, TInt aQpb); |
|
187 TBool MosSetVideoEncMotionVectL(const TDesC8& aComp, TInt aPortIndex, TInt aAccuracy, TInt aSxSearchrange, TInt aSySearchrange, OMX_ERRORTYPE aExpectedError); |
|
188 TBool MosSetVideoEncMpeg4TypeL(const TDesC8& aComp, TInt aPortIndex, OMX_VIDEO_MPEG4PROFILETYPE aMpeg4Profile, OMX_VIDEO_MPEG4LEVELTYPE aMpeg4Level, OMX_ERRORTYPE aExpectedError); |
|
189 TBool MosSetVideoEncBitRateL(const TDesC8& aComp, TInt aPortIndex, OMX_VIDEO_CONTROLRATETYPE aControlRate, TInt aTargetBitrate, OMX_ERRORTYPE aExpectedError); |
|
190 |
|
191 TBool MosSetAACProfileL(const TDesC8& aComp, TInt aPortIndex, TInt aChannels, TInt aSamplingRate, TInt aBitRate, TInt aAudioBandwidth, TInt aFrameLength, TInt aAACTools, TInt aAACERTools, OMX_AUDIO_AACPROFILETYPE aProfile, OMX_AUDIO_AACSTREAMFORMATTYPE aStreamFormat, OMX_AUDIO_CHANNELMODETYPE aChannelMode); |
|
192 |
|
193 // Camera |
|
194 |
|
195 TBool MosSetSensorModeTypeL(const TDesC8& aComp, TInt aPort, TInt aFrameRate, TBool aOneShot, TInt aWidth, TInt aHeight); |
|
196 TBool MosSetCaptureModeTypeL(const TDesC8& aComp, TInt aPort, TBool aContinuous, TBool aFrameLimited, TInt aFrameLimit); |
|
197 |
|
198 |
|
199 // Debugging/Utility functions. |
|
200 TBool MosDeleteFileL(const TDesC& aFileName, TBool aFileMustExist); |
|
201 TBool MosLogAllEventsL(); |
|
202 |
|
203 // MASBreakCallback |
|
204 void AllComponentsEOS(); |
|
205 void AllComponentsTransitioned(OMX_STATETYPE aNewState, |
|
206 OMX_STATETYPE aOldState); |
|
207 void EventReceived(OMX_COMPONENTTYPE* aComponent, OMX_EVENTTYPE aEvent, TUint32 aData1, TUint32 aData2, TAny* aEventData); |
|
208 void ComponentTransitioned(OMX_STATETYPE aNewState, |
|
209 OMX_STATETYPE aOldState); |
|
210 void BufferDone(OMX_COMPONENTTYPE* aComponent, OMX_BUFFERHEADERTYPE* aBufHdr, TBool aSource); |
|
211 |
|
212 // MTimerObserver |
|
213 void TimerExpired(); |
|
214 |
|
215 TBool MosSetupBufferForPortL(const TDesC8& comp,TInt aPortIndex, const TDesC& aFileName,TInt aHeaderLength,OMX_BUFFERSUPPLIERTYPE aSupplier); |
|
216 TBool MosStartBuffersforPort(const TDesC8& aComp, TInt aPortIndex); |
|
217 #ifdef OLD_ADPCM_EXTENSION |
|
218 TBool MosSetAdPcmAudioPortDefL(const TDesC8& aComp, TInt aPortIndex, TInt aNumChannels, TInt aSamplingRate, TInt aBitsperSample); |
|
219 TBool MosConfigAdPcmDecoderBlockAlign(const TDesC8& aComp, OMX_S32 aBlockAlign); |
|
220 #endif |
|
221 |
|
222 public: |
|
223 enum TOmxScriptTestVerdict |
|
224 { |
|
225 EPass, EFail, EPending |
|
226 }; |
|
227 |
|
228 TInt Reason() const; |
|
229 TOmxScriptTestVerdict Verdict() const; |
|
230 void FailWithOmxError(const TDesC& aOperation, OMX_ERRORTYPE aError); |
|
231 void StopTest(TOmxScriptTestVerdict aVerdict); |
|
232 void StopTest(TInt aError, TOmxScriptTestVerdict aVerdict); |
|
233 void FailTest(const TDesC& aErrorMsg); |
|
234 |
|
235 TBool MosForceBufferSourceFlushBufferL(const TDesC8& aComp, TInt aPortIndex, OMX_ERRORTYPE aExpectedError); |
|
236 TBool MosForceBufferSinkFlushBuffer(const TDesC8& aComp, TInt aPortIndex, OMX_ERRORTYPE aExpectedError); |
|
237 |
|
238 static TBool ShortNameMatchComparison(const TDesC8* aShortName, const ROmxScriptTest::CComponentInfo& aComponentInfo); |
|
239 |
|
240 void BeginWait(); |
|
241 void EndWait(); |
|
242 |
|
243 private: |
|
244 TBool ComponentLogicalIL(const TDesC8& aName); |
|
245 TBool ComponentPhysicalIL(const TDesC8& aName); |
|
246 OMX_COMPONENTTYPE* ComponentByName(const TDesC8& aName); |
|
247 void GetComponentName(const OMX_COMPONENTTYPE* aHandle, TDes& aName); |
|
248 void FailWithOmxError(const TDesC8& aComponent, const TDesC& aOperation, OMX_ERRORTYPE aError); |
|
249 // static void CleanupOmxComponent(TAny*); |
|
250 static void FormatHex(const TDesC8& bin, TDes& hex); |
|
251 void WriteInt32(TUint8* aPtr, TInt32 aData); |
|
252 void HashFileL(const TDesC& aFileName, TDes8& aHash, void (*aFilter1)(RBuf8&) = NULL, void (*aFilter2)(RBuf8&) = NULL, void (*aFilter3)(RBuf8&) = NULL ); |
|
253 TBool HandleNonTunneledBuffers(OMX_STATETYPE aNewState, OMX_COMPONENTTYPE* aComp); |
|
254 TBool HandlePortBufferHandler(OMX_STATETYPE aNewState, OMX_COMPONENTTYPE* aComp); |
|
255 |
|
256 void LogExtra(const TText8* aFile, TInt aLine, TOmxScriptSeverity aSeverity, |
|
257 TRefByValue<const TDesC16> aFmt,...); |
|
258 void RegisterTunnel(OMX_COMPONENTTYPE* aSourceComp, TInt aSourcePort, OMX_COMPONENTTYPE* aSinkComp, TInt aSinkPort); |
|
259 |
|
260 class TComponentInfo |
|
261 { |
|
262 public: |
|
263 HBufC8* iShortName; |
|
264 HBufC8* iComponentName; |
|
265 OMX_COMPONENTTYPE* iComponent; |
|
266 }; |
|
267 class TFilledBufferHeaderV2 |
|
268 { |
|
269 public: |
|
270 /** Amount of buffer filled with actual data */ |
|
271 TUint iFilledLength; |
|
272 /** Any timestamp associated with the buffer */ |
|
273 TInt64 iTimeStamp; |
|
274 /** Combination of OMX_BUFFERFLAG_*, specified at page 68 in the OpenMAX spec. */ |
|
275 TUint iFlags; |
|
276 /** offset **/ |
|
277 TUint32 iOffset; |
|
278 }; |
|
279 class TTunnelInfo |
|
280 { |
|
281 public: |
|
282 OMX_COMPONENTTYPE* iSourceComponent; |
|
283 TInt iSourcePort; |
|
284 OMX_COMPONENTTYPE* iSinkComponent; |
|
285 TInt iSinkPort; |
|
286 }; |
|
287 |
|
288 RArray<TTunnelInfo> iTunnels; |
|
289 typedef RArray<TTunnelInfo> RTunnelRelations; |
|
290 void FindTransitionOrderL(const RPointerArray<CComponentInfo>& aComponents, |
|
291 const RTunnelRelations& aTunnelRelations, |
|
292 RArray<TInt>& aOrder); |
|
293 |
|
294 private: |
|
295 TBool iCoreLoaded; |
|
296 RPointerArray<CComponentInfo> iComponents; |
|
297 RASBreakEventHandler iEventHandler; |
|
298 OMX_STATETYPE iState; |
|
299 |
|
300 // Symbian graphic sink specialisation |
|
301 CWindowManager* iWindowManager; |
|
302 TVideoFitMode iVideoFitMode; |
|
303 OMX_INDEXTYPE iExtSurfaceConfigIndex; |
|
304 OMX_COMPONENTTYPE* iGraphicSink; |
|
305 |
|
306 CVideoTestTimer *iTimer; |
|
307 |
|
308 RArray<TExpectedEvent> iExpectedEvents; |
|
309 TBool iWaitingForEvents; |
|
310 |
|
311 CNonTunneledHandler* iNonTunneledHandler; |
|
312 RArray<TExpectedEvent> iIgnoredEvents; |
|
313 |
|
314 // Buffer component handler |
|
315 CVideoBufferHandler* iBufferHandler; |
|
316 CVideoBufferSinkHandler* iBufferSinkHandler; |
|
317 |
|
318 TInt iReason; |
|
319 TOmxScriptTestVerdict iVerdict; |
|
320 MOmxScriptTestLogger& iLogger; |
|
321 |
|
322 CAsyncCallBack* iStopSchedulerCallback; |
|
323 |
|
324 RMsgQueue<TFilledBufferHeaderV2> iMsgQueue; |
|
325 CPortBufferHandler* iPortBufferHandler; |
|
326 }; |
|
327 |
|
328 #endif /*OMXSCRIPTTEST_H_*/ |