4 #include <osmocom/core/endian.h> 46 #if OSMO_IS_BIG_ENDIAN 55 #elif OSMO_IS_LITTLE_ENDIAN 65 } __attribute__((packed));
67 static inline void *osmo_amr_get_payload(
struct amr_hdr *amrh)
69 return (uint8_t *)amrh +
sizeof(
struct amr_hdr);
88 #define AMR_FT_0_LEN 12 89 #define AMR_FT_1_LEN 13 90 #define AMR_FT_2_LEN 15 91 #define AMR_FT_3_LEN 17 92 #define AMR_FT_4_LEN 19 93 #define AMR_FT_5_LEN 20 94 #define AMR_FT_6_LEN 26 95 #define AMR_FT_7_LEN 31 96 #define AMR_FT_SID_LEN 5 101 int osmo_amr_ft_valid(uint8_t amr_ft);
102 size_t osmo_amr_bytes(uint8_t amr_cmr);
104 bool osmo_amr_is_oa(uint8_t *payload,
unsigned int payload_len);
105 int osmo_amr_oa_to_bwe(uint8_t *payload,
unsigned int payload_len);
106 int osmo_amr_bwe_to_oa(uint8_t *payload,
unsigned int payload_len,
107 unsigned int payload_maxlen);