|
|
|
@ -1079,23 +1079,26 @@ static int alsa_read (SWVoiceIn *sw, void *buf, int size) |
|
|
|
|
|
|
|
static int alsa_ctl_in (HWVoiceIn *hw, int cmd, ...) |
|
|
|
{ |
|
|
|
va_list ap; |
|
|
|
int poll_mode; |
|
|
|
ALSAVoiceIn *alsa = (ALSAVoiceIn *) hw; |
|
|
|
|
|
|
|
va_start (ap, cmd); |
|
|
|
poll_mode = va_arg (ap, int); |
|
|
|
va_end (ap); |
|
|
|
|
|
|
|
switch (cmd) { |
|
|
|
case VOICE_ENABLE: |
|
|
|
ldebug ("enabling voice\n"); |
|
|
|
if (poll_mode && alsa_poll_in (hw)) { |
|
|
|
poll_mode = 0; |
|
|
|
} |
|
|
|
hw->poll_mode = poll_mode; |
|
|
|
{ |
|
|
|
va_list ap; |
|
|
|
int poll_mode; |
|
|
|
|
|
|
|
return alsa_voice_ctl (alsa->handle, "capture", 0); |
|
|
|
va_start (ap, cmd); |
|
|
|
poll_mode = va_arg (ap, int); |
|
|
|
va_end (ap); |
|
|
|
|
|
|
|
ldebug ("enabling voice\n"); |
|
|
|
if (poll_mode && alsa_poll_in (hw)) { |
|
|
|
poll_mode = 0; |
|
|
|
} |
|
|
|
hw->poll_mode = poll_mode; |
|
|
|
|
|
|
|
return alsa_voice_ctl (alsa->handle, "capture", 0); |
|
|
|
} |
|
|
|
|
|
|
|
case VOICE_DISABLE: |
|
|
|
ldebug ("disabling voice\n"); |
|
|
|
|