trisquel-icecat/icecat/third_party/rust/audio_thread_priority
2025-07-17 09:32:21 -06:00
..
src icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00
.cargo-checksum.json icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00
atp_test.cpp icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00
audio_thread_priority.h icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00
Cargo.toml icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00
generate_osx_bindings.sh icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00
LICENSE icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00
Makefile icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00
README.md icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00

audio_thread_priority

Synopsis:


use audio_thread_priority::{promote_current_thread_to_real_time, demote_current_thread_from_real_time};

// ... on a thread that will compute audio and has to be real-time:
match promote_current_thread_to_real_time(512, 44100) {
  Ok(h) => {
    println!("this thread is now bumped to real-time priority.");

    // Do some real-time work...

    match demote_current_thread_from_real_time(h) {
      Ok(_) => {
        println!("this thread is now bumped back to normal.")
      }
      Err(_) => {
        println!("Could not bring the thread back to normal priority.")
      }
    };
  }
  Err(e) => {
    eprintln!("Error promoting thread to real-time: {}", e);
  }
}

This library can also be used from C or C++ using the included header and compiling the rust code in the application. By default, a .a is compiled to ease linking.

License

MPL-2