GNOME Bugzilla – Bug 310447
incorrect time change
Last modified: 2005-08-29 15:27:27 UTC
When waiting for future timestamp, the function gst_element_wait wrongly computes the target time. The problem is that it adds the element->base_time to the timestamp which results in timestamp far in the future. Gstreamer starts reading the input and is waiting for this far time and thus deos nothing useful. I have added more debug dumps and got the following times. It is obvoius that gstreamer should wait for timestamp and not for element->base_time + timestano. gstelement.c(938):gst_element_wait:<demuxer> element time 1:25:18.889187333 gstelement.c(940):gst_element_wait:<demuxer> element base time 311491:34:12.731328667 gstelement.c(942):gst_element_wait:<demuxer> timestamp 1:25:18.891833333 The attached patch fixes this bug.
Created attachment 49208 [details] [review] Patch for gst_element_wait()
This is almost certainly wrong. When are you seeing problems with this? How can we reproduce?
The problems occurs probably when one frame is lost (skipped) in the mpeg file. I can send you a short video file that uncoveres this bug. It should be enough to connect fdsrc with mpegdemux.
Created attachment 49226 [details] Very simple test program.
The problem was that the timestamps in mpeg overflow and cause a time seek to far future.