Fix unable to close / exit the application until the application "init" phase finishes #112
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem Description
Right now when you start the app, two non-daemon / "blocking" threads are started - check ffmpeg and "init casts".
Those two threads "block" the main GUI loop which means if you press CTRL+C / "x" button, application won't exit until those two threads finish.
Init casts thread discovers Chromecasts on the local network which means it can take quite a while to finish and as mentioned above, you can't "gracefully" exit / close the application until it finishes.
Proposed Solution
This pull request fixes that by making those two threads daemon threads.
This means CTRL + C / "x" button will work as expected and the application will exit immediately.
There are also other possible approaches, but this one is the simplest and less invasive with the correct end result.