**
打log發現,在mediaextractor中構造aacextractor時一直沒有返回,所以直接到aacextractor建構函式中去看了。
有下面這樣一段**:
if(mdatasource->getsize(&streamsize)== ok)
moffsetvector.push(offset);
offset +=framesize;
numframes++; }
// round up and get the duration
mframedurationus = (1024 * 1000000ll + (sr - 1))/ sr;
duration = numframes * mframedurationus;
mmeta->setint64(kkeyduration,duration); }
adts檔案也是由乙個乙個frame組成,while迴圈在這裡的作用就是從檔案開始一直到檔案末尾,數一共有多少個frame(numframes),最終通過下面的公式計算出這個音訊檔案的時長:
duration = numframes *mframedurationus;
總時長 = 幀數 *
每一幀的時長
最終我們解決(規避)這個問題的方法是:如果是流**檔案且檔案大小超過100m,我們就不進這個while迴圈了。
第二個作業!
作業要求 從鍵盤輸入乙個四位正整數。首先分離出該正整數中的每一位數字,並按逆序顯示輸出各位數字 然後用分離出的每位數字組成乙個最大數和乙個最小數,並顯示輸出。例如,若輸入的四位正整數為3175。按逆序顯示輸出分離出的各位數字為5713 組成的最大數為7531,組成的最小數為1357。具體要求 1 輸...
第二個系統
在進入工作後,參與的第二系統,也剛好是乙個失敗的專案重新再設計的乙個專案。全程參與了設計討論和相關功能模組的實現。到最後證明,這個系統依舊是失敗的。事隔了1年多了,回頭看問題,希望能看明白它。首先,整個團隊太年輕了。不是剛畢業沒多久,就是工作了才一年。其次,需求的失控,不懂得拒絕 因為是進入工作不久...
第二個驅動
上次編譯成功hello world,興奮了好一會,呵呵。之前一直嘗試都沒成功。緣分未到,各種各樣的原因會讓嘗試失敗。用hello.ko練習了一把insmod,lsmod,rmmod,modinfo等命令,這些是使用module的基本命令吧。然後就開始著手開展下一步學習了,有個guide上面說,編譯完...