[vlc-devel] [RFC PATH 0/3] decoder: who should call	aout_FormatPrepare ?
    Thomas Guillem 
    thomas at gllm.fr
       
    Wed Sep 21 16:58:53 CEST 2016
    
    
  
There is a crash in mpg123 if the aout is kept between 2 inputs.
The following code:
p_dec->fmt_out.audio.i_bytes_per_frame = p_owner->fmt.audio.i_bytes_per_frame;
p_dec->fmt_out.audio.i_frame_length = p_owner->fmt.audio.i_frame_length;
from aout_udpate_format() won't be called since the aout is not re-created
(identical). As a result, there will be a division by zero in
decoder_NewAudioBuffer().
The problem is quite simple to solve, but I have a question:
Who should be responsible for setting i_bytes_per_frame, and i_frame_length (or
calling aout_FormatPrepare()) ? Decoder modules or the decoder thread ?
Regards,
Thomas Guillem.
Thomas Guillem (3):
  decoder: assert if aout format is not prepared
  mpg123: prepare audio format
  decoder: prepare format in decoder_NewAudioBuffer
 modules/codec/mpg123.c |  1 +
 src/input/decoder.c    | 10 +++++-----
 2 files changed, 6 insertions(+), 5 deletions(-)
-- 
2.9.3
    
    
More information about the vlc-devel
mailing list