QMediaPlaylist: Added ability to load from provided QNetworkRequest.

Change-Id: I7d8fc8a432810ff87650808b9ca6af53f7356d4e
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
This commit is contained in:
Lev Zelenskiy
2012-03-15 09:41:18 +10:00
committed by Qt by Nokia
parent c00033dfe2
commit 92b58ac1a7
10 changed files with 45 additions and 23 deletions

View File

@@ -437,22 +437,22 @@ bool QMediaPlaylistPrivate::writeItems(QMediaPlaylistWriter *writer)
}
/*!
Load playlist from \a location. If \a format is specified, it is used,
otherwise format is guessed from location name and data.
Load playlist using network \a request. If \a format is specified, it is used,
otherwise format is guessed from playlist name and data.
New items are appended to playlist.
QMediaPlaylist::loaded() signal is emitted if playlist was loaded successfully,
otherwise the playlist emits loadFailed().
*/
void QMediaPlaylist::load(const QUrl &location, const char *format)
void QMediaPlaylist::load(const QNetworkRequest &request, const char *format)
{
Q_D(QMediaPlaylist);
d->error = NoError;
d->errorString.clear();
if (d->playlist()->load(location,format))
if (d->playlist()->load(request,format))
return;
if (isReadOnly()) {
@@ -464,8 +464,8 @@ void QMediaPlaylist::load(const QUrl &location, const char *format)
foreach (QString const& key, playlistIOLoader()->keys()) {
QMediaPlaylistIOInterface* plugin = qobject_cast<QMediaPlaylistIOInterface*>(playlistIOLoader()->instance(key));
if (plugin && plugin->canRead(location,format)) {
QMediaPlaylistReader *reader = plugin->createReader(location,QByteArray(format));
if (plugin && plugin->canRead(request.url(), format)) {
QMediaPlaylistReader *reader = plugin->createReader(request.url(), QByteArray(format));
if (reader && d->readItems(reader)) {
delete reader;
emit loaded();
@@ -482,6 +482,21 @@ void QMediaPlaylist::load(const QUrl &location, const char *format)
return;
}
/*!
Load playlist from \a location. If \a format is specified, it is used,
otherwise format is guessed from location name and data.
New items are appended to playlist.
QMediaPlaylist::loaded() signal is emitted if playlist was loaded successfully,
otherwise the playlist emits loadFailed().
*/
void QMediaPlaylist::load(const QUrl &location, const char *format)
{
load(QNetworkRequest(location), format);
}
/*!
Load playlist from QIODevice \a device. If \a format is specified, it is used,
otherwise format is guessed from device data.