Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ mach = "0.3"
libc = "0.2"

[target.'cfg(target_os = "windows")'.dependencies.windows-sys]
version = "0.52"
version = "0.59"
features = [
"Win32_Foundation",
"Win32_System_LibraryLoader",
Expand Down
10 changes: 5 additions & 5 deletions src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -454,7 +454,7 @@ pub extern "C" fn atp_set_real_time_limit(audio_buffer_frames: u32,
/// # Arguments
///
/// * `audio_buffer_frames` - the exact or an upper limit on the number of frames that have to be
/// rendered each callback, or 0 for a sensible default value.
/// rendered each callback, or 0 for a sensible default value.
/// * `audio_samplerate_hz` - the sample-rate for this audio stream, in Hz.
///
/// # Return value
Expand All @@ -476,7 +476,7 @@ pub fn promote_current_thread_to_real_time(
/// # Arguments
///
/// * `handle` - An opaque struct returned from a successful call to
/// `promote_current_thread_to_real_time`.
/// `promote_current_thread_to_real_time`.
///
/// # Return value
///
Expand All @@ -496,7 +496,7 @@ pub struct atp_handle(RtPriorityHandle);
/// # Arguments
///
/// * `audio_buffer_frames` - the exact or an upper limit on the number of frames that have to be
/// rendered each callback, or 0 for a sensible default value.
/// rendered each callback, or 0 for a sensible default value.
/// * `audio_samplerate_hz` - the sample-rate for this audio stream, in Hz.
///
/// # Return value
Expand Down Expand Up @@ -524,7 +524,7 @@ pub extern "C" fn atp_promote_current_thread_to_real_time(
/// # Arguments
///
/// * `atp_handle` - An opaque struct returned from a successful call to
/// `atp_promote_current_thread_to_real_time`.
/// `atp_promote_current_thread_to_real_time`.
///
/// # Return value
///
Expand Down Expand Up @@ -554,7 +554,7 @@ pub unsafe extern "C" fn atp_demote_current_thread_from_real_time(handle: *mut a
/// # Arguments
///
/// * `atp_handle` - An opaque struct returned from a successful call to
/// `atp_promote_current_thread_to_real_time`.
/// `atp_promote_current_thread_to_real_time`.
///
/// # Return value
///
Expand Down
21 changes: 13 additions & 8 deletions src/rt_win.rs
Original file line number Diff line number Diff line change
Expand Up @@ -94,14 +94,16 @@ mod avrt_lib {
pub(super) fn try_new() -> Result<Self, WIN32_ERROR> {
let module = OwnedLibrary::try_new(w!("avrt.dll"))?;
let av_set_mm_thread_characteristics_w = unsafe {
std::mem::transmute::<_, AvSetMmThreadCharacteristicsWFn>(
module.get_proc(s!("AvSetMmThreadCharacteristicsW"))?,
)
std::mem::transmute::<
unsafe extern "system" fn() -> isize,
AvSetMmThreadCharacteristicsWFn,
>(module.get_proc(s!("AvSetMmThreadCharacteristicsW"))?)
};
let av_revert_mm_thread_characteristics = unsafe {
std::mem::transmute::<_, AvRevertMmThreadCharacteristicsFn>(
module.get_proc(s!("AvRevertMmThreadCharacteristics"))?,
)
std::mem::transmute::<
unsafe extern "system" fn() -> isize,
AvRevertMmThreadCharacteristicsFn,
>(module.get_proc(s!("AvRevertMmThreadCharacteristics"))?)
};
Ok(Self {
module,
Expand Down Expand Up @@ -135,7 +137,7 @@ mod avrt_lib {
let task_handle = unsafe {
(self.av_set_mm_thread_characteristics_w)(task_name, &mut mmcss_task_index)
};
win32_error_if(task_handle == 0)?;
win32_error_if(task_handle.is_null())?;
Ok((mmcss_task_index, task_handle))
}

Expand Down Expand Up @@ -172,7 +174,7 @@ mod win32_utils {
impl OwnedLibrary {
pub(super) fn try_new(lib_file_name: PCWSTR) -> Result<Self, WIN32_ERROR> {
let module = unsafe { LoadLibraryW(lib_file_name) };
win32_error_if(module == 0)?;
win32_error_if(module.is_null())?;
Ok(Self(module))
}

Expand All @@ -199,6 +201,9 @@ mod win32_utils {
}
}
}

unsafe impl Send for OwnedLibrary {}
unsafe impl Sync for OwnedLibrary {}
}

#[cfg(test)]
Expand Down
Loading