+int swr_get_out_samples(struct SwrContext *s, int in_samples)
+{
+ int64_t out_samples;
+
+ if (in_samples < 0)
+ return AVERROR(EINVAL);
+
+ if (s->resampler && s->resample) {
+ if (!s->resampler->get_out_samples)
+ return AVERROR(ENOSYS);
+ out_samples = s->resampler->get_out_samples(s, in_samples);
+ } else {
+ out_samples = s->in_buffer_count + in_samples;
+ av_assert0(s->out_sample_rate == s->in_sample_rate);
+ }
+
+ if (out_samples > INT_MAX)
+ return AVERROR(EINVAL);
+
+ return out_samples;
+}
+