Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.3.2
-
None
-
Windows 8.1 x64, qt-opensource-windows-x86-msvc2013_64-5.3.2_2014-09-05_14-11-24-145
-
49dc6dc45956daa2b30ea3c56a5e5dfaac8ad9a1
Description
Run this QML file:
import QtQuick 2.0 import QtMultimedia 5.0 import QtQuick.Controls 1.0 ApplicationWindow { width: 600 height: 600 visible: true Repeater { model: checkBox.checked ? 1 : 0 VideoOutput { anchors.centerIn: parent source: MediaPlayer { source: "video.mp4" autoPlay: true loops: MediaPlayer.Infinite } } } CheckBox { id: checkBox text: "enable player" } }
Press the checkBox several times to create/destroy MediaPlayer.
The application crashes with call stack:
> wmfengined.dll!D3DPresentEngine::presentSample(void * opaque, __int64 __formal) Line 305 C++ wmfengined.dll!D3DPresentEngine::qt_static_metacall(QObject * _o, QMetaObject::Call _c, int _id, void * * _a) Line 74 C++ Qt5Cored.dll!QMetaCallEvent::placeMetaCall(QObject * object) Line 488 C++ Qt5Cored.dll!QObject::event(QEvent * e) Line 1241 C++ Qt5Widgetsd.dll!QApplicationPrivate::notify_helper(QObject * receiver, QEvent * e) Line 3499 C++ Qt5Widgetsd.dll!QApplication::notify(QObject * receiver, QEvent * e) Line 2952 C++ Qt5Cored.dll!QCoreApplication::notifyInternal(QObject * receiver, QEvent * event) Line 935 C++ Qt5Cored.dll!QCoreApplication::sendEvent(QObject * receiver, QEvent * event) Line 237 C++ Qt5Cored.dll!QCoreApplicationPrivate::sendPostedEvents(QObject * receiver, int event_type, QThreadData * data) Line 1539 C++ Qt5Cored.dll!QCoreApplication::sendPostedEvents(QObject * receiver, int event_type) Line 1398 C++ qwindowsd.dll!QWindowsGuiEventDispatcher::sendPostedEvents() Line 89 C++ Qt5Cored.dll!qt_internal_proc(HWND__ * hwnd, unsigned int message, unsigned __int64 wp, __int64 lp) Line 421 C++ user32.dll!00007ffdca4e2434() Unknown user32.dll!00007ffdca4e2297() Unknown Qt5Cored.dll!QEventDispatcherWin32::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 795 C++ qwindowsd.dll!QWindowsGuiEventDispatcher::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 80 C++ Qt5Cored.dll!QEventLoop::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 137 C++ Qt5Cored.dll!QEventLoop::exec(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 212 C++ Qt5Cored.dll!QCoreApplication::exec() Line 1188 C++ Qt5Guid.dll!QGuiApplication::exec() Line 1484 C++ Qt5Widgetsd.dll!QApplication::exec() Line 2745 C++ qt_multimedia_test.exe!main(int argc, char * * argv) Line 11 C++ qt_multimedia_test.exe!WinMain(HINSTANCE__ * instance, HINSTANCE__ * prevInstance, char * __formal, int cmdShow) Line 131 C++ qt_multimedia_test.exe!__tmainCRTStartup() Line 618 C qt_multimedia_test.exe!WinMainCRTStartup() Line 466 C kernel32.dll!00007ffdc9ed16ad() Unknown ntdll.dll!00007ffdcabe34a5() Unknown
I used this one video for the test:
http://techslides.com/demos/sample-videos/small.mp4
Attachments
For Gerrit Dashboard: QTBUG-41158 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
95579,2 | WMF: fix crash on media player destruction. | 5.4 | qt/qtmultimedia | Status: MERGED | +2 | 0 |