[Solved] Windows Media Player Overwriting MP3 ID3 Tags without permission

Digital tools for electronic work: software for pcb design, schematic drawing, circuit simulation, parts inventory tools, ...
Post Reply
User avatar
howmuch
Breadboard Brother
Information
Posts: 68
Joined: 09 Nov 2014, 18:31
Has thanked: 21 times
Been thanked: 58 times

Post by howmuch »

If a moderator wants to delete this thread for not being stompbox related then I totally understand.
Could you please let me know your specific reasons though?
Why am I posting this here?
[] I don't think that posting this to a computer-related forum would succeed - business interests would prevent it from seeing the light of day.
[] This forum supports the free exchange of information AFAIK.
[] It might benefit some forum members that use Windows Media Player.
[] Tenuous link - When you listen to music through Windows Media Player you're probably listening to a stompbox ;)


The problem:
Windows Media Player(WMP) Overwrites MP3 ID3 Tags without permission.
It did the following to some of my files. I've read if could affect other frames too such as "Attached picture" (APIC). YMMV.
ID3v1.1 Genre -> Other (0x0C)
ID3v1.1 Comment -> all spaces
ID3v2.3 Year -> copied from v1 year
ID3v2.3 Adds PRIV PeakValue
ID3v2.3 Adds PRIV AverageLevel

If, like me, you're the kind of person that does not like software messing around with your data behind your back, this is just not acceptable.
Even if you've gone though all the settings and turned off everything related to writing tags and the library, WMP still interferes with your MP3's ID3 Tags.
This was a problem with version 9 many years ago and people were still complaining about it in 2021.
See this thread for someone exasperated with the behaviour and a Moderator's total inability to help, care or even understand the question.
How do I stop Windows Media Player from changing my files?


The solution:
The most obvious solution to this is to not use Windows Media Player.
Foobar2000 or Winamp or many other media players are better. Job done.

MY PROBLEM though is that while I don't use WMP itself, I use the WMP ActiveX control in one of my programs.
When I used the control to play some tracks, the ID3 Tags would be changed without my consent.
I have tried other controls, but I have to say that the WMP control suits my needs perfectly and the others have fallen short.

So, given that M$ has known about this for years and have ignored their users, I had to take the DIY course.

I tracked down where WMP was writing to MP3s and it's from a file called wmvcore.dll in the system32 folder.
Changing access in a CreateFileW() call from Read/Write to just Read proved to solve the problem.
This probably means that WMP will now never write ID3 Tags to your files even if you want it to (haven't tested that because I don't want it).

For wmvcore.dll v10.0.0.4078
At address 0x125E11, edit the original 0xC0 to 0x80.

Of course Windows won't just allow you to do this in-place.
"Windows File Protection" (WFP) will try and replace any altered files, so there's a bit of extra work involved.
For Win XP (just accept it) -
Copy the file to a different folder, edit the 0xC0 to 0x80 (HxD is good), copy back into \WINDOWS\system32 and \WINDOWS\system32\dllcache folders.
WFP might try and replace it with an older version, so copy it again until it sticks.

If anyone here has suffered from this problem and needs more help, let me know.
I might be able to find the equivalent code address in a later version of wmvcore.dll for you if neeeded.
R.I.P. Burke Shelley, from one of my favourite (and much underrated) bands - Budgie
Their songs have been covered by Van Halen, Iron Maiden, Soundgarden, Metallica and more.
If you don't know how HEAVY this band was in the 70s, check Breadfan out.

Post Reply