Commit graph

44261 commits

Author SHA1 Message Date
Johannes Anderwald ea8f6ef311 [AUDIO-BRINGUP]
- Move irp completion to CompleteRequest function for debugging of multiple irp completion bugs
- Remove bugs asserts in IKsDevice_PnpStartDevice
- Set device to started when the device does not need pnp notification
- Don't complete the irp in IKsDevice_Create, the driver has already done this
- Comment out UNIMPLEMENTED macro in KsFilterAttemptProcessing
- Fix check in FindMatchingCreateItem
- Don't set DO_DIRECT_IO flags on PDO devices
- Set DO_DEVICE_INITIALIZING flag on PDO device 
- Construct device name with swprintf
- Add check if the device entry has already been constructed
- Zero device capabilities
- Implement bus watchdog routine. The routine checks if pdo has successfully been started, otherwise the pdo is marked invalid and the deleted and then constructed again. If the pdo has been started, all pending irp requests are completed with STATUS_REPARSE. (This is probably not supported by Ros kernel yet)
- Acquire device entry list lock when working with device entries
- Always store status code in irp for all Ks bus api routines
- Handle IRP_MN_REMOVE_DEVICE
- Start watchdog timer when IRP_MN_START_DEVICE is received
- Ros KS nos successfully initializes and all audio devices appear in VBOX+WinXP+SP3. Playback not yet working (Needs KsAttemptFilterProcessing for splitter and friends)
- TODO: enhance time out to make audio system initialize faster

svn path=/branches/audio-bringup/; revision=50079
2010-12-21 13:06:47 +00:00
Johannes Anderwald 8baebdbded [AUDIO-BRINGUP]
- Move software bus functions into swenum.c
- Add missing #undef INTERFACE in ksiface.h
- Partly implement KsRemoveBusEnumInterface
- Implement KsServiceBusEnumPnpRequest, KsServiceBusEnumCreateRequest, KsIsBusEnumChildDevice, KsInstallBusEnumInterface, KsGetBusEnumPnpDeviceObject, KsCreateBusEnumObject, KsGetBusEnumParentFDOFromChildPDO, KsGetBusEnumIdentifier
- KS now supports the software bus driver
- As a side effect, ks.sys now fully works in Windows XP
- Tested with VBox+WINXP SP3+

svn path=/branches/audio-bringup/; revision=50067
2010-12-20 02:45:18 +00:00
Johannes Anderwald 219cbd064d [AUDIO-BRINGUP]
- Implement SwDispatchPower

svn path=/branches/audio-bringup/; revision=50036
2010-12-16 11:56:12 +00:00
Johannes Anderwald 7a85cb26a1 [AUDIO-BRINGUP]
- Fix several bugs in SwDispatchPnp routine
- Routine did not complete requests, when KsServiceBusEnumPnpRequest successfully handled the request
- Software bus driver did not handle resource lists irps
- Software bus driver did not support querying pnp device state
- Software bus driver leaked the irp for IOCTL_SWENUM_GET_BUS_ID requests in SwDispatchDeviceControl
- Software bus driver is now successfully initializes in XP and audio devices are present

svn path=/branches/audio-bringup/; revision=50035
2010-12-16 11:10:45 +00:00
Johannes Anderwald fe9ca5c028 [AUDIO-BRINGUP]
- Trying to activate the software bus driver. Needs more work

svn path=/branches/audio-bringup/; revision=50034
2010-12-16 09:09:43 +00:00
Johannes Anderwald 7a95ed1cfa [KS]
- Fix 2 bugs in KsCreateBusEnumObject. It didnt store the allocated device extension and it didnt store the PnpDeviceObject when it was provided by the caller
- Implement KsGetBusEnumIdentifier, KsGetBusEnumPnpDeviceObject

svn path=/branches/audio-bringup/; revision=50012
2010-12-11 19:44:15 +00:00
Johannes Anderwald 30d346530e [AUDIO-BRINGUP]
- Implement a timeout handler, which detects whether the audio thread has hung. The code has not yet been activated
- Remove unused members

svn path=/branches/audio-bringup/; revision=50001
2010-12-10 11:03:28 +00:00
Johannes Anderwald f93d9928e3 [AUDIO-BRINGUP]
- Implement WODM_RESTART / WODM_PAUSE
- Fixes playback in Audacity and many others probably

svn path=/branches/audio-bringup/; revision=49999
2010-12-10 08:23:20 +00:00
Johannes Anderwald 6c695cc12d [AUDIO-BRINGUP]
- Fix broken wave recording

svn path=/branches/audio-bringup/; revision=49998
2010-12-10 07:41:44 +00:00
Johannes Anderwald a0f720954d [AUDIO-BRINGUP]
- Implement WdmAudResetStreamByMMixer, StopStreamingInSoundThread
- WIDM_RESET / WODM_RESET are now implemented
- Skipping now audio bytes (i.e. jumping to different audio position) now properly works and no longer causes a hang under certain conditions

svn path=/branches/audio-bringup/; revision=49997
2010-12-10 06:14:10 +00:00
Johannes Anderwald 7ae8c563cc [AUDIO-BRINGUP]
- Respect channel count which defines if the control acts uniform or per channel
- Fix bug in MMixerSetGetMuxControlDetails

svn path=/branches/audio-bringup/; revision=49993
2010-12-09 11:33:58 +00:00
Johannes Anderwald 5e2f536e5c [AUDIO-BRINGUP]
- Implement MixerEvent callback in wdmaud.drv
- Comment out assert which is hit in VmWare
- Implement full support mux controls

svn path=/branches/audio-bringup/; revision=49990
2010-12-08 19:49:28 +00:00
Johannes Anderwald 568ec33a57 - Fix build #2
svn path=/branches/audio-bringup/; revision=49984
2010-12-07 22:24:33 +00:00
Johannes Anderwald fc15c3f30b - Add temporary hack to prevent MS Sndvol32 from crashing
- Found by smiley

svn path=/branches/audio-bringup/; revision=49983
2010-12-07 22:22:24 +00:00
Johannes Anderwald 133053626b - Fix compile #1
svn path=/branches/audio-bringup/; revision=49981
2010-12-07 21:58:43 +00:00
Johannes Anderwald 64a772037e - Revert 49927 "Update to trunk" as it breaks KsStudio (again)
svn path=/branches/audio-bringup/; revision=49979
2010-12-07 21:46:43 +00:00
Johannes Anderwald 2b777abf96 [AUDIO-BRINGUP]
- Silence traces

svn path=/branches/audio-bringup/; revision=49975
2010-12-07 17:46:25 +00:00
Johannes Anderwald 4cf9ead133 [AUDIO-BRINGUP]
- Fix major bug which made change volume / mute requests fail

svn path=/branches/audio-bringup/; revision=49972
2010-12-07 15:52:25 +00:00
Johannes Anderwald 062790010c [AUDIO-BRINGUP]
- Implement registering source / destination lines + controls of alternative mixers
- Implement support function for retrieving mixer by name

svn path=/branches/audio-bringup/; revision=49970
2010-12-07 15:19:22 +00:00
Johannes Anderwald 6a0327f62c [AUDIO-BRINGUP]
- Fix error message when mmixer library has failed to initialize
- Remove device handle from MIXER_INFO as a mixer can span over more than one device (i.e. mixer, wave)
- Add device handle to mixer control struct
- Store mixer controls in list than in array. Will later be used to add hacks (i.e wave line must have volume controls etc)
- Add reserved member to topology pin struct and mark used pins as reserved. It is then used to add alternative mixers destination lines

svn path=/branches/audio-bringup/; revision=49967
2010-12-07 10:29:57 +00:00
Johannes Anderwald 4256033623 [AUDIO-BRINGUP]
- Implement support for retrieving mux mixer controls 
- Implement support for on/off controls
- Store logical pins for nodes connecting to another nodes. Currently not yet used


svn path=/branches/audio-bringup/; revision=49965
2010-12-06 16:00:06 +00:00
Johannes Anderwald 3da0b30d8a [AUDIO-BRINGUP]
- Implement determination of the channel count for source mixer lines

svn path=/branches/audio-bringup/; revision=49960
2010-12-06 02:15:33 +00:00
Johannes Anderwald 4a8590e0d6 [AUDIO-BRINGUP]
- Add advanced flags of KSPROPERTY_MEMBERSHEADER

svn path=/branches/audio-bringup/; revision=49959
2010-12-06 01:43:55 +00:00
Johannes Anderwald b913ec3d17 [AUDIO-BRINGUP]
- Fix the famous node property handler bug, leading to lots of audio related crashes

svn path=/branches/audio-bringup/; revision=49958
2010-12-06 01:06:37 +00:00
Johannes Anderwald d8bb0e8df8 [AUDIO-BRINGUP]
- Remove installation of non-existant wdmaud / sysaudio / kmixer

svn path=/branches/audio-bringup/; revision=49956
2010-12-05 21:31:33 +00:00
Johannes Anderwald f5a193a41b [AUDIO-BRINGUP]
- Properly determine the component type and target type of source lines
- Correctly set dwDestination / target type / component member for source lines

svn path=/branches/audio-bringup/; revision=49955
2010-12-05 18:01:24 +00:00
Johannes Anderwald f0b3c9997f [AUDIO-BRINGUP]
- Fix line ids of source lines
- Fix calculating line id of source lines
- MS sndvol32 is still crashing in user32

svn path=/branches/audio-bringup/; revision=49951
2010-12-04 18:53:51 +00:00
Johannes Anderwald a7d4c7146b [AUDIO-BRINGUP]
- More fixes for mmixer library
- Store destination lines sharing the same mixer object in the same object
- Fix generating destination lines id / soure lines
- Add mux node for input mixers
- Disable code which checked if the topology node has already been reserved for an another line. Tests in WinXP concluded that ms does not do this at all, though documentation claims it
- Add source line to the correct destination line
- Fix a memory leak
- Fix tons of bugs in MMixerGetLineInfo



svn path=/branches/audio-bringup/; revision=49949
2010-12-04 17:45:48 +00:00
Johannes Anderwald 6cee9e1837 [AUDIO-BRINGUP]
- Pass audio device id to wdmaud.drv callback functions
- Extend VALIDATE_MMSYS_PARAMETER macro
- Handle case when the caller does not pass handle of mixer, but a device id
- Pass device id to mmixer library
- Remove dead code
- MS sndvol32.exe now gets further, but crashes in user32 IntCallMessageProc

svn path=/branches/audio-bringup/; revision=49931
2010-12-03 16:49:33 +00:00
Johannes Anderwald 6c8e7899a9 - Update to trunk
svn path=/branches/audio-bringup/; revision=49927
2010-12-03 15:05:26 +00:00
Johannes Anderwald 16d979e4ad - Merge from trunk
- Hackfixed to build

svn path=/branches/audio-bringup/; revision=49924
2010-12-03 13:37:09 +00:00
Johannes Anderwald c47ea5cd38 - Merge from trunk
- Hackfixed to build

svn path=/branches/audio-bringup/; revision=49923
2010-12-03 13:32:50 +00:00
Johannes Anderwald 8e0af0da53 [AUDIO-BRINGUP]
- Remove wdmaud test code

svn path=/branches/audio-bringup/; revision=49920
2010-12-03 11:53:15 +00:00
Johannes Anderwald a5d898e1ac [AUDIO-BRINGUP]
- Check if library has already been initialized
- Remove function macro for legacy (wdmaud.sys connection)

svn path=/branches/audio-bringup/; revision=49919
2010-12-03 11:47:43 +00:00
Johannes Anderwald 0db537dac8 [AUDIO-BRINGUP]
- Fix opening of mixer / midi devices

svn path=/branches/audio-bringup/; revision=49917
2010-12-03 11:14:29 +00:00
Johannes Anderwald 458fddc634 [AUDIO-BRINGUP]
- Activate dsound rewrite

svn path=/branches/audio-bringup/; revision=49911
2010-12-03 03:42:10 +00:00
Johannes Anderwald 8e1a78a39c [AUDIO-BRINGUP]
- Enable mmixer library in wdmaud.drv
- Delete unused code
- Don't call wave streaming handler again from the io completion callback. As this will sooner or later will cause crash because the stack got eaten
- Create a thread for each io packet and handle the completion callback within it. 
- Audio packets are now directly routed from winmm -> wdmaud.drv -> portcls instead of winmm -> wdmaud.drv -> wdmaud.sys -> sysaudio.sys -> kmixer.sys -> portcls.sys
- Needs more testing & fine tuning, to fixup audio glitches

svn path=/branches/audio-bringup/; revision=49910
2010-12-03 03:39:55 +00:00
Johannes Anderwald 4bafd25194 [AUDIO-BRINGUP]
- Delete wdmaud, sysaudio, kmixer

svn path=/branches/audio-bringup/; revision=49909
2010-12-03 03:36:28 +00:00
Timo Kreuzer 1a20b0bd9c [NTOSKRNL]
patch by Samuel Serapion:
Implement MemorySectionName case for NtQueryVirtualMemory. Protect buffer access with SEH.

See issue #5753 for more details.

svn path=/trunk/; revision=49898
2010-12-02 14:37:16 +00:00
Aleksey Bragin ed5da47acd [FINDSTR]
- Port findstr (incomplete, as author of this patch states, it may satisfy RosBE, .c .h and .rc files) from FreeDOS project. Needed for RosBE-on-ReactOS support.
See issue #5724 for more details.

svn path=/trunk/; revision=49875
2010-11-30 19:14:41 +00:00
Aleksey Bragin 7ca7ff0cbd [CMD]
- Carlo Bramix: MultiByteToWideChar() has just 6 and not 8 parameters, probably it's a forgetten copy/past from WideCharToMultiByte().
- Carlo Bramix: ConvertULargeInteger() should have its parameter 'Len' declared as UINT rather than 'INT'. This fixes a signed/unsigned mismatch warning.
See issue #5678 for more details.

svn path=/trunk/; revision=49873
2010-11-30 16:38:53 +00:00
Aleksey Bragin 76b3ad6788 [DDRAW]
- Jerome Gardou: Almost all of the ddraw->refcount winetests pass. One remains, due to the fact that IdirectDrawSurface::SetPalette is unimplemented. IDirectDraw::Createpalette is implemented too, but needs testing. There are no parameter checks.
- Comments from me: The patch is not build-tested, however I did my best to merge it to existing ddraw and I prefer the actual code to be in the repository rather than hanging in bugzilla for years (last comment to the patch is dated 29.10.2009).

See issue #4909 for more details.

svn path=/trunk/; revision=49872
2010-11-30 16:29:49 +00:00
James Tabor 081b22869e [User32]
- Fixed export for PrintWindow see bug 5466 and 5609.

svn path=/trunk/; revision=49861
2010-11-29 16:48:27 +00:00
Pierre Schweitzer 6a6c5e47e6 [NTOSKRNL/NEWCC]
Init Dummy var even if just used for debug to suppress warning

svn path=/trunk/; revision=49858
2010-11-28 22:33:19 +00:00
Pierre Schweitzer e8615c4221 [DDK]
FsRtlRemoveBaseMcbEntry() return is VOID

svn path=/trunk/; revision=49851
2010-11-28 16:43:40 +00:00
Amine Khaldi 14dc931ab1 [NTOSKRNL/MM]
- Fix the use of an uninitialized variable.

svn path=/trunk/; revision=49850
2010-11-28 16:38:51 +00:00
Pierre Schweitzer b0fb94b1f3 [NTOSKRNL]
Never read code & commit while being tired...

svn path=/trunk/; revision=49848
2010-11-28 16:33:56 +00:00
Aleksey Bragin 5afe6c4f39 [ATL]
- Ettl Martin: Make CComCriticalSection destructor virtual.
See issue #4975 for more details.

svn path=/trunk/; revision=49840
2010-11-28 12:10:59 +00:00
Timo Kreuzer 205fe71c5d [CRT]
Fix another typo

svn path=/trunk/; revision=49836
2010-11-28 09:53:22 +00:00
James Tabor 52a1227b43 [User32]
- Sync up with wine 1.2 rc6 menu so it will pass the tests from rev 47939.

svn path=/trunk/; revision=49834
2010-11-28 01:37:16 +00:00