Update contrib.
1 // Copyright (c) 2005-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_H
17 #define VIDEOPLAYFILE_H
19 #include "tsu_mdf_videocodecs_step.h"
20 #include <mmf/devvideo/devvideoplay.h>
23 class RTestStepVideoCodecs;
28 class CPlayVideoFile : public CActive, public MMMFDevVideoPlayProxy
32 enum TPlayVideoFileState
36 EHwDeviceAllowToComplete,
37 EHwDeviceEncodeCheckData,
43 static CPlayVideoFile* 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();
74 CPlayVideoFile(RTestStepVideoCodecs* aParent);
78 void ReadNextBufferL();
83 CMMFVideoDecodeHwDevice* iVideoHwDevice;
90 TPlayVideoFileState iState;
91 RTestStepVideoCodecs* iParent;
92 TBool iStoppedReceived;
96 CFbsScreenDevice* iScreenDevice;
99 #endif // VIDEOPLAYFILE_H