<rt id="m4md3"></rt>
  • <bdo id="m4md3"><meter id="m4md3"></meter></bdo>
  • <label id="m4md3"></label>
      <center id="m4md3"><optgroup id="m4md3"></optgroup></center>
      產(chǎn)品分類

      當(dāng)前位置: 首頁 > 工業(yè)電子產(chǎn)品 > 其他電子產(chǎn)品 > 開發(fā)板,套件,編程器 > 開發(fā)板

      類型分類:
      科普知識(shí)
      數(shù)據(jù)分類:
      開發(fā)板

      OpenWRT下編譯madplay遇到的問題

      發(fā)布日期:2022-10-14 點(diǎn)擊率:67

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

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

      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

      如下圖

      很明顯,這個(gè)錯(cuò)誤是在編譯alsa-lib過程中出現(xiàn)的。

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

      可見,madplay用到了alsa-lib庫(kù),問題就出在這里。查看了一下AR9344中的代碼,發(fā)現(xiàn)當(dāng)時(shí)針對(duì)這個(gè)問題做了個(gè)補(bǔ)丁,如下

      --- 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代碼中的這個(gè)補(bǔ)丁移動(dòng)至QCA9558代碼中的對(duì)應(yīng)目錄,make clean之后再重新make,以上問題不再出現(xiàn)。將編譯得到的固件下載至QCA9558板卡中,madplay命令正常運(yùn)行,如下圖

      附上這個(gè)補(bǔ)丁給需要的讀者

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

      這個(gè)補(bǔ)丁需要放置在如下目錄

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

      最后,附上madplay的簡(jiǎn)介

      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

      推薦產(chǎn)品

      更多
      主站蜘蛛池模板: 亚洲av日韩av综合| 一本大道AV伊人久久综合| 一本丁香综合久久久久不卡网站| 色综合a怡红院怡红院首页| 亚洲色偷偷综合亚洲av78 | 狠狠色综合久久婷婷| 久久久久久综合网天天| 亚洲综合综合在线| 亚洲综合激情五月色一区| 狠狠综合视频精品播放| 免费国产综合视频在线看 | 亚洲综合激情另类小说区| 丁香婷婷亚洲六月综合色| 国产精品综合久久第一页| 色综合合久久天天综合绕视看| 国产精品综合久久第一页| 色综合91久久精品中文字幕| 亚洲精品二区国产综合野狼| 婷婷五月综合丁香在线| 六月丁香婷婷综合| 久久天堂av综合色无码专区| 亚洲综合一区二区精品导航| 色天使亚洲综合一区二区| 久久99国产综合精品女同| 狠狠色婷婷狠狠狠亚洲综合 | 伊人伊成久久人综合网777| 亚洲国产综合精品中文字幕| 国产成人精品综合| 久久久久久综合网天天| 久久综合视频网站| 久久久久综合中文字幕| 亚洲AV综合色一区二区三区| 亚洲乱码中文字幕综合234| 色综合合久久天天综合绕视看| 色综合婷婷在线观看66| 色综合久久夜色精品国产| 色综合色综合色综合色综合网 | 国产成人亚洲综合色影视| 亚洲国产综合精品中文字幕 | 国产成人综合精品一区| 亚洲国产婷婷综合在线精品|