summaryrefslogtreecommitdiffstats
path: root/src/plugins/wmf/player/mfplayerservice.cpp
diff options
context:
space:
mode:
authorLev Zelenskiy <lev.zelenskiy@nokia.com>2012-07-19 14:38:45 +1000
committerQt by Nokia <qt-info@nokia.com>2012-07-19 09:08:45 +0200
commitb7f4b2decbd04addbe7d647e65a4f353a56bdb61 (patch)
tree86052b48a32e47e3c5f77274f44aca2caf36bdaa /src/plugins/wmf/player/mfplayerservice.cpp
parentd7ed7ef6b38f303cc5e3a84d3864c3d61affc322 (diff)
Videoprobe implementation for wmf backend.
Change-Id: Ia597af428764229a76c0059ae7a57eb302aee63d Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com> Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Diffstat (limited to 'src/plugins/wmf/player/mfplayerservice.cpp')
-rw-r--r--src/plugins/wmf/player/mfplayerservice.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/plugins/wmf/player/mfplayerservice.cpp b/src/plugins/wmf/player/mfplayerservice.cpp
index aad1abefb..6ab9a997b 100644
--- a/src/plugins/wmf/player/mfplayerservice.cpp
+++ b/src/plugins/wmf/player/mfplayerservice.cpp
@@ -50,6 +50,7 @@
#include "mfvideorenderercontrol.h"
#include "mfaudioendpointcontrol.h"
#include "mfaudioprobecontrol.h"
+#include "mfvideoprobecontrol.h"
#include "mfplayerservice.h"
#include "mfplayersession.h"
#include "mfmetadatacontrol.h"
@@ -113,6 +114,13 @@ QMediaControl* MFPlayerService::requestControl(const char *name)
return probe;
}
return 0;
+ } else if (qstrcmp(name,QMediaVideoProbeControl_iid) == 0) {
+ if (m_session) {
+ MFVideoProbeControl *probe = new MFVideoProbeControl(this);
+ m_session->addProbe(probe);
+ return probe;
+ }
+ return 0;
}
return 0;
@@ -141,6 +149,14 @@ void MFPlayerService::releaseControl(QMediaControl *control)
delete audioProbe;
return;
}
+
+ MFVideoProbeControl* videoProbe = qobject_cast<MFVideoProbeControl*>(control);
+ if (videoProbe) {
+ if (m_session)
+ m_session->removeProbe(videoProbe);
+ delete videoProbe;
+ return;
+ }
}
MFAudioEndpointControl* MFPlayerService::audioEndpointControl() const