@@ -35,6 +35,7 @@ void CpuDeviceInterface::initializeVideo(
3535 const VideoStreamOptions& videoStreamOptions,
3636 const std::vector<std::unique_ptr<Transform>>& transforms,
3737 const std::optional<FrameDims>& resizedOutputDims) {
38+ avMediaType_ = AVMEDIA_TYPE_VIDEO;
3839 videoStreamOptions_ = videoStreamOptions;
3940 resizedOutputDims_ = resizedOutputDims;
4041
@@ -88,6 +89,7 @@ void CpuDeviceInterface::initializeVideo(
8889
8990void CpuDeviceInterface::initializeAudio (
9091 const AudioStreamOptions& audioStreamOptions) {
92+ avMediaType_ = AVMEDIA_TYPE_AUDIO;
9193 audioStreamOptions_ = audioStreamOptions;
9294 initialized_ = true ;
9395}
@@ -123,11 +125,10 @@ ColorConversionLibrary CpuDeviceInterface::getColorConversionLibrary(
123125void CpuDeviceInterface::convertAVFrameToFrameOutput (
124126 UniqueAVFrame& avFrame,
125127 FrameOutput& frameOutput,
126- AVMediaType mediaType,
127128 std::optional<torch::Tensor> preAllocatedOutputTensor) {
128129 TORCH_CHECK (initialized_, " CpuDeviceInterface was not initialized." );
129130
130- if (mediaType == AVMEDIA_TYPE_AUDIO) {
131+ if (avMediaType_ == AVMEDIA_TYPE_AUDIO) {
131132 convertAudioAVFrameToFrameOutput (avFrame, frameOutput);
132133 } else {
133134 convertVideoAVFrameToFrameOutput (
@@ -390,7 +391,8 @@ std::optional<torch::Tensor> CpuDeviceInterface::maybeFlushAudioBuffers() {
390391 if (!swrContext_) {
391392 return std::nullopt ;
392393 }
393- auto numRemainingSamples = swr_get_out_samples (swrContext_.get (), 0 );
394+ auto numRemainingSamples = // this is an upper bound
395+ swr_get_out_samples (swrContext_.get (), 0 );
394396
395397 if (numRemainingSamples == 0 ) {
396398 return std::nullopt ;
0 commit comments