1
0
mirror of https://github.com/marek-g/it9910hd_fusefs.git synced 2026-05-06 02:11:10 +09:00

Better support for unknown devices. Cleanup build warnings.

This commit is contained in:
Marek G
2021-07-02 08:22:07 +02:00
parent 62293cb45b
commit a76832fcc3
2 changed files with 14 additions and 6 deletions

View File

@@ -93,6 +93,7 @@ impl IT9910Driver {
Ok(()) Ok(())
} }
#[allow(dead_code)]
fn debug_query_time(&mut self, time: i32) -> Result<i32, String> { fn debug_query_time(&mut self, time: i32) -> Result<i32, String> {
let mut buf = [0u8; 16 + 4]; let mut buf = [0u8; 16 + 4];
@@ -107,6 +108,7 @@ impl IT9910Driver {
Ok(result_time) Ok(result_time)
} }
#[allow(dead_code)]
fn get_source(&mut self) -> Result<(i32, i32), String> { fn get_source(&mut self) -> Result<(i32, i32), String> {
let mut buf = [0u8; 16 + 4 * 2]; let mut buf = [0u8; 16 + 4 * 2];
@@ -230,7 +232,7 @@ impl IT9910Driver {
Ok(result) Ok(result)
} }
fn get_hw_grabber(&mut self) -> Result<(i32), String> { fn get_hw_grabber(&mut self) -> Result<i32, String> {
let mut buf = [0u8; 16 + 4 * 35 + 2]; let mut buf = [0u8; 16 + 4 * 35 + 2];
write_le_u32(&mut buf[16..20], 8); write_le_u32(&mut buf[16..20], 8);
@@ -243,7 +245,12 @@ impl IT9910Driver {
0x17 => 0, 0x17 => 0,
0x27 => 1, 0x27 => 1,
0x37 => 2, 0x37 => 2,
_ => -1,
// MyGica HD Cap X-II returs 0 here and has multiple inputs (HDMI / YpbPr / CVBS)
0x00 => 2,
// unknown device - let's assume it can switch inputs
_ => 2,
}; };
Ok(device_model) Ok(device_model)
@@ -354,6 +361,7 @@ fn write_le_i32(dest: &mut [u8], val: i32) {
dest[3] = res[3]; dest[3] = res[3];
} }
#[allow(dead_code)]
fn read_le_u32(input: &[u8]) -> u32 { fn read_le_u32(input: &[u8]) -> u32 {
u32::from_le_bytes([input[0], input[1], input[2], input[3]]) u32::from_le_bytes([input[0], input[1], input[2], input[3]])
} }

View File

@@ -338,11 +338,11 @@ impl Filesystem for IT9910FS {
println!("Close device"); println!("Close device");
if let Some(terminate_sender) = &self.terminate_sender { if let Some(terminate_sender) = &self.terminate_sender {
terminate_sender.send(()); terminate_sender.send(()).unwrap();
} }
if let Some(thread_ended_receiver) = &self.thread_ended_receiver { if let Some(thread_ended_receiver) = &self.thread_ended_receiver {
thread_ended_receiver.recv(); thread_ended_receiver.recv().unwrap();
} }
} }
@@ -387,7 +387,7 @@ pub fn run(
let len = it_driver.read_data(&mut buf)?; let len = it_driver.read_data(&mut buf)?;
unsafe { vec.set_len(len) }; unsafe { vec.set_len(len) };
sender.send(vec); sender.send(vec).unwrap();
if len < 16384 { if len < 16384 {
break; break;
@@ -404,7 +404,7 @@ pub fn run(
return Err(format!("Problem when stopping IT9910 device: {}", err)); return Err(format!("Problem when stopping IT9910 device: {}", err));
} }
thread_ended_sender.send(()); thread_ended_sender.send(()).unwrap();
Ok(()) Ok(())
} }