[Live-devel] MPEG-2 Program Map Table PID

Ross Finlayson finlayson at live555.com
Mon Nov 28 15:56:15 PST 2011


> I am using the LIVE555 libraries to wrap H.264 video data inside an MPEG-2 transport stream.  Everything is working great except for one problem: The MPEG2TransportStreamMultiplexor class is currently using a hard-coded Program Map Table PID of 0x10 (OUR_PROGRAM_MAP_PID), which is not allowed by either DVB or ATSC standards.

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?)


>   I can obviously change the value of this constant in the library code, but I try to avoid making changes to the library code, based on both your recommendation and the fact that I don’t want to constantly merge my own changes in when a new version is released.

Yes, definitely.  Thanks for bringing this issue to our attention.


> Do you have a recommended approach for changing this value?

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?)

Ross Finlayson
Live Networks, Inc.
http://www.live555.com/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20111128/b476c3d9/attachment.html>


More information about the live-devel mailing list