From 080de371d8c0b841964eba751f2df4219bae237a Mon Sep 17 00:00:00 2001 From: Aman Gupta Date: Fri, 8 Jan 2016 17:56:09 -0800 Subject: [PATCH] lavc/ccaption_dec: extract capture_screen() for future use unlike reap_screen(), capture_screen() can be used to populate buffer without touching the timestamps. this is useful for upcoming commits which implement a real time caption stream. --- libavcodec/ccaption_dec.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/libavcodec/ccaption_dec.c b/libavcodec/ccaption_dec.c index e4c4b832d8..fac506996d 100644 --- a/libavcodec/ccaption_dec.c +++ b/libavcodec/ccaption_dec.c @@ -274,12 +274,11 @@ static void roll_up(CCaptionSubContext *ctx) UNSET_FLAG(screen->row_used, ctx->cursor_row); } -static int reap_screen(CCaptionSubContext *ctx, int64_t pts) +static int capture_screen(CCaptionSubContext *ctx) { int i; 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++) @@ -304,9 +303,15 @@ static int reap_screen(CCaptionSubContext *ctx, int64_t pts) ctx->buffer.str[ctx->buffer.len] = 0; } ctx->buffer_changed = 1; + return ret; +} + +static int reap_screen(CCaptionSubContext *ctx, int64_t pts) +{ + ctx->start_time = ctx->startv_time; ctx->startv_time = pts; ctx->end_time = pts; - return ret; + return capture_screen(ctx); } static void handle_textattr(CCaptionSubContext *ctx, uint8_t hi, uint8_t lo)