public void Initialize(IBufferingManager bufferingManager, Action <IProgramStreams> programStreamsHandler = null)
 {
     if (null == bufferingManager)
     {
         throw new ArgumentNullException("bufferingManager");
     }
     this._bufferingManager = bufferingManager;
     this._streamBuffer     = bufferingManager.CreateStreamBuffer(this._streamType);
     this._mediaStream      = new MediaStream((IConfigurationSource)this._configurator, this._streamBuffer, new Action <TsPesPacket>(this._tsPesPacketPool.FreePesPacket));
     this._mediaStreams     = (ICollection <IMediaParserMediaStream>) new MediaStream[1]
     {
         this._mediaStream
     };
 }