Revision 301901b5 audio/ossaudio.c

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