applied with fix: uint64_t sustain_reset = (uint64_t)cdt_ms * rate / 1000;
Thank you, Michael. -- Burt On Tue, Sep 6, 2016 at 5:00 PM, Michael Niedermayer <mich...@niedermayer.cc> wrote: > On Mon, Sep 05, 2016 at 06:18:43AM -0500, Burt P wrote: >> Signed-off-by: Burt P <pbu...@gmail.com> >> --- >> libavfilter/af_hdcd.c | 9 ++++----- >> 1 file changed, 4 insertions(+), 5 deletions(-) >> >> diff --git a/libavfilter/af_hdcd.c b/libavfilter/af_hdcd.c >> index c8bda82..c249589 100644 >> --- a/libavfilter/af_hdcd.c >> +++ b/libavfilter/af_hdcd.c >> @@ -1004,16 +1004,15 @@ AVFILTER_DEFINE_CLASS(hdcd); >> static void hdcd_reset(hdcd_state *state, unsigned rate, unsigned cdt_ms) >> { >> int i; >> + uint64_t sustain_reset = cdt_ms * rate / 1000; > > this can still overflow > cdt_ms and rate are 32bit their product is 32bit divided by 1000 > its around 22 bit, the 64bit is too late > > >> >> state->window = 0; >> state->readahead = 32; >> state->arg = 0; >> state->control = 0; >> - >> state->running_gain = 0; >> - >> + state->sustain_reset = sustain_reset; >> state->sustain = 0; >> - state->sustain_reset = cdt_ms*rate/1000; > > [...] > > -- > Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB > > The worst form of inequality is to try to make unequal things equal. > -- Aristotle > > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel > -- Burt _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel