consider a program with pids 1,2,3, and 4. ffmpeg puts those to index 0,1,2,and 3 (m_pFormatContext->streams[idx])
After a pmt change we have pids 5 and 6. ffmpeg puts those to indices 4 and 5. Means we have 2 active streams and a structure with 6 streams.
After a while it is pointless if we only added program streams to the structure. Am I wrong?