mrutheora.dll 変更の履歴
ALC Software Laboratory
v1.0.2.0(2026-10-25)
前の版: v1.0.0.0(2026-03-20 公開)
<機能追加・改良等の項目>
- 大きなファイルの一部分(base から size バイト)を 1 本の OGV として読み込む関数 Theora_LoadFileRange(h, path, base, size) を追加。(base=0・size=0 なら Theora_LoadFile と同じ)
- 複数の動画を先に読み込んでおけるようにした。(音声デバイスの確保を Theora_LoadFile から Theora_Start へ移したため、読み込んだだけのプレイヤー同士が装置を取り合わない)
<仕様変更等の項目>
- C ランタイムを静的リンクに変更。別途 Visual C++ 再頒布可能パッケージを入れなくても動作するようにした。
- バージョン情報の説明・製品名を LUMINA Engine のものに変更。Theora_GetVersionString は "mrutheora 1.0.2.0" を返す。
<バグ修正等の項目>
- 索引の無いファイルで、Theora_GetDurationMs が 0 を返していたのを修正。(ファイルの終わりから長さを求める)
- Theora_SeekMs が効かないことがあったのを修正。(キーフレームから読み直す)
- シーク後に映像と音がずれていたのを修正。(音の溜めを捨て、時計を飛び先に合わせる)
- シーク後に映像が崩れることがあったのを修正。
- ループで先頭に戻るときに、音声の位置をまちがえて渡していたのを修正。
<説明書の修正>
- Theora_AddCuePoint の引数を (h, ms, id) から実際の (h, ms, cb, user) に修正。
- TheoraEncoder_GetVersion・Theora_GetBuildInfo が返す内容の説明を修正。
- 載っていなかった関数(GetLastError・GetFrameIndex・エンコーダの GetHeaders / Flush / FreeBuffer / GetGranuleShift)を追加。
<既知の不具合>
- Theora_GetColorSpace・Theora_SetColorSpace・TheoraEncoder_PollPacket は C++ の名前で書き出されているため、GetProcAddress で名前から取得できません。(1.0.0.0 から同じ。説明書には載せていません)
<今までの使い方のままで動くか>
- 1.0.0.0 にあった関数は、名前・引数・戻り値の型がすべてそのままです。(追加のみ。削除した関数・形を変えた関数はありません)
- GetProcAddress で名前から取得する使い方(見本と同じ使い方)は、そのまま動作します。1.0.0.0 の見本の exe を 1.0.2.0 の DLL で動かして確認しました。
- 関数の並び(序数)は名前の順のため、追加した関数より後ろの序数がずれています。序数で取得している場合だけ、取得し直しが必要です。
- DLL は x64 のみです。(1.0.0.0 も x64 のみでした。説明書の「x86」の記述を修正)
v1.0.0.0(2026-03-20)
- 初版公開。