/** * @param current_fts used while calculating window for end credits */ void dinit_encoder(struct encoder_ctx **arg, LLONG current_fts) { struct encoder_ctx *ctx = *arg; int i; if(!ctx) return; for (i = 0; i < ctx->nb_out; i++) { if (ctx->end_credits_text!=NULL) try_to_add_end_credits(ctx, ctx->out + i, current_fts); write_subtitle_file_footer(ctx, ctx->out + i); } dinit_output_ctx(ctx); freep(&ctx->subline); freep(&ctx->buffer); ctx->capacity = 0; freep(arg); }
int reset_output_ctx(struct encoder_ctx *ctx, struct encoder_cfg *cfg) { dinit_output_ctx(ctx); return init_output_ctx(ctx, cfg); }