urisourcebin: Avoid potential unitialized/wrong bitrate value
authorEdward Hervey <edward@centricular.com>
Fri, 9 Nov 2018 11:22:31 +0000 (12:22 +0100)
committerEdward Hervey <bilboed@bilboed.com>
Fri, 9 Nov 2018 11:22:31 +0000 (12:22 +0100)
Only calculate and set the bitrate if all conditions are met.

gst/playback/gsturisourcebin.c

index 3edd94b..0e0bf82 100644 (file)
@@ -1003,15 +1003,13 @@ update_queue_values (GstURISourceBin * urisrc)
 
   for (cur = urisrc->out_slots; cur != NULL; cur = g_slist_next (cur)) {
     OutputSlotInfo *slot = (OutputSlotInfo *) (cur->data);
-    guint64 bitrate;
     guint byte_limit;
 
-    if (cumulative_bitrate > 0) {
-      if (g_object_class_find_property (G_OBJECT_GET_CLASS (slot->queue),
-              "bitrate")) {
-        g_object_get (G_OBJECT (slot->queue), "bitrate", &bitrate, NULL);
-      }
-
+    if (cumulative_bitrate > 0
+        && g_object_class_find_property (G_OBJECT_GET_CLASS (slot->queue),
+            "bitrate")) {
+      guint64 bitrate;
+      g_object_get (G_OBJECT (slot->queue), "bitrate", &bitrate, NULL);
       byte_limit =
           gst_util_uint64_scale (buffer_size, bitrate, cumulative_bitrate);
     } else {