mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-10-31 22:25:38 -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)};
|
uint16_t framelen[2] = {htobs(LC3_MIN_FRAME_BYTES), htobs(LC3_MAX_FRAME_BYTES)};
|
||||||
|
|
||||||
data += write_ltv_uint16(data, LC3_TYPE_FREQ,
|
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_DUR, LC3_DUR_ANY);
|
||||||
data += write_ltv_uint8(data, LC3_TYPE_CHAN, LC3_CHAN_1 | LC3_CHAN_2);
|
data += write_ltv_uint8(data, LC3_TYPE_CHAN, LC3_CHAN_1 | LC3_CHAN_2);
|
||||||
data += write_ltv(data, LC3_TYPE_FRAMELEN, framelen, sizeof(framelen));
|
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);
|
uint16_t rate = ltv->value[0] + (ltv->value[1] << 8);
|
||||||
if (rate & LC3_FREQ_48KHZ)
|
if (rate & LC3_FREQ_48KHZ)
|
||||||
conf->rate = LC3_CONFIG_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)
|
else if (rate & LC3_FREQ_24KHZ)
|
||||||
conf->rate = LC3_CONFIG_FREQ_24KHZ;
|
conf->rate = LC3_CONFIG_FREQ_24KHZ;
|
||||||
else if (rate & LC3_FREQ_16KHZ)
|
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
|
else
|
||||||
conf->framelen = 120; /* 48_4_2 */
|
conf->framelen = 120; /* 48_4_2 */
|
||||||
break;
|
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:
|
case LC3_CONFIG_FREQ_24KHZ:
|
||||||
if (conf->frame_duration == LC3_CONFIG_DURATION_7_5)
|
if (conf->frame_duration == LC3_CONFIG_DURATION_7_5)
|
||||||
conf->framelen = 45; /* 24_1_2 */
|
conf->framelen = 45; /* 24_1_2 */
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue