Draft: bluez5: add LHDC V3 A2DP vendor codec
Codec enumerates just fine, but nothing is being played and the following error message is shown:
W 16:40:12.664192 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:328:debug_params: params Spa:Enum:ParamId:EnumFormat: 1:0 (convert format) no matching params
W 16:40:12.664205 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:335:debug_params: with this filter:
W 16:40:12.664210 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:336:debug_params: Object: size 192, type Spa:Pod:Object:Param:Format (262147), id Spa:Enum:ParamId:EnumFormat (3)
W 16:40:12.664213 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:336:debug_params: Prop: key Spa:Pod:Object:Param:Format:mediaType (1), flags 00000000
W 16:40:12.664216 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:336:debug_params: Id 1 (Spa:Enum:MediaType:audio)
W 16:40:12.664219 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:336:debug_params: Prop: key Spa:Pod:Object:Param:Format:mediaSubtype (2), flags 00000000
W 16:40:12.664221 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:336:debug_params: Id 1 (Spa:Enum:MediaSubtype:raw)
W 16:40:12.664224 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:336:debug_params: Prop: key Spa:Pod:Object:Param:Format:Audio:format (65537), flags 00000000
W 16:40:12.664227 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:336:debug_params: Choice: type Spa:Enum:Choice:Enum, flags 00000000 20 4
W 16:40:12.664230 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:336:debug_params: Id 267 (Spa:Enum:AudioFormat:S32LE)
W 16:40:12.664232 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:336:debug_params: Prop: key Spa:Pod:Object:Param:Format:Audio:rate (65539), flags 00000000
W 16:40:12.664235 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:336:debug_params: Choice: type Spa:Enum:Choice:None, flags 00000000 24 4
W 16:40:12.664238 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:336:debug_params: Int 48000
W 16:40:12.664240 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:336:debug_params: Int 48000
W 16:40:12.664243 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:336:debug_params: Prop: key Spa:Pod:Object:Param:Format:Audio:channels (65540), flags 00000000
W 16:40:12.664246 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:336:debug_params: Int 2
W 16:40:12.664249 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:336:debug_params: Prop: key Spa:Pod:Object:Param:Format:Audio:position (65541), flags 00000000
W 16:40:12.664251 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:336:debug_params: Array: child.size 4, child.type Spa:Id
W 16:40:12.664254 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:336:debug_params: Id 3 (Spa:Enum:AudioChannel:FL)
W 16:40:12.664257 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:336:debug_params: Id 4 (Spa:Enum:AudioChannel:FR)
W 16:40:12.664261 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:353:debug_params: unmatched convert format 0:
W 16:40:12.664264 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:354:debug_params: Object: size 288, type Spa:Pod:Object:Param:Format (262147), id Spa:Enum:ParamId:EnumFormat (3)
W 16:40:12.664266 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:354:debug_params: Prop: key Spa:Pod:Object:Param:Format:mediaType (1), flags 00000000
W 16:40:12.664269 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:354:debug_params: Id 1 (Spa:Enum:MediaType:audio)
W 16:40:12.664271 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:354:debug_params: Prop: key Spa:Pod:Object:Param:Format:mediaSubtype (2), flags 00000000
W 16:40:12.664274 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:354:debug_params: Id 1 (Spa:Enum:MediaSubtype:raw)
W 16:40:12.664276 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:354:debug_params: Prop: key Spa:Pod:Object:Param:Format:Audio:format (65537), flags 00000000
W 16:40:12.664279 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:354:debug_params: Choice: type Spa:Enum:Choice:Enum, flags 00000000 116 4
W 16:40:12.664281 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:354:debug_params: Id 518 (Spa:Enum:AudioFormat:F32P)
W 16:40:12.664284 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:354:debug_params: Id 518 (Spa:Enum:AudioFormat:F32P)
W 16:40:12.664286 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:354:debug_params: Id 283 (Spa:Enum:AudioFormat:F32LE)
W 16:40:12.664289 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:354:debug_params: Id 284 (Spa:Enum:AudioFormat:F32BE)
W 16:40:12.664291 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:354:debug_params: Id 519 (Spa:Enum:AudioFormat:F64P)
W 16:40:12.664294 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:354:debug_params: Id 285 (Spa:Enum:AudioFormat:F64LE)
W 16:40:12.664297 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:354:debug_params: Id 286 (Spa:Enum:AudioFormat:F64BE)
W 16:40:12.664299 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:354:debug_params: Id 516 (Spa:Enum:AudioFormat:S32P)
W 16:40:12.664302 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:354:debug_params: Id 267 (Spa:Enum:AudioFormat:S32LE)
W 16:40:12.664305 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:354:debug_params: Id 268 (Spa:Enum:AudioFormat:S32BE)
W 16:40:12.664308 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:354:debug_params: Id 515 (Spa:Enum:AudioFormat:S24_32P)
W 16:40:12.664310 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:354:debug_params: Id 263 (Spa:Enum:AudioFormat:S24_32LE)
W 16:40:12.664313 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:354:debug_params: Id 264 (Spa:Enum:AudioFormat:S24_32BE)
W 16:40:12.664317 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:354:debug_params: Id 517 (Spa:Enum:AudioFormat:S24P)
W 16:40:12.664320 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:354:debug_params: Id 271 (Spa:Enum:AudioFormat:S24LE)
W 16:40:12.664322 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:354:debug_params: Id 272 (Spa:Enum:AudioFormat:S24BE)
W 16:40:12.664326 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:354:debug_params: Id 514 (Spa:Enum:AudioFormat:S16P)
W 16:40:12.664329 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:354:debug_params: Id 259 (Spa:Enum:AudioFormat:S16LE)
W 16:40:12.664331 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:354:debug_params: Id 260 (Spa:Enum:AudioFormat:S16BE)
W 16:40:12.664334 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:354:debug_params: Id 520 (Spa:Enum:AudioFormat:S8P)
W 16:40:12.664337 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:354:debug_params: Id 257 (Spa:Enum:AudioFormat:S8)
W 16:40:12.664340 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:354:debug_params: Id 513 (Spa:Enum:AudioFormat:U8P)
W 16:40:12.664342 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:354:debug_params: Id 258 (Spa:Enum:AudioFormat:U8)
W 16:40:12.664345 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:354:debug_params: Id 287 (Spa:Enum:AudioFormat:ULAW)
W 16:40:12.664348 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:354:debug_params: Id 288 (Spa:Enum:AudioFormat:ALAW)
W 16:40:12.664350 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:354:debug_params: Prop: key Spa:Pod:Object:Param:Format:Audio:rate (65539), flags 00000000
W 16:40:12.664353 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:354:debug_params: Choice: type Spa:Enum:Choice:Range, flags 00000000 28 4
W 16:40:12.664355 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:354:debug_params: Int 48000
W 16:40:12.664358 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:354:debug_params: Int 1
W 16:40:12.664360 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:354:debug_params: Int 2147483647
W 16:40:12.664363 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:354:debug_params: Prop: key Spa:Pod:Object:Param:Format:Audio:channels (65540), flags 00000000
W 16:40:12.664365 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:354:debug_params: Choice: type Spa:Enum:Choice:Range, flags 00000000 28 4
W 16:40:12.664368 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:354:debug_params: Int 2
W 16:40:12.664370 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:354:debug_params: Int 1
W 16:40:12.664373 spa.audioadapter ../spa/plugins/audioconvert/audioadapter.c:354:debug_params: Int 64
W 16:40:12.664392 pw.node ../src/pipewire/impl-node.c:409:node_update_state: (bluez_output.28_6F_40_3A_D4_52.1-92) suspended -> error (Start error: Operation not supported)
Codec libraries and headers can be downloaded here.
The build process is almost the same as in INSTALL.md
with the addition of
LHDC_INCLUDE_DIR=/path/to/headers
export C_INCLUDE_PATH=$LHDC_INCLUDE_DIR/liblhdc/include:$LHDC_INCLUDE_DIR/liblhdc/inc
before setup.
UPD Most of my changes are being recognized as spam. This is VERY annoying.
Edited by anonymix007