bramp / bramp/ffmpeg-cli-wrapper
Make probe result objects more immutable
- 主要言語
- Java
- スター
- 1.9k
- フォーク
- 424
- 平均マージ
- 5時間 35分
- マージ済み PR(30日)
- 2
説明
Probe result objects (`FFmpegProbeResult`, `FFmpegStream`, `FFmpegFormat`, etc.) are currently mutable — fields are public and collections (e.g., streams list, tags map) are modifiable after construction.
We should make these objects more immutable to prevent accidental modification and improve thread safety.
This is part of the API modernization discussed in #316.
**Scope:**
- Return unmodifiable collections from getter methods (e.g., `Collections.unmodifiableList()` for streams)
- Consider making fields final where possible
- Ensure Gson deserialization still works (may need custom deserializers or builder pattern)
Depends on: #382, #383
Related: #316
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
調査の方向性
まず、FFmpegProbeResult、FFmpegStream、FFmpegFormat などの probe 結果クラスを見つけ、それらの public フィールドと collection getter を確認します。Gson のデシリアライゼーション経路と、依存関係 #382 および #383 での作業を確認します。結果オブジェクトが collection の変更を防ぎ、Gson のデシリアライゼーションを壊さずに可能な箇所で final フィールドを使用していれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- java
- 領域
- tooling
- issue の種類
- リファクタリング
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 静か
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 45/100