@@ -57,7 +57,8 @@ pub use cameleon_device::u3v::DeviceInfo;
5757use cameleon_device:: u3v;
5858
5959use super :: {
60- genapi:: DefaultGenApiCtxt , CameleonResult , Camera , CameraInfo , ControlError , StreamError ,
60+ genapi:: DefaultGenApiCtxt , CameleonResult , Camera , CameraInfo , ControlError , DeviceIoError ,
61+ StreamError ,
6162} ;
6263
6364/// Enumerate all U3V compatible cameras connected to the host.
@@ -112,13 +113,15 @@ impl From<u3v::Error> for ControlError {
112113 match & err {
113114 LibUsb ( libusb_error) => match libusb_error {
114115 Io | InvalidParam | Access | Overflow | Pipe | Interrupted | NoMem
115- | NotSupported | BadDescriptor | Other => ControlError :: Io ( err. into ( ) ) ,
116+ | NotSupported | BadDescriptor | Other => {
117+ ControlError :: Io ( DeviceIoError :: from ( err) )
118+ }
116119 Busy => ControlError :: Busy ,
117120 NoDevice | NotFound => ControlError :: Disconnected ,
118121 Timeout => ControlError :: Timeout ,
119122 } ,
120123
121- BufferIo ( _) | InvalidPacket ( _) => ControlError :: Io ( err . into ( ) ) ,
124+ BufferIo ( _) | InvalidPacket ( _) => ControlError :: Io ( DeviceIoError :: from ( err ) ) ,
122125
123126 InvalidDevice => ControlError :: InvalidDevice ( "invalid device" . into ( ) ) ,
124127 }
@@ -136,11 +139,11 @@ impl From<u3v::Error> for StreamError {
136139 match & err {
137140 LibUsb ( libusb_error) => match libusb_error {
138141 Io | InvalidParam | Access | Overflow | Pipe | Interrupted | NoMem
139- | NotSupported | BadDescriptor | Busy | Other => Self :: Io ( err . into ( ) ) ,
142+ | NotSupported | BadDescriptor | Busy | Other => Self :: Io ( DeviceIoError :: from ( err ) ) ,
140143 NoDevice | NotFound => Self :: Disconnected ,
141144 Timeout => Self :: Timeout ,
142145 } ,
143- _ => Self :: Io ( err . into ( ) ) ,
146+ _ => Self :: Io ( DeviceIoError :: from ( err ) ) ,
144147 }
145148 }
146149}
0 commit comments