Skip to content

Commit

Permalink
winmm: Added a FIXME for truncated device names.
Browse files Browse the repository at this point in the history
  • Loading branch information
icculus committed Aug 7, 2016
1 parent 51d1523 commit ff7df7e
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions src/audio/winmm/SDL_winmm.c
Expand Up @@ -37,6 +37,21 @@
#define WAVE_FORMAT_IEEE_FLOAT 0x0003
#endif

/* !!! FIXME:
WAVExxxCAPS gives you 31 bytes for the device name, and just truncates if it's
longer. However, since WinXP, you can use the WAVExxxCAPS2 structure, which
will give you a name GUID. The full name is in the Windows Registry under
that GUID, located here: HKLM\System\CurrentControlSet\Control\MediaCategories
Note that drivers can report GUID_NULL for the name GUID, in which case,
Windows makes a best effort to fill in those 31 bytes in the usual place.
This info summarized from MSDN:
http://web.archive.org/web/20131027093034/http://msdn.microsoft.com/en-us/library/windows/hardware/ff536382(v=vs.85).aspx
*/

#define DETECT_DEV_IMPL(iscap, typ, capstyp) \
static void DetectWave##typ##Devs(void) { \
const UINT iscapture = iscap ? 1 : 0; \
Expand Down

0 comments on commit ff7df7e

Please sign in to comment.