I'm trying to use IIS7 to host a HTTP Live Streaming server.
For those not familiar with HTTPLS: an audio or video stream is broken into small segments and made available on a web server. Along with the segments an index.m3u8 file is created which is a flat text file that lists segments currently available for download in the order in which they should be played. Typically, a new segment is created every 5 or 10 seconds and the index.m3u8 is overwritten at that time.
So I have a service running in Windows Server 2008 that is writing its segments and index.m3u8 files into a directory hosted by IIS. My client software connects and has no problem playing audio most of the time.
The problem: The client will sometimes receive an old index file over and over for hours on end despite the fact that new audio segments are being created.
I have two possible explanations:
- The service creating the segments is not succeeding in overwriting the index.m3u8 for prolonged periods of time.
- IIS7 has an internal file system cache that it reading from to fulfill the web requests.
So my question: does IIS have such a cache and if so what settings do I make to disable it?
Edit: I forgot to mention the IIS logs for these requests show http code 200 request OK.