mirror of
https://github.com/sparrowwallet/sparrow.git
synced 2024-12-24 12:46:45 +00:00
avoid hang on closing webcam due to rescans for new camera devices
This commit is contained in:
parent
f691f1691e
commit
2f153686dd
1 changed files with 12 additions and 6 deletions
|
@ -8,15 +8,21 @@ import java.util.ArrayList;
|
|||
import java.util.List;
|
||||
|
||||
public class WebcamScanDriver extends WebcamDefaultDriver {
|
||||
private List<WebcamDevice> foundScanDevices;
|
||||
|
||||
@Override
|
||||
public List<WebcamDevice> getDevices() {
|
||||
List<WebcamDevice> devices = super.getDevices();
|
||||
List<WebcamDevice> scanDevices = new ArrayList<>();
|
||||
for(WebcamDevice device : devices) {
|
||||
WebcamDefaultDevice defaultDevice = (WebcamDefaultDevice)device;
|
||||
scanDevices.add(new WebcamScanDevice(defaultDevice.getDeviceRef()));
|
||||
if(foundScanDevices == null || foundScanDevices.isEmpty()) {
|
||||
List<WebcamDevice> devices = super.getDevices();
|
||||
List<WebcamDevice> scanDevices = new ArrayList<>();
|
||||
for(WebcamDevice device : devices) {
|
||||
WebcamDefaultDevice defaultDevice = (WebcamDefaultDevice)device;
|
||||
scanDevices.add(new WebcamScanDevice(defaultDevice.getDeviceRef()));
|
||||
}
|
||||
|
||||
foundScanDevices = scanDevices;
|
||||
}
|
||||
|
||||
return scanDevices;
|
||||
return foundScanDevices;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue