One owner for what the iPod can play #9
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
wokoman/ironpod#9
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What to build
One module owns what the iPod can play — the file extensions, and the names libgpod uses for them. Copying and transcoding both read from it, and neither reaches into the other.
Right now the two split ownership of format policy and depend on each other in both directions: the transcoder calls into the copy engine to ask whether a file is playable, while separately restating the same libgpod format strings the copy engine's table already holds. Adding support for a format means editing two tables that have to agree, and the module cycle is the kind of thing that quietly blocks other refactors.
Roughly forty lines change hands. No behaviour changes at all, and the data involved is already covered by tests — which is why this is low risk despite touching two modules.
Acceptance criteria
cargo clippy --all-targetscleanNotes
The playability check has one non-test caller, and it is in the module that the copy engine depends on — so the check may not need to survive the move in its current form.
Blocked by