updates
This commit is contained in:
@@ -133,9 +133,11 @@ impl Drive for CAbiDrive {
|
||||
fn read_timed(&mut self, buffer: Option<&mut [u8]>, begin: i64, sectors: i64) -> TimedRead {
|
||||
let started = Instant::now();
|
||||
let result = self.read_audio(buffer, begin, sectors);
|
||||
let elapsed = started.elapsed();
|
||||
TimedRead {
|
||||
result,
|
||||
milliseconds: started.elapsed().as_millis() as i32,
|
||||
milliseconds: ((elapsed.as_micros() + 500) / 1000) as i32,
|
||||
microseconds: elapsed.as_micros() as i64,
|
||||
}
|
||||
}
|
||||
fn speed_set(&mut self, speed: i32) -> i32 {
|
||||
@@ -177,6 +179,13 @@ impl Drive for CAbiDrive {
|
||||
}
|
||||
}
|
||||
}
|
||||
fn set_error_retry(&mut self, enabled: bool) {
|
||||
unsafe {
|
||||
if !self.d.is_null() {
|
||||
(*self.d).error_retry = enabled as c_int;
|
||||
}
|
||||
}
|
||||
}
|
||||
fn interface(&self) -> InterfaceKind {
|
||||
self.interface
|
||||
}
|
||||
@@ -302,6 +311,12 @@ mod tests {
|
||||
use cdrustanoia_core::device::samples_to_bytes;
|
||||
use cdrustanoia_core::device::CD_FRAMEWORDS;
|
||||
|
||||
#[test]
|
||||
fn c_abi_version_stays_cdparanoia_compatible() {
|
||||
let version = unsafe { std::ffi::CStr::from_ptr(paranoia_version()) };
|
||||
assert_eq!(version.to_str().unwrap(), "10.2");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn c_api_query_and_read() {
|
||||
unsafe {
|
||||
|
||||
Reference in New Issue
Block a user