Merge remote-tracking branch 'origin/stable' into dev
Change-Id: I6b92013d9fb14b11141d1a15c183776b2b3309fa
This commit is contained in:
@@ -153,13 +153,15 @@ void QWaveDecoder::handleData()
|
||||
chunk descriptor;
|
||||
peekChunk(&descriptor);
|
||||
|
||||
if (source->bytesAvailable() < qint64(descriptor.size + sizeof(chunk)))
|
||||
quint32 rawChunkSize = descriptor.size + sizeof(chunk);
|
||||
if (source->bytesAvailable() < qint64(rawChunkSize))
|
||||
return;
|
||||
|
||||
WAVEHeader wave;
|
||||
source->read(reinterpret_cast<char *>(&wave), sizeof(WAVEHeader));
|
||||
if (descriptor.size > sizeof(WAVEHeader))
|
||||
discardBytes(descriptor.size - sizeof(WAVEHeader));
|
||||
|
||||
if (rawChunkSize > sizeof(WAVEHeader))
|
||||
discardBytes(rawChunkSize - sizeof(WAVEHeader));
|
||||
|
||||
// Swizzle this
|
||||
if (bigEndian) {
|
||||
|
||||
@@ -190,7 +190,7 @@ QM3uPlaylistPlugin::~QM3uPlaylistPlugin()
|
||||
|
||||
bool QM3uPlaylistPlugin::canRead(QIODevice *device, const QByteArray &format) const
|
||||
{
|
||||
return device->isReadable() && (format == "m3u" || format.isEmpty());
|
||||
return device->isReadable() && (format == "m3u" || format == "m3u8" || format.isEmpty());
|
||||
}
|
||||
|
||||
bool QM3uPlaylistPlugin::canRead(const QUrl& location, const QByteArray &format) const
|
||||
@@ -198,18 +198,18 @@ bool QM3uPlaylistPlugin::canRead(const QUrl& location, const QByteArray &format)
|
||||
if (!QFileInfo(location.toLocalFile()).isReadable())
|
||||
return false;
|
||||
|
||||
if (format == "m3u")
|
||||
if (format == "m3u" || format == "m3u8")
|
||||
return true;
|
||||
|
||||
if (!format.isEmpty())
|
||||
return false;
|
||||
else
|
||||
return location.toLocalFile().toLower().endsWith(QLatin1String("m3u"));
|
||||
QString localFile = location.toLocalFile().toLower();
|
||||
return localFile.endsWith(QLatin1String("m3u")) || localFile.endsWith(QLatin1String("m3u8"));
|
||||
}
|
||||
|
||||
bool QM3uPlaylistPlugin::canWrite(QIODevice *device, const QByteArray &format) const
|
||||
{
|
||||
return device->isOpen() && device->isWritable() && format == "m3u";
|
||||
return device->isOpen() && device->isWritable() && (format == "m3u" || format == "m3u8");
|
||||
}
|
||||
|
||||
QMediaPlaylistReader *QM3uPlaylistPlugin::createReader(QIODevice *device, const QByteArray &format)
|
||||
|
||||
Reference in New Issue
Block a user