You're encoding a live stream or re-pushing a file with Windows Media Encoder or Expression Encoder, and you type in the publishing point URL — something like http://yourserver:8080/publishpointname. The encoder connects, authentication passes, then you get NS_E_PUSH_DUPLICATE_PUBLISHING_POINT_NAME (0XC00D1520). The stream won't start. The server's telling you: "I already have a publishing point with that name running." It's not a config error. It's a naming collision.
What's actually happening here
Windows Media Services (WMS) maintains a table of active publishing points. Each one is identified by its name — that's the path segment after the port number. When a push source (encoder) connects, WMS checks if a publishing point with that name already exists and is currently in a running state. If yes, the server returns 0XC00D1520. The server isn't checking if it's the same encoder — it's checking if the name is taken by any source.
This most commonly happens because:
- You started a push test earlier and the point never shut down cleanly.
- Another encoder or server (maybe a different machine) is already pushing to that same point name.
- The publishing point was created manually via the WMS admin console and left enabled.
- A previous encoder crashed, and WMS didn't release the point.
The error has nothing to do with authentication, port blocking, or firewall rules. It's purely about the name being live.
The fix
You have two paths: kill the existing publishing point that's hogging the name, or rename your push stream to something unused. I'll give you steps for both.
Option 1: Stop or delete the existing publishing point
- Open Windows Media Services on the server. You'll find it under Administrative Tools or by running
wmsserver.msc. - Expand the server node, then expand Publishing Points.
- Look for a publishing point whose Name matches the one you're trying to push to. The Status column should say Running or Started.
- Right-click that publishing point and choose Stop. If you're sure no other client needs it, you can also Delete it.
- Now retry your encoder push. It should connect and start streaming.
Option 2: Use a different publishing point name
- In your encoder's push URL, change the publishing point name. For example, if your encoder used
/live1, try/live2or/stream1. - Make sure the new name doesn't conflict with any existing publishing point. You can check the list in WMS as above.
- Push again. The server will create a new publishing point automatically (if push sources are allowed) or you'll need to pre-create it.
What to check if it still fails
If neither option works, something else is keeping the name locked. Here's the short checklist:
- Check for orphaned publishing points. Sometimes stopping a point via the UI doesn't fully tear it down. Use PowerShell:
Get-WmiObject -Namespace root\MicrosoftWMSServer -Class WMSPublishingPoint | Where-Object {$_.Name -eq "yourpointname"} | Remove-WmiObject. Run this on the server as admin. - Restart the Windows Media Services service. This kills all active publishing points. It's nuclear but reliable. Run
net stop wmserver && net start wmserverfrom an elevated command prompt. - Verify your encoder's URL path. The path must be
/publishingpointname— no trailing slash, no extra segments. A typo can cause a different name collision. - Check if another server or process is pushing. On the WMS server, look at the Connected Users tab under the publishing point. If you see an encoder besides yours, that's your culprit.
One more thing — if you're using Windows Server 2008 or 2012, the WMS management console is flaky about refreshing. After stopping a point, wait 10 seconds, then press F5 to refresh. Sometimes the UI lies and says the point is gone when it's still alive.