<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">This patch won't work, because it defines a member variable "fStreamId" in the abstract base class ("MPEG2TransportStreamMultiplexor"), but that member variable is never assigned - except in the implementation of *one particular* subclass: "MPEG2TransportStreamFromESSource". Note that other subclasses of "MPEG2TransportStreamMultiplexor" are possible, and in fact the supplied code includes another subclass - "MPEG2TransportStreamFromPESSource" - which you haven't changed at all.<div><br></div><div>I also have a problem with your use of the term "PES ID". Note that "MPEG2TransportStreamMultiplexor" works by taking as input 'PES_packets' (as defined in ISO+IEC+13818-1). Each 'PES_packet' (again, according to the definition) includes (as its 4th byte; i.e., byte[3]) a "stream_id". That's what it's called in the specification: A "stream_id", not a "PES ID", and so that's what our code should continue to call it.</div><div><br></div><div>What we do, however, is choose to use this "stream_id" value to be the Transport Stream's 'Program ID' (i.e., PID) - called "fCurrentPID" in our code. It sounds like *that's* what you want to make it possible to change - i.e., you want to be able to make it possible to change the 'Program ID', not the 'stream_id'.</div><div><br></div><div>So, you should change your proposed modifications (and consequent patch files) accordingly (and also be sure that it works for all possible subclasses of "MPEG2TransportStreamMultiplexor" - not just "MPEG2TransportStreamFromESSource".</div><br><br><div apple-content-edited="true">
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; ">Ross Finlayson<br>Live Networks, Inc.<br><a href="http://www.live555.com/">http://www.live555.com/</a></span></span>
</div>
<br></body></html>