audioresample: corrected buffer duration calculation to account for nonzero initial...
authorLeo Singer <leo.singer@ligo.org>
Fri, 17 Dec 2010 08:49:26 +0000 (00:49 -0800)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Fri, 17 Dec 2010 18:34:42 +0000 (19:34 +0100)
commit5bfe1baab393d2a0b16329abda1bd1a7f38d4aec
tree4bda0cd374e40e0b3c6f2c16a93ecc0a7ffa3f3c
parent25a154be5f971e86b37c6d4130176d4583625a6d
audioresample: corrected buffer duration calculation to account for nonzero initial timestamp

Since we calculate timestamps by:

  timestamp = t0 + (out samples) / (out rate)

and durations by:

  duration = ((out samples) + (processed samples)) / (out rate) - timestamp

if t0 is nonzero, this would simplify to

  duration = t0 + (processed samples) / (out rate).

This duration is too large by the amount t0.  We should have done:

  duration = t0 + ((out samples) + (processed samples)) / (out rate) - timestamp

so that

  duration = (processed samples) / (out rate).
gst/audioresample/gstaudioresample.c