diff -r 56cd8111b7f7 -r 41300fa6a67c src/3rdparty/phonon/mmf/mmf_videoplayer.h --- a/src/3rdparty/phonon/mmf/mmf_videoplayer.h Tue Jan 26 12:42:25 2010 +0200 +++ b/src/3rdparty/phonon/mmf/mmf_videoplayer.h Tue Feb 02 00:43:10 2010 +0200 @@ -23,7 +23,6 @@ #include "abstractmediaplayer.h" #include "videooutput.h" -#include "videooutputobserver.h" QT_BEGIN_NAMESPACE @@ -40,7 +39,6 @@ */ class VideoPlayer : public AbstractMediaPlayer , public MVideoPlayerUtilityObserver - , public VideoOutputObserver { Q_OBJECT @@ -70,8 +68,12 @@ virtual void MvpuoPlayComplete(TInt aError); virtual void MvpuoEvent(const TMMFEvent &aEvent); - // VideoOutputObserver - virtual void videoOutputRegionChanged(); +public Q_SLOTS: + void videoWindowChanged(); + void aspectRatioChanged(); + void scaleModeChanged(); + void suspendDirectScreenAccess(); + void resumeDirectScreenAccess(); private: void construct(); @@ -81,10 +83,20 @@ // AbstractPlayer virtual void videoOutputChanged(); - // Returns true if handles have changed - bool getNativeWindowSystemHandles(); + void getVideoWindow(); + void initVideoOutput(); + + void updateVideoRect(); - void updateMmfOutput(); + void applyPendingChanges(); + void applyVideoWindowChange(); + + void startDirectScreenAccess(); + bool stopDirectScreenAccess(); + + // AbstractMediaPlayer + virtual int numberOfMetaDataEntries() const; + virtual QPair metaDataEntry(int index) const; private: QScopedPointer m_player; @@ -93,12 +105,19 @@ RWsSession& m_wsSession; CWsScreenDevice& m_screenDevice; RWindowBase* m_window; - TRect m_rect; + + /* Extent of the video display - will be clipped to m_windowRect */ + TRect m_videoRect; - QSize m_frameSize; + TReal32 m_scaleWidth; + TReal32 m_scaleHeight; + + QSize m_videoFrameSize; qint64 m_totalTime; - bool m_mmfOutputChangePending; + bool m_pendingChanges; + bool m_dsaActive; + bool m_dsaWasActive; };