INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: AC3 DTS S/PDIF passthrough  (Read 772 times)

rolf_eigenheer

  • Regular Member
  • Galactic Citizen
  • ****
  • Posts: 303
  • nothing more to say...
AC3 DTS S/PDIF passthrough
« on: August 23, 2021, 08:21:02 am »

It becomes more and more difficult to find a soundcard which allows AC3 DTS passthrough.
Now I found PCM2704 which is supported by Windows 10 as WASAPI device.
It automatically switches the bitrate according the bitrate of the recording. The AV-receiver reports correcty 32, 44.1 and 48kHz.
This lets me think, that audio is sent as an unaltered stream from the audio file over S/PDIF to the amp.

But MC des not send AC3 and DTS streams. MC says that the device does not support that.
How is that that possible ? As long as an app is able to send any audio signal without modification (bitperfect) to the output, it must be able to send AC3/DTS. This coding is transported in L/R audio stream. Am I right ?
It seems that MC does not try to send AC3 DTS because Windows tells that the Audio device is stereo only. This is correct for the DAC. But as long this is not used, compressed formats still can be sent over SPDIF, while the DAC would generate noise.

S/PDIF works unidirectional. Therefore the AV-receiver cannot tell the player what bitrates and codecs are supported. In windows a property page for SPDIF audio devices allows entering this settings which then will be shown to the player app.

The PCM2704 does not offer this SPDIF property page. If MC would offer this settings itself in the Audio Options, passthrough would be possible with any soundcard which allows bitperfect playback.
The Bitstreaming Dialog would have to be enhanced to offer also the sample rates 32, 44.1 48 and 96kHz.

Logged

Hendrik

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 10722
Re: AC3 DTS S/PDIF passthrough
« Reply #1 on: August 23, 2021, 08:28:29 am »

MC asks the driver about supported formats, so if you want passthrough over SPDIF to work, the driver needs to accept it. We don't just fake it in PCM, we actually tell the audio device and the driver about the format we're sending, so any further processing is automatically disabled and the bitstream isn't destroyed from a volume change or anything like that. This behavior is in line with the WASAPI audio interface.

This hand-shaking between MC and the driver cannot be overriden, sorry.
Logged
~ nevcairiel
~ Author of LAV Filters

rolf_eigenheer

  • Regular Member
  • Galactic Citizen
  • ****
  • Posts: 303
  • nothing more to say...
Re: AC3 DTS S/PDIF passthrough
« Reply #2 on: August 23, 2021, 09:36:21 am »

Hi Hendrick
Thanks for responding to that.

From what I know about SPDIF AC3 and DTS, there is no need to know the coding within the data stream. Only the sampling rate is relevant.
https://www.atsc.org/atsc-documents/a522012-digital-audio-compression-ac-3-e-ac-3-standard-12172012/

I see we can send a stereo stream without any resampling and volume correction. The system volume has no influence anymore.

If we can tell the driver not to touch the audio stream, and if it is possible to send any waveform including noise, then it must be possible to send a pattern which is in fact a AC3 or DTS stream - even we dont tell it to the OS.
So my question is: Could I have for testing an option which tells the win driver to send a 48kHz stereo stream when supplying AC3 or DTS ?
Logged

rolf_eigenheer

  • Regular Member
  • Galactic Citizen
  • ****
  • Posts: 303
  • nothing more to say...
Re: AC3 DTS S/PDIF passthrough
« Reply #3 on: August 23, 2021, 01:07:23 pm »

@Hendrick
OK, now I see where it must fail. This SPDIF interface is limited to 32,44.1 and 48kHz. For AC3 192kHz would be needed.

But there is another question related to the soundpath:
I use IAudioMeterInformation::GetChannelsPeakValues to get the volume peak values. This values then were sent to my self made MediaCenter keyboard unit which drives analog VU meters. When using the WASAPI interface (which I prefer) GetChannelsPeakValues returns nothing. Is there a way to get a similar information from the MediaCenter API ? Can I read the spectrum analyzers ?
Logged
Pages: [1]   Go Up