Update of /cvsroot/alsa/alsa-oss/alsa In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15780
Modified Files: pcm.c Log Message: Added hwset flag and changed mmap_commit check code Index: pcm.c =================================================================== RCS file: /cvsroot/alsa/alsa-oss/alsa/pcm.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- pcm.c 26 Feb 2004 15:31:46 -0000 1.9 +++ pcm.c 27 Feb 2004 16:16:58 -0000 1.10 @@ -71,6 +71,7 @@ } oss_dsp_stream_t; typedef struct { + int hwset; unsigned int channels; unsigned int rate; unsigned int oss_format; @@ -391,9 +392,11 @@ static int oss_dsp_params(oss_dsp_t *dsp) { int err; + dsp->hwset = 0; err = oss_dsp_hw_params(dsp); if (err < 0) return err; + dsp->hwset = 1; err = oss_dsp_sw_params(dsp); if (err < 0) return err; @@ -725,11 +728,10 @@ dsp->channels, frames, dsp->format); err = snd_pcm_mmap_commit(pcm, ofs, frames); - assert(err == (snd_pcm_sframes_t) frames); if (err < 0) break; - size -= frames; - str->alsa.appl_ptr += frames; + size -= err; + str->alsa.appl_ptr += err; str->alsa.appl_ptr %= str->alsa.boundary; } break; @@ -764,6 +766,10 @@ { int k; DEBUG("SNDCTL_DSP_RESET)\n"); + if (!dsp->hwset) { + errno = -EIO; + return -1; + } result = 0; for (k = 0; k < 2; ++k) { str = &dsp->streams[k]; @@ -787,6 +793,10 @@ { int k; DEBUG("SNDCTL_DSP_SYNC)\n"); + if (!dsp->hwset) { + errno = -EIO; + return -1; + } result = 0; for (k = 0; k < 2; ++k) { str = &dsp->streams[k]; ------------------------------------------------------- SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps & Web services for Linux with a free DVD software kit from IBM. Click Now! http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click _______________________________________________ Alsa-cvslog mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-cvslog