const char *swresample_license(void)
{
#define LICENSE_PREFIX "libswresample license: "
- return LICENSE_PREFIX FFMPEG_LICENSE + sizeof(LICENSE_PREFIX) - 1;
+ return &LICENSE_PREFIX FFMPEG_LICENSE[sizeof(LICENSE_PREFIX) - 1];
}
int swr_set_channel_mapping(struct SwrContext *s, const int *channel_map){
return AVERROR(EINVAL);
}
+ if(s-> in_sample_rate <= 0){
+ av_log(s, AV_LOG_ERROR, "Requested input sample rate %d is invalid\n", s->in_sample_rate);
+ return AVERROR(EINVAL);
+ }
+ if(s->out_sample_rate <= 0){
+ av_log(s, AV_LOG_ERROR, "Requested output sample rate %d is invalid\n", s->out_sample_rate);
+ return AVERROR(EINVAL);
+ }
s->out.ch_count = s-> user_out_ch_count;
s-> in.ch_count = s-> user_in_ch_count;
s->used_ch_count = s->user_used_ch_count;
av_assert0(s->used_ch_count);
av_assert0(s->out.ch_count);
- s->resample_first= RSC*s->out.ch_count/s->in.ch_count - RSC < s->out_sample_rate/(float)s-> in_sample_rate - 1.0;
+ s->resample_first= RSC*s->out.ch_count/s->used_ch_count - RSC < s->out_sample_rate/(float)s-> in_sample_rate - 1.0;
s->in_buffer= s->in;
s->silence = s->in;