Clamp float data sent to HAL

When memcpying from float to float, we don't check for values
above unity, including NaN. In all other PCM cases, we clamp on either
side of the conversion.

Prior to writing to the HAL, check the data to insulate HALs
which may not tolerate invalid float PCM data gracefully.

Bug: 247119066
Bug: 241662887
Test: atest AudioTrackTest
Change-Id: I355c98f94b1bc9e340f609348ba1b9184c0fd1e3
(cherry picked from commit ba9a1070434ad6de3c87c6b945e8d9bb870a5e77)
1 file changed