MCPcopy Create free account
hub / github.com/RPCSX/rpcsx / configure_audio

Function configure_audio

ps3fw/cellAudio.cpp:636–664  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

634 }
635
636 void configure_audio(bool force_reset)
637 {
638 if (g_cfg.audio.provider != audio_provider::cell_audio)
639 {
640 return;
641 }
642
643 if (auto& g_audio = g_fxo->get<cell_audio>(); g_fxo->is_init<cell_audio>())
644 {
645 // Only reboot the audio renderer if a relevant setting changed
646 const cell_audio_config::raw_config new_raw = get_raw_config();
647
648 if (const cell_audio_config::raw_config raw = g_audio.cfg.raw;
649 force_reset ||
650 raw.audio_device != new_raw.audio_device ||
651 raw.desired_buffer_duration != new_raw.desired_buffer_duration ||
652 raw.buffering_enabled != new_raw.buffering_enabled ||
653 raw.time_stretching_threshold != new_raw.time_stretching_threshold ||
654 raw.enable_time_stretching != new_raw.enable_time_stretching ||
655 raw.convert_to_s16 != new_raw.convert_to_s16 ||
656 raw.renderer != new_raw.renderer ||
657 raw.dump_to_file != new_raw.dump_to_file)
658 {
659 std::lock_guard lock{g_audio.emu_cfg_upd_m};
660 g_audio.cfg.new_raw = new_raw;
661 g_audio.m_update_configuration = raw.renderer != new_raw.renderer ? audio_backend_update::ALL : audio_backend_update::PARAM;
662 }
663 }
664 }
665} // namespace audio
666
667void cell_audio_thread::update_config(bool backend_changed)

Callers 1

cellAudioOutConfigureFunction · 0.85

Calls 1

get_raw_configFunction · 0.85

Tested by

no test coverage detected