Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.2.1, 5.3.0 Beta1
-
None
-
Windows 7, OpenGL version of Qt5.3 or 5.2.1
-
c376e13abdcce32e65512db1236cb4b41d4fa1ea
Description
When wmv video codec is WVC1, MediaPlayer crashes in OpenGL version of Qt. ANGLE version works fine. Playing wmv works also in OpenGL version if video codec is WMV3. Example code to reproduce the problem:
import QtQuick 2.0 import QtMultimedia 5.0 Rectangle { width: 800 height: 600 MediaPlayer { id: player autoPlay: true source: "file:///C:/Videos/TestVideo.wmv" loops: MediaPlayer.Infinite } VideoOutput { id: output source: player anchors.fill: parent fillMode: VideoOutput.PreserveAspectCrop } Rectangle{ width: parent.width height: 100 color: "lightgray" anchors.bottom: parent.bottom Text{ anchors.centerIn: parent text: player.position / 1000 + "/" + player.duration / 1000 } } }
Crashes to this line:
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
in bindTexture(int id, int w, int h, const uchar *bits) -method in
qsgvideonode_i420.cpp
stack trace:
0 DrvPresentBuffers nvoglv32 0x69cb9ebe 1 QSGVideoMaterial_YUV420::bindTexture qsgvideonode_i420.cpp 282 0x5374b880 2 QSGVideoMaterial_YUV420::bind qsgvideonode_i420.cpp 259 0x5374b746 3 QSGVideoMaterialShader_YUV420::updateState qsgvideonode_i420.cpp 320 0x5374ba5f 4 QSGBatchRenderer::Renderer::renderMergedBatch qsgbatchrenderer.cpp 2068 0x10089c56 5 QSGBatchRenderer::Renderer::renderBatches qsgbatchrenderer.cpp 2260 0x1008adf1 6 QSGBatchRenderer::Renderer::render qsgbatchrenderer.cpp 2433 0x1008bdaf 7 QSGRenderer::renderScene qsgrenderer.cpp 261 0x100a4aad 8 QSGRenderer::renderScene qsgrenderer.cpp 219 0x100a491d 9 QSGRenderContext::renderNextFrame qsgcontext.cpp 377 0x100be47f 10 QQuickWindowPrivate::renderSceneGraph qquickwindow.cpp 387 0x1011b95e 11 QSGWindowsRenderLoop::renderWindow qsgwindowsrenderloop.cpp 459 0x100ef9a6 12 QSGWindowsRenderLoop::render qsgwindowsrenderloop.cpp 400 0x100ef76c 13 QSGWindowsRenderLoop::event qsgwindowsrenderloop.cpp 380 0x100ef5bc 14 QCoreApplicationPrivate::notify_helper qcoreapplication.cpp 1053 0x82e7ae 15 QCoreApplication::notify qcoreapplication.cpp 997 0x82e563 16 QGuiApplication::notify qguiapplication.cpp 1458 0x23f74ba 17 QCoreApplication::notifyInternal qcoreapplication.cpp 935 0x82e4b4 18 QCoreApplication::sendEvent qcoreapplication.h 237 0x833b99 19 QEventDispatcherWin32Private::sendTimerEvent qeventdispatcher_win.cpp 585 0x8c6da8 ... <More>
Attachments
For Gerrit Dashboard: QTBUG-38218 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
84285,3 | Fix QSGVideoNode with some video frame formats. | stable | qt/qtmultimedia | Status: ABANDONED | -2 | 0 |
85335,3 | Fix QSGVideoNode rendering of frames with stride != width. | stable | qt/qtmultimedia | Status: MERGED | +2 | 0 |
87328,1 | Fix QSGVideoNode rendering of frames with stride != width. | dev | qt/qtmultimedia | Status: ABANDONED | 0 | 0 |