Feature Requests item #1713308, was opened at 2007-05-05 02:12
Message generated for change (Comment added) made by janstary
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=360706&aid=1713308&group_id=10706

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: robs (robs)
Assigned to: Nobody/Anonymous (nobody)
Summary: Replace or supplement use of wget with (lib)curl

Initial Comment:
From Chris:

Long term it might be nice to link to something like libcurl and 
bypass wget; at least for shoutcast support.  The reason is that when 
you connect to shoutcast servers, your supposed to send a 
"Ice-MetaData: 
1" in your HTTP request and then it will start including song 
name/artist metadata in the stream.  wget won't let us do that as far 
as 
I can tell. 

Then we could parse and print this data to the screen.  Not sure if 
libmad has hooks to detect invalid frame and let us jump in to see if 
its metadata or not.

If someone is interested, here is a web page that talks about parsing 
the metadata.  http://www.codeproject.com/cs/media/SHOUTcastRipper.asp


----------------------------------------------------------------------

Comment By: Jan StarĂ½ (janstary)
Date: 2013-02-04 04:50

Message:
wget has a generic --header option, which we can use as wget
--header="Ice-MetaData: 1". 

I am testing with http://81.173.3.133:8082 (which is a shoutcasted mp3
stream).
This can be played with "play -t mp3 http://81.173.3.133:8082"; (using
14.4.1)
which makes it skip over the

ICY 200 OK
icy-notice1: ...

response and plays the subsequent mp3 stream fine.

Downloading this stream with

 wget -O stream.mp3 -v -S --save-headers http://81.173.3.133:8082

I see that some ICE info actually is there:

ICY 200 OK^M
icy-notice1:<BR>This stream requires <a
href="http://www.winamp.com/";>Winamp</a>
<BR>^M
icy-notice2:SHOUTcast Distributed Network Audio Server/Linux v1.9.8<BR>^M
icy-name:SublimeFM^M
icy-genre:Jazz^M
icy-url:http://www.sublimefm.nl^M
content-type:audio/mpeg^M
icy-pub:1^M
icy-br:128^M

Specifically, this is the "Sublime" radio station, playing "Jazz".
Is this the metadata you were after? It seems that this server
does send them, even without the "Ice-MetaData: 1" header.

Trying again with --header="Ice-MetaData: 1"
added to the wget call, I don't see any difference.
What exactly is the Ice-MetaData supposed to do?
Make the server respond with metadata even if it wouldn't by default?


Anyway, I believe there is other motivation to get rid of wget.
Some systems (for example OpenBSD and MacOSX) do come with ftp(1)
in their base install that can write to stdout with "ftp -o - ...".
That makes wget an unnecessary dependency. In fact, the OpenBSD
port of SoX patches the source exactly in this way - replacing
the wget(1) call with a ftp(1) call.

(Linux also has an ftp(1) binary, but it cannot write to stdout AFAIK.)

If we want to replace the network functionality with libcurl(3),
we have to have libcurl installed; that means curl(1) will be around.
Isn't it easier then to just use curl(1), which I believe can do whatever
ftp(1) or wget(1) can do as far as downloading a given remote file goes?

Currently, all inputs are opened uniformly: with formats.c:xfopen(),
which returns FILE* whether the input is a local file, a pipe or a remote
file.
That needs popen(). So would it also be a motivation to support systems
that
do not have popen()? (What systems are those?) We want to keep the uniform
threatments of all inputs as FILE*'s, right?


----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=360706&aid=1713308&group_id=10706

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_jan
_______________________________________________
SoX-devel mailing list
SoX-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sox-devel

Reply via email to