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).