| #!/usr/bin/env python | |
| def line_string(ts, pid, thread, level, category, filename, line, function, | |
| object_, message): | |
| # Replicates gstreamer/gst/gstinfo.c:gst_debug_log_default. | |
| # FIXME: Regarding object_, this doesn't fully replicate the formatting! | |
| return "%s %5d 0x%x %s %20s %s:%d:%s:<%s> %s" % (Data.time_args(ts), pid, thread, | |
| level.name.ljust( | |
| 5), category, | |
| filename, line, function, | |
| object_, message,) | |
| def main(): | |
| import sys | |
| import os.path | |
| sys.path.append(os.path.dirname(os.path.dirname(sys.argv[0]))) | |
| global Data | |
| from GstDebugViewer import Data | |
| count = 100000 | |
| ts = 0 | |
| pid = 12345 | |
| thread = int("89abcdef", 16) | |
| level = Data.debug_level_log | |
| category = "GST_DUMMY" | |
| filename = "gstdummyfilename.c" | |
| file_line = 1 | |
| function = "gst_dummy_function" | |
| object_ = "dummyobj0" | |
| message = "dummy message with no content" | |
| levels = (Data.debug_level_log, | |
| Data.debug_level_debug, | |
| Data.debug_level_info,) | |
| shift = 0 | |
| for i in range(count): | |
| ts = i * 10000 | |
| shift += i % (count // 100) | |
| level = levels[(i + shift) % 3] | |
| print(line_string(ts, pid, thread, level, category, filename, file_line, | |
| function, object_, message)) | |
| if __name__ == "__main__": | |
| main() |