src/3rdparty/phonon/mmf/abstractmediaplayer.h
changeset 22 79de32ba3296
parent 18 2f34d5167611
child 33 3e2da88830cd
--- a/src/3rdparty/phonon/mmf/abstractmediaplayer.h	Mon May 03 13:17:34 2010 +0300
+++ b/src/3rdparty/phonon/mmf/abstractmediaplayer.h	Fri May 14 16:40:13 2010 +0300
@@ -60,6 +60,8 @@
 protected:
     // AbstractPlayer
     virtual void doSetTickInterval(qint32 interval);
+    virtual Phonon::State phononState(PrivateState state) const;
+    virtual void changeState(PrivateState newState);
 
     virtual void doPlay() = 0;
     virtual void doPause() = 0;
@@ -70,7 +72,6 @@
     virtual int openUrl(const QString& url) = 0;
     virtual int bufferStatus() const = 0;
     virtual void close() = 0;
-    virtual void changeState(PrivateState newState);
 
     void updateMetaData();
     virtual int numberOfMetaDataEntries() const = 0;
@@ -80,6 +81,7 @@
     void bufferingStarted();
     void bufferingComplete();
     void maxVolumeChanged(int maxVolume);
+    void loadingComplete(int error);
     void playbackComplete(int error);
 
     static qint64 toMilliSeconds(const TTimeIntervalMicroSeconds &);
@@ -91,8 +93,17 @@
     void stopBufferStatusTimer();
     void stopTimers();
     void doVolumeChanged();
-    void emitMarksIfReached();
+    void emitMarksIfReached(qint64 position);
     void resetMarksIfRewound();
+    void startPlayback();
+
+    enum Pending {
+        NothingPending,
+        PausePending,
+        PlayPending
+    };
+
+    void setPending(Pending pending);
 
 private Q_SLOTS:
     void positionTick();
@@ -101,12 +112,7 @@
 private:
     MediaObject *const          m_parent;
 
-    /**
-     * This flag is set to true if play is called when the object is
-     * in a Loading state.  Once loading is complete, playback will
-     * be started.
-     */
-    bool                        m_playPending;
+    Pending                     m_pending;
 
     QScopedPointer<QTimer>      m_positionTimer;