diff options
author | Nirbheek Chauhan <nirbheek@centricular.com> | 2018-04-03 23:54:41 +0530 |
---|---|---|
committer | Nirbheek Chauhan <nirbheek@centricular.com> | 2018-04-03 23:57:20 +0530 |
commit | 8649cef462226a67272edae764a3eca79c55051d (patch) | |
tree | 38955cc3ece152babf21f7eec347e44c98845b50 /gst/audiolatency/gstaudiolatency.c | |
parent | 2ee16a5810d7da9931665a1cc6435e50c94ecb08 (diff) | |
download | gstreamer-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.c | 9 |
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); |