mirror of https://git.ffmpeg.org/ffmpeg.git
lavc/ccaption_dec: check for bprint completeness outside the loop
This commit is contained in:
parent
31bff21d2c
commit
22765140fa
|
@ -283,7 +283,6 @@ static void roll_up(CCaptionSubContext *ctx)
|
|||
static int capture_screen(CCaptionSubContext *ctx)
|
||||
{
|
||||
int i;
|
||||
int ret = 0;
|
||||
struct Screen *screen = ctx->screen + ctx->active_screen;
|
||||
enum cc_font prev_font = CCFONT_REGULAR;
|
||||
av_bprint_clear(&ctx->buffer);
|
||||
|
@ -330,25 +329,19 @@ static int capture_screen(CCaptionSubContext *ctx)
|
|||
}
|
||||
}
|
||||
prev_font = font[j];
|
||||
|
||||
av_bprintf(&ctx->buffer, "%s%s%c", e_tag, s_tag, row[j]);
|
||||
}
|
||||
|
||||
av_bprintf(&ctx->buffer, "\\N");
|
||||
ret = av_bprint_is_complete(&ctx->buffer);
|
||||
if (ret == 0) {
|
||||
ret = AVERROR(ENOMEM);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
if (!av_bprint_is_complete(&ctx->buffer))
|
||||
return AVERROR(ENOMEM);
|
||||
if (screen->row_used && ctx->buffer.len >= 2) {
|
||||
ctx->buffer.len -= 2;
|
||||
ctx->buffer.str[ctx->buffer.len] = 0;
|
||||
}
|
||||
ctx->buffer_changed = 1;
|
||||
return ret;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int reap_screen(CCaptionSubContext *ctx, int64_t pts)
|
||||
|
|
Loading…
Reference in New Issue