+enum fec_group_usability {
+ FEC_GROUP_UNUSABLE,
+ FEC_GROUP_USABLE,
+ FEC_GROUP_USABLE_SKIP_HEADER,
+};
+
+static enum fec_group_usability group_is_usable(struct fecdec_group *fg,
+ struct private_fecdec_data *pfd)
+{
+ struct fec_header *h = &fg->h;
+
+ if (!h->header_stream)
+ return FEC_GROUP_USABLE;
+ if (pfd->have_header) {
+ if (h->audio_header_size)
+ return FEC_GROUP_USABLE_SKIP_HEADER;
+ return FEC_GROUP_USABLE;
+ }
+ if (fg->h.bos)
+ return FEC_GROUP_USABLE;
+ if (fg->h.audio_header_size)
+ return FEC_GROUP_USABLE;
+ return FEC_GROUP_UNUSABLE;
+}
+