#8 shoutcast patch

open
nobody
None
5
2003-09-22
2003-09-22
Kernel Jake
No

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.

Discussion

  • Kernel Jake
    Kernel Jake
    2003-11-28

    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.

     
  • Kernel Jake
    Kernel Jake
    2004-01-03

    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.

     
  • Kernel Jake
    Kernel Jake
    2004-01-03

    shoutcast-patch-0.2.10-3