-int aac_find_esds(unsigned char *buf, unsigned buflen, int *skip);
-int aac_find_entry(unsigned char *buf, unsigned buflen, int *skip);
-unsigned aac_read_int32(unsigned char *buf);
+int aac_find_esds(unsigned char *buf, size_t buflen, size_t *skip,
+ unsigned long *decoder_length);
+ssize_t aac_find_entry_point(unsigned char *buf, size_t buflen, size_t *skip);
+
+static inline unsigned aac_read_int32(unsigned char *buf)
+{
+ uint8_t *d = (uint8_t*)buf;
+ return (d[0] << 24) | (d[1] << 16) | (d[2] << 8) | d[3];
+}