winrt: Add missing QAbstractVideoSurface::stop() call.
This was preventing the surface from restarting with a different format. Change-Id: I1f86ddb1b16618f167183c7e2fcb32658df578f3 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
This commit is contained in:
committed by
Andrew Knight
parent
1027215920
commit
ce7b59c28d
@@ -44,6 +44,7 @@
|
||||
#include <QtCore/qfunctions_winrt.h>
|
||||
#include <QtCore/QGlobalStatic>
|
||||
#include <QtCore/QMetaMethod>
|
||||
#include <QtCore/QPointer>
|
||||
#include <QtGui/QOpenGLContext>
|
||||
#include <QtGui/QOpenGLTexture>
|
||||
#include <QtMultimedia/QAbstractVideoBuffer>
|
||||
@@ -181,7 +182,7 @@ enum DirtyState {
|
||||
class QWinRTAbstractVideoRendererControlPrivate
|
||||
{
|
||||
public:
|
||||
QAbstractVideoSurface *surface;
|
||||
QPointer<QAbstractVideoSurface> surface;
|
||||
QVideoSurfaceFormat format;
|
||||
|
||||
DirtyState dirtyState;
|
||||
@@ -219,7 +220,6 @@ QWinRTAbstractVideoRendererControl::QWinRTAbstractVideoRendererControl(const QSi
|
||||
{
|
||||
Q_D(QWinRTAbstractVideoRendererControl);
|
||||
|
||||
d->surface = Q_NULLPTR;
|
||||
d->format = QVideoSurfaceFormat(size, QVideoFrame::Format_BGRA32,
|
||||
QAbstractVideoBuffer::GLTextureHandle);
|
||||
d->dirtyState = TextureDirty;
|
||||
@@ -340,6 +340,8 @@ void QWinRTAbstractVideoRendererControl::setActive(bool active)
|
||||
}
|
||||
|
||||
d->renderThread.requestInterruption();
|
||||
if (d->surface && d->surface->isActive())
|
||||
d->surface->stop();
|
||||
}
|
||||
|
||||
void QWinRTAbstractVideoRendererControl::present()
|
||||
|
||||
Reference in New Issue
Block a user