Version: 1.4-beta3 (using KDE KDE 3.5.2) Installed from: Fedora RPMs As there are no plans to use KIO to fetch data packets for the various engines to use, instead bestowing data access to the engines themselves, we can at least rely on the fact that most engines can stream from HTTP URLs and, when giving them webdav:// URLs (e.g. when a user browses a WebDAV site in the Files pane), replace webdav:// with http://. (Technical note: WebDAV _is_ an addition of methods for HTTP for directory listing etc., but the actual retrieval of the file occurs through regular HTTP GET methods.)
Created attachment 16064 [details] Patch Simple patch, tested and found to work.
You have to replace webdavs with https too.
I didn't do it on purpose. Can any of our current engines handle https anyway?
Well, they for sure can't handle "webdavs".
Created attachment 16090 [details] Patch (Take 2) Changes webdav to http and webdavs to https.
SVN commit 542146 by seb: Recognise webdav(s) as an http(s) protocol BUG: 126847 CCMAIL: kde-bugzilla@future.shiny.co.il M +2 -0 ChangeLog M +8 -1 src/enginecontroller.cpp --- trunk/extragear/multimedia/amarok/ChangeLog #542145:542146 @@ -21,6 +21,8 @@ (BR 127043) BUGFIXES: + * Allow for recognition of the webdav protocol. Patch by Ilya + Konstantinov <kde-bugzilla@future.shiny.co.il>. (BR 126847) * Setting a rating on an unplayed track would affect score generated. Patch by Patrick Muench <s7mon@web.de>. (BR 127475) * Stop tags with different capitalisation being treated as the same --- trunk/extragear/multimedia/amarok/src/enginecontroller.cpp #542145:542146 @@ -312,7 +312,7 @@ if ( !m_playFailureCount ) failure_time.start(); - const KURL url = bundle.url(); + KURL url = bundle.url(); debug() << "Loading URL: " << url.url() << endl; m_lastMetadata.clear(); @@ -332,6 +332,13 @@ else amaroK::StatusBar::instance()->shortMessage( i18n("Connecting to stream source...") ); + // WebDAV protocol is HTTP with extensions (and the "webdav" scheme + // is a KDE-ism anyway). Most engines cope with HTTP streaming, but + // not through KIO, so they don't support KDE-isms. + if ( url.protocol() == "webdav" ) + url.setProtocol( "http" ); + else if ( url.protocol() == "webdavs" ) + url.setProtocol( "https" ); if( m_engine->load( url, url.protocol() == "http" || url.protocol() == "rtsp" ) ) {