APPL_TRACE_DEBUG("%s: peer_address=%s", __func__,
p_peer->addr.ToString().c_str());
- if (!p_peer->GetCodecs()->getCodecConfigAndCapabilities(
- &codec_config, &codecs_local_capabilities,
- &codecs_selectable_capabilities)) {
+ A2dpCodecs* codecs = p_peer->GetCodecs();
+ CHECK(codecs != nullptr);
+ if (!codecs->getCodecConfigAndCapabilities(&codec_config,
+ &codecs_local_capabilities,
+ &codecs_selectable_capabilities)) {
APPL_TRACE_WARNING(
"%s: Peer %s : error reporting audio source codec state: "
"cannot get codec config and capabilities",
max_connected_peers_(kDefaultMaxConnectedAudioDevices) {}
~BtifAvSource();
- btav_source_callbacks_t* Callbacks() { return callbacks_; }
bt_status_t Init(
btav_source_callbacks_t* callbacks, int max_connected_audio_devices,
const std::vector<btav_a2dp_codec_config_t>& codec_priorities);
void Cleanup();
+ btav_source_callbacks_t* Callbacks() { return callbacks_; }
bool Enabled() const { return enabled_; }
bool A2dpOffloadEnabled() const { return a2dp_offload_enabled_; }
std::map<RawAddress, BtifAvPeer*> peers_;
RawAddress active_peer_;
std::map<uint8_t, tBTA_AV_HNDL> peer_id2bta_handle_;
- std::vector<btav_a2dp_codec_config_t> codec_priorities_;
};
class BtifAvSink {
enabled_(false),
max_connected_peers_(kDefaultMaxConnectedAudioDevices) {}
~BtifAvSink();
- bt_status_t Init(btav_sink_callbacks_t* callbacks);
- btav_sink_callbacks_t* Callbacks() { return callbacks_; }
+ bt_status_t Init(btav_sink_callbacks_t* callbacks);
void Cleanup();
+ btav_sink_callbacks_t* Callbacks() { return callbacks_; }
bool Enabled() const { return enabled_; }
+
BtifAvPeer* FindPeer(const RawAddress& peer_address);
BtifAvPeer* FindPeerByHandle(tBTA_AV_HNDL bta_handle);
BtifAvPeer* FindPeerByPeerId(uint8_t peer_id);
BTIF_TRACE_DEBUG("a2dp_offload.enable = %d", a2dp_offload_enabled_);
callbacks_ = callbacks;
- codec_priorities_ = codec_priorities;
- bta_av_co_init(codec_priorities_);
+ bta_av_co_init(codec_priorities);
if (!btif_a2dp_source_init()) {
return BT_STATUS_FAIL;
max_connected_peers_ = kDefaultMaxConnectedAudioDevices;
callbacks_ = callbacks;
+ std::vector<btav_a2dp_codec_config_t> codec_priorities; // Default priorities
+ bta_av_co_init(codec_priorities);
+
if (!btif_a2dp_sink_init()) {
return BT_STATUS_FAIL;
}