ES_info_length field is 12bits,  but for now only size up to 15 bytes is handled (4 bits).
12 bits (4095 bytes) is bigger than a TS packet (188 bytes), and current PMT parsing code is not able to parse section spread across several  TS packets.
but at least we should be able to handle a PMT inner descriptor loop, up to 63bytes. still better than before but not yet perfect.