Excuse me. I want to describe my problem clearly. Below is our audio topology. Wave filter ________________________________________ Wave data pin | | wave analog pin (connect to topology filter) ------------------------ | ---- KSNODETYPE_HDMI_INTERFACE ----- |-------------------------- |_______________________________________| Topology filter ______________________________________ Topo input pin | | topo output pin ------------------------- | --------- KSNODETYPE_MUTE | ------------------------------ |______________________________________ | I use KSStudio to check my setting. Wave data pin support six data range (PCM, Dolby, Dolby plus, Dolby TrueHD, DTS, DTS-HD).. Other pins(wave analog pin, topo input pin, and topo output pin) only support one data range (KSDATAFORMAT_SUBTYPE_ANALOG). I have two problems now. 1. I set the max channel '8' in the data range of PCM and I have implemented my IMiniportWaveRT ::DataRangeIntersection. I have implemented the KSPROPERTY_AUDIO_CHANNEL_CONFIG on KSNODETYPE_HDMI_INTERFACE node, but I still see the "Max number of Channels" is 2. I google this issue and find some graphic card has the same issue on windows 7. But I didn't find how they fix this issue. 2. I want so support Dolby TrueHD, DTS-HD format. I select the Dolby TrueHD format when port class driver call my IMiniportWaveRT ::DataRangeIntersection (the format fit the parameter DataRange and MatchingDataRange).But when port class driver call MatchingDataRange ::NewStream, the input format has been Changed to AC3 (normal Dolby). I don't understand why port class driver doesn't use the format I give in IMiniportWaveRT ::DataRangeIntersection. PS: The test amplifier works correctly with other graphic card. Finally, my English is very poor. If that make you uncomfortable, I am sorry. -----Original Message----- From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of JimiYeh@xxxxxxxxxx Sent: Wednesday, January 02, 2013 9:56 AM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: Max Number of Channels of a HDMI device Our codec can support 8-cahnnel 32~192 kHz (16, 20, 24 bit depth) format. The test device can support, too. -----Original Message----- From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Matthew van Eerde Sent: Saturday, December 29, 2012 12:40 AM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: Max Number of Channels of a HDMI device (After browsing some code...) What are the min/max bit depths and min/max sample rates for this particular 8-channel HDMI device? In particular, does the device support 32 kHz 16-bit formats? -----Original Message----- From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Jeff Pages Sent: Thursday, December 27, 2012 7:42 PM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: Max Number of Channels of a HDMI device 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. Jeff 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. http://msdn.microsoft.com/en-us/library/windows/hardware/ff536252(v=vs.85).aspx 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. if(myELD->GetFormatSupport(LPCM)) { 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].DataRange.Specifier = KSDATAFORMAT_SPECIFIER_WAVEFORMATEX; 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]); DataRangeIndex++; } Thank you. Best Regards, Jimi ****************** 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 URL to WDMAUDIODEV page: http://www.wdmaudiodev.com/ X3P2 EZuǬ>-,j j)m fjbׯ~+-Jrzf0vfv*zު笵zX+˛-˛m'rzf0vfv*zު笵zX+˛-칻&2^hf0vfv*zuڶ~+-Q`@81i0 fjbׯr XP u>jjj~Jrzvvzzmrzvvzz2vvzu~Q8jr