I am submitting a patch against mpg321-0.2.10 that
addresses the following issues:
1. make http://some.server.name (no trailing slash) work
2. support shoutcast.pls files. For example,
$ mpg321 http://somafm.com/beatblender.pls
will now parse the returned playlist data and find the
next available URL in the channel list.
3. change HTTP User-Agent string to be "xmms/1.2.7" so
that shoutcast servers will return an mpeg stream
instead of refusing the connection.
4. support icecast meta-data in Remote mode. For example,
$ mpg321 -R -
L http://somafm.com/beatblender.pls
...
@I D Zihan Kamien - Wheres Johny Sabatino
...
@I Hefner - Everyday
5. included the fix for the "http streams skip bug"
(#750824). Checks the result of read() in mad.c's
read_from_fd()
I implemented item #2 so that I can specify a .pls URL
in a client program like irmp3 and not care whether the
actual shoutcast server IP address changes.
I implemented item #4 so that client programs like
irmp3 can have the Artist and Title updated via lcdproc
throughout the course of listening to a shoutcast stream.
This patch was tested on Redhat 8.0 and 9.0 Linux with
OSS drivers.
Logged In: YES
user_id=595644
I'm uploading an update to the patch (rev.2) that will
timeout each attempt to contact the shoutcast server after
10 seconds. That way, you won't sit there for each socket()
call to timeout trying to find an available server in the
playlist.
Logged In: YES
user_id=595644
New version 3 of patch attached. This patch prints out
pseudo-ID3 information for shoutcast streams (in remote mode
with "@I ID3:") instead of free-form text like the previous
version did. This allows higher-level apps like irmp3 to
decode the metadata more easily. I also changed the socket
timeout for connecting to a shoutcast server to 4 seconds,
which seemed more responsive than the previous 10 seconds.
shoutcast-patch-0.2.10-3