summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThibault Saunier <tsaunier@gnome.org>2014-10-13 16:28:54 +0200
committerThibault Saunier <tsaunier@gnome.org>2014-10-13 16:30:05 +0200
commit26ef55d6220d00367731f2db2bd8f926edbe6165 (patch)
tree15edf592978ca73c28060a3ca7250b3b779b183a
parent4823d998fcff37589719ff42ca40893564930fcf (diff)
validate: Print position if it could properly be queried
Otherwize we will print meaningless garbage.
-rw-r--r--validate/gst/validate/gst-validate-bin-monitor.c25
1 files changed, 17 insertions, 8 deletions
diff --git a/validate/gst/validate/gst-validate-bin-monitor.c b/validate/gst/validate/gst-validate-bin-monitor.c
index e224e57..34bbc64 100644
--- a/validate/gst/validate/gst-validate-bin-monitor.c
+++ b/validate/gst/validate/gst-validate-bin-monitor.c
@@ -161,20 +161,29 @@ print_position (GstValidateMonitor * monitor)
gdouble rate = 1.0;
GstFormat format = GST_FORMAT_TIME;
- gst_element_query_position (pipeline, format, &position);
+ if (!gst_element_query_position (pipeline, format, &position)) {
+ GST_DEBUG_OBJECT (monitor, "Could not query position");
+
+ return TRUE;
+ }
format = GST_FORMAT_TIME;
- gst_element_query_duration (pipeline, format, &duration);
+ if (!gst_element_query_duration (pipeline, format, &duration)) {
+ GST_DEBUG_OBJECT (monitor, "Could not query duration");
+
+ return TRUE;
+ }
query = gst_query_new_segment (GST_FORMAT_DEFAULT);
- if (gst_element_query (pipeline, query))
+ if (gst_element_query (pipeline, query)) {
gst_query_parse_segment (query, &rate, NULL, NULL, NULL);
- gst_query_unref (query);
- gst_validate_printf (NULL,
- "<position: %" GST_TIME_FORMAT " duration: %" GST_TIME_FORMAT
- " speed: %f />\r", GST_TIME_ARGS (position), GST_TIME_ARGS (duration),
- rate);
+ gst_validate_printf (NULL,
+ "<position: %" GST_TIME_FORMAT " duration: %" GST_TIME_FORMAT
+ " speed: %f />\r", GST_TIME_ARGS (position), GST_TIME_ARGS (duration),
+ rate);
+ }
+ gst_query_unref (query);
return TRUE;
}