On 2019-12-09 14:56, Pali Rohár wrote:
On Monday 09 December 2019 14:47:26 Andrey Semashev wrote:
As a user, I don't know whether I can use SBC XQ. I don't know whether its
bitrate will fit in my radio conditions. If my device happens to support SBC
XQ, that is the codec that will get picked upon connection. Please, correct
me if I'm wrong, but I don't see a way to influence that.
You can ask same question for aptX-HD codec. It has also fixed high
bitrate.
If there is no way to switch between aptX-HD and aptX without device
reconnection then that's a limitation of this particular codec and
there's nothing we can do about it. This is not the case for SBC, if I
understand correctly.
SBC XQ is high quality and high bitrate, true, but PA should adapt to the
actual use conditions.
SBC XQ is defined with usage of one specific bitpool value.
Correct me if I'm wrong, but regardless of the quality there is only one
codec defined by A2DP - SBC. A2DP also defines several bitpool values
that should be used for this codec, which are commonly called LQ, MQ and
HQ. XQ is not formally defined by A2DP, but is actually supported by
devices. If all this is correct, I don't see why PA couldn't switch
between XQ and HQ the same way it switches from HQ to MQ in automatic mode.
More so if it actually has the means to do so. If PA
detects that SBC XQ does not fit in BT bandwidth, it should gradually drop
quality.
Maybe we can implement disconnecting SBC XQ profile when problem happen
and connect again with SBC in Automatic quality.
I'm not sure I understand the technical details of this, but if it
happens transparently to the user then that would be fine.
But there is another problem. People who chose high quality codec do not
want to see that application itself without their instruction decide to
change codec to low quality. This is reason why non-SBC codecs are used.
Because they provide one fixed quality which is same whatever bluetooth
adapter or headphone you will use. SBC is criticized for a long time
because current implementations automatically choose some quality which
is not under user control. So for these reasons there is SBC LQ, MQ, HQ
and XQ. You can choose what you want to use. By default is automatic
mode which decreasing quality.
I think the main criticism toward SBC is poor quality. A fair deal of
that criticism is misattributed to the codec itself and in fact is
caused by poor implementation in devices. But I can be reasonably sure
that for an average user signal stability always comes first, and
quality second.
I don't mind if there is a way to force a specific quality profile or
codec in PA. In fact, that would probably be useful for working around
various problems (e.g. when a device declares it supports XQ but
actually doesn't work). However, in the automatic mode, which should be
the default, XQ should be no different from the other profiles and
participate in quality adaptation.
_______________________________________________
pulseaudio-discuss mailing list
pulseaudio-discuss@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss