diff options
author | Aman Gupta <aman@tmm1.net> | 2016-01-09 04:56:09 +0300 |
---|---|---|
committer | Clément Bœsch <u@pkh.me> | 2016-01-09 14:24:49 +0300 |
commit | 080de371d8c0b841964eba751f2df4219bae237a (patch) | |
tree | 5be299521fcf90c40d29c3cb60f49befdbbb23f8 /libavcodec/ccaption_dec.c | |
parent | e521a32af27384e85911f26e7be30faa866a9992 (diff) |
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.
Diffstat (limited to 'libavcodec/ccaption_dec.c')
-rw-r--r-- | libavcodec/ccaption_dec.c | 11 |
1 files 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) |