Skip to content

Commit c629073

Browse files
committed
Streams again
1 parent 64f4595 commit c629073

File tree

3 files changed

+23
-23
lines changed

3 files changed

+23
-23
lines changed

src/torchcodec/decoders/_core/VideoDecoder.cpp

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,7 @@ void VideoDecoder::initializeDecoder() {
286286
containerMetadata_.numAudioStreams++;
287287
}
288288

289-
containerMetadata_.streams.push_back(streamMetadata);
289+
containerMetadata_.streamMetadatas.push_back(streamMetadata);
290290
}
291291

292292
if (formatContext_->duration > 0) {
@@ -465,7 +465,7 @@ void VideoDecoder::addVideoStreamDecoder(
465465
}
466466
TORCH_CHECK(codec != nullptr);
467467

468-
StreamMetadata& streamMetadata = containerMetadata_.streams[streamIndex];
468+
StreamMetadata& streamMetadata = containerMetadata_.streamMetadatas[streamIndex];
469469
if (seekMode_ == SeekMode::approximate &&
470470
!streamMetadata.averageFps.has_value()) {
471471
throw std::runtime_error(
@@ -532,10 +532,10 @@ void VideoDecoder::addVideoStreamDecoder(
532532
void VideoDecoder::updateMetadataWithCodecContext(
533533
int streamIndex,
534534
AVCodecContext* codecContext) {
535-
containerMetadata_.streams[streamIndex].width = codecContext->width;
536-
containerMetadata_.streams[streamIndex].height = codecContext->height;
535+
containerMetadata_.streamMetadatas[streamIndex].width = codecContext->width;
536+
containerMetadata_.streamMetadatas[streamIndex].height = codecContext->height;
537537
auto codedId = codecContext->codec_id;
538-
containerMetadata_.streams[streamIndex].codecName =
538+
containerMetadata_.streamMetadatas[streamIndex].codecName =
539539
std::string(avcodec_get_name(codedId));
540540
}
541541

@@ -594,7 +594,7 @@ void VideoDecoder::scanFileAndUpdateMetadataAndIndex() {
594594
// We got a valid packet. Let's figure out what stream it belongs to and
595595
// record its relevant metadata.
596596
int streamIndex = packet->stream_index;
597-
auto& streamMetadata = containerMetadata_.streams[streamIndex];
597+
auto& streamMetadata = containerMetadata_.streamMetadatas[streamIndex];
598598
streamMetadata.minPtsFromScan = std::min(
599599
streamMetadata.minPtsFromScan.value_or(INT64_MAX), packet->pts);
600600
streamMetadata.maxPtsFromScan = std::max(
@@ -614,9 +614,9 @@ void VideoDecoder::scanFileAndUpdateMetadataAndIndex() {
614614

615615
// Set all per-stream metadata that requires knowing the content of all
616616
// packets.
617-
for (size_t streamIndex = 0; streamIndex < containerMetadata_.streams.size();
617+
for (size_t streamIndex = 0; streamIndex < containerMetadata_.streamMetadatas.size();
618618
++streamIndex) {
619-
auto& streamMetadata = containerMetadata_.streams[streamIndex];
619+
auto& streamMetadata = containerMetadata_.streamMetadatas[streamIndex];
620620
auto avStream = formatContext_->streams[streamIndex];
621621

622622
streamMetadata.numFramesFromScan = streamInfos_[streamIndex].allFrames.size();
@@ -1089,7 +1089,7 @@ VideoDecoder::DecodedOutput VideoDecoder::getFramePlayedAtTimestampNoDemux(
10891089
}
10901090

10911091
void VideoDecoder::validateUserProvidedStreamIndex(int streamIndex) {
1092-
int streamsSize = static_cast<int>(containerMetadata_.streams.size());
1092+
int streamsSize = static_cast<int>(containerMetadata_.streamMetadatas.size());
10931093
TORCH_CHECK(
10941094
streamIndex >= 0 && streamIndex < streamsSize,
10951095
"Invalid stream index=" + std::to_string(streamIndex) +
@@ -1228,7 +1228,7 @@ VideoDecoder::DecodedOutput VideoDecoder::getFrameAtIndexInternal(
12281228
validateUserProvidedStreamIndex(streamIndex);
12291229

12301230
const auto& streamInfo = streamInfos_[streamIndex];
1231-
const auto& streamMetadata = containerMetadata_.streams[streamIndex];
1231+
const auto& streamMetadata = containerMetadata_.streamMetadatas[streamIndex];
12321232
validateFrameIndex(streamMetadata, frameIndex);
12331233

12341234
int64_t pts = getPts(streamInfo, streamMetadata, frameIndex);
@@ -1260,7 +1260,7 @@ VideoDecoder::BatchDecodedOutput VideoDecoder::getFramesAtIndices(
12601260
});
12611261
}
12621262

1263-
const auto& streamMetadata = containerMetadata_.streams[streamIndex];
1263+
const auto& streamMetadata = containerMetadata_.streamMetadatas[streamIndex];
12641264
const auto& streamInfo = streamInfos_[streamIndex];
12651265
const auto& options = streamInfo.options;
12661266
BatchDecodedOutput output(frameIndices.size(), options, streamMetadata);
@@ -1297,7 +1297,7 @@ VideoDecoder::BatchDecodedOutput VideoDecoder::getFramesPlayedByTimestamps(
12971297
const std::vector<double>& timestamps) {
12981298
validateUserProvidedStreamIndex(streamIndex);
12991299

1300-
const auto& streamMetadata = containerMetadata_.streams[streamIndex];
1300+
const auto& streamMetadata = containerMetadata_.streamMetadatas[streamIndex];
13011301
const auto& streamInfo = streamInfos_[streamIndex];
13021302

13031303
double minSeconds = getMinSeconds(streamMetadata);
@@ -1331,7 +1331,7 @@ VideoDecoder::BatchDecodedOutput VideoDecoder::getFramesInRange(
13311331
int64_t step) {
13321332
validateUserProvidedStreamIndex(streamIndex);
13331333

1334-
const auto& streamMetadata = containerMetadata_.streams[streamIndex];
1334+
const auto& streamMetadata = containerMetadata_.streamMetadatas[streamIndex];
13351335
const auto& streamInfo = streamInfos_[streamIndex];
13361336
int64_t numFrames = getNumFrames(streamMetadata);
13371337
TORCH_CHECK(
@@ -1364,7 +1364,7 @@ VideoDecoder::getFramesPlayedByTimestampInRange(
13641364
double stopSeconds) {
13651365
validateUserProvidedStreamIndex(streamIndex);
13661366

1367-
const auto& streamMetadata = containerMetadata_.streams[streamIndex];
1367+
const auto& streamMetadata = containerMetadata_.streamMetadatas[streamIndex];
13681368
TORCH_CHECK(
13691369
startSeconds <= stopSeconds,
13701370
"Start seconds (" + std::to_string(startSeconds) +
@@ -1481,7 +1481,7 @@ double VideoDecoder::getPtsSecondsForFrame(
14811481
validateScannedAllStreams("getPtsSecondsForFrame");
14821482

14831483
const auto& streamInfo = streamInfos_[streamIndex];
1484-
const auto& streamMetadata = containerMetadata_.streams[streamIndex];
1484+
const auto& streamMetadata = containerMetadata_.streamMetadatas[streamIndex];
14851485
validateFrameIndex(streamMetadata, frameIndex);
14861486

14871487
return ptsToSeconds(

src/torchcodec/decoders/_core/VideoDecoder.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ class VideoDecoder {
104104
std::optional<int64_t> height;
105105
};
106106
struct ContainerMetadata {
107-
std::vector<StreamMetadata> streams;
107+
std::vector<StreamMetadata> streamMetadatas;
108108
int numAudioStreams = 0;
109109
int numVideoStreams = 0;
110110
// Note that this is the container-level duration, which is usually the max

src/torchcodec/decoders/_core/VideoDecoderOps.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -344,9 +344,9 @@ std::string get_json_metadata(at::Tensor& decoder) {
344344
// serialize the metadata into a string std::stringstream ss;
345345
double durationSeconds = 0;
346346
if (maybeBestVideoStreamIndex.has_value() &&
347-
videoMetadata.streams[*maybeBestVideoStreamIndex]
347+
videoMetadata.streamMetadatas[*maybeBestVideoStreamIndex]
348348
.durationSeconds.has_value()) {
349-
durationSeconds = videoMetadata.streams[*maybeBestVideoStreamIndex]
349+
durationSeconds = videoMetadata.streamMetadatas[*maybeBestVideoStreamIndex]
350350
.durationSeconds.value_or(0);
351351
} else {
352352
// Fallback to container-level duration if stream duration is not found.
@@ -359,7 +359,7 @@ std::string get_json_metadata(at::Tensor& decoder) {
359359
}
360360

361361
if (maybeBestVideoStreamIndex.has_value()) {
362-
auto streamMetadata = videoMetadata.streams[*maybeBestVideoStreamIndex];
362+
auto streamMetadata = videoMetadata.streamMetadatas[*maybeBestVideoStreamIndex];
363363
if (streamMetadata.numFramesFromScan.has_value()) {
364364
metadataMap["numFrames"] =
365365
std::to_string(*streamMetadata.numFramesFromScan);
@@ -423,7 +423,7 @@ std::string get_container_json_metadata(at::Tensor& decoder) {
423423
std::to_string(*containerMetadata.bestAudioStreamIndex);
424424
}
425425

426-
map["numStreams"] = std::to_string(containerMetadata.streams.size());
426+
map["numStreams"] = std::to_string(containerMetadata.streamMetadatas.size());
427427

428428
return mapToJson(map);
429429
}
@@ -432,13 +432,13 @@ std::string get_stream_json_metadata(
432432
at::Tensor& decoder,
433433
int64_t stream_index) {
434434
auto videoDecoder = unwrapTensorToGetDecoder(decoder);
435-
auto streams = videoDecoder->getContainerMetadata().streams;
435+
auto streamMetadatas = videoDecoder->getContainerMetadata().streamMetadatas;
436436
if (stream_index < 0 ||
437-
stream_index >= static_cast<int64_t>(streams.size())) {
437+
stream_index >= static_cast<int64_t>(streamMetadatas.size())) {
438438
throw std::out_of_range(
439439
"stream_index out of bounds: " + std::to_string(stream_index));
440440
}
441-
auto streamMetadata = streams[stream_index];
441+
auto streamMetadata = streamMetadatas[stream_index];
442442

443443
std::map<std::string, std::string> map;
444444

0 commit comments

Comments
 (0)