--- kaffeine/Makefile.am +++ kaffeine/Makefile.am @@ -14,7 +14,7 @@ noinst_LTLIBRARIES = libkaffeinenoinst.la -libkaffeinenoinst_la_SOURCES = videowindow.cpp http.c inforow.cpp playlist.cpp urllistview.cpp postfilter.cpp convert.cpp myslider.cpp playlistitem.cpp +libkaffeinenoinst_la_SOURCES = videowindow.cpp inforow.cpp playlist.cpp urllistview.cpp postfilter.cpp convert.cpp myslider.cpp playlistitem.cpp libkaffeinenoinst_la_LIBADD = $(LIB_KDEUI) $(LIB_KFILE) $(LIB_KDECORE) $(LIB_QT) $(LIBSOCKET) -lkdeprint libkaffeinenoinst_la_LDFLAGS = $(all_libraries) @@ -36,7 +36,7 @@ profiledatadir = $(kde_datadir)/profiles -EXTRA_DIST = $(profiledata_DATA) kaffeine.desktop kaffeine_part.desktop configwidget.cpp configwidget.h controlpanel.cpp controlpanel.h inforow.cpp inforow.h main.cpp playlist.cpp playlist.h splashwidget.cpp splashwidget.h urllistview.cpp urllistview.h videosettings.cpp videosettings.h videowindow.cpp videowindow.h xineconfig.cpp xineconfig.h kaffeine.cpp kaffeineapp.cpp kaffeineapp.h screenshotpreview.cpp screenshotpreview.h kaffeine.h kaffeine_part.h kaffeine_part.cpp equalizer.h equalizer.cpp systemtray.cpp systemtray.h fullscreenpanel.h fullscreenpanel.cpp filterdialog.cpp filterdialog.h postfilter.cpp postfilter.h convert.h convert.cpp myslider.h myslider.cpp wizarddialog.cpp wizarddialog.h http.c http.h playlistitem.h playlistitem.cpp deinterlacequality.h deinterlacequality.cpp +EXTRA_DIST = $(profiledata_DATA) kaffeine.desktop kaffeine_part.desktop configwidget.cpp configwidget.h controlpanel.cpp controlpanel.h inforow.cpp inforow.h main.cpp playlist.cpp playlist.h splashwidget.cpp splashwidget.h urllistview.cpp urllistview.h videosettings.cpp videosettings.h videowindow.cpp videowindow.h xineconfig.cpp xineconfig.h kaffeine.cpp kaffeineapp.cpp kaffeineapp.h screenshotpreview.cpp screenshotpreview.h kaffeine.h kaffeine_part.h kaffeine_part.cpp equalizer.h equalizer.cpp systemtray.cpp systemtray.h fullscreenpanel.h fullscreenpanel.cpp filterdialog.cpp filterdialog.h postfilter.cpp postfilter.h convert.h convert.cpp myslider.h myslider.cpp wizarddialog.cpp wizarddialog.h playlistitem.h playlistitem.cpp deinterlacequality.h deinterlacequality.cpp install-data-local: --- kaffeine/playlist.cpp +++ kaffeine/playlist.cpp @@ -1387,52 +1387,24 @@ { Q_ULONG result; KURL::List kurlList; - char buf[10], mime[256]; kdDebug(555) << "Check for ram playlist: " << kurl.prettyURL() << endl; - - if (kurl.isLocalFile()) - { - QFile file( kurl.path() ); - if (!file.open(IO_ReadOnly)) - { - kdError(555) << "Can't open " << kurl.path() << endl; - return false; - } - result = file.readBlock( buf, 4 ); - file.close(); - if (result != 4) - { - kdError(555) << "Can't read " << kurl.path() << endl; - return false; - } + + if (!kurl.isLocalFile() && !kurl.protocol().startsWith("http")) { + kdError() << "PlaylistImport: ram: Download via " << kurl.protocol() << " protocol not supported." << endl; + return false; } - else - { - if ( kurl.protocol() == "http" ) - { - result = http_peek( kurl.url(), 4, buf, mime ); + kdDebug() << "PlaylistImport: Seems to be a ram playlist!" << endl; - if (result <= 0) - { - kdError(555) << "Can't open " << kurl.prettyURL() << endl; - return false; - } - } - else - return false; - } - - if (buf[0]=='.' && buf[1]=='R' && buf[2]=='M' && buf[3]=='F') - { - kdDebug(555) << "This is a real media file" << endl; + QString localFile, url; + if (KIO::NetAccess::mimetype(kurl, topLevelWidget()) == "application/vnd.rn-realmedia") { + kdDebug() << "PlaylistImport: Seems to be a real media file" << endl; return false; } kdDebug(555) << "Seems to be a ram playlist" << endl; - QString localFile, url; if (KIO::NetAccess::download( kurl, localFile )) { QFile plFile( localFile );