alsa 的api網上一大把,昨天抄了個抓取程式放在自己的程式中,一讀資料就崩潰,折騰了好久
alsa 音效卡資料抓取函式原型:
snd_pcm_sframes_t snd_pcm_readi (snd_pcm_t * pcm, const void * buffer, snd_pcm_uframes_t size);
呼叫如下:
#define frame_size 160
uint8_t buf[frame_size*4];
snd_pcm_readi (pcm, buf, sizeof(buf)); ----呼叫後,程式掛掉
後來:#define frame_size 160
uint8_t buf[frame_size*4*100];
snd_pcm_readi (pcm, buf, frame_size*4); ----呼叫後,程式ok了, 顯然與緩衝區有關係, 百思不得其解
早上來, 繼續鬱悶。 偶然看看函式原型, 發現了第三個引數:
snd_pcm_uframes_t size 這個size不會是 frame_size吧?
#define frame_size 160
uint8_t buf[frame_size*4];
snd_pcm_readi (pcm, buf, frame_size); ----呼叫後,程式ok了
再看: snd_pcm_sframes_t snd_pcm_writei (snd_pcm_t * pcm, const void * buffer, snd_pcm_uframes_t size )
也是這樣子
linux系統下 資料採集環境配置
注 在執行下面命令前先解壓 htidc.tgz 到 根目錄下 1.清理舊的程式 cd htidc htidc c mkdir bin make clean 2.編譯安裝freetds軟體包,用root使用者執行以下的指令碼。cd htidc freetds 0.82 configure prefix...
Rancher體系下容器日誌採集
乙個完整的容器平台,容器日誌都是很重要的一環。尤其在微服務架構大行其道狀況下,程式的訪問監控健康狀態很多都依賴日誌資訊的收集,由於docker的存在,讓容器平台中的日誌收集和傳統方式很多不一樣,日誌的輸出和採集點收集和以前大有不同。本文就 一下,rancher平台內如何做容器日誌收集。縱覽當前容器日...
Rancher體系下容器日誌採集
乙個完整的容器平台,容器日誌都是很重要的一環。尤其在微服務架構大行其道狀況下,程式的訪問監控健康狀態很多都依賴日誌資訊的收集,由於docker的存在,讓容器平台中的日誌收集和傳統方式很多不一樣,日誌的輸出和採集點收集和以前大有不同。本文就 一下,rancher平台內如何做容器日誌收集。縱覽當前容器日...