winamp/Src/replicant/nsaac/ADTSHeader.h

35 lines
948 B
C
Raw Permalink Normal View History

2024-09-24 12:54:57 +00:00
#pragma once
#include "foundation/types.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef struct ADTSHeader
{
unsigned int syncword;
unsigned int layer;
unsigned int id;
unsigned int protection;
unsigned int profile;
unsigned int sample_rate_index;
unsigned int private_bit;
unsigned int channel_configuration;
unsigned int original;
unsigned int home;
size_t frame_length;
unsigned int buffer_fullness;
unsigned int num_data_blocks;
} ADTSHeader, *nsaac_adts_header_t;
/* must be 7 bytes */
int nsaac_adts_parse(nsaac_adts_header_t header, const uint8_t *buffer);
unsigned int nsaac_adts_get_samplerate(nsaac_adts_header_t header);
int nsaac_adts_match(nsaac_adts_header_t header1, nsaac_adts_header_t header2);
int nsaac_adts_get_channel_count(nsaac_adts_header_t header);
size_t nsaac_adts_get_header_size(nsaac_adts_header_t header);
size_t nsaac_adts_get_frame_bitrate(nsaac_adts_header_t header);
#ifdef __cplusplus
}
#endif