Currently MPEG2 Transport Streams aren't required to specify the encryption pattern up front. Instead each encrypted stream type has default values for the pattern, which isn't known until later in the stream.
The existing code in Mp2tStreamParser::RegisterDecryptConfig [1] creates a partial DecryptConfig, which is then used later on to create the actual DecryptConfig for the stream. The code should find alternate ways to provide the key id and IV to the actual parser, rather than creating a partial DecryptConfig.
Newer versions of the spec (ISO/IEC 23001-9:2016, section 6.3.2) allow for specifying the pattern up front, so that needs to be handled as well.
[1] https://cs.chromium.org/chromium/src/media/formats/mp2t/mp2t_stream_parser.cc?l=889