--- kaffeine/player-parts/Makefile.am 2004-09-18 20:12:22.000000000 +0200 +++ kaffeine/player-parts/Makefile.am 2006-03-24 15:00:52.000000000 +0100 @@ -8,10 +8,8 @@ kaffeineincludedir = $(includedir)/kaffeine kaffeineinclude_HEADERS = mrl.h kmediapart.h playlistimport.h -noinst_HEADERS = http.h - METASOURCES = AUTO -libkmediapart_la_SOURCES = mrl.cpp kmediapart.cpp playlistimport.cpp http.c +libkmediapart_la_SOURCES = mrl.cpp kmediapart.cpp playlistimport.cpp libkmediapart_la_LIBADD = $(LIB_KPARTS) libkmediapart_la_LDFLAGS = $(all_libraries) -version-info 0:1:0 -no-undefined --- kaffeine/player-parts/playlistimport.cpp 2004-11-15 12:16:34.000000000 +0100 +++ kaffeine/player-parts/playlistimport.cpp 2006-03-24 15:00:44.000000000 +0100 @@ -358,80 +358,47 @@ bool PlaylistImport::ram(const MRL& playlist, MRL::List& mrls, QWidget* parent) { - kdDebug() << "PlaylistImport: ram: " << playlist.url() << endl; - Q_ULONG result; - char buf[10]; - char mime[1024]; - - if (playlist.kurl().isLocalFile()) - { - QFile file(playlist.kurl().path()); - if (!file.open(IO_ReadOnly)) - { - kdError() << "PlaylistImport: Can't open " << playlist.url() << endl; - return false; - } - result = file.readBlock(buf, 4); - file.close(); - if (result != 4) - { - kdError() << "PlaylistImport: Can't read " << playlist.url() << endl; - return false; - } - } - else - { - if (playlist.kurl().protocol() == "http") - { + kdDebug() << "PlaylistImport: ram: " << playlist.url() << endl; - result = http_peek(playlist.url(), 4, buf, mime); + if (!playlist.kurl().isLocalFile() && !playlist.kurl().protocol().startsWith("http")) { + kdError() << "PlaylistImport: ram: Download via " << playlist.kurl().protocol() << " protocol not supported." << endl; + return false; + } + + kdDebug() << "PlaylistImport: Seems to be a ram playlist!" << endl; + + QString localFile, url; + if (KIO::NetAccess::mimetype(playlist.kurl(), parent) == "application/vnd.rn-realmedia") { + kdDebug() << "PlaylistImport: Seems to be a real media file" << endl; + return false; + } + + if (KIO::NetAccess::download(playlist.kurl(), localFile, parent)) + { + QFile plFile(localFile); + if (!plFile.open(IO_ReadOnly)) return false; + QTextStream stream( &plFile ); + + while (!stream.eof()) + { + url = stream.readLine(); + + if (url[0] == '#') continue; /* ignore comments */ + if (url == "--stop--") break; /* stop line */ + + if ((url.left(7) == "rtsp://") || (url.left(6) == "pnm://") || (url.left(7) == "http://")) + { + kdDebug() << "PlaylistImport: ram import url: " << url << endl; + mrls.append(MRL(url, url)); + } + } + } + else { + kdError() << "PlaylistImport: " << KIO::NetAccess::lastErrorString() << endl; + return false; + } - if (result <= 0) - { - kdError() << "Can't open " << playlist.url() << endl; - return false; - } - } - else - { - kdWarning() << "PlaylistImport: ram: Download via " << playlist.kurl().protocol() << " protocol not supported." << endl; - return false; - } - } - - if (buf[0]=='.' && buf[1]=='R' && buf[2]=='M' && buf[3]=='F') - { - kdDebug() << "PlaylistImport: Seems to be a real media file" << endl; - return false; - } - - kdDebug() << "PlaylistImport: Seems to be a ram playlist!" << endl; - - QString localFile, url; - if (KIO::NetAccess::download(playlist.kurl(), localFile, parent)) - { - QFile plFile(localFile); - if (!plFile.open(IO_ReadOnly)) return false; - QTextStream stream( &plFile ); - - while (!stream.eof()) - { - url = stream.readLine(); - - if (url[0] == '#') continue; /* ignore comments */ - if (url == "--stop--") break; /* stop line */ - - if ((url.left(7) == "rtsp://") || (url.left(6) == "pnm://") || (url.left(7) == "http://")) - { - kdDebug() << "PlaylistImport: ram import url: " << url << endl; - mrls.append(MRL(url, url)); - } - } - } - else - kdError() << "PlaylistImport: " << KIO::NetAccess::lastErrorString() << endl; - - return true; + return true; } /**********************************************************************************