yes the whole section needs moving up. diff follows:<br>
<pre>Index: modules/mux/mpeg/ts.c<br>===================================================================<br>--- modules/mux/mpeg/ts.c (revision 12632)<br>+++ modules/mux/mpeg/ts.c     (working copy)<br>@@ -502,6 +502,9 @@<br>
         uint16_t i_pid;<br>         psz_next = psz;<br> <br>+        #ifndef HAVE_BSEARCH<br>+              msg_Warn( p_mux, "Cannot use --sout-ts-muxpmt (bsearch function not found during compilation)\n");<br>+    #endif
<br>         while( psz != NULL )<br>         {<br>             i_pid = strtoul( psz, &psz_next, 0 );<br>@@ -2325,15 +2328,8 @@<br>                             GetDescriptorLength24b( bits.i_data -<br>                             bits_fix_ESDescr.i_data - 3 ) );
<br>             }<br>-        }<br>-        bits_align( &bits );<br>-        /* fix IOD length */<br>-        bits_write( &bits_fix_IOD, 24,<br>-                    GetDescriptorLength24b( bits.i_data -<br>-                                            bits_fix_IOD.i_data - 3 ) );
<br>-<br>-#if 0//def HAVE_BSEARCH /* FIXME!!! This can't possibly work */<br>-        i_pidinput = p_mux->pp_inputs[i]->p_fmt->i_id;<br>+#ifdef HAVE_BSEARCH <br>+        i_pidinput = p_mux->pp_inputs[i_stream]->p_fmt->i_id;
<br>         p_usepid = bsearch( &i_pidinput, p_sys->pmtmap, p_sys->i_pmtslots,<br>                             sizeof(pmt_map_t), intcompare ); <br>         p_usepid = bsearch( &p_usepid, p_sys->pmtmap, p_sys->i_num_pmt,
<br>@@ -2348,6 +2344,13 @@<br>         dvbpsi_PMTAddDescriptor( &p_sys->dvbpmt[0], 0x1d, bits.i_data,<br>                                  bits.p_data );<br> #endif<br>+        }<br>+        bits_align( &bits );
<br>+        /* fix IOD length */<br>+        bits_write( &bits_fix_IOD, 24,<br>+                    GetDescriptorLength24b( bits.i_data -<br>+                                            bits_fix_IOD.i_data - 3 ) );<br>
+<br>     }<br> <br>     for( i_stream = 0; i_stream < p_mux->i_nb_inputs; i_stream++ )<br></pre>
<br>
Wallace<br><br><div><span class="gmail_quote">On 9/19/05, <b class="gmail_sendername">Christophe Massiot</b> <<a href="mailto:massiot@via.ecp.fr">massiot@via.ecp.fr</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
On Mon, Sep 19, 2005, Wallace Wadge wrote:<br>> wops, "i" is supposed to be "i_stream" I think....<br><br>I don't think so, since we aren't in the for() loop there.<br><br>><br>><br>><br>> On 9/19/05, Christophe Massiot <
<a href="mailto:massiot@via.ecp.fr">massiot@via.ecp.fr</a>> wrote:<br>> ><br>> > On Mon, Sep 19, 2005, Wallace Wadge wrote:<br>> > > Hi gbazin,<br>> > ><br>> > > Can you please elaborate on
<br>> > <a href="https://trac.videolan.org/vlc/changeset/12601">https://trac.videolan.org/vlc/changeset/12601</a> ?<br>> > > (/* FIXME!!! This can't possibly work */ )<br>> > ><br>> > > All I need in that part is the original pid of the input to selectively
<br>> > > add/ignore it in the pmt.<br>> ><br>> > The problem is in :<br>> > i_pidinput = p_mux->pp_inputs[i]->p_fmt->i_id;<br>> ><br>> > Where does 'i' come from ? It just overflows pp_inputs[] here.
<br>> ><br>> > --<br>> > Christophe Massiot.<br>> ><br>> > --<br>> > This is the vlc-devel mailing-list, see <a href="http://www.videolan.org/vlc/">http://www.videolan.org/vlc/</a><br>> > To unsubscribe, please read 
<a href="http://developers.videolan.org/lists.html">http://developers.videolan.org/lists.html</a><br>> ><br>> ><br>--<br>Christophe Massiot.<br><br>--<br>This is the vlc-devel mailing-list, see <a href="http://www.videolan.org/vlc/">
http://www.videolan.org/vlc/</a><br>To unsubscribe, please read <a href="http://developers.videolan.org/lists.html">http://developers.videolan.org/lists.html</a><br><br></blockquote></div><br>