Assert that Formats passed to ASP represent valid decoded audio.

Ensure SequenceAssetLoader knows downstream is decoding audio if
silence is generated.

PiperOrigin-RevId: 542293633
This commit is contained in:
samrobinson 2023-06-21 17:20:00 +00:00 committed by Tofunmi Adigun-Hameed
parent 7a819bc275
commit 64f93a895e
2 changed files with 5 additions and 0 deletions

View File

@ -26,6 +26,7 @@ import static java.lang.Math.min;
import androidx.annotation.Nullable;
import androidx.media3.common.C;
import androidx.media3.common.Format;
import androidx.media3.common.MimeTypes;
import androidx.media3.common.audio.AudioProcessingPipeline;
import androidx.media3.common.audio.AudioProcessor;
import androidx.media3.common.audio.AudioProcessor.AudioFormat;
@ -151,7 +152,10 @@ import org.checkerframework.dataflow.qual.Pure;
if (isLast) {
queueEndOfStreamAfterSilence = true;
}
return;
}
checkState(MimeTypes.isAudio(trackFormat.sampleMimeType));
checkState(trackFormat.pcmEncoding != Format.NO_VALUE);
}
@Override

View File

@ -231,6 +231,7 @@ import java.util.concurrent.atomic.AtomicInteger;
if (addForcedAudioTrack) {
sequenceAssetLoaderListener.onTrackAdded(
FORCE_AUDIO_TRACK_FORMAT, SUPPORTED_OUTPUT_TYPE_DECODED);
decodeAudio = true;
}
return decodeOutput;