DSSTPと曲のシンクロ

id:ukiya:20070922:1190424575 のメモは、
ゴースト自身が曲を再生する場合の話だったけど、
外部プレイヤーが再生して、同時にSSPにDSSTPを送って制御する場合
どのように曲と動作をシンクロさせたらいいか

  • 現状は、外部プレイヤー側で曲と同期を取ってDSSTPを送ってる
    • けど、この方法だとDSSTPにかかるオーバーヘッド分必ずずれる
    • そのずれ幅は環境要因によって異なるので予測が困難
  • そもそも
    • 外部プレイヤーの再生速度は一定と仮定していい、精度高い
    • SSPスクリプト再生速度も一定と仮定していい?(絶対時間再生をするから)
    • なら、せーの、で音楽とスクリプトの同時再生をはじめればそうずれないかも
  • 上の仮定が正しければ
    • せーの、に使える共通のタイマがあればいい
    • システムクロックはどのアプリにとっても共通
    • ならば、DSSTPを予め送っておいて、1〜2秒くらいのバッファを取って
    • システムクロックでいつから再生開始と言っておく
    • その時刻になったら外部プレイヤーとSSPが同時に再生を始める
    • SSTPヘッダに項目を一個追加すればいい
  • 外部プレイヤーが再生をやめた/曲を変えた場合
    • 外部からタイムクリティカルなSSTP再生をキャンセルする方法ってあったっけ?
  • でも上の仮定が正しければ、今でもそんなにずれない筈だよなあ
    • そもそも、今の実装でも問題なかったりするのかしらん