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.
This commit is contained in:
Aman Gupta 2016-01-08 17:56:09 -08:00 committed by Clément Bœsch
parent e521a32af2
commit 080de371d8
1 changed files with 8 additions and 3 deletions

View File

@ -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)