Releases: shiguredo/mp4-rust
Releases · shiguredo/mp4-rust
2024.3.0
- [CHANGE]
Encode::encode()
がwriter: &mut W
ではなくwriter: W
を引数に取るように変更する - [CHANGE]
Decode::decode()
がreader: &mut R
ではなくreader: R
を引数に取るように変更する - [ADD] デコード時にペイロードデータを保持しない
IgnoredBox
を追加する - [ADD]
SampleTableAccessor::get_sample_by_timestamp()
を追加する - [ADD]
SampleAccessor::timestamp()
を追加する - [ADD]
SampleAccessor::sync_sample()
を追加する - [CHANGE]
SampleTableAccessor::new()
で stco ボックスと stsc ボックスの不整合をチェックするようにする - [UPDATE]
SampleTableAccessor
が borrowed / owned の両方に対応できるようにする - [UPDATE] 共通関数でエラーが発生した場合のファイル名・行番号表示を改善する
- 今までは共通関数のエラー位置が
Error
に含まれていたが、それでは情報量が少ないので、その一つ上の呼び出し元の位置を使うように変更した - @sile
- 今までは共通関数のエラー位置が
2024.2.0
- [ADD] WebCodecs を使ってローカルで MP4 ファイルを変換するサンプルを追加する
- [ADD]
StblBox
の情報へのアクセスを簡単かつ安全にするためのSampleTableAccessor
構造体を追加する - [ADD]
SttsBox::from_sample_deltas()
関数を追加する - [ADD]
Utf8String::into_null_terminated_bytes()
メソッドを追加する - [CHANGE] 仕様上 0 を取らないフィールドの型は
NonZeroXXX
にする - [UPDATE] ボックスに
Hash
を実装する - [CHANGE]
BoxHeader
書き込み時に large size にするかどうかの自動判定は行わないようにするBoxSize
自体はどちらを使うべきかの情報を有しているので、それをそのまま反映するようにした- @sile
- [UPDATE]
Error
構造体にエラー発生箇所特定用のフィールドを追加する- エラー発生時のボック種別、および、エラー発生ファイルと行番号、の情報を取得できるようにした
- @sile
- [FIX] hdlr ボックスの name フィールドは単なるバイト列として扱うようにする
- ISO の仕様上は、このフィールドは null 終端の UTF-8 文字列であるべきだが、それに準拠しない MP4 ファイルを生成する実装が普通に存在するため、中身を厳密にチェックしないようにした
- @sile
- [FIX] 64 bit のボックスサイズが使われていた場合にペイロードのデコードに失敗する問題を修正する