level-example. avoid taking the arrays again for each channel for clarity
authorStefan Sauer <ensonic@users.sf.net>
Tue, 5 Feb 2013 07:26:14 +0000 (08:26 +0100)
committerStefan Sauer <ensonic@users.sf.net>
Tue, 5 Feb 2013 17:47:59 +0000 (18:47 +0100)
Also introduce some blank lines for better readability and update the comments.

tests/examples/level/level-example.c

index d42e109..cc74788 100644 (file)
@@ -40,34 +40,37 @@ message_handler (GstBus * bus, GstMessage * message, gpointer data)
       gdouble rms;
       const GValue *array_val;
       const GValue *value;
-      GValueArray *arr;
-
+      GValueArray *rms_arr, *peak_arr, *decay_arr;
       gint i;
 
       if (!gst_structure_get_clock_time (s, "endtime", &endtime))
         g_warning ("Could not parse endtime");
-      /* we can get the number of channels as the length of any of the value
-       * lists */
+
+      /* the values are packed into GValueArrays with the value per channel */
       array_val = gst_structure_get_value (s, "rms");
-      arr = (GValueArray *) g_value_get_boxed (array_val);
-      channels = arr->n_values;
+      rms_arr = (GValueArray *) g_value_get_boxed (array_val);
+
+      array_val = gst_structure_get_value (s, "peak");
+      peak_arr = (GValueArray *) g_value_get_boxed (array_val);
 
+      array_val = gst_structure_get_value (s, "decay");
+      decay_arr = (GValueArray *) g_value_get_boxed (array_val);
+
+      /* we can get the number of channels as the length of any of the value
+       * arrays */
+      channels = rms_arr->n_values;
       g_print ("endtime: %" GST_TIME_FORMAT ", channels: %d\n",
           GST_TIME_ARGS (endtime), channels);
       for (i = 0; i < channels; ++i) {
 
         g_print ("channel %d\n", i);
-        array_val = gst_structure_get_value (s, "rms");
-        arr = (GValueArray *) g_value_get_boxed (array_val);
-        value = g_value_array_get_nth (arr, i);
+        value = g_value_array_get_nth (rms_arr, i);
         rms_dB = g_value_get_double (value);
-        array_val = gst_structure_get_value (s, "peak");
-        arr = (GValueArray *) g_value_get_boxed (array_val);
-        value = g_value_array_get_nth (arr, i);
+
+        value = g_value_array_get_nth (peak_arr, i);
         peak_dB = g_value_get_double (value);
-        array_val = gst_structure_get_value (s, "decay");
-        arr = (GValueArray *) g_value_get_boxed (array_val);
-        value = g_value_array_get_nth (arr, i);
+
+        value = g_value_array_get_nth (decay_arr, i);
         decay_dB = g_value_get_double (value);
         g_print ("    RMS: %f dB, peak: %f dB, decay: %f dB\n",
             rms_dB, peak_dB, decay_dB);