summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/phonon/mmf/mmf_videoplayer.h
diff options
context:
space:
mode:
authorGareth Stockwell <ext-gareth.stockwell@nokia.com>2009-12-01 17:55:30 (GMT)
committerGareth Stockwell <ext-gareth.stockwell@nokia.com>2009-12-08 11:15:28 (GMT)
commitbed33ac62d87073120d56ff75a3d2356c99c64ea (patch)
tree5a949097061061981afe3d92a32855591ebcd8bd /src/3rdparty/phonon/mmf/mmf_videoplayer.h
parent3117e3a6a9c1bf95fc30ebee4d8d11b646cb7125 (diff)
downloadQt-bed33ac62d87073120d56ff75a3d2356c99c64ea.zip
Qt-bed33ac62d87073120d56ff75a3d2356c99c64ea.tar.gz
Qt-bed33ac62d87073120d56ff75a3d2356c99c64ea.tar.bz2
Implemented buffer status notifications in Phonon MMF backend
When clips are buffering (either at the start of playback, or during playback, when buffer levels drop due to e.g. CPU, file system or network load), the backend receives notification from the MMF. While buffering is ongoing, the backend periodically queries the filling status and emits a signal. Task-number: QTBUG-4660 Reviewed-by: Frans Englich
Diffstat (limited to 'src/3rdparty/phonon/mmf/mmf_videoplayer.h')
-rw-r--r--src/3rdparty/phonon/mmf/mmf_videoplayer.h32
1 files changed, 19 insertions, 13 deletions
diff --git a/src/3rdparty/phonon/mmf/mmf_videoplayer.h b/src/3rdparty/phonon/mmf/mmf_videoplayer.h
index 7c42991..3ece19c 100644
--- a/src/3rdparty/phonon/mmf/mmf_videoplayer.h
+++ b/src/3rdparty/phonon/mmf/mmf_videoplayer.h
@@ -39,6 +39,7 @@ namespace MMF
*/
class VideoPlayer : public AbstractMediaPlayer
, public MVideoPlayerUtilityObserver
+ , public MVideoLoadingObserver
{
Q_OBJECT
@@ -55,6 +56,7 @@ public:
virtual int setDeviceVolume(int mmfVolume);
virtual int openFile(RFile& file);
virtual int openUrl(const QString& url);
+ virtual int bufferStatus() const;
virtual void close();
// MediaObjectInterface
@@ -62,12 +64,12 @@ public:
virtual qint64 currentTime() const;
virtual qint64 totalTime() const;
- // MVideoPlayerUtilityObserver
- virtual void MvpuoOpenComplete(TInt aError);
- virtual void MvpuoPrepareComplete(TInt aError);
- virtual void MvpuoFrameReady(CFbsBitmap &aFrame, TInt aError);
- virtual void MvpuoPlayComplete(TInt aError);
- virtual void MvpuoEvent(const TMMFEvent &aEvent);
+ // AbstractPlayer
+ virtual void videoOutputChanged();
+
+ // AbstractMediaPlayer
+ virtual int numberOfMetaDataEntries() const;
+ virtual QPair<QString, QString> metaDataEntry(int index) const;
public Q_SLOTS:
void videoWindowChanged();
@@ -81,12 +83,8 @@ private:
void doPrepareCompleteL(TInt aError);
- // AbstractPlayer
- virtual void videoOutputChanged();
-
void getVideoWindow();
void initVideoOutput();
-
void updateVideoRect();
void applyPendingChanges();
@@ -95,9 +93,17 @@ private:
void startDirectScreenAccess();
bool stopDirectScreenAccess();
- // AbstractMediaPlayer
- virtual int numberOfMetaDataEntries() const;
- virtual QPair<QString, QString> metaDataEntry(int index) const;
+private:
+ // MVideoPlayerUtilityObserver
+ virtual void MvpuoOpenComplete(TInt aError);
+ virtual void MvpuoPrepareComplete(TInt aError);
+ virtual void MvpuoFrameReady(CFbsBitmap &aFrame, TInt aError);
+ virtual void MvpuoPlayComplete(TInt aError);
+ virtual void MvpuoEvent(const TMMFEvent &aEvent);
+
+ // MVideoLoadingObserver
+ virtual void MvloLoadingStarted();
+ virtual void MvloLoadingComplete();
private:
QScopedPointer<CVideoPlayerUtility> m_player;