• Nirbheek Chauhan's avatar
    audio-converter: Fix resampling when there's nothing to output · 47117324
    Nirbheek Chauhan authored and Tim-Philipp Müller's avatar Tim-Philipp Müller committed
    Sometimes we can't output anything because we don't have enough
    incoming frames. In that case, the resampler was trying to call
    do_quantize() and do_resample() in a loop forever because there would
    never be samples to output (so chain->samples would always be NULL).
    Fix this by not calling chain->make_func() in a loop -- seems
    completely unnecessary since calling it over and over won't change
    anything if the make_func() can't output samples.
    Also add some checks for the input and / or output being NULL when
    doing conversion or quantization. This will happen when we have
    nothing to output.
    We can't bail early, because we need resampler->samples_avail to be
    updated in gst_audio_resampler_resample(), so we must call that and
    no-op everything along the way.
    Part-of: <!1289>