As the other answer mentioned, use MMPPF (previously Silverlight Media Framework). Much more full-featured player and relatively easy to customize (with video tutorials, too).
For the bitrate - yes, the Smooth Streaming algorithm is designed for the lowest latency start possible - therefore, lowest bitrate/video chunk is used on start. However, it is possible to do what you want.
You will need to do 2 things, first:
Add a handler to the player's OnMediaPluginRegistered
event. In that event, check to see if it's an IAdaptiveMediaPlugin
- you'll need the instance of that plugin. Here's a sample...
IAdaptiveMediaPlugin _adaptivePlugin = null;
void OnMediaPluginRegistered(object sender, Microsoft.SilverlightMediaFramework.Core.CustomEventArgs<Microsoft.SilverlightMediaFramework.Plugins.IMediaPlugin> e)
{
var adaptivePlugin = e.Value as IAdaptiveMediaPlugin;
if (adaptivePlugin == null) { return; }
if (_adaptivePlugin == null)
{
_adaptivePlugin = adaptivePlugin;
}
}
Once you have that, wait for one of the media open events to fire (MediaOpened or something), and you will now have access to a method on IAdaptiveMediaPlugin
called SetVideoBitrateRange(...)
.
For example:
_adaptivePlugin.SetVideoBitrateRange(minBitrate, maxBitrate, true);
That should give you what you need.