• Andreas Rheinhardt's avatar
    avcodec/aptx: Use AVCodecContext.frame_size according to the API · c0d483ce
    Andreas Rheinhardt authored
    Currently the APTX (HD) codecs set frame_size if unset and check
    whether it is divisible by block_size (corresponding to block_align
    as used by other codecs). But this is based upon a misunderstanding
    of the API: frame_size is not in bytes, but in samples.
    
    Said value is also not intended to be set by the user at all,
    but set by encoders and (possibly) decoders if the number of channels
    in a frame is constant. The latter condition is not fulfilled here,
    so only set it for encoders. Given that the encoder can handle any
    number of samples as long as it is divisible by four and given that
    it worked to set a custom frame size before, the encoders accept
    any multiple of four; otherwise the value is set to the value
    that it already had for APTX: 1024 samples (per channel).
    Signed-off-by: 's avatarAndreas Rheinhardt <andreas.rheinhardt@outlook.com>
    c0d483ce
aptx.c 23.4 KB