History

lavfi: move AVFilterLink.m{ax,in}_samples to FilterLink

Also, document who sets these fields and when.

Anton Khirnov committed 2 years ago

Commit 99ee7a91 parent 54754ee7 files · +40 −27Browse files

Showing the changes to libavfilter/avfilter.c (1 of 7 files). Show all

Unified · Split

libavfilter/avfilter.c+7−6
@@ -1077,14 +1077,15 @@ static int samples_ready(FilterLinkInternal *link, unsigned min) · 1076 unmodified lines
1077static int take_samples(FilterLinkInternal *li, unsigned min, unsigned max,1077static int take_samples(FilterLinkInternal *li, unsigned min, unsigned max,
1078 AVFrame **rframe)1078 AVFrame **rframe)
1079{1079{
1080 AVFilterLink *link = &li->l.pub;1080 FilterLink *l = &li->l;
1081 AVFilterLink *link = &l->pub;
1081 AVFrame *frame0, *frame, *buf;1082 AVFrame *frame0, *frame, *buf;
1082 unsigned nb_samples, nb_frames, i, p;1083 unsigned nb_samples, nb_frames, i, p;
1083 int ret;1084 int ret;
1084 1085
1085 /* Note: this function relies on no format changes and must only be1086 /* Note: this function relies on no format changes and must only be
1086 called with enough samples. */1087 called with enough samples. */
1087 av_assert1(samples_ready(li, link->min_samples));1088 av_assert1(samples_ready(li, l->min_samples));
1088 frame0 = frame = ff_framequeue_peek(&li->fifo, 0);1089 frame0 = frame = ff_framequeue_peek(&li->fifo, 0);
1089 if (!li->fifo.samples_skipped && frame->nb_samples >= min && frame->nb_samples <= max) {1090 if (!li->fifo.samples_skipped && frame->nb_samples >= min && frame->nb_samples <= max) {
1090 *rframe = ff_framequeue_take(&li->fifo);1091 *rframe = ff_framequeue_take(&li->fifo);
@@ -1142,8 +1143,8 @@ static int ff_filter_frame_to_filter(AVFilterLink *link) · 51 unmodified lines
1142 int ret;1143 int ret;
1143 1144
1144 av_assert1(ff_framequeue_queued_frames(&li->fifo));1145 av_assert1(ff_framequeue_queued_frames(&li->fifo));
1145 ret = link->min_samples ?1146 ret = li->l.min_samples ?
1146 ff_inlink_consume_samples(link, link->min_samples, link->max_samples, &frame) :1147 ff_inlink_consume_samples(link, li->l.min_samples, li->l.max_samples, &frame) :
1147 ff_inlink_consume_frame(link, &frame);1148 ff_inlink_consume_frame(link, &frame);
1148 av_assert1(ret);1149 av_assert1(ret);
1149 if (ret < 0) {1150 if (ret < 0) {
@@ -1218,8 +1219,8 @@ static int ff_filter_activate_default(AVFilterContext *filter) · 68 unmodified lines
1218 }1219 }
1219 1220
1220 for (i = 0; i < filter->nb_inputs; i++) {1221 for (i = 0; i < filter->nb_inputs; i++) {
1221 if (samples_ready(ff_link_internal(filter->inputs[i]),1222 FilterLinkInternal *li = ff_link_internal(filter->inputs[i]);
1222 filter->inputs[i]->min_samples)) {1223 if (samples_ready(li, li->l.min_samples)) {
1223 return ff_filter_frame_to_filter(filter->inputs[i]);1224 return ff_filter_frame_to_filter(filter->inputs[i]);
1224 }1225 }
1225 }1226 }

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t