bramp / bramp/ffmpeg-cli-wrapper
Make probe result objects more immutable
- Lingua principale
- Java
- Stelle
- 1.9k
- Fork
- 424
- Merge medio
- 5h 35m
- PR unite (30g)
- 2
Descrizione
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
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Inizia individuando le classi dei risultati della probe, tra cui FFmpegProbeResult, FFmpegStream e FFmpegFormat, e controlla i loro campi pubblici e i getter delle collection. Verifica il percorso di deserializzazione di Gson e il lavoro nelle dipendenze #382 e #383. Il lavoro è completato quando gli oggetti risultato impediscono la mutazione delle collection e usano campi final dove possibile, senza compromettere la deserializzazione di Gson.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- java
- Ambito
- tooling
- Tipo di issue
- Refactoring
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Tranquilla
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 45/100