maximum lenght of SPORT buffer in ADuCM4050 and correct filling of the buffer


I'm using the SPORT of the ADuCM4050 to read MEMS microphone through ADAU7002.

I can read the signal correctly, as I see a sine wave with the appropriate frequency when emitting such from a speaker. 

I have 2 questions:

1. I discovered that the maximum alowable buffer whan using adi_sport_SubmitBuffer is 4000 bytes. Why there is such limit and how can I avoid it?

2. Alternatively, I used adi_sport_RegisterCallback and repeatedly dubmitting the buffer to the SPORT. However, the received signal is not continupus as the buffer has about 420 leading valueas which do not arrive from the microphone (see a plot of 3 consequent buffers, each is 500 samples long). What is the source of the issue and how do I workaround this? 

Thanks, T.