[FFmpeg-cvslog] lavc/ccaption_dec: extract capture_screen() for future use

Aman Gupta git at videolan.org
Sat Jan 9 12:33:37 CET 2016


ffmpeg | branch: master | Aman Gupta <aman at tmm1.net> | Fri Jan  8 17:56:09 2016 -0800| [080de371d8c0b841964eba751f2df4219bae237a] | committer: Clément Bœsch

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.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=080de371d8c0b841964eba751f2df4219bae237a
---

 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 e4c4b83..fac5069 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)



More information about the ffmpeg-cvslog mailing list