Web Playlists! CTP2 been out there for a little more than a week now and some of you simply love it. Others, I am sure love it but I just don't know about that. Some others wonder how it works and the documentation available is a drop in the ocean. Firstly, we are working on providing more docs so please bear with us for the time being. If you need to know about something in specifc, let me know through forums.iis.net or simply post a comment here.
For now here are the magic words - "Open Seasame"... and voila ... an attempt at explaining the call flow between the provider / handler interface in the Web Playlists.
The figure below is pretty self explanatory but just adding some details might make understanding even easier:
- Client (Media Player) requests a playlist from the IIS server and gets a client side playlist (.asx) with obfuscated URLs in response
- Client next requests the entry 1 from the playlist.
- The request is passed on to the Web Playlists handler from the IIS 7 pipeline. The handler validates the request against the session and then passes it on to the provider
- The provider determines the content to be played for this request and lets handler know about the same
- The handler opens the file and returns the stream back to the player. While doing this client side cache is disabled with pragma:no-cache
The above might change a little when an entry in the isx is httpd and in that case provider will actually determine the entry from the web application associated to the entry. The process is pretty similar for nested playlists too.
If you are using Web Playlists and would like to have a feature in there give me a holler! We are in Beta and chances are your request may make it :)