Message ID | 1475087343-29745-2-git-send-email-jtoohill@google.com |
---|---|
State | Withdrawn |
Headers | show |
This was sent in error, please disregard. Jon Toohill | Google Play Music | jtoohill@google.com | (650) 215-0770 On Wed, Sep 28, 2016 at 11:28 AM, Jon Toohill <jtoohill@google.com> wrote: > This preserves changes to fields of AVCodecContext that get > updated during encoding, such as trailing_padding (which > may not be known until encoding is complete). > --- > ffmpeg.c | 15 +++++++++++++++ > 1 file changed, 15 insertions(+) > > diff --git a/ffmpeg.c b/ffmpeg.c > index df55a49..1e973f5 100644 > --- a/ffmpeg.c > +++ b/ffmpeg.c > @@ -4243,6 +4243,21 @@ static int transcode(void) > > term_exit(); > > + /* update output codec contexts after encoding */ > + for (i = 0; i < nb_output_streams; i++) { > + ost = output_streams[i]; > + if (ost->encoding_needed) { > + ret = avcodec_copy_context( > + output_files[ost->file_index]->ctx->streams[ost->index]-> > codec, > + ost->enc_ctx); > + if (ret < 0) { > + av_log(ost, AV_LOG_ERROR, "Error copying final codec > context: %s\n", av_err2str(ret)); > + if (exit_on_error) > + exit_program(1); > + } > + } > + } > + > /* write the trailer if needed and close file */ > for (i = 0; i < nb_output_files; i++) { > os = output_files[i]->ctx; > -- > 2.8.0.rc3.226.g39d4020 > >
diff --git a/ffmpeg.c b/ffmpeg.c index df55a49..1e973f5 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -4243,6 +4243,21 @@ static int transcode(void) term_exit(); + /* update output codec contexts after encoding */ + for (i = 0; i < nb_output_streams; i++) { + ost = output_streams[i]; + if (ost->encoding_needed) { + ret = avcodec_copy_context( + output_files[ost->file_index]->ctx->streams[ost->index]->codec, + ost->enc_ctx); + if (ret < 0) { + av_log(ost, AV_LOG_ERROR, "Error copying final codec context: %s\n", av_err2str(ret)); + if (exit_on_error) + exit_program(1); + } + } + } + /* write the trailer if needed and close file */ for (i = 0; i < nb_output_files; i++) { os = output_files[i]->ctx;