On 1/26/09, Kjetil S. Matheussen <k.s.matheussen(a)notam02.no> wrote:
What does /etc/security/limits.conf say?
My file has this line:
"@audio - memlock 25000000"
which gives me 2.5m of non-locked memory. (at least I think
that's what it means)
Mine has everything commented out, except:
## Automatically appended by jack-audio-connection-kit
@jackuser - rtprio 20
@jackuser - memlock 4194304
## Automatically appended by jack-audio-connection-kit
@pulse-rt - rtprio 20
@pulse-rt - nice -20
I should add that pulse is not running.
Can you try
./jack_capture -B 0.1
?
Much more interesting:
[simon@zsuzsi jack_capture-0.9.31]$ ./jack_capture -B 0.1
1
2
4
5
6
7
Warning, the format "wav" is not supported. Using wav instead.
Try make clean before make. If that doesn't help,
It did help, this warning disappeared, but the segfault did not.
what says "sh gen_setformat_c.sh"? And which
version
of libsndfile do you have?
8
9
10
11
12
Recording to "jack_capture_01.wav". Press <Return> or <Ctrl-C> to
stop.
13
|""""""""""""""""""""""""""""""""""""""""""""""""""""""""|
00:| |
01:| |
Buffer: 0.06s / 0.09s. Disk high priority: [ ]. Overruns: 0
14
Segmentation fault
[This is without me pressing return or ctrl-c]
This is probably related to the bug above, where it didn't
find a legal soundformat, and thus couldn't open a new file
with libsndfile either.
I don't know if it's still relevant, but
libsndfile-1.0.17-6.fc10.x86_64
and here's what sh gen_setformat_c.sh says:
static int setformat_base(char *soundfile_format){
return(
(!strcasecmp("WAV",soundfile_format)) ? SF_FORMAT_WAV:
(!strcasecmp("AIFF",soundfile_format)) ? SF_FORMAT_AIFF:
(!strcasecmp("AU",soundfile_format)) ? SF_FORMAT_AU:
(!strcasecmp("RAW",soundfile_format)) ? SF_FORMAT_RAW:
(!strcasecmp("PAF",soundfile_format)) ? SF_FORMAT_PAF:
(!strcasecmp("SVX",soundfile_format)) ? SF_FORMAT_SVX:
(!strcasecmp("NIST",soundfile_format)) ? SF_FORMAT_NIST:
(!strcasecmp("VOC",soundfile_format)) ? SF_FORMAT_VOC:
(!strcasecmp("IRCAM",soundfile_format)) ? SF_FORMAT_IRCAM:
(!strcasecmp("W64",soundfile_format)) ? SF_FORMAT_W64:
(!strcasecmp("MAT4",soundfile_format)) ? SF_FORMAT_MAT4:
(!strcasecmp("MAT5",soundfile_format)) ? SF_FORMAT_MAT5:
(!strcasecmp("PVF",soundfile_format)) ? SF_FORMAT_PVF:
(!strcasecmp("XI",soundfile_format)) ? SF_FORMAT_XI:
(!strcasecmp("HTK",soundfile_format)) ? SF_FORMAT_HTK:
(!strcasecmp("SDS",soundfile_format)) ? SF_FORMAT_SDS:
(!strcasecmp("AVR",soundfile_format)) ? SF_FORMAT_AVR:
(!strcasecmp("WAVEX",soundfile_format)) ? SF_FORMAT_WAVEX:
(!strcasecmp("SD2",soundfile_format)) ? SF_FORMAT_SD2:
(!strcasecmp("FLAC",soundfile_format)) ? SF_FORMAT_FLAC:
(!strcasecmp("CAF",soundfile_format)) ? SF_FORMAT_CAF:
-1);
}
void setformat(SF_INFO *sf_info,char *soundfile_format){
int format=setformat_base(soundfile_format);
if(format==-1){
fprintf(stderr,"Warning, the format \"%s\" is not supported.
Using wav instead.\n",soundfile_format);
sf_info->format=SF_FORMAT_WAV;
}else
sf_info->format=format;
}
void print_all_formats(void){
if(setformat_base("WAV")!=-1)
printf("wav ");
if(setformat_base("AIFF")!=-1)
printf("aiff ");
if(setformat_base("AU")!=-1)
printf("au ");
if(setformat_base("RAW")!=-1)
printf("raw ");
if(setformat_base("PAF")!=-1)
printf("paf ");
if(setformat_base("SVX")!=-1)
printf("svx ");
if(setformat_base("NIST")!=-1)
printf("nist ");
if(setformat_base("VOC")!=-1)
printf("voc ");
if(setformat_base("IRCAM")!=-1)
printf("ircam ");
if(setformat_base("W64")!=-1)
printf("w64 ");
if(setformat_base("MAT4")!=-1)
printf("mat4 ");
if(setformat_base("MAT5")!=-1)
printf("mat5 ");
if(setformat_base("PVF")!=-1)
printf("pvf ");
if(setformat_base("XI")!=-1)
printf("xi ");
if(setformat_base("HTK")!=-1)
printf("htk ");
if(setformat_base("SDS")!=-1)
printf("sds ");
if(setformat_base("AVR")!=-1)
printf("avr ");
if(setformat_base("WAVEX")!=-1)
printf("wavex ");
if(setformat_base("SD2")!=-1)
printf("sd2 ");
if(setformat_base("FLAC")!=-1)
printf("flac ");
if(setformat_base("CAF")!=-1)
printf("caf ");
if(setformat_base("OGG")!=-1)
printf("ogg ");
if(setformat_base("MP3")!=-1)
printf("mp3 ");
if(setformat_base("MP2")!=-1)
printf("mp2 ");
if(setformat_base("SPEEX")!=-1)
printf("speex ");
if(setformat_base("WMA")!=-1)
printf("wma ");
if(setformat_base("AAC")!=-1)
printf("aac ");
if(setformat_base("VQF")!=-1)
printf("vqf ");
if(setformat_base("RA")!=-1)
printf("ra ");
printf("\n");
}