mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-10-29 05:40:27 -04:00
bluez5: Add support for 32KHz sampling frequency
This commit is contained in:
parent
92f0815e4d
commit
b69e089648
1 changed files with 10 additions and 1 deletions
|
|
@ -123,7 +123,8 @@ static int codec_fill_caps(const struct media_codec *codec, uint32_t flags,
|
|||
uint16_t framelen[2] = {htobs(LC3_MIN_FRAME_BYTES), htobs(LC3_MAX_FRAME_BYTES)};
|
||||
|
||||
data += write_ltv_uint16(data, LC3_TYPE_FREQ,
|
||||
htobs(LC3_FREQ_48KHZ | LC3_FREQ_24KHZ | LC3_FREQ_16KHZ | LC3_FREQ_8KHZ));
|
||||
htobs(LC3_FREQ_48KHZ | LC3_FREQ_32KHZ | \
|
||||
LC3_FREQ_24KHZ | LC3_FREQ_16KHZ | LC3_FREQ_8KHZ));
|
||||
data += write_ltv_uint8(data, LC3_TYPE_DUR, LC3_DUR_ANY);
|
||||
data += write_ltv_uint8(data, LC3_TYPE_CHAN, LC3_CHAN_1 | LC3_CHAN_2);
|
||||
data += write_ltv(data, LC3_TYPE_FRAMELEN, framelen, sizeof(framelen));
|
||||
|
|
@ -266,6 +267,8 @@ static bool select_config(bap_lc3_t *conf, const struct pac_data *pac, struct sp
|
|||
uint16_t rate = ltv->value[0] + (ltv->value[1] << 8);
|
||||
if (rate & LC3_FREQ_48KHZ)
|
||||
conf->rate = LC3_CONFIG_FREQ_48KHZ;
|
||||
else if (rate & LC3_FREQ_32KHZ)
|
||||
conf->rate = LC3_CONFIG_FREQ_32KHZ;
|
||||
else if (rate & LC3_FREQ_24KHZ)
|
||||
conf->rate = LC3_CONFIG_FREQ_24KHZ;
|
||||
else if (rate & LC3_FREQ_16KHZ)
|
||||
|
|
@ -346,6 +349,12 @@ static bool select_config(bap_lc3_t *conf, const struct pac_data *pac, struct sp
|
|||
else
|
||||
conf->framelen = 120; /* 48_4_2 */
|
||||
break;
|
||||
case LC3_CONFIG_FREQ_32KHZ:
|
||||
if (conf->frame_duration == LC3_CONFIG_DURATION_7_5)
|
||||
conf->framelen = 60; /* 32_1_2 */
|
||||
else
|
||||
conf->framelen = 80; /* 32_2_2 */
|
||||
break;
|
||||
case LC3_CONFIG_FREQ_24KHZ:
|
||||
if (conf->frame_duration == LC3_CONFIG_DURATION_7_5)
|
||||
conf->framelen = 45; /* 24_1_2 */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue