mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2026-06-13 14:33:03 -04:00
Merge branch 'ldacBT' into 'master'
Draft: bluez5: Support ldacBT 2.1.0.0 See merge request pipewire/pipewire!2851
This commit is contained in:
commit
cb389f165f
3 changed files with 33 additions and 6 deletions
|
|
@ -73,15 +73,37 @@ if get_option('spa-plugins').allowed()
|
||||||
endforeach
|
endforeach
|
||||||
summary({'Bluetooth audio': bluez_deps_found}, bool_yn: true, section: 'Backend')
|
summary({'Bluetooth audio': bluez_deps_found}, bool_yn: true, section: 'Backend')
|
||||||
if bluez_deps_found
|
if bluez_deps_found
|
||||||
|
ldac_enc_dep = dependency('', required: false)
|
||||||
|
if get_option('bluez5-codec-ldac').allowed()
|
||||||
|
ldac_enc_dep = dependency('ldacBT-enc', required : false)
|
||||||
|
if not ldac_enc_dep.found()
|
||||||
|
dep = cc.find_library('ldacBT', required : false)
|
||||||
|
dep = dependency('ldacBT', required : false)
|
||||||
|
if dep.found() and cc.has_function('ldacBT_encode', dependencies : dep)
|
||||||
|
ldac_enc_dep = dep
|
||||||
|
dep = cc.find_library('ldacBT', required : false)
|
||||||
|
else
|
||||||
|
dep = cc.find_library('ldacBT', required : false)
|
||||||
|
if not ldac_enc_dep.found() and get_option('bluez5-codec-ldac').enabled()
|
||||||
|
error('LDAC encoder library not found')
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
ldac_dep = dependency('ldacBT-enc', required : get_option('bluez5-codec-ldac'))
|
ldac_dep = dependency('ldacBT-enc', required : get_option('bluez5-codec-ldac'))
|
||||||
summary({'LDAC': ldac_dep.found()}, bool_yn: true, section: 'Bluetooth audio codecs')
|
summary({'LDAC': ldac_dep.found()}, bool_yn: true, section: 'Bluetooth audio codecs')
|
||||||
ldac_abr_dep = dependency('ldacBT-abr', required : get_option('bluez5-codec-ldac'))
|
ldac_abr_dep = dependency('ldacBT-abr', required : get_option('bluez5-codec-ldac'))
|
||||||
summary({'LDAC ABR': ldac_abr_dep.found()}, bool_yn: true, section: 'Bluetooth audio codecs')
|
summary({'LDAC ABR': ldac_abr_dep.found()}, bool_yn: true, section: 'Bluetooth audio codecs')
|
||||||
|
|
||||||
|
ldac_dec_dep = dependency('', required: false)
|
||||||
if get_option('bluez5-codec-ldac-dec').allowed()
|
if get_option('bluez5-codec-ldac-dec').allowed()
|
||||||
ldac_dec_dep = dependency('ldacBT-dec', required : false)
|
ldac_dec_dep = dependency('ldacBT-dec', required : false)
|
||||||
if not ldac_dec_dep.found()
|
if not ldac_dec_dep.found()
|
||||||
dep = cc.find_library('ldacBT_dec', required : false)
|
dep = cc.find_library('ldacBT_dec', required : false)
|
||||||
|
if dep.found() and cc.has_function('ldacBT_decode', dependencies : dep)
|
||||||
|
ldac_dec_dep = dep
|
||||||
|
else
|
||||||
|
dep = cc.find_library('ldacBT', required : false)
|
||||||
if dep.found() and cc.has_function('ldacBT_decode', dependencies : dep)
|
if dep.found() and cc.has_function('ldacBT_decode', dependencies : dep)
|
||||||
ldac_dec_dep = dep
|
ldac_dec_dep = dep
|
||||||
endif
|
endif
|
||||||
|
|
@ -89,8 +111,7 @@ if get_option('spa-plugins').allowed()
|
||||||
if not ldac_dec_dep.found() and get_option('bluez5-codec-ldac-dec').enabled()
|
if not ldac_dec_dep.found() and get_option('bluez5-codec-ldac-dec').enabled()
|
||||||
error('LDAC decoder library not found')
|
error('LDAC decoder library not found')
|
||||||
endif
|
endif
|
||||||
else
|
endif
|
||||||
ldac_dec_dep = dependency('', required: false)
|
|
||||||
endif
|
endif
|
||||||
summary({'LDAC DEC': ldac_dec_dep.found()}, bool_yn: true, section: 'Bluetooth audio codecs')
|
summary({'LDAC DEC': ldac_dec_dep.found()}, bool_yn: true, section: 'Bluetooth audio codecs')
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -471,7 +471,11 @@ static void *codec_init(const struct media_codec *codec, uint32_t flags,
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef ENABLE_LDAC_ABR
|
#ifdef ENABLE_LDAC_ABR
|
||||||
this->ldac_abr = ldac_ABR_get_handle();
|
#ifdef LDAC_ABR_HANDLE_NULL
|
||||||
|
this->ldac_abr = ldac_ABR_get_handle(NULL);
|
||||||
|
#else
|
||||||
|
this->ldac_abr = ldac_ABR_get_handle();
|
||||||
|
#endif
|
||||||
if (this->ldac_abr == NULL)
|
if (this->ldac_abr == NULL)
|
||||||
goto error_errno;
|
goto error_errno;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -138,10 +138,12 @@ if ldac_dep.found()
|
||||||
ldac_args = codec_args
|
ldac_args = codec_args
|
||||||
if ldac_abr_dep.found()
|
if ldac_abr_dep.found()
|
||||||
ldac_args += [ '-DENABLE_LDAC_ABR' ]
|
ldac_args += [ '-DENABLE_LDAC_ABR' ]
|
||||||
|
if ldac_abr_dep.version().version_compare('>=2.1.0.0')
|
||||||
|
ldac_args += [ '-DLDAC_ABR_HANDLE_NULL' ]
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
if get_option('bluez5-codec-ldac-dec').allowed() and ldac_dec_dep.found()
|
if get_option('bluez5-codec-ldac-dec').allowed() and ldac_dec_dep.found()
|
||||||
ldac_args += [ '-DENABLE_LDAC_DEC' ]
|
ldac_args += [ '-DENABLE_LDAC_DEC' ]
|
||||||
ldac_dep = [ldac_dep, ldac_dec_dep]
|
|
||||||
endif
|
endif
|
||||||
bluez_codec_ldac = shared_library('spa-codec-bluez5-ldac',
|
bluez_codec_ldac = shared_library('spa-codec-bluez5-ldac',
|
||||||
[ 'a2dp-codec-ldac.c', 'media-codecs.c' ],
|
[ 'a2dp-codec-ldac.c', 'media-codecs.c' ],
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue