Revision 301901b5

b/audio/alsaaudio.c
861 861

  
862 862
static int alsa_ctl_out (HWVoiceOut *hw, int cmd, ...)
863 863
{
864
    va_list ap;
865
    int poll_mode;
866 864
    ALSAVoiceOut *alsa = (ALSAVoiceOut *) hw;
867 865

  
868
    va_start (ap, cmd);
869
    poll_mode = va_arg (ap, int);
870
    va_end (ap);
871

  
872 866
    switch (cmd) {
873 867
    case VOICE_ENABLE:
874
        ldebug ("enabling voice\n");
875
        if (poll_mode && alsa_poll_out (hw)) {
876
            poll_mode = 0;
868
        {
869
            va_list ap;
870
            int poll_mode;
871

  
872
            va_start (ap, cmd);
873
            poll_mode = va_arg (ap, int);
874
            va_end (ap);
875

  
876
            ldebug ("enabling voice\n");
877
            if (poll_mode && alsa_poll_out (hw)) {
878
                poll_mode = 0;
879
            }
880
            hw->poll_mode = poll_mode;
881
            return alsa_voice_ctl (alsa->handle, "playback", 0);
877 882
        }
878
        hw->poll_mode = poll_mode;
879
        return alsa_voice_ctl (alsa->handle, "playback", 0);
880 883

  
881 884
    case VOICE_DISABLE:
882 885
        ldebug ("disabling voice\n");
b/audio/ossaudio.c
583 583
static int oss_ctl_out (HWVoiceOut *hw, int cmd, ...)
584 584
{
585 585
    int trig;
586
    va_list ap;
587
    int poll_mode;
588 586
    OSSVoiceOut *oss = (OSSVoiceOut *) hw;
589 587

  
590
    va_start (ap, cmd);
591
    poll_mode = va_arg (ap, int);
592
    va_end (ap);
593

  
594 588
    switch (cmd) {
595 589
    case VOICE_ENABLE:
596
        ldebug ("enabling voice\n");
597
        if (poll_mode && oss_poll_out (hw)) {
598
            poll_mode = 0;
599
        }
600
        hw->poll_mode = poll_mode;
590
        {
591
            va_list ap;
592
            int poll_mode;
601 593

  
602
        if (!oss->mmapped) {
603
            return 0;
604
        }
594
            va_start (ap, cmd);
595
            poll_mode = va_arg (ap, int);
596
            va_end (ap);
605 597

  
606
        audio_pcm_info_clear_buf (&hw->info, oss->pcm_buf, hw->samples);
607
        trig = PCM_ENABLE_OUTPUT;
608
        if (ioctl (oss->fd, SNDCTL_DSP_SETTRIGGER, &trig) < 0) {
609
            oss_logerr (
610
                errno,
611
                "SNDCTL_DSP_SETTRIGGER PCM_ENABLE_OUTPUT failed\n"
612
                );
613
            return -1;
598
            ldebug ("enabling voice\n");
599
            if (poll_mode && oss_poll_out (hw)) {
600
                poll_mode = 0;
601
            }
602
            hw->poll_mode = poll_mode;
603

  
604
            if (!oss->mmapped) {
605
                return 0;
606
            }
607

  
608
            audio_pcm_info_clear_buf (&hw->info, oss->pcm_buf, hw->samples);
609
            trig = PCM_ENABLE_OUTPUT;
610
            if (ioctl (oss->fd, SNDCTL_DSP_SETTRIGGER, &trig) < 0) {
611
                oss_logerr (
612
                    errno,
613
                    "SNDCTL_DSP_SETTRIGGER PCM_ENABLE_OUTPUT failed\n"
614
                    );
615
                return -1;
616
            }
614 617
        }
615 618
        break;
616 619

  

Also available in: Unified diff