From 6941d93faab0e05acbec2bbdd014dc9c26fa0dbe Mon Sep 17 00:00:00 2001 From: Paul B Mahol Date: Mon, 15 Feb 2021 20:51:21 +0100 Subject: [PATCH] avcodec/setts_bsf: add sample rate for expressions --- doc/bitstream_filters.texi | 3 +++ libavcodec/setts_bsf.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/doc/bitstream_filters.texi b/doc/bitstream_filters.texi index c4766e1c67..60e729484d 100644 --- a/doc/bitstream_filters.texi +++ b/doc/bitstream_filters.texi @@ -727,6 +727,9 @@ The previous output PTS. @item TB The timebase of stream packet belongs. + +@item SR +The sample rate of stream packet belongs. @end table @anchor{text2movsub} diff --git a/libavcodec/setts_bsf.c b/libavcodec/setts_bsf.c index 302f612412..5b6b256915 100644 --- a/libavcodec/setts_bsf.c +++ b/libavcodec/setts_bsf.c @@ -43,6 +43,7 @@ static const char *const var_names[] = { "STARTPTS", ///< PTS at start of movie "STARTDTS", ///< DTS at start of movie "TB", ///< timebase of the stream + "SR", ///< sample rate of the stream NULL }; @@ -59,6 +60,7 @@ enum var_name { VAR_STARTPTS, VAR_STARTDTS, VAR_TB, + VAR_SR, VAR_VARS_NB }; @@ -151,6 +153,7 @@ static int setts_filter(AVBSFContext *ctx, AVPacket *pkt) s->var_values[VAR_STARTPTS] = s->start_pts; s->var_values[VAR_STARTDTS] = s->start_dts; s->var_values[VAR_TB] = av_q2d(ctx->time_base_out); + s->var_values[VAR_SR] = ctx->par_in->sample_rate; new_ts = llrint(av_expr_eval(s->ts_expr, s->var_values, NULL));