First public contribution.
1 // Copyright (c) 2007-2009 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.
16 #ifndef VIDEOPLAYFILE_COV_H
17 #define VIDEOPPLAYFILE_COV_H
19 #include "tsu_mdf_videocodecs_step.h"
20 #include <mmf/devvideo/devvideoplay.h>
23 class RTestStepVideoCodecs;
24 class CPlayVideoFileCov;
28 class CPlayVideoFileCov : public CActive, public MMMFDevVideoPlayProxy
32 enum TPlayVideoFileState
36 EHwDeviceAllowToComplete,
37 EHwDeviceEncodeCheckData,
43 static CPlayVideoFileCov* NewL(RTestStepVideoCodecs* aParent);
47 void SetDSA(TBool aUseDSA);
48 void StartPlaybackL();
49 void SetState(TPlayVideoFileState aState);
50 void CleanupAndSetDeviceError(TPtrC16 aText);
51 void StartDirectScreenAccessL();
57 // From MMMFDevVideoPlayProxy
58 virtual void MdvppNewPicture(TVideoPicture* aPicture);
59 virtual void MdvppNewBuffers();
60 virtual void MdvppReturnPicture(TVideoPicture* aPicture);
61 virtual void MdvppSupplementalInformation(const TDesC8& aData,
62 const TTimeIntervalMicroSeconds& aTimestamp, const TPictureId& aPictureId);
63 virtual void MdvppPictureLoss();
64 virtual void MdvppPictureLoss(const TArray<TPictureId>& aPictures);
65 virtual void MdvppSliceLoss(TUint aFirstMacroblock, TUint aNumMacroblocks, const TPictureId& aPicture);
66 virtual void MdvppReferencePictureSelection(const TDesC8& aSelectionData);
67 virtual void MdvppTimedSnapshotComplete(TInt aError, TPictureData* aPictureData,
68 const TTimeIntervalMicroSeconds& aPresentationTimestamp, const TPictureId& aPictureId);
69 virtual void MdvppFatalError(CMMFVideoHwDevice* aDevice, TInt aError);
70 virtual void MdvppInitializeComplete(CMMFVideoHwDevice* aDevice, TInt aError);
71 virtual void MdvppStreamEnd();
73 //Wrappers for functions which panic
74 void CancelTimedSnapshot();
75 void GetTimedSnapshot1();
76 void GetTimedSnapshot2();
77 void GetSupportedSnapshotFormats();
80 //Function for negative tests
83 void InitializeCov1();
84 void InitializeCov2();
90 CPlayVideoFileCov(RTestStepVideoCodecs* aParent);
93 void StartDecodePauseResumeL();
95 void ReadNextBufferL();
100 CMMFVideoDecodeHwDevice* iVideoHwDevice;
107 TPlayVideoFileState iState;
108 RTestStepVideoCodecs* iParent;
109 TBool iStoppedReceived;
113 CFbsScreenDevice* iScreenDevice;
116 #endif // VIDEOPLAYFILE_COV_H