summaryrefslogtreecommitdiff
path: root/gst/audiolatency/gstaudiolatency.c
diff options
context:
space:
mode:
authorNirbheek Chauhan <nirbheek@centricular.com>2018-04-03 23:54:41 +0530
committerNirbheek Chauhan <nirbheek@centricular.com>2018-04-03 23:57:20 +0530
commit8649cef462226a67272edae764a3eca79c55051d (patch)
tree38955cc3ece152babf21f7eec347e44c98845b50 /gst/audiolatency/gstaudiolatency.c
parent2ee16a5810d7da9931665a1cc6435e50c94ecb08 (diff)
downloadgstreamer-plugins-bad-8649cef462226a67272edae764a3eca79c55051d.tar.gz
audiolatency: Fix wave detection in buffers
-1/1000 is 0, so we were *always* detecting a buffer.
Diffstat (limited to 'gst/audiolatency/gstaudiolatency.c')
-rw-r--r--gst/audiolatency/gstaudiolatency.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/gst/audiolatency/gstaudiolatency.c b/gst/audiolatency/gstaudiolatency.c
index 3a3a40680..7e6ec42a3 100644
--- a/gst/audiolatency/gstaudiolatency.c
+++ b/gst/audiolatency/gstaudiolatency.c
@@ -335,7 +335,7 @@ buffer_has_wave (GstBuffer * buffer, GstPad * pad)
gst_buffer_unmap (buffer, &minfo);
/* Return offset in microseconds */
- return offset / 1000;
+ return (offset > 0) ? offset / 1000 : -1;
}
static GstPadProbeReturn
@@ -406,12 +406,7 @@ gst_audiolatency_sink_chain (GstPad * pad, GstObject * parent,
if (offset < 0)
goto out;
- pts += offset;
- /* Only measure latency using the first buffer of each tick wave */
- if (pts - self->recv_pts <= 950 * 1000)
- goto out;
-
- self->recv_pts = pts;
+ self->recv_pts = pts + offset;
latency = (self->recv_pts - self->send_pts);
gst_audiolatency_set_latency (self, latency);