// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "IAudioCodec.h" #include "UObject/NameTypes.h" #include "AudioDecompress.h" class ICompressedAudioInfo; // Forward declares. namespace Audio { PRAGMA_DISABLE_DEPRECATION_WARNINGS struct FBackCompatInput : public IDecoderInput { FName OldFormatName; FSoundWaveProxyPtr Wave; mutable FFormatDescriptorSection Desc; mutable TUniquePtr OldInfoObject; FBackCompatInput( FName InOldFormatName, const FSoundWaveProxyPtr& InWave) : OldFormatName(InOldFormatName) , Wave(InWave) { } bool HasError() const override; bool IsEndOfStream() const override; ICompressedAudioInfo* GetInfo( FFormatDescriptorSection* OutDescriptor = nullptr) const; bool FindSection(FEncodedSectionBase& OutSection) override; int64 Tell() const override; bool SeekToTime(const float InSeconds) override; TArrayView PeekNextPacket( int32 InMaxPacketLength) const override; TArrayView PopNextPacket( int32 InPacketSize) override; }; PRAGMA_ENABLE_DEPRECATION_WARNINGS }