esp-idf examples の bluetooth/a2sp_sink へ aptx decode を組み込めるか、ソースを追って考察してみました。
先ず、i2s_write() を実行している所はと言うと、bt_app_av.c の bt_app_a2d_data_cb() の中で、
i2s_write() をコールしているようです。
bt_app_av.c
bt_app_a2d_data_cb は、どこでコールされているかと言うと
main.c の bt_av_hdl_stack_evt() から、イベント登録されて(esp_a2d_sink_register_data_callback(&bt_app_a2d_data_cb))、
イベント起動されているようです。
main.c
bt_av_hdl_stack_evt() は、どのようにコールされているかと言うと、
app_main() の中から、bt_app_work_dispatch() で 実行されているようです。
結局、bt_app_a2d_data_cb() は、何かの事象でイベント起動されて、
渡された、*data を そのまま加工することなく、i2s_write() へ渡しているようです。
つまり、この時点では、 SBC データは、デコードされているという事の様です。