0

サンプルレートを AV_SAMPLE_FMT_FLTP から AV_SAMPLE_FMT_S16 に変換して openAL を再生すると、次のエラーが発生します ( http://joxi.ru/B_JkUdg5CbDrWhe9oNI )

CONV_FUNC (AV_SAMPLE_FMT_S16, int16_t, AV_SAMPLE_FMT_FLT, av_clip_int16 (lrintf (* (const float *) pi * (1 << 15))))

ファイル audioconvert.c で

私のコード

swrContext = swr_alloc();
av_opt_set_int(swrContext, "in_channel_layout",  cc->channel_layout, 0);
av_opt_set_int(swrContext, "out_channel_layout", cc->channel_layout,  0);
av_opt_set_int(swrContext, "in_sample_rate",     cc->sample_rate, 0);
av_opt_set_int(swrContext, "out_sample_rate",    cc->sample_rate, 0);
av_opt_set_sample_fmt(swrContext, "in_sample_fmt",  cc->sample_fmt, 0);
av_opt_set_sample_fmt(swrContext, "out_sample_fmt", AV_SAMPLE_FMT_S16P,  0);
swr_init(swrContext);

uint8_t *output;
int out_samples = (int)av_rescale_rnd(swr_get_delay(swrContext, 44100) + (int64_t)decoded_frame->nb_samples, 44100, 44100, AV_ROUND_UP);
swr_convert(swrContext, &output, out_samples, (const uint8_t **)decoded_frame->extended_data, decoded_frame->nb_samples); //error
alBufferData(BufID,AL_FORMAT_STEREO16,output, decsize,44100);

他の解決策があるかもしれませんか?

他の解決策があるかもしれませんか?サンプルレートを AV_SAMPLE_FMT_FLTP から AV_SAMPLE_FMT_S16 に変換する方法を実行していますか?

4

1 に答える 1

0

問題が出力された問題に急いで

uint8_t * output [x];
  • エラーがなくなりました
于 2013-04-10T12:07:06.473 に答える