Checkout the docs of lib_i2s
https://www.xmos.com/download/private/l ... rc1%29.pdf.
The short story is that I2S calls back to a handler to inform/check about new frames and pass data to/from I2S.
i2s_handler() is the task that receives those callbacks and handles them.
It can be a task running on it's own core or [[distributable]] which means the compiler effectively inlines the callback cases so that they are run from the I2S task...kind of turns them into function calls.