From: RĂ©mi Denis-Courmont Date: Sun, 17 Aug 2008 07:49:05 +0000 (+0300) Subject: Fluidsynth: use native FL32 format, avoid converting to 16 bits and back X-Git-Tag: 0.9.0~263 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=1cbb7548d4020817e588359ce8cc5eb99abddc5c;p=vlc Fluidsynth: use native FL32 format, avoid converting to 16 bits and back --- diff --git a/modules/codec/fluidsynth.c b/modules/codec/fluidsynth.c index 07648b7b66..600353fa3c 100644 --- a/modules/codec/fluidsynth.c +++ b/modules/codec/fluidsynth.c @@ -81,8 +81,8 @@ static int Open (vlc_object_t *p_this) p_dec->fmt_out.audio.i_original_channels = p_dec->fmt_out.audio.i_physical_channels = AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT; - p_dec->fmt_out.i_codec = AOUT_FMT_S16_NE; - p_dec->fmt_out.audio.i_bitspersample = 16; + p_dec->fmt_out.i_codec = VLC_FOURCC('f', 'l', '3', '2'); + p_dec->fmt_out.audio.i_bitspersample = 32; p_dec->pf_decode_audio = DecodeBlock; p_sys = p_dec->p_sys = malloc (sizeof (*p_sys)); @@ -186,8 +186,8 @@ static aout_buffer_t *DecodeBlock (decoder_t *p_dec, block_t **pp_block) p_out->start_date = aout_DateGet (&p_sys->end_date ); p_out->end_date = aout_DateIncrement (&p_sys->end_date, samples); - fluid_synth_write_s16 (p_sys->synth, samples, - (int16_t *)p_out->p_buffer, 0, 2, - (int16_t *)p_out->p_buffer, 1, 2); + fluid_synth_write_float (p_sys->synth, samples, + p_out->p_buffer, 0, 2, + p_out->p_buffer, 1, 2); return p_out; }