From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stas Sergeev Subject: Re: Sound problem in dosemu 1.1.4 Date: Sat, 04 Jan 2003 12:15:12 +0300 Sender: linux-msdos-owner@vger.kernel.org Message-ID: <3E16A620.7000801@yahoo.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------040607080307000602050306" Return-path: List-Id: To: linux-msdos@vger.kernel.org This is a multi-part message in MIME format. --------------040607080307000602050306 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Hello. Thomas Pallmann wrote: > I'm using the sourceforge vortex driver for my > Terratec Xlerate (aureal chipset). Please fix your buggy aureal drivers. The attached patch will help you to start doing that. Third-party drivers are not supported by dosemu anymore (except the PCSP driver of course:) --------------040607080307000602050306 Content-Type: text/plain; name="au_audio.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="au_audio.diff" --- au_audio.c.old Thu Jan 31 00:20:16 2002 +++ au_audio.c Tue Mar 5 04:34:04 2002 @@ -361,14 +361,13 @@ if(!wdev->play_stream.wave) return -EINVAL; PSHOW("au_audio_ioctl() : DSP_POST\n"); - drain_playback(dev, wdev, (file->f_flags & O_NONBLOCK)); - stop_wave(dev, &(wdev->play_stream)); + drain_playback(dev, wdev, 1); return SUCCESS; case SNDCTL_DSP_SYNC: if (wdev->play_stream.wave) { PSHOW("au_audio_ioctl() : DSP_SYNC\n"); - drain_playback(dev, wdev, (file->f_flags & O_NONBLOCK)); + drain_playback(dev, wdev, 0); stop_wave(dev, &(wdev->play_stream)); } if (wdev->record_stream.wave) @@ -709,6 +708,9 @@ spin_lock_irqsave(&dev->irq_lock,flags); AddWaveBuffer(wdev->play_stream.wave, mb->page, mb->count); spin_unlock_irqrestore(&dev->irq_lock,flags); + wdev->play_stream.fill_index++; + if(wdev->play_stream.fill_index >= wdev->play_stream.num_frags) + wdev->play_stream.fill_index = 0; } while (wdev->play_stream.total_played < wdev->play_stream.total_sent) { --------------040607080307000602050306--