--- arts-1.1.1/soundserver/soundserverv2_impl.cc.orig 2003-03-17 09:24:17.000000000 +0100 +++ arts-1.1.1/soundserver/soundserverv2_impl.cc 2003-03-17 09:19:54.000000000 +0100 @@ -119,7 +119,36 @@ TraderQuery query; query.supports("Interface","Arts::PlayObject"); - query.supports("MimeType", mimetype); + + /* Parse URL protocol */ + string protocol; + + unsigned int urlProto = url.find( ":/" ); + + if (urlProto != std::string::npos) + { + /* Remove [user[:passwd]@] */ + unsigned int urlAt = url.find( '@' ); + + if (urlAt++ == std::string::npos || urlAt >= urlProto) + { + urlAt = 0; + } + + /* Remove [:port] */ + urlProto = url.find( ':', urlAt ); + + protocol = std::string( url, urlAt, (urlProto - urlAt) ); + } + + if (!protocol.empty() && protocol != "file") + { + query.supports("Protocol", protocol); + } + if (mimetype != "application/octet-stream") + { + query.supports("MimeType", mimetype); + } string objectType;