internal void Initialize(WaveFormat inputformat, WaveFormat outputformat) { Ratio = (double)outputformat.BytesPerSecond / inputformat.BytesPerSecond; lock (LockObj) { Resampler = new WMResampler(); MediaObject mediaObject = Resampler.MediaObject; if (!mediaObject.SupportsInputFormat(0, inputformat)) { throw new NotSupportedException("Inputformat not supported."); } mediaObject.SetInputType(0, inputformat); if (!mediaObject.SupportsOutputFormat(0, outputformat)) { throw new NotSupportedException("Outputformat not supported."); } mediaObject.SetOutputType(0, outputformat); InputBuffer = new MediaBuffer(inputformat.BytesPerSecond / 2); OutputBuffer = new DmoOutputDataBuffer(outputformat.BytesPerSecond / 2); } }
protected void InitCom(WaveFormat inputformat, WaveFormat outputformat) { lock (_lockObj) { var source = BaseStream; _resampler = new WMResampler(); MediaObject mediaObject = _resampler.MediaObject; if (!mediaObject.SupportsInputFormat(0, inputformat)) { throw new NotSupportedException("Inputformat not supported."); } mediaObject.SetInputType(0, inputformat); if (!mediaObject.SupportsOutputFormat(0, outputformat)) { throw new NotSupportedException("Outputformat not supported."); } mediaObject.SetOutputType(0, outputformat); _inputBuffer = new MediaBuffer(inputformat.BytesPerSecond / 2); _outputBuffer = new DmoOutputDataBuffer(outputformat.BytesPerSecond / 2); } }