Hi there,
Not quite sure if this is the right place to post this question. But this is, really, really, driving me crazy… :(
I’m currently working on a project, in which, I need a simple video player component to constantly play a list of videos. Let’s say, I have 8 videos, and want to switch to the next video in the list every 10 seconds.
I did the test with a very simple code (see below, only writing QML code, leaving other code files in the project as default). When I run this simple test program, it looks like it keeps eating memory without releasing it.
on start, it uses only around 60 MB memory (observed simply via Windows Task Manager)
30 minutes later, the memory usage goes up to around 130 MB
3 hours later, this program crashes.
So the question here is, is this a bug, or am I walking the wrong way?
Environment:
========
Windows 7 SP1, Visual Studio 2010, Qt 5.1.0 32 bit.
Code:
==
(putting the Timer in QML is only for test purpose…)
(the maximum video file size is around 8MB, total size of these 8 videos is less than 24 MB)
import QtQuick 2.0
import QtMultimedia 5.0
Rectangle {
id: window
width: 800; height:600
property int videoIndex: 0
property variant videos: ["101.mp4", "102.mp4", "103.mp4", "104.mp4", "105.mp4", "106.mp4", "107.mp4", "108.mp4"]
Timer {
interval: 10000 // change the MediaPlayer source every 10 seconds
running: true
repeat: true
onTriggered: {
console.log("Now switching to " + videos[videoIndex]);
videoPlayer.stop(); // stop the current MediaPlayer first
videoPlayer.source = videos[videoIndex]; // change the MediaPlayer source
videoPlayer.play(); // start play the MediaPlayer
if(videoIndex < 7)
{
++videoIndex;
}
else
{
videoIndex = 0;
}
}
}
Rectangle {
id: bottomRect
width: window.width; height: window.height
MediaPlayer {
id: videoPlayer
source: "108.mp4"
}
VideoOutput {
id: videoOutput
source: videoPlayer
width: parent.width; height: parent.height
}
}
}
Additionally, I’ve also tried Video instead of MediaPlayer+VideoOutput. Same issue.
Any suggestion would be really appreciate.
↧