CodecMedia 1.1.1
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
[1.1.1] - 2026-03-14
Fixed
- Improved MP3 duration estimation in
Mp3Parser.estimateDurationMillis()to prioritize Xing/VBRI frame-count metadata before scanned sample totals. - Excluded trailing ID3v1 tag bytes from MP3 audio scan range in
Mp3Parser, reducing bitrate drift when footer tags are present. - Added clearer non-Layer III error handling in
Mp3Parser.parse()for MPEG Layer I/II inputs. - Strengthened OGG logical-stream parsing in
OggParserwith per-stream page-sequence validation and serial-scoped metrics for multiplexed files. - Refined Vorbis bitrate-mode classification in
OggParser.detectVorbisBitrateMode()to infer from observed bitrate variation instead of coarse nominal/page-count heuristics. - Replaced broad OGG payload string scanning with structured Vorbis/Opus comment-header parsing in
OggParser, and fixed sequence tracking to uselongto avoid overflow. - Updated
WavParserto read/validateaudioFormatfromfmtand reject unsupported compressed WAV formats instead of silently computing incorrect duration. - Added RF64-aware WAV parsing in
WavParser, including unsigned chunk-size handling anddatasize sentinel (0xFFFFFFFF) resolution viads64. - Updated
FlacParserto reject reserved metadata block type127per FLAC spec. - Updated
FlacParserbitrate estimation to use encoded audio payload region after metadata blocks (instead of whole file bytes), reducing artwork/metadata inflation. - Updated
AiffParserto validate AIFCCOMMcompression type and reject unsupported compressed variants.
Added
- Added MP3 parser regression tests for Xing-priority duration, trailing ID3v1 handling, and unsupported Layer I/II diagnostics in
Mp3ParserTest. - Added OGG parser tests for Vorbis CBR/VBR mode inference, broken page-sequence detection, and multiplexed-stream metric isolation in
OggParserTest. - Added WAV parser tests for unsupported compressed format rejection and RF64
ds64/datasentinel handling inWavParserTest. - Added FLAC parser tests for reserved block type rejection and metadata-heavy bitrate estimation behavior in
FlacParserTest. - Added explicit decode-only intent comment in
FlacCodec. - Added AIFF parser tests for supported AIFC
NONEand unsupported compression-type rejection inAiffParserTest. - Added explicit decode-only intent comment in
AiffCodec.
Verified
- Confirmed MP3 parser updates with
mvn -Dtest=Mp3ParserTest test. - Confirmed OGG parser updates with
mvn -Dtest=OggParserTest test. - Confirmed WAV parser updates with
mvn -Dtest=WavParserTest test. - Confirmed FLAC parser updates with
mvn -Dtest=FlacParserTest test. - Confirmed AIFF parser updates with
mvn -Dtest=AiffParserTest test.
[1.1.0] - 2026-03-13
Changed
- Migrated repository ownership and project references to
CodecMediaLib/codecmedia-java. - Updated SCM/issue/CI metadata in
pom.xml. - Updated organization metadata in
pom.xmltoCodecMediaLib.
Notes
- This
1.1.0release is a transition baseline and prepares for larger updates planned in the1.1.*series.
[1.0.4] - 2026-03-05
Added
- Added richer MOV probe fields in
MovProbeInfo:videoBitrateKbps,audioBitrateKbps,bitDepth, anddisplayAspectRatio. - Added richer MP4 probe fields in
Mp4ProbeInfo: codec/audio stream details, frame rate, bitrate fields, bit depth, and display aspect ratio. - Added richer WebM probe fields in
WebmProbeInfo: per-track bitrate fields and display aspect ratio. - Added real fixture coverage in
CodecMediaFacadeTestfor probe/strict-validate using files undersrc/test/resources/example. - Added round-trip conversion test class
CodecMediaRoundTripConversionTestto validate same-extension convert->convert flows across all real example extensions (mp3,mp4,png,webm).
Changed
- Enhanced MOV parsing in
MovParserwith deeper BMFF track metadata extraction (hdlr,mdhd,stsd,btrt,stsz) and fallback bitrate estimation. - Enhanced MP4 parsing in
Mp4Parserto extract video/audio codec, sample rate, channels, frame rate, bit depth, bitrate, and aspect ratio. - Enhanced WebM parsing in
WebmParserto extract track bitrate when present and compute fallback bitrate/aspect ratio values. - Updated stream/tag mapping in
StubCodecMediaEngineso MOV/MP4/WebM probe results now expose richer stream bitrate and container tags (displayAspectRatio,bitDepth,videoBitrateKbps,audioBitrateKbps).
Verified
- Confirmed test stability after video parser improvements with
mvn test. - Confirmed real-fixture conversion regression path with
mvn -Dtest=CodecMediaRoundTripConversionTest test.