File tree Expand file tree Collapse file tree 1 file changed +10
-1
lines changed
Expand file tree Collapse file tree 1 file changed +10
-1
lines changed Original file line number Diff line number Diff line change @@ -1583,7 +1583,16 @@ std::optional<int64_t> SingleStreamDecoder::getNumFrames(
15831583 case SeekMode::exact:
15841584 return streamMetadata.numFramesFromContent .value ();
15851585 case SeekMode::approximate: {
1586- return streamMetadata.numFramesFromHeader ;
1586+ if (streamMetadata.numFramesFromHeader .has_value ()) {
1587+ return streamMetadata.numFramesFromHeader ;
1588+ } else if (
1589+ streamMetadata.averageFpsFromHeader .has_value () &&
1590+ streamMetadata.durationSecondsFromHeader .has_value ()) {
1591+ return static_cast <int64_t >(std::lround (
1592+ streamMetadata.averageFpsFromHeader .value () *
1593+ streamMetadata.durationSecondsFromHeader .value ()));
1594+ }
1595+ return std::nullopt ;
15871596 }
15881597 default :
15891598 TORCH_CHECK (false , " Unknown SeekMode" );
You can’t perform that action at this time.
0 commit comments