ESP32 esp-idf bluetooth a2dp_sink への aptx decode 実装の考察

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 データは、デコードされているという事の様です。

このブログ記事について

このページは、おんちゃんが2018年12月19日 12:56に書いたブログ記事です。

ひとつ前のブログ記事は「ESP32 esp-idf eclipse CentOS7 build error」です。

次のブログ記事は「ESP32 esp-idf bluetooth a2dp_sink への aptx decode 実装の考察 #2」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

カテゴリ

ウェブページ

サイトナビ