QML Video element regression in Belle FP1
Hi,
I have a landscape-locked application which plays 480x320 video scaled to common Symbian full-screen (640x360) which used to work fine on both pre-FP1 Belle/Anna and simulator. Now with FP1 video gets rendered either off-screen or is badly cropped and I'm running out of workarounds.
In short: it starts to look like a regression bug in FP1, or even multiple.
I have isolated the problem to a small test application below (removing the orientation locking as it seems to be another problem) which works as expected on simulator and previous Belles.
A sample mp4 is available e.g. from [url]http://www.mediafire.com/?3mrwyjgaovd[/url]
1) First option: use PreserveAspectCrop and fill results in small video in bottom left corner (in landscape). It looks like the scaling factor comes somehow from portrait mode(?). When you tilt to portrait, it looks actually fine but once you tilt back, now only half of the screen is rendered tilted 90 deg clockwise and video is cropped badly.
2) Second option: use scale 1.33 and anchors.centerIn: parent shows nothing when started in landscape (audio is ok) and again looks ok when tilted to portrait and returning to landscape gives the same result as in 1) -- scale itself seems be work ok, though
3) muted and volume do not seem to work either
4) if I use orientationLock for page, video might not render at all
Do you come up with any tricks to solve this or should I just give up? :)
EDIT: also a 640x360 video acts the same way...
main.cpp (from standard template)
[CODE]
QmlApplicationViewer viewer;
viewer.setMainQmlFile(QLatin1String("qml/VideoFP1/main.qml"));
viewer.showExpanded();
[/CODE]
main.qml
[CODE]import QtQuick 1.1
import com.nokia.symbian 1.1
Window {
id: window
PageStack {
id: pageStack
}
Component.onCompleted: {
pageStack.push(Qt.resolvedUrl("MainPage.qml"))
}
}
[/CODE]
and MainPage.qml
[CODE]
import QtQuick 1.1
import com.nokia.symbian 1.1
import QtMultimediaKit 1.1
Page {
id: mainPage
//orientationLock: PageOrientation.LockLandscape
Video {
id: testVid
fillMode: Video.PreserveAspectCrop
anchors.fill: parent
// alternatively:
//anchors.centerIn: parent
//scale: 1.33
source: "file:///E:/Videos/sample.mp4";
}
}
Component.onCompleted: {
testVid.play();
console.log("Play " + width + "x" + height)
}
}
[/CODE]
Re: QML Video element regression in Belle FP1
This compatibility issue is now reported to Qt.
[url]https://bugreports.qt-project.org/browse/QTMOBILITY-2055[/url]
Feel free to review and comment on the bug report. Sorry, no workaround yet, but maybe the sample project attached there will give you a few ideas. I got video displaying in the center of the screen in a landscape locked app on Belle FP1... along with some quirks like MouseArea not responding to input.
Re: QML Video element regression in Belle FP1
Thanks, I'll follow the bug