summaryrefslogtreecommitdiff
path: root/libavfilter/af_silencedetect.c
diff options
context:
space:
mode:
authorNicolas Gaullier <nicolas.gaullier@arkena.com>2018-02-19 14:16:17 +0100
committerPaul B Mahol <onemda@gmail.com>2018-03-29 15:45:24 +0200
commit5170ab20e1f5278cc024a04e348828e38db3f361 (patch)
tree2a6d3006a5f50d9fffbe8b34ad78c35c2e4a2fef /libavfilter/af_silencedetect.c
parent56b2731aae33ea63bad06bca0a28569399be96ca (diff)
downloadffmpeg-5170ab20e1f5278cc024a04e348828e38db3f361.tar.gz
lavfi/silencedetect: Fix silence_end accuracy
Diffstat (limited to 'libavfilter/af_silencedetect.c')
-rw-r--r--libavfilter/af_silencedetect.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libavfilter/af_silencedetect.c b/libavfilter/af_silencedetect.c
index 749c3fbcb7..8973049fe5 100644
--- a/libavfilter/af_silencedetect.c
+++ b/libavfilter/af_silencedetect.c
@@ -92,7 +92,8 @@ static av_always_inline void update(SilenceDetectContext *s, AVFrame *insamples,
}
} else {
if (s->start[channel] > INT64_MIN) {
- int64_t end_pts = insamples->pts;
+ int64_t end_pts = insamples->pts + av_rescale_q(current_sample / s->channels,
+ (AVRational){ 1, s->last_sample_rate }, time_base);
int64_t duration_ts = end_pts - s->start[channel];
set_meta(insamples, s->mono ? channel + 1 : 0, "silence_end",
av_ts2timestr(end_pts, &time_base));