三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

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

【车载 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()
← 返回列表