Your IPTV provider says "Dolby Atmos 5.1.4." Your AVR shows "Dolby Atmos" on its front panel when playing Apple TV but says "PCM 2.0" when playing the same content from your Windows PC. The codec is right, the AVR is right, the cable is fine. The problem is the Windows audio stack and you can absolutely fix it. This guide walks through every step.

What "Dolby Atmos" actually is on IPTV

Dolby Atmos is not a codec. It's a metadata extension carried inside a codec. On IPTV streams in 2026, Atmos almost always rides on top of E-AC-3 (Dolby Digital Plus) with JOC: Joint Object Coding. The audio packet structure looks like:

[ E-AC-3 frame header ]
[ Standard 5.1 channel bed (compatible with non-Atmos decoders) ]
[ JOC metadata + objects ]  ← The Atmos part
[ Frame footer ]

This is brilliant design. An old AVR sees a regular 5.1 stream and plays it. A new Atmos-capable AVR sees the JOC payload and renders the height channels and object positions. Same bitstream serves both audiences. The bitrate is around 384 to 768 kbps for IPTV Atmos.

The less-common alternative is Dolby TrueHD with Atmos: lossless, 4 to 6 Mbps. This is what UHD Blu-rays carry. Some premium IPTV services bridge MA TrueHD on selected channels but it's bandwidth-expensive and rare.

So in 2026 if your IPTV provider advertises Atmos, you can bet it's E-AC-3 JOC at ~640 kbps. The job of Windows is to pass that bitstream untouched to the AVR, which will decode and render. If Windows decodes it locally and sends PCM, the Atmos metadata is destroyed and that is the most common reason behind "Atmos doesn't work on Windows" complaints.

The Windows audio stack: three layers that betray you

Windows audio has three architectural layers, each capable of mangling your bitstream:

1. The Audio Engine (kernel-level)

The Windows Audio Engine is a kernel-mode mixer that takes streams from every application, mixes them together, optionally applies effects, and sends the result to the output device at the system sample rate. The default mode for almost all apps is shared mode, which goes through this engine.

The Audio Engine cannot pass through bitstream audio. When it sees a Dolby Digital or E-AC-3 stream from an application, it decodes it to PCM before mixing. That decode destroys Atmos JOC objects. Period. No setting changes this.

2. Audio Endpoint (device-level)

The endpoint is the output device: your HDMI port, your SPDIF, your USB DAC. The endpoint has a configured format (e.g. 16-bit 48 kHz stereo) which the Audio Engine matches. If the endpoint is set to stereo, anything sent to it is downmixed to stereo by the engine. This is the second silent-downmix culprit.

3. Audio Driver / HDAudio.sys

The driver handles the actual hardware. For HDMI audio, it negotiates with the receiving device's EDID to find out what formats are supported. EDID is where Windows learns "this AVR supports Atmos via E-AC-3 JOC".

Here's the architecture in one line: your application has to bypass the Audio Engine entirely to deliver bitstream audio to the driver. That bypass is what exclusive (passthrough) output is for.

EDID handshake: how the AVR tells Windows what it can do

EDID (Extended Display Identification Data) is a small data block that the AVR sends back to your PC over the HDMI link. It declares what video formats, audio formats, and channel layouts the AVR supports. Windows reads this and presents the supported set in Sound > Properties > Supported Formats.

For Atmos to be possible, the AVR's EDID must declare both:

  • Dolby Digital Plus (E-AC-3) as a supported audio format
  • An extended audio descriptor indicating Dolby Atmos JOC support

You can check this. Open Sound (right-click speaker icon > Sound settings > More sound settings > Playback tab) → select your HDMI output → Properties → Supported Formats tab. You should see:

Encoded Formats:
  ✓ Dolby Digital
  ✓ Dolby Digital Plus     ← This is required for Atmos
  ✓ DTS
  ✓ DTS-HD                  ← Optional, for DTS:X passthrough
  ✓ Dolby TrueHD            ← For TrueHD Atmos (uncommon for IPTV)
  ✓ Dolby Atmos for AVR     ← The "Atmos JOC" capability flag

If "Dolby Atmos for AVR" is missing, your AVR is not declaring Atmos capability over EDID. Common reasons:

  • HDMI input on the AVR is not set to passthrough mode
  • HDMI cable is too cheap to carry the EDID signaling reliably (rare)
  • HDMI 1.4 cable instead of HDMI 2.0+: Atmos needs 2.0 or later
  • An HDMI splitter or KVM in between strips the EDID extension
  • AVR firmware is too old (pre-2018 Atmos AVRs sometimes need updates)
  • You're connected to the TV first then ARC to AVR: TV EDID dominates
THE eARC GOTCHA

If you connect PC → TV → eARC → AVR, the TV's EDID is what Windows sees. Most TVs don't pass through Atmos via eARC unless explicitly enabled in TV settings. If possible, connect PC → AVR → TV (with the AVR doing video passthrough). This guarantees Windows sees the AVR's EDID directly.

Windows Spatial Sound and the Dolby Access app

Windows has its own "spatial sound" system, which is separate from passthrough. The Spatial Sound options in Sound settings are:

  • Off
  • Windows Sonic for Headphones
  • Dolby Atmos for Headphones (requires Dolby Access purchase)
  • Dolby Atmos for Home Theater (free, requires Dolby Access install)
  • DTS Sound Unbound (separate purchase)

For IPTV Atmos passthrough, you want Dolby Atmos for Home Theater. This doesn't decode Atmos on the PC: it enables the bitstream passthrough path. The "for Home Theater" naming is confusing because it's not asking you to set up speakers; it's enabling the OS to recognise that your output device wants the bitstream untouched.

To enable:

  1. Microsoft Store → install Dolby Access (free)
  2. Open Dolby Access → "Set up my home theater"
  3. Select your AVR's HDMI output from the device list
  4. Click Continue (no payment required for this mode)
  5. Back in Sound settings, set the HDMI output's Spatial sound format to "Dolby Atmos for home theater"

After this, Windows will route bitstream-formatted audio (specifically E-AC-3 frames) directly to the HDMI driver without decoding, when the application asks for passthrough output.

Shared vs exclusive vs spatial output

Windows gives an app three ways to send its sound to the output:

ModePassthrough?Use for
SharedNo (always PCM after mix)Background apps, browser audio, system sounds
ExclusiveYes (raw bitstream to driver)IPTV Atmos, music players, anything that wants bits-perfect
Spatial (Atmos for HT)Yes (E-AC-3 / TrueHD untouched)Atmos content specifically

In an IPTV player, you want either Exclusive or Spatial. Practical difference: Exclusive mode lets only one app use the audio device. Spatial mode is more cooperative. For a dedicated home-theater PC where Nightmare TV / mpv / Kodi is the only audio source, Exclusive is preferred. For a multipurpose PC, Spatial.

In Nightmare TV: Settings → Video Player · Defaults → Audio Passthrough (ATMOS/DTS-X) turns bitstream passthrough on; it is off by default, works on Windows and Android TV (not macOS), and while it is on other apps' sound may not play on that output. For any IPTV player, the two Windows setups look like this:

# Dedicated home-theater PC (one audio source)
Player passthrough: On
Advanced tab: "Allow applications to take exclusive control" ticked
Channels: Auto

# Shared PC (other apps need sound too)
Player passthrough: On
Spatial sound: Dolby Atmos for home theater
Channels: Auto

The seven things that quietly downmix you

In rough order of how often I've seen each ruin an Atmos setup:

1. Endpoint stuck at "Stereo, 16-bit, 48000 Hz"

The HDMI output's default format in Properties → Advanced is set to stereo. The endpoint downmixes everything to fit. Fix: Set this dropdown to a multi-channel format like "16-bit, 48000 Hz (DVD Quality)" or (for Atmos) let the application choose the format (which Exclusive mode does).

2. "Enable audio enhancements" is on

Properties → Advanced → Enable audio enhancements. When checked, Windows or the driver applies bass boost, virtual surround, loudness equalisation. All of these require PCM decoding. Fix: Uncheck. There is no reason to have this on for Atmos-capable hardware.

3. Spatial Sound set to "Windows Sonic for Headphones"

This is the Windows-built object renderer for headphones. It decodes everything to PCM and applies HRTF processing. If you accidentally enabled this on your AVR output, Atmos breaks. Fix: Sound > Properties > Spatial sound → set to either Off (for Exclusive mode) or Dolby Atmos for Home Theater (for Spatial mode).

4. Player is using DirectSound or MMDevAPI shared mode

If your IPTV player exposes "DirectSound" or "Windows Default" audio output, it's probably routing through the shared Windows mixer. Fix: In the player, explicitly select an exclusive or bitstream (passthrough) output. In Windows, tick "Allow applications to take exclusive control of this device" on the Advanced tab.

5. Channel layout forced to 5.1 or 7.1 PCM

Some players "helpfully" force a fixed channel count thinking it's safer. Even 7.1 PCM is not Atmos: Atmos is object-based and forcing channel layout discards the object metadata. Fix: Set audio channels to "Auto" or "Passthrough", not a fixed number.

6. Volume control going through Windows mixer

If you have a per-app volume slider in Windows that affects the IPTV player, the audio is going through the mixer (Shared mode). The fix is to use the player's internal volume control only, or (better) set player volume to 100% and use the AVR's volume knob. Fix: Switch to Exclusive mode, where Windows volume sliders no longer apply.

7. HDMI cable downgrade

An HDMI 1.4 cable can carry 5.1 LPCM and Dolby Digital but the eARC bandwidth needed for full Atmos (especially TrueHD Atmos) requires HDMI 2.0+ certified cable. Most cables sold as "4K HDMI" since 2017 are fine. Older cables, especially long runs, may strip the audio extension. Fix: Test with a known-good short HDMI 2.1 cable.

QUICK SELF-CHECK

If your AVR's front panel shows "DD+ 5.1" but not "Atmos" while playing an Atmos stream, the bitstream is reaching the AVR but JOC metadata is being stripped along the way. This is almost always (3) Spatial Sound set to Sonic, or (5) channel layout forced. If the AVR shows "PCM 5.1" or "PCM 2.0", Windows is decoding entirely: check (1), (2), (4).

How to verify Atmos is actually flowing

The only reliable verification is your AVR's front panel or info screen. It will display the format it's receiving, in real time. Look for:

  • "Dolby Atmos", Atmos is being decoded by the AVR. Success.
  • "DD+ Atmos" or "Dolby Digital Plus Atmos": Same thing, more specific label.
  • "TrueHD Atmos": Lossless Atmos. Rare on IPTV.
  • "Dolby Digital Plus 5.1": Bitstream is flowing but JOC metadata is missing. Either the source stream doesn't have Atmos, or something stripped it.
  • "Dolby Digital 5.1": Older AC-3, not E-AC-3. Source is not Atmos.
  • "PCM 5.1", "PCM 2.0", "Multi Ch In": Windows decoded to PCM. Passthrough is broken.

Don't trust the player's overlay or "audio info": those usually report what's in the stream, not what's flowing to the AVR. The AVR knows. Trust the AVR.

The walkthrough: a clean setup from scratch

If you're starting fresh or want to reset, here's the order:

  1. Connect PC → AVR (HDMI Out → AVR HDMI In), AVR → TV (HDMI Out → TV HDMI In). Avoid PC → TV → eARC.
  2. On the AVR, set the input you're using to "Bypass" or "Direct" mode if available. Disable any "DSP" or "Cinema Mode" upmix. We want raw passthrough.
  3. In Windows Sound (right-click speaker → Sound settings → More sound settings → Playback): right-click the HDMI device → Set as default. Properties → Supported Formats tab: verify "Dolby Digital Plus" and "Dolby Atmos for AVR" are listed. If not, the issue is EDID, not Windows.
  4. Properties → Advanced: uncheck "Enable audio enhancements". Set Default Format to "16 bit, 48000 Hz (DVD Quality)": Exclusive mode will override anyway, but a sane default helps.
  5. Install Dolby Access from Microsoft Store. Open it → "Set up my home theater" → select HDMI output → enable Atmos for Home Theater.
  6. Properties → Spatial sound: set to "Dolby Atmos for home theater".
  7. In your IPTV player: Passthrough = On, mode = Exclusive (or Spatial if you need other apps), channels = Auto.
  8. Play a known Atmos channel. Check the AVR's front panel for "Dolby Atmos" or "DD+ Atmos".

If the AVR shows Atmos, you're done. If not, drop to the troubleshooting section.

Nightmare TV makes Atmos passthrough one switch away

Turn on Audio Passthrough (ATMOS/DTS-X) in Settings → Video Player · Defaults and the original bitstream goes to your receiver untouched. Plug in an Atmos AVR, play an Atmos channel, and check the AVR display.

Download free trial Microsoft Store · 7-day trial · Windows 10/11

If it still doesn't work

Run through this checklist:

AVR shows "PCM" / "Multi Ch In"

Windows is decoding. Either Spatial Sound is misconfigured (most likely) or the player isn't using Exclusive mode. Re-do step 6 and 7 of the walkthrough.

AVR shows "DD+ 5.1" but not Atmos

JOC metadata is being stripped. Causes (in likelihood order):

  1. Spatial Sound set to Windows Sonic. Change to Atmos for Home Theater.
  2. Player forcing channel count. Set to Auto.
  3. Source doesn't have Atmos. Test with a known-Atmos channel.
  4. HDMI splitter/KVM stripping extensions. Bypass it for a test.

"Supported Formats" doesn't list Dolby Atmos for AVR

EDID issue. Try:

  1. Cycle the AVR off and back on with HDMI input selected.
  2. Reboot Windows.
  3. Check AVR firmware for updates.
  4. Try a different HDMI input on the AVR (some have "Atmos" on specific inputs only: yes, really).
  5. Replace the HDMI cable with a known-good HDMI 2.1 certified one.

Atmos works on movie files but not on IPTV channels

The IPTV stream may not actually contain Atmos despite the channel name. Use mpv to confirm the audio track is E-AC-3 with the JOC bit set, or simply trust the AVR's front panel. Some providers label channels "Atmos" but ship plain 5.1.

Atmos works initially then drops to PCM after a few minutes

Some AVRs renegotiate EDID periodically. If a different app on Windows briefly takes over the audio device (notification sound, screen reader, etc.) during the renegotiation window, the AVR can re-handshake at the new endpoint format. Fix: turn off all Windows system sounds (Sound > Sound Scheme > No Sounds) and disable any apps that play notification audio.

Atmos works on Apple TV but not on Windows PC

Apple TV bypasses most of this complexity by being a single-purpose appliance. The "Apple TV works" data point only tells you the AVR + cable + HDMI input are fine. The bottleneck is in the Windows audio stack, not your hardware.

TL;DR

  • IPTV Atmos = E-AC-3 with JOC metadata. The bitstream must reach the AVR untouched; if Windows decodes it, Atmos is lost.
  • EDID must declare "Dolby Atmos for AVR." Check Sound > Properties > Supported Formats. Connect PC → AVR → TV, not PC → TV → eARC.
  • Install Dolby Access and set Spatial Sound to "Dolby Atmos for home theater" on the HDMI output.
  • Turn on passthrough in the player, channels Auto, no enhancements.
  • Trust the AVR's front panel, not the player overlay. "Dolby Atmos" or "DD+ Atmos" = success.
  • Seven silent downmix culprits: endpoint stuck at stereo, audio enhancements on, Spatial Sound set to Sonic, player in DirectSound/Shared mode, forced channel layout, Windows volume mixer in path, HDMI cable too old.

Frequently asked questions

Why does my IPTV Atmos play as PCM 2.0 on Windows?
Because the Windows Audio Engine decoded the Dolby Digital Plus bitstream to PCM before it reached your AVR, which destroys the Atmos JOC objects. Atmos has to be passed through untouched: the app must keep the stream away from the shared Audio Engine so the raw E-AC-3 frames reach the HDMI driver and the AVR does the decoding. If Windows decodes it locally you get PCM and the Atmos metadata is gone.
Does Dolby Atmos work over passthrough or does the player decode it?
It works by passthrough only. Your IPTV Atmos is almost always E-AC-3 (Dolby Digital Plus) with JOC, and the player's job is to send that bitstream to the AVR untouched so the AVR renders the height channels and object positions. Any local decode to PCM (by the Audio Engine, audio enhancements, or a forced channel layout) strips the object metadata. The player passes the bits through; it does not create Atmos.
How do I enable Dolby Atmos passthrough in Nightmare TV on Windows?
In Nightmare TV go to Settings, then Video Player, then Defaults and turn on Audio Passthrough (ATMOS/DTS-X); it is off by default. Once it is on, the original bitstream reaches your receiver untouched, and while it stays on other apps' sound may not play on that output. Then in Windows Sound settings make sure your HDMI output lists Dolby Digital Plus and Dolby Atmos for AVR under Supported Formats, turn off audio enhancements, and set Spatial sound to Dolby Atmos for home theater for that output.
What are the most common reasons Atmos silently downmixes to stereo?
The seven usual culprits are: the HDMI endpoint stuck at a stereo default format, audio enhancements left enabled, Windows Spatial Sound set to Windows Sonic for headphones, the player using DirectSound or the shared mixer instead of passthrough, a forced fixed channel layout, the Windows volume mixer sitting in the audio path, and an HDMI cable too old to carry the audio extension. Each of these forces a PCM decode that discards the JOC objects.
How do I confirm Dolby Atmos is actually flowing?
Trust the AVR's front-panel display, not the player overlay. If it shows Dolby Atmos or DD+ Atmos, passthrough is working. If it shows DD+ 5.1 without Atmos, the bitstream is reaching the AVR but JOC metadata is being stripped: usually Spatial Sound set to Sonic or a forced channel layout. If it shows PCM 5.1 or PCM 2.0, Windows decoded the stream entirely and you need to fix the endpoint format, enhancements, or output mode.