The "start_time" should be cleared per flush in order to apply new offset time to each output buffer. Also, input running time must be compared with output running time, not output position. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4398>