Commit Graph

820 Commits

Author SHA1 Message Date
Michael Stefaniuc 9cb53818e8 dsound: Add COM aggregation to DirectSound for internal use. 2012-08-16 11:39:36 +02:00
Michael Stefaniuc bd4c67396b dsound: Merge IUnknown into the main DirectSoundFullDuplex object. 2012-08-16 11:39:26 +02:00
Michael Stefaniuc 6692f97e01 dsound: Add an object refcount for DirectSoundFullDuplex. 2012-08-16 11:39:14 +02:00
Michael Stefaniuc 023a19d931 dsound: Pass the object instead of ifaces to helpers. 2012-08-16 11:39:08 +02:00
Michael Stefaniuc 8588260eef dsound: COM cleanup for the IDirectSoundFullDuplex iface. 2012-08-16 11:39:01 +02:00
Michael Stefaniuc f6f8123c6b dsound: Cleanup error handling in IDirectSoundFullDuplex::Initialize(). 2012-08-16 11:38:52 +02:00
Michael Stefaniuc 885e205ade dsound: Cleanup the DirectSoundFullDuplex create functions. 2012-08-16 11:38:44 +02:00
Michael Stefaniuc 0aeaa83a22 dsound/tests: Add DirectSoundFullDuplex COM tests. 2012-08-16 11:38:36 +02:00
Michael Stefaniuc 598cc8f44a dsound/tests: Refcount tests for IDirectSoundCapture / IUnknown. 2012-08-16 11:38:23 +02:00
Michael Stefaniuc 9383affe87 dsound: IDirectSoundCapture / IUnknown use separate refcounts. 2012-08-16 11:38:17 +02:00
Michael Stefaniuc b8ffb4930f dsound: Merge the DirectSoundCapture create functions. 2012-08-16 11:38:08 +02:00
Michael Stefaniuc b18bc659d6 dsound: Avoid a TRUE:FALSE conditional expression. 2012-08-14 11:59:26 +02:00
Francois Gouget 4d24132ea4 dsound/tests: Trace the number of tested DirectSound drivers. 2012-08-13 11:52:10 +02:00
Francois Gouget ed7faad1ed dsound/tests: Clarify some skip() traces. 2012-08-13 11:52:00 +02:00
Michael Stefaniuc 4c7e608d5c dsound: Get rid of the DSOUND_QueryInterface() helper. 2012-07-19 16:01:48 +02:00
Michael Stefaniuc 9cc62d321c dsound: Handle IDirectSound by the IDirectSound8 implementation. 2012-07-19 16:01:48 +02:00
Michael Stefaniuc 6fecd3d642 dsound: Merge IDirectSound8 into the main DirectSound object. 2012-07-19 16:01:47 +02:00
Michael Stefaniuc db5344e438 dsound: Drop a redundant 'IDirectSound8' from the method names. 2012-07-19 16:01:47 +02:00
Michael Stefaniuc bf4481d3f0 dsound: Merge the DirectSound create functions. 2012-07-19 16:01:46 +02:00
Michael Stefaniuc 8978a4b51b dsound: Merge IUnknown into the main DirectSound object. 2012-07-19 16:01:45 +02:00
Michael Stefaniuc 478191c059 dsound: Cleanup IDirectSoundImpl_Create() and move it. 2012-07-19 16:01:45 +02:00
Michael Stefaniuc a565c0fadf dsound: Rename the DirectSound object refcount to "numIfaces". 2012-07-19 16:01:44 +02:00
Michael Stefaniuc 4992e6a515 dsound: Merge the two IUnknown/IDirectSound implementations for DirectSound. 2012-07-19 16:01:43 +02:00
Michael Stefaniuc e236a3c2d5 dsound/tests: Add IDirectSound refcount and COM aggregation tests. 2012-07-19 16:01:43 +02:00
Andrew Eikum bf263a347d dsound: Fail if app requests 3D buffer interface on a non-3D buffer. 2012-06-14 18:20:29 +02:00
Andrew Eikum 1cc9ecb558 dsound: Don't use IAudioClock::GetPosition to determine buffer fullness. 2012-05-16 18:30:18 +02:00
Andrew Eikum 98c653bc8b dsound: Resample to float, not device format. 2012-05-15 16:26:31 +02:00
Andrew Eikum 20356f7458 dsound: Compute mix buffer's size more accurately. 2012-05-15 11:18:07 +02:00
Andrew Eikum 5cce1d9da2 dsound: Get rid of redundant primary_mixpos member. 2012-05-15 11:17:53 +02:00
Andrew Eikum e0ccd9e399 dsound: Change mix_buffer to float instead of INT. 2012-05-15 11:17:46 +02:00
Andrew Eikum 8327e6f423 dsound: Ensure primary buffer's buffer is large enough to hold the entire prebuffer. 2012-05-14 19:58:54 +02:00
Andrew Eikum 7dce1418ff dsound: Base fragment size off of the MMDevice's period. 2012-05-14 19:58:41 +02:00
Andrew Eikum 1053bfb48d dsound: Express buffer positions in terms of bytes, not fragments. 2012-05-14 19:58:32 +02:00
Andrew Eikum 2c6087457b dsound: Remove minlen, since we always mix full chunks anyway. 2012-05-14 19:58:24 +02:00
Andrew Eikum f0be44c82d dsound: Don't destroy primary buffer until device is released. 2012-05-09 17:49:33 +02:00
Alexander E. Patrakov 275dfb83f2 dsound: Added a windowed-sinc resampler. 2012-05-08 09:29:47 +02:00
Andrew Eikum 4354be123c dsound: Don't derive the secondary position from the primary position. 2012-05-02 12:00:02 +02:00
Andrew Eikum f393a98a8a dsound: Convert from fixed to floating point. 2012-05-02 11:59:58 +02:00
Alexander E. Patrakov 93a0ca7c6c dsound: Clean up channels. 2012-05-01 19:16:23 +02:00
Alexander E. Patrakov ab4ef6636d dsound: Clean up cp_fields. 2012-05-01 19:16:00 +02:00
Alexander E. Patrakov f88f3d4149 dsound: Replace convert() functions with get() and put(). 2012-05-01 19:15:49 +02:00
Alexander E. Patrakov 0195e01990 dsound: Clean up MixToTemporary(). 2012-05-01 19:15:12 +02:00
Andrew Eikum 3ef92af6a8 dsound: Map MMDevAPI error to DSound error. 2012-04-27 11:59:44 +02:00
Andrew Eikum 1b21fe827f mmddk.h: Remove unused, Wine-specific WinMM defines. 2012-04-03 17:53:37 +02:00
Andrew Eikum 552433cf9e dsound: Validate and correct wValidBitsPerSample in primary buffer SetFormat. 2012-04-02 18:27:14 +02:00
Michael Stefaniuc 0872572a6d dsound/tests: Fix the capture COM tests for older Win2k versions. 2012-02-15 19:17:37 +01:00
Andrew Eikum 9d06d41e37 dsound: Add some more DSCAPS flags. 2012-02-14 17:59:29 +01:00
Austin English c6bda4dc17 dsound: Remove an unnecessary assignment (LLVM/Clang). 2012-01-31 13:47:39 +01:00
Michael Stefaniuc 84d5317302 dsound: Remove the now obsolete IDirectSoundBufferImpl_Destroy(). 2012-01-20 13:34:20 +01:00
Michael Stefaniuc c7f5f10aab dsound: Merge IDirectSoundNotify into the secondary buffer object. 2012-01-20 13:33:33 +01:00
Michael Stefaniuc e0d81e55e2 dsound: Merge IDirectSound3DBuffer into the secondary buffer object. 2012-01-19 21:08:49 +01:00
Michael Stefaniuc a5d2120021 dsound: Get rid of some LPDIRECTSOUND3DBUFFER usage. 2012-01-19 21:08:49 +01:00
Michael Stefaniuc 3ec0b056d5 dsound: Support IKsPropertySet in the primary buffer too. 2012-01-17 11:53:25 +01:00
Michael Stefaniuc 48ca5924b4 dsound: Merge IKsPropertySet into the secondary buffer object. 2012-01-17 11:53:19 +01:00
Michael Stefaniuc fd04e770f1 dsound: Drop "Buffer" from the IKsPropertySet method names. 2012-01-17 11:53:05 +01:00
Andrew Eikum 9cf7f95483 dsound: Lock the source buffer during duplication. 2012-01-17 11:51:25 +01:00
Andrew Eikum 6d391df4aa dsound: Don't launch a separate thread for the mmdevapi enumerator. 2012-01-16 19:32:51 +01:00
Michael Stefaniuc 5959e1d48c dsound: Use AddRef to set the refcounts at object creation. 2012-01-16 12:45:33 +01:00
Michael Stefaniuc 37df4671cb dsound: Merge IDirectSound3DListener into the primary buffer object. 2012-01-16 12:45:33 +01:00
Michael Stefaniuc 044edbb625 dsound: Get rid of some LPDIRECTSOUNDBUFFER usage. 2012-01-16 12:45:33 +01:00
Jörg Höhle 999423d34e dsound: Vista/XP SP2 reworked the Speaker Configuration. 2012-01-13 18:17:31 +01:00
Michael Stefaniuc 66361f1bd5 dsound/tests: Add some COM tests for capture. 2012-01-12 15:52:51 +01:00
Michael Stefaniuc 93bfa2b5be dsound/tests: Sanitize START_TEST() in capture.c. 2012-01-12 15:52:50 +01:00
Michael Stefaniuc 4ac20cbc0f dsound/tests: Remove some returns in the capture buffer tests. 2012-01-12 15:52:50 +01:00
Michael Stefaniuc a3120ce80e dsound: Make capture behave like native in regards to COM aggregation. 2012-01-12 15:52:42 +01:00
Michael Stefaniuc 13a4b03b44 dsound: Merge IDirectSoundNotify into the capture buffer object. 2012-01-12 12:38:41 +01:00
Michael Stefaniuc 3dac0e5a4f dsound: Add an extra refcount for the capture buffer object. 2012-01-12 12:38:34 +01:00
Michael Stefaniuc e8f7ddf774 dsound: Drop "Capture" from the IDirectSoundNotify method names. 2012-01-12 12:38:28 +01:00
Michael Stefaniuc f1d7414971 dsound: COM cleanup for the IDirectSoundCaptureBuffer8 iface. 2012-01-12 12:38:21 +01:00
Jörg Höhle 35cdb8bb22 dsound: Fix the computation of the mixer position in bytes. 2012-01-03 19:27:16 +01:00
Alexander E. Patrakov 663bc47602 dsound: Always resample buffers in mixer thread. 2011-12-29 17:56:48 +01:00
André Hentschel 2b981177d3 dsound: Use if(0) instead of #if 0 to make sure code still compiles. 2011-12-27 16:55:06 +01:00
Francois Gouget c64ce9d0ff dsound: Remove mmErr(). It is not used anymore. 2011-12-06 17:52:54 +01:00
Andrew Eikum 287a6e8473 dsound: Validate format in primary buffer's SetFormat(). 2011-12-05 12:23:37 +01:00
Andrew Eikum c59ecdcefb dsound: Don't specify period size for the IAudioClient.
We don't actually care what period size gets used (in fact, docs say the
parameter is entirely ignored in Shared mode).
2011-11-15 19:37:37 +01:00
Francois Gouget 68dc1468cb dsound: Give a name to the critical sections, make them static and delete them when unloading the dll. 2011-11-15 19:37:35 +01:00
Francois Gouget 0caef81de2 dsound: Unset Spare[0] before deleting non-static critical sections. 2011-11-14 15:25:27 +01:00
Andrew Eikum c8c6cc97bc dsound: Always enumerate the default device first. 2011-10-21 12:11:39 +02:00
Andrew Eikum 9b15c17376 dsound: Don't claim to support hardware buffers. 2011-10-20 11:03:40 +02:00
Andrew Eikum 6a7c2f66e0 dsound: Don't make the capture buffer object address public until it is prepared. 2011-10-18 15:11:40 +02:00
Andrew Eikum c60583ab8b dsound: Fix type conversion problems. 2011-10-18 15:11:32 +02:00
Marcus Meissner 587cd82013 dsound: Remove dead code from mixer (Coverity). 2011-10-17 17:45:05 +02:00
Marcus Meissner 07d72eb570 dsound: Added missing LeaveCriticalSection (Coverity). 2011-10-17 17:45:03 +02:00
Andrew Eikum 9d29d9f766 dsound: Request a more exact buffer size from MMDevAPI. 2011-10-13 19:57:18 +02:00
Andrew Talbot 1f1a97a9b5 dsound: Remove unneeded address-of operator from function name. 2011-10-10 13:30:25 +02:00
Michael Stefaniuc f0a3a09d0e dsound: COM cleanup for the IDirectSoundCapture iface. 2011-10-08 17:38:40 +02:00
Andrew Eikum ecd13dcbef dsound: Fix fragment position calculations. 2011-10-06 12:28:22 -05:00
Andrew Eikum cec8e0d73a dsound: Remove a few unused variables. 2011-10-05 17:31:27 -05:00
Marcus Meissner 1533965e8c dsound: Make a function static, remove a no longer used array. 2011-10-04 15:21:15 -05:00
Marcus Meissner a664424c19 dsound: Mark enum_callback and search_callback static. 2011-10-03 15:51:17 -05:00
Andrew Eikum 6c33e87259 dsound: Eliminate leftover driver structures. 2011-09-28 10:59:31 +02:00
Andrew Eikum 8856ea79f3 dsound: Reimplement PropertySet on mmdevapi. 2011-09-27 16:53:59 +02:00
Andrew Eikum 3735ecac21 dsound: Reimplement capturing devices on mmdevapi. 2011-09-27 16:53:59 +02:00
Andrew Eikum e786998daf dsound: Reimplement rendering devices on mmdevapi. 2011-09-27 16:53:51 +02:00
Andrew Eikum 7fae5f4f9f dsound: Validate buffer pointers in Unlock methods. 2011-09-26 18:38:11 +02:00
Andrew Eikum b1fdaa81b0 dsound: Remove hardware acceleration support. 2011-09-26 18:38:07 +02:00
Michael Stefaniuc e2c0ea01ac dsound/tests: Remove some explicit casts that happen implicitly. 2011-09-23 16:21:51 +02:00
Andrew Eikum e2cc32d252 dsound: Don't dereference a freed object. 2011-09-21 19:25:12 +02:00
Michael Stefaniuc c35745d45a dsound: Handle primary buffers in two more IDirectSoundBuffer methods. 2011-08-31 19:43:06 +02:00
Michael Stefaniuc a2bc634eaa dsound: Handle primary buffers in IDirectSoundBufferImpl_SetFormat. 2011-08-31 19:43:06 +02:00