@@ -1445,43 +1445,17 @@ int64_t SingleStreamDecoder::getPts(int64_t frameIndex) {
14451445
14461446std::optional<int64_t > SingleStreamDecoder::getNumFrames (
14471447 const StreamMetadata& streamMetadata) {
1448- switch (seekMode_) {
1449- case SeekMode::custom_frame_mappings:
1450- case SeekMode::exact:
1451- return streamMetadata.numFramesFromContent .value ();
1452- case SeekMode::approximate: {
1453- return streamMetadata.numFramesFromHeader ;
1454- }
1455- default :
1456- TORCH_CHECK (false , " Unknown SeekMode" );
1457- }
1448+ return streamMetadata.getNumFrames (seekMode_);
14581449}
14591450
14601451double SingleStreamDecoder::getMinSeconds (
14611452 const StreamMetadata& streamMetadata) {
1462- switch (seekMode_) {
1463- case SeekMode::custom_frame_mappings:
1464- case SeekMode::exact:
1465- return streamMetadata.beginStreamPtsSecondsFromContent .value ();
1466- case SeekMode::approximate:
1467- return 0 ;
1468- default :
1469- TORCH_CHECK (false , " Unknown SeekMode" );
1470- }
1453+ return streamMetadata.getBeginStreamSeconds (seekMode_);
14711454}
14721455
14731456std::optional<double > SingleStreamDecoder::getMaxSeconds (
14741457 const StreamMetadata& streamMetadata) {
1475- switch (seekMode_) {
1476- case SeekMode::custom_frame_mappings:
1477- case SeekMode::exact:
1478- return streamMetadata.endStreamPtsSecondsFromContent .value ();
1479- case SeekMode::approximate: {
1480- return streamMetadata.durationSecondsFromHeader ;
1481- }
1482- default :
1483- TORCH_CHECK (false , " Unknown SeekMode" );
1484- }
1458+ return streamMetadata.getEndStreamSeconds (seekMode_);
14851459}
14861460
14871461// --------------------------------------------------------------------------
0 commit comments