SDL_Mixer and FFmpeg

I have the following ffmpeg code:

AVPacket packet;
AVFrame* frame = av_frame_alloc();
std::vector<uint8_t> pcm_buffer;
uint8_t* resampled_data;
int out_samples = 0;    

while (av_read_frame(format_ctx, &packet) >= 0) {
        if (packet.stream_index == audio_stream_index) {
            if (avcodec_send_packet(codec_ctx, &packet) >= 0) {
               while (avcodec_receive_frame(codec_ctx, frame) >= 0) {
                    out_samples = swr_get_out_samples(swr_ctx, frame->nb_samples);
                    av_samples_alloc(&resampled_data, nullptr, 2, out_samples, AV_SAMPLE_FMT_S16, 0);
    
                    int converted_samples = swr_convert(swr_ctx, &resampled_data, out_samples, (const uint8_t**)frame->data, frame->nb_samples);
    
                    int buffer_size = av_samples_get_buffer_size(nullptr, 2, converted_samples, AV_SAMPLE_FMT_S16, 0);
                    pcm_buffer.insert(pcm_buffer.end(), resampled_data, resampled_data + buffer_size);
                    av_freep(&resampled_data);
                }
            }
        }
        av_packet_unref(&packet);
    }

And to play the audio I have this code:

int main(int argc, char* argv[]) {
    if (SDL_Init(SDL_INIT_AUDIO) < 0) {
        std::cerr << "Error al inicializar SDL: " << SDL_GetError() << std::endl;
        return 1;
    }

    if (Mix_OpenAudio(44100, MIX_DEFAULT_FORMAT, 2, 4096) < 0) {
        std::cerr << "Error al inicializar SDL_mixer: " << Mix_GetError() << std::endl;
        SDL_Quit();
        return 1;
    }

    if (!pcm_buffer.empty()) {
        Mix_Chunk* sound_chunk = Mix_QuickLoad_RAW(pcm_buffer.data(), pcm_buffer.size());

        if (sound_chunk == nullptr) {
            std::cerr << "Error al cargar datos RAW en Mix_Chunk: " << Mix_GetError() << std::endl;
        } else {
            // Reproducir el sonido
            std::cout << "Reproduciendo audio..." << std::endl;
            Mix_PlayChannel(-1, sound_chunk, 0);

            // Esperar mientras se reproduce
            while (Mix_Playing(-1)) {
                SDL_Delay(100);
            }

            // Liberar el chunk
            Mix_FreeChunk(sound_chunk);
        }
    }

    return 0;
}

Basically, the audio plays until the entire file is read. My question is, can SDL_Mixer be used to read the audio in real time through ffmpeg?

Thank you.