Commit 1cbb7548 authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

Fluidsynth: use native FL32 format, avoid converting to 16 bits and back

parent a2ae519c
...@@ -81,8 +81,8 @@ static int Open (vlc_object_t *p_this) ...@@ -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_original_channels =
p_dec->fmt_out.audio.i_physical_channels = p_dec->fmt_out.audio.i_physical_channels =
AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT; AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT;
p_dec->fmt_out.i_codec = AOUT_FMT_S16_NE; p_dec->fmt_out.i_codec = VLC_FOURCC('f', 'l', '3', '2');
p_dec->fmt_out.audio.i_bitspersample = 16; p_dec->fmt_out.audio.i_bitspersample = 32;
p_dec->pf_decode_audio = DecodeBlock; p_dec->pf_decode_audio = DecodeBlock;
p_sys = p_dec->p_sys = malloc (sizeof (*p_sys)); 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) ...@@ -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->start_date = aout_DateGet (&p_sys->end_date );
p_out->end_date = aout_DateIncrement (&p_sys->end_date, samples); p_out->end_date = aout_DateIncrement (&p_sys->end_date, samples);
fluid_synth_write_s16 (p_sys->synth, samples, fluid_synth_write_float (p_sys->synth, samples,
(int16_t *)p_out->p_buffer, 0, 2, p_out->p_buffer, 0, 2,
(int16_t *)p_out->p_buffer, 1, 2); p_out->p_buffer, 1, 2);
return p_out; return p_out;
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment