[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gstreamer-cvs
Subject:    gst-plugins-good: interleave: Drop custom latency query handling
From:       arun () kemper ! freedesktop ! org (Arun Raghavan)
Date:       2015-02-26 19:31:47
Message-ID: 20150226193147.2AEC1763B7 () kemper ! freedesktop ! org
[Download RAW message or body]

Module: gst-plugins-good
Branch: master
Commit: 0c06553fb2ea8f0034e237719ff9d8ae6bb5bde3
URL:    http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=0c06553fb2ea8f0034e237719ff9d8ae6bb5bde3


Author: Arun Raghavan <git@arunraghavan.net>
Date:   Fri Feb 27 00:59:46 2015 +0530

interleave: Drop custom latency query handling

This is implemented by the default query handler now.

---

 gst/interleave/interleave.c |   90 -------------------------------------------
 1 file changed, 90 deletions(-)

diff --git a/gst/interleave/interleave.c b/gst/interleave/interleave.c
index 1d36654..28f941a 100644
--- a/gst/interleave/interleave.c
+++ b/gst/interleave/interleave.c
@@ -1037,93 +1037,6 @@ gst_interleave_src_query_duration (GstInterleave * self, \
GstQuery * query)  }
 
 static gboolean
-gst_interleave_src_query_latency (GstInterleave * self, GstQuery * query)
-{
-  GstClockTime min, max;
-  gboolean live;
-  gboolean res;
-  GstIterator *it;
-  gboolean done;
-
-  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 (self));
-  while (!done) {
-    GstIteratorResult ires;
-    GValue item = { 0, };
-
-    ires = gst_iterator_next (it, &item);
-    switch (ires) {
-      case GST_ITERATOR_DONE:
-        done = TRUE;
-        break;
-      case GST_ITERATOR_OK:
-      {
-        GstPad *pad = GST_PAD_CAST (g_value_dup_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);
-        gst_object_unref (pad);
-        g_value_unset (&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;
-    }
-  }
-  gst_iterator_free (it);
-
-  if (res) {
-    /* store the results */
-    GST_DEBUG_OBJECT (self, "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_interleave_src_query (GstPad * pad, GstObject * parent, GstQuery * query)
 {
   GstInterleave *self = GST_INTERLEAVE (parent);
@@ -1159,9 +1072,6 @@ gst_interleave_src_query (GstPad * pad, GstObject * parent, \
GstQuery * query)  case GST_QUERY_DURATION:
       res = gst_interleave_src_query_duration (self, query);
       break;
-    case GST_QUERY_LATENCY:
-      res = gst_interleave_src_query_latency (self, query);
-      break;
     default:
       /* FIXME, needs a custom query handler because we have multiple
        * sinkpads */

_______________________________________________
gstreamer-commits mailing list
gstreamer-commits@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/gstreamer-commits


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic