mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-21 10:55:51 +02:00
fftools/ffmpeg_demux: drop ist_output_add()
It is now a trivial wrapper over ist_use(), so export that directly.
This commit is contained in:
parent
8e805b9c3c
commit
f295b4d8a0
@ -870,7 +870,8 @@ int64_t of_filesize(OutputFile *of);
|
|||||||
int ifile_open(const OptionsContext *o, const char *filename, Scheduler *sch);
|
int ifile_open(const OptionsContext *o, const char *filename, Scheduler *sch);
|
||||||
void ifile_close(InputFile **f);
|
void ifile_close(InputFile **f);
|
||||||
|
|
||||||
int ist_output_add(InputStream *ist, OutputStream *ost);
|
int ist_use(InputStream *ist, int decoding_needed,
|
||||||
|
const ViewSpecifier *vs, SchedulerNode *src);
|
||||||
int ist_filter_add(InputStream *ist, InputFilter *ifilter, int is_simple,
|
int ist_filter_add(InputStream *ist, InputFilter *ifilter, int is_simple,
|
||||||
const ViewSpecifier *vs, InputFilterOptions *opts,
|
const ViewSpecifier *vs, InputFilterOptions *opts,
|
||||||
SchedulerNode *src);
|
SchedulerNode *src);
|
||||||
|
@ -873,8 +873,8 @@ void ifile_close(InputFile **pf)
|
|||||||
av_freep(pf);
|
av_freep(pf);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ist_use(InputStream *ist, int decoding_needed,
|
int ist_use(InputStream *ist, int decoding_needed,
|
||||||
const ViewSpecifier *vs, SchedulerNode *src)
|
const ViewSpecifier *vs, SchedulerNode *src)
|
||||||
{
|
{
|
||||||
Demuxer *d = demuxer_from_ifile(ist->file);
|
Demuxer *d = demuxer_from_ifile(ist->file);
|
||||||
DemuxStream *ds = ds_from_ist(ist);
|
DemuxStream *ds = ds_from_ist(ist);
|
||||||
@ -974,19 +974,6 @@ static int ist_use(InputStream *ist, int decoding_needed,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int ist_output_add(InputStream *ist, OutputStream *ost)
|
|
||||||
{
|
|
||||||
DemuxStream *ds = ds_from_ist(ist);
|
|
||||||
SchedulerNode src;
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
ret = ist_use(ist, ost->enc ? DECODING_FOR_OST : 0, NULL, &src);
|
|
||||||
if (ret < 0)
|
|
||||||
return ret;
|
|
||||||
|
|
||||||
return ost->enc ? ds->sch_idx_dec : ds->sch_idx_stream;
|
|
||||||
}
|
|
||||||
|
|
||||||
int ist_filter_add(InputStream *ist, InputFilter *ifilter, int is_simple,
|
int ist_filter_add(InputStream *ist, InputFilter *ifilter, int is_simple,
|
||||||
const ViewSpecifier *vs, InputFilterOptions *opts,
|
const ViewSpecifier *vs, InputFilterOptions *opts,
|
||||||
SchedulerNode *src)
|
SchedulerNode *src)
|
||||||
|
@ -1537,18 +1537,19 @@ static int ost_add(Muxer *mux, const OptionsContext *o, enum AVMediaType type,
|
|||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
goto fail;
|
goto fail;
|
||||||
} else if (ost->ist) {
|
} else if (ost->ist) {
|
||||||
int sched_idx = ist_output_add(ost->ist, ost);
|
SchedulerNode src;
|
||||||
if (sched_idx < 0) {
|
|
||||||
|
ret = ist_use(ost->ist, !!ost->enc, NULL, &src);
|
||||||
|
if (ret < 0) {
|
||||||
av_log(ost, AV_LOG_ERROR,
|
av_log(ost, AV_LOG_ERROR,
|
||||||
"Error binding an input stream\n");
|
"Error binding an input stream\n");
|
||||||
ret = sched_idx;
|
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
ms->sch_idx_src = sched_idx;
|
ms->sch_idx_src = src.idx;
|
||||||
|
|
||||||
if (ost->enc) {
|
if (ost->enc) {
|
||||||
ret = sch_connect(mux->sch, SCH_DEC_OUT(sched_idx, 0),
|
ret = sch_connect(mux->sch,
|
||||||
SCH_ENC(ms->sch_idx_enc));
|
src, SCH_ENC(ms->sch_idx_enc));
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
@ -1557,8 +1558,8 @@ static int ost_add(Muxer *mux, const OptionsContext *o, enum AVMediaType type,
|
|||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
goto fail;
|
goto fail;
|
||||||
} else {
|
} else {
|
||||||
ret = sch_connect(mux->sch, SCH_DSTREAM(ost->ist->file->index, sched_idx),
|
ret = sch_connect(mux->sch,
|
||||||
SCH_MSTREAM(ost->file->index, ms->sch_idx));
|
src, SCH_MSTREAM(ost->file->index, ms->sch_idx));
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user