- Add more checks IDirectSoundCapture::CreateCaptureBuffer
- Implement IDirectSoundNotify interface
- Needs work from ks / portcls to work on formats supported natively by the driver
svn path=/trunk/; revision=43997
- Implement stereo to mono channel conversion
- Create a thread which performs the mixing
- Fixes messed up voice recording in Skype 3.6
svn path=/trunk/; revision=43994
- Move the resource routines to their own file instead of sysinfo.c.
- Add missing members to PCIPBUSDATA.
- Kill old, unused generic.rbuild.
svn path=/trunk/; revision=43991
Only 2 shift states are supported for now, I have to add a lot more output generation code to get at least 3 states up and running.
svn path=/trunk/; revision=43985
- CdfsVerifyVolume: Disable the delivery of normal Kernel APC's before acquiring resource and re-enable APC's after releasing resource. Fixes ASSERT from ntoskrnl/ex/resource.c. Noticed by Stefan.
svn path=/trunk/; revision=43982
Gabriel Ilardi
- Properly stub SHSetUnreadMailCountW and SHGetUnreadMailCountW to unregress Thunderbird and possibly other email clients.
See issue #4940 for more details.
svn path=/trunk/; revision=43971
A full-fledged file will have ligature data, up to 8 shift states, dead keys, etc, but that's not stuff we'll have to deal with at first for simple layouts.
By tomorrow we should be able to fully process and generate latin-alphabet-based language keyboard layouts.
svn path=/trunk/; revision=43970
- The physical memory support relies on several Mm variables and structures to be properly set up. Add a new flag, MiDbgReadyForPhysical, and set it when the debugger support can handle physical memory requests.
- Protect this page with a Memory Area to make the old Mm keep its dirty hands off it.
- Does not support I/O space or cache flags yet.
- Add generic KeInvalidateTlbEntry to invalidate a single TLB entry for a given address instead of flushing the whole TLB. Used by the debugger physical memory support as invalidating the whole TLB for every map and unmap of its debug PTE would incur significant overhead for large copies. Replace direct usage of __invlpg() with this in x86 code too.
- Fix incorrect cache flag check and set in KdpRead/WritePhysicalmemory for write combined requests. The debugger's Uncached flag was checked instead of the Write Combined flag, and the debuggers Write Combine number (0x3) was set instead of Mm's flag (0x20).
- Fix implementation of MmIsAddressValid (at least for x86; other architectures will need more checks). Just check the Address' PDE and PTE valid bits instead of using Memory Areas.
- Add missing ASSERTs to ensure the Memory Areas for paged pool, the PCR page, and the Shared User Data page are created.
- Add missing Memory Area for the 2 pages HAL currently uses for its own mappings on x86 -- previously, those pages could have been allocated by other parts of the OS, which would have resulted in serious corruptions.
svn path=/trunk/; revision=43960
- Fix the "fix" of un-protecting the 7 IDT entries on P5 in HAL's BIOS call code when setting the custom Invalid Opcode handler. The IDT was unprotected but the write protection wasn't reapplied after the BIOS call, breaking the work around.
Other:
- KdDebuggerEnabled is a BOOLEAN, so don't do a dword compare in KeUpdateSystemTime.
- Use better comment for the hack where we always allow page faults to be handled, even if they the fault occured with interrupts disabled.
svn path=/trunk/; revision=43958
The main parsing loop is pretty much done, now the tool "just" has to merge the states and perform a check for duplicate entries. Then it'll be ready to generate the output files.
svn path=/trunk/; revision=43949
- Fix a bug in KsCancelIo which accessed already freed memory
[PORTCLS]
- Cancel all audio stream irps when the it is used in looped stream mode. Fixes re-opening of playback / capture devices in DSound.
- Remove dead code
svn path=/trunk/; revision=43945
The tool does some minimal error checking for now, and attempts to begin parsing the LAYOUT section, but fails miserably and the code won't execute unless you've enabled verbose mode. I'm just using this commit as a checkpoint for now.
Also fixed SCVK structure to use the last member as a state flag.
Finally, added definitions for LAYOUTENTRY which will keep track of each row's column's values in the LAYOUT.
svn path=/trunk/; revision=43944
- Paint the desktop only when getting WM_ERASEBKGND message, and do nothing in WM_PAINT. This is the behavior Windows and Wine implement.
- Add WM_CLOSE stub-handler, though it doesn't change much now - all messages unhandled by the switch are going to return "0" since this proc doesn't call DefWndProcHandler.
svn path=/trunk/; revision=43934
- Partly implement IDirectSound8::GetCaps
- Implement IDirectSound8::Compact
- Verify if wrong guid is passed in IDirectSound8::Initialize
- Allow construction of IDirectSound8 object via CoCreateInstance
- Fix more dsound_winetest failures
- dsound_winetest dsound is now down to 31 / 178 failures
svn path=/trunk/; revision=43933
- Check for invalid guids passed to IDirectSoundCapture::Initialize
- Add support for creating IDirectSoundCapture object via CoCreateInstance
- Close pin handle when the capture buffer is released
- Implement IDirectSoundCaptureBuffer::GetCaps, IDirectSoundCaptureBuffer::GetCurrentPosition, IDirectSoundCaptureBuffer::GetFormat, IDirectSoundCaptureBuffer::GetStatus, IDirectSoundCaptureBuffer::Start
- Compute a compatible pin format when the format is not supported natively by the driver
- Fix shadowing of global variable (Usurp)
- Verify that directsound global info has already initialized in IDirectSound8::Initialize
- dsound now fails 49/650 on dsound_winetest test:capture (mixing needs to implemented) The remaining tests fail due to unimplemented functionality in portcls / ks / dsound
svn path=/trunk/; revision=43930
- SignalledConnectionsList is now only used for connections that have pending requests
- Remove another unused member from CONNECTION_ENDPOINT
svn path=/trunk/; revision=43926