audio_decoder.h 772 B

123456789101112131415161718192021222324252627
  1. #pragma once
  2. #include <stdbool.h>
  3. #include <stddef.h>
  4. #include <stdint.h>
  5. #include "audio_receiver.h"
  6. typedef struct audio_decoder audio_decoder_t;
  7. typedef struct {
  8. audio_format_t format;
  9. } audio_decoder_config_t;
  10. typedef struct {
  11. int channels;
  12. } audio_decode_info_t;
  13. audio_decoder_t *audio_decoder_create(const audio_decoder_config_t *config);
  14. void audio_decoder_destroy(audio_decoder_t *decoder);
  15. int audio_decoder_decode(audio_decoder_t *decoder, const uint8_t *input,
  16. size_t input_len, int16_t *output,
  17. size_t output_capacity_samples,
  18. audio_decode_info_t *info);
  19. bool audio_decoder_is_aac(const audio_decoder_t *decoder);
  20. bool audio_decoder_is_alac(const audio_decoder_t *decoder);