diff options
author | Jean-Francois Mauguit <jfmauguit@mac.com> | 2024-09-24 09:03:25 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-24 09:03:25 -0400 |
commit | bab614c421ed7ae329d26bf028c4a3b1d2450f5a (patch) | |
tree | 12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/Plugins/Input/in_mp3/adts.h | |
parent | 4bde6044fddf053f31795b9eaccdd2a5a527d21f (diff) | |
parent | 20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (diff) | |
download | winamp-bab614c421ed7ae329d26bf028c4a3b1d2450f5a.tar.gz |
Merge pull request #5 from WinampDesktop/community
Merge to main
Diffstat (limited to 'Src/Plugins/Input/in_mp3/adts.h')
-rw-r--r-- | Src/Plugins/Input/in_mp3/adts.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/Src/Plugins/Input/in_mp3/adts.h b/Src/Plugins/Input/in_mp3/adts.h new file mode 100644 index 00000000..d6e4fb95 --- /dev/null +++ b/Src/Plugins/Input/in_mp3/adts.h @@ -0,0 +1,37 @@ +#ifndef NULLSOFT_IN_MP3_ADTS_H +#define NULLSOFT_IN_MP3_ADTS_H + +#include "ifc_mpeg_stream_reader.h" +#include <bfc/std_mkncc.h> // for MKnCC() +class adts +{ +protected: + adts() {} + ~adts() {} +public: + static FOURCC getServiceType() { return MK4CC('a','d','t','s'); } + virtual int Initialize(bool forceMono, bool reverseStereo, bool allowSurround, int maxBits, bool allowRG, bool _useFloat = false, bool _useCRC = false)=0; + virtual bool Open(ifc_mpeg_stream_reader *file)=0; + virtual int Sync(ifc_mpeg_stream_reader *file, unsigned __int8 *output, size_t outputSize, size_t *outputWritten, size_t *bitrate)=0; + virtual void CalculateFrameSize(int *frameSize)=0; + virtual void GetOutputParameters(size_t *numBits, int *numChannels, int *sampleRate)=0; + virtual void Flush(ifc_mpeg_stream_reader *file)=0; + virtual void Close() = 0; + + enum + { + SUCCESS = 0, + FAILURE=1, + ENDOFFILE = 2, + NEEDMOREDATA = 3, + NEEDSYNC = 4, + }; + virtual int Decode(ifc_mpeg_stream_reader *file, unsigned __int8 *output, size_t outputSize, size_t *outputWritten, size_t *bitrate, size_t *endCut)=0; + virtual size_t GetCurrentBitrate()=0; + virtual size_t GetDecoderDelay()=0; + virtual int GetLayer()=0; + virtual void Release()=0; + virtual void SetDecoderHooks(void *layer3_vis, void *layer2_eq, void *layer3_eq) {} +}; + +#endif
\ No newline at end of file |