Details
-
New Feature
-
Resolution: Won't Fix
-
Major
-
None
-
None
Description
Windows has a default media player provided as a core part of the system. It is not just a media player, being so tightly integrated into Windows it is used by (some/many?) apps to produce all the sounds and video that emanate from normal program usage.
On Windows, ActiveX/COM allows access to system level components and one of those components that is defined as a system level resource is the windows media player (WMP). COM allows programs to make calls to WMP to allow applications to play embedded videos or audio tracks within their applications without having to design their own player and bundle their own codecs. The use of WMP means that a far greater range of codecs will be available and the chances of being able to play a particular type of file are increased. Without such a player these Windows applications will not function as intended.
See the description here: https://docs.microsoft.com/en-us/windows/desktop/wmp/about-the-player-object-model
ReactOS already has such bundled apps as games and the ReactOS version of paintbrush. So, the concept of bundling apps is already set, ie. it is perfectly OK to have apps bundled with ReactOS and ReactOS will have them when released.
A Windows Media Player type application would be essential to replace the windows media player that came bundled with Windows, it will need to be a straight drop in replacement for WMP.
Indeed, users expect the basic components of an o/s to be present and although RAPPS allows users to install the components they need, some applications are integrated into the o/s far more than others. I would suggest that we use the open source Media Player Classic as ReactOS own embedded version of WMP and to ensure that active X/COM controls can see Media Player Classic, just as WMP is exposed as the default media player in Windows.
Media Player Classic is written in C++ and is open source and supported. It seems to me that the only thing missing from Media player classic is the active X control that allows Windows programs access to its functions. With that control in place it might be a perfect drop-in replacement for WMP.
If that (as yet unwritten) Media Player Classic Active X control had a different name perhaps there could be a small stub that captures any calls to the default class id for WMP and redirects them to the default media player? - or perhaps the WMP control names could simply be re-used and re-applied to Media Player Classic ?