I'm testing the 3.14.19 kernel on imx28evk, with a Yocto build that uses the linux-fslc kernel provider.
I am doing audio recordings through the SGTL5000 driver as such:
arecord -D hw:0,1 -f s16 -c 2 -r 16000 -d 5 test.wav
(the -d 5 option specifies the recording duration)
I'm finding that the first 400-500 ms of the saved data is actually stale data from the end of the previous recording. To see this, do the following:
- Provide some test audio input in the LINE INPUT jack. E.g. a 100 Hz sine wave, or some music.
- Record audio with e.g. arecord -D hw:0,1 -f s16 -c 2 -r 16000 -d 5 test1.wav
- Change the test audio input, e.g. a 150 Hz sine wave, or some different music.
- Record a new audio file with e.g. arecord -D hw:0,1 -f s16 -c 2 -r 16000 -d 5 test2.wav
Observe that the first 400-500 ms of test2.wav contains stale data from the end of the previous recording.
Can anyone replicate and confirm this? Can anyone recommend a fix or a bug hypothesis?