On 14.01.2015 13:33, Peter Ujfalusi wrote:
On 01/14/2015 01:11 PM, Pascal Huerst wrote:
Hey Peter, all,
the patch (8e3006d02b46a722729a3bbd6a774eae99c6c8b8), causes lots of terrible noise on a custom built am33xx based board, if I map the input to the output like so:
arecord -f S16_LE -r 48000 -c2 -D hw:0,1 -F 0 --period-size=102 4 -B 0 --buffer-size=4096 | aplay -D hw:0,0 -
FWIW the -F0 and -B0 is redundant and you can use -fdat instead of -f S16_LE -r 48000 -c2
Ok, good to know.
If I undo your changes, everything works fine. Tested with 3.14.23 and 3.18.1.
You mean only this single commit?
Yes, even this single line.
- u32 rx_rotate = 0; + u32 rx_rotate = (32 - word_length) / 4;
Do you have any Idea, what might cause that behavior?
No, I don't. I quickly checked on am335x, am437x and on J6 boards and the command you are using works w/o any issue or distortion in recorded audio.
what codec or codecs are you using? I see that you record from hw:0,1 and play it back to hw:0,0 Can you check if the recorded sample alone is correct? Just record it to a file and look at it on the PC. I did the same and the recorded sample looks fine on my PC as well.
if I record into a file, it behaves just the same. Noise if rx_rotate == 0, correct otherwise. I guess it is a problem in the input codec, then.
input codec: AK5386 output codec: TAS5086
Looking at the patch again, I still think it is a valid fix.
Yes, I agree, the patch looks right.
I'll have a look into the ak5386 and see, what impact your change could have there.
thanks so far!