int spectogram_count;
int spectogram_index;
int fft_bits;
- int req_fullfilled;
int remaining_fill;
char *tlength;
char *volume;
static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_RGB24, AV_PIX_FMT_NONE };
static const int64_t channel_layouts[] = { AV_CH_LAYOUT_STEREO, AV_CH_LAYOUT_STEREO_DOWNMIX, -1 };
static const int samplerates[] = { 44100, 48000, -1 };
+ int ret;
/* set input audio formats */
formats = ff_make_format_list(sample_fmts);
- if (!formats)
- return AVERROR(ENOMEM);
- ff_formats_ref(formats, &inlink->out_formats);
+ if ((ret = ff_formats_ref(formats, &inlink->out_formats)) < 0)
+ return ret;
layouts = avfilter_make_format64_list(channel_layouts);
- if (!layouts)
- return AVERROR(ENOMEM);
- ff_channel_layouts_ref(layouts, &inlink->out_channel_layouts);
+ if ((ret = ff_channel_layouts_ref(layouts, &inlink->out_channel_layouts)) < 0)
+ return ret;
formats = ff_make_format_list(samplerates);
- if (!formats)
- return AVERROR(ENOMEM);
- ff_formats_ref(formats, &inlink->out_samplerates);
+ if ((ret = ff_formats_ref(formats, &inlink->out_samplerates)) < 0)
+ return ret;
/* set output video format */
formats = ff_make_format_list(pix_fmts);
- if (!formats)
- return AVERROR(ENOMEM);
- ff_formats_ref(formats, &outlink->in_formats);
+ if ((ret = ff_formats_ref(formats, &outlink->in_formats)) < 0)
+ return ret;
return 0;
}
outlink->w = video_width;
outlink->h = video_height;
- s->req_fullfilled = 0;
s->spectogram_index = 0;
s->frame_count = 0;
s->spectogram_count = 0;
s->outpicref->pts = s->frame_count;
ret = ff_filter_frame(outlink, av_frame_clone(s->outpicref));
- s->req_fullfilled = 1;
s->frame_count++;
}
s->spectogram_count = (s->spectogram_count + 1) % s->count;
AVFilterLink *inlink = outlink->src->inputs[0];
int ret;
- s->req_fullfilled = 0;
- do {
- ret = ff_request_frame(inlink);
- } while (!s->req_fullfilled && ret >= 0);
-
+ ret = ff_request_frame(inlink);
if (ret == AVERROR_EOF && s->outpicref)
filter_frame(inlink, NULL);
return ret;