summaryrefslogtreecommitdiffstats
path: root/src/plugins/wmf/player/mfplayersession.h
diff options
context:
space:
mode:
authorLev Zelenskiy <lev.zelenskiy@nokia.com>2012-07-11 15:06:40 +1000
committerQt by Nokia <qt-info@nokia.com>2012-07-11 08:01:45 +0200
commitafe12ea4de29500530b1e1fabef39e79e047053e (patch)
tree20508dfd71ec64693c2964632618d452ba48ae7e /src/plugins/wmf/player/mfplayersession.h
parent4d13a15bae0e4ad978e7c455dc26650f6d879862 (diff)
Audioprobe implementation for wmf backend.
Change-Id: I63af91af870cb92c838c1ab5d4752815aa60a03f Reviewed-by: Ling Hu <ling.hu@nokia.com>
Diffstat (limited to 'src/plugins/wmf/player/mfplayersession.h')
-rw-r--r--src/plugins/wmf/player/mfplayersession.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/plugins/wmf/player/mfplayersession.h b/src/plugins/wmf/player/mfplayersession.h
index 70ce92562..969fd2491 100644
--- a/src/plugins/wmf/player/mfplayersession.h
+++ b/src/plugins/wmf/player/mfplayersession.h
@@ -54,6 +54,7 @@
#include <QtCore/qmutex.h>
#include <QtCore/qurl.h>
#include <QtCore/qwaitcondition.h>
+#include <QtMultimedia/qaudioformat.h>
QT_BEGIN_NAMESPACE
class QMediaContent;
@@ -70,6 +71,8 @@ class MFVideoRendererControl;
class MFPlayerControl;
class MFMetaDataControl;
class MFPlayerService;
+class AudioSampleGrabberCallback;
+class MFAudioProbeControl;
class MFPlayerSession : public QObject, public IMFAsyncCallback
{
@@ -115,6 +118,9 @@ public:
void close();
+ void addProbe(MFAudioProbeControl* probe);
+ void removeProbe(MFAudioProbeControl* probe);
+
Q_SIGNALS:
void error(QMediaPlayer::Error error, QString errorString, bool isFatal);
void sessionEvent(IMFMediaEvent *sessionEvent);
@@ -211,6 +217,12 @@ private:
IMFTopologyNode* addSourceNode(IMFTopology* topology, IMFMediaSource* source,
IMFPresentationDescriptor* presentationDesc, IMFStreamDescriptor *streamDesc);
IMFTopologyNode* addOutputNode(IMFStreamDescriptor *streamDesc, MediaType& mediaType, IMFTopology* topology, DWORD sinkID);
+
+ bool addAudioSampleGrabberNode(IMFTopology* topology);
+ bool setupAudioSampleGrabber(IMFTopology *topology, IMFTopologyNode *sourceNode, IMFTopologyNode *outputNode);
+ QAudioFormat audioFormatForMFMediaType(IMFMediaType *mediaType) const;
+ AudioSampleGrabberCallback *m_audioSampleGrabber;
+ IMFTopologyNode *m_audioSampleGrabberNode;
};