Главная страница


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)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: SB Live! и sox: провалы звука под нагрузкой   Alexander Pevzner   16 Jan 2001 05:45:16 
Архивное /ru.linux/8975c6639a0c.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional