Bug 486902 - Feature: Stripping excess tag padding, setting for maximum padding size
Summary: Feature: Stripping excess tag padding, setting for maximum padding size
Status: REPORTED
Alias: None
Product: kid3
Classification: Applications
Component: general (other bugs)
Version First Reported In: 3.9.x
Platform: Debian stable Linux
: NOR normal
Target Milestone: ---
Assignee: Urs Fleisch
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-05-11 18:45 UTC by RoboDude
Modified: 2024-05-12 06:31 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description RoboDude 2024-05-11 18:45:31 UTC
SUMMARY
I was disappointed to find that there seems to be no way to rewrite files (in this particular case m4a files) to limit/remove excess tag padding space.

I removed very large cover art images from a group of files, and found that the files were still the same size, wasting quite a bit of space.

The amount of space to leave should be configurable, and perhaps a reasonable default for this option would be 1k of padding space?  If changes to tags/cover art leaves padding in excess of this, the file should be re-written to remove that wasted space.

STEPS TO REPRODUCE
1. Load m4a files with embedded cover art images
2. Remove the images
3. Note that the file size is has not shrunk.

OBSERVED RESULT
Files are same size

EXPECTED RESULT
Excess padding space should be removed.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: 3.9.3

ADDITIONAL INFORMATION
An example of a tool that does this (although only for mp3 files) is eyeD3 --max-padding=1024
Comment 1 Urs Fleisch 2024-05-12 06:31:06 UTC
Kid3 uses 3rd party libraries to read and write tags, they do not all provide functions to control the padding of tags. But most of them support a way to write a minimal tag by removing the old tag and writing a new tag. So what you have to do is to copy the tag, then remove the tag and write it to disc (using "Save"), then paste the tag and save it to disc. Then the tag should have its minimum size. Since this procedure is a bit awkward for multiple files (although the copy/paste can be replaced by export/import when no pictures are in the tags), there is a user action script which performs exactly the described procedure.  Just select all the files you would like to rewrite, then execute "Rewrite Tags" from the file list context menu, which appears after a right mouse click.

Note that for MP4 files, support for tag stripping was only added in TagLib 1.13 and Kid3 3.9.3, so if you use a package from a Linux distribution with older package versions, you would have to use the binary release from the Kid3 homepage instead.