bramp / bramp/ffmpeg-cli-wrapper

Make probe result objects more immutable

オープン
#384 コメント 5 件 リアクション 0 件 担当者 0 名 GitHub で見る
enhancement
主要言語
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

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。