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");
}