Commit Graph

126 Commits

Author SHA1 Message Date
Maarten Lankhorst 3bafbb22b8 dsound: Use smaller buffers for wavein capture. 2007-10-01 12:42:42 +02:00
Maarten Lankhorst b42287ca66 dsound: Handle failing of obtaining IDsDriverNotify. 2007-08-16 11:10:54 +02:00
Maarten Lankhorst cdbd17bdb8 dsound: Make hardware acceleration work again. 2007-08-07 12:42:29 +02:00
Maarten Lankhorst c3ebd3652a dsound: Acceleration fixes for wavein emulation. 2007-08-06 13:56:40 +02:00
Andrew Talbot 1e4c97175e dsound: Exclude unused headers. 2007-05-03 14:23:53 +02:00
Maarten Lankhorst 364e65a872 dsound: Don't deadlock in capture because of callback. 2007-04-23 14:05:52 +02:00
Jan Zerebecki 4c4821e305 dsound: Conform critical section DebugInfo names. 2007-03-12 13:40:22 +01:00
Dmitry Timoshkov 616b65532b dsound: Make some data const. 2006-11-29 12:44:40 +01:00
Michael Stefaniuc 26bd2ec9c3 dsound: Win64 printf format warning fixes. 2006-11-13 12:49:04 +01:00
Robert Reif 595d6aa6fb dsound: Class factory cleanup.
Consolidate all class factories into a single implementation.
Fixes a problem discovered by oleview.
2006-08-18 12:04:49 +02:00
Alexandre Julliard 179a4e0a2e dsound: Make some functions static. 2006-08-02 13:26:14 +02:00
Alexandre Julliard bc99ac09d3 dsound: Don't use sizeof in traces to avoid printf format warnings. 2006-06-13 14:10:32 +02:00
Alexandre Julliard bbeeea4b88 dsound: Make the virtual table functions static where possible. 2006-06-10 11:57:48 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Robert Reif 208b0c2e72 dsound: Remove NULL This pointer checks. 2006-04-08 15:53:00 +02:00
Robert Reif 2c4c204371 dsound: Remove unnecessary NULL pointer check. 2006-04-08 15:50:08 +02:00
Robert Reif 34ec3a633a dsound: Make some capture functions global. 2006-01-16 20:39:14 +01:00
Robert Reif 5070268711 dsound: Capture refactoring.
Move initialization code from DirectSoundCapture to
DirectSoundCaptureDevice.
Make DirectSoundCaptureBuffer directly reference
DirectSoundCaptureDevice rather than DirectSoundCapture to eliminate
one level of indirection.
Rename DSOUND_CreateDirectSoundCaptureBuffer to
IDirectSoundCaptureBufferImpl_Create to be consistent.
2006-01-05 13:37:15 +01:00
Robert Reif 7643df49d7 dsound: Capture cleanup.
Move code and function prototypes around to eliminate forward
declarations.  No code is changed.
2006-01-04 14:49:34 +01:00
Robert Reif 0265676a27 dsound: Remove WINAPI from internal functions. 2006-01-03 17:32:50 +01:00
Robert Reif 6727c52f3b Include winuser.h so the code compiles cleanly on windows using
windows headers.
2005-10-17 09:24:50 +00:00
Alexandre Julliard 261e376495 Fixed a number of pointer to integer conversions that wouldn't work
right on a 64-bit platform.
2005-09-12 15:14:06 +00:00
Alexandre Julliard c6b005ac69 Fixed some more traces to use the right printf format and avoid
typecasts.
2005-09-12 14:12:46 +00:00
Alexandre Julliard 20a1a203c6 Use a more portable scheme for storing the name of a critical
section.
2005-09-09 10:19:44 +00:00
Mike McCormack 4a5378efcd Fix some gcc 4.0 warnings. 2005-08-30 08:56:35 +00:00
Robert Reif 4c315db1a6 Add tests to check DirectSoundCapture creation.
Fix dsound/capture.c to pass tests.
2005-06-05 17:44:30 +00:00
Robert Reif 5c8fb16893 Finish DirectSoundCapture/DirectSoundCapture8 split.
Add tests to verify split.
2005-06-04 09:38:14 +00:00
Robert Reif f46e5ce13c Move FullDuplex code from capture.c to duplex.c. 2005-06-02 10:28:34 +00:00
Dmitry Timoshkov b67da5b946 Make more of the OLE interface vtables const. 2005-06-01 19:57:42 +00:00
Peter Berg Larsen e732fc023d Janitorial: Get rid of strncpy/strncpyW. 2005-03-28 14:17:51 +00:00
Robert Reif c90c9c7473 waveInPrepareHeader and waveInUnprepareHeader are not really needed
because the contents don't change.
2005-03-16 11:30:17 +00:00
Robert Reif 7f6536c504 Change some global variable names.
Cleanup usage of global dsound variable to not use local variable of
same name.
Almost ready to add support for more than one sound card at the same
time.
2005-03-15 15:40:35 +00:00
Robert Reif f8833daef1 Removed printing of thread id for AddRef and Release because
WINEDEBUG=+tid gives the same result.
General consistency cleanup.
2005-02-11 11:49:05 +00:00
Robert Reif 7d92b5d8b4 Fix structure member name to match windows headers and fix up all
uses.
Nameless struct fix for dsound/propset.c to compile on both windows
and wine.
2005-01-28 17:21:07 +00:00
Robert Reif 364c0d53f9 Remove unused includes. 2005-01-24 13:31:27 +00:00
Robert Reif ef847a0303 Use Windows memory functions. 2005-01-24 12:40:45 +00:00
Eric Pouech cf1d00bb08 Removed excessive statement (break after return or goto, not useful
break, not needed vars...)
2005-01-09 16:42:53 +00:00
Michael Stefaniuc 5ad7d858e0 Do not check for non NULL pointer before HeapFree'ing it. It's
redundant.
2004-12-23 17:06:43 +00:00
Robert Reif aab3aa05b6 Remove trailing white space introduced in previous patch.
Fixed IDirectSoundCaptureBuffer_Stop to allow another Start to
succeed.
Removed OSS centric buffer recreation hack when doing hardware
acceleration.
Cleaned up error reporting and tracing.
2004-11-19 17:56:56 +00:00
Robert Reif b46a106ab1 Remove redundant GUID check. 2004-11-09 20:10:46 +00:00
Robert Reif d4c9f92c65 Trailing white space cleanup.
Add IClassFactory->CreateInstance aggregation checks.
IID_IDirectSoundCapture and IID_IDirectSoundCapture8 are same so
remove redundant check.
Allocate capture buffer for hw driver if necessary.
2004-10-21 20:57:26 +00:00
Robert Reif 8a8ee786ee Cleanup reference counting.
AddRef and Release return ULONG.
2004-09-17 18:10:59 +00:00
Robert Reif b970aeb4b7 Cleanup reference counting. 2004-09-16 19:08:04 +00:00
Robert Reif adc6948c4c Remove lock name from lock debug structure before deletion so it gets
freed properly.
2004-09-10 22:30:05 +00:00
Alexandre Julliard 314b99c48f Removed some more uses of the non-standard ICOM_THIS macro. 2004-09-09 20:17:07 +00:00
Hans Leidekker fe442b21f7 Fix signed/unsigned comparison warnings. 2004-09-08 01:23:57 +00:00
Alexandre Julliard f714b39762 Get rid of the no longer used ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
macro.
2004-08-23 19:39:48 +00:00
Robert Reif 7bf4eee7ad Remove wine specific DRV_QUERYDSOUNDGUID message and calculate it in
dsound.dll (like in 2k/xp).
2004-08-20 20:01:31 +00:00
Robert Reif dfe3c1c579 Allocate wave format structure dynamically based on format.
Remove format checks to allow driver to decide if format supported.
Code cleanups.
2004-08-18 00:30:37 +00:00
Robert Reif eba298017d Allow proper release while capturing. 2004-08-16 19:59:37 +00:00
Alexandre Julliard 48c4bb3c31 Get rid of the non-standard ICOM_VTABLE macro. 2004-08-12 23:00:51 +00:00
Robert Reif 7ef15a607c Adds debug name to remaining critical sections. 2004-08-06 17:30:00 +00:00
Robert Reif 02a8ab2fee Save enumerated GUIDs in a global array so they persist after
enumeration.
White space cleanup.
Add tests for opening default devices.
2004-07-21 03:23:13 +00:00
Patrik Stridvall 070db4e5de Fixed some issues found by winapi_check. 2004-05-17 21:08:31 +00:00
Robert Reif dbb03ec6dc Fixes support for older versions of direct sound.
Adds support for deleting notification array.
Minor debug and white space cleanups.
2004-04-19 02:58:45 +00:00
Robert Reif 92b48ba8f6 Fixed deadlock in capture callback.
Fixed capture test to check all notifications.
Added better debug messages to capture test.
2004-04-06 20:08:54 +00:00
Robert Reif 3f1498fc6c Fixes more use before set races.
Work around for queue reordering feature.
Stop recording on reset.
Better debug info.
Dsound callback capture state fix.
2003-11-14 21:03:24 +00:00
Oleg Prokhorov de12a97041 Another portion of HeapReAlloc fixes. 2003-10-14 05:24:20 +00:00
Robert Reif 93d3492f7f Make capture more reliable by submitting all buffers before start.
Added support for non pcm formats.
Added more property set support.
2003-10-08 22:35:26 +00:00
Robert Reif e29357c2d3 Fixed some traces.
Fixed spec file to match Microsoft dll.
2003-10-01 03:05:25 +00:00
Robert Reif 725d8c39aa Device enumeration callbacks should return a NULL guid for default
devices.
Fixed some volume and pan cases.
Added missing property set.
Fixed capture notification bug.
2003-09-15 20:08:05 +00:00
Alexandre Julliard e37c6e18d0 Fixed header dependencies to be fully compatible with the Windows
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Robert Reif 5ec32cecf2 Added SecondaryBuffer and DirectSoundCaptureNotify COM objects to get
reference counting right.
2003-09-01 23:58:43 +00:00
Robert Reif f5080c86e5 Added class factories for DirectSoundCapture, DirectSoundFullDuplex
and DirectSoundPrivate.
Added error checking to QueryInterface and CreateInterface.
Added some more functionality to property sets.
2003-08-06 22:57:24 +00:00
Robert Reif a4ed8e7740 - make parameter checking and error notification consistent
- propagate driver and local function errors where needed
- fix error returns where pointer is given for returned data
- add 3d listener to primary buffer when needed
- copy 3d part of buffer when duplicated
- fix bug when primary buffer is reopened with smaller buffer
- loosen requirements on caps data size check
- set caps for emulated mode based on actual driver caps
2003-05-22 03:39:13 +00:00
Robert Reif abde7d0acf Reversed relationship between buffers and notifies.
Fixed notify reuse bug.
Minor documentation and error message cleanup.
2003-05-02 20:16:48 +00:00
Robert Reif 26ba64b563 Fixed PCM format evaluation bug.
Properly clean up partially created sound buffers.
2003-04-11 23:59:19 +00:00
Alexandre Julliard c2ebe1ff93 Removed uses of the non standard ICOM_VTBL macro. 2003-04-10 18:17:34 +00:00
Robert Reif fa13d013e8 Fixed a problem when multiple devices are present and a device other
than the first one is used.
2003-04-05 05:11:02 +00:00
Robert Reif 89b469fefe Added support for multiple direct sound devices. 2003-03-15 00:54:11 +00:00
Robert Reif 8c2ec131a8 Added a configuration option for setting the hardware acceleration
level just like the direct sound control panel app.
More work on the full duplex interface so the compile warning is no
longer generated.  Full duplex interface is still stubbed out.
Moved full duplex mixer reset fix into wineoss driver where it
belongs.
Added some more locking fixes.
Capture and full duplex are now stable.
2003-03-06 22:46:34 +00:00
Robert Reif 15cc17fbcf Fixed code to handle full duplex properly.
Added support for capture driver (disabled).
Fixed direct sound capture test to handle notifications properly.
2003-03-04 02:12:34 +00:00
Michael Stefaniuc f85440466b Add missing LeaveCriticalSection's in error path. 2003-02-24 20:39:22 +00:00
Robert Reif 5be7f69d72 Added support for direct sound capture and a real direct sound capture
driver. Capture now works with some skipping. Full duplex does not but
I will be working on that next.
2003-02-15 00:01:17 +00:00
Patrik Stridvall d016f819f1 Added include protection for unistd.h and sys/time.h. 2002-08-17 00:43:16 +00:00
Ove Kaaven 935e3df35c Support DirectSound 8 interfaces. Split interface implementations into
separate files. Split primary buffer and secondary buffer interfaces
into separate implementations. Made the primary buffer state part of
the dsound object, so primary buffer objects can be created and
refcounted independently. Made the interfaces follow COM aggregation
rules more closely. Converted the dsound critical section to a R/W
lock to improve potential remixing concurrency. Fixed various bugs and
refcounting issues.
2002-06-13 19:15:06 +00:00