Repository navigation
Document That a Rewrite Drops Tags Whatever RemoveTags Says - #1147
Conversation
Every step that rewrites a file ends in an MkvMerge pass with InputOptions.Default(), which drops tags and attachments so a tool never adds tags during processing. RemoveTags is the explicit in-place removal for a file no step rewrites. Keep that behavior and state it where a reader and a reviewer will look. Closes #1141 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The setts repair moves FfMpeg output over the original with no MkvMerge pass, and cover art removal clears attachments in place, so state both rather than claiming every rewrite drops tags. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 4 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. |
Code Review by Qodo🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)
Great, no issues found!Qodo reviewed your code and found no material issues that require reviewTip of the day💡 Did you know, you can show, collapse, or hide each part of a finding: code, evidence, and all |
|
A recorded local strict-review pass covers head |
PR Summary by QodoDocument tag removal during MkvMerge rewrites
AI Description
Diagram
High-Level Assessment
Files changed (3)
|
There was a problem hiding this comment.
🟡 Changes recommended
ARCHITECTURE.md inaccurately describes all cover-art removal as in-place, overlooking paths that remove attachments through MkvMerge rewrites.
1 open issue
What changed in this PR
This documentation-only pull request records existing metadata behavior for file rewrites: MkvMerge removes tags and attachments independently of RemoveTags, with lossless timestamp repair documented as an exception.
Changes:
- Documents rewrite behavior and the timestamp-repair exception in
ARCHITECTURE.md. - Clarifies
RemoveTagsbehavior inREADME.md. - Explains the rationale for default MkvMerge input options in
MkvMergeBuilder.cs.
| File | Summary |
|---|---|
README.md |
Documents that remuxes and re-encodes remove tags and attachments regardless of RemoveTags. |
PlexCleaner/MkvMergeBuilder.cs |
Explains why default MkvMerge input options exclude tags and attachments. |
ARCHITECTURE.md |
Describes rewrite, timestamp-repair, and cover-art metadata behavior; includes a minor wording inconsistency about which cover-art paths remove attachments in place. |
This pull request is ready to be approved.
Review effort: Lite
The MkvMerge cover art path removes the track through a remux, so only the FfProbe and MediaInfo paths clear attachments in place. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
A recorded local strict-review pass covers head |

Summary
Closes #1141 by keeping the current behavior and documenting it.
InputOptions.Default(), which drops tags and attachments whateverRemoveTagssays. That incidental removal keeps a tool from adding tags during processing.RemoveTagsis the explicit, in-place MkvPropEdit removal for a file no MkvMerge pass rewrites.setts) is the one rewrite with no MkvMerge pass. It is named as the exception, and the behavior question is filed as Decide Whether the Lossless Timestamp Repair Drops Tags Like Every Other Rewrite #1146.RemoveTagssays, and that is stated too.Changes: a paragraph in
ARCHITECTURE.md"Remux and Container Steps", a note on theRemoveTagsbullet inREADME.md, and a why-comment onMkvMergeBuilder.InputOptions.Default()(hence thecommentslabel). No behavior change.Verification
dotnet build(0 warnings), anddotnet format style --verify-no-changes --severity=infopass. markdownlint and cspell pass in the pre-commit hook.prose_lint.py --diffis clean, withcomment-addedcovered by the label.settsexception and the in-place attachment removal, which commit 6e8123a fixes. The re-review found nothing, and the pass is recorded.🤖 Generated with Claude Code