reactos/sdk/lib
Oleg Dubinskiy d1b8feb690
[AUDIO] Implement retreiving audio playback position (#6817)
Implement GetWavePosition API for both Legacy and MMixer modes.
[WDMAUD.DRV]
- Fix wrong I/O control code passed to DeviceIoControl for Legacy mode. Use IOCTL_GETPOS instead of IOCTL_OPEN_WDMAUD, to use the correct routine.
- Implement WdmAudGetWavePosition for MMixer mode, as it was completely unimplemented there. Call an appropiate MMixer routine and return back resulting wave position.
[WDMAUD]
- Implement WdmAudGetPostion routine, which is used by Legacy mode, and call the same MMixer routine from it too.
- Handle it in IOCTL_GETPOS I/O control request of dispatch routine.
[MMIXER]
- Implement MMixerGetWavePosition internal routine, which is called by both Legacy and MMixer modes, and does the actual work of retrieving playback position.
- Call an apporpriate KSPROPERTY_AUDIO_POSITION property from it, and return in the output resulting KSAUDIO_POSITION.PlayOffset member, which contains the current playback position offset, to be returned to the caller.
This fixes a failure retreiving the current audio playback position snd subsequent playing the audio data by several 3rd-party applications which are using this API (for example, some Gecko based browsers by @roytam1: Basilisk (Serpent) 52.9.0 IA-32 build, NewMoon 28.10.7 IA-32 build and KMeleon 76.5.3 Goanna engine).
CORE-19542
2024-05-06 20:07:47 +02:00
..
3rdparty [LIBWINE] Return empty path when given a UNIX path 2024-02-20 08:56:53 +01:00
apisets Rework apisets to use a table 2024-04-27 22:51:34 +02:00
atl [ATL] Implement CSimpleStringT::Preallocate (#6574) 2024-03-05 11:42:27 +03:00
cicero [MSCTFIME][CICERO] Half-implement CIMEUIWindowHandler (#6521) 2024-02-23 13:45:00 +09:00
cmlib [SDK] Don't just infinitely spam the DbgPrint in the bootloader (#6763) 2024-04-18 12:08:00 -07:00
comsupp
conutils
cportlib
cpprt [CPPRT][CRT][MSVCRT] Move __CxxFrameHandler3 to crt and export it on NT6 2023-08-23 20:43:53 +03:00
crt [CRT][NTDLL][MSVCRT] Add _swprintf implementation 2024-05-06 14:08:31 +02:00
cryptlib [NTDLL][ADVAPI32][ADVAPI32_APITEST][CRYPTLIB] Add hash API exports for NT6+ and apitests with small fixes 2024-04-13 12:41:36 +02:00
debugsup
delayimp [REACTOS] Fix typos (#6198) 2023-12-23 21:37:08 +01:00
dmilib [DMILIB][UDMIHELP] Favor pragma once (#5472) 2023-07-23 22:52:07 +02:00
dnslib
drivers [AUDIO] Implement retreiving audio playback position (#6817) 2024-05-06 20:07:47 +02:00
dxguid
epsapi
evtlib [EVTLIB] Fix size of event log record 2024-04-22 16:42:02 +02:00
fast486
fslib
gcc_ssp
inflib
ioevent
lsalib
nt
pathcch [SDK:LIB] Import PathCch* functions from Wine (#5842) 2023-11-26 13:43:15 +01:00
pseh [PSEH/x64] Fix our GCC-SEH-plugin hack 2024-05-06 14:23:48 +02:00
rossym [FREELDR][ROSSYM(_NEW)] Remove last vestigial references to "NTOSAPI". 2024-03-07 13:35:08 +01:00
rossym_new [FREELDR][ROSSYM(_NEW)] Remove last vestigial references to "NTOSAPI". 2024-03-07 13:35:08 +01:00
rtl [RTL/x64] Fix a bug in RtlRaiseException 2024-05-01 11:30:29 +02:00
runtmchk
scrnsave [SDK:SCRNSAVE] Implement mouse move threshold. 2023-03-08 20:19:19 +01:00
skiplist
smlib
strmiids
tdilib
tzlib
udmihelp [DMILIB][UDMIHELP] Favor pragma once (#5472) 2023-07-23 22:52:07 +02:00
uuid [MSCTF][SDK][UUID] Strengthen msctf.idl and msctf.spec (#6158) 2023-12-13 07:37:45 +09:00
wdmguid
CMakeLists.txt Rework apisets to use a table 2024-04-27 22:51:34 +02:00