|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Alexander Pevzner 2:5020/59.9 16 Jan 2001 05:45:16 To : Boris Tobotras Subject : Re: SB Live! и sox: провалы звука под нагрузкой -------------------------------------------------------------------------------- Hello, Boris Tobotras! Mon, 15 Jan 01 07:27:33 +0300 you wrote to pzz@pzz.msk.ru: BT> pzz> В общем, дело оказалось в некоторой особенности драйвера, про BT> pzz> которую не знал sox. Если есть интерес, и модератор не против, я BT> pzz> могу выложить патч к sox'у в эху (он совсем короткий, всего 45 BT> pzz> строк). BT> Уж 45 строк-то мог бы и без разрешения выложить. Hе бинарь же в BT> uue. А вдруг не надо никому? :-) Hу впрочем, пусть будет ... Это для sox-12.17.1, и для файла oss.c -------------------------------------------------------------- --- oss.c.orig Sun Jan 14 05:28:09 2001 +++ oss.c Sun Jan 14 05:58:45 2001 @@ -84,20 +84,6 @@ st_fail("Unable to reset OSS driver. Possibly accessing an invalid file/device"); return(ST_EOF); } - ft->file.size = 0; - ioctl (fileno(ft->fp), SNDCTL_DSP_GETBLKSIZE, &ft->file.size); - if (ft->file.size < 4 || ft->file.size > 65536) { - st_fail("Invalid audio buffer size %d", ft->file.size); - return (ST_EOF); - } - ft->file.count = 0; - ft->file.pos = 0; - ft->file.eof = 0; - - if ((ft->file.buf = malloc (ft->file.size)) == NULL) { - st_fail("Unable to allocate input/output buffer of size %d", ft->file.size); - return (ST_EOF); - } if (ioctl(fileno(ft->fp), SNDCTL_DSP_SYNC, NULL) < 0) { st_fail("Unable to sync dsp"); @@ -160,6 +146,21 @@ ft->info.rate, tmp); ft->info.rate = tmp; } + } + + ft->file.size = 0; + ioctl (fileno(ft->fp), SNDCTL_DSP_GETBLKSIZE, &ft->file.size); + if (ft->file.size < 4 || ft->file.size > 65536) { + st_fail("Invalid audio buffer size %d", ft->file.size); + return (ST_EOF); + } + ft->file.count = 0; + ft->file.pos = 0; + ft->file.eof = 0; + + if ((ft->file.buf = malloc (ft->file.size)) == NULL) { + st_fail("Unable to allocate input/output buffer of size %d", ft->file.size); + return (ST_EOF); } /* Change to non-buffered I/O */ -------------------------------------------------------------- -- Wishes, Alexander Pevzner (pzz@pzz.msk.ru) --- ifmail v.2.14-tx8.10 * Origin: Private Node of Alexander Pevzner (2:5020/59.9@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/8975c6639a0c.html, оценка из 5, голосов 10
|