The description of the buffer parameter is not consistent with the example given:
But the example in the document has:
StreamBuffer = adl_memGet( BufferSize );
// Play an audio PCM stream
Ret = adl_audioStreamPlay( handle, ADL_AUDIO_PCM_MONO_8K_16B, MyLowLevelIRQHandler, 0, StreamBuffer );
So, at the point that adl_audioStreamPlay is called, the buffer does not contain any valid data at all!
(the PCM_Record_And_Play sample application is the same).