Log in

View Full Version : G'bye 3rd Party ASP/AVC Filters in WMP/MCE on Win7?


Pages : [1] 2 3 4 5 6

BetaBoy
25th March 2009, 15:19
http://forum.corecodec.com/viewtopic.php?f=3&p=9675

As Damien one of the FFMPEG Devs has found out... it looks like MS has blocked third party filters for MP4 and AVC when using WMP or MCE on Windows 7.

Can someone please confirm this is the case?

Sharktooth
25th March 2009, 15:41
w00t? they still didnt get it? they CAN'T legally do that unless they remove WMP from the Windows installation.
the EU commision will have their work to do it this is true...

LoRd_MuldeR
25th March 2009, 16:07
As Damien one of the FFMPEG Devs has found out... it looks like MS has blocked third party filters for MP4 and AVC when using WMP or MCE on Windows 7.

As far as I understood, M$ is switching from DirectShow to MediaFoundation. Their new MP4 and AVC filters for Windows 7 are written as MediaFoundation filters, not DirectShow filters.

Hence WMP and MCE will look for a suitable MediaFoundation filter first, before they fall back to DirectShow.

Consequently any DirectShow filter (including third-party ones) will be "blocked" (if you want to call it like that) by Microsoft's MediaFoundation filters. And AFAIK this cannot be overwritten.

One would have to provide a MediaFoundation filter, I guess. There also was some discussion about that in the ffdshow thread recently...

w00t? they still didnt get it? they CAN'T legally do that unless they remove WMP from the Windows installation.

In Windows 7 you can uninstall WMP/MCE as well as IExplore. It was speculated that this is because they want to avoid trouble with the EU commision...

BetaBoy
25th March 2009, 16:15
w00t? they still didnt get it? they CAN'T legally do that unless they remove WMP from the Windows installation.
the EU commision will have their work to do it this is true...

Yeah... my JAW is still on the ground here if this is true. Also.... how would this effect Silverlight's newly added H.264 support on Windows 7? ie; is Silverlight using an integrated AVC decoder or the media foundation filter?

albain
25th March 2009, 16:15
Hi there,

if you want more details :

For any codecs with no equivalent in Media Foundation :
=> Our directShow codec (FFDShow) is loaded correctly and runs into the graph

For any codecs with equivalent in Media Foundation (mpeg4/h264)
=> Our directshow codec is loaded, the input pin is connected (the media type is accepted by FFDShow), then an output pin is looked after, found, and... the filter is unloaded. No querying about the output media type, nothing. It is replaced then by MS DMO decoder

Tests done on Windows 7 build 7057 32 bits with WMP 12 and Media Center

Second step : I have built a dummy Media Foundation filter that declares all H264/MPEG4 media types.
=> It is not even consulted

Last step : I have built a dummy Media Foundation filter that is not a decoder but a transform filter (this is a different category).
=> It is not consulted either.

Reason : Microsoft maintains a list of preferred codecs in the following registry key : HKEY_CLASSES_ROOT\MediaFoundation\Transforms\Preferred
This key cannot be modified even in admin mode (this is a protected area, like system files).
So this list cannot be modified.

Conclusion : decoder is not overridable, even if one develops a Media Foundation filter

Two leads :
1/ Develop a DSP filter for Windows Media Player. This will only do postprocessing, no decoding.
2/ Make the source filter (Haali) autoload with a configurable option FFDShow or any other compatible filter.
Maybe Haali could reproduce the DirectShow filters enumeration according to their merit and take the highest one which is compatible with the media type.
This will work for MKV/MP4 containers, not AVI, unless the AVI container is overridable in Media Center/Media Player.

LoRd_MuldeR
25th March 2009, 16:18
Reason : Microsoft maintains a list of preferred codecs in the following registry key : HKEY_CLASSES_ROOT\MediaFoundation\Transforms\Preferred
This key cannot be modified even in admin mode (this is a protected area, like system files).
So this list cannot be modified.

Conclusion : decoder is not overridable, even if one develops a Media Foundation filter

This indeed is worse than I had expected :eek:

So there are even more reasons to NOT use WMP/MCE, but use MediaPlayerClassic and friends...

clsid
25th March 2009, 16:44
There is also a little bit of good news. Microsoft's H.264 decoder has DXVA support and it also works in combination with third party players.

Not being able to use third party filters is a pity. But what is even worse is the lack of subtitle support. VSFilter simply won't get loaded for external subtitle files. For embedded subtitles Haali's workaround still works, but only for Matroska files.

Snowknight26
25th March 2009, 19:56
For any codecs with equivalent in Media Foundation (mpeg4/h264)
=> Our directshow codec is loaded, the input pin is connected (the media type is accepted by FFDShow), then an output pin is looked after, found, and... the filter is unloaded. No querying about the output media type, nothing. It is replaced then by MS DMO decoder


Unregister the dll associated with the DMO filter? :p

leeperry
25th March 2009, 21:05
something tells me a lot ppl(including me) will stick to XP SP3 until the end of days :D

at least, if they would let us disable Cleartype...I hate blurry fonts :mad:

clsid
25th March 2009, 21:14
Reason : Microsoft maintains a list of preferred codecs in the following registry key : HKEY_CLASSES_ROOT\MediaFoundation\Transforms\Preferred
This key cannot be modified even in admin mode (this is a protected area, like system files).
So this list cannot be modified.
You can edit this key after adjusting its security permissions. First change the ownership from TrustedInstaller to Admin group. You can do that in the Advanced settings. Then you can give Admin group full access.

Brazil2
25th March 2009, 22:42
Reason : Microsoft maintains a list of preferred codecs in the following registry key : HKEY_CLASSES_ROOT\MediaFoundation\Transforms\Preferred
This key cannot be modified even in admin mode (this is a protected area, like system files).
So this list cannot be modified.
How lame is that.
When will they understand that it is MY computer and not Microsoft's computer so I decide what to use on MY computer. No wonder why more and more people are switching to Linux.

Not to mention, as said already, the possible legal issues with this behaviour forcing the use some specific codecs.


something tells me a lot ppl(including me) will stick to XP SP3 until the end of days :D

at least, if they would let us disable Cleartype...I hate blurry fonts :mad:
Yep, same here, still on XP and will be for a long time I think.
The Clearype thingy is just another example of this madness thinking that the OS knows better than us what to do and what to use.

Anyway, I'm already on a XP-Debian dual boot for months. Enough is enough.

Dark Eiri
26th March 2009, 00:22
I posted some time ago about this. Since 7 Beta I can't use any external codecs or filters on WMP and MediaCenter.
The only way to use CoreAVC was to use MKV container, since WMP didn't have internal splitters for it, it went for Haali and then CoreAVC. MP4 and everything else was internal decoders only. New builds seem to already have internal MKV splitters, so... g'bye for good.

squid_80
26th March 2009, 01:56
New builds seem to already have internal MKV splitters, so... g'bye for good.
Wait, are you saying Windows 7 has built-in support for Matroska?

RunningSkittle
26th March 2009, 02:32
i can confirm that build 7000 and 7048 do not have native matroska support.

CruNcher
26th March 2009, 03:18
You can edit this key after adjusting its security permissions. First change the ownership from TrustedInstaller to Admin group. You can do that in the Advanced settings. Then you can give Admin group full access.

So virtually that fixes the problem now i wonder if that is Microsofts preferred (MSDN) way of 3rd Parties to do it or more like Register your filter @ Microsoft for usage in our Products first ;)
They not dumb they for sure didn't oversaw this problem so it suggests that they want you to call them for being able to use your filter in their framework maybe it's something that has to do with their new Security in Mind credo ;)
It also would fit to the 64 bit Kernel Protection Strategy would make 32 Bit also a little more secure, though of course the whole Open Source way is threatened by this, and im not sure if taking Security as a Shield to force these Practices further and further into their OS will hide the real intention (JailDows) i mean the normal user can't really see what's going on but we power user feel more and more restrictions and me being a over 10 year Windows user slowly get's tired of it.
Every year it's like we lose more and more control of our own machines and that's a steady ongoing thing and is being forced to the next level "Hardware" slowly and Software gets more and more prepared for it (.NET) and that all in the name of Security ? and in the same time Politics try to decimate knowledge about Security related stuff, it feels scary somehow really scary.

squid_80
26th March 2009, 03:29
i can confirm that build 7000 and 7048 do not have native matroska support.
That's what I figured. Let's save the "Windows supports MKV!" statements for April Fools. ;)

albain
26th March 2009, 08:19
Well with build 7057 Haali's splitter is used for MKV but the H264 decoder that is selected is the MS DMO one.

This is the reason why I asked Haali to implement an option to force a given decoder or even better to reproduce the decoder selection like old time : enumerating codecs according to the media type and their merit.

albain
26th March 2009, 10:24
You can edit this key after adjusting its security permissions. First change the ownership from TrustedInstaller to Admin group. You can do that in the Advanced settings. Then you can give Admin group full access.

You're right, but this is a hack and it won't work in an installer

djloewen
26th March 2009, 13:56
Well with build 7057 Haali's splitter is used for MKV but the H264 decoder that is selected is the MS DMO one.

Would this allow a person to add .mkv files to the Windows Media Player library, and organize them using metadata? 'Cause you sure can't on Vista...

clsid
26th March 2009, 17:47
You're right, but this is a hack and it won't work in an installer
With SetACL it is possible to take ownership of files and registry keys :)

Dark Eiri
27th March 2009, 02:00
That's what I figured. Let's save the "Windows supports MKV!" statements for April Fools. ;)

I've read it on that developing Windows 7 blog, it's in the post with the changes that have been made from Beta to RC. I highly doubt it will happen, but it seems to be true.

djloewen
27th March 2009, 03:04
I've read it on that developing Windows 7 blog, it's in the post with the changes that have been made from Beta to RC. I highly doubt it will happen, but it seems to be true.

I've managed to find this, which doesn't mention Matroska at all:

http://blogs.msdn.com/e7/archive/2009/02/26/some-changes-since-beta.aspx

If you can find the blog/post you're referring to, please pass it on, I'd be very curious to see exactly what it says.

albain
27th March 2009, 09:57
With SetACL it is possible to take ownership of files and registry keys :)

Good news, I will give it a try

cca
27th March 2009, 11:57
I just saw an article in neowin.net, here (http://www.neowin.net/news/main/09/03/26/windows-7-build-7057-blocks-third-party-video-codecs)

Richardw322
27th March 2009, 13:53
For what it's worth, I uninstalled MCE in build 7048, and use GBPVR which is a third party media center app, and I get the same behaivior. I can set up GBPVR to prefer FFDshow for h264, but when I play a MKV, it still uses the built in decoder. Note this is with MCE uninstalled. I still have Media Player installed because I like the way it handles playing albums in MP3 format (I like my albums in album order, and don't want to make playlists for them.) If MPC-HC would read tag order for MP3's I would dump WMP in a flash!!

Leak
27th March 2009, 15:06
If MPC-HC would read tag order for MP3's I would dump WMP in a flash!!
I wouldn't hold my breath, as MPC-HC's playlist functionality is just to queue files and not much else. What you're asking for would be incorporating some kind of media library, which AFAIK nobody is interested in developing.

Why not just use foobar2000 or some other audio-specialised player for audio? Using a video player for that always seemed weird at best to me...

np: The Fireman - Dance 'til We're High (Electric Arguments)

RunningSkittle
27th March 2009, 16:19
I can try out 7057 with ffdshow later, thats the latest build available.

Richardw322
27th March 2009, 16:47
I wouldn't hold my breath, as MPC-HC's playlist functionality is just to queue files and not much else. What you're asking for would be incorporating some kind of media library, which AFAIK nobody is interested in developing.

Why not just use foobar2000 or some other audio-specialised player for audio? Using a video player for that always seemed weird at best to me...


Funny, I would like one media player to play it all. Actually, for me perfection would be if MPC-HC took over all Media Center functions. Like time shift TV, play back audio and video, etc. The pieces are all pretty much there. Different strokes I guess. Oh well, I guess I could always make playlists.
:thanks:

Shakey_Jake33
27th March 2009, 17:01
MPC's strength has always been it's simplicity, without sacrificing functionality. It was Microsoft's shift towards 'all-in-one' functionality with WMP7 that prompted the creation of MPC in the first place :)

BetaBoy
27th March 2009, 17:02
I just saw an article in neowin.net, here (http://www.neowin.net/news/main/09/03/26/windows-7-build-7057-blocks-third-party-video-codecs)

Yeah.. its hit a few sites including Gizmondo (http://i.gizmodo.com/5185390/windows-7-might-block-third+party-video-codecs). But as I stated right from the get go (and everyone is trying to figure out) is seeing if we can confirm if there is an alternative way to add 'any' new ASP and AVC filters to Media Foundation. If we could guess... it would be that when Win7 hits final that MS would have some form of certification process for MF?

Lets see if we get an official response from MS as I know that the reporters that have called me said that they had already made calls to MS about it.

cca
27th March 2009, 17:11
Many users that visit this forum are advanced enough to use other player but let's not fool ourselves, the majority don't and don't really want to know about alternate players. So WMP and MCE win by default. And with the new DMO filters that play everything with DXVA, at least on nvidia cards, users will care even less. We are the minority :(

GrofLuigi
27th March 2009, 18:00
The problem with default security permissions on Vista (and I can't imagine they relaxed them on 7) for the Trusted Installer account is that they are set up initially in such a way that they don't propagate down. The keys owned by Trusted Installer are read only for Administrators.

That means - even if you had taken ownership of everything, for each and every subkey you want to delete (or modify!), you will have to grant yourself privileges - over and over again... It's not impossible, but it's very tedious. It's clearly an anti-tinker measure. :mad:

I haven't seen yet an icacls or setacl or... script that takes care of this. But maybe I haven't looked hard enough.

In the past there was just security by obscurity, now it's plain boobytrapping. :rolleyes:

GL

lexor
27th March 2009, 18:36
So, did anyone actually get a reply from MS about this? From what I'm reading here, no one developing DS components asked (one would think such developers would care), just some anonymous reporters (and there is no indication if they got a reply).

So far it looks like the same hysteria that surrounded OpenGL before Vista release.

lexor
27th March 2009, 18:40
The problem with default security permissions on Vista (and I can't imagine they relaxed them on 7) for the Trusted Installer account is that they are set up initially in such a way that they don't propagate down.

Read ArsTechnica coverage of changes in UAC in 7. Any app, with any access level can disable or circumvent it. I doubt anyone who cares about this will have UAC on in 7... there is no point.

Dark Eiri
27th March 2009, 20:16
I've managed to find this, which doesn't mention Matroska at all:

http://blogs.msdn.com/e7/archive/2009/02/26/some-changes-since-beta.aspx

If you can find the blog/post you're referring to, please pass it on, I'd be very curious to see exactly what it says.

Oh, I'm really sorry guys, I misread it. It's MOV, not MKV :(

GrofLuigi
28th March 2009, 01:10
Read ArsTechnica coverage of changes in UAC in 7. Any app, with any access level can disable or circumvent it. I doubt anyone who cares about this will have UAC on in 7... there is no point.

I was not talking about UAC, I was talking about security permissions (ACLs, security descriptors). UAC can allow or disallow operations onto ACLs, but doesn't affect them.

GL

Edit: You meant this (http://arstechnica.com/microsoft/news/2009/02/the-curious-tale-of-windows-7s-uac.ars)?

Shakey_Jake33
28th March 2009, 01:27
Lets be honest though, it's not an acceptable situation to have to be on some kind of 'trusted' list in order to be prioritised. I'm trying to avoid getting carried away with the hysteria here, but if the user doesn't have full control of what codecs they can use (hacks aside), then it's a problem.

BetaBoy
28th March 2009, 03:17
]if the user doesn't have full control of what codecs they can use (hacks aside), then it's a problem.

I think we can all agree to that!

benwaggoner
28th March 2009, 04:34
Yeah... my JAW is still on the ground here if this is true. Also.... how would this effect Silverlight's newly added H.264 support on Windows 7? ie; is Silverlight using an integrated AVC decoder or the media foundation filter?
Silverlight uses its own built-in decoders.

You see, lots of users wind up with all kinds of codec packs installed, and who the heck knows what might get called for a particular codec...

I haven't talked with the Windows team about this issue in particular, but I know that they're tracking a lot of problems users have by the "codec arms race" where codecs rate themselves much higher than they technically merit, and playback experience gets fragile or outright dysfunctional. The people here know how to debug those issues, but I'm sure you've all had to do a fair amount of codec pack fixing as well.

It's a goal of Win7 to have much broader built-in support for media files, so hopefully there will be much less need for 3rd party decoders for common technologies.

tre31
28th March 2009, 08:16
Silverlight uses its own built-in decoders.

You see, lots of users wind up with all kinds of codec packs installed, and who the heck knows what might get called for a particular codec...

I haven't talked with the Windows team about this issue in particular, but I know that they're tracking a lot of problems users have by the "codec arms race" where codecs rate themselves much higher than they technically merit, and playback experience gets fragile or outright dysfunctional. The people here know how to debug those issues, but I'm sure you've all had to do a fair amount of codec pack fixing as well.

It's a goal of Win7 to have much broader built-in support for media files, so hopefully there will be much less need for 3rd party decoders for common technologies.

While some of that is understandable, there are things that Microsoft decoders just don't do, and ffdshow does.

Still seems like a paint all with the same tar brush sort of approach when in reality there are quite good solutions out there that are not made by Microsoft, I think possibly the only Microsoft codecs/filters that I know I use regularily are the Mpeg-2 Splitter and the Video Mixing Renderer's.

Cyberlink's Powerdvd decoder's have been far ahead of Microsoft's for quite a while now ...

In the end closing things like this off too a specific few is not a good approach, unless you can certifiably say that your's are the best, and quite frankly I don't think you can - at least not yet.

(I am in no way affiliated with any development teams/codecs/companies .. this is all just my own personal opinion)

Shakey_Jake33
28th March 2009, 09:47
I don't think anyone's really critisising Microsoft for having codecs included with the OS, it makes things much simpler for the everyday user. Critisism is being directed towards that fact that it's harder for a person to opt to use their own codec if they would prefer to. Unless I'm misunderstanding things, it would require competing codecs from the likes of DivX, Apple, Nero, Cyberlink, CoreCodec to apply for a place on the trusted list, and open source solutions are basically out of luck.

ranpha
28th March 2009, 09:51
Cyberlink's Powerdvd decoder's have been far ahead of Microsoft's for quite a while now ...

In the end closing things like this off too a specific few is not a good approach, unless you can certifiably say that your's are the best, and quite frankly I don't think you can - at least not yet.



Microsoft video decoders for MPEG2 (Vista) and H.264 (WMP 12) are very good and comparable to third-party commercial decoders (like Cyberlink), if you ask me.

tre31
28th March 2009, 12:08
Microsoft video decoders for MPEG2 (Vista) and H.264 (WMP 12) are very good and comparable to third-party commercial decoders (like Cyberlink), if you ask me.

Their MPEG-2 for Vista may be ok (yes I have tried it, but not fond of vista), but their h.264 is limited at best, mp4 only - hence why this topic and debate exists (well that and the fact that they aren't providing an open framework to work with and haven't made any mention of how or if they will).

Until they can provide a solution that handles h.264 in .ts with ac3 or at least support mkv then no I don't think that they have covered a rounded h.264 solution at all, but hey that's just my opinion.

Rumbah
28th March 2009, 16:16
Why not use a blacklist instead of a whitelist? So faulty codecs can get a low priority.

Snowknight26
28th March 2009, 17:35
Their MPEG-2 for Vista may be ok (yes I have tried it, but not fond of vista), but their h.264 is limited at best, mp4 only - hence why this topic and debate exists (well that and the fact that they aren't providing an open framework to work with and haven't made any mention of how or if they will).

Until they can provide a solution that handles h.264 in .ts with ac3 or at least support mkv then no I don't think that they have covered a rounded h.264 solution at all, but hey that's just my opinion.

If anything, it's not the H.264 decoder, it's the splitter that's limited.

lexor
29th March 2009, 14:13
Well... if the point is to prevent codec hell, then limiting user choice is definitely not a solution. A solution would be to streamline GraphEdit and incorporate it into WMP and get rid of the merit nonsense.

As it is, this new blocking "solution" solves nothing (because no one will use it), and creates more problems for those who'll try.

clsid
29th March 2009, 14:57
The real solution would be to include an application in which the user can select his preferred source filters and decoders. Similar to the "Default Programs" functionality of Windows, where users can configure their preferred software and file associations.

Such app could default to Microsoft's own filters and label them as recommended or something. They could even add some filter management functionality for third party stuff. Or warn a user about "bad" installed filters. The possibilities are endless.

plonk420
29th March 2009, 20:03
first thing i did after installing Win7 (well one of the first few things) was download CCCP Project. it was only after some newbie troll on anandtech was moaning about WMP that i tried it in order to prove him wrong.

couldn't get it to run for more than 4-5 hours to save my life.

i never DID get MPC to crash ;) (closed it after 24-32 hours+)

truth be told, i THINK the first update to WMP got it pretty stable. can't remember tho.


*used a so-so test of just running 5 different media files endlessly for hours

tre31
29th March 2009, 22:01
The real solution would be to include an application in which the user can select his preferred source filters and decoders. Similar to the "Default Programs" functionality of Windows, where users can configure their preferred software and file associations.

Such app could default to Microsoft's own filters and label them as recommended or something. They could even add some filter management functionality for third party stuff. Or warn a user about "bad" installed filters. The possibilities are endless.

I support your approach, sounds logical while still providing both solutions.

lexor
29th March 2009, 22:02
The real solution would be to include an application in which the user can select his preferred source filters and decoders. Similar to the "Default Programs" functionality of Windows, where users can configure their preferred software and file associations.

Such app could default to Microsoft's own filters and label them as recommended or something. They could even add some filter management functionality for third party stuff. Or warn a user about "bad" installed filters. The possibilities are endless.

You are just describing GraphEdit with profiles. How is that not what I said?