summaryrefslogtreecommitdiff
path: root/fftools/ffmpeg_opt.c
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2021-12-04 17:18:50 +0100
committerAnton Khirnov <anton@khirnov.net>2022-04-13 12:07:54 +0200
commit16aea9a38bbe1113b12f814def1d13251e76ecac (patch)
tree63357a62871627587f655309adf9ce6f3352b2fd /fftools/ffmpeg_opt.c
parent662364b2efb3540c5b4a2b140601fab7a9c90367 (diff)
fftools/ffmpeg: pass the muxer context explicitly to some functions
Stop accessing OutputFile.ctx. This will be useful in the following commits, where it will become hidden.
Diffstat (limited to 'fftools/ffmpeg_opt.c')
-rw-r--r--fftools/ffmpeg_opt.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/fftools/ffmpeg_opt.c b/fftools/ffmpeg_opt.c
index 22c88287df..8e217af4ab 100644
--- a/fftools/ffmpeg_opt.c
+++ b/fftools/ffmpeg_opt.c
@@ -2125,10 +2125,10 @@ static int opt_streamid(void *optctx, const char *opt, const char *arg)
return 0;
}
-static int copy_chapters(InputFile *ifile, OutputFile *ofile, int copy_metadata)
+static int copy_chapters(InputFile *ifile, OutputFile *ofile, AVFormatContext *os,
+ int copy_metadata)
{
AVFormatContext *is = ifile->ctx;
- AVFormatContext *os = ofile->ctx;
AVChapter **tmp;
int i;
@@ -2168,14 +2168,14 @@ static int copy_chapters(InputFile *ifile, OutputFile *ofile, int copy_metadata)
return 0;
}
-static int set_dispositions(OutputFile *of)
+static int set_dispositions(OutputFile *of, AVFormatContext *ctx)
{
int nb_streams[AVMEDIA_TYPE_NB] = { 0 };
int have_default[AVMEDIA_TYPE_NB] = { 0 };
int have_manual = 0;
// first, copy the input dispositions
- for (int i = 0; i< of->ctx->nb_streams; i++) {
+ for (int i = 0; i < ctx->nb_streams; i++) {
OutputStream *ost = output_streams[of->ost_index + i];
nb_streams[ost->st->codecpar->codec_type]++;
@@ -2192,7 +2192,7 @@ static int set_dispositions(OutputFile *of)
if (have_manual) {
// process manually set dispositions - they override the above copy
- for (int i = 0; i< of->ctx->nb_streams; i++) {
+ for (int i = 0; i < ctx->nb_streams; i++) {
OutputStream *ost = output_streams[of->ost_index + i];
int ret;
@@ -2218,7 +2218,7 @@ static int set_dispositions(OutputFile *of)
// For each media type with more than one stream, find a suitable stream to
// mark as default, unless one is already marked default.
// "Suitable" means the first of that type, skipping attached pictures.
- for (int i = 0; i< of->ctx->nb_streams; i++) {
+ for (int i = 0; i < ctx->nb_streams; i++) {
OutputStream *ost = output_streams[of->ost_index + i];
enum AVMediaType type = ost->st->codecpar->codec_type;
@@ -2760,7 +2760,7 @@ loop_end:
}
}
if (o->chapters_input_file >= 0)
- copy_chapters(input_files[o->chapters_input_file], of,
+ copy_chapters(input_files[o->chapters_input_file], of, oc,
!o->metadata_chapters_manual);
/* copy global metadata by default */
@@ -2913,7 +2913,7 @@ loop_end:
}
}
- err = set_dispositions(of);
+ err = set_dispositions(of, oc);
if (err < 0) {
av_log(NULL, AV_LOG_FATAL, "Error setting output stream dispositions\n");
exit_program(1);