Skip to content

Commit f57bead

Browse files
author
Molly Xu
committed
modified getNumFrames
1 parent 61202b9 commit f57bead

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

src/torchcodec/_core/SingleStreamDecoder.cpp

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff 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");

0 commit comments

Comments
 (0)