Loading adsprpcd/Android.bp 0 → 100644 +22 −0 Original line number Diff line number Diff line cc_binary { name: "audioadsprpcd", srcs: ["adsprpcd.c"], header_libs: ["libfastrpcshippable_headers"], shared_libs: [ "liblog", "libdl", ], init_rc: ["vendor.qti.audio-adsprpc-service.rc"], vendor: true, owner: "qti", sanitize: { integer_overflow: true, }, } adsprpcd/adsprpcd.c 0 → 100644 +77 −0 Original line number Diff line number Diff line /* * Copyright (c) 2013-2016, 2020, The Linux Foundation. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are * met: * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above * copyright notice, this list of conditions and the following * disclaimer in the documentation and/or other materials provided * with the distribution. * * Neither the name of The Linux Foundation nor the names of its * contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef VERIFY_PRINT_ERROR #define VERIFY_PRINT_ERROR #endif #include <stdio.h> #include <dlfcn.h> #include <unistd.h> #include "verify.h" #include "AEEStdErr.h" #ifndef ADSP_DEFAULT_LISTENER_NAME #define ADSP_DEFAULT_LISTENER_NAME "libadsp_default_listener.so" #endif typedef int (*adsp_default_listener_start_t)(int argc, char *argv[]); int main(int argc, char *argv[]) { int nErr = 0; void *adsphandler = NULL; adsp_default_listener_start_t listener_start; VERIFY_EPRINTF("audio adsp daemon starting"); while (1) { if(NULL != (adsphandler = dlopen(ADSP_DEFAULT_LISTENER_NAME, RTLD_NOW))) { if(NULL != (listener_start = (adsp_default_listener_start_t)dlsym(adsphandler, "adsp_default_listener_start"))) { VERIFY_IPRINTF("adsp_default_listener_start called"); nErr = listener_start(argc, argv); } if(0 != dlclose(adsphandler)) { VERIFY_EPRINTF("dlclose failed"); } } else { VERIFY_EPRINTF("audio adsp daemon error %s", dlerror()); } if (nErr == AEE_ECONNREFUSED) { VERIFY_EPRINTF("fastRPC device driver is disabled, daemon exiting..."); break; } VERIFY_EPRINTF("audio adsp daemon will restart after 25ms..."); usleep(25000); } VERIFY_EPRINTF("audio adsp daemon exiting %x", nErr); bail: return nErr; } adsprpcd/vendor.qti.audio-adsprpc-service.rc 0 → 100644 +33 −0 Original line number Diff line number Diff line # # Copyright (c) 2018-2020, The Linux Foundation. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following # disclaimer in the documentation and/or other materials provided # with the distribution. # * Neither the name of The Linux Foundation nor the names of its # contributors may be used to endorse or promote products derived # from this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN # IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # service vendor.audioadsprpcd_audiopd /vendor/bin/audioadsprpcd audiopd class main user media group media configs/lahaina/lahaina.mk +2 −0 Original line number Diff line number Diff line Loading @@ -103,6 +103,8 @@ PRODUCT_PACKAGES += $(AUDIO_HARDWARE) PRODUCT_PACKAGES += $(AUDIO_WRAPPER) PRODUCT_PACKAGES += $(AUDIO_HAL_TEST_APPS) PRODUCT_PACKAGES += ftm_test_config_lahaina-qrd-snd-card PRODUCT_PACKAGES += audioadsprpcd PRODUCT_PACKAGES += vendor.qti.audio-adsprpc-service.rc ifneq ($(strip $(TARGET_USES_RRO)), true) #Audio Specific device overlays Loading Loading
adsprpcd/Android.bp 0 → 100644 +22 −0 Original line number Diff line number Diff line cc_binary { name: "audioadsprpcd", srcs: ["adsprpcd.c"], header_libs: ["libfastrpcshippable_headers"], shared_libs: [ "liblog", "libdl", ], init_rc: ["vendor.qti.audio-adsprpc-service.rc"], vendor: true, owner: "qti", sanitize: { integer_overflow: true, }, }
adsprpcd/adsprpcd.c 0 → 100644 +77 −0 Original line number Diff line number Diff line /* * Copyright (c) 2013-2016, 2020, The Linux Foundation. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are * met: * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above * copyright notice, this list of conditions and the following * disclaimer in the documentation and/or other materials provided * with the distribution. * * Neither the name of The Linux Foundation nor the names of its * contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef VERIFY_PRINT_ERROR #define VERIFY_PRINT_ERROR #endif #include <stdio.h> #include <dlfcn.h> #include <unistd.h> #include "verify.h" #include "AEEStdErr.h" #ifndef ADSP_DEFAULT_LISTENER_NAME #define ADSP_DEFAULT_LISTENER_NAME "libadsp_default_listener.so" #endif typedef int (*adsp_default_listener_start_t)(int argc, char *argv[]); int main(int argc, char *argv[]) { int nErr = 0; void *adsphandler = NULL; adsp_default_listener_start_t listener_start; VERIFY_EPRINTF("audio adsp daemon starting"); while (1) { if(NULL != (adsphandler = dlopen(ADSP_DEFAULT_LISTENER_NAME, RTLD_NOW))) { if(NULL != (listener_start = (adsp_default_listener_start_t)dlsym(adsphandler, "adsp_default_listener_start"))) { VERIFY_IPRINTF("adsp_default_listener_start called"); nErr = listener_start(argc, argv); } if(0 != dlclose(adsphandler)) { VERIFY_EPRINTF("dlclose failed"); } } else { VERIFY_EPRINTF("audio adsp daemon error %s", dlerror()); } if (nErr == AEE_ECONNREFUSED) { VERIFY_EPRINTF("fastRPC device driver is disabled, daemon exiting..."); break; } VERIFY_EPRINTF("audio adsp daemon will restart after 25ms..."); usleep(25000); } VERIFY_EPRINTF("audio adsp daemon exiting %x", nErr); bail: return nErr; }
adsprpcd/vendor.qti.audio-adsprpc-service.rc 0 → 100644 +33 −0 Original line number Diff line number Diff line # # Copyright (c) 2018-2020, The Linux Foundation. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following # disclaimer in the documentation and/or other materials provided # with the distribution. # * Neither the name of The Linux Foundation nor the names of its # contributors may be used to endorse or promote products derived # from this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN # IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # service vendor.audioadsprpcd_audiopd /vendor/bin/audioadsprpcd audiopd class main user media group media
configs/lahaina/lahaina.mk +2 −0 Original line number Diff line number Diff line Loading @@ -103,6 +103,8 @@ PRODUCT_PACKAGES += $(AUDIO_HARDWARE) PRODUCT_PACKAGES += $(AUDIO_WRAPPER) PRODUCT_PACKAGES += $(AUDIO_HAL_TEST_APPS) PRODUCT_PACKAGES += ftm_test_config_lahaina-qrd-snd-card PRODUCT_PACKAGES += audioadsprpcd PRODUCT_PACKAGES += vendor.qti.audio-adsprpc-service.rc ifneq ($(strip $(TARGET_USES_RRO)), true) #Audio Specific device overlays Loading