QCC---音频输出DAC\I2S\SPDIF切换

QCC---音频输出DAC\I2S\SPDIF切换

如何做PIO切换音频输出方式?

/*!
\copyright  Copyright (c) 2020 - 2023 Qualcomm Technologies International, Ltd.
            All Rights Reserved.
            Qualcomm Technologies International, Ltd. Confidential and Proprietary.
\version    %%version
\file       headset_setup_audio.c
\brief      Module Conifgure Audio chains for headset application
*/
 
#include "kymera.h"
#include "source_prediction.h"
#include "kymera_setup.h"
#include "wired_audio_source.h"
#include "cap_id_prim.h"
#ifdef ENABLE_LDAC_SINK
#include "chain_input_ldac_stereo.h"
#endif
#ifdef USB_VOICE_MODE_UWB
#include "chain_usb_voice_swb.h"
#endif
#include "headset_cap_ids.h"
#include "headset_setup_audio.h"
#include "headset_product_config.h"
 
#include "chain_sco_nb.h"
#include "chain_sco_wb.h"
#include "chain_sco_swb.h"
#ifdef INCLUDE_SWB_LC3
#include "chain_sco_swb_lc3.h"
#include "chain_sco_swb_lc3_2mic.h"
#endif
#include "chain_sco_nb_2mic.h"
#include "chain_sco_wb_2mic.h"
#include "chain_sco_swb_2mic.h"
#include "chain_sco_nb_2mic_binaural.h"
#include "chain_sco_wb_2mic_binaural.h"
#include "chain_sco_swb_2mic_binaural.h"
#include "chain_output_volume_stereo.h"
#include "chain_output_volume_mono.h"
#include "chain_output_volume_common.h"
#include "chain_output_volume_stereo_le.h"
#include "chain_output_volume_mono_le.h"
#include "chain_prompt_sbc.h"
#include "chain_prompt_aac.h"
#include "chain_prompt_pcm.h"
#include "chain_tone_gen.h"
#include "chain_aec.h"
#include "chain_va_encode_msbc.h"
#include "chain_va_encode_opus.h"
#include "chain_va_encode_sbc.h"
#include "chain_va_mic_1mic.h"
#include "chain_va_mic_1mic_cvc.h"
#include "chain_va_mic_1mic_cvc_no_vad_wuw.h"
#include "chain_va_mic_1mic_cvc_wuw.h"
#include "chain_va_mic_2mic_cvc.h"
#include "chain_va_mic_2mic_cvc_wuw.h"
#include "chain_va_wuw_qva.h"
#include "chain_va_wuw_gva.h"
#include "chain_va_wuw_apva.h"
#include "chain_anc.h"
 
#include "chain_input_sbc_stereo.h"
#include "chain_input_aptx_stereo.h"
#include "chain_input_aptxhd_stereo.h"
#include "chain_input_aptx_adaptive_stereo.h"
#include "chain_input_aptx_adaptive_stereo_q2q.h"
#ifdef INCLUDE_APTX_ADAPTIVE_22
#include "chain_input_aptx_adaptive_r3_stereo_q2q.h"
#include "chain_input_aptx_adaptive_r3_stereo.h"
#endif
#ifdef ENABLE_TWM_SPEAKER
#include "chain_input_aac_stereo_mix.h"
#include "chain_forwarding_input_aptx_right.h"
#include "chain_forwarding_input_aptx_left.h"
#include "chain_input_aptx_adaptive_r3_mono.h"
#include "chain_input_aptx_adaptive_r3_mono_q2q.h"
#include "chain_input_aptx_adaptive_stereo_mix.h"
#include "chain_input_aptx_adaptive_stereo_mix_q2q.h"
#include "chain_input_aptx_stereo_mix.h"
#include "chain_input_sbc_stereo_mix.h"
#include "chain_input_aptx_split_stereo.h"
#endif /* ENABLE_TWM_SPEAKER */
#include "chain_input_aac_stereo.h"
#include "chain_input_wired_analog_stereo.h"
#include "chain_input_usb_stereo.h"
#include "chain_usb_voice_rx_mono.h"
#include "chain_usb_voice_rx_stereo.h"
#include "chain_usb_voice_wb.h"
#include "chain_usb_voice_wb_2mic.h"
#include "chain_usb_voice_wb_2mic_binaural.h"
#include "chain_usb_voice_nb.h"
#include "chain_usb_voice_nb_2mic.h"
#include "chain_usb_voice_nb_2mic_binaural.h"
 
#if (defined(INCLUDE_MIRRORING) && defined (ENABLE_TWM_SPEAKER))
#define SPEAKER_MONO_STEREO
#endif
 
#ifdef ENABLE_LE_AUDIO_CSIP
#define SPEAKER_MONO
#endif
 
#ifdef INCLUDE_MUSIC_PROCESSING
#include "chain_music_processing_user_eq.h"
#if defined(SPEAKER_MONO_STEREO) || defined (SPEAKER_MONO)
#include "chain_music_processing_user_eq_mono.h"
#endif
#else
#include "chain_music_processing.h"
#if defined(SPEAKER_MONO_STEREO) || defined (SPEAKER_MONO)
#include "chain_music_processing_mono.h"
#endif
#endif /* INCLUDE_MUSIC_PROCESSING */
 
#if defined(INCLUDE_LE_AUDIO_BROADCAST) || defined(INCLUDE_LE_AUDIO_UNICAST)
#include "chain_lc3_iso_stereo_decoder.h"
#include "chain_lc3_iso_split_stereo_decoder.h"
#include <chain_lc3_iso_mono_to_stereo_decoder.h>
#ifdef SPEAKER_MONO
#include "chain_lc3_iso_mono_decoder.h"
#endif /* SPEAKER_MONO */
#ifdef INCLUDE_LE_AUDIO_GAMING_MODE_APTX_LITE
#include "chain_aptx_lite_iso_stereo_decoder.h"
#include "chain_aptx_lite_iso_mono_wb_1mic_cvc.h"
#endif /* INCLUDE_LE_AUDIO_GAMING_MODE_APTX_LITE */
#endif
 
#ifdef INCLUDE_LE_AUDIO_UNICAST
#include "chain_lc3_iso_voice_wb.h"
#include "chain_lc3_iso_voice_uwb.h"
#include "chain_lc3_iso_voice_swb.h"
#include "chain_lc3_iso_stereo_voice_wb.h"
#include "chain_lc3_iso_stereo_voice_uwb.h"
#include "chain_lc3_iso_stereo_voice_swb.h"
#include "chain_lc3_iso_mono_wb_1mic_cvc.h"
#include "chain_lc3_iso_stereo_voice_speaker_only.h"
#include "chain_lc3_iso_mono_voice_speaker_only.h"
#include "chain_lc3_iso_mono_1mic.h"
#include "chain_lc3_iso_dummy_output.h"
#include "chain_lc3_iso_mono_swb_1mic_cvc.h"
 
/* From Air Chains for LE Voice */
#include "chain_lc3_iso_to_dac_voice_wb_mono.h"
 
#endif
 
#include "chain_mic_resampler.h"
 
#include "chain_va_graph_manager.h"
 
#ifdef ENABLE_SIMPLE_SPEAKER
#include "chain_spk_sco_nb.h"
#include "chain_spk_sco_wb.h"
#include "chain_spk_sco_swb.h"
#include "chain_spk_usb_voice_nb.h"
#include "chain_spk_usb_voice_wb.h"
#if defined(KYMERA_SCO_USE_2MIC) || defined(KYMERA_SCO_USE_2MIC_BINAURAL)
      #error KYMERA_SCO_USE_2MIC, KYMERA_SCO_USE_2MIC_BINAURAL is not supported in Simple Speaker build
#endif
#endif  /* ENABLE_SIMPLE_SPEAKER */
 
#ifdef INCLUDE_GAMING_HEADSET_ADDON
#include "chain_output_mixing_common.h"
#endif
 
#if defined (INCLUDE_LE_AUDIO_BROADCAST_SOURCE) && defined (ENABLE_SIMPLE_SPEAKER)
#ifdef ENABLE_LE_AUDIO_TRANSCODE_BROADCAST_SUPPORT
#include "chain_input_aac_transcode_iso_conc_stereo_p1.h"
#include "chain_input_sbc_transcode_iso_conc_stereo_p1.h"
#include "chain_input_aac_transcode_iso_conc_joint_stereo_p1.h"
<

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/16562.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java—集合Collection(一)

Java—集合Collection&#xff08;一&#xff09; 一、Collection集合1、方法add、addAll2、声明集合特别注意1&#xff1a;添加对象时需要创建对象类 3、总结4、判断方法4.1、总结 5、删除6、总结7、集合的其他方法8、所有代码演练 存放单个数据内容&#xff0c;声明一个变量&…

netcat一键开始瑞士军刀模式(KALI工具系列六)

目录 1、KALI LINUX简介 2、netcat工具简介 3、在KALI中使用netcat 3.1 目标主机IP&#xff08;win&#xff09; 3.2 KALI的IP 4、命令示例 4.1 测试某IP的端口是否打开 4.2 TCP扫描 4.3 UDP扫描 4.4 端口刺探 4.5 直接扫描 5、即时通信 5.1 单击对话互联 5.2 传…

新能源锂电池行业创业的财富方案,锂电池回收高阶课

课程下载&#xff1a;https://download.csdn.net/download/m0_66047725/89292234 更多资源下载&#xff1a;关注我。 实战攻略 12年锂电池回收行业经验与坑全收录 课程内容&#xff1a; 001-课程介绍.mp4 002-锂电池的全种类认识.mp4 003-废品锂电池到级片粉末价值估算,mp…

VMware虚拟机安装的详细步骤要点和难点以及常见故障排除

以下是VMware虚拟机安装的详细步骤: 1.下载VMware: 访问VMware的官方网站(https://www.vmware.com/cn.html)。 在网站上找到适合您操作系统的VMware版本,并点击下载。通常,VMware Workstation Pro是最常用的版本。 2.安装VMware: 下载完成后,找到下载的VMware安装包…

Creo8.0装配体打开一部分零件不显示

装配体默认打开时一部分零件没显示&#xff0c;需要对没显示出来的零件或部件打开&#xff0c;再一更新CtrlG模型就可以了。 有时需要打开很多个模型 原因是那些没显示出来的模型在其他文件件中&#xff0c;如果把所有的部件和零件都放在一个文件夹中&#xff0c;则一打开都会…

Go微服务: Http服务注册在Consul的示例(非Go-Micro)

概述 现在&#xff0c;我们使用consul客户端的api来把Http服务注册到consul上&#xff0c;非Go-Micro的形式其实&#xff0c;consul官方提供了对应的接口调用来实现&#xff0c;golang中的consul/api包对其进行了封装我们使用consul/api来进行展示 目录结构 gitee.com/go-mi…

设计模式7——建造者模式

写文章的初心主要是用来帮助自己快速的回忆这个模式该怎么用&#xff0c;主要是下面的UML图可以起到大作用&#xff0c;在你学习过一遍以后可能会遗忘&#xff0c;忘记了不要紧&#xff0c;只要看一眼UML图就能想起来了。同时也请大家多多指教。 建造者模式&#xff08;Builde…

VMware ESXi 7.0 U3q 发布 - 领先的裸机 Hypervisor

VMware ESXi 7.0 U3q 发布 - 领先的裸机 Hypervisor VMware ESXi 7.0 Update 3 Standard & All Custom Image for ESXi 7.0U3 Install CD 请访问原文链接&#xff1a;https://sysin.org/blog/vmware-esxi-7-u3/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出…

3小时-入门短视频创作:短视频创作入门必修(15节视频课)

课程目录 1、先导课.mp4 2、建立视听思维.mp4 3、口语化.mp4 4、具象化.mp4 5、建立选题思维.mp4 6、2个小白好上手的选题技巧.mp4 7、建立开场思维.mp4 8、3个口播视频方能开场套路.mp4 9、建立脚本结构思维.mp4 10、爆款口指的3大结构.mp4 11、建立标题思维.mp4 …

https为何安全?

HTTPS&#xff08;超文本传输安全协议&#xff09;是一种用于安全通信的网络协议&#xff0c;它在HTTP协议的基础上通过SSL/TLS&#xff08;安全套接层/传输层安全&#xff09;协议来加密数据&#xff0c;以保护网络数据的传输安全。 TLS/SSL 基础概念 概念源自百度百科&…

内存的基本知识与连续分配管理

目录 一. 内存的基础知识1.1. 什么是内存1.2 指令的工作原理1.2.1 装入的三种方式 - 绝对装入1.2.2 可重定位装入1.2.3 动态重定位装入1.3 从写程序到程序运行 二. 基本内存管理的概念三. 覆盖与交换3.1 覆盖技术3.2 交换技术 四. 连续分配管理方式4.1 单一连续分配4.2 固定分区…

【全开源】知识答题系统源码小程序(FastAdmin+ThinkPHP+Unipp)

打造智慧问答的基石 一、引言&#xff1a;知识答题系统的时代意义 在信息爆炸的时代&#xff0c;知识答题系统源码作为一种高效、有趣的知识传播方式&#xff0c;受到了越来越多人的关注和喜爱。通过搭建知识答题系统&#xff0c;我们可以将海量的知识内容以答题的形式展现给…

网络协议——Modbus-TCP

目录 1、简介 2、Modbus-TCP与Modbus-RTU的区别 3、消息格式 4、功能码01H 5、功能码02H 6、功能码03H 7、功能码04H 8、功能码05H 9、功能码06H 10、功能码0FH 11、功能码10H 1、简介 Modbus-TCP&#xff08;Modbus Transmission Control Protocol&#xff09;是一…

【linux】g++/gcc编译器

目录 背景知识 gcc如何完成 预处理(进行宏替换) 编译&#xff08;生成汇编&#xff09; 汇编&#xff08;生成机器可识别代码&#xff09; 链接&#xff08;生成可执行文件或库文件&#xff09; 在这里涉及到一个重要的概念:函数库 函数库一般分为静态库和动态库两…

DOS学习-目录与文件应用操作经典案例-comp

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一.前言 二.使用 三.案例 案例 1: 基本比较 案例 2: 十进制显示差异 案例 3: 字符形式显…

【数据结构】二叉树和堆

文章目录 一、 什么是二叉树二、 二叉树的存储结构顺序存储视图 三、 堆堆的结构及概念大堆和小堆 四、 建堆五、 堆排序六、 topk问题 一、 什么是二叉树 二叉树&#xff0c;作为一种重要的数据结构&#xff0c;由节点组成&#xff0c;每个节点可以有两个子节点&#xff0c;通…

精品丨快速申请免费https证书

https域名证书对提高网站排名有一定的好处&#xff0c;所以当今很多企业为了给网站一个好的安全防护&#xff0c;就会去申请该证书。如今很多企业虽然重视网站的安全防护&#xff0c;但是也重视成本&#xff0c;所以为了节约成本会考虑申请免费的https证书。 第一个好处 企业不…

阻塞信号集和未决信号集_代码实现

1. 程序验证内容 将编号为0,1,2添加到阻塞信号集中&#xff0c;i<信号编号时&#xff0c;发出信号&#xff0c;观察未决信号集状态 当解除阻塞后&#xff0c;原先的信号是否执行&#xff0c;执行顺序是什么 2. 代码实现 #include <unistd.h> #include <stdlib.h…

Mac彩球一直转圈怎么解决 苹果电脑经常卡住 mac电脑运行慢怎么办

用Mac电脑办公的朋友在操作体积比较大的程序时&#xff0c;比如Final Cut Pro或者Photo Shop&#xff0c;一定遇到过鼠标变更彩球并不停转圈。这是怎么回事&#xff1f;今天本文就告诉大家Mac彩球一直转圈怎么解决&#xff0c;以及苹果电脑经常卡住是什么原因。 一、Mac彩球一直…

python03--元组-字典-集合

一、元组 tuple 数据形式 (数据1,数据2&#xff0c;数据3.....) 元组数据是不可修改&#xff0c;数据是有序的&#xff0c;支持下标获取数据 无法增加,修改&#xff0c;删除数据,只能进行数据查询 1-1 元组定义 # 元组定义 data_tuple1 (1,2,3,4) data_tuple2 (1.2,2.34,3.1…