Log in

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


Pages : 1 2 [3] 4 5 6

clsid
8th May 2009, 13:11
I think it's fair to say it's about 3rd party codecs randomizing things. Codec packs are the worst since their number of .dll to hours of testing ratio is problematic :), but DirectShow just wasn't architected to handle the explosion of different decoders.Sorry, but that is a very n00bish statement of yours. The average video conversion/video editing/burning/mobile phone software bundle contain as least as many DirectShow filters as most codec packs. But the worst thing is that those software bundles install that stuff without its users being aware of it. If a user has a problem after installing a codec pack, it is obvious what the likely cause is, and he/she can simply uninstall it or seek help. Furthermore, most codec packs use filters that are also widely used outside of packs, so the testing argument is nonsense.

Certain codec packs are much more sophisticated than you seem to be aware of. For example the detection of known buggy codecs/filters, detection of incorrectly registered stuff, detection of stuff that is already installed on a users computer, etc.

Not all packs consist of dozens of codecs/filters. In fact some are pretty small, with just a handful of filters. Containing stuff that most users on this forum also use and recommend, such as MPC, ffdshow and Haali splitter.

It would be helpful if you could give specific examples of things that packs do wrong. And with specific I mean mentioning names of bad codecs/filters, wrong settings, and other behavior you consider bad. Then packs may get improved.

Now you are just saying: "Windows ME was bad, so Windows 7 must be bad as well".

benwaggoner
8th May 2009, 17:22
Sorry, but that is a very n00bish statement of yours. The average video conversion/video editing/burning/mobile phone software bundle contain as least as many DirectShow filters as most codec packs. But the worst thing is that those software bundles install that stuff without its users being aware of it. If a user has a problem after installing a codec pack, it is obvious what the likely cause is, and he/she can simply uninstall it or seek help. Furthermore, most codec packs use filters that are also widely used outside of packs, so the testing argument is nonsense.

Certain codec packs are much more sophisticated than you seem to be aware of. For example the detection of known buggy codecs/filters, detection of incorrectly registered stuff, detection of stuff that is already installed on a users computer, etc.

Not all packs consist of dozens of codecs/filters. In fact some are pretty small, with just a handful of filters. Containing stuff that most users on this forum also use and recommend, such as MPC, ffdshow and Haali splitter.

It would be helpful if you could give specific examples of things that packs do wrong. And with specific I mean mentioning names of bad codecs/filters, wrong settings, and other behavior you consider bad. Then packs may get improved.

Now you are just saying: "Windows ME was bad, so Windows 7 must be bad as well".
No doubt there are excellent codec packs out there. CCCP seems to work quite well in most case, although even there I've found some issues in practice with the ffmpeg it includes with some pro media tools.

The problem is we have to support the platform with all codec packs, not just the best ones. This has been a big ongoing support issue; we've got the logs (both complaints and crashes) to prove that.

I believe the thinking (again, I'm not part of Windows, so am not speaking for them in an official capacity) is that more users will be helped by eliminating the DirectShow codec priority wars in our 1st party apps than would be hampered by being locked into the new decoders. And since 3rd party apps can do whatever they want, there's an obvous alternative way to offer extensibility. Reading these forums, it seems like the users most likely to use codec packs aren't using WMP.

Dark Shikari
8th May 2009, 17:27
No doubt there are excellent codec packs out there. CCCP seems to work quite well in most case, although even there I've found some issues in practice with the ffmpeg it includes with some pro media tools.

The problem is we have to support the platform with all codec packs, not just the best ones. This has been a big ongoing support issue; we've got the logs (both complaints and crashes) to prove that.

I believe the thinking (again, I'm not part of Windows, so am not speaking for them in an official capacity) is that more users will be helped by eliminating the DirectShow codec priority wars in our 1st party apps than would be hampered by being locked into the new decoders. And since 3rd party apps can do whatever they want, there's an obvous alternative way to offer extensibility. Reading these forums, it seems like the users most likely to use codec packs aren't using WMP.So instead of having some users with good decoders and some with bad, you're going to force everyone to use bad decoders?

And don't tell me that they've "gotten better"; Microsoft has a decade-long record of producing terrible decoders. The real purpose of this is to try to destroy libavcodec's dominance on the desktop, something that Microsoft would absolutely love to do.

And it's done knowing full well that the people involved in libavcodec don't have the legal resources to call Microsoft on what is an obviously illegal monopolistic abuse (using OS dominance to defeat competitors in other markets). This isn't even a question--courts on multiple continents have already agreed that this kind of action is illegal.

benwaggoner
8th May 2009, 17:53
So instead of having some users with good decoders and some with bad, you're going to force everyone to use bad decoders?
Well, that's an emperical question. The decoders are all in the freely available RC. At this point, there's no way that Win 7 is going to change how WMP talks to MediaFoundation, but if you find a serious bug in the H.264 or other decoders, we need to know about that.

And don't tell me that they've "gotten better"; Microsoft has a decade-long record of producing terrible decoders. The real purpose of this is to try to destroy libavcodec's dominance on the desktop, something that Microsoft would absolutely love to do.
I think that's rather overstated :). We're talking about two apps here. All kinds of other decoders/demuxers can be supported in other apps. And the existing extensibilty model will work for new formats/codecs.

Anyway, the decoders are in RC right now. If that's what you're worried about, spend some time with the new decoders.

And if the built-in decodesr are simply terrible (which they aren't), then the codec pack vendors can just include their own media player ala Media Player Classic, which can then take over file type associations with user permissions. If someone makes a better WMV player than WMP, then users savvy enough to install a codec pack in the first place would be savvy enough to also install "SuperWMP" or whatever.

Remember, we're talking about the behavior of Windows Media Player here. The WMP team feels that their product will be better for most users by using specific decoders. VLC has made a similar determination.

And it's done knowing full well that the people involved in libavcodec don't have the legal resources to call Microsoft on what is an obviously illegal monopolistic abuse (using OS dominance to defeat competitors in other markets). This isn't even a question--courts on multiple continents have already agreed that this kind of action is illegal.
IANAL.

Dark Shikari
8th May 2009, 17:55
Remember, we're talking about the behavior of Windows Media Player here. The WMP team feels that their product will be better for most users by using specific decoders. VLC has made a similar determination.Good thing users can choose whether or not to install WMP rather than it being forcefully included in their operating system, right?

G_M_C
8th May 2009, 17:59
Good thing users can choose whether or not to install WMP rather than it being forcefully included in their operating system, right?

I think that's right for where the EU is concerned. So, in hindsight, a good call from the EC :)

(In the similar case where IE was concerned it has earned them some money too, cause they had to give a xx million dollars fine before MS conceded).

benwaggoner
8th May 2009, 18:03
In the end, it would be nice if WMP had a robust approach to extensibility, and if users had the option of making their own tradeoffs. Hence this thread.
Speaking of which, have you thought about using Silverlight for this?

Using the MediaStreamSource API, you could have a MKV demuxer, leverage the built-in decoders, and then translate the metadata to XAML objects for the on-screen display.

http://msdn.microsoft.com/en-us/library/system.windows.media.mediastreamsource_members(VS.95).aspx

With Silverlight 3, you can even have out-of-browser apps on the desktop, still using the security model.

And we're also introducing the Raw AV pipeline, so video and audio decoders themselves can be built in managed code.

We're really positioning Silverlight as the solution for rich media presentation, particularly for web content. WMP is focusing more on local flie playback, library management, and device sync. And because it's supposed to be the safe home for your media library and partner to all your devices, the robustness bar needs to be really, really high. Your kid shouldn't be able to install some codec pack on your machine and have your camera videos start coming out with a different color space or something. Real consumers are having a lot of real problems with the current model.

Silverlight lets you tie extensibiltiy to a particular piece of media, and uses managed code in a sandbox, so it can allow much more flexibility in implementation.

benwaggoner
8th May 2009, 18:10
Good thing users can choose whether or not to install WMP rather than it being forcefully included in their operating system, right?
I believe Win 7 does allow you to uninstall WMP if desired.

I don't know if that would help in this case, since a new player with file time associations would be needed anyway.

clsid
8th May 2009, 19:35
Remember, we're talking about the behavior of Windows Media Player here. The WMP team feels that their product will be better for most users by using specific decoders. VLC has made a similar determination.It does not only affect WMP, but DirectShow applications in general. MPC is not affected because it uses its own graph builder instead the standard DirectShow one.

I was wondering, has anyone made any performance benchmarks yet? I would love to see a comparison of Microsoft vs. CoreAVC/DivX H.264 decoders (in pure software mode). If MS can deliver similar performance and compatibility as those decoders in RTM build, then I see no need for further criticism from my side.

clsid
8th May 2009, 22:10
For those that wish to change the preferred H.264 DirectShow filter that gets used by Windows 7, have a look here:
http://forum.doom9.org/showthread.php?t=146910

DigitAl56K
9th May 2009, 00:06
Speaking of which, have you thought about using Silverlight for this?

If I did think about developing for Silverlight I would certainly worry about the long term future of my work given these changes in WMP. But this discussion isn't about Silverlight.

I believe Win 7 does allow you to uninstall WMP if desired.

Which does not change the fact that by default it's going to be installed on all Windows 7 systems as the default player.

With regard to the limitations on simultaneous applications running on Starter Edition, is WMP excluded from the application count limit or not? I would hope it would be on equal footing with third-party players. I do read that there may be some exclusions, so I'd like to understand that situation.

For those that wish to change the preferred H.264 DirectShow filter that gets used by Windows 7, have a look here:
http://forum.doom9.org/showthread.php?t=146910

That's good information to have, but it isn't really practical for the masses, and as you mention doesn't change the media foundation behavior.

benwaggoner
9th May 2009, 01:10
It does not only affect WMP, but DirectShow applications in general. MPC is not affected because it uses its own graph builder instead the standard DirectShow one.
Sure, but any app who wants to use arbitrary codecs can go that route. It's up to the app vendor to either use the default stack or not.

If there turn out to be big deficiencies in the Win 7 decoders, I'm sure we'll see the community engaging there.

I was wondering, has anyone made any performance benchmarks yet? I would love to see a comparison of Microsoft vs. CoreAVC/DivX H.264 decoders (in pure software mode). If MS can deliver similar performance and compatibility as those decoders in RTM build, then I see no need for further criticism from my side.
I haven't myself, although the demos I've seen have been impressive.

Robustness is also going to be a big plus. There's a whole lot of fuzz testing that has gone into all of those decoders. Microsoft as an entity has terrible PTSD when it comes to buffer underruns in native code :).

benwaggoner
9th May 2009, 01:21
Which does not change the fact that by default it's going to be installed on all Windows 7 systems as the default player.
Sure, but so are different decoders. One way or another any of these options would require Admin authenticated modifications to the underying system.

It seems we have a difference in sense of the size of the audience who is able, willing, and interested in installing 3rd party DirectShow filters but who wouldn't be willing or able to use a different media player app.

I personally think that's a pretty small audience, and certanly smaller than the people who had support issues given the XP/Vista model. Thus, this seems lke a reasonable appraoch to improve the average user's experience with Windows, while still offering lots of flexibility for other applications.

And it sounds like people are already figuring out ways to hack around it, which was probably inevitable anyway.

With regard to the limitations on simultaneous applications running on Starter Edition, is WMP excluded from the application count limit or not? I would hope it would be on equal footing with third-party players. I do read that there may be some exclusions, so I'd like to understand that situation.
That I have no idea about.

Ramir Gonzales
9th May 2009, 04:45
Oh, It's just the usual Microsoft way of making us believe we have such a wonderful Windows experience thanks to them. Let them do their stuff, It ain't the first time they stole other people's code and called it their own. Let them restrict the users once more, let them shoot themselves in the foot like they did with Vista.

No problem for me, there will always be smart people that get us rid of all that crap microsoft trash.

G_M_C
9th May 2009, 08:54
Well, as my last remark into this discussion is we absolutely must not forget that the vast majority of people dont care at all what codec is used. It's almost the same vast majority that doesnt even understand what "codec" means. Those people use windows, got on the internet in general, and might even try out "bittorrenting" once in a while; And they will expect the clip/video/movie to work when they just double click on it.

The problem lies in the fact that that vast majority of people i'm talking about, easily outnumber us, the guys that do know what it is all about; And subsequently that majority pays the bills at MS headquarters. That's the reason MS feels it needs to do this.

The fact that WMP can be removed from my system is a good 1st step. But the removal of the codecs should be made (more easlily) possible too. Guys like us here on Doom9 will be able to tune their system, use other codecs.

But as an European; I feel another trust-case comping up. Cause i think vendors like DivX / CoreCodec can make a viable claim with our anti-trust commissioner Neelie Kroes; And she's not very taken with MS' businessmodel anyway.

DigitAl56K
9th May 2009, 09:49
I want to go back and discuss this:

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.

Microsoft designs the media framework. One of your fellow teams designed DirectShow, including critical pieces such as Intelligent Connect for the Filter Graph Manager, whose filter merit design is a big part of the problem. So you guys see the problem emerging and when it comes to designing the next generation framework, Media Foundation, do you:

Actually implement a proper preference management interface (UI+API), or
Lock many current technology providers out of WMP?


Microsoft controls the design of the media architecture, as well as the entire OS and all of its APIs. Why are we pretending that locking down WMP is an appropriate solution?

Should I bring up the history of "Set Programs Access and Defaults" at this point? And on that note..

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.

Heh. Internet Explorer engine for browsing the web, everyone? ;)

BTW Ben I think it's worth mentioning that I understand these are not necessarily decisions you are personally responsible for, whether you stand behind them or not, and I appreciate the opportunity for discussion.

(Also, again, these are my personal thoughts)

turbojet
9th May 2009, 15:12
Well, that's an emperical question. The decoders are all in the freely available RC. At this point, there's no way that Win 7 is going to change how WMP talks to MediaFoundation, but if you find a serious bug in the H.264 or other decoders, we need to know about that.

Many people have found the same bug in the current VC-1 decoder which is completely freezing on some interlaced VC-1. I've let microsoft people know, including you, about it and it has gotten absolutely nowhere.

Not the type of support video enthusiasts or even people who just want to watch a bluray on their computer if WMP ever supports it appreciates.

Is this the type of support we are to expect?

LoRd_MuldeR
9th May 2009, 15:54
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.

Built-in support for more formats than just WMV and MPEG-1 is a great thing, yes. I totally agree!
But locking out thrid-party filters at the same time is the wrong way of achieving this! I'd even prefer no native support for H.264 over being limited to the "built-in" H.264 decoders :rolleyes:
If every new "feature" comes along with two new restrictions, then better stop adding new features...

With the same logic you lock out thid-party filters, you could lock out Firefox from Windows, because InternetExplorer is already built-in. So there's no "need" for third-party browsers.
Or you could lock out OpenOffice.org, because with MS Office available, nobody needs to use evil third-party office software. And so on.

It's really time that Microsoft stops treating third-party software (especially none-commercial stuff) as something that tries to infect their nice "perfect" operating systems with infamous alien code.
Instead they should concentrate on what an operating system is supposed to do: Provide the platform to install, integrate and run third-party software!

(And like DigitAl56K I'm aware the Benwaggoner as a Mircosoft employee has to defend opinions that aren't necessarily his own ones. So don't take this personally, please!)

turbojet
9th May 2009, 15:55
I think they'll eventually see the errors of their ways.

I have a feeling it's going to be XP N x10 as far as lawsuits go.

benwaggoner
9th May 2009, 18:50
With the same logic you lock out thid-party filters, you could lock out Firefox from Windows, because InternetExplorer is already built-in. So there's no "need" for third-party browsers.
Or you could lock out OpenOffice.org, because with MS Office available, nobody needs to use evil third-party office software. And so on.
Locking out OpenOffice would be like locking out VLC or MPC, which is not what we're talking about, and would inarguably be a bad thing.

This would be more like, say, blocking out 3rd party Office plugins that used macros to reduce the thread of macro viruses. And in fact Office turned them off by default.

Or IE not making it easy to override the GUID for a particular ActiveX component.

It's really time that Microsoft stops treating third-party software (especially none-commercial stuff) as something that tries to infect their nice "perfect" operating systems with infamous alien code.
Instead they should concentrate on what an operating system is supposed to do: Provide the platform to install, integrate and run third-party software!

(And like DigitAl56K I'm aware the Benwaggoner as a Mircosoft employee has to defend opinions that aren't necessarily his own ones. So don't take this personally, please!)
Well, I'm actually (and only!) sharing my own opinions here; it's more that these are issues I'm not involved with personally or technically, so I'm trying to share the general Microsoft perspective on these issues but not that of Windows or the team who actually builds these components.

From a big picture, I'd hope everyone could take home that

This is something that is being done to address very real ongoing customer issues.
That any 3rd party app can do whatever with the media pipeline it likes.
That WMP can be uninstalled, or have its file associations replaced by something else, so if compellingly better 3rd party solutions exist, they can be used as the primary media player on the platform
We're expanding media extensibilty in Silverlight


Feel free to argue that we're not making the right balance between security/stability and extensibility, but I hope we can agree that a meaningful issue is being meaningfully addressed here, with meaningful attemps to miinimize the impact of that for a 3rd party ecosytem. And that this isn't about hostility to format extensibilty in general; the Raw AV pipeline in Silverlight is one of our top media features for v3, and already supported in the Moonlight 2.0 Preview.

We're a big company with some big products and a whole lot of different customers we need to serve, and so we make a lot of decisions that are balancing acts between the needs of different customers.

Feedback on how these issues could be further refined in future versions of Windows are always welcome - detailed customer feedback is a huge part of how Windows evolves, particularly when it comes from a very focused community like this one.

That ssid, Win 7 is in RC, so you're not going to be seeing big architectural changes. For the short term, if you're worried about poor decoders in Win 7, the best thing you can do is install the RC, test, test, test, and file bug reports.

I don't think x264 is capable of making a bitstream that would make Win 7 barf. Trying to prove me wrong could be entertaing for us all :)...

LoRd_MuldeR
9th May 2009, 19:28
Technically there may be a difference between locking out thrid-party DirectShow filters and an applications like OpenOffice, because the former is an add-on to existing applications while the latter is a stand-alone application. But the way of thinking is the same! Instead of accepting third-party software as a desirable extension of their own products (may that be in form of an "add-on" or in the form of a stand-alone application), Microsoft tries to push their own software as a "closed" product - allowing third-party extensions only in places where they can't provide an own solution yet. Furthermore your argument that we still can use alternative players instead of WMP doesn't really apply. First of all Microsoft is heavily pushing their own solution (WMP) by bundling it with their operating system. So as a matter of fact, the majority of all Windows users is using WMP and very few people know that alternatives exist. This already is highly questionable and Micorsoft has been sentenced for that practice. Now they go one step further and lock out third-party filters from WMP. You see it? They tolerated third-party filters as long as they didn't have their own filters ready. But once they have their own solution, they lock out all competitors. So obviously they fear the competition between their own filters and the well-established third-party ones. By locking out third-party filters they avoid any competition from the very beginning. And they know very well that this will make third-party decoders/splitters MUCH less attractive for the average user! You should know that most people are extremely unwilling when it comes to installing new application and they dislike everything that doesn't look like the applications they are used to. So if they suddenly need to install some alternative media player just to use a specific third-party filter, they will rather choose they easy way and not use the third-party filter. Last but not least I'm very sure that people will be very confused when they update to Windows 7 and all of a sudden their favorite filter, which they have been using for years, doesn't work in WMP anymore. The developers of such filters will be bombed with error reports. So we can only hope that the EU trustbusters will do their job once again...

Yoshiyuki Blade
9th May 2009, 19:34
3rd party decoders/splitters always looked sloppy to me, but they work better together. I never really cared to have coreavc or something working with WMP because WMP didn't have easy and direct access to the audio/subtitle channels. The chapters didn't work with the arrow buttons either (those had to be accessed by Haali media splitter on the tray). It's not a seamless experience unless you plan on modding the player a lot, at that point I might as well use a decent 3rd party player and be done with it.

benwaggoner
9th May 2009, 19:48
Technically there may be a difference between locking out thrid-party DirectShow filters and an applications like OpenOffice, because the former is an add-on to existing applications while the latter is a stand-alone application. But the way of thinking is the same! Instead of accepting third-party software as a desirable extension of their own products (may that be in form of an "add-on" or in the form of a stand-alone application), Microsoft tries to push their own software as a "closed" product - allowing third-party extensions only in places where they can't provide an own solution yet. Furthermore your argument that we still can use alternative players instead of WMP doesn't really apply. First of all Microsoft is heavily pushing their own solution (WMP) by bundling it with their operating system. So as a matter of fact, the majority of all Windows users is using WMP and very few people know that alternatives exist. This already is highly questionable and Micorsoft has been sentenced for that practice. Now they go one step further and lock out third-party filters from WMP. You see it? They tolerated third-party filters as long as they didn't have their own filters ready. But once they have their own solution, they lock out everything that they can't control themselves. Obviously they fear the competition between their own filters and the well-established third-party ones. By locking out third-party filters they avoid any competition from the very beginning. And they know very well that this will make third-party decoders/splitters MUCH less attractive for the average user! You should know that most people are extremely unwilling when it comes to installing new application and they dislike everything that doesn't look like the applications they are used to. So if they need to install some alternative media player just to use a third-party filter, they will rather choose they easy way and not use the third-party filter. Last but not least I'm very sure that people will be very confused when they update to Windows 7 and all of a sudden their favorite filter, which they have been using for years, doesn't work in WMP anymore. The developers of such filters will be bombed with error reports...
Again, a user who doesn't know anything beyond WMP exists isn't going to know anything beyond the build in MF codecs exist either.

It seems like any user who can install and use ffmpeg etcetera can install and use MPC or whatever.

If I'm missing an important scenario here, let me know, but it seems like that's a small audience, and certainly smaller than the poeple who wind up with multiple .dlls that can support the same decoder in the same way being in conflict.

So, as Micrososft we certainly think that 3rd party extension is a critical part of the platform as a general rule, and we're offering tons of entry points for that. However, on net, Windows feels that the aggragate consumer is more likely to be happy with the new and and highly tested built-in decoders than whatever random one systems wind up with in practice. We can't assume users would only install the current versions of the best ones; we know that's not what's happening in practice. And 3rd party filtes for new formats and codecs are still supported, so this doesn't lock out innovation on that front.

If you can point to a case where there's a decoder/splitter that does important things the built-in ones can't and WMP can't access, than absolutely bring this up. But it seems like we're weighing a very real support issue with a very theoretical potential advantage here.

While having a media player built into an OS is certainly an important feature, I don't think we're doing anything to dissuade customers from using other media players, particularly those that address specialized needs.

People have long complained that Windows didn't have good support for recent standards-based media formats, which Win 7 is addressing in a big way. And they've long complained about how WMP gets messed up by different .dlls trying to do the same thing. Both are getting addressed. And this is in the general context of wanting to make Windows a better platform out of the box, and a lot more robust. We don't like hearing poeple say they have to wipe their system every few months due to system stability or .dll hell or whatever, so there's a whole lot of different efforts going on to prevent that kind of system decay. If all our users were as technical as this audience, it could be a different story, but you guys are in the top 1%, so there's a lot of protecting users from doing this they don't understand that has to happen.

If you've got a particular suggestion about how those goals could be better addressed, please share them. But I think it'd be helpful to filter that through the goals that we're trying to solve here.

Ramir Gonzales
9th May 2009, 19:58
First of all, I can understand the way of thinking as Microsoft does it, after all they are a commercial institution with all the might and power of deciding who can do what, but I suspect, for the same amount of buzz they now spread with Windows 7, they will end up like Vista another time.

People should be aware that they are offering an operating system, which in a normal sentence means an environment for programmers to work with, but their ongoing trend of creating "everything" and as fast as possible, not interested at all in the functionality nor the openness of their brewings. They are simple trying to get as much patents as possible.

There may be not so smart people hoping Windows 7 will be a new milestone, but someone a little knowledged knows that they are just further burdening every user's option to choose what they like, and they will face the consequences once again.
And in all seriously, Microsoft already knows that this same day, they just will not admit.

I hope they find enough *newbies* (being users and new computer buyers) to get rid of their Windows 7 stocks, but more experienced users will not swallow it, and they have the perfect rights to do so.

LoRd_MuldeR
9th May 2009, 20:05
Again, a user who doesn't know anything beyond WMP exists isn't going to know anything beyond the build in MF codecs exist either.

Definitely wrong. Prior to Windows 7, the WMP was pretty much useless without third-party filters. No support for MPEG-4 ASP, no support for H.264, no MP4 spiltter, no MKV splitter and I could name more. So we can safely assume that the great majority of WMP users are currently using third-party filters like ffdshow, DivX Decoder, CoreAVC and Haali Splitter. All these users will be affected :(

(Also I'd assume that the majority of DivX and CoreAVC customers still uses WMP as their primary player. Maybe DigitAl56K or BetaBody could confirm that)

Shakey_Jake33
9th May 2009, 20:11
In fairness (not wanting to get involved in the debate), I think a huge amount of people install codec packs such as CCCP and don't actually know what they are using.

Eragon4ever
9th May 2009, 20:29
If you've got a particular suggestion about how those goals could be better addressed, please share them. But I think it'd be helpful to filter that through the goals that we're trying to solve here.
Add an option "Thanks, I'm an advanced user and know what I'm doing. Now unlock this player and use the decoders I want to use."
I don't mind if the player is locked down by default but please give people like me the option to use what they want (and unlike many here in this forum I prefer WMP over MPC).

benwaggoner
9th May 2009, 20:34
Definitely wrong. Prior to Windows 7, the WMP was pretty much useless without third-party filters. No support for MPEG-4 ASP, no support for H.264, no MP4 spiltter, no MKV splitter and I could name more. So we can safely assume that the great majority of WMP users are currently using third-party filters like ffdshow, DivX Decoder, CoreAVC and Haali Splitter. All these users will be affected :(
That is an illuminating example.

A huge fraction of Windows installs are corporate desktops where there users don't have admin rights. I doubt more than 10% of PCs in the world have ever had 3rd party DS filters, but a big chunk of that 10% had problems that were very hard to fix. So a good chunk of that 10% wound up getting a wipe or "WMP stopped working." That's a disaster for the user, and the aggragate of those experience drags down Windows.

It's very easy to focus on Windows the way you and the people you talk to run it, but there's a huge variety of different sub communities with very different usage models, experinces, favorite features, and complaints.

Lots of people just use WMP as is.

And lot of people get media extensitibilty via applications, like iTunes, QuickTime, Divx, VLC, WinAmp, Cyberlink, etcetera etcetera.

(Also I'd assume that the majority of DivX and CoreAVC customers still uses WMP as their primary player. Maybe DigitAl56K or BetaBody could confirm that)
Really? Doesn't Divx come with the Divx player and take over the file type?

Snowknight26
9th May 2009, 21:06
but if you find a serious bug in the H.264 or other decoders, we need to know about that.

Would the lack of honoring the SAR flag, or the apparently horrible deblocking/resizing be considered serious bugs?

benwaggoner
9th May 2009, 21:45
Would the lack of honoring the SAR flag, or the apparently horrible deblocking/resizing be considered serious bugs?
I'm not sure what issue you're talking about, but if you've got a repro, absolutely go ahead and file it.

DigitAl56K
9th May 2009, 22:33
In fairness (not wanting to get involved in the debate), I think a huge amount of people install codec packs such as CCCP and don't actually know what they are using.

You mean those people who, running as an administrator on their own system, install a package whose purpose is to load the system up with 101 random decoders they have no clue about? The results aren't really the fault of the codec pack, are they?

And has that problem actually been solved in the new framework? Sure, WMP will now ignore your administrative attempts to change its behavior, what do all the other players do?

It goes back to my question a few posts ago - Microsoft recognized a problem in the design of the old media framework, did they choose an appropriate way to tackle that problem? I suspect the same problem is still there and if anything they've set a bad example to everyone else. It's hard to tell though, because unlike with the DirectShow equivalent I can't yet find detailed information on how IMFTopoLoader::Load works.

Really? Doesn't Divx come with the Divx player and take over the file type?

IIRC we associate ".divx" to DivX Player, and offer to also associate ".mkv", by that's opt-in unless there is no existing association.

DigitAl56K
9th May 2009, 23:00
So, as Micrososft we certainly think that 3rd party extension is a critical part of the platform as a general rule, and we're offering tons of entry points for that. However, on net, Windows feels that the aggragate consumer is more likely to be happy with the new and and highly tested built-in decoders than whatever random one systems wind up with in practice.

As a monopoly OS vendor should Microsoft be allowed to make that call?

We can't assume users would only install the current versions of the best ones; we know that's not what's happening in practice.

Doesn't Microsoft run Windows Update? Aren't Opera and Mozilla currently asking for you to offer their browsers through it?

And 3rd party filtes for new formats and codecs are still supported, so this doesn't lock out innovation on that front.

As a monopoly OS vendor should Microsoft be allowed to dictate where innovation can occur?

If you can point to a case where there's a decoder/splitter that does important things the built-in ones can't and WMP can't access, than absolutely bring this up.

So we can help strengthen your position against the competition?

But it seems like we're weighing a very real support issue with a very theoretical potential advantage here.

The advantage is fair competition. It is the very nature of competition that you may not see in advance the potential benefits that others see. That is how competitive innovation occurs.

People have long complained that Windows didn't have good support for recent standards-based media formats, which Win 7 is addressing in a big way.

All that is being asked is not to lock down the default media player shipping on the OS.

benwaggoner
9th May 2009, 23:06
You mean those people who, running as an administrator on their own system, install a package whose purpose is to load the system up with 101 random decoders they have no clue about? The results aren't really the fault of the codec pack, are they?
This is a "whole product" issue. It's not a matter of blame or fault. It's that there's an aspect of Windows and its ecosystem today that leads to a lot of customer pain. It doesn't matter what the cause of the problem is, it's happening on Windows, and customers blame us for it and yell at us to fix it.

Granted, now you guys are yelling at us about the fix, which happens most places where Windows removes old but insecure functionality. All we can do it try to listen to every stakeholder and make the change that works the best for everyone in aggragate.

And has that problem actually been solved in the new framework? Sure, WMP will now ignore your administrative attempts to change its behavior, what do all the other players do?
The right thing for the goals they're trying to achieve?

This is a self-correcting market to large degree. If there turns out to be some massive deficiency in WMP12 that makes it a poor solution, there will be lots of players jumping in to close the gap. If WMP12 actually delivers on its promise, then there wasn't a problem in the first place.

It goes back to my question a few posts ago - Microsoft recognized a problem in the design of the old media framework, did they choose an appropriate way to tackle that problem? I suspect the same problem is still there and if anything they've set a bad example to everyone else. It's hard to tell though, because unlike with the DirectShow equivalent I can't yet find detailed information on how IMFTopoLoader::Load works.
Well, that's another issue entirely; we ought to have good public documentation for all APIs. I assume you guys have MSDN and all that? Feel free to PM directly if you want.

IIRC we associate ".divx" to DivX Player, and offer to also associate ".mkv", by that's opt-in unless there is no existing association.
So it seems like you should be in good shape then. I wouldn't think people would want to view .mkv in WMP anyway, since it wouldn't be able to handle.

I remain intrigued by the idea of a MKV demuxer/player for Silverlight, however. That woudl be pretty trivial.

Is anyone experimenting with MKV for streaming/progressive, or is it always just download-and-play? It seems like all that great structured metadata could be useful in a wide variety of usage models.

benwaggoner
9th May 2009, 23:19
As a monopoly OS vendor should Microsoft be allowed to make that call?
IANAL. But obvious we have and need some latitude to make changes to make Windows better.

Doesn't Microsoft run Windows Update? Aren't Opera and Mozilla currently asking for you to offer their browsers through it?
Not that I've ever heard of. Firefox has its own quite good auto-update functionality; I haven't used Opera in ages.

As a monopoly OS vendor should Microsoft be allowed to dictate where innovation can occur?
Perhaps you mean to ask "where" not "if", but IANAL.

So we can help strengthen your position against the competition?
That's what this whole thread is about? Whether or not this change is good or bad for Windows and its users. The only way you could hamper our posiition if you gave us bad advice that we listend to :).

Anyway, if you're worried that Win 7 is going to yield a bad media experience, than help make sure that won't happen. 3rd party splitters aren't the goal, they're a tool.

The advantage is fair competition. It is the very nature of competition that you may not see in advance the potential benefits that others see. That is how competitive innovation occurs.
Agreed. And there's plenty of ways that someone with an innovative decoder and demuxer can validate it. That said, there really aren't a lot of companies who enjoy having to ship their own DirectShow components with their own players; the idea that Windows could include a much higher guaranteed baseline of functionality is rather appealing to them.

All that is being asked is not to lock down the default media player shipping on the OS.
Wasn't that addressed by making it uninstallable?

Again, I'm hearing a lot of very theoretical thoguhts on what the downsides could be, which from my perspective don't seem that compelling weighed against the robustness benefit to many users.

Perhaps it would be helpful if someone could point to a specific class of content or whatever that is known not to work here.

This kind of feels like the NZ guy's article on all the horrible things that the DRM in Vista could have done in theory, but turned out not to in practice.

DigitAl56K
9th May 2009, 23:43
This kind of feels like the NZ guy's article on all the horrible things that the DRM in Vista could have done in theory, but turned out not to in practice.

Except that this time it's not just about customer experience but competitive practice. You don't seem to acknowledge a problem there so it's fruitless for me to continue the discussion for now.

Have a great weekend folks! :)

CruNcher
9th May 2009, 23:51
IIRC we associate ".divx" to DivX Player, and offer to also associate ".mkv", by that's opt-in unless there is no existing association.

I wrote some pages back that you have to differentiate your product from others and imho DivX Player is far from user friendly nor !!warning buzzword!! "innovative" in any case for a avg user it's still a very complex dialog driven Player and in those regards MPC HC or Zoomplayer are the non plus ultra if you either think you are as advanced to use it or have the time to learn it :)
Finaly Microsoft understood that WMP needed a OSD interface tough still not enough options i wished for are accessible in a easy way but it's a improvement after all especially that you don't lose any Hardware Decoding capabilities since Vista and 7 (which i think are big improvements on the underlying Video technology that came with Vista from a Design Freedom point of view, so why thinking in the old BOX utilize them).
Mozilla shows quiet nicely how it can be done to promote a project even for avg user successfully and they gonna grow and there are some new Player on the Horizon that could be the next AVG joe hits if they done properly :) For us experienced users though we would never be happy with such easy to use Players except if they had also advanced modes to utilize that gave us full control back :)
Sure it's arguable what Microsoft does here btw they will say in front of court we try to improve the user experience, give better support as benwaggoner already mentioned and one essential reason that is like "the evil terrorism is guilty effect" protect users from Virus,Malware, Rootkit and other Malicious infections but of course it would endup in doing a certification process as always when Malicious code infections are called out as the EVIL and this would be again sort out a lot of free and os solutions because they could be potentially dangerous, so yep i want to say is all this happening out of pure coincidence or planed very carefully ?

PS: Autoruns just got Codec listing support in it's last version added, surprised ?
And if you don't like this future of Windows then i guess it's time for you to move Linux :) see the impressive improvements they made over the last 10 years you have a big alternative there now if you don't agree anymore with Microsofts politics.

kunkie
10th May 2009, 00:00
I can think of a great example of how this could go wrong.

Quicktime on Mac OSX.

Although Apple are making improvments, if you want to distribute content to Mac users running Quicktime you have to encode your files with crippled features. (No High Profile etc.) It also has a high CPU footprint when decoding. AFAIK it's not possible to properly replace Apple's decoder within Quicktime (I guess it could be possible with some reverse engineering)

End users lose out as a result of higher bitrates; content providers also have to pay for this extra bandwidth as well as reduced innovation. Users on lower end machines also have to fork out more cash to play higher-resolution video, when their current machine could have been ok.

A little OT... but does anyone feel like we do that this is getting worse? and that the Apple precedence in the industry for the closed eco-system's on the iPod, iPhone/Touch, which is now being followed up with MS doing the same (but in software)? Yes, it's 'potentially closed' since Windows 7/WMP are just RC atm and not final, but still.

Too many companies are getting bad ideas from the "walled garden software" concept that the iPhone brought in.

STaRGaZeR
10th May 2009, 00:04
benwaggoner, please respond to this:

Add an option "Thanks, I'm an advanced user and know what I'm doing. Now unlock this player and use the decoders I want to use."
I don't mind if the player is locked down by default but please give people like me the option to use what they want (and unlike many here in this forum I prefer WMP over MPC).

benwaggoner
10th May 2009, 00:22
Except that this time it's not just about customer experience but competitive practice. You don't seem to acknowledge a problem there so it's fruitless for me to continue the discussion for now.
I'm mainly looking at it from the customer perspective, sure. But I'm not clear who the competitor looking to compete in this scenario is for for you. Most of the scenarios I can think of here would also involve a custom app . Does anyone have a business around providing .dls that are largely run inside of WMP?

Every new version of every OS includes some new things where commercial products already exist. DOS didn't even incldue a full-screen text editor for many years (man, did I hate edlin). That's really inevitable, and good, since we wouldn't want ot have to pay as much for a modern OS as it would have cost 10 or 20 years ago to buy all the products to offer equivalent functionality.

But OS integrated solutions are inevitably going to breadth tools more than depth tools, and it's important the OS make room for the depth tools. However, those breadth tools will need to find places where they can provide sufficiently differentiated features.

So, I'm not saying your concerns are invalid, but that the tradeoff here seems reasonable to me given the competing goals. We've made a big improvement in real-world WMP stability/robustness, and hence Windows user experience. Apps other than WMP can default to the new model, but can opt into whatever set of technology as they see fit.

As a practical question, it'll have an emperical answer. If there are classes of real-world content for which sigiificant numbers of real-world users on Win 7 see a regression in their media consumption via WMP in specific or Windows in general, then there's a problem. If not, there isn't.

Betsy25
10th May 2009, 00:31
I think this discussion is very important for future windows experience. I still believe Microsoft should not worry about 3rd party codec experiences, since users only interested in using WMP will not install 3rd party content anyway, but at least give the users who do want to use 3rd party contents the option to do it.

BTW, What does I ANAL mean ? :)

Sagekilla
10th May 2009, 00:38
@Ben: Can we get feedback on the possibility of having the ability to tell WMP what decoders/etc it should use?

@Betsy25: IANAL means "I am not a lawyer"

benwaggoner
10th May 2009, 00:41
benwaggoner, please respond to this:
That's a reasonable general approach. The trick would be to make sure it's something the user could opt into but that could be something any authenticated app could silently set.

I don't know if that was considered and what the discison was. There's strong general pressure to reduce the amount of rarely used configuration options across Windows in order to make things less confusing for the user and to reduce the test hit.

It's roughly as expensive to make one feature with two modes as two features with one mode, so in terms of customer value per release, it's best to figure out the optimum way to do something once and do it that way than just not decied and offer multiple so-so ways. There are certainly plenty of places where the best experience is to have a few different modes, but those need to be judiciously chosen. In general, the value of the user getting the option right has to be greater then the risk from them setting it wrong.

And rest assured, any possible combination of configuartion settings anywhere in Windows will get set to every possible set by some users.

DigitAl56K
10th May 2009, 01:28
I'm mainly looking at it from the customer perspective, sure. But I'm not clear who the competitor looking to compete in this scenario is for for you.

CoreAVC, DivX, FFDShow, Xvid, Elecard, 3ivX, Nero, joe shmoe cooking up an alternative ASP/AVC decoder in his basement. I'm not looking at this from the perspective of any sole solution, but at a higher level.

Most of the scenarios I can think of here would also involve a custom app . Does anyone have a business around providing .dls that are largely run inside of WMP?

FFDShow, Xvid, CoreAVC, and of course many DivX users use WMP also, even though we do provide a player. Bundled products have a natural advantage in terms of branding, expectation, their ability to be fully integrated with the OS and media framework out-of-the-gate. Any third party, including those above, will now be limited in terms of the play they can have with the bundled product, WMP, where they were not before, and my opinion is that this stifles competition now more than ever.

Every new version of every OS includes some new things where commercial products already exist.

And it is not that Microsoft have included new things that most concerns me, it is that their bundled products, which used to be open, are now closed in key areas. It is not just that Microsoft is locking down WMP that is at issue, it is the position they are in as they do so.

As a practical question, it'll have an emperical answer. If there are classes of real-world content for which sigiificant numbers of real-world users on Win 7 see a regression in their media consumption via WMP in specific or Windows in general, then there's a problem. If not, there isn't.

Yes, there is a problem. The question is not whether the experience is regressed, it is how, given Microsoft's position, they affect the ability and viability for others to play in the space in future. If you can't understand the distinction then this discussion is futile.

http://www.reuters.com/article/technologyNews/idUSTRE51N6OA20090224

In 2007, European Union courts upheld the European Commission's finding that Microsoft violated antitrust law by bundling its Windows Media player with the Windows operating system. It also found Microsoft used illegal tactics against RealNetworks real player.

The company has been fined more than $2 billion for its violations and for failing to carry out remedies imposed by the Commission.

And to be clear for others: This is a philosophical discussion only ;)

benwaggoner
10th May 2009, 02:14
@Ben: Can we get feedback on the possibility of having the ability to tell WMP what decoders/etc it should use?
I can't imagine it'd happen in Win 7 at this point. It's in RC and so architectual features like this with a big potential test matrix aren't going to be changed without an extremely big reason.

Everyone testing Win 7 everyone who doesn't like this should please provide a bug report on it at the Connect site. That stuff is absolutely recorded and tracked.

benwaggoner
10th May 2009, 02:21
CoreAVC, DivX, FFDShow, Xvid, Elecard, 3ivX, Nero, joe shmoe cooking up an alternative ASP/AVC decoder in his basement. I'm not looking at this from the perspective of any sole solution, but at a higher level.
Well, if Divx as a business feels there is a business risk to you from this, you should absolutely go through your formal channels you with Microsoft as an ISV to discuss this. I'm just another nerd on a message board here :).

FFDShow, Xvid, CoreAVC, and of course many DivX users use WMP also, even though we do provide a player. Bundled products have a natural advantage in terms of branding, expectation, their ability to be fully integrated with the OS and media framework out-of-the-gate. Any third party, including those above, will now be limited in terms of the play they can have with the bundled product, WMP, where they were not before, and my opinion is that this stifles competition now more than ever.
And the part I bolded there is very much on our minds when we think about robustness.

And it is not that Microsoft have included new things that most concerns me, it is that their bundled products, which used to be open, are now closed in key areas. It is not just that Microsoft is locking down WMP that is at issue, it is the position they are in as they do so.
Except it's not locked down anymore. It can be uninstalled, which wasn't true before. You could also look at this as an opportunity to build a complete WMP replacement if that's of interest.

Also, this is all academic, because it presumes that there can be compellingly better components than the built-in ones. There's a RC that's as free download now. How about people give them a spin and see if they think they still need alternate implementations for the built-in demuxers/decoders.

DigitAl56K
10th May 2009, 02:29
Well, if Divx as a business feels there is a business risk to you from this, you should absolutely go through your formal channels you with Microsoft as an ISV to discuss this. I'm just another nerd on a message board here :).

Same, but I have not been speaking with specific regard to DivX ;) Thanks for the replies :)

fields_g
10th May 2009, 04:19
WMP keeps being brought up. THESE CHANGES LOCK DIRECTSHOW, NOT WMP!!!!!

Couldn't WMP just disregard non-MS certified codecs in the existing merit structure? Then the points about Microsoft wanting to protect the users of their player would be defensible. Only WMP is hobbled/protected. 3rd party players and apps using directshow still have full opportunity to use MS and non-MS codecs as they currently do.

Don't like that.... Wanna protect everything directshow... Well here is another idea.....DON'T..... Just repair it!

If Microsoft is concerned about bad codecs getting high merit and disturbing the user experience, Microsoft could "graciously" provide a tool that would reprioritize the merits of MS certified codecs. Would this be that difficult? Oh.... and make the tool run only when the user requests, not like the "Default Browser" checks we get now with IE and Firefox.

gahz
10th May 2009, 06:04
this topic wouldn't happen to be the reason why my x264 transcodes using megui is going alot slower in win7 than vista would it?

i've reinstalled vista and win7 numerous times with the same settings to make sure it isnt a fluke occurance.

djloewen
10th May 2009, 06:15
This has turned into quite the debate, and without diverting the entire stream, I do want to throw one pebble in.

If I felt that this was just one step in some giant Microsoft scheme to dominate every aspect of the PC market (like everything they did in the 90's) I'd be concerned. But I don't think that's happening. I think Microsoft has legitimate reasons for doing this, and I think their current business practices generally reflect a desire to create a cohesive PC ecosystem that includes third party vendors, while minimizing the issues that arise from such open architecture (that Apple loves to use as weapons in their ads). I'm fine using MS's codecs in WMP, and I'm comfortable using 3rd party software + codecs if for some reason I want to. I do find it interesting that the topic has sparked such heated debate, and I suspect that the complaints largely fall into two categories: those who don't agree with the statement I just made about MS's business practices, and those who have a direct interest in the decoder market (primarily CoreAVC and DivX), or supporters of either company, who feel that they are being muscled out of the ring. Here is my general response to them. Before reading on, I'd just like to quickly mention that I mean no hostility toward any individual (or company). These are just my thoughts.

I don't think that DivX should be using the word "competition" in reference to what they do, compared to Microsoft. If they are thinking that way, I don't think that's particularly healthy. And the recent H.264 DivX/CoreAVC "competition", which is not often overtly mentioned, is a bit dated to me. The world is moving on, and the consumer-level H.264 decoder (and certainly the consumer-level MPEG-4 ASP decoder) is not something that people will need to deal with anymore.

CoreAVC, you've obviously got some great talent in your corner, but as I mentioned, the world is moving on. I wouldn't spend too much time worrying about H.264 decoding at this point. I certainly don't mean to imply "settle for mediocrity" or anything of the sort. If you guys really can code the fastest H.264 decoder out there, that is absolutely something to be proud of. But will it make you money? Probably not much, anymore.

As a consumer, what I like to see companies doing is to say "in what way can we improve the technological ecosytem in general, so that consumers benefit from it, and make some money in the process?". In DivX's case, the answer lies in the fact that there is no "video standard". I can confidently say that we all regularly deal with issues of compatibility between file types, codecs and devices. Personally, the videos I encounter are my own encodes of my movie and TV collection. Here's what I want: to encode each video once, in high quality (1080p/5.1 sound if available at the source), and be able to play that file on my computer, or anyone else's computer, or stream it to my television, or play it on my portable device, or output from my portable device to a hotel television, etc. One file, that's it.

DivX is potentially in a position to facilitate that with their certification program, which I think is great. So, Windows 7 has an H.264 codec built in. Fine. If they could get a matroska splitter in there I think that would be great too (particularly since there's currently no way of having matroska metadata show up in WMP - that's one giant, smelly problem if you ask me. Microsoft or DivX, if you can get this working by Christmas, I'll send you one big freaking fruit basket). Your brand is already recognized and you make nearly all your revenue from licensing and certification. Is there a reason a consumer should want to choose your codec over Microsoft's? If you point out that yours is faster, or has a better deinterlace filter, and Microsoft says "cool, we'll make ours faster and have a better filter", don't fight it, just roll with it. As benwaggoner says, if there is a strong reason why consumers would want your particular decoder in there then please do mention it. If theirs has bugs, please report them. But if all you can do is say "ours is 5% faster", just let it go. You're not making the world a better place. Find some other venue for your coding skills that will provide greater benefit to comsumers, and make you money.

I should add that it's late, and I'm typing this rather quickly. I'm open to alternate opinions on all points, and there is the very real possibility that I haven't accurately expressed my thoughts to begin with :). So if you respond, please be nice. I'd love to hear other peoples' thoughts on this.

DigitAl56K
10th May 2009, 06:29
djloewen,

There are some interesting points in your post :) My one request would be that you don't make the mistake of interpreting my comments here as being on behalf of or in the interest of DivX - i.e. ignore my avatar for a moment :) I'm personally very interested in the future of media, and along with that comes certain personal opinions/beliefs/philosophies. I've been speaking very much more broadly around those, that's all.