bluetooth - Why in Bluez 5.35 SBC codec capabilities are initialized in android/hal-audio-sbc.c packge not in AVDTP.c -


i updating bluez 4.97 5.35 in embedded device.

for a2dp connection, have share sbc codec capabilities. in ideal case capablity figure 1 avdtp packet bluez 4.97. in bluez 4.97 code, getting sbc codec capability sbc_getcap_ind() function in avdtp layer. in sbc_getcap_ind(), both sbc_codec_cap , avdtp_media_codec_capability initialized. capability packet can send phone.

in 5.35, sbc_getcap_ind() function not available. avdtp_media_codec_capability set in endpoint_getcap_ind() function in avdtp layer, per expectation. sbc_codec_cap not initialized. getting packect in figure2avdtp corrupt packet bluez 5.35.

in bluez 5.35 there comes new package android/hal-audio-sbc.c, in package sbc coded capability set.

my embedded device rtos based , have nothing android. so have following doubt:

1) why there new android package in bluez stack? what's development idea behind this?

2) why sbc capabilities initialized in android/hal-audio-sbc.c, how non-android device access sbc capabilities?

3) how in embedded environment, can use android/hal-audio-sbc.c sbc capabilities?

i think not able resolve issue because missing understanding of new 5.35 architecture. , there not enough documents understand bluez architecture. hope getting answer of these question can understand significance of android folder in 5.35 bluez package.

before answering questions, share couple of url's.

  1. porting guide
  2. management interface

coming questions,

  1. bluez supports both android , linux platform. directory "android" contains sources related android platform, can't used linux environment. idea behind share common code of development between linux , android, , develop common functionalities separately (mostly under "src", "gdbus" , "profile" directories).
  2. as part of bluez 4 bluez 5 migration or major development, audio related implementations moved out of bluez. it's responsibility of audio application implement whole stuff on it's own , register bluez (doc/profile-api.txt ==> registerprofile() method). bluez act mediator between application , devices. far linux concerned, there no audio implementation inside bluez. not sure android directory under bluez. non-android platforms needs implement on own.
  3. as mentioned, need implement our own audio related profiles bluez. have 1 working software, pulseaudio. can load module-bluez-discover in pulseaudio (pactl) , pulse audio takes care of audio.

there solution available in open source, bluealsa under active development. after using it, see lot of delay in audio , less quality. if want perfect solution, implement on own or use pulseaudio (no real time).

in simple words, migration application bluez 4.x bluez 5.x not easy!


Comments

Popular posts from this blog

Command prompt result in label. Python 2.7 -

javascript - How do I use URL parameters to change link href on page? -

amazon web services - AWS Route53 Trying To Get Site To Resolve To www -