adder: Drop custom latency querying logic
authorArun Raghavan <arun@accosted.net>
Thu, 26 Feb 2015 19:06:43 +0000 (00:36 +0530)
committerArun Raghavan <arun@accosted.net>
Thu, 26 Feb 2015 19:22:05 +0000 (00:52 +0530)
The default latency query handler now implements the same logic already.

gst/adder/gstadder.c

index 92f2b985d1fe231aeb4b9b13f9190bb2a60d24fd..094b25ee290fabec9af03cda548b836b468c4477 100644 (file)
@@ -484,93 +484,6 @@ gst_adder_query_duration (GstAdder * adder, GstQuery * query)
   return res;
 }
 
-static gboolean
-gst_adder_query_latency (GstAdder * adder, GstQuery * query)
-{
-  GstClockTime min, max;
-  gboolean live;
-  gboolean res;
-  GstIterator *it;
-  gboolean done;
-  GValue item = { 0, };
-
-  res = TRUE;
-  done = FALSE;
-
-  live = FALSE;
-  min = 0;
-  max = GST_CLOCK_TIME_NONE;
-
-  /* Take maximum of all latency values */
-  it = gst_element_iterate_sink_pads (GST_ELEMENT_CAST (adder));
-  while (!done) {
-    GstIteratorResult ires;
-
-    ires = gst_iterator_next (it, &item);
-    switch (ires) {
-      case GST_ITERATOR_DONE:
-        done = TRUE;
-        break;
-      case GST_ITERATOR_OK:
-      {
-        GstPad *pad = g_value_get_object (&item);
-        GstQuery *peerquery;
-        GstClockTime min_cur, max_cur;
-        gboolean live_cur;
-
-        peerquery = gst_query_new_latency ();
-
-        /* Ask peer for latency */
-        res &= gst_pad_peer_query (pad, peerquery);
-
-        /* take max from all valid return values */
-        if (res) {
-          gst_query_parse_latency (peerquery, &live_cur, &min_cur, &max_cur);
-
-          if (live_cur) {
-            if (min_cur > min)
-              min = min_cur;
-
-            if (max == GST_CLOCK_TIME_NONE)
-              max = max_cur;
-            else if (max_cur < max)
-              max = max_cur;
-
-            live = TRUE;
-          }
-        }
-
-        gst_query_unref (peerquery);
-        g_value_reset (&item);
-        break;
-      }
-      case GST_ITERATOR_RESYNC:
-        live = FALSE;
-        min = 0;
-        max = GST_CLOCK_TIME_NONE;
-        res = TRUE;
-        gst_iterator_resync (it);
-        break;
-      default:
-        res = FALSE;
-        done = TRUE;
-        break;
-    }
-  }
-  g_value_unset (&item);
-  gst_iterator_free (it);
-
-  if (res) {
-    /* store the results */
-    GST_DEBUG_OBJECT (adder, "Calculated total latency: live %s, min %"
-        GST_TIME_FORMAT ", max %" GST_TIME_FORMAT,
-        (live ? "yes" : "no"), GST_TIME_ARGS (min), GST_TIME_ARGS (max));
-    gst_query_set_latency (query, live, min, max);
-  }
-
-  return res;
-}
-
 static gboolean
 gst_adder_src_query (GstPad * pad, GstObject * parent, GstQuery * query)
 {
@@ -602,9 +515,6 @@ gst_adder_src_query (GstPad * pad, GstObject * parent, GstQuery * query)
     case GST_QUERY_DURATION:
       res = gst_adder_query_duration (adder, query);
       break;
-    case GST_QUERY_LATENCY:
-      res = gst_adder_query_latency (adder, query);
-      break;
     default:
       /* FIXME, needs a custom query handler because we have multiple
        * sinkpads */