g_assert (consumed <= map_info.size);
- if (res == GST_AV1_PARSER_BITSTREAM_ERROR) {
+ if (res == GST_AV1_PARSER_BITSTREAM_ERROR ||
+ res == GST_AV1_PARSER_MISSING_OBU_REFERENCE) {
if (consumed) {
*skipsize = consumed;
} else {
break;
}
- if (res == GST_AV1_PARSER_BITSTREAM_ERROR) {
+ if (res == GST_AV1_PARSER_BITSTREAM_ERROR ||
+ res == GST_AV1_PARSER_MISSING_OBU_REFERENCE) {
/* Discard the whole frame */
*skipsize = map_info.size;
GST_WARNING_OBJECT (parse, "Parse obu error, discard %d", *skipsize);
goto out;
}
- if (res == GST_AV1_PARSER_BITSTREAM_ERROR) {
+ if (res == GST_AV1_PARSER_BITSTREAM_ERROR ||
+ res == GST_AV1_PARSER_MISSING_OBU_REFERENCE) {
*skipsize = map_info.size;
GST_WARNING_OBJECT (parse, "Parse obu error, discard whole buffer %d.",
*skipsize);