/// <summary> /// Creates a new Resampler based on the DMO Resampler /// </summary> public DmoResampler() { mediaComObject = new ResamplerMediaComObject(); mediaObject = new MediaObject((IMediaObject)mediaComObject); propertyStoreInterface = (IPropertyStore)mediaComObject; resamplerPropsInterface = (IWMResamplerProps)mediaComObject; }
/// <summary> /// Creates a new Resampler based on the DMO Resampler /// </summary> public WindowsMediaMp3Decoder() { mediaComObject = new WindowsMediaMp3DecoderComObject(); mediaObject = new MediaObject((IMediaObject)mediaComObject); propertyStoreInterface = (IPropertyStore)mediaComObject; //resamplerPropsInterface = (IWMResamplerProps)mediaComObject; }
/// <summary> /// Dispose code - experimental at the moment /// Was added trying to track down why Resampler crashes NUnit /// This code not currently being called by ResamplerDmoStream /// </summary> public void Dispose() { if(propertyStoreInterface != null) { Marshal.ReleaseComObject(propertyStoreInterface); propertyStoreInterface = null; } if(resamplerPropsInterface != null) { Marshal.ReleaseComObject(resamplerPropsInterface); resamplerPropsInterface = null; } if (mediaObject != null) { mediaObject.Dispose(); mediaObject = null; } if (mediaComObject != null) { Marshal.ReleaseComObject(mediaComObject); mediaComObject = null; } }