1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-28 20:53:54 +02:00

fftools/ffmpeg_mux_init: avoid modifying OptionsContext.chapters_input_file

Use a local variable instead. This will allow making OptionsContext
const in future commits.
This commit is contained in:
Anton Khirnov 2022-10-18 11:52:10 +02:00
parent 5ccc151bf2
commit aa0ce91f57

View File

@ -1547,6 +1547,7 @@ static void copy_meta(Muxer *mux, OptionsContext *o)
{ {
OutputFile *of = &mux->of; OutputFile *of = &mux->of;
AVFormatContext *oc = mux->fc; AVFormatContext *oc = mux->fc;
int chapters_input_file = o->chapters_input_file;
/* copy metadata */ /* copy metadata */
for (int i = 0; i < o->nb_metadata_map; i++) { for (int i = 0; i < o->nb_metadata_map; i++) {
@ -1563,23 +1564,23 @@ static void copy_meta(Muxer *mux, OptionsContext *o)
} }
/* copy chapters */ /* copy chapters */
if (o->chapters_input_file >= nb_input_files) { if (chapters_input_file >= nb_input_files) {
if (o->chapters_input_file == INT_MAX) { if (chapters_input_file == INT_MAX) {
/* copy chapters from the first input file that has them*/ /* copy chapters from the first input file that has them*/
o->chapters_input_file = -1; chapters_input_file = -1;
for (int i = 0; i < nb_input_files; i++) for (int i = 0; i < nb_input_files; i++)
if (input_files[i]->ctx->nb_chapters) { if (input_files[i]->ctx->nb_chapters) {
o->chapters_input_file = i; chapters_input_file = i;
break; break;
} }
} else { } else {
av_log(NULL, AV_LOG_FATAL, "Invalid input file index %d in chapter mapping.\n", av_log(NULL, AV_LOG_FATAL, "Invalid input file index %d in chapter mapping.\n",
o->chapters_input_file); chapters_input_file);
exit_program(1); exit_program(1);
} }
} }
if (o->chapters_input_file >= 0) if (chapters_input_file >= 0)
copy_chapters(input_files[o->chapters_input_file], of, oc, copy_chapters(input_files[chapters_input_file], of, oc,
!o->metadata_chapters_manual); !o->metadata_chapters_manual);
/* copy global metadata by default */ /* copy global metadata by default */