问题描述
使用Gumstix Overo Ironstorm,以及由Gumstix Yocto,Warrior分支机构提供的Linux Kernel 5.0,我遇到了一些问题,导致ALSA寻找合适的输出设备。
一些历史记录: 我们最初的内核是在原始的Fido分支上构建的,但是随着所有升级的过时。 原始文件系统是使用流浪汉基于Emdebian系统构建的。
今天到了,试图将我们的软件升级到当前的系统版本,我遇到了一个问题。
ALSA驱动程序似乎已加载:
[5.176025] ALSA device list:
[5.179351] #0: Loopback 1
[5.182525] #1: overo
基于某些测试代码,输出似乎无法用于文件以外的任何文件。 例如,简单的ALSA代码:
ao_info **driverList = ao_driver_info_list(&count);
std::cerr<<"We have "<<count<<" drivers found"<<std::endl;
for( int x = 0; x < count; ++x){
if(count <= 0){
std::cerr<<__FUNCTION__<<" No drivers returned"<<std::endl;
break;
}
if(driverList == 0){
std::cerr<<__FUNCTION__<<" driver list is NULL"<<std::endl;
break;
}
if(driverList[x] == 0){
std::cerr<<__FUNCTION__<<" driver "<<x<<" is NULL"<< std::endl;
continue;
}
std::cerr<<__FUNCTION__<<": "<<x<<" type: "<<driverList[x]->type<<std::endl;
std::cerr<<__FUNCTION__<<": "<<x<<" name: "<<driverList[x]->name<<std::endl;
std::cerr<<__FUNCTION__<<": "<<x<<" short_name: "<<driverList[x]->short_name<<std::endl;
std::cerr<<__FUNCTION__<<": "<<x<<" comment: "<<driverList[x]->comment<<std::endl;
std::cerr<<__FUNCTION__<<": "<<x<<" byte format: "<<driverList[x]->preferred_byte_format<<std::endl;
std::cerr<<__FUNCTION__<<": "<<x<<" priority: "<<driverList[x]->priority<<std::endl;
for(unsigned int y = 0; y < driverList[x]->option_count; ++y)
std::cerr<<__FUNCTION__<<": "<<x<<" option - "<<y<<": "<<driverList[x]->options[y]<<std::endl;
std::cerr<<std::endl;
}
std::cerr<<"Done going through drivers"<<std::endl;
产生输出:
We have 4 drivers found
audioType: 0 type: 1
audioType: 0 name: Null output
audioType: 0 short_name: null
audioType: 0 comment: This driver does nothing.
audioType: 0 byte format: 4
audioType: 0 priority: 0
audioType: 0 option - 0: debug
audioType: 0 option - 1: verbose
audioType: 0 option - 2: matrix
audioType: 0 option - 3: quiet
audioType: 1 type: 2
audioType: 1 name: WAV file output
audioType: 1 short_name: wav
audioType: 1 comment: Sends output to a .wav file
audioType: 1 byte format: 1
audioType: 1 priority: 0
audioType: 1 option - 0: matrix
audioType: 1 option - 1: verbose
audioType: 1 option - 2: quiet
audioType: 1 option - 3: debug
audioType: 2 type: 2
audioType: 2 name: RAW sample output
audioType: 2 short_name: raw
audioType: 2 comment: Writes raw audio samples to a file
audioType: 2 byte format: 4
audioType: 2 priority: 0
audioType: 2 option - 0: byteorder
audioType: 2 option - 1: matrix
audioType: 2 option - 2: verbose
audioType: 2 option - 3: quiet
audioType: 2 option - 4: debug
audioType: 3 type: 2
audioType: 3 name: AU file output
audioType: 3 short_name: au
audioType: 3 comment: Sends output to a .au file
audioType: 3 byte format: 2
audioType: 3 priority: 0
audioType: 3 option - 0: matrix
audioType: 3 option - 1: verbose
audioType: 3 option - 2: quiet
audioType: 3 option - 3: debug
就驱动程序和编解码器而言,我启用了每个编解码器,并启用了(最明显的)ALSA驱动程序,并且可以在需要时提供defconfig。
一些额外的信息:
**** List of PLAYBACK Hardware Devices ****
card 0: Loopback [Loopback],device 0: Loopback PCM [Loopback PCM]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
card 0: Loopback [Loopback],device 1: Loopback PCM [Loopback PCM]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
card 1: overo [overo],device 0: TWL4030 HiFi twl4030-hifi-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
/ proc / asound目录的目录列表如下所示:
Loopback card0 card1 cards devices oss overo pcm seq timers version
如果我还有其他内容,请告诉我。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)