adts_vlb.h 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. #ifndef NULLSOFT_IN_MP3_ADTS_VLB_H
  2. #define NULLSOFT_IN_MP3_ADTS_VLB_H
  3. #include "adts.h"
  4. #include "../vlb/obj_vlbDecoder.h"
  5. #include "api__in_mp3.h"
  6. #include <api/service/waServiceFactory.h>
  7. class ADTS_VLB : public adts
  8. {
  9. public:
  10. ADTS_VLB();
  11. int Initialize( bool forceMono, bool reverseStereo, bool allowSurround, int maxBits, bool allowRG, bool _useFloat, bool _useCRC );
  12. bool Open( ifc_mpeg_stream_reader *file );
  13. void Close();
  14. void GetOutputParameters( size_t *numBits, int *numChannels, int *sampleRate );
  15. void CalculateFrameSize( int *frameSize );
  16. void Flush( ifc_mpeg_stream_reader *file );
  17. size_t GetCurrentBitrate();
  18. size_t GetDecoderDelay();
  19. int Sync( ifc_mpeg_stream_reader *file, unsigned __int8 *output, size_t outputSize, size_t *outputWritten, size_t *bitrate );
  20. int Decode( ifc_mpeg_stream_reader *file, unsigned __int8 *output, size_t outputSize, size_t *outputWritten, size_t *bitrate, size_t *endCut );
  21. int GetLayer();
  22. void Release();
  23. private:
  24. obj_vlbDecoder *decoder;
  25. int needsync;
  26. AACStreamParameters params;
  27. };
  28. #endif