src/3rdparty/phonon/mmf/audioplayer.h
changeset 18 2f34d5167611
parent 3 41300fa6a67c
child 37 758a864f9613
--- a/src/3rdparty/phonon/mmf/audioplayer.h	Tue Feb 02 00:43:10 2010 +0200
+++ b/src/3rdparty/phonon/mmf/audioplayer.h	Fri Apr 16 15:50:13 2010 +0300
@@ -26,12 +26,10 @@
 
 #ifdef QT_PHONON_MMF_AUDIO_DRM
 #include <drmaudiosampleplayer.h>
-typedef CDrmPlayerUtility CPlayerType;
-typedef MDrmAudioPlayerCallback MPlayerObserverType;
+typedef MDrmAudioPlayerCallback NativePlayerObserver;
 #else
 #include <mdaaudiosampleplayer.h>
-typedef CMdaAudioPlayerUtility CPlayerType;
-typedef MMdaAudioPlayerCallback MPlayerObserverType;
+typedef MMdaAudioPlayerCallback NativePlayerObserver;
 #endif
 
 QT_BEGIN_NAMESPACE
@@ -44,18 +42,23 @@
  * @short Wrapper over MMF audio client utility
  */
 class AudioPlayer   :   public AbstractMediaPlayer
-                    ,   public MPlayerObserverType    // typedef
-#ifdef QT_PHONON_MMF_AUDIO_DRM
+                    ,   public NativePlayerObserver
                     ,   public MAudioLoadingObserver
-#endif
 {
     Q_OBJECT
 
 public:
-    AudioPlayer();
-    explicit AudioPlayer(const AbstractPlayer& player);
+    AudioPlayer(MediaObject *parent = 0, const AbstractPlayer *player = 0);
     virtual ~AudioPlayer();
 
+#ifdef QT_PHONON_MMF_AUDIO_DRM
+typedef CDrmPlayerUtility NativePlayer;
+#else
+typedef CMdaAudioPlayerUtility NativePlayer;
+#endif
+
+    NativePlayer *nativePlayer() const;
+
     // AbstractMediaPlayer
     virtual void doPlay();
     virtual void doPause();
@@ -63,6 +66,8 @@
     virtual void doSeek(qint64 milliseconds);
     virtual int setDeviceVolume(int mmfVolume);
     virtual int openFile(RFile& file);
+    virtual int openUrl(const QString& url);
+    virtual int bufferStatus() const;
     virtual void close();
 
     // MediaObjectInterface
@@ -70,15 +75,24 @@
     virtual qint64 currentTime() const;
     virtual qint64 totalTime() const;
 
+    // AbstractMediaPlayer
+    virtual int numberOfMetaDataEntries() const;
+    virtual QPair<QString, QString> metaDataEntry(int index) const;
+
+    /**
+     * This class owns the pointer.
+     */
+    NativePlayer *player() const;
+
+private:
+    void construct();
+
+private:
 #ifdef QT_PHONON_MMF_AUDIO_DRM
     // MDrmAudioPlayerCallback
     virtual void MdapcInitComplete(TInt aError,
                                    const TTimeIntervalMicroSeconds &aDuration);
     virtual void MdapcPlayComplete(TInt aError);
-
-    // MAudioLoadingObserver
-    virtual void MaloLoadingStarted();
-    virtual void MaloLoadingComplete();
 #else
     // MMdaAudioPlayerCallback
     virtual void MapcInitComplete(TInt aError,
@@ -86,24 +100,19 @@
     virtual void MapcPlayComplete(TInt aError);
 #endif
 
-    /**
-     * This class owns the pointer.
-     */
-    CPlayerType *player() const;
-
-private:
-    void construct();
-
-    // AbstractMediaPlayer
-    virtual int numberOfMetaDataEntries() const;
-    virtual QPair<QString, QString> metaDataEntry(int index) const;
+    // MAudioLoadingObserver
+    virtual void MaloLoadingStarted();
+    virtual void MaloLoadingComplete();
 
 private:
     /**
      * Using CPlayerType typedef in order to be able to easily switch between
      * CMdaAudioPlayerUtility and CDrmPlayerUtility
      */
-    QScopedPointer<CPlayerType> m_player;
+    QScopedPointer<NativePlayer> m_player;
+
+    qint64                      m_totalTime;
+
 };
 }
 }