I have built an MP3 streaming server that emulates Shoutcast and Icecast functionality. I am hoping that someone who is familiar with the streaming code in VLC can shed some light here.
Issue: VLC sends HTTP 1.1 requests when connecting to a stream source, however is does not support chunked transfer encoding for Shoutcast or Icecast streams. Why? HTTP 1.1 protocol clearly states that if a client makes a 1.1 request and the server responds with 1.1 the client must support 1.1.
- Repro: VLC Client sends request for "Icecast" stream with HTTP 1.1 and Icy-MetaData=1. This means that the client can support HTTP 1.1 and meta data in the stream. However, this is not the case. The VLC player recognizes the stream, starts playing, but once it hits the meta-data marker it dies because (I believe) it assumes that this is just a plain MP3/mime stream not an Icecast stream. What is really strange is that the player sometime recognizes that first meta-marker, but then dies on the next read.
Thoughts? How can this be addressed?
Thanks
Eric