reactos/drivers/multimedia
Hermès Bélusca-Maïto e1ef078741 Create this branch to work on loading of different Kernel-Debugger DLL providers, and see whether it is possible to move KDBG from ntoskrnl to a new DLL called, say, KDROSDBG.DLL.
The idea then would be to have the following behaviour (when specifying the following options in the kernel command line):

/DEBUGPORT=COMi --> load KDCOM.DLL and use COMi port (i == 1,2,3,4) if possible.
/DEBUGPORT=FOO  --> load KDFOO.DLL (useful for KDUSB.DLL, KD1394.DLL, KDBAZIS.DLL for VirtualKD, etc...)
/DEBUGPORT=ROSDBG:[COMi|SCREEN|FILE|GDB|...] --> load KDROSDBG.DLL which contains the ROS kernel debugger, and use COMi or SCREEN or... as output port.

svn path=/branches/kd++/; revision=58883
2013-04-28 13:26:45 +00:00
..
audio Create this branch to work on loading of different Kernel-Debugger DLL providers, and see whether it is possible to move KDBG from ntoskrnl to a new DLL called, say, KDROSDBG.DLL. 2013-04-28 13:26:45 +00:00
bdasup Create this branch to work on loading of different Kernel-Debugger DLL providers, and see whether it is possible to move KDBG from ntoskrnl to a new DLL called, say, KDROSDBG.DLL. 2013-04-28 13:26:45 +00:00
README Create this branch to work on loading of different Kernel-Debugger DLL providers, and see whether it is possible to move KDBG from ntoskrnl to a new DLL called, say, KDROSDBG.DLL. 2013-04-28 13:26:45 +00:00

This is a directory for the kernel streaming components, along with multimedia
kernel-mode drivers.

Much of this code exists only as stubs for future implementation.

The "include" directory exists as a place to store the KS related headers. It
should be moved to the main include tree later.

Andrew Greenwood
3rd December, 2006


== Kernel Streaming (KS.SYS) ==

Deals with streaming media. This is the core component for this, and can be
interacted with from usermode (usually via DirectX.)

XP and DirectX 8 versions of this component provide an additional suite of
AvStream API functions.

COM-style interfaces are used with this component.


== SysAudio (SYSAUDIO.SYS) ==

Filter graph builder (deals with topology.) Not sure what this does yet.


== Port Class (PORTCLS.SYS) ==

Used by WDM audio drivers, this handles many common tasks required for
audio drivers.

COM-style interfaces are used with this component.


== WDM Audio (WDMAUD.DLL / WDMAUD.SYS) ==

Effectively a relay from usermode to kernelmode, the usermode portion is a
MME-style driver (for WINMM.DLL) which tells the kernelmode portion what to do.

This typically involves interacting with KS.SYS in some way.

In Vista, the kernelmode portion is no longer present and the usermode portion
interacts with the Vista audio stack (which resides in usermode but also
ultimately ends up going back into kernelmode in the end!)


== Optional drivers ==

- sndblst	Sound Blaster (+ Pro / 16) compatible driver
- mpu401	MPU-401 MIDI compatible driver