You hit play, and Windows Media Player spits back 0XC00D13F0 with a 403 Forbidden.
The error code 0XC00D13F0 maps to NS_E_CACHE_CANNOT_BE_CACHED, and the 403 status means the server thinks your request can't be cached. But you're not trying to cache anything — you're trying to play a stream. The real problem is that Windows Media Player's caching logic is misinterpreting the server's cache-control headers, and it's blocking the stream because it can find a way to cache it.
The Fix: Disable caching for this stream
- Open Windows Media Player.
- Press Alt to reveal the menu bar (if hidden).
- Go to Tools > Options > Performance tab.
- Under Buffering, select Buffer 5 seconds of content (the default is 10 seconds).
- Uncheck Use default buffering and Enable HTTP streaming.
- Click Apply, then OK.
- Restart Windows Media Player and try the stream again.
What's actually happening here is that Windows Media Player, by default, tries to cache streaming content to a temporary folder. Some servers — particularly those serving live video or DRM-protected content — send a Cache-Control: no-cache header. The player sees this, panics, and throws a 403 because its internal logic says "I can't cache this, so I can't play it." By reducing the buffer and disabling HTTP streaming caching, you're telling the player to just pull the stream in real time and not try to store it.
Why this works
The reason step 3 works is that Windows Media Player's caching engine is aggressive — it wants to pre-fetch and cache as much as possible to provide smooth playback. But when a server says "don't cache me," the player's code (written back in the XP/Vista era) doesn't gracefully fall back to streaming-only mode. Instead, it treats the lack of cacheability as a permission error. By manually setting a small buffer and disabling HTTP caching, you're forcing the player into a streaming-only mode that doesn't require cache write access.
If you're on Windows 10 version 2004 or later, the issue is more common because Microsoft updated the underlying HTTP stack to be stricter about cache-control headers. Prior to that, Windows Media Player would sometimes cache anyway, ignoring the header. Now it follows RFC 7234 to the letter, and that breaks some legacy streams.
Less common variations
Variation 1: Server-side Vary header mismatch
Some servers send a Vary: User-Agent header that confuses the cache logic. The fix is to set a custom user-agent string in the Windows Media Player network settings. Go to Tools > Options > Network tab, and under Streaming proxy settings, type Windows-Media-Player/12.0.22621.1 (or whatever version matches your OS). This tricks the server into thinking a compatible agent is requesting the stream.
Variation 2: Corrupted cache files
If you see this error after successfully playing other streams, the player's temporary cache might be corrupted. Delete everything inside C:\Users\YourName\AppData\Local\Microsoft\Media Player\. Don't worry — these are just cache files, not your library. The player will rebuild them next time it runs.
Variation 3: Group Policy interference
On corporate machines, a group policy might enforce caching behavior that triggers this error. Run gpedit.msc, go to Computer Configuration > Administrative Templates > Windows Components > Windows Media Player, and check if Turn off Internet streaming for Windows Media Player is enabled. If it is, disable it.
Prevention
To keep this from coming back, don't let Windows Media Player handle live or DRM streams. Use a modern player like VLC or MPC-HC, which handle cache-control headers correctly. If you must stick with Windows Media Player, set the buffer to 5 seconds and keep HTTP streaming caching disabled as a permanent config change. Also, update to the latest Windows 11 version — Microsoft quietly fixed parts of this in Windows 11 22H2, but the underlying caching logic is still fragile.
If you're an admin managing multiple machines, set the buffer policy via registry: [HKEY_CURRENT_USER\Software\Microsoft\MediaPlayer\Preferences] "NetworkBuffering"=dword:00000005. That writes the 5-second buffer directly, bypassing the UI.
One more thing: if the stream URL contains query parameters (like ?token=xyz), strip them before pasting into Windows Media Player. The player's cache key logic often chokes on query strings and triggers a 403 even when the stream is perfectly valid.