How am I now getting iPhone 15 Pro Max Lossless?

I have a new iPhone 15 Pro Max. I pulled up a Tidal MQA album—ABC’s new Steven Wilson remix of “The Lexicon of Love”, which is mastered in 96khz/24 bit after the first unfold.

I decided to play it though my iPhone speakers. I checked the throughput, and it’s showing that it’s playing direct—without a 64 bit float to 48Khz—lossless— to my iPhone speakers! I cannot find ANY evidence that the new iPhone is capable of playing lossless high res files through its internal DAC anywhere. When I select Qobuz non-MQA FLAC, it shows the usual conversion to 48Khz.

Can anyone tell me what the heck is going on here?

I could be wrong, but the Tidal Flac is 24/48, MQA unfolds upto 96 if you render it.

I’m not an MQA expert, just what it appears to me.

iPhones always been able to play lossless up to 48/24 that’s the internal sample rate of the device. MQA authentication is just they it’s applying any MQA decoder in your signal path unless you have an external dac where the iPhone can play what the DACs capable of. Via speaker 48/24 is your limit or 44.1/16 via Bluetooth.


But not via the internal speakers IIRC.

The Qobuz is 24/96 so will be resampled to 24/48 for the internal speakers.

Not so for USB-C

1 Like

Sure, but not 96khz through the internal speakers. I found a previous thread on here from 2018 that showed the same result with MQA only. I’m guessing that it’s a glitch, since the Qobuz 96khz file is downsampled through the 64 bit float. The phone’s internal DAC cannot handle 96khz files.

That is true, but the iPhone has historically only been able to pass through 96khz, whether native or unfolded by MQA, to external DACs—not through its internal speakers. It must be a bug.

It’s not playing 96/24 it’s playing undecoded MQA which is 48/24 look at your signal path it’s not applying any MQA decoding only authentication they are not the same thing.


It’s also the same for my iPhone 8 with 16/44.1. It up-samples to 24/48 for internal speakers.

Via Lightning the the USB-C ports it’ll be bit-perfect.

This is what it shows when playing the file through my Topping d90se DAC. It’s the same as the iPhone. It isn’t showing evidence that it’s applying MQA unfolding here either. Perhaps that’s due to my Topping being a full decoder? I have the first software unfold enabled on the audio settings but perhaps it’s being bypassed. I can’t tell what it would show if I were using a DAC that doesn’t handle MQA—it’d have to get out one of my older FiiO DACs to check.

Again, I could be wrong.

The iPhone can pass through upto 768.

1 Like

No you’re correct—the iPhone can pass through up to 768khz/24 bit to any external DAC. For its internal DAC it can only play a maximum of 48Khz/24 bit. The software should not be showing that it’s authenticating 96khz MQA to the internal DAC—it’s playing 48Khz and ignoring the MQA unfold despite what it says.

1 Like

When MQA is being decoded via the Roon Server it’ll show as enhanced.

If it’s passing to DAC to fully decode and render it won’t show as 24/96, just 24/48 in this case.

1 Like

It is misleading I agree. With the lack of enhanced showing where lossless is, that’s the only way I knew it was 24/48

1 Like

I agree with you—however it shouldn’t be saying that it’s authenticating the 96khz file. It should display the actual sampling rate the engine is playing through the DAC, which is 48Khz with the iPhone. The software unfold it’s allegedly performing in this case isn’t being recognized by the phone’s DAC. I think this is a glitch in Roon that has apparently been present for several years.

You don’t have MQA decoding turned on in device settings. If not then all MQA decoding and rendering is performed on the dac side. The iPhone is only passing 48/24 in that mode. What is you MQA capabilities set as? If it’s decoder and renderer it’s all being done on the DAC if it’s an MQA dac. If you enable Roons MQA decoder and set it to renderer only then Roon will do the decode.

That’s smart! I didn’t catch that, thank you!


I have the native capabilities of the phone’s DAC set as “No MQA”, but have the software unfold turned on in the advanced settings. Apparently it’s being ignored. Ya’ll helped me sort it out—I still think the Roon transport engine should indicate the sampling rate that is actually being played by the DAC, but the behavior makes sense now. Although it did get me excited for a moment there!

No it’s authentication of the file which is what it’s doing it can’t change that it based on your output. It’s authenticating it’s a genuine MQA file that’s it. It has nothing to do with decoding.


iOS doesn’t feed back that to Roon. It gives nothing back to Roon at all about what the dac can or cannot do. This is a limitation of iOS.

1 Like

Got it. Bizarre that a little USB dongle DAC can handle 768khz these days and Apple can’t integrate that capability into this giant phone, but with Apple it’s all about compatibility with their peripherals—I’m guessing they want folks to buy AirPods!

1 Like