The Fragmented-MP4 File Format Bugs
Expression Encoder
Missing mandatory atoms
The files are missing (empty) stsc, stsz and stco boxes.
Wrong samplerate (Version 3.0.1359.0)
When encoding audio in AAC at 44100 the Sample Description in the 'stsd' box has the samplerate set to 48000.
Data offsets (Version 3.0.1359.0)
The files miss a base-data-offset field in the tfhd box or a data-offset field in the trun box.
Composition times (Version 3.0.1359.0)
Negative composition times (for B frames) in the sample_composition_time_offset field of the trun box.
Microsoft Format SDK
Unused is_difference_sample
The is_difference_sample field in the sample_flags of a trun is always zero, marking all frames as being keyframes. It should only be zero for IDR frames (sync samples).
Invalid timestamps
64 bit timestamps are used in the mdhd, tkhd and mvhd boxes which appear to be invalid (e.g. the creation date is in the very far future).
Invalid data_offset in trun box
When uuid boxes are added to the end of a moof box, the data_offset doesn't get adjusted accordingly.
Invalid PPS size
The picture_parameter_sets in the avcC box as found in the stsd box has an invalid length. It includes (unused) trailing zeroes.
Incorrect composition timestamps
Live encoded files get larger and larger composition time values within a fragment. When a new fragment starts, the composition time resets to a correct value.
The frames from the new fragment will have a presentation time LESS THAN the last frames from the previous fragment.
Expression Encoder 4 Service Pack 1
Incorrect sample_count in trun box
The sample count for text tracks is wrong. It seems to equal the number of samples in the video track.
Incorrect sdtp box for text tracks
The sdtp box seems to be copied from the video track, so it has the wrong number of samples as well.
Incorrect duration in tfxd box for text tracks
The timestamp is correct, but the duration in the first tfxd is invalid.
Empty FourCC value in embedded stream manifest
When encoding a live presentation the FourCC field for audio tracks is empty. It should be 'AACL'.
Feedback
If you have any questions, thoughts or ideas on Smooth Streaming you can leave a message on our forum.
