1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

ffwavesynth: convert to new channel layout API

Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
Anton Khirnov 2019-05-29 08:34:13 +02:00 committed by James Almer
parent 4d73dc14de
commit 06431f1997

View File

@ -314,7 +314,7 @@ static av_cold int wavesynth_init(AVCodecContext *avc)
struct wavesynth_context *ws = avc->priv_data;
int i, r;
if (avc->channels > WS_MAX_CHANNELS) {
if (avc->ch_layout.nb_channels > WS_MAX_CHANNELS) {
av_log(avc, AV_LOG_ERROR,
"This implementation is limited to %d channels.\n",
WS_MAX_CHANNELS);
@ -438,11 +438,11 @@ static int wavesynth_decode(AVCodecContext *avc, void *rframe, int *rgot_frame,
return r;
pcm = (int16_t *)frame->data[0];
for (s = 0; s < duration; s++, ts+=(uint64_t)1) {
memset(channels, 0, avc->channels * sizeof(*channels));
memset(channels, 0, avc->ch_layout.nb_channels * sizeof(*channels));
if (ts >= ws->next_ts)
wavesynth_enter_intervals(ws, ts);
wavesynth_synth_sample(ws, ts, channels);
for (c = 0; c < avc->channels; c++)
for (c = 0; c < avc->ch_layout.nb_channels; c++)
*(pcm++) = channels[c] >> 16;
}
ws->cur_ts += (uint64_t)duration;