transcoder: Minor refactoring to output better debug logs
authorThibault Saunier <tsaunier@igalia.com>
Thu, 19 Nov 2020 20:54:28 +0000 (17:54 -0300)
committerThibault Saunier <tsaunier@igalia.com>
Mon, 30 Nov 2020 18:16:01 +0000 (15:16 -0300)
gst-libs/gst/transcoder/gsttranscoder.c

index 4b26c9b..2da8c9c 100644 (file)
@@ -487,22 +487,26 @@ tick_cb (gpointer user_data)
   GstTranscoder *self = GST_TRANSCODER (user_data);
   gint64 position;
 
-  if (self->target_state >= GST_STATE_PAUSED
-      && gst_element_query_position (self->transcodebin, GST_FORMAT_TIME,
+  if (self->target_state < GST_STATE_PAUSED)
+    return G_SOURCE_CONTINUE;
+
+  if (!gst_element_query_position (self->transcodebin, GST_FORMAT_TIME,
           &position)) {
-    GST_LOG_OBJECT (self, "Position %" GST_TIME_FORMAT,
-        GST_TIME_ARGS (position));
-
-    if (g_signal_handler_find (self, G_SIGNAL_MATCH_ID,
-            signals[SIGNAL_POSITION_UPDATED], 0, NULL, NULL, NULL) != 0) {
-      PositionUpdatedSignalData *data = g_new0 (PositionUpdatedSignalData, 1);
-
-      data->transcoder = g_object_ref (self);
-      data->position = position;
-      gst_transcoder_signal_dispatcher_dispatch (self->signal_dispatcher, self,
-          position_updated_dispatch, data,
-          (GDestroyNotify) position_updated_signal_data_free);
-    }
+    GST_LOG_OBJECT (self, "Could not query position");
+    return G_SOURCE_CONTINUE;
+  }
+
+  GST_LOG_OBJECT (self, "Position %" GST_TIME_FORMAT, GST_TIME_ARGS (position));
+
+  if (g_signal_handler_find (self, G_SIGNAL_MATCH_ID,
+          signals[SIGNAL_POSITION_UPDATED], 0, NULL, NULL, NULL) != 0) {
+    PositionUpdatedSignalData *data = g_new0 (PositionUpdatedSignalData, 1);
+
+    data->transcoder = g_object_ref (self);
+    data->position = position;
+    gst_transcoder_signal_dispatcher_dispatch (self->signal_dispatcher, self,
+        position_updated_dispatch, data,
+        (GDestroyNotify) position_updated_signal_data_free);
   }
 
   return G_SOURCE_CONTINUE;