baseparse: Timestamp tracking has accumulating rounding errors when using frame rate
@slomo
Submitted by Sebastian Dröge Link to original bug (#765093)
Description
Audio parsers often just use the frame rate based timestamp tracking, i.e. gst_base_parse_set_frame_rate(). The base class then simply stores fps_d/fps_n and uses this for the buffer durations. And then uses the buffer durations to interpolate the next buffer timestamps.
So if upstream only provides timestamps every now and then, or only one in the very beginning, or none at all (filesrc ! mpegaudioparse ! ...), the rounding errors caused by the division will accumulate until the point when things start to fail.
Version: 1.8.0