Fix context propagation and work cancellation #20
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.
Addresses #16. It also contains the changes from #19 as it builds up on it. Please let me know if I should stack this on top of #19 rather than base it to main or convert #19 to draft.
While the current method does work, the binary is killed with
os.Exit()
inmain.go
. With appropriate propagation of context to derived goroutines, the code is more readable and concise.rtmp and thumnailer code seem to have the bulk of he changes. Please keep in mind that It is a possibilty that we might have to revisit this again in the future because some of the inputs don't make use of context at all currently, we will have to discover cause and origin of cancellation for each of them and then handle it gracefully.