Hello all,
I've found a simple tutorial here
First off , when I executed the program it had a long delay executing the "snd_pcm_hw_params_set_rate_near()" function, which turned out to be related to the "dir" argument not being initialised (with Zero).
#1: I'm using gcc on a Raspberry Pi in geany. Is there some sort of setting I should add to have gcc include code to automatically clear declared variables ?
Or should I assume that the code simply isn't complete (would explain a few things).
#2: The length out the outputted sample doesn't seem to be five seconds, even when the code promises it to be.
1) I checked that by clearing the buffer and only execute "rc = read(0, buffer, size);" when the "loops" counter was zero. No sound was to be heard.2) when I added an "usleep()" of a second before the "snd_pcm_drain()" call I did hear something (read: the data was there, just not outputted)
3) I've measure the time starting just befor the loop to just after the "snd_pcm_drain()" call using "gettimeofday()" like described here#3: The problem gets even more pronounced when I changed the sampling rate from 44100 to 8000. After that change the sound is outputted for less than a single second (time measured using the above method). :-(
Using the same 1) and 2) checks I found that the full five seconds of sound data was again there, but those four seconds worth of it just doesn't get outputted.
Can anyone confirm this behaviour (read: its just some incomplete example code) ? And most important: What is missing from that code that causes the sound output the be cut-off like that ?
I've been searching my ass off for quite some time now, but have not been able to find anything that could shed some light on it. :-(
Regards, Rudy Wieser