epoc32/include/videoplayer.h
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
equal deleted inserted replaced
3:e1b950c65cb4 4:837f303aceeb
     1 // Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
     1 // Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     3 // This component and the accompanying materials are made available
     4 // under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
     4 // under the terms of "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 //
     7 //
     8 // Initial Contributors:
     8 // Initial Contributors:
     9 // Nokia Corporation - initial contribution.
     9 // Nokia Corporation - initial contribution.
    10 //
    10 //
    11 // Contributors:
    11 // Contributors:
    25 #include <mmf/common/mmfstandardcustomcommands.h>
    25 #include <mmf/common/mmfstandardcustomcommands.h>
    26 #include <mmf/common/mmfdrmcustomcommands.h>
    26 #include <mmf/common/mmfdrmcustomcommands.h>
    27 #include <mda/common/base.h>
    27 #include <mda/common/base.h>
    28 #include <mmf/common/mmfutilities.h>
    28 #include <mmf/common/mmfutilities.h>
    29 #include <mmf/common/mmfcontrollerframeworkbase.h>
    29 #include <mmf/common/mmfcontrollerframeworkbase.h>
    30 #include <mmf/common/mmcaf.h>
    30 #include "mmf/common/mmcaf.h"
    31 #include <mmfclntutility.h>
    31 #include <mmfclntutility.h>
    32 
    32 
    33 /**
    33 /**
    34 @publishedAll
    34 @publishedAll
    35 @released
    35 @released
   106 	*/
   106 	*/
   107 	virtual void MvpuoFrameReady(CFbsBitmap& aFrame,TInt aError) = 0;
   107 	virtual void MvpuoFrameReady(CFbsBitmap& aFrame,TInt aError) = 0;
   108 
   108 
   109 	/**
   109 	/**
   110 	Notification that video playback has completed. This is not called if
   110 	Notification that video playback has completed. This is not called if
   111 	playback is explicitly stopped by calling Stop.
   111 	playback is explicitly stopped (such as through the use of the Stop or
       
   112 	Close commands).
   112 
   113 
   113 	@param  aError
   114 	@param  aError
   114 	        The status of playback.
   115 	        The status of playback.
   115 	        This is either KErrNone if the playback was completed successfully,
   116 	        This is either KErrNone if the playback was completed successfully,
   116 	        or one of the system wide error codes.
   117 	        or one of the system wide error codes.
   157 	*/
   158 	*/
   158 	virtual void MvloLoadingComplete() = 0;
   159 	virtual void MvloLoadingComplete() = 0;
   159 	};
   160 	};
   160 
   161 
   161 class CMMFVideoPlayerCallback;
   162 class CMMFVideoPlayerCallback;
       
   163 class CVideoPlayerUtility2;
       
   164 class TVideoPlayRateCapabilities;
   162 
   165 
   163 /**
   166 /**
   164 @publishedAll
   167 @publishedAll
   165 @released
   168 @released
   166 
   169 
   180 @since 7.0s
   183 @since 7.0s
   181 */
   184 */
   182 class CVideoPlayerUtility : public CBase,
   185 class CVideoPlayerUtility : public CBase,
   183 							public MMMFClientUtility
   186 							public MMMFClientUtility
   184 	{
   187 	{
   185 	class CBody;
       
   186 public:
   188 public:
   187 
   189 
   188 	~CVideoPlayerUtility();
   190 	~CVideoPlayerUtility();
   189 
   191 
   190 	IMPORT_C static CVideoPlayerUtility* NewL(MVideoPlayerUtilityObserver& aObserver,
   192 	IMPORT_C static CVideoPlayerUtility* NewL(MVideoPlayerUtilityObserver& aObserver,
   191 											  TInt aPriority,
   193 											  TInt aPriority,
   192 											  TMdaPriorityPreference aPref,
   194 											  TInt aPref,
   193 											  RWsSession& aWs,
   195 											  RWsSession& aWs,
   194 											  CWsScreenDevice& aScreenDevice,
   196 											  CWsScreenDevice& aScreenDevice,
   195 											  RWindowBase& aWindow,
   197 											  RWindowBase& aWindow,
   196 											  const TRect& aScreenRect,
   198 											  const TRect& aScreenRect,
   197 											  const TRect& aClipRect);
   199 											  const TRect& aClipRect);
   215 
   217 
   216 	IMPORT_C TInt Stop();
   218 	IMPORT_C TInt Stop();
   217 
   219 
   218 	IMPORT_C void PauseL();
   220 	IMPORT_C void PauseL();
   219 
   221 
   220 	IMPORT_C void SetPriorityL(TInt aPriority, TMdaPriorityPreference aPref);
   222 	IMPORT_C void SetPriorityL(TInt aPriority, TInt aPref);
   221 
   223 
   222 	IMPORT_C void PriorityL(TInt& aPriority, TMdaPriorityPreference& aPref) const;
   224 	IMPORT_C void PriorityL(TInt& aPriority, TMdaPriorityPreference& aPref) const;
   223 
   225 
   224 	IMPORT_C void SetDisplayWindowL(RWsSession& aWs,CWsScreenDevice& aScreenDevice,RWindowBase& aWindow,const TRect& aWindowRect,const TRect& aClipRect);
   226 	IMPORT_C void SetDisplayWindowL(RWsSession& aWs,CWsScreenDevice& aScreenDevice,RWindowBase& aWindow,const TRect& aWindowRect,const TRect& aClipRect);
   225 
   227 
   303     
   305     
   304 	IMPORT_C TInt WillResumePlay();
   306 	IMPORT_C TInt WillResumePlay();
   305 	
   307 	
   306 	IMPORT_C TInt SetInitScreenNumber(TInt aScreenNumber);
   308 	IMPORT_C TInt SetInitScreenNumber(TInt aScreenNumber);
   307 
   309 
   308 	// SetPlayVelocityL() is publishedPartner and prototype as it is not yet used by licensees,
       
   309 	// and there is a possibility that it may change on licensee request for a short period.
       
   310 	// It will eventually be moved to publishedAll and released.
       
   311 	IMPORT_C void SetPlayVelocityL(TInt aVelocity);
   310 	IMPORT_C void SetPlayVelocityL(TInt aVelocity);
   312 
   311 
   313 	// PlayVelocityL() is publishedPartner and prototype as it is not yet used by licensees,
       
   314 	// and there is a possibility that it may change on licensee request for a short period.
       
   315 	// It will eventually be moved to publishedAll and released.
       
   316 	IMPORT_C TInt PlayVelocityL() const;
   312 	IMPORT_C TInt PlayVelocityL() const;
   317 
   313 
   318 	// StepFrameL() is publishedPartner and prototype as it is not yet used by licensees,
       
   319 	// and there is a possibility that it may change on licensee request for a short period.
       
   320 	// It will eventually be moved to publishedAll and released.
       
   321 	IMPORT_C void StepFrameL(TInt aStep);
   314 	IMPORT_C void StepFrameL(TInt aStep);
   322 	
   315 	
   323 	// GetPlayRateCapabilitiesL() is publishedPartner and prototype as it is not yet used by licensees,
       
   324 	// and there is a possibility that it may change on licensee request for a short period.
       
   325 	// It will eventually be moved to publishedAll and released.
       
   326 	IMPORT_C void GetPlayRateCapabilitiesL(TVideoPlayRateCapabilities& aCapabilities) const;
   316 	IMPORT_C void GetPlayRateCapabilitiesL(TVideoPlayRateCapabilities& aCapabilities) const;
   327 	
   317 	
   328 	// SetVideoEnabledL() is publishedPartner and prototype as it is not yet used by licensees,
       
   329 	// and there is a possibility that it may change on licensee request for a short period.
       
   330 	// It will eventually be moved to publishedAll and released.
       
   331 	IMPORT_C void SetVideoEnabledL(TBool aVideoEnabled);
   318 	IMPORT_C void SetVideoEnabledL(TBool aVideoEnabled);
   332 
   319 
   333 	// VideoEnabledL() is publishedPartner and prototype as it is not yet used by licensees,
       
   334 	// and there is a possibility that it may change on licensee request for a short period.
       
   335 	// It will eventually be moved to publishedAll and released.
       
   336 	IMPORT_C TBool VideoEnabledL() const;
   320 	IMPORT_C TBool VideoEnabledL() const;
   337 
   321 
   338 	// SetAudioEnabledL() is publishedPartner and prototype as it is not yet used by licensees,
       
   339 	// and there is a possibility that it may change on licensee request for a short period.
       
   340 	// It will eventually be moved to publishedAll and released.
       
   341 	IMPORT_C void SetAudioEnabledL(TBool aAudioEnabled);
   322 	IMPORT_C void SetAudioEnabledL(TBool aAudioEnabled);
   342 
   323 
   343 	// SetAutoScaleL() is publishedPartner and prototype as it is not yet used by licensees,
       
   344 	// and there is a possibility that it may change on licensee request for a short period.
       
   345 	// It will eventually be moved to publishedAll and released.
       
   346 	IMPORT_C void SetAutoScaleL(TAutoScaleType aScaleType);
   324 	IMPORT_C void SetAutoScaleL(TAutoScaleType aScaleType);
   347 
   325 
   348 	// SetAutoScaleL() is publishedPartner and prototype as it is not yet used by licensees,
   326 	IMPORT_C void SetAutoScaleL(TAutoScaleType aScaleType, TInt aHorizPos, TInt aVertPos);
   349 	// and there is a possibility that it may change on licensee request for a short period.
   327 	
   350 	// It will eventually be moved to publishedAll and released.
   328 	IMPORT_C void SetExternalDisplaySwitchingL(TInt aDisplay, TBool aControl);
   351 	IMPORT_C void SetAutoScaleL(TAutoScaleType aScaleType, TInt aHorizPos, TInt aVertPos);	
   329 	
       
   330 private:
       
   331 	class CBody;
       
   332 	
       
   333 	CBody* iBody;
       
   334 	
       
   335 	friend class CBody;
       
   336 	friend class CVideoPlayerUtility2;	
   352 private:
   337 private:
   353 	enum TMMFVideoPlayerState
   338 	enum TMMFVideoPlayerState
   354 		{
   339 		{
   355 		EStopped,
   340 		EStopped,
   356 		EOpening,
   341 		EOpening,
   357 		EPaused,
   342 		EPaused,
   358 		EPlaying		
   343 		EPlaying		
   359 		};
   344 		};
   360 
   345 private:	
   361 private:
       
   362 	CBody* iBody;
       
   363 
       
   364 	friend class CBody;
       
   365 	friend class CTestStepUnitMMFVidClient;
   346 	friend class CTestStepUnitMMFVidClient;
       
   347 #ifdef SYMBIAN_BUILD_GCE
       
   348 	friend class CMediaClientVideoDisplayBody;
       
   349 #endif // SYMBIAN_BUILD_GCE
   366 public:
   350 public:
   367 	class CTestView;
   351 	class CTestView;
   368 	friend class CTestView;
   352 	friend class CTestView;
   369 	};
   353 	};
   370 
   354 
       
   355 
   371 #endif
   356 #endif