// Summary:
 //     Initializes a new instance of the System.Windows.Media.MediaStreamSource
 //     class.
 public HLSMediaStreamSource(HLSMediaStreamSourceOpenParam openParam)
 {
     _openParam = new HLSMediaStreamSourceOpenParam(openParam);
     _bwHistory = new HttpLiveStreaming.BandwidthHistory(openParam.initialBandwidth);
     _playlist = new HLSPlaylist(openParam.uri);
     _playlist.MSS = this;
     Construct();
 }
 public HLSMediaStreamSourceOpenParam(HLSMediaStreamSourceOpenParam openParam)
 {
     this.uri = openParam.uri;
     this.isDownloadAllSubPlayList = openParam.isDownloadAllSubPlayList;
     this.minimalBitrate = openParam.minimalBitrate;
     this.maxBitrate = openParam.maxBitrate;
     this.maxPicWidth = openParam.maxPicWidth;
     this.maxPicHeight = openParam.maxPicHeight;
     this.ifAlignBufferAfterSeek = openParam.ifAlignBufferAfterSeek;
     this.initialBandwidth = openParam.initialBandwidth;
     this.startupBuffer = openParam.startupBuffer;
     if (null != openParam.optionalHeaderList)
     {
         this.optionalHeaderList = new List<OptionalHeader>(openParam.optionalHeaderList);
     }
 }