Lines Matching refs:parser
48 static void le_audio_base_parser_fetch_subgroup_info(le_audio_base_parser_t * parser){ in le_audio_base_parser_fetch_subgroup_info() argument
49 const uint8_t * buffer = parser->buffer; in le_audio_base_parser_fetch_subgroup_info()
50 uint16_t offset = parser->subgroup_offset; in le_audio_base_parser_fetch_subgroup_info()
51 parser->bis_count = buffer[offset++]; in le_audio_base_parser_fetch_subgroup_info()
54 parser->subgroup_codec_specific_configuration_len = buffer[offset++]; in le_audio_base_parser_fetch_subgroup_info()
56 offset += parser->subgroup_codec_specific_configuration_len; in le_audio_base_parser_fetch_subgroup_info()
57 parser->subgroup_metadata_len = buffer[offset++]; in le_audio_base_parser_fetch_subgroup_info()
59 offset += parser->subgroup_metadata_len; in le_audio_base_parser_fetch_subgroup_info()
60 parser->bis_index = 0; in le_audio_base_parser_fetch_subgroup_info()
61 parser->bis_offset =offset; in le_audio_base_parser_fetch_subgroup_info()
64 bool le_audio_base_parser_init(le_audio_base_parser_t * parser, const uint8_t * buffer, uint16_t si… in le_audio_base_parser_init() argument
65 memset(parser, 0, sizeof(le_audio_base_parser_t)); in le_audio_base_parser_init()
79 parser->buffer = buffer; in le_audio_base_parser_init()
80 parser->size = size; in le_audio_base_parser_init()
82 parser->subgroup_count = buffer[offset++]; in le_audio_base_parser_init()
83 parser->subgroup_index = 0; in le_audio_base_parser_init()
88 for (i=0;i<parser->subgroup_count;i++){ in le_audio_base_parser_init()
117 if (parser->subgroup_count > 0){ in le_audio_base_parser_init()
118 parser->subgroup_offset = 8; in le_audio_base_parser_init()
119 le_audio_base_parser_fetch_subgroup_info(parser); in le_audio_base_parser_init()
125 uint32_t le_audio_base_parser_get_presentation_delay(le_audio_base_parser_t * parser){ in le_audio_base_parser_get_presentation_delay() argument
126 btstack_assert(parser->buffer != NULL); in le_audio_base_parser_get_presentation_delay()
127 return little_endian_read_24(parser->buffer, 4); in le_audio_base_parser_get_presentation_delay()
130 uint8_t le_audio_base_parser_subgroup_get_num_bis(le_audio_base_parser_t * parser){ in le_audio_base_parser_subgroup_get_num_bis() argument
131 btstack_assert(parser->subgroup_offset > 0); in le_audio_base_parser_subgroup_get_num_bis()
132 return parser->bis_count; in le_audio_base_parser_subgroup_get_num_bis()
135 uint8_t le_audio_base_parser_get_num_subgroups(le_audio_base_parser_t * parser){ in le_audio_base_parser_get_num_subgroups() argument
136 btstack_assert(parser->buffer != NULL); in le_audio_base_parser_get_num_subgroups()
137 return parser->subgroup_count; in le_audio_base_parser_get_num_subgroups()
140 const uint8_t * le_audio_base_parser_subgroup_get_codec_id(le_audio_base_parser_t * parser){ in le_audio_base_parser_subgroup_get_codec_id() argument
141 btstack_assert(parser->subgroup_offset > 0); in le_audio_base_parser_subgroup_get_codec_id()
142 return &parser->buffer[parser->subgroup_offset]; in le_audio_base_parser_subgroup_get_codec_id()
145 …udio_base_parser_subgroup_get_codec_specific_configuration_length(le_audio_base_parser_t * parser){ in le_audio_base_parser_subgroup_get_codec_specific_configuration_length() argument
146 btstack_assert(parser->subgroup_offset > 0); in le_audio_base_parser_subgroup_get_codec_specific_configuration_length()
147 return parser->subgroup_codec_specific_configuration_len; in le_audio_base_parser_subgroup_get_codec_specific_configuration_length()
150 … * le_audio_base_parser_subgroup_get_codec_specific_configuration(le_audio_base_parser_t * parser){ in le_audio_base_parser_subgroup_get_codec_specific_configuration() argument
151 btstack_assert(parser->subgroup_offset > 0); in le_audio_base_parser_subgroup_get_codec_specific_configuration()
152 return &parser->buffer[parser->subgroup_offset + 7]; in le_audio_base_parser_subgroup_get_codec_specific_configuration()
155 uint8_t le_audio_base_parser_subgroup_get_metadata_length(le_audio_base_parser_t * parser){ in le_audio_base_parser_subgroup_get_metadata_length() argument
156 btstack_assert(parser->subgroup_offset > 0); in le_audio_base_parser_subgroup_get_metadata_length()
157 …return parser->buffer[parser->subgroup_offset + 7 + parser->subgroup_codec_specific_configuration_… in le_audio_base_parser_subgroup_get_metadata_length()
160 const uint8_t * le_audio_base_subgroup_parser_get_metadata(le_audio_base_parser_t * parser){ in le_audio_base_subgroup_parser_get_metadata() argument
161 btstack_assert(parser->subgroup_offset > 0); in le_audio_base_subgroup_parser_get_metadata()
162 …return &parser->buffer[parser->subgroup_offset + 7 + parser->subgroup_codec_specific_configuration… in le_audio_base_subgroup_parser_get_metadata()
165 uint8_t le_audio_base_parser_bis_get_index(le_audio_base_parser_t * parser){ in le_audio_base_parser_bis_get_index() argument
166 btstack_assert(parser->bis_offset > 0); in le_audio_base_parser_bis_get_index()
167 return parser->buffer[parser->bis_offset]; in le_audio_base_parser_bis_get_index()
170 … le_audio_base_parser_bis_get_codec_specific_configuration_length(le_audio_base_parser_t * parser){ in le_audio_base_parser_bis_get_codec_specific_configuration_length() argument
171 btstack_assert(parser->bis_offset > 0); in le_audio_base_parser_bis_get_codec_specific_configuration_length()
172 return parser->buffer[parser->bis_offset + 1]; in le_audio_base_parser_bis_get_codec_specific_configuration_length()
175 …nt8_t * le_audio_base_bis_parser_get_codec_specific_configuration(le_audio_base_parser_t * parser){ in le_audio_base_bis_parser_get_codec_specific_configuration() argument
176 btstack_assert(parser->bis_offset > 0); in le_audio_base_bis_parser_get_codec_specific_configuration()
177 return &parser->buffer[parser->bis_offset + 2]; in le_audio_base_bis_parser_get_codec_specific_configuration()
180 void le_audio_base_parser_bis_next(le_audio_base_parser_t * parser){ in le_audio_base_parser_bis_next() argument
181 btstack_assert(parser->bis_offset > 0); in le_audio_base_parser_bis_next()
182 parser->bis_index++; in le_audio_base_parser_bis_next()
183 if (parser->bis_index < parser->bis_count){ in le_audio_base_parser_bis_next()
184 parser->bis_offset += 1 + 1 + parser->buffer[parser->bis_offset+1]; in le_audio_base_parser_bis_next()
186 parser->bis_offset = 0; in le_audio_base_parser_bis_next()
190 void le_audio_base_parser_subgroup_next(le_audio_base_parser_t * parser){ in le_audio_base_parser_subgroup_next() argument
191 btstack_assert(parser->subgroup_offset > 0); in le_audio_base_parser_subgroup_next()
192 while (parser->bis_index < parser->bis_count){ in le_audio_base_parser_subgroup_next()
193 le_audio_base_parser_bis_next(parser); in le_audio_base_parser_subgroup_next()
195 parser->subgroup_index++; in le_audio_base_parser_subgroup_next()
196 if (parser->subgroup_index < parser->subgroup_count){ in le_audio_base_parser_subgroup_next()
197 parser->subgroup_offset = parser->bis_offset; in le_audio_base_parser_subgroup_next()
198 le_audio_base_parser_fetch_subgroup_info(parser); in le_audio_base_parser_subgroup_next()
200 parser->bis_offset = 0; in le_audio_base_parser_subgroup_next()