qtdemux: Fix incorrect FourCC used when iterating over sbgp atoms

In qtdemux_parse_traf(), the loop over sbgp atoms used FOURCC_sgpd instead
of FOURCC_sbgp when retrieving the next sibling node. This caused the loop
to either terminate early or attempt to parse sgpd atoms as sbgp, leading
to incorrect or incomplete seig group associations.

This fix ensures that all sbgp atoms are properly parsed in sequence.

Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4511
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9318>
This commit is contained in:
Enock Gomes Neto 2025-07-01 12:37:25 -03:00
parent da2da7711d
commit cade54e2af

View File

@ -4497,7 +4497,7 @@ qtdemux_parse_moof (GstQTDemux * qtdemux, const guint8 * buffer, guint length,
break;
}
sbgp_node = qtdemux_tree_get_sibling_by_type_full (sbgp_node,
FOURCC_sgpd, &sbgp_data);
FOURCC_sbgp, &sbgp_data);
}
}
}