Unpair encoders on destruction + logs #548
Merged
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.
Description
Attempt to fix crash in GPU encode thread. It seems like there are several execution paths that lead to this crash. This change makes attempt to fix one of them.
Motivation and Context
I noticed that during GPU encode data from paired (audio) encoder is used to check timings.
There is a function
pair_encoders
which setspaired_encoder
for both sides (audio and video). But during call toobs_encoder_shutdown
value is reset only from the one side => we have classic dangling pointer problem.Also I added more logs for encoders lifecycle functions to help troubleshoot this nasty crash further.
How Has This Been Tested?
Manually in UI.
Types of changes
Checklist: