So-net無料ブログ作成

HNVPlayer.exe*32 [VGC-RM94S]

VAIO の最新の TDCP-IP クライアントをインストールしてみた。ソフトウェアの依存関係をなくし、簡素化した Vaio Media Plus といった印象である。Powered By CyberLink となっている。DTCP-IP の部分は SDK 4.0 だった。

Home_Net_Video_SDK.png

SDK のインストール後に「ホームネットワークビデオプレーヤー」をインストールする。

Home_Net_Video.png

Home_Net_Video_000.png

バージョン表示は以下のようになっている。

Home_Net_Video_004.png

Vaio Media 系で配信したものは問題ないが DiXiM で2カ国語放送を配信すると混ざったままとなっている。OS 標準のオーディオツールで R と L のボリュームレベルを切り替えることで対応できるが、もう少し何とかならないものか。
nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

Adobe Premiere Pro CS5.5 [VGC-RM94S]

CS5.5 を入れてみた。Quadro FX 1800 でも余裕で 1920x1080 が編集モードで再生できた。CS5.0 では間引かれた表示なので、編集だからと諦めていたが、許容範囲で再生できるようになった。また SONY の HD サンプル全部が問題なく編集できるようになった。





File Name

File Size

hd_other_sony_a_place_in_the_sun.m2ts

354,091,008

hd_other_sony_blu_ray_lasers.m2ts

104,804,352

hd_other_sony_bouncy_balls.m2ts

167,718,912

hd_other_sony_bush_gardens.m2ts

136,396,800

hd_other_sony_chinese_wedding.m2ts

559,005,696

hd_other_sony_drag_race.m2ts

141,668,352

hd_other_sony_drome.m2ts

72,904,704

hd_other_sony_fifa_beach_soccer_world_cup_2007.m2ts

162,527,232

hd_other_sony_foam_city.m2ts

100,945,920

hd_other_sony_france.m2ts

335,984,640

hd_other_sony_golf_michelle_wie.m2ts

141,324,288

hd_other_sony_golf_telus_world_skins.m2ts

105,007,104

hd_other_sony_hd_experiment.m2ts

73,261,056

hd_other_sony_paese_dei_fiori.m2ts

457,144,320

hd_other_sony_paint.m2ts

77,930,496

hd_other_sony_play_doh.m2ts

111,249,408

hd_other_sony_pyramid.m2ts

67,921,920

hd_other_sony_rugby.m2ts

125,872,128

hd_other_sony_sea_world.m2ts

131,162,11w

hd_other_sony_seven_seasons.m2ts

366,360,576

hd_other_sony_sketches_of_spain.m2ts

501,368,832

hd_other_sony_sydney_sky_walk.m2ts

407,353,344

hd_other_sony_the_incredible_game.m2ts

73,347,072



5.1ch サウンドも Adobe Audition をレンダリング後に呼び出せるようになった。

CS5.5_001.png

やっと期待通りになったという感じである。


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

HFP A2DP における SDP [VGC-RM95S]

MS STack を使った場合 SDP への登録が WinSock レベルと A2DP, SCO からの登録の3種類が発生している。
SDP_001.png

さらに Windows Mobile が登録された時に自動的にインストールされる ActiveSync との連携が、どうもうまくいっていない。Windows Mobile 側で個別にサービスを選択しておくと、問題ないが全部を ON にしておくと期待どおりにならない。カーネルレベルで追跡する必要がある。

HF console 0.4 [VGC-RM95S]

Bluetooth MS Stack で SCO と A2DP を切り替えるようにしたバージョンを作ってみた。ドライバー側の耐久性は問題ないが WaveOut の切り替えでつまづいた。

HF_console_04.png

WaveOut の終了処理は、以下のような手順がよいようだ。

 for(k=0; k<BNUM; k++){
  waveOutUnprepareHeader(a2dp_hWaveOut, &whdr[k], sizeof(WAVEHDR));
  GlobalFree(whdr[k].lpData);
 }

 waveOutReset(a2dp_hWaveOut);
 waveOutClose(a2dp_hWaveOut);

a2dp から sco に切り替えた時に、若干 a2dp の音が sco に流れてきているような気もする。もう少し調べてみよう。



Bluetooth コントロールパネル [VGC-RM95S]

複数の Bluetooth Stack を入れ替えているうちに "MS Stack" のコントロールパネルが explorer.exe から起動できなくなるケースがあった。

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\DeviceDisplayObject\InterfaceClass\{0850302A-B344-4fda-9BE9-90576B8D46F0}\Shell\Bluetooth\command]

この値が "MS Stack" の場合

@="rundll32.exe shell32.dll,Control_RunDLL bthprops.cpl,,1"

でなければならないが Toshiba Stack をインストールしてアンインストールすると

@="C:\Program Files (x86)\Toshiba\Bluetooth Toshiba Stack\ECCenter1.exe"

のままとなる場合があるようだ。アクセス権を変更すれば変更できるのだが、東芝さんの対応を期待したい。

続きを読む


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 のカーネル内部で自作のドライバが動いているというのは、妙に満足感がある。


AVDTP_SUSPEND [VGC-RM95S]

手持ちの T-01A は L2CAP 上の AVDTP は signaling と media streaming だけの Basic Service でもいけるようだ。接続をおこなうと signaling の電文が以下の順番で飛んでくる。

  AVDTP_DISCOVER
  AVDTP_GET_CAPABILITIES
  AVDTP_SET_CONFIGURATION
  AVDTP_OPEN
  AVDTP_START

この後、いきなり streaming data がくる。そうして

  AVDTP_SUSPEND

が飛んで来て応答を返さないと、ご破産となってしまう。つまり SUSPEND 状態で待機して Media Player で再生を始めると SUSPEND 解除になるという流れであった。

後は ユーザランドで decode してスピーカに出ればよい。 HFP のようにマイクのハンドリングがないので多少気持ちが楽である。つまづいたのは unsigned char での bitfield である。

#pragma warning(disable:4214)
#pragma pack(push, 1)
#pragma pack(pop)

これらを明示しておかないと KMDF の build ではうまく通らない。いよいよ自作の "ワイヤレスステレオ" も山場となってきた。


A2DP [VGC-RM95S]

MS STack で "ワイヤレスステレオ" と "ハンズフリー" の Shink 側を実現する道のりであるが、難関は A2DP である。SCO の場合は PSM を意識することがなかったが L2CAP では、明示しないといけない。

    brb->BtAddress = 0; //BTH_ADDR_NULL;
    brb->PSM = 0x19; //we have already registered the PSM

SDP に A2DP を登録して、プロトコルとしては AVDTP を実装する方法をとってみた。正確には AVDTP のドライバも登録して呼び出すのが正統かもしれない。

  00000019-0000-1000-8000-00805F9B34FB   AVDTP
  0000110b-0000-1000-8000-00805f9b34fb   A2DP

スマホの動きを見ていると、ペアリングの時に以下の2つが飛んで来ている。

  AVDTP_DISCOVER
  AVDTP_GET_CAPABILITIES

来ているかどうかのの確認は、カーネル内部の以下を BP すると分かる。

  bthport!L2CapInt_ProcessL2capConnectReq
  bthport!BthFindChildPdoFromPsm
  bthport!RBTreeFindNodeRecurse

ここからは結構ややこしいが、電文自体が短いので、なんとかなるかもしれない。


busdog [VGC-RM94S]

Google Code でオープンソースとなっている busdog を使ってみた。これは USB Bus のデータを sniffer(capture) するものである。KMDF のサンプルとしても、大変勉強になる。

busdog_01.png


アプリとドライバが実行形式として一体となっており、ドライバがインストールされていなければインストールするか聞いてくる。マウスは 4byte で、キーボードは 7 byte で来ているのが分かる。

busdog_02.png

肝心の Bluetooth は シリアルポートとして使っている場合に引っかかるようである。

Nintendo RVL-021 (Black) [VGC-RM53D]

Bluetooth HID で気になっていた バランス Wii ボード(クロ) を RM53D と接続し、自作の体重計ソフトで表示させてみた。

PH_144.jpg


理想体重を 60Kg として真ん中にくるようにした。アナログ表示だと、理想からどれだけ離れているか直ぐに分かる。市販の体重計ではできないことである。

wii_balance_001.png


プログラムは "WiiYourself!_1.15" を使えばすぐにできた。
  • remote.Connect(wiimote::FIRST_AVAILABLE)
  • remote.BalanceBoard.Kg.Total

初期化で connect をおこない 100msec の Interval Timer で Kg.Total を表示させるだけであった。このバランスボードと Wii リモコンは、なんと同じ PID=0x306 をもっている。

Nintendo RVL-CNT-01 Wii Remote
Nintendo RVL-WBC-01 Wii Balance Board

VID=0x0573
PID=0x0306

バランスボードだけ欲しかったのに、ソフトがバンドルされていないと売れないらしい。パソコン周辺機器という位置づけで良いよう気がするのだが、体重計というだけで販売規制されるのだろう。


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。

×

この広告は1年以上新しい記事の更新がないブログに表示されております。