We are currently migrating Bugzilla to GitHub issues.
Any changes made to the bug tracker now will be lost, so please do not post new bugs or make changes to them.
When we're done, all bug URLs will redirect to their equivalent location on the new bug tracker.

Bug 1501

Summary: Some drivers do not set capabilities properly (HasCaptureSupport,..)
Product: SDL Reporter: Andreas Ertelt <bugzilla-sdl>
Component: audioAssignee: Ryan C. Gordon <icculus>
Status: RESOLVED FIXED QA Contact: Sam Lantinga <slouken>
Severity: normal    
Priority: P2    
Version: HG 2.0   
Hardware: All   
OS: All   

Description Andreas Ertelt 2012-05-19 12:52:10 UTC
resulting in the inability to use capture devices.
The capabilities are only set for android, nds and qsa so far, but the functionality is present in other drivers too.

For directsound the necessary change is as simple as adding:
SDL_directsound.c:546: impl->HasCaptureSupport = 1;

Others drivers may also require OnlyHasDefaultOutputDevice and OnlyHasDefaultInputDevice.
Comment 1 Andreas Ertelt 2012-05-20 00:54:57 UTC
I just realized directsound tries to open capture devices using DirectSoundCreate8 which results in it not finding the proper device - instead it should be using DirectSoundCaptureCreate8 if iscapture was set for DSOUND_OpenDevice().
Comment 2 Ryan C. Gordon 2012-05-22 22:16:55 UTC
The whole capture subsystem is still a work in progress, so it doesn't work in any given audio target yet.

(I'll leave this bug open until this is more implemented, especially because that DirectSound note is important.)

--ryan.
Comment 3 Ryan C. Gordon 2018-08-05 20:53:54 UTC
Capture support got implemented awhile ago, so this specific issue is resolved now.

--ryan.