...
|
...
|
@@ -141,14 +141,18 @@ void *FF_Resample_Send_And_Get_ResampleData(struct AudioDealInfo *AD_Info, unsig |
|
|
|
|
|
struct pcm_Resample *ResampleInfo = (struct pcm_Resample *)AD_Info->ResampleInfo;
|
|
|
|
|
|
//按采样率缩放样本数量
|
|
|
*out_nb_samples = av_rescale_rnd(nb_samples, ResampleInfo->Out_SampleRate, ResampleInfo->In_SampleRate, AV_ROUND_UP);
|
|
|
//printf("重采样得到的预计输出样本数量为%d\n",*out_nb_samples);
|
|
|
|
|
|
//放置输出数据的数组
|
|
|
ret = av_samples_alloc(&dst, NULL, 2, *out_nb_samples, AV_SAMPLE_FMT_S16, 0);
|
|
|
if (ret < 0) {
|
|
|
printf("[ERROR][Resample]av_samples_alloc failed\n");
|
|
|
return NULL;
|
|
|
}
|
|
|
|
|
|
//重采样
|
|
|
ret = swr_convert(ResampleInfo->m_swr, &dst, *out_nb_samples, (const uint8_t**)src, nb_samples);
|
|
|
if (ret < 0) {
|
|
|
printf("[ERROR][Resample]swr_convert failed\n");
|
...
|
...
|
|