欧美成人黄色网_欧美精品久久_国产在线一区二区三区_免费视频久久久_亚洲二区视频_欧美大片免费高清观看

產品分類

當前位置: 首頁 > 工業電子產品 > 其他電子產品 > 開發板,套件,編程器 > 開發板

類型分類:
科普知識
數據分類:
開發板

OpenWRT下編譯madplay遇到的問題

發布日期:2022-10-14 點擊率:70

我司自組網產品測試過程中,經常使用madplay來測試聲卡功能是否正常。老產品大多采用了Qualcomm Atheros AR9344處理器,已經有現成的固件集成了madplay;這次的新產品采用了Qualcomm Atheros的QCA9558處理器,需要臨時編譯一個固件,才能測試聲卡。在OpenWRT目錄下,使用make menuconfig,勾選Sound - -> madplay,如下圖

保存配置后直接使用make V=s 命令進行編譯,會遇到如下問題

make[6]: Entering directory `/home/lics/data/code/ars-mb-a1/build_dir/target-mips_34kc_uClibc-0.9.33.2/alsa-lib-1.1.0/src/topology'
   CC       parser.lo
 parser.c: In function 'snd_tplg_build_file':
 parser.c:262:35: error: 'S_IRUSR' undeclared (first use in this function)
    open(outfile, O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
                                    ^
 parser.c:262:35: note: each undeclared identifier is reported only once for each function it appears in
 parser.c:262:45: error: 'S_IWUSR' undeclared (first use in this function)
    open(outfile, O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
                                              ^
 parser.c: In function 'snd_tplg_build':
 parser.c:330:35: error: 'S_IRUSR' undeclared (first use in this function)
    open(outfile, O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
                                    ^
 parser.c:330:45: error: 'S_IWUSR' undeclared (first use in this function)
    open(outfile, O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
                                              ^
 make[6]: *** [parser.lo] Error 1

如下圖

很明顯,這個錯誤是在編譯alsa-lib過程中出現的。

ALSA是Advanced Linux Sound Architecture,高級Linux聲音架構的簡稱,它在Linux操作系統上提供了音頻和MIDI(Musical Instrument Digital Interface,音樂設備數字化接口)的支持。在2.6系列內核中,ALSA已經成為默認的聲音子系統,用來替換2.4系列內核中的OSS(Open Sound System,開放聲音系統)。ALSA的主要特性包括:高效地支持從消費類入門級聲卡到專業級音頻設備所有類型的音頻接口,完全模塊化的設計, 支持對稱多處理(SMP)和線程安全,對OSS的向后兼容,以及提供了用戶空間的alsa-lib庫來簡化應用程序的開發。

可見,madplay用到了alsa-lib庫,問題就出在這里。查看了一下AR9344中的代碼,發現當時針對這個問題做了個補丁,如下

--- a/src/topology/parser.c
+++ b/src/topology/parser.c
@@ -18,6 +18,7 @@
 
 #include "list.h"
 #include "tplg_local.h"
+#include <sys/stat.h>
 
 /*
  * Parse compound

將AR9344代碼中的這個補丁移動至QCA9558代碼中的對應目錄,make clean之后再重新make,以上問題不再出現。將編譯得到的固件下載至QCA9558板卡中,madplay命令正常運行,如下圖

附上這個補丁給需要的讀者

0001-topology-Add-missing-include-sys-stat.h-by-zencheer.patch

這個補丁需要放置在如下目錄

feeds/packages/libs/alsa-lib/patches/

最后,附上madplay的簡介

madplay is a command-line MPEG audio decoder and player based on the MAD library (libmad). MAD is a high-quality MPEG audio decoder. It currently supports MPEG-1 and the MPEG-2 extension to Lower Sampling Frequencies, as well as the so-called MPEG 2.5 format. All three audio layers (Layer I, Layer II, and Layer III a.k.a. MP3) are fully implemented.

下一篇: PLC、DCS、FCS三大控

上一篇: Dell T7810 安裝Ubunt

推薦產品

更多
主站蜘蛛池模板: 日本三级免费网站 | 久久99精品久久久久久园产越南 | 欧美色综合久久 | 成人一区二区丝袜美腿 | 狠狠色欧美亚洲狠狠色www | 黄动漫网站在线观看 | 日韩精品中文字幕一区二区三区 | 午夜看片网 | 久色网| 天堂在线资源网 | 精品哟哟哟国产在线观看不卡 | 不卡视频在线播放 | 东京无码熟妇人妻av在线网址 | 欧美日一区二区三区 | 无码人妻少妇久久中文字幕 | 特黄色大片 | 成人黄色在线免费观看 | 国产成人亚洲精品大帝 | 蜜桃精品免费久久久久影院 | 精品一区二区三区五区六区 | 色综和 | 国产思思99热久久 | 午夜爽爽爽男女免费观看影院 | 午夜色大片在线观看 | 狠狠色噜噜狠狠狠狠97俺也去 | 国产成人精品无码一区二区三区 | 91极品女神嫩模在线播放 | 久久影视精品 | 永久黄网站色视频免费观看 | 九九99九九在线精品视频 | 美女脱了内裤趴开腿让男生添 | 视频在线观看一区二区三区 | 久久综合99re久久爱 | 日韩人妻精品一区二区三区视频 | 国产在线 | 欧洲 | 四虎影院中文字幕 | 天天躁日日躁狠狠很躁 | 亚洲一级毛片免费观看 | 一区二区三区欧美日韩 | 国产精品丝袜视频 | 久久一本一区二区三区 |