From 5865af927f8dec3087413d0f3c0e556e7d5b4782 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Mon, 24 Sep 2007 12:46:17 +0000 Subject: [PATCH] libs/gst/base/gstbasesink.c: Return correct gboolean from query function. Original commit message from CVS: * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency), (gst_base_sink_event), (gst_base_sink_change_state): Return correct gboolean from query function. --- ChangeLog | 6 ++++++ libs/gst/base/gstbasesink.c | 39 ++++++++++++++++++++++--------------- 2 files changed, 29 insertions(+), 16 deletions(-) diff --git a/ChangeLog b/ChangeLog index c79f05c297..bc44b3369f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2007-09-24 Wim Taymans + + * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency), + (gst_base_sink_event), (gst_base_sink_change_state): + Return correct gboolean from query function. + 2007-09-24 Wim Taymans * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency), diff --git a/libs/gst/base/gstbasesink.c b/libs/gst/base/gstbasesink.c index 687d8e34f9..7959051e10 100644 --- a/libs/gst/base/gstbasesink.c +++ b/libs/gst/base/gstbasesink.c @@ -848,27 +848,34 @@ gst_base_sink_query_latency (GstBaseSink * sink, gboolean * live, min = 0; max = -1; us_live = FALSE; - res = TRUE; - /* we are live and we are prerolled, do upstream query to get the total - * picture */ - if (l && have_latency) { - query = gst_query_new_latency (); + /* we are live */ + if (l) { + if (have_latency) { + /* we are live and ready for a latency query */ + query = gst_query_new_latency (); - /* ask the peer for the latency */ - if (!(res = gst_base_sink_peer_query (sink, query))) - goto query_failed; + /* ask the peer for the latency */ + if (!(res = gst_base_sink_peer_query (sink, query))) + goto query_failed; - /* get upstream min and max latency */ - gst_query_parse_latency (query, &us_live, &us_min, &us_max); - gst_query_unref (query); + /* get upstream min and max latency */ + gst_query_parse_latency (query, &us_live, &us_min, &us_max); + gst_query_unref (query); - if (us_live) { - /* upstream live, use its latency, subclasses should use these - * values to create the complete latency. */ - min = us_min; - max = us_max; + if (us_live) { + /* upstream live, use its latency, subclasses should use these + * values to create the complete latency. */ + min = us_min; + max = us_max; + } + } else { + /* we are live but are not yet ready for a latency query */ + res = FALSE; } + } else { + /* not live, result is always TRUE */ + res = TRUE; } GST_DEBUG_OBJECT (sink, "latency query: live: %d, have_latency %d,"