Surround sound for apps?

I assumethat dolby digital passthrough will work for HLS, but is there any other way to do surround sound without using AV player? Does the Apple TV support multichannel PCM through HDMI?

Accepted Reply

The device does support multichannel PCM audio as well as AC3 passthrough over the HDMI output.


Please see the What's New in Core Audio session from WWDC 2015 for more details on how to configure your AVAudioSession for multichannel output.

Replies

The current Apple TV (3rd gen) only supports surround sound through Dolby Digital passthrough. Spec sheet for gen 4 doesn't appear to show any change on this.

I don't think the spec sheet is relevant here. It was for last generaton since there was no way to develop native apps.


Even if mutlichannel PCM is not supported - will it be possible to turn Dolby Digital passthrough for third party apps?

The device does support multichannel PCM audio as well as AC3 passthrough over the HDMI output.


Please see the What's New in Core Audio session from WWDC 2015 for more details on how to configure your AVAudioSession for multichannel output.

Oooh... that's nice to know! Thanks!

Actually the Tech Specs for the new Apple TV mention that it supports Dolby Digital 5.1 but also Dolby Digital Plus 7.1

http://www.apple.com/tv/specs/


As far as I understand the device supports both of these formats (DD aka AC3, and DD+ aka EAC3) and can output decoded audio via the HDMI output.

The device will output either encoded or decoded surround audio depending upon the Surround Sound settings chosen by the user and the capabilities of the device it is connected to via HDMI.

Yes, I saw the added support for Dolby Digital Plus. (Which is very nice, BTW!) The OP was asking about ways to do multi-channel other than passthrough. The new spec sheet doesn't indicate multi-channel support beyond Dolby pass-through, but apparently the new Apple TV does support mult-channel PCM audio output.

Yes - depending on the capabilities of the device attached over HDMI. The output is typically 24 bit/48 kHz, but may drop to 16 bit if the device can't support 24 bit.

What with the new AppleTV supporting both regular Dolby Digital (DD) as well as Dolby Digital Plus (DD+), I'm curious if those formats are simply passed through via HDMI, or if users have some degree of control over the format based on configuration settings. For example, many existing streaming devices (the prior generation AppleTV being the notable exception since it requires all surround audio to be native DD) only pass through DD+ (ex. Netflix transmits DD+ to every streaming device that I know of besides the prior generation AppleTV). So, if your TV, soundbar, or receiver can't decode DD+ (But can decode DD) then you are forced to select stereo output instead. I'm curious if the new AppleTV will down-sample something like DD+ to regular DD based on user configuration settings. A few televisions do this, but it seems relatively rare for streaming devices.

It will perform required conversions in order support the attached equipment and/or support the settings requested by the user, including bitstream conversions of DD/DD+.

I followed the instructions in that WWDC session, but am unable to get multichannel enabled on my device:


  NSError *error;
  AVAudioSession *instance = [AVAudioSession sharedInstance];
  [instance setCategory:AVAudioSessionCategoryPlayback error:&error];
  [instance setActive:YES error:&error];
  NSLog(@"output channels: %ld", (long)instance.outputNumberOfChannels);
  NSLog(@"max channels: %ld", (long)instance.maximumOutputNumberOfChannels);
  BOOL ret = [instance setPreferredOutputNumberOfChannels:instance.maximumOutputNumberOfChannels error:&error];
  NSLog(@"set preferred channels return: %d error: %@", ret, error);
  NSLog(@"output channels: %ld", (long)instance.outputNumberOfChannels);



2015-12-07 14:16:52.639 audiotest[1477:1152132] output channels: 2

2015-12-07 14:16:52.640 audiotest[1477:1152132] max channels: 6

2015-12-07 14:16:52.679 audiotest[1477:1152132] set preferred channels return: 1 error: (null)

2015-12-07 14:16:52.679 audiotest[1477:1152132] output channels: 2

Hi tmm1,


Are you attached to a multichannel capable receiver when you test this? Or just a regular TV?


Thanks!