--- a/src/3rdparty/phonon/mmf/abstractmediaplayer.h Wed Apr 21 12:15:23 2010 +0300
+++ b/src/3rdparty/phonon/mmf/abstractmediaplayer.h Wed Apr 21 20:15:53 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;