GStreamer: fix looping a media when it's loaded from qrc.

When playing a media for the second time, the backend resets the
the media by calling setMedia() with the same value.
The problem is that setMedia() clears the previous media, which is
a QFile in this case and is the one we are trying to set again...
The QFile was deleted, causing the current media to be a dangling
pointer.

Change-Id: I6854b40212fd084d1e31e756a040a02ad103b7ba
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
This commit is contained in:
Yoann Lopes
2014-06-17 14:28:20 +02:00
parent c9b4793350
commit a7f924186c

View File

@@ -371,7 +371,7 @@ void QGstreamerPlayerControl::setMedia(const QMediaContent &content, QIODevice *
emit bufferStatusChanged(0);
}
if (m_stream) {
if (m_stream && m_stream != stream) {
if (m_ownStream)
delete m_stream;
m_stream = 0;