/// <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;
 }
Example #2
0
 /// <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;
 }
Example #3
0
 public DmoResampler()
 {
     this.mediaComObject          = new ResamplerMediaComObject();
     this.mediaObject             = new MediaObject((IMediaObject)this.mediaComObject);
     this.propertyStoreInterface  = (IPropertyStore)this.mediaComObject;
     this.resamplerPropsInterface = (IWMResamplerProps)this.mediaComObject;
 }
Example #4
0
        /// <summary>
        /// Creates and configures the actual Resampler transform
        /// </summary>
        /// <returns>A newly created and configured resampler MFT</returns>
        // Token: 0x06000A62 RID: 2658 RVA: 0x0001E444 File Offset: 0x0001C644
        protected override IMFTransform CreateTransform()
        {
            object       obj          = this.CreateResamplerComObject();
            IMFTransform imftransform = (IMFTransform)obj;
            IMFMediaType imfmediaType = MediaFoundationApi.CreateMediaTypeFromWaveFormat(this.sourceProvider.WaveFormat);

            imftransform.SetInputType(0, imfmediaType, _MFT_SET_TYPE_FLAGS.None);
            Marshal.ReleaseComObject(imfmediaType);
            IMFMediaType imfmediaType2 = MediaFoundationApi.CreateMediaTypeFromWaveFormat(this.outputWaveFormat);

            imftransform.SetOutputType(0, imfmediaType2, _MFT_SET_TYPE_FLAGS.None);
            Marshal.ReleaseComObject(imfmediaType2);
            IWMResamplerProps iwmresamplerProps = (IWMResamplerProps)obj;

            iwmresamplerProps.SetHalfFilterLength(this.ResamplerQuality);
            return(imftransform);
        }
 /// <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;
     }
 }
Example #6
0
 /// <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;
     }
 }
Example #7
0
 public void Dispose()
 {
     if (this.propertyStoreInterface != null)
     {
         Marshal.ReleaseComObject(this.propertyStoreInterface);
         this.propertyStoreInterface = null;
     }
     if (this.resamplerPropsInterface != null)
     {
         Marshal.ReleaseComObject(this.resamplerPropsInterface);
         this.resamplerPropsInterface = null;
     }
     if (this.mediaObject != null)
     {
         this.mediaObject.Dispose();
         this.mediaObject = null;
     }
     if (this.mediaComObject != null)
     {
         Marshal.ReleaseComObject(this.mediaComObject);
         this.mediaComObject = null;
     }
 }