mirror of https://git.ffmpeg.org/ffmpeg.git
fftools/ffmpeg_filter: make OutputFilter.filter private
It should not be accessed from outside of filtering code.
This commit is contained in:
parent
9a97f9cf3a
commit
75d0af388f
|
@ -283,7 +283,6 @@ typedef struct InputFilter {
|
|||
} InputFilter;
|
||||
|
||||
typedef struct OutputFilter {
|
||||
AVFilterContext *filter;
|
||||
struct OutputStream *ost;
|
||||
struct FilterGraph *graph;
|
||||
uint8_t *name;
|
||||
|
|
|
@ -137,6 +137,8 @@ static InputFilterPriv *ifp_from_ifilter(InputFilter *ifilter)
|
|||
typedef struct OutputFilterPriv {
|
||||
OutputFilter ofilter;
|
||||
|
||||
AVFilterContext *filter;
|
||||
|
||||
/* desired output stream properties */
|
||||
int format;
|
||||
int width, height;
|
||||
|
@ -1094,7 +1096,7 @@ static int configure_output_video_filter(FilterGraph *fg, OutputFilter *ofilter,
|
|||
char name[255];
|
||||
|
||||
snprintf(name, sizeof(name), "out_%d_%d", ost->file_index, ost->index);
|
||||
ret = avfilter_graph_create_filter(&ofilter->filter,
|
||||
ret = avfilter_graph_create_filter(&ofp->filter,
|
||||
avfilter_get_by_name("buffersink"),
|
||||
name, NULL, NULL, fg->graph);
|
||||
|
||||
|
@ -1150,7 +1152,7 @@ static int configure_output_video_filter(FilterGraph *fg, OutputFilter *ofilter,
|
|||
return ret;
|
||||
|
||||
|
||||
if ((ret = avfilter_link(last_filter, pad_idx, ofilter->filter, 0)) < 0)
|
||||
if ((ret = avfilter_link(last_filter, pad_idx, ofp->filter, 0)) < 0)
|
||||
return ret;
|
||||
|
||||
return 0;
|
||||
|
@ -1168,12 +1170,12 @@ static int configure_output_audio_filter(FilterGraph *fg, OutputFilter *ofilter,
|
|||
int ret;
|
||||
|
||||
snprintf(name, sizeof(name), "out_%d_%d", ost->file_index, ost->index);
|
||||
ret = avfilter_graph_create_filter(&ofilter->filter,
|
||||
ret = avfilter_graph_create_filter(&ofp->filter,
|
||||
avfilter_get_by_name("abuffersink"),
|
||||
name, NULL, NULL, fg->graph);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
if ((ret = av_opt_set_int(ofilter->filter, "all_channel_counts", 1, AV_OPT_SEARCH_CHILDREN)) < 0)
|
||||
if ((ret = av_opt_set_int(ofp->filter, "all_channel_counts", 1, AV_OPT_SEARCH_CHILDREN)) < 0)
|
||||
return ret;
|
||||
|
||||
#define AUTO_INSERT_FILTER(opt_name, filter_name, arg) do { \
|
||||
|
@ -1256,7 +1258,7 @@ static int configure_output_audio_filter(FilterGraph *fg, OutputFilter *ofilter,
|
|||
if (ret < 0)
|
||||
goto fail;
|
||||
|
||||
if ((ret = avfilter_link(last_filter, pad_idx, ofilter->filter, 0)) < 0)
|
||||
if ((ret = avfilter_link(last_filter, pad_idx, ofp->filter, 0)) < 0)
|
||||
goto fail;
|
||||
fail:
|
||||
av_bprint_finalize(&args, NULL);
|
||||
|
@ -1504,7 +1506,7 @@ static void cleanup_filtergraph(FilterGraph *fg)
|
|||
{
|
||||
int i;
|
||||
for (i = 0; i < fg->nb_outputs; i++)
|
||||
fg->outputs[i]->filter = (AVFilterContext *)NULL;
|
||||
ofp_from_ofilter(fg->outputs[i])->filter = NULL;
|
||||
for (i = 0; i < fg->nb_inputs; i++)
|
||||
ifp_from_ifilter(fg->inputs[i])->filter = NULL;
|
||||
avfilter_graph_free(&fg->graph);
|
||||
|
@ -1609,7 +1611,7 @@ static int configure_filtergraph(FilterGraph *fg)
|
|||
for (i = 0; i < fg->nb_outputs; i++) {
|
||||
OutputFilter *ofilter = fg->outputs[i];
|
||||
OutputFilterPriv *ofp = ofp_from_ofilter(ofilter);
|
||||
AVFilterContext *sink = ofilter->filter;
|
||||
AVFilterContext *sink = ofp->filter;
|
||||
|
||||
ofp->format = av_buffersink_get_format(sink);
|
||||
|
||||
|
@ -1739,9 +1741,9 @@ int reap_filters(int flush)
|
|||
|
||||
if (!ost->filter || !ost->filter->graph->graph)
|
||||
continue;
|
||||
filter = ost->filter->filter;
|
||||
fgp = fgp_from_fg(ost->filter->graph);
|
||||
ofp = ofp_from_ofilter(ost->filter);
|
||||
filter = ofp->filter;
|
||||
|
||||
filtered_frame = fgp->frame;
|
||||
|
||||
|
|
Loading…
Reference in New Issue