diff -r 8bda91a87a00 -r 8ee96d21d9bf profilesservices/FileList/Src/CFLDVideoPlayer.h --- a/profilesservices/FileList/Src/CFLDVideoPlayer.h Thu Aug 19 10:12:30 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,187 +0,0 @@ -/* -* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: -* Creates a video player and starts video preview -* -* -*/ - - -#ifndef __CFLDVIDEOPLAYER_H__ -#define __CFLDVIDEOPLAYER_H__ - -// INTERNAL INCLUDES -#include "CFLDPlayerBase.h" - -// EXTERNAL INCLUDES -#include -#include // For MVideoPlayerUtilityObserver - -// FORWARD DECLARATIONS -class RWindow; - -// CLASS DECLARATION - -/** -* Creates a video player and starts video preview -* -* @lib filelist.lib -* @since 3.1 -*/ -NONSHARABLE_CLASS( CFLDVideoPlayer ) - : public CFLDPlayerBase, - public MVideoPlayerUtilityObserver - { - - private: // Enumerations - - // These match with the ones in Profile Engine - enum TRingingTypes - { - ERingingTypeRinging = 0, - ERingingTypeAscending, - ERingingTypeRingOnce, - ERingingTypeBeepOnce, - ERingingTypeSilent - }; - - enum TVideoPlayerStatus - { - EVideoPlayerNotCreated = 0, - EVideoPlayerInitializing, - EVideoPlayerInitialized, - EVideoPlayerReady, - EVideoPlayerPlaying - }; - - enum TFLAllowScreenSaver - { - EFLScreenSaverAllowed = 0, - EFLScreenSaverNotAllowed - }; - - public: // Constructors and destructors - - /** - * Two-phase static constructor - * @param aShowErrorMsgs Show an error note if the file format is not supported - * @return A pointer to a fully constructed CFLDVideoPlayer instance - */ - static CFLDVideoPlayer* NewL( TBool aShowErrorMsgs = ETrue ); - - /** - * Destructor - */ - virtual ~CFLDVideoPlayer(); - - private: // Constructors and destructors - - /** - * Constructor - * @param aShowErrorMsgs Show an error note if the file format is not supported - */ - CFLDVideoPlayer( TBool aShowErrorMsgs); - - /** - * Second phase constructor - */ - void ConstructL(); - - public: // From MFLDFileProcessor - - /** - * Derived from MFLDFileProcessor. Starts playing the sound file - */ - void ProcessFileL( const TDesC& aFileName, RWindow* aWindow ); - - /** - * Derived from MFLDFileProcessor. Stops playing the file. - */ - void Cancel(); - - private: // From MVidePlayerUtilityObserver - void MvpuoOpenComplete(TInt aError); - void MvpuoFrameReady(CFbsBitmap& aFrame,TInt aError); - void MvpuoPlayComplete(TInt aError); - void MvpuoEvent(const TMMFEvent& aEvent); - void MvpuoPrepareComplete(TInt aError); - - private: // New methods - - /** When videoplayer is ready, set its ringing type - * @param aRingingType The ringing type (see enum TRingingTypes) - */ - void DoSetRingingType( TInt aRingingType ); - - /** - * Converts volume from 1 to 10 to audio driver understandable value. - * @param aVolume Volume level to be converted. - * @return Returns converted volume level - */ - TInt ConvertVolume( TInt aVolume ); - - /** - * Callback function for ascending ringing type - * @param aObj Pointer to callback instance - */ - static TInt VolumeRampTimerCallback( TAny* aObj ); - /** - * Performs volume ramping - */ - TInt DoVolumeRamp(); - /** - * Performs video scaling and cropping - * @param aDisplayWindow Reference to window handle - */ - void AdjustToWindow( RWindow& aDisplayWindow ); - /** - * Returns video frame size - * @return size of the video frame - */ - TSize VideoFrameSize() const; - - /** - * Callback function to do inactivity timer resetting. - */ - static TInt DoResetInactivityTimer( TAny* aObject ); - - private: // Data - - /// Own: video player - CVideoPlayerUtility* iVideoPlayer; - /// Own: Ascending volume timer - CPeriodic* iVolumeRampTimer; - /// Ref: handle to window - RWindow* iWindow; - /// Player state - TVideoPlayerStatus iVideoPlayerStatus; - /// Ascending volume - TInt iRampedVolume; - - /** - * Pub&Sub property. - * For setting the state of the screen saver. - */ - RProperty iPropScreenSaver; - - /** - * Timer for resetting the user inactivity timeout - */ - CPeriodic* iBacklightTimer; - - }; - -#endif // __CFLDVIDEOPLAYER_H__ - -// End of File