Content-length ist ein header, der in einen POST-Request gehört. Nicht jedoch in eine Response.
Da möchte ich widersprechen. Zum einen sendet der Original-Server auch solch einen Header und er macht auch im Verhalten einen Unterschied. So wie es aussieht scheint zum Beispiel der mplayer das zu nutzen um abschätzen zu können wie lange die Datei ist. Ohne diesen header sagt er als noch verbleibende Länge "(undefined)".
Aber wie dem auch sei, ich habe das Problem gelöst und es war echt einfach. Da hab ich den Wald vor lauter Bäumen nicht gesehen. Als ich mich eben wieder dran gesetzt habe dachte ich mir "Was machst du da eigentlich für nen Unsinn, liest die Header aus um die Content-Länge zu bekommen und baust dir dann damit deine eigenen Header. Total bescheuert" - Jetzt habe ich nichts weiter gemacht als die Header vom Original-Server direkt auszugeben und danach dann den Stream und das klappt.
Manchmal braucht man echt etwas Abstand von so nem Problem.
Trotzdem danke für die Hilfe!
Und für die die es interessiert - die Header die ich jezt sende sind:
HTTP/1.1 200 OK
Server: Apache/2.2.9 (Debian)
ETag: "4838-1a1600-483cd5fa49ac0"
Accept-Ranges: bytes
Content-Length: 1709568
Content-Type: audio/mpeg
Age: 15602
Date: Sun, 11 Apr 2010 21:19:19 GMT
Last-Modified: Fri, 09 Apr 2010 13:00:03 GMT
Connection: close
Marc