summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/phonon/mmf/mediaobject.h
diff options
context:
space:
mode:
authorFrans Englich <frans.englich@nokia.com>2009-07-02 13:51:37 (GMT)
committerFrans Englich <frans.englich@nokia.com>2009-07-02 13:51:37 (GMT)
commita27d314863d38821f5122973be3fe5306ed82ef1 (patch)
tree9163561f6c36e3077518819b091f5aa5ad7b649b /src/3rdparty/phonon/mmf/mediaobject.h
parentdcfda58e029042e8d7339833bdb2d6a90bd3e30f (diff)
downloadQt-a27d314863d38821f5122973be3fe5306ed82ef1.zip
Qt-a27d314863d38821f5122973be3fe5306ed82ef1.tar.gz
Qt-a27d314863d38821f5122973be3fe5306ed82ef1.tar.bz2
Pouring.
Diffstat (limited to 'src/3rdparty/phonon/mmf/mediaobject.h')
-rw-r--r--src/3rdparty/phonon/mmf/mediaobject.h87
1 files changed, 87 insertions, 0 deletions
diff --git a/src/3rdparty/phonon/mmf/mediaobject.h b/src/3rdparty/phonon/mmf/mediaobject.h
new file mode 100644
index 0000000..80a774d
--- /dev/null
+++ b/src/3rdparty/phonon/mmf/mediaobject.h
@@ -0,0 +1,87 @@
+/* This file is part of the KDE project.
+
+Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+
+This library is free software: you can redistribute it and/or modify
+it under the terms of the GNU Lesser General Public License as published by
+the Free Software Foundation, either version 2.1 or 3 of the License.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public License
+along with this library. If not, see <http://www.gnu.org/licenses/>.
+
+*/
+
+#ifndef PHONON_MMF_MEDIAOBJECT_H
+#define PHONON_MMF_MEDIAOBJECT_H
+
+#include <DrmAudioSamplePlayer.h>
+
+#include <Phonon/MediaSource>
+#include <Phonon/mediaobjectinterface.h>
+
+class CDrmPlayerUtility;
+class TTimeIntervalMicroSeconds;
+
+namespace Phonon
+{
+ namespace MMF
+ {
+ class MediaObject : public QObject
+ , public MediaObjectInterface
+ , public MDrmAudioPlayerCallback
+ {
+ Q_OBJECT
+ Q_INTERFACES(Phonon::MediaObjectInterface)
+ public:
+ MediaObject(QObject *parent);
+ virtual ~MediaObject();
+ virtual void play();
+ virtual void pause();
+ virtual void stop();
+ virtual void seek(qint64 milliseconds);
+ virtual qint32 tickInterval() const;
+ virtual void setTickInterval(qint32 interval);
+ virtual bool hasVideo() const;
+ virtual bool isSeekable() const;
+ virtual qint64 currentTime() const;
+ virtual Phonon::State state() const;
+ virtual QString errorString() const;
+ virtual Phonon::ErrorType errorType() const;
+ virtual qint64 totalTime() const;
+ virtual MediaSource source() const;
+ virtual void setSource(const MediaSource &);
+ virtual void setNextSource(const MediaSource &source);
+ virtual qint32 prefinishMark() const;
+ virtual void setPrefinishMark(qint32);
+ virtual qint32 transitionTime() const;
+ virtual void setTransitionTime(qint32);
+
+ // MAudioLoadingObserver
+ virtual void MaloLoadingComplete();
+ virtual void MaloLoadingStarted();
+
+ // MDrmAudioPlayerCallback
+ virtual void MdapcInitComplete(TInt aError,
+ const TTimeIntervalMicroSeconds &aDuration);
+ virtual void MdapcPlayComplete(TInt aError);
+
+ Q_SIGNALS:
+ void totalTimeChanged();
+
+ private:
+ static inline qint64 toMilliSeconds(const TTimeIntervalMicroSeconds &);
+ static inline TTimeIntervalMicroSeconds toMicroSeconds(qint64 ms);
+
+ CDrmPlayerUtility * m_player;
+ mutable ErrorType m_error;
+ mutable State m_state;
+ };
+ }
+}
+
+#endif