             var streamingSource:DynamicStreamingVideoSource = source as DynamicStreamingVideoSource;
             var dsr:DynamicStreamingResource;
             
-            dsr =  new DynamicStreamingResource(new FMSURL(streamingSource.serverURI));
-            
-            // if dealing with a live streaming video, set start = -1
-            // otherwise we don't worry about the start parameter
-            if (streamingSource.streamType == "live")
-                dsr.start = DynamicStreamingResource.START_LIVE;
-            else if (streamingSource.streamType == "recorded")
-                dsr.start = DynamicStreamingResource.START_VOD;
+            dsr =  new DynamicStreamingResource(new FMSURL(streamingSource.serverURI), streamingSource.streamType);
             
             var n:int = streamingSource.streamItems.length;
             var item:DynamicStreamingVideoItem;
             var dsi:DynamicStreamingItem;
+            var streamItems:Vector.<DynamicStreamingItem> = new Vector.<DynamicStreamingItem>(n);
+            
             for (var i:int = 0; i < n; i++)
             {
-                item = DynamicStreamingVideoItem(streamingSource.streamItems[i]);
+                item = streamingSource.streamItems[i];
                 dsi = new DynamicStreamingItem(item.streamName, item.bitrate);
-                dsr.addItem(dsi);
+                streamItems[i] = dsi;
             }
+            dsr.streamItems = streamItems;
             
             dsr.initialIndex = streamingSource.initialIndex;
             

     */
    public function get bytesLoaded():Number
    {
        return videoPlayer.bytesDownloaded;
    }
    
    //----------------------------------
    //  bytesTotal

    /**
     *  @private
     */
    private function videoPlayer_volumeChangeHandler(event:AudioEvent):void
    {
        dispatchEvent(new Event("volumeChanged"));
    }
