Hi Ross, Thanks for your prompt response.
>>That's odd. I've seen several Transport Stream files that use 0x10 as the "Program_map_PID", and Table 2-3 of ISO/IEC 13818-1 says that PIDs in the range 0x10 through 0x1FFE "May be assigned as network_PID, Program-map_PID, elementary_PID, or for other purposes". >>But perhaps DVB and ATSC place more restrictions on what PIDs can be valid "Program_map_PID"s? (If so, then what PIDs are valid in these systems?) Yep, indeed I didn't mean to imply that 0x10 is an invalid MPEG-2 PID; only that it is invalid for ATSC, as well as for the program map table in DVB. DVB reserves PID 0x10 for the Network Information Table (NIT), and ATSC disallows using PIDs that will conflict with DVB. The first legal ATSC Program Map Table PID is 0x30, as seen in the following document on page 23: http://www.atsc.org/cms/standards/a53/a_53-Part-3-2009.pdf "6.9 PID Value Assignments In order to avoid collisions with fixed PID values and ranges already established in this and other international standards, transport_packet() PID field values are restricted as follows: TS packets identified with PID values in the range 0x1FF0 0x1FFE shall only be used to transport data compliant with ATSC-recognized standards specifying fixed-value PID assignments in that range. (Informative note: One such use is A/65, which requires the use of 0x1FFB to identify packets containing certain tables defined in that standard.) In order to avoid collisions with fixed PID values and ranges already established in thisand other international standards, PID values used to identify Transport Stream packets carrying TS_program_map_section() or program elements shall not be set below 0x0030. (Informative note: One such use is in ETS 300 468, which requires the use of 0x0011 to identify packets containing certain tables defined in that standard.)" >>The easiest solution would simply be to redefine the constant to be some different value that's valid for DVB and ATSC (as well as every other Transport Stream file). Do you have a suggestion? (I've also seen several Transport Stream files that use 0x42. Would that be valid?) My customer has informed me that ATSC uses PIDs 0x30, 0x40, 0x50, etc. to represent channel 3, 4, 5 etc., so I am not sure if 0x42 would be sub-channel 4.2, or if it would be allowed at all. My opinion would be to use 0x30, as it is legal for both ATSC and DVB, and seems to be valid for any transport stream. However I am not an expert here and welcome anybody else's opinions or facts on this matter. Thanks, Chris Richardson WTI _______________________________________________ live-devel mailing list [email protected] http://lists.live555.com/mailman/listinfo/live-devel
