After adding a sample to the RingBuffer, start and stop indexes are updated. When calling the c_get_as_numpy_array() afterwards, the method doesn't account for the shifted indexes (in case the buffer is already filled).
As a result it returns an array with wrong data.