GNOME Bugzilla – Bug 692875
Different timebases in GStreamer debug output
Last modified: 2015-02-24 12:50:00 UTC
I noticed that certain time values in GStreamer debug output differs considerably. Here's a string where it's clearly be seen: 0:00:08.389306900 3402 0x1735990 DEBUG basesink gstbasesink.c:2568:gst_base_sink_do_sync:<videosink-actual-sink-xvimage> possibly waiting for clock to reach 0:00:06.360000000, adjusted 0:00:06.360000000 The first value at the very beginning of the string is obviously pipeline's basetime. But what are another two values? If be sure that it's basetime, too, than it's a bug in basesink as it would wait forever and can't adjust time properly. But it seems that these values have somewhat different timebase. I think, all the time values mentioned in debug output should have the same timebase as it's kind of mad debugging without it.
the first value is the system time, the other values are the time of the pipeline. They are not related. what is the problem?
The first value is roughly 'time since gst_init() was called'.
Wim, Tim-Philipp, thank you for clarification. It's very often use case for me to compare several events using some time values in debug messages. Example 1: I've got a pipeline stalled after flush event now and I want to detect the exact moment and reason it got stucked. It could be useful to be able to compare time values from such debug messages with the pipeline time. But now they're not going to be compared as pipeline time of the messages is unknown. Example 2: I found a slight playback problems in xvimagesink and would like to detect whether basesink schedules everything correctly and it's videodriver problem or there're some other problems. Again, I need to know, when "possibly waiting for clock to reach 0:00:06.360000000", is it right, is it late and what happened to the pipeline on 0:00:06.360000000. And again, now I can't. Perhaps, system time is also important to count, but I think pipeline time should definitely be printed somehow as it's sometimes extremely valuable for debugging.
I don't think it's easily possible to print 'pipeline time'. Maybe something for an external debug viewer application?