Extract loop body as method
switch-stmt reads better than if-stmt here
Extract case-blocks as methods

Also, there's no need to construct multiple PMTConsumer objects
Have PATConsumer user supply PMTConsumer instance
Remove code nesting that hanpers readability
Rename PMTConsumer to PmtTSPacketConsumerConsumer
Extract PMT consumption from PmtTSPacketConsumerConsumer

Will allow other code to plug in and be informed of PMT arrivals.
Extract loop body as method
One report of missing headers; not one per header
Check agreement of CODECS from m3u8 and stream PMT
Support conditional HTTP requests for playlists
More compact toString() output for PicTimingHeader
Don't fail on Transport Stream files > 2GB
Remove dead code
Some checks that we do see 304's when expected
Use context pattern in FileTransportStreamParser

Also, pull RandomAccessFile handling into the FileTransportStreamParser,
rather than having callers deal with that.
Don't fail on encountering an unknown pic_struct

(Would have tried to allocate an array of size -1)
Expand use of 'context' pattern in H264 parsers
toString()ification of individual SEI timestamps
Simplistic validation of H264 pic_timing info