Fix bug when downsampling by a great factor (empty output frame) #586
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.
This PR is based on #584 and includes changes from there.
This PR fixes the following bug:
which we hit on
https://github.com/pytorch/torchcodec/blob/4d894d55075eb1625a1443c54767bc92c31bc286/src/torchcodec/decoders/_core/VideoDecoder.cpp#L1484-L1487
In fact,
numConvertedSamplescan be 0 and this can be valid: if the input frames has very few samples, and if we're downsampling by a great factor, then swresample would buffer all the samples and just wait for the next samples to output anything. We thus allow an output converted frame to have zero samples. It's up to the caller to handle that case properly (our callers do natively handle this).