That can only trigger with HDMV registration which is bluray
There is nor HDMV registration. Attaching a patch that fixes this here, probably without changing the logic that you tried to put for #20284 (closed)
Where does that streams comes from ?
The streams come from an encoder + AppearTV MUX, they work fine with all sorts of other equipment and have been working fine for a while.
There is no bluray involved anywhere in the process so the identification as bluray is probably dodgy somewhere.
I tried to follow up on why the code even gets to registration_type == TS_PMT_REGISTRATION_BLURAY and much to my dismay when building 3.0.3 now on rawhide as opposed to 2 weeks days ago - it doesn't.
My only explanation is that the then-gcc-8.1.1-1 was miscompiling something compared to the now-gcc-8.1.1-2 in rawhide
Sorry for the noise and I'll revisit if that turns out not to be the case.
After a bit more investigation let me revise the last comment. The gcc thing is not a thing, I was testing the wrong stream.
The stream that has the problem has a HDMV registration descriptor. I haven't noticed before because it never seemed to be a problem. Here is the PMT dump by wireshark.
Thanks for the patch, it obviously makes this particular buggy stream work.
You'll notice however that while the program as a whole has a HDMV registration descriptor (which is the reason its taken to be bluray) the individual video and audio pes-es do not have a registration descriptors at all. This in contrast to the stream in #20284 (closed) where each individual audio/video pes-es have it.
Perhaps the strict pid checks for second audio/video should be skipped for pids where there is no individual descriptor.