[wdmaudiodev] Re: Max Number of Channels of a HDMI device

  • From: "Jeff Pages" <barefeet@xxxxxxxxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Fri, 28 Dec 2012 14:41:38 +1100

For a render device, I'm pretty sure you also need to support KSPROPERTY_AUDIO_CHANNEL_CONFIG and KSPROPERTY_AUDIO_STEREO_SPEAKER_GEOMETRY on your DAC node.


From: JimiYeh@xxxxxxxxxx
Sent: Friday, December 28, 2012 1:06 PM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: Max Number of Channels of a HDMI device

I have overrided the default data intersection handler. I can output 8 channel PCM actually.

But I don’t know why “Max Number of Channels” is always 2.

From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Matthew van Eerde
Sent: Friday, December 28, 2012 12:43 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: Max Number of Channels of a HDMI device

Since you support more than two channels, you also need to override the default data intersection handler.


The current implementation of the port driver's default handler is limited in the types of data ranges that it can handle:

·         Only PCM data formats

·         Only mono and stereo audio streams

An adapter driver that supports non-PCM or multichannel formats should implement a proprietary data-intersection handler instead of relying on the port driver to handle data intersections for these formats.

From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of JimiYeh@xxxxxxxxxx
Sent: Wednesday, December 26, 2012 11:55 PM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Max Number of Channels of a HDMI device

Hi all,

I am trying to write a WaveRT driver for HDMI on window7. I need to report my data range according to the HDMI sink device

(Ex: monitor, amplifier, …). When I attached the amplifier which can support 8 channel, The control panel will show the information

about the amplifier. I can see the correct sample size range, frequency range except “Max number of Channels”. “Max Number of Channels”

is 2. I have checked my data range in my code. I’m sure I set the MaximumChannels is 8.



DataRangeAudio[LPCM].DataRange.FormatSize = sizeof(KSDATARANGE_AUDIO);

             DataRangeAudio[LPCM].DataRange.Flags         = 0;

             DataRangeAudio[LPCM].DataRange.SampleSize    = 0;

             DataRangeAudio[LPCM].DataRange.Reserved      = 0;

DataRangeAudio[LPCM].DataRange.MajorFormat = KSDATAFORMAT_TYPE_AUDIO;

DataRangeAudio[LPCM].DataRange.SubFormat = KSDATAFORMAT_SUBTYPE_PCM;


DataRangeAudio[LPCM].MaximumChannels = myELD->GetFormatMaxChannel(LPCM);

DOUT(DBGJimi, ("Max Channel : %d", DataRangeAudio[LPCM].MaximumChannels)); // the debug message is 8

DataRangeAudio[LPCM].MinimumBitsPerSample = myELD->GetFormatMinBitDepth(LPCM);

DataRangeAudio[LPCM].MaximumBitsPerSample = myELD->GetFormatMaxBitDepth(LPCM);

DataRangeAudio[LPCM].MinimumSampleFrequency = myELD->GetFormatMinFrequency(LPCM);

DOUT(DBGJimi, ("Min rate : %d", DataRangeAudio[LPCM].MinimumSampleFrequency));

DataRangeAudio[LPCM].MaximumSampleFrequency = myELD->GetFormatMaxFrequency(LPCM);

DOUT(DBGJimi, ("Max rate : %d", DataRangeAudio[LPCM].MaximumSampleFrequency));

pKsDataRange[DataRangeIndex] = reinterpret_cast<KSDATARANGE*>(&DataRangeAudio[LPCM]);



Thank you.

Best Regards,



WDMAUDIODEV addresses:
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
Subscribe:    mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
Unsubscribe:  mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx


Other related posts: