avformat/mpegts: respect program number when merging streams
authorMarton Balint <cus@passwd.hu>
Tue, 9 Jul 2019 20:32:06 +0000 (22:32 +0200)
committerMarton Balint <cus@passwd.hu>
Fri, 12 Jul 2019 18:32:22 +0000 (20:32 +0200)
commit81d3d7dd44acc7ae7c57e99176d1d428fb40c353
tree0bc2d7bdaa1f029945cea6724978599d2efe0f56
parent397abca001c8a82b8d31c648c1728f9186722180
avformat/mpegts: respect program number when merging streams

merge_pmt_versions was not usable if multiple programs were present because
when it was searching for candidate streams it did not make sure that the PMT was
of the same program. This caused the streams of all programs to get merged into
a single (garbled) program.

This patch makes sure that the program number (service ID) is also matching
with the old streams when parsing the PMT making the feature useful for multi
program streams.

This change might cause issues for single program streams if the program number
changes, but I think it is acceptable because the goal of the option is to make
the parsing resilient to PID changes, and that is still working as expected.

Signed-off-by: Marton Balint <cus@passwd.hu>
libavformat/mpegts.c