mirror of https://git.ffmpeg.org/ffmpeg.git
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:
parent
e521a32af2
commit
080de371d8
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue