【车载 AOSP 16 蓝牙(bluedroid)服务】【qcom 平台双蓝牙】【10.UI点击播放,耳机如何出声 2】

📅 2026/7/15 1:11:52 👁️ 阅读次数 📝 编程学习
【车载 AOSP 16 蓝牙(bluedroid)服务】【qcom 平台双蓝牙】【10.UI点击播放,耳机如何出声 2】

6.7btif_a2dp_source_audio_tx_start_event():真正开始跑编码 timer

源码:

  • packages/modules/Bluetooth/system/btif/src/btif_a2dp_source.cc

在协议栈层确认 start 成功后,才会进入真正的数据面:

  1. btif_a2dp_source_start_audio_req(peer_address)
  2. 调到btif_a2dp_source_audio_tx_start_event(peer_address)
  3. 设置sw_audio_is_encoding = true
  4. media_alarm.SchedulePeriodic(...)

这个 periodic timer 才是后面真正周期性拉 PCM、编码、送包的入口。

它进一步会:

  • 通过btif_a2dp_source_read_callback()从 FMQ 里读 PCM
  • 通过 encodersend_frames()编码
  • 通过bta_av_ci_src_data_ready()