After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 692875 - Different timebases in GStreamer debug output
Different timebases in GStreamer debug output
Status: RESOLVED NOTABUG
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
git master
Other All
: Normal enhancement
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2013-01-30 12:44 UTC by Alexey Chernov
Modified: 2015-02-24 12:50 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Alexey Chernov 2013-01-30 12:44:24 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.
Comment 1 Wim Taymans 2013-01-30 12:47:47 UTC
the first value is the system time, the other values are the time of the pipeline. They are not related. what is the problem?
Comment 2 Tim-Philipp Müller 2013-01-30 12:57:16 UTC
The first value is roughly 'time since gst_init() was called'.
Comment 3 Alexey Chernov 2013-01-30 13:03:57 UTC
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.
Comment 4 Tim-Philipp Müller 2013-05-16 20:44:36 UTC
I don't think it's easily possible to print 'pipeline time'. Maybe something for an external debug viewer application?