Attempting to stream mpeg4_he_aac_v2 or mp3 to an icecast server built from git
master results in the aac stream playing for a few ms before cutting out, and
the mp3 stream sounding corrupt.
Thinking it was an icecast issue, I bisected it, and the commit that broke it
was
https://gitlab.xiph.org/xiph/icecast-server/commit/6d0e4e6fc96d4de94b0f48d0e0f50a8dcc58f4db
Looking through the icecast source, it's obvious that the string is only used
for responses, and icecast itself doesn't seem to change its behaviour
depending on it, as can be seen here:
https://gitlab.xiph.org/search?utf8=%E2%9C%93&search=http_version&group_id=&project_id=2&search_code=true&repository_ref=master
Forcing HTTP/1.0 only for 200 OK and leaving everything else at 1.1 seems to
work around this issue:
```c
case 200: statusmsg = "OK"; http_version="1.0"; break;
```
Using wireshark to monitor the HTTP headers between 1.0 and 1.1 does not reveal
anything obvious.
Only difference is icecast's response being version 1.1 instead of 1.0.
Example liquidsoap request:
```
SOURCE /rs-mpeg.mp3 HTTP/1.0
ice-url: https://www.radiosega.net/
ice-name: RadioSEGA
Authorization: Basic c291cmNlOmhhY2ttZQ==
ice-description: Playing the best SEGA music 24/7!
ice-public: 1
User-Agent: Liquidsoap/1.3.7 (Unix; OCaml 4.05.0)
ice-genre: Video Game Music
ice-audio-info: channels=2;samplerate=44100;bitrate=96
Content-Type: audio/mpeg
```
Example icecast response:
```
HTTP/1.1 200 OK
Server: Icecast 2.4.99.2
Connection: Close
Accept-Encoding: identity
Allow: GET, PUT, OPTIONS, SOURCE
Date: Wed, 22 May 2019 03:46:31 GMT
Cache-Control: no-cache, no-store
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Pragma: no-cache
Content-Length: 0
```
I'm not yet entirely sure this is a liquidsoap bug, but other streaming
software has no trouble streaming to icecast builds that return HTTP/1.1.
It is worth noting that ogg vorbis streams continue to function and do not seem
to be affected by this change.
This was tested against both liquidsoap 1.3.7 and the latest head from master,
and both builds exhibit the same issue.
I used the latest cry release for both, as there don't seem to be any code
changes past its latest release.
This issue can be easily reproduced with an icecast build from master and
liquidsoap with
`%mp3(bitrate=96)`
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/savonet/liquidsoap/issues/792
_______________________________________________
Savonet-users mailing list
Savonet-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/savonet-users