mirror of
https://github.com/gnif/LookingGlass.git
synced 2025-12-21 12:10:15 +00:00
[host] simplify capture logic and fix re-init bug
This commit is contained in:
@@ -128,10 +128,28 @@ int run(struct StartupArgs & args)
|
||||
if (!svc->Initialize(captureDevice))
|
||||
return -1;
|
||||
|
||||
while (true)
|
||||
int retry = 0;
|
||||
bool running = true;
|
||||
while (running)
|
||||
{
|
||||
if (!svc->Process())
|
||||
break;
|
||||
switch (svc->Process())
|
||||
{
|
||||
case PROCESS_STATUS_OK:
|
||||
retry = 0;
|
||||
break;
|
||||
|
||||
case PROCESS_STATUS_RETRY:
|
||||
if (retry++ == 3)
|
||||
{
|
||||
fprintf(stderr, "Too many consecutive retries, aborting");
|
||||
running = false;
|
||||
}
|
||||
break;
|
||||
|
||||
case PROCESS_STATUS_ERROR:
|
||||
fprintf(stderr, "Capture process returned error");
|
||||
running = false;
|
||||
}
|
||||
}
|
||||
|
||||
svc->DeInitialize();
|
||||
|
||||
Reference in New Issue
Block a user