private void Setup()
        {
            IAudioData m_iad = new AMAudioData() as IAudioData;

            m_imd = m_iad as IMemoryData;
        }
        public int SetMediaStream(IMediaStream pMediaStream)
        {
            if (pMediaStream == null)
            {
                throw new ArgumentNullException("pMediaStream");
            }
            if (IsValid)
            {
                throw new InvalidOperationException("Instance is already active.");
            }
            int hr = MSStatus.MS_E_HANDLE;
            _pAudioStream = pMediaStream as IAudioMediaStream;
            if (_pAudioStream != null)
            {
                hr = _pAudioStream.GetFormat(out _wfmt);
                if (MSStatus.Succeed(hr))
                {
                    AMAudioData amAudio = new AMAudioData();
                    _pAudioData = (IAudioData)amAudio;
                    hr = _pAudioData.SetFormat(ref _wfmt);
                }
                else
                {
                    _pAudioStream = null;
                }
            }

            return hr;
        }