winamp/Src/Plugins/Input/in_mp3/adts_vlb.h
2024-09-24 14:54:57 +02:00

38 lines
1.0 KiB
C++

#ifndef NULLSOFT_IN_MP3_ADTS_VLB_H
#define NULLSOFT_IN_MP3_ADTS_VLB_H
#include "adts.h"
#include "../vlb/obj_vlbDecoder.h"
#include "api__in_mp3.h"
#include <api/service/waServiceFactory.h>
class ADTS_VLB : public adts
{
public:
ADTS_VLB();
int Initialize( bool forceMono, bool reverseStereo, bool allowSurround, int maxBits, bool allowRG, bool _useFloat, bool _useCRC );
bool Open( ifc_mpeg_stream_reader *file );
void Close();
void GetOutputParameters( size_t *numBits, int *numChannels, int *sampleRate );
void CalculateFrameSize( int *frameSize );
void Flush( ifc_mpeg_stream_reader *file );
size_t GetCurrentBitrate();
size_t GetDecoderDelay();
int Sync( ifc_mpeg_stream_reader *file, unsigned __int8 *output, size_t outputSize, size_t *outputWritten, size_t *bitrate );
int Decode( ifc_mpeg_stream_reader *file, unsigned __int8 *output, size_t outputSize, size_t *outputWritten, size_t *bitrate, size_t *endCut );
int GetLayer();
void Release();
private:
obj_vlbDecoder *decoder;
int needsync;
AACStreamParameters params;
};
#endif