SBC codec [VGC-RM95S]
A2DP --> AVDTP の最後のハードルは SBC Codec だった。T-01A の場合 Media Packet Header を含む Packet は 650 byte できている。しかし、割り込み処理レベルでは 256 + 256 + 138 の3分割できている。しかも、この間隔が微妙に開くことがあり、下手に wait すると Block してしまう。
カーネル内の Lock free circular buffer (Ring Buffer) に手を加えて Spin Lock しないようにしてみた。それでも、たまに音飛びが発生するが、個人的には十分なレベルだと思う。Decode 処理後は 3584byte となる。
これで 車載装置で実装される HFP と A2DP を MS Stack の KMDF で実装できた。
NVBTH212 (車載オデッセイ)
CLARION FB285BT (室内用車載)
VGC-RM95US (自作車載モドキ)
車載本来の閉じた空間で聞く方が、包まれる感じがして良い。それでも OS のカーネル内部で自作のドライバが動いているというのは、妙に満足感がある。
2011-12-16 20:23
nice!(0)
コメント(0)
トラックバック(0)
コメント 0