Stuart Auchterlonie wrote:
By subtype I mean a byte in the Private Stream (0x06) which describes
it's content.
Ok, but remember that this code is in ParsePMT() and we don't have access to the PES headers. In theory it would be nice to check those headers too, but in order to do that we'd need to open all those pids and scan the streams for headers etc, which is a pretty big deal and in my opinion absolutely not worth doing.
The problem with SIParser as I see it is that the (as you call it) descriptor byte, is ALWAYS checked, regardless off the stream type.
So there is a theoritical possibility of incorrectly re categorizing
a packet because the 5th byte after the stream type happens to match
one of the following... 0x05, 0x56, 0x59, 0x6A.
Yes, and that is intentional. Certain descriptors will override the stream types since they are more reliable than the stream types. I think this setup is pretty flexible and should work with most DVB feeds, even though they sometimes don't follow the specs to 100%.
BTW, it is not a "descriptor byte" either, it's a descriptor loop. Each stream can have one or several descriptors (or none) so just checking the fifth byte or whatever won't help. If you're not sure how it works, please look up the PMT & descriptor format in the MPEG-2 system standard (section 2.4.4.8 "Program Map Table" in ITU-T H.222.0, or in the original ISO doc if you have access to that).
It probably would be possible to only look for certain descriptors for certain stream types but it's hard to work out the exact relationship and it would create a big mess of if:s or switch:es so I don't think it's something we need or want to do. I think it's a non-issue and simplicity is better than complexity. :-)
You're welcome to send a patch if you think you can clean it up or make it better somehow though. I don't have CVS access but if it looks good I'll vote for getting it committed.
_______________________________________________ mythtv-dev mailing list [email protected] http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev
