<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;">Thanks Ross,<br>
I will try to change this as you've suggested on Monday when I have access to a pc ... I think you are correct that it is the transport stream program ID that I want to set.<br>
Many thanks,<br>
Piers<br>
-- <br>
Sent from my Android phone with K-9 Mail. Please excuse my brevity.<br><br><div style='font-size:10.0pt;font-family:"Tahoma","sans-serif";padding:3.0pt 0in 0in 0in'>
<hr style='border:none;border-top:solid #E1E1E1 1.0pt'>
<b>From:</b> Ross Finlayson <finlayson@live555.com><br>
<b>Sent:</b> 20 June 2014 22:17:51 GMT+01:00<br>
<b>To:</b> LIVE555 Streaming Media - development & use <live-devel@ns.live555.com><br>
<b>Subject:</b> Re: [Live-devel] Separating Transport Stream IDs from PES IDs<br>
</div>
<br>
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 /><p style="margin-top: 2.5em; margin-bottom: 1em; border-bottom: 1px solid #000"></p><pre class="k9mail"><hr /><br />live-devel mailing list<br />live-devel@lists.live555.com<br /><a href="http://lists.live555.com/mailman/listinfo/live-devel">http://lists.live555.com/mailman/listinfo/live-devel</a><br /></pre></body></html>