Some more investigation: it seems that the icy-metadata header is not the culprit. It is issued when the "iradio-mode" property of the souphttpsrc element is set to true. Getting the same stream with and without this property using gst-launch works in both cases. It also looks like doing a request on the relative path of the resource rather than the full URI doesn't affect the result, nor do the presence of the transferMode.dlna.org and User-Agent headers.
Here is the dump of the TCP stream for the following pipeline in gst-launch:
Some more investigation: it seems that the icy-metadata header is not the culprit. It is issued when the "iradio-mode" property of the souphttpsrc element is set to true. Getting the same stream with and without this property using gst-launch works in both cases. It also looks like doing a request on the relative path of the resource rather than the full URI doesn't affect the result, nor do the presence of the transferMode. dlna.org and User-Agent headers.
Here is the dump of the TCP stream for the following pipeline in gst-launch:
souphttpsrc location=http:// stream29. grooveshark. com/stream. php?streamKey= 0d2a34d8bd9611d e9770 ! filesink location= /home/osomon/ temp/boudiou. mp3
GET /stream. php?streamKey= 0d2a34d8bd9611d e9770 HTTP/1.1 grooveshark. com e.dlna. org: Streaming
Host: stream29.
Connection: close
transferMod
User-Agent: GStreamer souphttpsrc libsoup/2.26.0
HTTP/1.1 200 OK
X-Powered-By: PHP/5.1.6
Cache-Control: no-cache, no-store, must-revalidate
Pragma: no-cache
Expires: Sat, 26 Jul 1997 05:00:00 GMT
Content-Type: audio/mpeg
ETag: "69546903"
Accept-Ranges: bytes
Last-Modified: Tue, 13 Oct 2009 02:36:13 GMT
Content-Length: 4618663
Connection: close
Date: Tue, 20 Oct 2009 16:33:09 GMT
Server: lighttpd/1.5.0