2008/05/04(日)教えてもらったからできた!
J-SONさんありがとう! ありがとう!
というわけで、続 C++/CLI で Stream継承して Ogg Vorbis をデコードするクラスを書きたいよ
同じところで填った人のために書いておこうと思う。
要するに、コールバックされる関数は
"基本的にはStream内のメソッドを呼び出したときにしか呼ばれない" ので、メソッドの頭で pinして、
OggVorbis_File::datasource の中身を更新してからov_ナントカを呼び出せばいいというお話だった。
あぁそうなのか。datasourceの値なんて後から変更できないと思っていたよ。
Win32での開発におけるコールバックの値なんて後から変更できないことがほとんどだから、
初めてソースを見せてもらったときは、"datasourceの値がいじれるなんてそんなっ"って感じでしたが(笑
200行あまりで ref class OggDecodeStream : public Stream ができたよ!
後はこれをC#なりVB.net(使わんけど)なり、.NET言語からよ参照して呼び出してやりゃいいと。
というわけで最後にもう一度書きます。
J-SONさんありがとう! ありがとう!