summaryrefslogtreecommitdiffstats
path: root/src/plugins/common/evr
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@theqtcompany.com>2016-03-21 14:26:15 +0100
committerLiang Qi <liang.qi@theqtcompany.com>2016-03-21 14:26:22 +0100
commite757890f4a5669b396039211902224f31666725a (patch)
treebb220ff8b9d8d4a64ce5f197a4b39e3e5965da63 /src/plugins/common/evr
parentcaf0cbca71231dbb6403108ba41d2117d3ce6c6d (diff)
parent71a6b1b62041981f894cb2b6589fce92f137bbc4 (diff)
Merge remote-tracking branch 'origin/5.6' into 5.7
Diffstat (limited to 'src/plugins/common/evr')
-rw-r--r--src/plugins/common/evr/evrcustompresenter.cpp20
-rw-r--r--src/plugins/common/evr/evrdefs.h4
2 files changed, 12 insertions, 12 deletions
diff --git a/src/plugins/common/evr/evrcustompresenter.cpp b/src/plugins/common/evr/evrcustompresenter.cpp
index 9df08012a..7a26afd10 100644
--- a/src/plugins/common/evr/evrcustompresenter.cpp
+++ b/src/plugins/common/evr/evrcustompresenter.cpp
@@ -848,8 +848,6 @@ HRESULT EVRCustomPresenter::OnClockStart(MFTIME, LONGLONG clockStartOffset)
return hr;
}
- startSurface();
-
// Now try to get new output samples from the mixer.
processOutputLoop();
@@ -897,8 +895,6 @@ HRESULT EVRCustomPresenter::OnClockStop(MFTIME)
cancelFrameStep();
}
- stopSurface();
-
return S_OK;
}
@@ -1406,6 +1402,7 @@ HRESULT EVRCustomPresenter::setMediaType(IMFMediaType *mediaType)
// Clearing the media type is allowed in any state (including shutdown).
if (!mediaType) {
+ stopSurface();
qt_evr_safe_release(&m_mediaType);
releaseResources();
return S_OK;
@@ -1466,6 +1463,8 @@ HRESULT EVRCustomPresenter::setMediaType(IMFMediaType *mediaType)
m_mediaType = mediaType;
m_mediaType->AddRef();
+ startSurface();
+
done:
if (FAILED(hr))
releaseResources();
@@ -1879,18 +1878,19 @@ float EVRCustomPresenter::getMaxRate(bool thin)
bool EVRCustomPresenter::event(QEvent *e)
{
- if (e->type() == StartSurface) {
+ switch (int(e->type())) {
+ case StartSurface:
startSurface();
return true;
- } else if (e->type() == StopSurface) {
+ case StopSurface:
stopSurface();
return true;
- } else if (e->type() == PresentSample) {
- PresentSampleEvent *ev = static_cast<PresentSampleEvent *>(e);
- presentSample(ev->sample());
+ case PresentSample:
+ presentSample(static_cast<PresentSampleEvent *>(e)->sample());
return true;
+ default:
+ break;
}
-
return QObject::event(e);
}
diff --git a/src/plugins/common/evr/evrdefs.h b/src/plugins/common/evr/evrdefs.h
index f939d01a0..f898209b8 100644
--- a/src/plugins/common/evr/evrdefs.h
+++ b/src/plugins/common/evr/evrdefs.h
@@ -41,12 +41,12 @@
#define EVRDEFS_H
#include <d3d9.h>
-#include <Evr9.h>
+#include <evr9.h>
#include <evr.h>
#include <dxva2api.h>
#include <mfapi.h>
#include <mfidl.h>
-#include <Mferror.h>
+#include <mferror.h>
extern const CLSID clsid_EnhancedVideoRenderer;
extern const GUID mr_VIDEO_RENDER_SERVICE;