2015/11/16

又是 tinyalsa.. 還有 audio system

/system/core/include/system/audio.h
包含所有 android system 定義的 audio 相關內容:
  • STREAM
  • CONTENT
  • USAGE
  • FLAG
  • SOURCE
  • SESSION
  • FORMAT
  • CHANNEL
  • MODE
  • DEVICE
  • OUTPUT_FLAG
  • INPUT_FLAG
經由 /dev/snd/controlC 取得系統的 audio card list
和 support 的 audio_card_list[] 比較,如果找到,就放到 adev->card_list[] 中。

set_route_by_array( ) 就是以前 alsa config 的 routing..
在 tinyalsa 改由 hard coding 來做,
當然也可以用 structure, property 來設計。

以前的 routing path 全部寫在 config_XXXX.h
-- config_wm8962.h 有各種 routing.


所以,直接把 open flag 的 MMAP 刪掉,的確可以把 write 改為 WRITEI。
雖然kernel 最後好像還是使用 mmap .. sync_ptr.. 原因未明。

沒有留言:

張貼留言