How does the MPEG-4 decoder [6.0.0.062] compute the frame time returned by MediaData::GetTime? Since MPEG-4 does not support timestamps, but rather individual frame durations, the MPEG-4 decoder should keep a running sum of individual frame durations. We have done some testing with varying frame durations, and the evidence appears to suggest that the MPEG-4 decoder is disregarding individual frame durations and perhaps instead relying on simple frame rate information from a MOOV box.
This is not an academic issue. Our application has multiple child windows, each running a separate MPEG-4 video+audio stream, and must synchronize the streams using the individual frame duration information.
Does the MPEG-4 decoder keep a running sum of the individual frame durations?