ges-launch: Report position while playing back
authorThibault Saunier <thibault.saunier@collabora.com>
Mon, 17 Jun 2013 01:47:52 +0000 (21:47 -0400)
committerThibault Saunier <thibault.saunier@collabora.com>
Sun, 23 Jun 2013 20:33:33 +0000 (16:33 -0400)
Giving more feedbacks to the user

tools/ges-launch.c

index 924e22c..8ed5bdc 100644 (file)
@@ -381,6 +381,23 @@ print_pattern_list (void)
   print_enum (GES_VIDEO_TEST_PATTERN_TYPE);
 }
 
+static gboolean
+_print_position (void)
+{
+  gint64 position, duration;
+
+  if (pipeline) {
+    gst_element_query_position (GST_ELEMENT (pipeline), GST_FORMAT_TIME,
+        &position);
+    gst_element_query_duration (GST_ELEMENT (pipeline), GST_FORMAT_TIME,
+        &duration);
+    g_print ("<Position: %" GST_TIME_FORMAT " / %" GST_TIME_FORMAT "/>\r",
+        GST_TIME_ARGS (position), GST_TIME_ARGS (duration));
+  }
+
+  return TRUE;
+}
+
 int
 main (int argc, gchar ** argv)
 {
@@ -547,6 +564,7 @@ main (int argc, gchar ** argv)
     g_error ("Failed to start the encoding\n");
     return 1;
   }
+  g_timeout_add (100, (GSourceFunc) _print_position, NULL);
   g_main_loop_run (mainloop);
 
   gst_element_set_state (GST_ELEMENT (pipeline), GST_STATE_NULL);