Загрузка данных


void media_reinit_worker(struct k_work *work)
{
    printf("[WORKER] Safe async media sub-system swap to %u Hz started...\n", target_codec_rate);
    
    zephyr_i2s_stop(1);
    zephyr_i2s_stop(0);
    k_msleep(10); // Спокойно даем потокам завершиться

    pjsua_media_subsys_destroy(0);

    if (zephyr_i2s_set_rate(target_codec_rate) >= 0) {
        current_bridge_rate = target_codec_rate;
    }

    pjsua_media_config media_cfg;
    pjsua_media_config_default(&media_cfg);
    media_cfg.clock_rate = current_bridge_rate;     
    media_cfg.snd_clock_rate = current_bridge_rate; 
    
    pjsua_media_subsys_init(&media_cfg);
    pjsua_media_subsys_start();
    
    printf("[WORKER] Sub-system hot-swap complete!\n");
}