by shigemk2

当面は技術的なことしか書かない

ALSA=仮想マシン #kernelvm

  • Ubuntu Japanese Team
  • ミラクル・リナックス

  • ALSAのドライバこみったになった

  • 420パッチを投稿していた

  • 前半

  • ALSA
  • 後半
  • 進捗

  • Advanced Linux Sound Architecture

  • Linuxのサウンドサブシステム(音声入出力のための周辺デバイス

  • 接続バス PCI

  • デバイスはこんな感じ。
  • MIDI入出力などをカバー
  1. 低レベルの機能にまつわる負担からプログラマを解放
  2. ハードウェアの抽象化
  3. サウンドデバイスというリソースの管理

コンセプト

扱うデータ

  • PCMで標本化した音声データ
  • MIDI
  • デバイスコントロール情報

入出力

  • ほとんどの入出力をioctlでやる
  • フレームを入出力の単位とする

  • I/Oコントロールの直接実装は苦痛であるため、プラグインで機能を付与

  • デバイスに付与する特徴をランタイムに設定

ALSAのカーネルランド

  • ALSA Core
  • ALSA Drivers
  • Linux Subsystems

自分のコミット領域

  • IEEE1394接続(FireWireなど 入力40チャネル 出力40チャネル)
  • プロトコルスタック概要

  • FFADOというもの

  • 構造的な問題があって、ALSAから使えない(開発動機)

ドライバの設計と終わった作業

  • スタック実装を拡張
  • ドライバの実装

これからの作業

  • snd-dice
  • snd-oxfw
  • ALSAのユーザースペース(DSPを制御するアプリケーションの実装)

つらみ

  • プロトコルスタックを開発しているのは自分だけ
  • 4ドライバで計150デバイスをサポート
  • 問い合わせ
  • PulseAudioやる気でない

http://en.wikipedia.org/wiki/FFADO http://ja.wikipedia.org/wiki/%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB%E3%82%B7%E3%82%B0%E3%83%8A%E3%83%AB%E3%83%97%E3%83%AD%E3%82%BB%E3%83%83%E3%82%B5

進捗どうですか