Sorry if I wasn't clear. This ES section data only contains program level descriptors, not any of the other PMT data that I agree we don't need. Here's the Transport Description Table definition taken from 13818-1:
TS_description_section() {
table_id 8 uimsbf
section_syntax_indicator 1 bslbf
'0' 1 bslbf
reserved 2 bslbf
section_length 12 uimsbf
reserved 18 bslbf
version_number 5 uimsbf
current_next_indicator 1 bslbf
section_number 8 uimsbf
last_section_number 8 uimsbf
for (i = 0; i < N; i++) {
descriptor()
}
CRC_32
}
[<GAC>] If we are only interested in exposing the descriptors from the program level and we have the attribute inBandMetadataDispatchType which already is described with language about carrying descriptors (albeit described for elementary streams currently) then doesn't this reinforce the argument not to use cues but just create one textTrack per descriptor, updating the list with the relevant PMT changes. It may be the path of least resistance IMHO.
Graham