Fix ringbuffer handling

Explicitly keep track of the number of samples in the ring buffer,
rather than inferring it from the difference between the read and
write pointer, since the latter cannot distinguish between a
completely full and a completely empty buffer.

Bug: 17582331

Change-Id: I24d16ce96710209b7457ffad7c4c60201451980f
2 files changed