Stream not playing in fmod 2.01

Hi All,

I work on a team that uses fmodstudio in an opensource project.

One of our users reported an issue that a music stream which used to play in FMOD fine no longer works.

My finding is that the stream will play fine in FMOD 2.00.08 and earlier. It seems at some point after (which we moved to the 2.01 series) the stream no longer plays. The stream still does not play in the recently released 2.01.08 update.

From what I can see (doing a tcpdump), it is able to get information about the stream (the station name and some other information), but then a http 400 error is returned by the remote.

The stream for testing is http://prem1.radiotunes.com/mellowsmoothjazz_hi?7dc0f54700dadf31c7762bef

Would appreciate if an FMOD dev could test this and see why it no longer plays.

If I revert back to 2.00.08 it will play just fine.

A sample tcpdump I did recently on 2.01.07

15:27:51.131187 IP (tos 0x0, ttl 64, id 45761, offset 0, flags [DF], proto TCP (6), length 206)
    172.16.16.1.33386 > 70.42.73.30.80: Flags [P.], cksum 0x4c1a (incorrect -> 0x4cde), seq 1:155, ack 1, win 502, options [nop,nop,TS val 2026368648 ecr 3599529344], length 154: HTTP, length: 154
        GET /smoothjazz247_hi?7dc0f54700dadf31c7762bef HTTP/1.1
        Host: prem1.radiotunes.com
        User-Agent: FMODStudio/2.01.07
        Icy-MetaData:1
        Connection: close

15:27:51.399936 IP (tos 0x0, ttl 46, id 40815, offset 0, flags [DF], proto TCP (6), length 571)
    70.42.73.30.80 > 172.16.16.1.33386: Flags [P.], cksum 0x98de (correct), seq 1:520, ack 155, win 235, options [nop,nop,TS val 3599529411 ecr 2026368648], length 519: HTTP, length: 519
        HTTP/1.0 200 OK
        Accept-Ranges: bytes
        Content-Type: audio/mpeg
        icy-br:320
        icy-genre:Smooth Jazz 24'7
        icy-name:Smooth Jazz 24'7 - RadioTunes Premium
        icy-pub:0
        icy-url:http://www.radiotunes.com
        Server: Icecast 2.4.0-kh3
        Cache-Control: no-cache, no-store
        Pragma: no-cache
        Access-Control-Allow-Origin: *
        Access-Control-Allow-Headers: Origin, Accept, X-Requested-With, Content-Type
        Access-Control-Allow-Methods: GET, OPTIONS, HEAD
        Connection: Close
        Expires: Mon, 26 Jul 1997 05:00:00 GMT
        icy-metaint:16000

So it seems it can at least get some info about the stream, and after that point something seems to go wrong and the http 400 error is returned from the remote.

15:19:43.418575 IP (tos 0x0, ttl 64, id 32833, offset 0, flags [DF], proto TCP (6), length 233)
    172.16.16.1.33030 > 70.42.73.30.80: Flags [P.], cksum 0x4c35 (incorrect -> 0xc4c9), seq 1:182, ack 1, win 502, options [nop,nop,TS val 2025880935 ecr 3599407417], length 181: HTTP, length: 181
        GET http://prem1.radiotunes.com/smoothjazz247_hi?7dc0f54700dadf31c7762bef HTTP/1.1
        Host: prem1.radiotunes.com
        User-Agent: FMODStudio/2.01.07
        Icy-MetaData:1
        Connection: close

15:19:43.647438 IP (tos 0x0, ttl 47, id 61851, offset 0, flags [DF], proto TCP (6), length 52)
    70.42.73.30.80 > 172.16.16.1.33030: Flags [.], cksum 0x48eb (correct), seq 1, ack 182, win 235, options [nop,nop,TS val 3599407474 ecr 2025880935], length 0
15:19:43.647942 IP (tos 0x0, ttl 47, id 61852, offset 0, flags [DF], proto TCP (6), length 133)
    70.42.73.30.80 > 172.16.16.1.33030: Flags [P.], cksum 0x7f50 (correct), seq 1:82, ack 182, win 235, options [nop,nop,TS val 3599407474 ecr 2025880935], length 81: HTTP, length: 81
        HTTP/1.0 400 Bad Request
        Content-Type: text/html

        <b>invalid request URI</b>

Thanks I have found that since supporting looping of http streams, a malformed parameter got into the seek command, so it returns that error on some server setups (if it is configured that way).
I have updated the code to be fixed in the next release on all major versions of fmod api.
Brett