diff --git a/libavcodec/ccaption_dec.c b/libavcodec/ccaption_dec.c index 92c3468f962b8ebce03f1d201b15131af2ceddb1..e4c4b832d8b62cbf0b40db630306f3b5b42fb775 100644 --- a/libavcodec/ccaption_dec.c +++ b/libavcodec/ccaption_dec.c @@ -280,6 +280,7 @@ static int reap_screen(CCaptionSubContext *ctx, int64_t pts) int ret = 0; struct Screen *screen = ctx->screen + ctx->active_screen; ctx->start_time = ctx->startv_time; + av_bprint_clear(&ctx->buffer); for (i = 0; screen->row_used && i < SCREEN_ROWS; i++) { @@ -521,7 +522,6 @@ static int decode(AVCodecContext *avctx, void *data, int *got_sub, AVPacket *avp return ret; sub->pts = av_rescale_q(ctx->start_time, avctx->time_base, AV_TIME_BASE_Q); ctx->buffer_changed = 0; - av_bprint_clear(&ctx->buffer); } }