<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:cs="http://blogs.iis.net/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Vishal Sood</title><link>http://blogs.iis.net/vsood/default.aspx</link><description>Media transforming the world</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/iis/ibUK" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><title>Building your first Smooth Streaming Player using SSME</title><link>http://feedproxy.google.com/~r/iis/ibUK/~3/3J29ZyhXDrM/building-your-first-smooth-streaming-player.aspx</link><pubDate>Wed, 14 Oct 2009 22:24:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:3458819</guid><dc:creator>vsood</dc:creator><slash:comments>4</slash:comments><wfw:commentRss>http://blogs.iis.net/vsood/rsscomments.aspx?PostID=3458819</wfw:commentRss><comments>http://blogs.iis.net/vsood/archive/2009/10/14/building-your-first-smooth-streaming-player.aspx#comments</comments><description>&lt;P&gt;In this post I plan to cover building a very basic Smooth Streaming Player using Smooth Streaming Media Element (SSME) part of Smooth Streaming Player Development Kit. In other words, building a “Hello World” equivalent for Smooth Streaming Client (“Hello Smooth Streaming”). This post is split into two parts. In the first part, I will be covering how to get basic playback working in a browser window for Smooth Streaming content. This should be really easy as you will see. In the second part, we would add some basic playback controls like Play, Pause, Stop and Volume controls. &lt;/P&gt;
&lt;H2&gt;Prerequisites&lt;/H2&gt;
&lt;OL&gt;
&lt;LI&gt;You should either have Visual Web Developer or Visual Studio installed along with Silverlight Tools for Visual Studio. You can get more information on this &lt;A href="http://silverlight.net/getstarted/" target=_blank mce_href="http://silverlight.net/getstarted/"&gt;here&lt;/A&gt;. &lt;/LI&gt;
&lt;LI&gt;Install the Smooth Streaming Developer Kit available &lt;A href="http://blogs.iis.net/vsood/archive/2009/10/09/iis-smooth-streaming-player-development-kit-1-0-beta-1-released.aspx" target=_blank mce_href="http://blogs.iis.net/vsood/archive/2009/10/09/iis-smooth-streaming-player-development-kit-1-0-beta-1-released.aspx"&gt;here&lt;/A&gt;. &lt;/LI&gt;
&lt;LI&gt;This is not a XAML overview session so basic XAML knowledge is required. &lt;/LI&gt;&lt;/OL&gt;
&lt;H2&gt;Building a Simple Smooth Streaming Player for Playback&lt;/H2&gt;
&lt;P&gt;The very first thing I wanted to cover here was just basic playback. There are no controls. All you get is a browser window that shows the video playing. &lt;/P&gt;
&lt;P&gt;The below outlines steps to achieve this:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Open Visual Web Developer or Visual Studio. &lt;/LI&gt;
&lt;LI&gt;Go to: File –&amp;gt; New Project. &lt;/LI&gt;
&lt;LI&gt;Chose Visual C# as project Type and then select Silverlight. Choose Silverlight Application, name it SimplePlayer. &lt;/LI&gt;
&lt;LI&gt;In your project go to references and add a reference to Microsoft.Web.Media.Smoothstreaming.dll (available as a part of Player development Kit) &lt;/LI&gt;
&lt;LI&gt;Modify MainPage.xaml as under. Set the SmoothStreamingSource property in XAML to the location of the Smooth Streaming content. Replace &amp;lt;&amp;lt;Add your URL here&amp;gt;&amp;gt; with the URL of the content (E.g., it will look something like &lt;A href="http://example.com/a.isml/Manifest" mce_href="http://example.com/a.isml/Manifest"&gt;http://example.com/a.isml/Manifest&lt;/A&gt;) &lt;/LI&gt;&lt;/OL&gt;
&lt;DIV style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px" id=scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:8a6dc0a7-50b0-4f3f-9670-88fb6b7bdd20 class=wlWriterEditableSmartContent&gt;
&lt;DIV style="BORDER-BOTTOM: #000080 1px solid; BORDER-LEFT: #000080 1px solid; FONT-FAMILY: 'Courier New', Courier, Monospace; COLOR: #000; FONT-SIZE: 10pt; BORDER-TOP: #000080 1px solid; BORDER-RIGHT: #000080 1px solid"&gt;
&lt;DIV style="PADDING-BOTTOM: 2px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: Verdana, Tahoma, Arial, sans-serif; BACKGROUND: #000080; COLOR: #fff; FONT-WEIGHT: bold; PADDING-TOP: 2px"&gt;Code Snippet&lt;/DIV&gt;
&lt;DIV style="BACKGROUND: #ddd; MAX-HEIGHT: 300px; OVERFLOW: auto"&gt;
&lt;OL style="PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 2.5em; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; BACKGROUND: #ffffff; PADDING-TOP: 0px"&gt;
&lt;LI&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;UserControl&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; x&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;Class&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="SimplePlayer.MainPage"&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #ff0000"&gt; xmlns&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;/SPAN&gt; &lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #ff0000"&gt; xmlns&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;x&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="http://schemas.microsoft.com/winfx/2006/xaml"&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #ff0000"&gt; xmlns&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;d&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="http://schemas.microsoft.com/expression/blend/2008"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; xmlns&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;mc&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="http://schemas.openxmlformats.org/markup-compatibility/2006"&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #ff0000"&gt; xmlns&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;SSME&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="clr-namespace:Microsoft.Web.Media.SmoothStreaming;assembly=Microsoft.Web.Media.SmoothStreaming"&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #ff0000"&gt; mc&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;Ignorable&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="d"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; d&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;DesignWidth&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="640"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; d&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;DesignHeight&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="480"&amp;gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #a31515"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Grid&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; x&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="LayoutRoot"&amp;gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #a31515"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;SSME&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;SmoothStreamingMediaElement&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; AutoPlay&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="True"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; x&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="SmoothPlayer"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; SmoothStreamingSource&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="&amp;lt;&amp;lt;Add your URL here&amp;gt;&amp;gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; Grid.Row&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="0" /&amp;gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #a31515"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Grid&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;UserControl&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P&gt;This is all you need to get a basic playback working with Smooth Streaming Media Element. &lt;/P&gt;
&lt;H2&gt;Adding Playback Controls to your Player&lt;/H2&gt;
&lt;P&gt;Next, once you have the basic playback working, you may want to add some basic controls like Play/Pause button, Stop Button and Volume Control.&lt;/P&gt;
&lt;P&gt;Here is what you will see after completing the steps below: &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.iis.net/blogs/vsood/image_5BC75040.png" mce_href="http://blogs.iis.net/blogs/vsood/image_5BC75040.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.iis.net/blogs/vsood/image_thumb_4AFFA592.png" width=564 height=460 mce_src="http://blogs.iis.net/blogs/vsood/image_thumb_4AFFA592.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;H3&gt;The UI layout&lt;/H3&gt;
&lt;P&gt;Here are the pieces we need for this in terms of the layout.&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Have portion of the screen, which will display the slider control for volume and Play/Pause and Stop buttons &lt;/LI&gt;
&lt;LI&gt;We need a portion for the Video to display &lt;/LI&gt;
&lt;LI&gt;We need to hook these buttons/slider to SSME &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;For the overall layout, we are using XAML constructs of Stack Panels. here is how we do it in this example:&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px" id=scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:a070c3fb-ebf0-4b9e-b16d-fa60c0f39b4b class=wlWriterEditableSmartContent&gt;
&lt;DIV style="BORDER-BOTTOM: #000080 1px solid; BORDER-LEFT: #000080 1px solid; FONT-FAMILY: 'Courier New', Courier, Monospace; COLOR: #000; FONT-SIZE: 10pt; BORDER-TOP: #000080 1px solid; BORDER-RIGHT: #000080 1px solid"&gt;
&lt;DIV style="PADDING-BOTTOM: 2px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: Verdana, Tahoma, Arial, sans-serif; BACKGROUND: #000080; COLOR: #fff; FONT-WEIGHT: bold; PADDING-TOP: 2px"&gt;Code Snippet&lt;/DIV&gt;
&lt;DIV style="BACKGROUND: #ddd; MAX-HEIGHT: 300px; OVERFLOW: auto"&gt;
&lt;OL style="PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 2.5em; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; BACKGROUND: #ffffff; PADDING-TOP: 0px"&gt;
&lt;LI&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;UserControl&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; x&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;Class&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="SimplePlayer.MainPage"&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #ff0000"&gt; xmlns&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;/SPAN&gt; &lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #ff0000"&gt; xmlns&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;x&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="http://schemas.microsoft.com/winfx/2006/xaml"&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #ff0000"&gt; xmlns&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;d&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="http://schemas.microsoft.com/expression/blend/2008"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; xmlns&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;mc&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="http://schemas.openxmlformats.org/markup-compatibility/2006"&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #ff0000"&gt; xmlns&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;SSME&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="clr-namespace:Microsoft.Web.Media.SmoothStreaming;assembly=Microsoft.Web.Media.SmoothStreaming"&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #ff0000"&gt; mc&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;Ignorable&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="d"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; d&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;DesignWidth&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="640"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; d&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;DesignHeight&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="480"&amp;gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #a31515"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Grid&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; x&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="LayoutRoot"&amp;gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #a31515"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Grid.RowDefinitions&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #a31515"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;RowDefinition&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; Height&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="0.95*"&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;RowDefinition&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #a31515"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;RowDefinition&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; Height&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="0.05*"&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;RowDefinition&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #a31515"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Grid.RowDefinitions&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #a31515"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;SSME&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;SmoothStreamingMediaElement&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; AutoPlay&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="True"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; x&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="SmoothPlayer"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; SmoothStreamingSource&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="&amp;lt;&amp;lt;Add your URL here&amp;gt;&amp;gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; Grid.Row&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="0" /&amp;gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #a31515"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;StackPanel&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; Orientation&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="Horizontal"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; Grid.Row&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="1"&amp;gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #a31515"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;TextBlock&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; x&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="Volume"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; VerticalAlignment&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="Center"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; Text&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="Volume"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; Width&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="50" /&amp;gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #a31515"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Slider&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; x&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="VolumeBar"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; Width&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="60"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; Value&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="{&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Binding&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; Path&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;=Volume,&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; ElementName&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;=SmoothPlayer,&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; Mode&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;=TwoWay}" /&amp;gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #a31515"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Button&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; x&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="PlayButton"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; Width&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="50"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; Click&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="PlayButton_Click"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; Loaded&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="PlayButton_Loaded"/&amp;gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #a31515"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Button&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; x&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="StopButton"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; Content&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="Stop"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; Width&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="50"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; Click&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="StopButton_Click" /&amp;gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #a31515"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;StackPanel&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #a31515"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Grid&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;UserControl&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;We have a Grid with two rows: the first row is SSME and second is a horizontal Stack Panel that has volume slide and Pause / Stop buttons. This is all we need to get the basic layout.&lt;/P&gt;
&lt;H3&gt;Linking UI to SSME&lt;/H3&gt;
&lt;P&gt;The next step after getting the UI is to link it back to SSME. We already know how to play the video in SSME. In this section I would cover how to hook up the buttons and the slider.&lt;/P&gt;
&lt;P&gt;Silverlight has a concept of template binding that can be used here. In the case of slider, we have a slider volume UI control and a volume property on SSME. All we need to do here is to tell Silverlight via the XAML to bind the slider value to the volume property on SSME. Here is how we do it:&lt;/P&gt;
&lt;DIV style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px" id=scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:00494a49-6f0a-410c-8800-9aa12a97bbc6 class=wlWriterEditableSmartContent&gt;
&lt;DIV style="BORDER-BOTTOM: #000080 1px solid; BORDER-LEFT: #000080 1px solid; FONT-FAMILY: 'Courier New', Courier, Monospace; COLOR: #000; FONT-SIZE: 10pt; BORDER-TOP: #000080 1px solid; BORDER-RIGHT: #000080 1px solid"&gt;
&lt;DIV style="PADDING-BOTTOM: 2px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: Verdana, Tahoma, Arial, sans-serif; BACKGROUND: #000080; COLOR: #fff; FONT-WEIGHT: bold; PADDING-TOP: 2px"&gt;Code Snippet&lt;/DIV&gt;
&lt;DIV style="BACKGROUND: #ddd; MAX-HEIGHT: 300px; OVERFLOW: auto"&gt;
&lt;OL style="PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 2em; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; BACKGROUND: #ffffff; PADDING-TOP: 0px"&gt;
&lt;LI&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Slider&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; x&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="VolumeBar"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; Width&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="60"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; Value&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="{&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Binding&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; Path&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;=Volume,&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; ElementName&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;=SmoothPlayer,&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; Mode&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;=TwoWay}" /&amp;gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P&gt;If you see, all we are doing here is saying that bind the Slider Value to the SmoothPlayer’s Volume&amp;nbsp; Path (or property).&lt;/P&gt;
&lt;P&gt;For the Play / Pause and Stop buttons, we take a slightly different approach here:&lt;/P&gt;
&lt;DIV style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px" id=scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:e5ce6466-7de5-4dfa-ae5c-0747552eec77 class=wlWriterEditableSmartContent&gt;
&lt;DIV style="BORDER-BOTTOM: #000080 1px solid; BORDER-LEFT: #000080 1px solid; FONT-FAMILY: 'Courier New', Courier, Monospace; COLOR: #000; FONT-SIZE: 10pt; BORDER-TOP: #000080 1px solid; BORDER-RIGHT: #000080 1px solid"&gt;
&lt;DIV style="PADDING-BOTTOM: 2px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: Verdana, Tahoma, Arial, sans-serif; BACKGROUND: #000080; COLOR: #fff; FONT-WEIGHT: bold; PADDING-TOP: 2px"&gt;Code Snippet&lt;/DIV&gt;
&lt;DIV style="BACKGROUND: #ddd; MAX-HEIGHT: 300px; OVERFLOW: auto"&gt;
&lt;OL style="PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 2em; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; BACKGROUND: #ffffff; PADDING-TOP: 0px"&gt;
&lt;LI&gt;&lt;SPAN style="COLOR: #a31515"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Button&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; x&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="PlayButton"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; Width&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="50"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; Click&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="PlayButton_Click"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; Loaded&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="PlayButton_Loaded"/&amp;gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&lt;SPAN style="COLOR: #a31515"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Button&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; x&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="StopButton"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; Content&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="Stop"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; Width&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="50"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; Click&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="StopButton_Click" /&amp;gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P&gt;Here we want the following to happen:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;For the Play/Pause button, we want to do some actions when the button is loaded and then a different action when it is clicked. For this, we hook these actions to PlayButton_Click and PlayButton_Loaded methods in the MainPage.xaml.cs file &lt;/LI&gt;
&lt;LI&gt;For the Stop button we just need to handle the click so we hook up Click with StopButton_Click method. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;In the MainPage.xaml.cs file we need to have these methods and do the needful there. Here is what we are doing in this example:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Note&lt;/STRONG&gt;: There are other (better) ways of coding this but for simplicity I have tried to keep it very basic for this example&lt;/P&gt;
&lt;H4&gt;PlayButton_Loaded&lt;/H4&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px" id=scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:7a345661-0906-4b0e-9c84-273980b23a3a class=wlWriterEditableSmartContent&gt;
&lt;DIV style="BORDER-BOTTOM: #000080 1px solid; BORDER-LEFT: #000080 1px solid; FONT-FAMILY: 'Courier New', Courier, Monospace; COLOR: #000; FONT-SIZE: 10pt; BORDER-TOP: #000080 1px solid; BORDER-RIGHT: #000080 1px solid"&gt;
&lt;DIV style="PADDING-BOTTOM: 2px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: Verdana, Tahoma, Arial, sans-serif; BACKGROUND: #000080; COLOR: #fff; FONT-WEIGHT: bold; PADDING-TOP: 2px"&gt;Code Snippet&lt;/DIV&gt;
&lt;DIV style="BACKGROUND: #ddd; MAX-HEIGHT: 300px; OVERFLOW: auto"&gt;
&lt;OL style="PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 2.5em; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; BACKGROUND: #ffffff; PADDING-TOP: 0px"&gt;
&lt;LI&gt;&lt;SPAN style="COLOR: #0000ff"&gt;private&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;void&lt;/SPAN&gt; PlayButton_Loaded(&lt;SPAN style="COLOR: #0000ff"&gt;object&lt;/SPAN&gt; sender, &lt;SPAN style="COLOR: #2b91af"&gt;RoutedEventArgs&lt;/SPAN&gt; e)&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;{&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #008000"&gt;//We need to prepopulate the value of Play/Pause button content, we need to check AutoPlay&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #0000ff"&gt;switch&lt;/SPAN&gt; (SmoothPlayer.AutoPlay)&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #0000ff"&gt;case&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;false&lt;/SPAN&gt;:&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PlayButton.Content = &lt;SPAN style="COLOR: #a31515"&gt;"Play"&lt;/SPAN&gt;;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #0000ff"&gt;break&lt;/SPAN&gt;;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #0000ff"&gt;case&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;true&lt;/SPAN&gt;:&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PlayButton.Content = &lt;SPAN style="COLOR: #a31515"&gt;"Pause"&lt;/SPAN&gt;;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #0000ff"&gt;break&lt;/SPAN&gt;;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/LI&gt;
&lt;LI&gt;}&lt;/LI&gt;&lt;/OL&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;PlayButton_Click&lt;/H4&gt;
&lt;DIV style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px" id=scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:e149f53b-7795-4d13-8238-c12023689498 class=wlWriterEditableSmartContent&gt;
&lt;DIV style="BORDER-BOTTOM: #000080 1px solid; BORDER-LEFT: #000080 1px solid; FONT-FAMILY: 'Courier New', Courier, Monospace; COLOR: #000; FONT-SIZE: 10pt; BORDER-TOP: #000080 1px solid; BORDER-RIGHT: #000080 1px solid"&gt;
&lt;DIV style="PADDING-BOTTOM: 2px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: Verdana, Tahoma, Arial, sans-serif; BACKGROUND: #000080; COLOR: #fff; FONT-WEIGHT: bold; PADDING-TOP: 2px"&gt;Code Snippet&lt;/DIV&gt;
&lt;DIV style="BACKGROUND: #ddd; MAX-HEIGHT: 300px; OVERFLOW: auto"&gt;
&lt;OL style="PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 2.5em; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; BACKGROUND: #ffffff; PADDING-TOP: 0px"&gt;
&lt;LI&gt;&lt;SPAN style="COLOR: #0000ff"&gt;private&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;void&lt;/SPAN&gt; PlayButton_Click(&lt;SPAN style="COLOR: #0000ff"&gt;object&lt;/SPAN&gt; sender, &lt;SPAN style="COLOR: #2b91af"&gt;RoutedEventArgs&lt;/SPAN&gt; e)&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;{&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #008000"&gt;//Monitor the state of the content to determine the right action to take on this button being clicked&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #008000"&gt;//and then change the text to reflect the next action&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #0000ff"&gt;switch&lt;/SPAN&gt; (SmoothPlayer.CurrentState)&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #0000ff"&gt;case&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;MediaElementState&lt;/SPAN&gt;.Playing:&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SmoothPlayer.Pause();&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PlayButton.Content = &lt;SPAN style="COLOR: #a31515"&gt;"Play"&lt;/SPAN&gt;;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #0000ff"&gt;break&lt;/SPAN&gt;;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #0000ff"&gt;case&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;MediaElementState&lt;/SPAN&gt;.Stopped:&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #0000ff"&gt;case&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;MediaElementState&lt;/SPAN&gt;.Paused:&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SmoothPlayer.Play();&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PlayButton.Content = &lt;SPAN style="COLOR: #a31515"&gt;"Pause"&lt;/SPAN&gt;;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #0000ff"&gt;break&lt;/SPAN&gt;;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/LI&gt;
&lt;LI&gt;}&lt;/LI&gt;&lt;/OL&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;StopButton_Click&lt;/H4&gt;
&lt;DIV style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px" id=scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:ad3c874b-765f-4850-814d-336f2eb36ec7 class=wlWriterEditableSmartContent&gt;
&lt;DIV style="BORDER-BOTTOM: #000080 1px solid; BORDER-LEFT: #000080 1px solid; FONT-FAMILY: 'Courier New', Courier, Monospace; COLOR: #000; FONT-SIZE: 10pt; BORDER-TOP: #000080 1px solid; BORDER-RIGHT: #000080 1px solid"&gt;
&lt;DIV style="PADDING-BOTTOM: 2px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: Verdana, Tahoma, Arial, sans-serif; BACKGROUND: #000080; COLOR: #fff; FONT-WEIGHT: bold; PADDING-TOP: 2px"&gt;Code Snippet&lt;/DIV&gt;
&lt;DIV style="BACKGROUND: #ddd; MAX-HEIGHT: 300px; OVERFLOW: auto"&gt;
&lt;OL style="PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 2em; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; BACKGROUND: #ffffff; PADDING-TOP: 0px"&gt;
&lt;LI&gt;&lt;SPAN style="COLOR: #0000ff"&gt;private&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;void&lt;/SPAN&gt; StopButton_Click(&lt;SPAN style="COLOR: #0000ff"&gt;object&lt;/SPAN&gt; sender, &lt;SPAN style="COLOR: #2b91af"&gt;RoutedEventArgs&lt;/SPAN&gt; e)&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;{&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #008000"&gt;//This should simply stop the playback&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SmoothPlayer.Stop();&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #008000"&gt;//We should also reflect the chang on the play button&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PlayButton.Content = &lt;SPAN style="COLOR: #a31515"&gt;"Play"&lt;/SPAN&gt;;&lt;/LI&gt;
&lt;LI&gt;}&lt;/LI&gt;&lt;/OL&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;H2&gt;Summary&lt;/H2&gt;
&lt;P&gt;In this post, we looked at creating a basic player with common controls for playback of Smooth Streaming Content. Let me know if you have issues or need further help. In subsequent posts I would be diving into adding more features into this player.&lt;/P&gt;
&lt;P&gt;The project sample for this example is availble here(&lt;A href="http://blogs.iis.net/blogs/vsood/SimplePlayer.zip"&gt;SimplePlayer.zip&lt;/A&gt;).&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Note&lt;/STRONG&gt;: These are just samples meant for educational purposes and there is no guarantee conferred on the quality of code &lt;/P&gt;&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=3458819" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/iis/ibUK/~4/3J29ZyhXDrM" height="1" width="1"/&gt;</description><category domain="http://blogs.iis.net/vsood/archive/tags/Smooth+Streaming/default.aspx">Smooth Streaming</category><category domain="http://blogs.iis.net/vsood/archive/tags/Smooth+Streaming+Player+Development+Kit/default.aspx">Smooth Streaming Player Development Kit</category><category domain="http://blogs.iis.net/vsood/archive/tags/SSME/default.aspx">SSME</category><feedburner:origLink>http://blogs.iis.net/vsood/archive/2009/10/14/building-your-first-smooth-streaming-player.aspx</feedburner:origLink></item><item><title>IIS Advanced Logging 1.0 Released</title><link>http://feedproxy.google.com/~r/iis/ibUK/~3/eF7KeVuYUgE/iis-advanced-logging-1-0-released.aspx</link><pubDate>Mon, 12 Oct 2009 21:11:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:3454631</guid><dc:creator>vsood</dc:creator><slash:comments>3</slash:comments><wfw:commentRss>http://blogs.iis.net/vsood/rsscomments.aspx?PostID=3454631</wfw:commentRss><comments>http://blogs.iis.net/vsood/archive/2009/10/12/iis-advanced-logging-1-0-released.aspx#comments</comments><description>&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;We proudly announce the&amp;nbsp;release of IIS Advanced Logging 1.0.&amp;nbsp; &lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal mce_keep="true"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;IIS Advanced Logging 1.0&amp;nbsp;includes the following features:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;B&gt;Client-side logging&lt;/B&gt;. Advanced Logging builds capabilities into IIS to accept client-side consumption metrics. This provides relevant and important user engagement metrics that your customers will love. &lt;/FONT&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;B&gt;Centralized logging&lt;/B&gt;. Advanced Logging provides capabilities to set up a central log farm that collects and logs client-side metrics. This reduces the effort required to collect distributed logs, and consolidated log collection results in more efficient post-processing.&lt;/FONT&gt;&lt;/FONT&gt; I wanted to clarify that this is not for all logging. &lt;STRONG&gt;Note&lt;/STRONG&gt;: This is for client-side logging.&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;B&gt;Multiple Logs per request&lt;/B&gt;. Advanced Logging provides capabilities to filter information relevant to specific purposes by creating multiple logs per request, with each log containing data relevant to the log's purpose. For example, Quality of Service (QoS) data in one log and Analytics data in another. All the post-processing required to distill the information using today's solutions is no longer needed. &lt;/FONT&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;B&gt;Real-time logging&lt;/B&gt;. Advanced Logging can extend the platform to support real-time analytics, helping you to provide real-time reports to customers or work with partners to do the same.&lt;/FONT&gt;&lt;/FONT&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;B&gt;Rich/Flexible logging&lt;/B&gt;. Advanced Logging does not assume what is important to you. Instead, it provides enough control to specify what fields are important to you, add additional fields with ease, and provide policies around log rollover and request filtering. These capabilities do not exist today. Now you can log any of the HTTP request/response headers, IIS server variables, and client-side fields with simple configuration through the management console.&lt;/FONT&gt;&lt;/FONT&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;B&gt;Application Logging&lt;/B&gt;. Making use of the IIS configuration system, Advanced Logging provides capabilities to generate separate logs for sites, applications and so on.&lt;/FONT&gt;&lt;/FONT&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;STRONG&gt;Module Specific Log fields&lt;/STRONG&gt;. If you are developing modules for IIS, you can specify custom fields that can be collected in logs.&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp; &lt;/LI&gt;
&lt;LI&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;STRONG&gt;Log Filtering&lt;/STRONG&gt;. Logging now has the ability to filter requests to be logged based on the values in the log fields &lt;/FONT&gt;&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;
&lt;P mce_keep="true"&gt;You can learn more about the feature by reading the walkthroughs:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://learn.iis.net/page.aspx/579/advanced-logging-for-iis-70---custom-logging/" target=_blank mce_href=" http://learn.iis.net/page.aspx/579/advanced-logging-for-iis-70---custom-logging/"&gt;Getting started with Advanced Logging&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;A title="Real Time Logging" href="http://learn.iis.net/page.aspx/581/advanced-logging-for-iis-70---real-time-logging" mce_href="http://learn.iis.net/page.aspx/581/advanced-logging-for-iis-70---real-time-logging"&gt;Real-Time Logging&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://learn.iis.net/page.aspx/582/advanced-logging-for-iis-70---client-logging/" target=_blank mce_href="http://learn.iis.net/page.aspx/582/advanced-logging-for-iis-70---client-logging/"&gt;Client Logging&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;Learn more about the feature on - &lt;A href="http://www.iis.net/extensions/AdvancedLogging"&gt;http://www.iis.net/extensions/AdvancedLogging&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;&lt;/UL&gt;
&lt;P mce_keep="true"&gt;We eagerly await your feedback and comments on the &lt;A href="http://forums.iis.net/t/1161699.aspx" target=_blank mce_href="http://forums.iis.net/t/1161699.aspx"&gt;Advanced Logging Discussion Forum&lt;/A&gt;.&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=3454631" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/iis/ibUK/~4/eF7KeVuYUgE" height="1" width="1"/&gt;</description><category domain="http://blogs.iis.net/vsood/archive/tags/IIS+Advanced+Logging/default.aspx">IIS Advanced Logging</category><feedburner:origLink>http://blogs.iis.net/vsood/archive/2009/10/12/iis-advanced-logging-1-0-released.aspx</feedburner:origLink></item><item><title>IIS Smooth Streaming Player Development Kit 1.0 – Beta 1 Released</title><link>http://feedproxy.google.com/~r/iis/ibUK/~3/2X3d98mFawU/iis-smooth-streaming-player-development-kit-1-0-beta-1-released.aspx</link><pubDate>Fri, 09 Oct 2009 19:08:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:3450755</guid><dc:creator>vsood</dc:creator><slash:comments>8</slash:comments><wfw:commentRss>http://blogs.iis.net/vsood/rsscomments.aspx?PostID=3450755</wfw:commentRss><comments>http://blogs.iis.net/vsood/archive/2009/10/09/iis-smooth-streaming-player-development-kit-1-0-beta-1-released.aspx#comments</comments><description>&lt;P&gt;Today, we released IIS Media Services 3.0 that supports both On Demand, Live Smooth Streaming and IIS Advanced Logging. Please refer to the announcement&amp;nbsp; of this release in&amp;nbsp; Chris Knowlton’s &lt;A href="http://blogs.iis.net/chriskno/archive/2009/10/12/iis-media-services-3-0-including-iis-live-smooth-streaming-has-been-released.aspx" target=_blank mce_href="http://blogs.iis.net/chriskno/archive/2009/10/12/iis-media-services-3-0-including-iis-live-smooth-streaming-has-been-released.aspx"&gt;blog post&lt;/A&gt; for details. As a part of this release, we are very both excited and pleased to announce and release a &lt;STRONG&gt;Beta&lt;/STRONG&gt; of &lt;STRONG&gt;IIS Smooth Streaming Player Development Kit 1.0&lt;/STRONG&gt;. This is intended to aid the development of rich Smooth Streaming players and experiences. This Kit allows you to build players for both On Demand and Live playback with full DVR capabilities, Live Ad Insertion, Multiple Camera Angles and many more such rich functionalities. This Kit is available for download here – &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=2b1ce605-3b99-49ad-8a26-1250f2acbbf6&amp;amp;displaylang=en" target=_blank mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=2b1ce605-3b99-49ad-8a26-1250f2acbbf6&amp;amp;displaylang=en"&gt;Download IIS Smooth Streaming Player Development Kit 1.0 – Beta 1&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;The kit includes:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;B&gt;Smooth Streaming Player SDK&lt;/B&gt; – This enables developers and designers to build rich Smooth Streaming player experiences. We are providing a .net (Silverlight) based SDK with full XAML support. The core part of this infrastructure is Smooth Streaming Media Element that is similar to Silverlight Media Element if you are already familiar with Silverlight development platform. There is initial documentation of the APIs are available on &lt;A href="http://msdn.microsoft.com/en-us/library/microsoft.web.media.smoothstreaming.aspx" mce_href="http://msdn.microsoft.com/en-us/library/microsoft.web.media.smoothstreaming.aspx"&gt;MSDN&lt;/A&gt;. &lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;Push Encoder&lt;/B&gt; – This tool allows you to simulate a live stream for testing purposes. &lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;Sample Smooth Streaming Player&lt;/B&gt; (built on Smooth Streaming Player SDK) – This is a sample that uses Smooth Streaming Player SDK and enables you to test the IIS Media Services 3.0. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;More instructions on using the Sample player and Push Encoder to test Live Smooth Streaming in your environment are available in the walkthrough &lt;A href="http://learn.iis.net/page.aspx/620/live-smooth-streaming-for-iis-70---getting-started/" mce_href="http://learn.iis.net/page.aspx/620/live-smooth-streaming-for-iis-70---getting-started/"&gt;here&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;As I mentioned earlier, the Smooth Streaming Media Element (SSME) APIs provide an easy interface for developers and designers to create rich Smooth Streaming experiences using the Silverlight platform. These APIs provide support for simple operations like Play, Pause and Stop and also more complex ones like scheduling Ads, selecting and tracking bit-rates for Smooth Streaming playback and many more. Please stay tuned on this blog for samples on how to use these APIs to build experiences. I will start with basic playback and progress on to building richer player applications. &lt;/P&gt;
&lt;P&gt;In the meantime here is a high level overview of features that SSME supports today:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Basic Playback controls 
&lt;UL&gt;
&lt;LI&gt;APIs like Play, Pause, Stop, etc. &lt;/LI&gt;
&lt;LI&gt;Events for Playback and Diagnostics &lt;/LI&gt;
&lt;LI&gt;Properties to track position, etc. &lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;Advanced Playback support 
&lt;UL&gt;
&lt;LI&gt;DVR support for Live Smooth Streaming &lt;/LI&gt;
&lt;LI&gt;Trick Play: Slow Motion &lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;Monetization 
&lt;UL&gt;
&lt;LI&gt;Ad Playback integration – scheduling capabilities, tracking Ad progress &lt;/LI&gt;
&lt;LI&gt;Live Ad Insertion w/ Live Smooth Streaming &lt;/LI&gt;
&lt;LI&gt;Rich Analytics w/ IIS Advanced Logging &lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;Content Protection – PlayReady integration &lt;/LI&gt;
&lt;LI&gt;XAML support for designers &lt;/LI&gt;
&lt;LI&gt;Selecting Tracks for playback (e.g., restrict the bit-rates available, support multiple camera angles in a single stream, etc.) &lt;/LI&gt;
&lt;LI&gt;Support for progressive download Ads/content &lt;/LI&gt;
&lt;LI&gt;Almost all of the Silverlight Media Element APIs are available for Smooth Streaming w/ SSME &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Resources&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=2b1ce605-3b99-49ad-8a26-1250f2acbbf6&amp;amp;displaylang=en" target=_blank mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=2b1ce605-3b99-49ad-8a26-1250f2acbbf6&amp;amp;displaylang=en"&gt;Download IIS Smooth Streaming Player Development Kit 1.0 – Beta 1&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/microsoft.web.media.smoothstreaming.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/microsoft.web.media.smoothstreaming.aspx"&gt;API documentation&lt;/A&gt; for Smooth Streaming Player SDK&lt;/LI&gt;
&lt;LI&gt;More Information on &lt;A href="http://www.iis.net/extensions/SmoothStreaming" target=_blank mce_href="http://www.iis.net/extensions/SmoothStreaming"&gt;Smooth Streaming&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;More Information on &lt;A href="http://www.iis.net/extensions/LiveSmoothStreaming" target=_blank mce_href="http://www.iis.net/extensions/LiveSmoothStreaming"&gt;Live Smooth Streaming&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Hope you have fun using this SDK, the same way we did developing it. &lt;/P&gt;
&lt;P&gt;Happy Smooth Streaming.&lt;/P&gt;&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=3450755" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/iis/ibUK/~4/2X3d98mFawU" height="1" width="1"/&gt;</description><category domain="http://blogs.iis.net/vsood/archive/tags/Smooth+Streaming/default.aspx">Smooth Streaming</category><category domain="http://blogs.iis.net/vsood/archive/tags/Smooth+Streaming+Media+Element/default.aspx">Smooth Streaming Media Element</category><category domain="http://blogs.iis.net/vsood/archive/tags/Smooth+Streaming+Player+Development+Kit/default.aspx">Smooth Streaming Player Development Kit</category><feedburner:origLink>http://blogs.iis.net/vsood/archive/2009/10/09/iis-smooth-streaming-player-development-kit-1-0-beta-1-released.aspx</feedburner:origLink></item><item><title>Video: TechEd NA 2009 - Advanced Video Delivery with IIS</title><link>http://feedproxy.google.com/~r/iis/ibUK/~3/nFj5J6RQltg/video-teched-na-2009-advanced-video-delivery-with-iis.aspx</link><pubDate>Sat, 16 May 2009 20:11:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:3167325</guid><dc:creator>vsood</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://blogs.iis.net/vsood/rsscomments.aspx?PostID=3167325</wfw:commentRss><comments>http://blogs.iis.net/vsood/archive/2009/05/16/video-teched-na-2009-advanced-video-delivery-with-iis.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Earlier this week I gave a TechEd session on IIS Media Services - Smooth Streaming, Advanced Logging and the IIS Media Services Ecosystem overall. Thanks to everyone who made it to this talk. It was really nice to have&amp;nbsp;you there and your interest in technology was immense.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Here is the recorded session delivered with Smooth Streaming in case you were not able to make it to the talk.&lt;/P&gt;
&lt;P mce_keep="true"&gt;

				        &lt;!--##blog-video-start##--&gt;&lt;!--##blog-video-params:width=500|height=384|isAdaptive=True|title=Advanced Media Delivery with IIS|url=http://mediadl.microsoft.com/mediadl/iisnet/SmoothMedia/TechEdNA09/WSV301/WSV301.ism/Manifest##--&gt;

					        &lt;object id="SilverlightMediaPlayer" style="width:500px;height:384px;" width="500" height="384" autoupdate="true" type="application/x-silverlight-2"&gt;
						        &lt;param name="MinRuntimeVersion" value="2.0.31005.0" /&gt; 
						        &lt;param name="Source" value="/clientbin/AdaptiveStreaming.xap" /&gt; 
						        &lt;param name="windowless" value="false" /&gt;
						        &lt;param name="InitParams" value='fakemode=,background=#FF000000,autoplay=False,muted=False,stretchmode=0,playlist=&lt;playList&gt;&lt;playListItems&gt;&lt;playListItem title="Advanced Media Delivery with IIS" description="" mediaSource="http://mediadl.microsoft.com/mediadl/iisnet/SmoothMedia/TechEdNA09/WSV301/WSV301.ism/Manifest" adaptiveStreaming="True" thumbSource=""&gt;&lt;/playListItem&gt;&lt;/playListItems&gt;&lt;/playList&gt;' /&gt; 
								&lt;a style="text-decoration: none;" href="http://blogs.iis.net/vsood/archive/2009/05/16/video-teched-na-2009-advanced-video-delivery-with-iis.aspx"&gt;
									&lt;img style="border-width:0px" alt="Click to see video" src="http://blogs.iis.net/Themes/IIS/images/content/IIS-Video-Link-for-RSS.png" /&gt; 
								&lt;/a&gt;
							&lt;/object&gt;
                            
				        &lt;!--##blog-video-end##--&gt;

			         &lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=3167325" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/iis/ibUK/~4/nFj5J6RQltg" height="1" width="1"/&gt;</description><category domain="http://blogs.iis.net/vsood/archive/tags/IIS+Media+Services/default.aspx">IIS Media Services</category><category domain="http://blogs.iis.net/vsood/archive/tags/Smooth+Streaming/default.aspx">Smooth Streaming</category><feedburner:origLink>http://blogs.iis.net/vsood/archive/2009/05/16/video-teched-na-2009-advanced-video-delivery-with-iis.aspx</feedburner:origLink></item><item><title>Advanced Logging – How does Real-time logging work?</title><link>http://feedproxy.google.com/~r/iis/ibUK/~3/i5vKerMWnNo/advanced-logging-how-does-real-time-logging-work.aspx</link><pubDate>Fri, 20 Mar 2009 17:41:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:3024684</guid><dc:creator>vsood</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://blogs.iis.net/vsood/rsscomments.aspx?PostID=3024684</wfw:commentRss><comments>http://blogs.iis.net/vsood/archive/2009/03/20/advanced-logging-how-does-real-time-logging-work.aspx#comments</comments><description>&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;
&lt;P&gt;We &lt;A href="http://blogs.iis.net/vsood/archive/2009/03/18/iis-advanced-logging-is-now-live.aspx" mce_href="http://blogs.iis.net/vsood/archive/2009/03/18/iis-advanced-logging-is-now-live.aspx"&gt;announced and release a Beta&lt;/A&gt; for a sparkling new Logging module for IIS at MIX 09. This is a super rich logging module with a lot of functionality that our team will continue to blog about. Today, I wanted to share more technical details on how my favorite feature, real-time logging work in Advanced Logging.&lt;/P&gt;
&lt;P&gt;Before we go into details, you may want to take a short pause and read some overview material in my &lt;A href="http://blogs.iis.net/vsood/archive/2009/03/18/iis-advanced-logging-is-now-live.aspx" mce_href="http://blogs.iis.net/vsood/archive/2009/03/18/iis-advanced-logging-is-now-live.aspx"&gt;blog post&lt;/A&gt;, &lt;A href="http://www.iis.net/extensions/advancedLogging" mce_href="http://www.iis.net/extensions/advancedLogging"&gt;extension page&lt;/A&gt; for Advanced Logging or go over the &lt;A href="http://learn.iis.net/page.aspx/579/advanced-logging-for-iis-70---custom-logging" mce_href="http://learn.iis.net/page.aspx/579/advanced-logging-for-iis-70---custom-logging"&gt;custom logging walkthrough&lt;/A&gt;. Okay, I will now assume you are somewhat familiar with this module.&lt;/P&gt;
&lt;P&gt;Next, let us take a scenario - You have a SL or any HTTP client that collects analytic information that you want to be able to send to IIS web server and get that captured in a log file. Let’s add a little twist, while you want this you also want to be able to write custom code that can consume this log information in real time and enable you to do some real time reporting. The reason you want to do that is just to provide a report on real-time interactions by clients or simply monitor your network in real-time.&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;Here is how IIS Advanced Logging helps&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;A href="http://blogs.iis.net/blogs/vsood/image_2A6CF09B.png" mce_href="http://blogs.iis.net/blogs/vsood/image_2A6CF09B.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.iis.net/blogs/vsood/image_thumb_32546D30.png" width=637 height=442 mce_src="http://blogs.iis.net/blogs/vsood/image_thumb_32546D30.png"&gt;&lt;/A&gt; 
&lt;P&gt;Let us go over this architecture, step-by-step:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;The clients on the left hand side (could be Silverlight application, native Silverlight runtime, could be ASP.net or anything really), sends a HTTP POST message with the log in the body. It is a simple XML format and you can find details in the walkthrough &lt;A href="http://learn.iis.net/page.aspx/581/advanced-logging-for-iis-70---real-time-logging" mce_href="http://learn.iis.net/page.aspx/581/advanced-logging-for-iis-70---real-time-logging"&gt;Real-time Logging&lt;/A&gt;. &lt;/LI&gt;
&lt;LI&gt;This message lands on an IIS server that has Advanced Logging (AL) installed. The client logging functionality in AL parses this message and raises an internal event. &lt;/LI&gt;
&lt;LI&gt;The core server-side logging functionality gets this event and then looks up the log configuration to compose a log entry and writes it to the file. (Note: you would need to have relevant configuration so that AL knows what fields to expect. You can find an example in the &lt;A href="http://learn.iis.net/page.aspx/582/advanced-logging-for-iis-70---client-logging" mce_href="http://learn.iis.net/page.aspx/582/advanced-logging-for-iis-70---client-logging"&gt;Client logging walkthrough&lt;/A&gt;.&lt;/LI&gt;
&lt;LI&gt;In addition, just before an entry is written to the log file, server-side logging raises another event using public APIs (IIS HTTP_TRACE_EVENT infrastructure) that can be consumed by a simple module written by YOU. Believe me, it is a simple module. You can find details and sample code in the walkthrough &lt;A href="http://learn.iis.net/page.aspx/581/advanced-logging-for-iis-70---real-time-logging" mce_href="http://learn.iis.net/page.aspx/581/advanced-logging-for-iis-70---real-time-logging"&gt;Real-time Logging&lt;/A&gt;. &lt;/LI&gt;
&lt;LI&gt;Now, your module can take this information push it to a service in the cloud, a DB and produce reports in real-time. &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;Let me know if you need more details. The best to learn more is to try it out :).&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=3024684" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/iis/ibUK/~4/i5vKerMWnNo" height="1" width="1"/&gt;</description><category domain="http://blogs.iis.net/vsood/archive/tags/Media/default.aspx">Media</category><category domain="http://blogs.iis.net/vsood/archive/tags/Advanced+Logging/default.aspx">Advanced Logging</category><category domain="http://blogs.iis.net/vsood/archive/tags/Logging/default.aspx">Logging</category><category domain="http://blogs.iis.net/vsood/archive/tags/Real-time+Logging/default.aspx">Real-time Logging</category><feedburner:origLink>http://blogs.iis.net/vsood/archive/2009/03/20/advanced-logging-how-does-real-time-logging-work.aspx</feedburner:origLink></item><item><title>IIS Advanced Logging Beta is now Live</title><link>http://feedproxy.google.com/~r/iis/ibUK/~3/jUqdA8WpgKM/iis-advanced-logging-is-now-live.aspx</link><pubDate>Wed, 18 Mar 2009 19:29:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:3017616</guid><dc:creator>vsood</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://blogs.iis.net/vsood/rsscomments.aspx?PostID=3017616</wfw:commentRss><comments>http://blogs.iis.net/vsood/archive/2009/03/18/iis-advanced-logging-is-now-live.aspx#comments</comments><description>&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;We proudly announce the Beta of IIS Advanced Logging.&amp;nbsp; With Advanced Logging you will be able to capture rich details in your logs and process them in real-time. These capabilities make this feature really compelling by&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-fareast-font-family: calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: en-us; mso-fareast-language: en-us; mso-bidi-language: ar-sa"&gt; helping you monetize your content with better analytics and improve service with rich QOS information.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal mce_keep="true"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal mce_keep="true"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;IIS Advanced Logging includes the following features:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;B&gt;Client-side logging&lt;/B&gt;. Advanced Logging builds capabilities into IIS to accept client-side consumption metrics. This provides relevant and important user engagement metrics that your customers will love. &lt;/FONT&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;B&gt;Centralized logging&lt;/B&gt;. Advanced Logging provides capabilities to set up a central log farm that collects and logs client-side metrics. This reduces the effort required to collect distributed logs, and consolidated log collection results in more efficient post-processing.&lt;/FONT&gt;&lt;/FONT&gt; I wanted to clarify that this is not for all logging. &lt;STRONG&gt;Note&lt;/STRONG&gt;: This is for client-side logging.&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;B&gt;Multiple Logs per request&lt;/B&gt;. Advanced Logging provides capabilities to filter information relevant to specific purposes by creating multiple logs per request, with each log containing data relevant to the log's purpose. For example, Quality of Service (QoS) data in one log and Analytics data in another. All the post-processing required to distill the information using today's solutions is no longer needed. &lt;/FONT&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;B&gt;Real-time logging&lt;/B&gt;. Advanced Logging can extend the platform to support real-time analytics, helping you to provide real-time reports to customers or work with partners to do the same.&lt;/FONT&gt;&lt;/FONT&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;B&gt;Rich/Flexible logging&lt;/B&gt;. Advanced Logging does not assume what is important to you. Instead, it provides enough control to specify what fields are important to you, add additional fields with ease, and provide policies around log rollover and request filtering. These capabilities do not exist today. Now you can log any of the HTTP request/response headers, IIS server variables, and client-side fields with simple configuration through the management console.&lt;/FONT&gt;&lt;/FONT&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;B&gt;Application Logging&lt;/B&gt;. Making use of the IIS configuration system, Advanced Logging provides capabilities to generate separate logs for sites, applications and so on.&lt;/FONT&gt;&lt;/FONT&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;STRONG&gt;Module Specific Log fields&lt;/STRONG&gt;. If you are developing modules for IIS, you can specify custom fields that can be collected in logs.&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp; &lt;/LI&gt;&lt;/UL&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;
&lt;P mce_keep="true"&gt;You can learn more about the feature by reading the walkthroughs:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://learn.iis.net/page.aspx/579/advanced-logging-for-iis-70---custom-logging/" target=_blank mce_href=" http://learn.iis.net/page.aspx/579/advanced-logging-for-iis-70---custom-logging/"&gt;Getting started with Advanced Logging&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;A title="Real Time Logging" href="http://learn.iis.net/page.aspx/581/advanced-logging-for-iis-70---real-time-logging" mce_href="http://learn.iis.net/page.aspx/581/advanced-logging-for-iis-70---real-time-logging"&gt;Real-Time Logging&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://learn.iis.net/page.aspx/582/advanced-logging-for-iis-70---client-logging/" target=_blank mce_href="http://learn.iis.net/page.aspx/582/advanced-logging-for-iis-70---client-logging/"&gt;Client Logging&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;Learn more about the feature on - &lt;A href="http://www.iis.net/extensions/AdvancedLogging"&gt;http://www.iis.net/extensions/AdvancedLogging&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;&lt;/UL&gt;
&lt;P mce_keep="true"&gt;We eagerly await your feedback and comments on the &lt;A href="http://forums.iis.net/1160.aspx" target=_blank mce_href="http://forums.iis.net/1160.aspx"&gt;Advanced Logging Discussion Forum&lt;/A&gt;.&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=3017616" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/iis/ibUK/~4/jUqdA8WpgKM" height="1" width="1"/&gt;</description><category domain="http://blogs.iis.net/vsood/archive/tags/Media/default.aspx">Media</category><category domain="http://blogs.iis.net/vsood/archive/tags/IIS+News+Item/default.aspx">IIS News Item</category><category domain="http://blogs.iis.net/vsood/archive/tags/Advanced+Logging/default.aspx">Advanced Logging</category><feedburner:origLink>http://blogs.iis.net/vsood/archive/2009/03/18/iis-advanced-logging-is-now-live.aspx</feedburner:origLink></item><item><title>The world of Syndication: Atom 1.0 vs. RSS 2.0?</title><link>http://feedproxy.google.com/~r/iis/ibUK/~3/Xu_X8REAF8w/the-world-of-syndication-atom-1-0-vs-rss-2-0.aspx</link><pubDate>Mon, 06 Oct 2008 00:39:57 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:2664130</guid><dc:creator>vsood</dc:creator><slash:comments>4</slash:comments><wfw:commentRss>http://blogs.iis.net/vsood/rsscomments.aspx?PostID=2664130</wfw:commentRss><comments>http://blogs.iis.net/vsood/archive/2008/10/06/the-world-of-syndication-atom-1-0-vs-rss-2-0.aspx#comments</comments><description>&lt;strike&gt;&lt;/strike&gt;  &lt;p&gt;&lt;a href="http://www.vishalsood.com/badges/rss.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Newspaper_Feed_64x64" border="0" alt="Newspaper_Feed_64x64" src="http://blogs.iis.net/blogs/vsood/Newspaper_Feed_64x64_thumb_71A294C8.png" width="68" height="68" /&gt;&lt;/a&gt; Syndication has become and inseparable part of the internet. There are two major syndication formats that exist today – RSS 2.0 (Really Simple Syndication) and Atom 1.0 (Atom Syndication Format). While they achieve the same end result, there are differences. This post attempts to enable you to decide which is more suited to your publishing.&lt;/p&gt;  &lt;p&gt;RSS 2.0 is a frozen specification copyrighted by &lt;a target="_blank" href="http://cyber.law.harvard.edu/rss/rss.html"&gt;Harvard&lt;/a&gt; and Atom 1.0 is a specified in &lt;a target="_blank" href="http://www.ietf.org/rfc/rfc4287.txt"&gt;RFC4287&lt;/a&gt;. Atom came about as a result of pursuit to fix shortcoming of RSS since RSS was a frozen format. The table below lists the differences in the two specifications/standards:&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="729"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="123"&gt;&amp;#160;&lt;/td&gt;        &lt;td valign="top" width="127"&gt;Atom 1.0&lt;/td&gt;        &lt;td valign="top" width="127"&gt;RSS 2.0&lt;/td&gt;        &lt;td valign="top" width="128"&gt;Who wins?&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="123"&gt;Content Model&lt;/td&gt;        &lt;td valign="top" width="127"&gt;Allows text, escaped HTML, well-formed XHTML, XML, base-64 encoded binary or pointer to web content outside the feed.&lt;/td&gt;        &lt;td valign="top" width="127"&gt;Text or Escaped HTML&lt;/td&gt;        &lt;td valign="top" width="128"&gt;This is a major advantage for Atom, writing escaped HTML affects the readability of RSS feeds&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="123"&gt;Partial Content&lt;/td&gt;        &lt;td valign="top" width="127"&gt;Has separate &lt;tt&gt;&amp;lt;summary&amp;gt;&lt;/tt&gt; or &lt;tt&gt;&amp;lt;content&amp;gt;&lt;/tt&gt; tags. &lt;/td&gt;        &lt;td valign="top" width="127"&gt;Has a &lt;tt&gt;&amp;lt;description&amp;gt;&lt;/tt&gt; field. This could contain complete content or just synopsis but has no way of identifying what it contains.&lt;/td&gt;        &lt;td valign="top" width="128"&gt;This is another win for Atom, helps you have a synopsis and complete view inside a feed reader&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="123"&gt;Auto Discovery&lt;/td&gt;        &lt;td valign="top" width="127"&gt;Uses the MIME Type&amp;#160; &lt;tt&gt;application/atom+xml&lt;/tt&gt; which is registered with IANA. In addition the feed has a self link to enable auto subscription in readers&lt;/td&gt;        &lt;td valign="top" width="127"&gt;The MIME Type &lt;tt&gt;application/rss+xml&lt;/tt&gt; is often used but not recognized by IANA&lt;/td&gt;        &lt;td valign="top" width="128"&gt;Having a registered MIME Type and auto subscription really helps discovery. Another Atom win.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="123"&gt;Format Flexibility&lt;/td&gt;        &lt;td valign="top" width="127"&gt;Atom syndication format allows entries linking to the feed or standalone entries&lt;/td&gt;        &lt;td valign="top" width="127"&gt;RSS only recognizes a &lt;tt&gt;&amp;lt;rss&amp;gt;&lt;/tt&gt; document.&lt;/td&gt;        &lt;td valign="top" width="128"&gt;This is also an Atom win, having standalone entries enables scenarios like linking to entries only.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="123"&gt;Extensibility&lt;/td&gt;        &lt;td valign="top" width="127"&gt;Atom defines a well-defined structure to extend the default namespace and has specific guidelines on readers should interpret these.&lt;/td&gt;        &lt;td valign="top" width="127"&gt;RSS has to fixed namespace, however you could include external XML namespaces.&lt;/td&gt;        &lt;td valign="top" width="128"&gt;Atom has a slight advantage here as external namespaces extensions in RSS are not easily discoverable. In Atom’s case these extensions have a corresponding namespace tag&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="123"&gt;Languages&lt;/td&gt;        &lt;td valign="top" width="127"&gt;Atom uses xml:lang for language specificity&lt;/td&gt;        &lt;td valign="top" width="127"&gt;RSS has a separate &lt;tt&gt;&amp;lt;language&amp;gt;&lt;/tt&gt; tag for language specificity&lt;/td&gt;        &lt;td valign="top" width="128"&gt;No one.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="123"&gt;Encryption&lt;/td&gt;        &lt;td valign="top" width="127"&gt;Atom allows the option to encrypt entries using &lt;a target="_blank" href="http://www.w3.org/TR/xmlenc-core/"&gt;XML Encryption&lt;/a&gt; or &lt;a target="_blank" href="http://www.w3.org/TR/xmldsig-core/"&gt;XML Digital Signature&lt;/a&gt;. In addition the feed could be encrypted entire feed using standard web encryption techniques&lt;/td&gt;        &lt;td valign="top" width="127"&gt;RSS only allows encrypting using standard web encryption techniques.&lt;/td&gt;        &lt;td valign="top" width="128"&gt;Atom has extra level of encryption possible.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="123"&gt;Adoption&lt;/td&gt;        &lt;td valign="top" width="127"&gt;Most sites that publish both RSS and Atom feeds.&lt;/td&gt;        &lt;td valign="top" width="127"&gt;Most sites that publish both RSS and Atom feeds.&lt;/td&gt;        &lt;td valign="top" width="128"&gt;RSS has an advantage of being the first mover, the term RSS has become synonymous with syndication.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="123"&gt;Modularity&lt;/td&gt;        &lt;td valign="top" width="127"&gt;All elements part of Atom’s namespace can be used outside Atom’s context due to way it was designed&lt;/td&gt;        &lt;td valign="top" width="127"&gt;RSS elements cannot be used outside the context of RSS&lt;/td&gt;        &lt;td valign="top" width="128"&gt;This has proved to be the one of the major factors of Atom’s popularity and its used in data interactions like those enabled by Google &lt;a target="_blank" href="http://en.wikipedia.org/wiki/GData"&gt;GData&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;As you might have realized that Atom has considerable benefits over RSS. More and more services online are using Atom as more than just a feed format. Google’s &lt;a target="_blank" href="http://en.wikipedia.org/wiki/GData"&gt;GData&lt;/a&gt; and Microsoft’s &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/bb906063.aspx"&gt;Project Astoria&lt;/a&gt; are great examples and testimonies of Atom 1.0’s strengths as a format. They extend its namespace and harness the capabilities of Atom Publishing Protocol to pass data between their services.&lt;/p&gt;  &lt;p&gt;While, I was writing, I realized that I was still publishing an RSS 2.0 feed for my blog (default supported by Drupal). I switched it to Atom 1.0. Have you? My recommendation to you would be switch to Atom as your base feed. Having said that, RSS is still very popular and consumed by many, it is good to retain your RSS feed too. Atom preserves most aspects of RSS so a simple transform (e,g, using XSLT) should be able to help you create and RSS feed from the Atom one.&lt;/p&gt;  &lt;p&gt;If you know more examples that demonstrate Atom / RSS’s strength please post your comments below. I would love to hear from you.&lt;/p&gt;  &lt;h3&gt;Additional Reading:&lt;/h3&gt;  &lt;ul&gt;   &lt;li&gt;While I was writing this post, I found &lt;a target="_blank" href="http://www.intertwingly.net/wiki/pie/Rss20AndAtom10Compared"&gt;RSS20AndAtom10Compared&lt;/a&gt; very useful &lt;/li&gt;    &lt;li&gt;Atom on &lt;a target="_blank" href="http://en.wikipedia.org/wiki/Atom_%28standard"&gt;Wikipedia&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;RSS on &lt;a target="_blank" href="http://en.wikipedia.org/wiki/RSS_(protocol)"&gt;Wikipedia&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a target="_blank" href="http://atompub.org/rfc4287.html"&gt;RFC 4287&lt;/a&gt; – Atom Syndication Format &lt;/li&gt;    &lt;li&gt;&lt;a target="_blank" href="http://tools.ietf.org/html/rfc5023"&gt;RFC 5023&lt;/a&gt; – Atom Publishing &lt;/li&gt; &lt;/ul&gt;&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=2664130" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/iis/ibUK/~4/Xu_X8REAF8w" height="1" width="1"/&gt;</description><category domain="http://blogs.iis.net/vsood/archive/tags/Atom/default.aspx">Atom</category><feedburner:origLink>http://blogs.iis.net/vsood/archive/2008/10/06/the-world-of-syndication-atom-1-0-vs-rss-2-0.aspx</feedburner:origLink></item><item><title>Web Playlists SMIL conversion tool</title><link>http://feedproxy.google.com/~r/iis/ibUK/~3/USEf36s4KDA/web-playlists-smil-conversion-tool.aspx</link><pubDate>Fri, 12 Sep 2008 16:38:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:2618457</guid><dc:creator>vsood</dc:creator><slash:comments>4</slash:comments><wfw:commentRss>http://blogs.iis.net/vsood/rsscomments.aspx?PostID=2618457</wfw:commentRss><comments>http://blogs.iis.net/vsood/archive/2008/09/12/web-playlists-smil-conversion-tool.aspx#comments</comments><description>&lt;p&gt;With the &lt;a href="http://blogs.iis.net/vsood/archive/2008/09/12/web-playlists-release-candidate-rc-released.aspx" target="_blank" mce_href="http://blogs.iis.net/vsood/archive/2008/09/12/web-playlists-release-candidate-rc-released.aspx"&gt;RC version of Web Playlists&lt;/a&gt;, we moved from a custom XML format to a SMIL-based format for storing playlists. As a result of this change the old isx format has been retired. However, Brian Blum (a dev) in our team crafted a tool to help convert the old files. The tool can be downloaded &lt;a href="http://go.microsoft.com/?linkid=9493382" target="_blank" mce_href="http://go.microsoft.com/?linkid=9493382"&gt;here&lt;/a&gt;. Thank you Brian!&lt;/p&gt;
  
&lt;p&gt;As both old and the new SMIL-based playlist formats are XML by nature, this tool uses a XSL to transform the old isx to the new SMIL-based isx format. Another reason for doing this is Brian wanted you to be able to do any minor changes if you so desire without needing to look into the code.&lt;/p&gt;
  
&lt;p&gt;The tool usage is simple and as follows:&lt;/p&gt;

&lt;p&gt;&lt;i&gt;isxTranslate.exe /? Coverts prerelease input files for IIS 7.0 Web Playlists to the release format.&lt;/i&gt;&lt;/p&gt;
    
&lt;p&gt;&lt;i&gt;Usage: isxTranslate /i PLAYLISTDIR /x XSLT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/i&gt;&lt;/p&gt;
    
&lt;blockquote&gt;
&lt;p&gt;&lt;i&gt;where PLAYLISTDIR is the path to your playlist files and&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/i&gt;&lt;/p&gt;
&lt;/blockquote&gt;
      
&lt;blockquote&gt;
&lt;p&gt;&lt;i&gt;XSLT is the xslt to use to convert the playlists. &lt;/i&gt;&lt;/p&gt;
&lt;/blockquote&gt;
    
&lt;p&gt;&lt;i&gt;Example: isxtranslate /i c:\inetweb\wwwroot\playlists /x c:\tools\isx.xsl&amp;nbsp; &lt;/i&gt;&lt;/p&gt;
&lt;b&gt;Note&lt;/b&gt;: This tool is just to help migrate old files and is not released as a part of Web Playlists RC download. As a result this tool is &lt;b&gt;not officially supported&lt;/b&gt;. We will be happy to answer any questions and would encourage you to use &lt;a href="http://forums.iis.net/1145.aspx" mce_href="http://forums.iis.net/1145.aspx"&gt;media forum&lt;/a&gt; for your questions.   
  
&lt;p&gt;&lt;b&gt;&lt;a href="http://go.microsoft.com/?linkid=9493382" target="_blank" mce_href="http://go.microsoft.com/?linkid=9493382"&gt;DOWNLOAD THE TOOL HERE&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=2618457" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/iis/ibUK/~4/USEf36s4KDA" height="1" width="1"/&gt;</description><category domain="http://blogs.iis.net/vsood/archive/tags/Media/default.aspx">Media</category><category domain="http://blogs.iis.net/vsood/archive/tags/Web+Playlists/default.aspx">Web Playlists</category><category domain="http://blogs.iis.net/vsood/archive/tags/IIS+Media+Pack/default.aspx">IIS Media Pack</category><feedburner:origLink>http://blogs.iis.net/vsood/archive/2008/09/12/web-playlists-smil-conversion-tool.aspx</feedburner:origLink></item><item><title>Web Playlists Release Candidate (RC) Released</title><link>http://feedproxy.google.com/~r/iis/ibUK/~3/VRZt8sjLpjM/web-playlists-release-candidate-rc-released.aspx</link><pubDate>Fri, 12 Sep 2008 16:08:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:2618411</guid><dc:creator>vsood</dc:creator><slash:comments>14</slash:comments><wfw:commentRss>http://blogs.iis.net/vsood/rsscomments.aspx?PostID=2618411</wfw:commentRss><comments>http://blogs.iis.net/vsood/archive/2008/09/12/web-playlists-release-candidate-rc-released.aspx#comments</comments><description>&lt;p&gt;I am pleased to announce that the Web Playlists Release Candidate (RC) release is ready for you to download and deploy.&lt;/p&gt;  &lt;p&gt;This release supports upgrade from the previous Go Live release. (&lt;b&gt;Note&lt;/b&gt;: It is recommended that if you have a release earlier than Go Live, you should uninstall the old build and then use the downloads below to do a fresh installation.)&lt;/p&gt;  &lt;p&gt;You can get the RC downloads here: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;32 bit - &lt;a href="http://go.microsoft.com/?linkid=9493384" target="_blank" mce_href="http://go.microsoft.com/?linkid=9493384"&gt;Download&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;64 bit - &lt;a href="http://go.microsoft.com/?linkid=9493385" target="_blank" mce_href="http://go.microsoft.com/?linkid=9493385"&gt;Download&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;SDK - &lt;a href="http://go.microsoft.com/?linkid=9493383" target="_blank" mce_href="http://go.microsoft.com/?linkid=9493383"&gt;Download&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Here is a list of walkthroughs published that will help you get going with this release:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://go.microsoft.com/?linkid=8388531" target="_blank" mce_href="http://go.microsoft.com/?linkid=8388531"&gt;Web Playlists for IIS 7.0 - Setup and Configuration&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://go.microsoft.com/?linkid=8388530" target="_blank" mce_href="http://go.microsoft.com/?linkid=8388530"&gt;Web Playlists for IIS 7.0 - Creating a Simple Playlist&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://go.microsoft.com/?linkid=8388532" target="_blank" mce_href="http://go.microsoft.com/?linkid=8388532"&gt;Web Playlists for IIS 7.0 – Using Playlist with different Media Players&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://go.microsoft.com/?linkid=8745726" target="_blank" mce_href="http://go.microsoft.com/?linkid=8745726"&gt;Web Playlists for IIS 7.0 – Extending Web Playlists through custom providers&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://go.microsoft.com/?linkid=9489149" target="_blank" mce_href="http://go.microsoft.com/?linkid=9489149"&gt;Web Playlists for IIS 7.0 – Extending Output Formats using XSLT&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Please refer to the &lt;a href="http://go.microsoft.com/?linkid=9493379" target="_blank" mce_href="http://go.microsoft.com/?linkid=9493379"&gt;online readme&lt;/a&gt; for more details. &lt;/p&gt;  &lt;p&gt;For general information on how Web Playlists work, please see this &lt;a href="http://blogs.iis.net/vsood/archive/2008/05/01/web-playlists-how-does-that-thing-work.aspx" mce_href="http://blogs.iis.net/vsood/archive/2008/05/01/web-playlists-how-does-that-thing-work.aspx"&gt;post&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;For us, this release was primarily about two things:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;A step towards embracing open standards - The playlist format now is SMIL-based and additionally you can output the playlist in any XML/text format. The &lt;a href="http://go.microsoft.com/?linkid=9489149" target="_blank" mce_href="http://go.microsoft.com/?linkid=9489149"&gt;walkthrough&lt;/a&gt; talks more about this feature and illustrates and example where you can use ATOM as an output format. &lt;/li&gt;    &lt;li&gt;Even more thorough testing - This is incremental release over our earlier Go Live release and our test team has tested it even more than previous release &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The three key new features in Web Playlists RC release are:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;Ability to customize output format&lt;/b&gt; - This release enables you to change the response to a Web Playlists request to a format understood by your app. This feature works by taking and XSL style-sheet from you and transforming the ASX response according to it. The &lt;a href="http://go.microsoft.com/?linkid=9489149" target="_blank" mce_href="http://go.microsoft.com/?linkid=9489149"&gt;walkthrough&lt;/a&gt; talks about this in more details. &lt;/li&gt;    &lt;li&gt;&lt;b&gt;Allow Client-side Caching&lt;/b&gt; - Earlier releases of Web Playlists disabled the client-side caching using http headers. We got customer requests suggesting that although this is a great security feature, they would like to control this so in this release we allow you just that. You can control, whether clients can cache content or not. &lt;/li&gt;    &lt;li&gt;&lt;b&gt;SMIL-based playlist format&lt;/b&gt; - Earlier releases used a custom XML. With this release, we are moving a step closer to open standards. We are now using a SMIL-based format. While, Web Playlists does not support the entire SMIL syntax, the sub-set supported is fully SMIL compliant. For those upgrading from previous builds, there is a &lt;a href="http://go.microsoft.com/fwlink/?LinkID=127838" target="_blank" mce_href="http://go.microsoft.com/fwlink/?LinkID=127838"&gt;tool available here&lt;/a&gt; to convert old isx files. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;We would like to hear what you feel about this release and would love to hear how you are using it. &lt;/p&gt;  &lt;p&gt;Got more questions or need support?: Please use &lt;a href="http://forums.iis.net/1145.aspx" mce_href="http://forums.iis.net/1145.aspx"&gt;media forum&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=2618411" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/iis/ibUK/~4/VRZt8sjLpjM" height="1" width="1"/&gt;</description><category domain="http://blogs.iis.net/vsood/archive/tags/Media/default.aspx">Media</category><category domain="http://blogs.iis.net/vsood/archive/tags/IIS+News+Item/default.aspx">IIS News Item</category><category domain="http://blogs.iis.net/vsood/archive/tags/Web+Playlists/default.aspx">Web Playlists</category><category domain="http://blogs.iis.net/vsood/archive/tags/IIS+Media+Pack/default.aspx">IIS Media Pack</category><feedburner:origLink>http://blogs.iis.net/vsood/archive/2008/09/12/web-playlists-release-candidate-rc-released.aspx</feedburner:origLink></item><item><title>Web Playlists - using SMIL as input format</title><link>http://feedproxy.google.com/~r/iis/ibUK/~3/nFv6KzLVBFU/web-playlists-using-smil-as-input-format.aspx</link><pubDate>Thu, 07 Aug 2008 16:40:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:2543822</guid><dc:creator>vsood</dc:creator><slash:comments>4</slash:comments><wfw:commentRss>http://blogs.iis.net/vsood/rsscomments.aspx?PostID=2543822</wfw:commentRss><comments>http://blogs.iis.net/vsood/archive/2008/08/07/web-playlists-using-smil-as-input-format.aspx#comments</comments><description>&lt;P&gt;In our strive to make it utmost convenient for our customers to use Web Playlists, we are considering another feature. In &lt;A href="http://blogs.iis.net/vsood/archive/2008/07/26/web-playlists-output-format.aspx" target=_blank mce_href="http://blogs.iis.net/vsood/archive/2008/07/26/web-playlists-output-format.aspx"&gt;my last post&lt;/A&gt; I discussed the option of being able to configure the output format for Web Playlists and use open standards like ATOM as possible output in addition to ASX today. We are actually thinking of allowing you to add a XSLT and then be able to configure the output format of your choice that way.&lt;/P&gt;
&lt;P&gt;Continuing on the same lines I wanted to explore the option of a standard input format this time. Today we use POX. While this works, it has the problems of not being understood by other media servers and honestly you have to learn a new format. The idea we have now is to use SMIL as an input format. Windows Media Services already understands the SMIL input for Server-side Playlists and so do many other media server platforms. For this release, we are exploring supporting only a sub-set of SMIL modules- SMIL Structure, Media Object (audio,video and ref) and Metainformation modules.&lt;/P&gt;
&lt;P&gt;Here is an example of the SMIL playlist would look like. We haven't closed on this yet and would love to hear any inputs you might have here (the example uses SMIL 2.1 but it would really work with SMIL 2.0 or SMIL 3.0 too)&lt;/P&gt;&lt;PRE class=code&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;!&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;DOCTYPE &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;smil &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;PUBLIC &lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;-//W3C//DTD SMIL 2.1//EN&lt;/SPAN&gt;"
                      "&lt;SPAN style="COLOR: blue"&gt;http://www.w3.org/2005/SMIL21/SMIL21.dtd&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;  
&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;smil &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;xmlns&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;http://www.w3.org/2005/SMIL21/Language&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;
  &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;head&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;
    &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;meta &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;title&lt;/SPAN&gt;" &lt;SPAN style="COLOR: red"&gt;content&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;Web Playlists Sample&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;/&amp;gt;    
    &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;meta &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;author&lt;/SPAN&gt;" &lt;SPAN style="COLOR: red"&gt;content&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;IIS.net&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;/&amp;gt;    
    &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;meta &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;copyright&lt;/SPAN&gt;" &lt;SPAN style="COLOR: red"&gt;content&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;(c)2008 Microsoft Corporation&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;/&amp;gt;
    &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;meta &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;timeToLive&lt;/SPAN&gt;" &lt;SPAN style="COLOR: red"&gt;content&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;1440&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;/&amp;gt;    
    &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;meta &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;inactivityTimeout&lt;/SPAN&gt;" &lt;SPAN style="COLOR: red"&gt;content&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;120&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;/&amp;gt;    
  &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;head&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;
  &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;body&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;
    &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;ref &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;src&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;a.wmv&lt;/SPAN&gt;" &lt;SPAN style="COLOR: blue"&gt;&amp;gt;
      &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;param &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;canSkipForward&lt;/SPAN&gt;" &lt;SPAN style="COLOR: red"&gt;value&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;true&lt;/SPAN&gt;" &lt;SPAN style="COLOR: blue"&gt;/&amp;gt;
      &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;param &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;canSkipBack&lt;/SPAN&gt;" &lt;SPAN style="COLOR: red"&gt;value&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;true&lt;/SPAN&gt;" &lt;SPAN style="COLOR: blue"&gt;/&amp;gt;
      &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;param &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;canSeek&lt;/SPAN&gt;" &lt;SPAN style="COLOR: red"&gt;value&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;true&lt;/SPAN&gt;" &lt;SPAN style="COLOR: blue"&gt;/&amp;gt;
&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;    &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;ref&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;
  &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;body&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;
&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;smil&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;

&lt;/SPAN&gt;&lt;/PRE&gt;&lt;A href="http://11011.net/software/vspaste" mce_href="http://11011.net/software/vspaste"&gt;&lt;/A&gt;&lt;A href="http://11011.net/software/vspaste" mce_href="http://11011.net/software/vspaste"&gt;&lt;/A&gt;
&lt;P&gt;How do you feel about this change? We would love to hear from you.&lt;/P&gt;&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=2543822" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/iis/ibUK/~4/nFv6KzLVBFU" height="1" width="1"/&gt;</description><category domain="http://blogs.iis.net/vsood/archive/tags/Media/default.aspx">Media</category><category domain="http://blogs.iis.net/vsood/archive/tags/Web+Playlists/default.aspx">Web Playlists</category><feedburner:origLink>http://blogs.iis.net/vsood/archive/2008/08/07/web-playlists-using-smil-as-input-format.aspx</feedburner:origLink></item><item><title>Web Playlists output format</title><link>http://feedproxy.google.com/~r/iis/ibUK/~3/9snGRs9hUA0/web-playlists-output-format.aspx</link><pubDate>Sat, 26 Jul 2008 21:36:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:2516665</guid><dc:creator>vsood</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.iis.net/vsood/rsscomments.aspx?PostID=2516665</wfw:commentRss><comments>http://blogs.iis.net/vsood/archive/2008/07/26/web-playlists-output-format.aspx#comments</comments><description>&lt;P&gt;We recently release the &lt;A title="Go Live of Web Playlists module " href="http://blogs.iis.net/vsood/archive/2008/07/21/web-playlists-go-live-release-is-now-ready-for-downloads.aspx" mce_href="http://blogs.iis.net/vsood/archive/2008/07/21/web-playlists-go-live-release-is-now-ready-for-downloads.aspx"&gt;Go Live of Web Playlists module &lt;/A&gt;and I am sure a lot of you are already beginning to realize the potential of this feature.&lt;/P&gt;
&lt;P&gt;After the release our very smart set of engineers are figuring what can we do with this feature next? There is always a balance we need to draw in the features we can support and how soon can we get the product out, so that our customers (you) can benefit from it. &lt;/P&gt;
&lt;P&gt;One thing we wanted to explore and hear your feedback on is the output format for the Web Playlists. While we allow you to change the input format, using custom providers, we do not have a way for you to change the output format. Currently, Web Playlists outputs ASX (client-side playlist) as the output. If you don' know much about ASX, it is basically a client-side playlist format (XML based) supported by Windows Media Player and Silverlight. You can also make it work with the Flash player and we have more details &lt;A href="http://learn.iis.net/page.aspx/384/web-playlists-for-iis-70--using-playlist-with-different-players/" target=_blank mce_href="http://learn.iis.net/page.aspx/384/web-playlists-for-iis-70--using-playlist-with-different-players/"&gt;here&lt;/A&gt;. You can read more about the ASX format on MSDN &lt;A href="http://msdn.microsoft.com/en-us/library/aa914047.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/aa914047.aspx"&gt;here&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;The question I have for all you is how much do you care about the output format? Would it be beneficial if we enabled you to output the client side playlist in format of your choice (other than ASX) too, or supported something like &lt;A href="http://en.wikipedia.org/wiki/ATOM" target=_blank mce_href="http://en.wikipedia.org/wiki/ATOM"&gt;ATOM syndication format&lt;/A&gt; (&lt;A href="http://tools.ietf.org/html/rfc4287" target=_blank mce_href="http://tools.ietf.org/html/rfc4287"&gt;RFC 4287&lt;/A&gt;)out of the box?&lt;/STRONG&gt; In our team we deeply care about your feedback so any thoughts are really helpful.&lt;/P&gt;
&lt;P&gt;If you have more questions, I will love to answer them.&lt;/P&gt;&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=2516665" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/iis/ibUK/~4/9snGRs9hUA0" height="1" width="1"/&gt;</description><category domain="http://blogs.iis.net/vsood/archive/tags/Media/default.aspx">Media</category><category domain="http://blogs.iis.net/vsood/archive/tags/Web+Playlists/default.aspx">Web Playlists</category><category domain="http://blogs.iis.net/vsood/archive/tags/IIS+Media+Pack/default.aspx">IIS Media Pack</category><category domain="http://blogs.iis.net/vsood/archive/tags/ASX/default.aspx">ASX</category><feedburner:origLink>http://blogs.iis.net/vsood/archive/2008/07/26/web-playlists-output-format.aspx</feedburner:origLink></item><item><title>Making Web Playlists URLs better with URL Rewrite module</title><link>http://feedproxy.google.com/~r/iis/ibUK/~3/p0KHIJ4vKEA/making-web-playlists-urls-better-with-url-rewrite-module.aspx</link><pubDate>Tue, 22 Jul 2008 03:21:09 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:2504602</guid><dc:creator>vsood</dc:creator><slash:comments>7</slash:comments><wfw:commentRss>http://blogs.iis.net/vsood/rsscomments.aspx?PostID=2504602</wfw:commentRss><comments>http://blogs.iis.net/vsood/archive/2008/07/22/making-web-playlists-urls-better-with-url-rewrite-module.aspx#comments</comments><description>&lt;p&gt;I have been recently reading about the entire RESTful web services and constantly looking at how we can make our modules more REST friendly in terms of URL look-n-feel and also the output they return (if any). I &lt;a href="http://vishalsood.com/content/2008/05/30/web-20-building-block-1-rest-who-does-not-need" target="_blank"&gt;blogged about RESTful web services&lt;/a&gt; in case anyone is interested in knowing more about REST.&lt;/p&gt;  &lt;p&gt;At the same time, if you were following &lt;a href="http://blogs.iis.net/bills/archive/2008/05/31/urlrewrite-module-for-iis7.aspx" target="_blank"&gt;Bill's blog, IIS team released URL re-write module&lt;/a&gt;. IIS pipeline architecture is such that it almost always requires an extension, URL re-write module helps overcome this limitation. In this post I plan to cover how we can make Web Playlists URLs look prettier (and aligned to REST principles).&lt;/p&gt;  &lt;p&gt;Today, Web Playlists URLs are look something like this &lt;a href="http://www.example.com/a.isx"&gt;http://www.example.com/a.isx&lt;/a&gt;. For someone looking at this URL and trying to understand, it does mean much. As you have been following my blog all this while ;), you know what isx is (Web Playlists file) but not everyone does. One of the principles of REST as I see applied is that URLs should tell you a lot about what to expect in the response. Let us see how we can live this principle for Web Playlists.&lt;/p&gt;  &lt;p&gt;Consider the URLs below&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://example.com/Playlist('a')"&gt;http://example.com/Playlist('a')&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://example.com/Playlist/a"&gt;http://example.com/Playlist/a&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;These URLs clearly tell me what to expect as a response. It tells me that response will be a playlist of some kind. &lt;/p&gt;  &lt;h2&gt;Creating a Rule&lt;/h2&gt;  &lt;p&gt;Let us take the URL &lt;a href="http://example.com/Playlist('a'"&gt;http://example.com/Playlist('a')&lt;/a&gt;. In this case the URL tells you that there is a playlist 'a' that this URL refers to. This syntax is very much similar to the Astoria syntax. &amp;quot;Astoria&amp;quot; is the code name for &lt;a href="http://blogs.msdn.com/astoriateam/default.aspx"&gt;ADO.net Data Services&lt;/a&gt;. They are heavily investing in defining URL syntax. Let us see how we can get our existing URLs to look like more like Astoria URLs. &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;We need to first install URL re-writer module. This is an Out of Band module available for free download from &lt;a href="http://www.iis.net"&gt;http://www.iis.net&lt;/a&gt; site: &lt;a href="http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;g=6&amp;amp;i=1691" target="_blank"&gt;32-bit&lt;/a&gt; and &lt;a href="http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;g=6&amp;amp;i=1692" target="_blank"&gt;64-bit&lt;/a&gt;. Once you install you will see the Icon for URL re-writer appear in IIS Manager (highlighted below) &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://blogs.iis.net/blogs/vsood/WindowsLiveWriter/MakingWebPlaylistsURLsbetterwithURLRewri_11E30/image_2.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="291" alt="image" src="http://blogs.iis.net/blogs/vsood/WindowsLiveWriter/MakingWebPlaylistsURLsbetterwithURLRewri_11E30/image_thumb.png" width="386" border="0" /&gt;&lt;/a&gt; (click to see a larger image)&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Double-click on the icon and then click &amp;quot;Add Rule...&amp;quot;. Then add rule as per image below: &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://blogs.iis.net/blogs/vsood/WindowsLiveWriter/MakingWebPlaylistsURLsbetterwithURLRewri_11E30/image_4.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="272" alt="image" src="http://blogs.iis.net/blogs/vsood/WindowsLiveWriter/MakingWebPlaylistsURLsbetterwithURLRewri_11E30/image_thumb_1.png" width="291" border="0" /&gt;&lt;/a&gt; (click to see a larger image)&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;For the people familiar with IIS configuration files, this creates the following entry in the IIS config file &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://blogs.iis.net/blogs/vsood/WindowsLiveWriter/MakingWebPlaylistsURLsbetterwithURLRewri_11E30/image_6.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="122" alt="image" src="http://blogs.iis.net/blogs/vsood/WindowsLiveWriter/MakingWebPlaylistsURLsbetterwithURLRewri_11E30/image_thumb_2.png" width="364" border="0" /&gt;&lt;/a&gt; (click to see a larger image)&lt;/p&gt;  &lt;h2&gt;How does this rule work?&lt;/h2&gt;  &lt;p&gt;If we dissect this rule, &amp;quot;^(.*)/*Playlist\((.*)\)$&amp;quot; pattern says that in URL match everything before &amp;quot;/Playlist&amp;quot; and then match everything in between (). As per the URL re-writer module semantics these will be stored in {R:1} and {R:2} variables which are then used while re-writing the rule. (E.g., in &lt;a href="http://example.com/Playlist('a'"&gt;http://example.com/Playlist('a'&lt;/a&gt;) {R:1} becomes blank and {R:2}becomes a. This is because only URL relative to site root are matched. Thus as per the rule the initial URL will be re-written as &lt;a href="http://example.com/a.isx"&gt;http://example.com/a.isx&lt;/a&gt; which is understood by the IIS7 pipeline.&lt;/p&gt;  &lt;h2&gt;Re-cap&lt;/h2&gt;  &lt;p&gt;In this post I ran through an example of how you could use URL-writer to create friendlier URLs for Web Playlists. I would really like to encourage you to play with URL re-write module to create the other URL form (&lt;a href="http://example.com/Playlist/a"&gt;http://example.com/Playlist/a&lt;/a&gt;) and share it as comments to this blog. &lt;/p&gt;  &lt;p&gt;I would suggest starting with the walkthroughs &lt;a href="http://learn.iis.net/page.aspx/460/using-url-rewrite-module/" target="_blank"&gt;here&lt;/a&gt;. Happy re-writing and looking forward to your comments.&lt;/p&gt;&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=2504602" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/iis/ibUK/~4/p0KHIJ4vKEA" height="1" width="1"/&gt;</description><category domain="http://blogs.iis.net/vsood/archive/tags/Media/default.aspx">Media</category><category domain="http://blogs.iis.net/vsood/archive/tags/Web+Playlists/default.aspx">Web Playlists</category><category domain="http://blogs.iis.net/vsood/archive/tags/IIS+Media+Pack/default.aspx">IIS Media Pack</category><feedburner:origLink>http://blogs.iis.net/vsood/archive/2008/07/22/making-web-playlists-urls-better-with-url-rewrite-module.aspx</feedburner:origLink></item><item><title>Web Playlists Go Live release is now ready for downloads</title><link>http://feedproxy.google.com/~r/iis/ibUK/~3/xGKTViFMGHs/web-playlists-go-live-release-is-now-ready-for-downloads.aspx</link><pubDate>Mon, 21 Jul 2008 21:33:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:2504279</guid><dc:creator>vsood</dc:creator><slash:comments>4</slash:comments><wfw:commentRss>http://blogs.iis.net/vsood/rsscomments.aspx?PostID=2504279</wfw:commentRss><comments>http://blogs.iis.net/vsood/archive/2008/07/21/web-playlists-go-live-release-is-now-ready-for-downloads.aspx#comments</comments><description>&lt;P&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;I am really excited to announce that Web Playlists Go Live was just released to public. Here are the download links for the same:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;A class="" href="http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;g=6&amp;amp;i=1714" target=_blank mce_href="http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;g=6&amp;amp;i=1714"&gt;Web Playlist for IIS 7.0, 64 Bit (x64)&lt;/A&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;A class="" href="http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;g=6&amp;amp;i=1713" target=_blank mce_href="http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;g=6&amp;amp;i=1713"&gt;Web Playlist for IIS 7.0, 32 Bit (x86)&lt;/A&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Here is a list of walkthroughs published on the all new learn.iis.net: &lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A class="" href="http://learn.iis.net/page.aspx/385/web-playlists-for-iis-70---setup-and-configuration/" target=_blank mce_href="http://learn.iis.net/page.aspx/385/web-playlists-for-iis-70---setup-and-configuration/"&gt;Web Playlists for IIS 7.0 - Setup and Configuration&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A class="" href="http://learn.iis.net/page.aspx/382/web-playlist---creating-a-simple-playlist/" target=_blank mce_href="http://learn.iis.net/page.aspx/382/web-playlist---creating-a-simple-playlist/"&gt;Web Playlists for IIS 7.0 - Creating a Simple Playlist&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;A class="" href="http://learn.iis.net/page.aspx/384/web-playlists-for-iis-70--using-playlist-with-different-players/" target=_blank mce_href="http://learn.iis.net/page.aspx/384/web-playlists-for-iis-70--using-playlist-with-different-players/"&gt;Web Playlists for IIS 7.0 – Using Playlist with different Media Players&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A class="" href="http://learn.iis.net/page.aspx/448/web-playlist-for-iis-70---extending-web-playlists/" target=_blank mce_href="http://learn.iis.net/page.aspx/448/web-playlist-for-iis-70---extending-web-playlists/"&gt;Web Playlists for IIS 7.0 – Extending Web Playlists through custom providers&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Here is more about this release: &lt;A class="" href="http://www.iis.net/Downloads/files/playlist/WebPlaylists_Readme_GoLive.htm" target=_blank mce_href="http://www.iis.net/Downloads/files/playlist/WebPlaylists_Readme_GoLive.htm"&gt;http://www.iis.net/Downloads/files/playlist/WebPlaylists_Readme_GoLive.htm&lt;/A&gt;. &amp;nbsp; &lt;/P&gt;
&lt;P&gt;For general information on how Web Playlists work, please see this &lt;A class="" href="http://blogs.iis.net/vsood/archive/2008/05/01/web-playlists-how-does-that-thing-work.aspx" target=_blank mce_href="http://blogs.iis.net/vsood/archive/2008/05/01/web-playlists-how-does-that-thing-work.aspx"&gt;post&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Web Playlists Go Live release includes these key features: &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Support for all digital media files types&lt;/STRONG&gt;. Any digital media file type that can be downloaded from a Web server can be added to a Web playlist by using this feature.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Nested Web playlist media entries&lt;/STRONG&gt;. Web playlist files (.isx) can be added as media entries to the Web playlists that you create, up to five levels deep. For more information about how nested playlists work in this feature, see &lt;A class="" href="http://go.microsoft.com/?linkid=8388530" target=_blank mce_href="http://go.microsoft.com/?linkid=8388530"&gt;Creating a Simple Playlist&lt;/A&gt;.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Remote HTTPd media entries&lt;/STRONG&gt;. Content locations that begin with the httpd:// URL prefix can be added as media entries to the Web playlists that you create, allowing you to reference a remote Web server page that returns a custom URL or path for the media item to be played.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Session settings&lt;/STRONG&gt;. Allows you to specify the maximum number of clients that can connect to the playlist and the amount of content that must be watched before skip functionality is enabled on the client.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Session provider settings&lt;/STRONG&gt;. Allows you to add ASP.NET session persistence and provides an additional level of control for the content on a Web server by configuring multiple options that specify how long the content referenced by a playlist is available to users.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Impersonation settings&lt;/STRONG&gt;. Allows for media items that are protected by user credentials to be added to playlists.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;ASX import&lt;/STRONG&gt;. Allows for quick conversion of client-side playlists (files with .asx file name extensions) for files stored on the Web server to Web playlists.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Custom providers&lt;/STRONG&gt;. A COM interface is included that you can use to write native and .NET-based custom providers that extend the default behavior of Web Playlists. For more information, see the &lt;A class="" href="http://go.microsoft.com/?linkid=8745726" target=_blank mce_href="http://go.microsoft.com/?linkid=8745726"&gt;Extending Web Playlists through custom providers&lt;/A&gt;. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Got more questions or need support?: Please use &lt;A class="" href="http://forums.iis.net/1145.aspx" target=_blank mce_href="http://forums.iis.net/1145.aspx"&gt;media forum&lt;/A&gt;. &lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=2504279" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/iis/ibUK/~4/xGKTViFMGHs" height="1" width="1"/&gt;</description><category domain="http://blogs.iis.net/vsood/archive/tags/Media/default.aspx">Media</category><category domain="http://blogs.iis.net/vsood/archive/tags/IIS+News+Item/default.aspx">IIS News Item</category><category domain="http://blogs.iis.net/vsood/archive/tags/Web+Playlists/default.aspx">Web Playlists</category><category domain="http://blogs.iis.net/vsood/archive/tags/IIS+Media+Pack/default.aspx">IIS Media Pack</category><feedburner:origLink>http://blogs.iis.net/vsood/archive/2008/07/21/web-playlists-go-live-release-is-now-ready-for-downloads.aspx</feedburner:origLink></item><item><title>Web Playlists - How does that thing work?</title><link>http://feedproxy.google.com/~r/iis/ibUK/~3/83ctuAnSVgU/web-playlists-how-does-that-thing-work.aspx</link><pubDate>Thu, 01 May 2008 04:31:00 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:2331298</guid><dc:creator>vsood</dc:creator><slash:comments>31</slash:comments><wfw:commentRss>http://blogs.iis.net/vsood/rsscomments.aspx?PostID=2331298</wfw:commentRss><comments>http://blogs.iis.net/vsood/archive/2008/05/01/web-playlists-how-does-that-thing-work.aspx#comments</comments><description>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...(&lt;a href="http://blogs.iis.net/vsood/archive/2008/05/01/web-playlists-how-does-that-thing-work.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=2331298" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/iis/ibUK/~4/83ctuAnSVgU" height="1" width="1"/&gt;</description><category domain="http://blogs.iis.net/vsood/archive/tags/Media/default.aspx">Media</category><category domain="http://blogs.iis.net/vsood/archive/tags/Web+Playlists/default.aspx">Web Playlists</category><category domain="http://blogs.iis.net/vsood/archive/tags/IIS+Media+Pack/default.aspx">IIS Media Pack</category><feedburner:origLink>http://blogs.iis.net/vsood/archive/2008/05/01/web-playlists-how-does-that-thing-work.aspx</feedburner:origLink></item><item><title>Short-cut to integrate Web Playlists with an existing web application</title><link>http://feedproxy.google.com/~r/iis/ibUK/~3/u3Rudq0AEtM/short-cut-to-integrate-web-playlists-with-an-existing-web-application.aspx</link><pubDate>Tue, 29 Apr 2008 05:57:32 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:2326683</guid><dc:creator>vsood</dc:creator><slash:comments>5</slash:comments><wfw:commentRss>http://blogs.iis.net/vsood/rsscomments.aspx?PostID=2326683</wfw:commentRss><comments>http://blogs.iis.net/vsood/archive/2008/04/29/short-cut-to-integrate-web-playlists-with-an-existing-web-application.aspx#comments</comments><description>If you read my post / walkthroughs you probably know about the extensibility interface shipped with CTP2. You can use that to integrate into existing business logic applications or web applications. However, in this post I am going to talk about a shortcut...(&lt;a href="http://blogs.iis.net/vsood/archive/2008/04/29/short-cut-to-integrate-web-playlists-with-an-existing-web-application.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.iis.net/aggbug.aspx?PostID=2326683" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/iis/ibUK/~4/u3Rudq0AEtM" height="1" width="1"/&gt;</description><category domain="http://blogs.iis.net/vsood/archive/tags/Media/default.aspx">Media</category><category domain="http://blogs.iis.net/vsood/archive/tags/Web+Playlists/default.aspx">Web Playlists</category><category domain="http://blogs.iis.net/vsood/archive/tags/IIS+Media+Pack/default.aspx">IIS Media Pack</category><feedburner:origLink>http://blogs.iis.net/vsood/archive/2008/04/29/short-cut-to-integrate-web-playlists-with-an-existing-web-application.aspx</feedburner:origLink></item></channel></rss>
