Lines Matching refs:offset
31 * Note that if the returned value + offset > size, it means that a partial frame starts at that
32 * offset, but this function will still return the size of the full frame.
34 * @param offset offset in bytes relative to data of where the frame is supposed to start
36 * @return the size in bytes of the AAC ADTS frame starting at the given offset of the given
39 static size_t getAdtsFrameSize(const uint8_t *data, off64_t offset, size_t size) {
42 if (!(offset + ADTS_HEADER_SIZE_UP_TO_FRAMESIZE < (off64_t) size)) {
48 const uint8_t *syncword = data + offset;
54 const uint8_t protectionAbsent = data[offset+1] & 0x1;
56 const uint8_t* header = data + offset + 3;
86 off64_t offset = 0;
94 while (offset < (off64_t) size) {
95 if ((frameSize = getAdtsFrameSize((uint8_t *)data, offset, size)) == 0) {
96 SL_LOGE("found ADTS frame of size 0 at offset %lld", (long long) offset);
99 //SL_LOGV("last good offset %llu", offset);
100 offset += frameSize;
101 if (offset > (off64_t) size) {
106 if (offset != (off64_t) size) {
109 assert(offset == (off64_t) size);