AudioSubType Complement

Nov 29, 2012 at 7:33 AM

I found some Guid to your "TODO" list
		/// <summary>
		/// MPEG-4 and AAC Audio Types
		/// http://msdn.microsoft.com/en-us/library/windows/desktop/dd317599(v=vs.85).aspx
		/// Reference : wmcodecdsp.h
		/// </summary>
		[FieldDescription("MPEG-4 and AAC Audio Types")]
		public static readonly Guid MEDIASUBTYPE_RAW_AAC1 = new Guid("000000ff-0000-0010-8000-00aa00389b71");
		
		/// <summary>
		/// Dolby Audio Types
		/// http://msdn.microsoft.com/en-us/library/windows/desktop/dd317599(v=vs.85).aspx
		/// Reference : wmcodecdsp.h
		/// </summary>
		[FieldDescription("Dolby Audio Types")]
		public static readonly Guid MEDIASUBTYPE_DVM = new Guid("00002000-0000-0010-8000-00aa00389b71");

		/// <summary>
		/// Dolby Audio Types
		/// http://msdn.microsoft.com/en-us/library/windows/desktop/dd317599(v=vs.85).aspx
		/// Reference : wmcodecdsp.h
		/// </summary>
		[FieldDescription("Dolby Audio Types")]
		public static readonly Guid MEDIASUBTYPE_DOLBY_DDPLUS = new Guid("a7fb87af-2d02-42fb-a4d4-05cd93843bdd");


		/// <summary>
		/// μ-law coding
		/// http://msdn.microsoft.com/en-us/library/windows/desktop/dd390971(v=vs.85).aspx
		/// Reference : Ksmedia.h
		/// </summary>
		[FieldDescription("")]
		public static readonly Guid KSDATAFORMAT_SUBTYPE_MULAW = new Guid("00000007-0000-0010-8000-00aa00389b71");


		/// <summary>
		/// Adaptive delta pulse code modulation (ADPCM)
		/// http://msdn.microsoft.com/en-us/library/windows/desktop/dd390971(v=vs.85).aspx
		/// Reference : Ksmedia.h
		/// </summary>
		[FieldDescription("")]
		public static readonly Guid KSDATAFORMAT_SUBTYPE_ADPCM = new Guid("00000002-0000-0010-8000-00aa00389b71");

		/// <summary>
		/// Dolby Digital Plus formatted for HDMI output.
		/// http://msdn.microsoft.com/en-us/library/windows/hardware/ff538392(v=vs.85).aspx
		/// Reference : internet
		/// </summary>
		[FieldDescription("")]
		public static readonly Guid KSDATAFORMAT_SUBTYPE_IEC61937_DOLBY_DIGITAL_PLUS = new Guid("0000000a-0cea-0010-8000-00aa00389b71");

		/// <summary>
		/// ?????
		/// ?????
		/// Reference : wmcodecdsp.h
		/// </summary>
		[FieldDescription("")]
		public static readonly Guid MEDIASUBTYPE_MSAUDIO1  = new Guid("00000160-0000-0010-8000-00aa00389b71");
		

		
        // TODO: find out what these are, and add them:          
        // {00000031-0000-0010-8000-00aa00389b71}
        // {0000000b-0000-0010-8000-00aa00389b71} 
        // {00000011-0000-0010-8000-00aa00389b71}
       

Nov 29, 2012 at 7:40 AM

 

MEDIASUBTYPE_MSAUDIO1 exists in the file wmcodecdsp.h. but I have not found any doc

Coordinator
Nov 29, 2012 at 8:17 AM
thanks Manu, this is a great help. I'll get these in today.

I'm probably going to go with your approach for MediaFileReader and put the reposition onto the read thread. I'd still like an option to not recreate the reader though, as it could cause a delay in the first call to Read, which is non-ideal.

Mark

On 29 November 2012 08:33, ManuN <notifications@codeplex.com> wrote:
		/// <summary>
		/// MPEG-4 and AAC Audio Types
		/// http://msdn.microsoft.com/en-us/library/windows/desktop/dd317599(v=vs.85).aspx
		/// Reference : wmcodecdsp.h
		/// </summary>
		[FieldDescription("MPEG-4 and AAC Audio Types")]
		public static readonly Guid MEDIASUBTYPE_RAW_AAC1 = new Guid("000000ff-0000-0010-8000-00aa00389b71");
		
		/// <summary>
		/// Dolby Audio Types
		/// http://msdn.microsoft.com/en-us/library/windows/desktop/dd317599(v=vs.85).aspx
		/// Reference : wmcodecdsp.h
		/// </summary>
		[FieldDescription("Dolby Audio Types")]
		public static readonly Guid MEDIASUBTYPE_DVM = new Guid("00002000-0000-0010-8000-00aa00389b71");

		/// <summary>
		/// Dolby Audio Types
		/// http://msdn.microsoft.com/en-us/library/windows/desktop/dd317599(v=vs.85).aspx
		/// Reference : wmcodecdsp.h
		/// </summary>
		[FieldDescription("Dolby Audio Types")]
		public static readonly Guid MEDIASUBTYPE_DOLBY_DDPLUS = new Guid("a7fb87af-2d02-42fb-a4d4-05cd93843bdd");


		/// <summary>
		/// μ-law coding
		/// http://msdn.microsoft.com/en-us/library/windows/desktop/dd390971(v=vs.85).aspx
		/// Reference : Ksmedia.h
		/// </summary>
		[FieldDescription("")]
		public static readonly Guid KSDATAFORMAT_SUBTYPE_MULAW = new Guid("00000007-0000-0010-8000-00aa00389b71");


		/// <summary>
		/// Adaptive delta pulse code modulation (ADPCM)
		/// http://msdn.microsoft.com/en-us/library/windows/desktop/dd390971(v=vs.85).aspx
		/// Reference : Ksmedia.h
		/// </summary>
		[FieldDescription("")]
		public static readonly Guid KSDATAFORMAT_SUBTYPE_ADPCM = new Guid("00000002-0000-0010-8000-00aa00389b71");

		/// <summary>
		/// Dolby Digital Plus formatted for HDMI output.
		/// http://msdn.microsoft.com/en-us/library/windows/hardware/ff538392(v=vs.85).aspx
		/// Reference : internet
		/// </summary>
		[FieldDescription("")]
		public static readonly Guid KSDATAFORMAT_SUBTYPE_IEC61937_DOLBY_DIGITAL_PLUS = new Guid("0000000a-0cea-0010-8000-00aa00389b71");

		/// <summary>
		/// ?????
		/// ?????
		/// Reference : wmcodecdsp.h
		/// </summary>
		[FieldDescription("")]
		public static readonly Guid MEDIASUBTYPE_MSAUDIO1  = new Guid("00000160-0000-0010-8000-00aa00389b71");

Nov 29, 2012 at 8:32 AM

I put in a full version ISSUE TRACKER.http://naudio.codeplex.com/workitem/16375

I looked to see if your option is possible, I continued my research.

Nov 29, 2012 at 9:16 AM

I had already done tests to avoid the latency to the first read.

But I have not found another solution.

Coordinator
Nov 29, 2012 at 9:33 AM
that's good. I wanted to make one that implements ISampleProvider, so I'll look at your solution. Another thing that I want to add is to let MF handle resampling at the reader stage, so if you are using it with WASAPI (which doesn't automatically resample) you can easily get to the sample rate it wants.


On 29 November 2012 10:16, ManuN <notifications@codeplex.com> wrote:

From: ManuN

I had already done tests to avoid the latency to the first read.

But I have not found another solution.

Read the full discussion online.

To add a post to this discussion, reply to this email (naudio@discussions.codeplex.com)

To start a new discussion for this project, email naudio@discussions.codeplex.com

You are receiving this email because you subscribed to this discussion on CodePlex. You can unsubscribe or change your settings on codePlex.com.

Please note: Images and attachments will be removed from emails. Any posts to this discussion will also be available online at codeplex.com


Nov 29, 2012 at 11:50 AM

I thought IMFTransform used to make convertions

I found a simple example:

http://code.google.com/p/bitspersampleconv2/wiki/HowToUseResamplerMFT

Coordinator
Nov 29, 2012 at 12:01 PM
yes, I will be reimplementing the DMO Resampler but using MFT (it's the same COM object that implements both interfaces). But from what I can see if you ask the reader for a particular sample rate it will insert a resampler in the playback pipeline automatically. One advantage of this is that it can automatically flush the resampler buffer when you reposition, which can't be done in the playback device.


On 29 November 2012 12:50, ManuN <notifications@codeplex.com> wrote:

From: ManuN

I thought IMFTransform used to make convertions

I found a simple example:

http://code.google.com/p/bitspersampleconv2/wiki/HowToUseResamplerMFT

Read the full discussion online.

To add a post to this discussion, reply to this email (naudio@discussions.codeplex.com)

To start a new discussion for this project, email naudio@discussions.codeplex.com

You are receiving this email because you subscribed to this discussion on CodePlex. You can unsubscribe or change your settings on codePlex.com.

Please note: Images and attachments will be removed from emails. Any posts to this discussion will also be available online at codeplex.com


Nov 29, 2012 at 12:08 PM

I will try this option to see.

Nov 29, 2012 at 2:15 PM

Lack of time, abandoned.