Skip to content

Conversation

@plantysnake
Copy link

@plantysnake plantysnake commented Nov 26, 2025

Description

Fixed all ignored failing conformance tests, excluding video_2500000bps_0.mp4, as it seems to have broken second mdat (MPEGGroup/FileFormatConformance#131)


Mehd - ISO/IEC 14496-12 8.8.2.1

Box Type: ‘mehd’
Container: Movie Extends Box(‘mvex’)
Mandatory: No
Quantity: Zero or one

So, field should be optional/nullable. Found during testing segmented files with file-segmenter demo.


Stsz - ISO/IEC 14496-12 8.7.3.2.2

sample_size is integer specifying the default sample size. If all the samples are the same size,
this field contains that size value. If this field is set to 0, then the samples have different sizes,
and those sizes are stored in the sample size table. If this field is not 0, it specifies the constant
sample size, and no array follows.

So, during write, we do not want to check sample_sizes values themselves, but rather we want to check if sample_size is 0.


Parser's parseOneBox logic for size === 0 without parentSize and box 'mdat' didn't actually assign new value to size. This was fixed.

@plantysnake
Copy link
Author

On unrelated note, iproBox has sinfs field, that is used in isofile.flattenItemInfo using getter protections, but is never populated due to FullBox parse just storing the buffer
Suggestion is to parse it like ContainerBox's parse, but further testing is needed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant