--- 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;
 }
 
 /**********************************************************************************
