diff options
author | Thibault Saunier <tsaunier@gnome.org> | 2014-10-13 16:28:54 +0200 |
---|---|---|
committer | Thibault Saunier <tsaunier@gnome.org> | 2014-10-13 16:30:05 +0200 |
commit | 26ef55d6220d00367731f2db2bd8f926edbe6165 (patch) | |
tree | 15edf592978ca73c28060a3ca7250b3b779b183a | |
parent | 4823d998fcff37589719ff42ca40893564930fcf (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.c | 25 |
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; } |