summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
authorAman Gupta <aman@tmm1.net>2016-01-08 17:56:09 -0800
committerClément Bœsch <u@pkh.me>2016-01-09 12:24:49 +0100
commit080de371d8c0b841964eba751f2df4219bae237a (patch)
tree5be299521fcf90c40d29c3cb60f49befdbbb23f8 /libavcodec
parente521a32af27384e85911f26e7be30faa866a9992 (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')
-rw-r--r--libavcodec/ccaption_dec.c11
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)