<pre>>Well while I don't see any good reason why a service would be duplicated in the SDT, the spec doesn't explicitly forbid it. So indeed this check is wrong. We should however make sure that applications using biTStream will not break if they see two services with the same ID but different descriptors in an SDT.</pre>
Yes,<br><br>There's is no reason to return false. When that service is already in the table, the program should simply discard the repeated service and move on. I don't know if this happens in any other cases, but if you want to map a program number to a specific channel, you have no way to do so, even if its possible to stream it.<br>
<br>Something like this would suffice.<br><br> if (sdt_table_find_service(pp_sections, sdtn_get_sid(p_service)) != p_service)<br>{<br>         continue;<br>}<br>else<br>{<br>         add_service_to_table*<br>}<br><br>Regards,<br>
Nuno Mota<br><br><div class="gmail_quote">2012/11/7 Nuno Mota <span dir="ltr"><<a href="mailto:ambershaper@gmail.com" target="_blank">ambershaper@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5"><div class="gmail_quote">Ludovic,<br><br>Did you manage to get a fix for issue at the time?<br><br>There's a few differences between both results. I'll try to explain but my knowledge in DVB can mislead me.<br>

<br>You're channel.dump is failing because the descriptors.h -> descl_validate() is returning false due to the descriptor lenght not matching the descriptors section lenght I think. (i.e descriptors_loop_length != from the real descriptors length???)<br>



<br>While in my case the services are duplicated. Refer to sdt.h -> sdt_table_validate()<br><br> /* check that the service is not already in the table */<br>            if (sdt_table_find_service(pp_sections, sdtn_get_sid(p_service))<br>



                 != p_service)<br>                return false;<br><br>This is what happens in my case. For some reason there are duplicate services in the table.<br><br>new SDT actual tsid=1111 version=9 onid=1<br>...<br>



  * service sid=7277 running=4<br>    - desc 48 service type=0x80 provider="SES ASTRA" service="STB Sandmartin"<br>  * service sid=7278 running=4<br>    - desc 48 service type=0xab provider="SES ASTRA" service="STB Strong"<br>



  * service sid=7279 running=4<br>    - desc 48 service type=0xc provider="SES ASTRA" service="tvtv DIGITAL"<br>...<br>  * service sid=7278 running=4<br>    - desc 48 service type=0x80 provider="SES ASTRA" service="STB Strong"<br>



  * service sid=7920 running=4<br>    - desc 48 service type=0xc provider="SES ASTRA" service="SatRecord"<br>end SDT<br><br>Regards,<br>Nuno<div><div><br><div class="gmail_extra">
<br><br><div class="gmail_quote">
2012/11/7 Ludovic BOUE <span dir="ltr"><<a href="mailto:ludovic.boue@gmail.com" target="_blank">ludovic.boue@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



Hi Nuno,<br>
<br>
I had the same issue few month ago as you can see:<br>
<br>
De: "Georgi Chorbadzhiyski" <<a href="mailto:gf@unixsol.org" target="_blank">gf@unixsol.org</a>><br>
À: "Ludovic BOUÉ" <<a href="mailto:ludovic.boue@gmail.com" target="_blank">ludovic.boue@gmail.com</a>><br>
Envoyé: Mercredi 2 Mai 2012 11:38:41<br>
Objet: Re: [biTStream] Issue invalid_sdt_section<br>
<br>
Around 04/26/2012 10:23 AM, Ludovic BOUÉ scribbled:<br>
> Le 25/04/2012 16:55, Ludovic BOUÉ a écrit :<br>
>> Hello,<br>
>><br>
>> I am facing an issue to print SDT table with dvb_print_si tool. I am<br>
>> analysing a RTP mutlicast stream:<br>
>><br>
>> # dumprtp <a href="tel:239.255.2.32" value="+351239255232" target="_blank">239.255.2.32</a> 1234| ts_filter 17| ./dvb_print_si -x xml -T SDT<br>
>> <?xml version="1.0" encoding="utf-8"?><br>
>> <TS><br>
>> Filtering pid 17<br>
>> Rtp dump<br>
>> Using <a href="http://239.255.2.32:1234" target="_blank">239.255.2.32:1234</a><br>
>> <ERROR type="invalid_sdt_section" pid="17"/><br>
>> <ERROR type="invalid_sdt_section" pid="17"/><br>
>> <ERROR type="invalid_sdt_section" pid="17"/><br>
>> <ERROR type="invalid_sdt_section" pid="17"/><br>
>> <ERROR type="invalid_sdt_section" pid="17"/><br>
>><br>
>> It's working fine for other sections like EIT<br>
>> # dumprtp <a href="tel:239.255.2.32" value="+351239255232" target="_blank">239.255.2.32</a> 1234| ts_filter 18| ./dvb_print_si -x xml -T EIT<br>
>> Rtp dump<br>
>> Using <a href="http://239.255.2.32:1234" target="_blank">239.255.2.32:1234</a><br>
>> Filtering pid 18<br>
>> <?xml version="1.0" encoding="utf-8"?><br>
>> <TS><br>
>> <EIT tableid="0x50" type="actual_schedule" service_id="769"<br>
>> version="3" current_next="1" tsid="3" onid="8442"<br>
>> seg_last_sec_number="144" last_table_id=<br>
>> "0x50"><br>
>> <EVENT id="6453" start_time="1335507900" start_time_dec="2012-04-27<br>
>> 06:25:00 UTC" duration="300" duration_dec="00:05:00"<br>
>> running_status="0" free_CA_mo<br>
>> de="1"><br>
>> <DESC id="0x4d" length="164"<br>
>> value="6672651505532e412e562e2064657320e96d697373696f6e738a055072e973656e74e920706172204f6d617220657420467265642e20556e20<br>
>> 736b657463682064274f6d617220657420467265642064616e73206c657175656c206c652064756f20e97472696c6c652c206176656320756e2068756d6f757220636f72726f7369662c20<br>
>> 6c65207065746974206d6f6e6465206465206c612074e96ce9766973696f6e2e"><br>
>> <SHORT_EVENT_DESC lang="fre" event_name="S.A.V. des émissions"<br>
>> text="Présenté par Omar et Fred. Un sketch d&apos;Omar et Fred dans<br>
>> lequel le duo étril<br>
>> le, avec un humour corrosif, le petit monde de la télévision."/><br>
>> </DESC><br>
>> </EVENT><br>
>><br>
>> What would you recommend to debug and fix that?<br>
>><br>
>> Regards,<br>
>> Ludovic BOUÉ<br>
><br>
> Hi Georgi,<br>
><br>
> I save a little bit of the stream and run dvb_print_si but I get similar<br>
> errors. You can find the dump here <a href="http://resel.fr/~lboue/canalplus.dump" target="_blank">http://resel.fr/~lboue/canalplus.dump</a><br>
> Could you look at it you a TS analyzer?<br>
><br>
> # cat canalplus.dump| ./dvb_print_si -x xml |grep invalid_sdt_section<br>
> <ERROR type="invalid_sdt_section" pid="17"/><br>
> <ERROR type="invalid_sdt_section" pid="17"/><br>
> <ERROR type="invalid_sdt_section" pid="17"/><br>
<br>
As expected the incoming SDT is buggy. See the attachment.<br>
<br>
--<br>
Georgi Chorbadzhiyski<br>
<a href="http://georgi.unixsol.org/" target="_blank">http://georgi.unixsol.org/</a><br>
----- Mail original -----<br>
<br>
De: "Nuno Mota" <<a href="mailto:ambershaper@gmail.com" target="_blank">ambershaper@gmail.com</a>><br>
À: <a href="mailto:dvblast-devel@videolan.org" target="_blank">dvblast-devel@videolan.org</a><br>
Envoyé: Mercredi 7 Novembre 2012 14:08:34<br>
Objet: [dvblast-devel] warning: invalid SDT received<br>
<div><div><br>
Hi,<br>
<br>
Found this while tuning Astra 19.2°E - 12603.75 H.<br>
<br>
Works fine using Mumudvb.<br>
<br>
debug: setting filter on PID 0<br>
debug: setting filter on PID 16<br>
debug: setting filter on PID 17<br>
debug: setting filter on PID 18<br>
debug: setting filter on PID 19<br>
debug: setting filter on PID 20<br>
debug: frontend has acquired signal<br>
debug: frontend has acquired carrier<br>
debug: frontend has acquired stable FEC<br>
debug: frontend has acquired sync<br>
info: frontend has acquired lock<br>
debug: - Bit error rate: 67108608<br>
debug: - Signal strength: 67074343<br>
debug: - SNR: 67108863<br>
debug: new PAT tsid=1111 version=14<br>
debug: * NIT pid=16<br>
debug: * program number=13 pid=32<br>
debug: * program number=7201 pid=7201<br>
debug: * program number=7203 pid=7203<br>
debug: * program number=7212 pid=7212<br>
debug: * program number=7216 pid=7216<br>
....<br>
debug: * program number=28547 pid=5630<br>
debug: end PAT<br>
warning: invalid SDT received<br>
<br>
I'm not much familiar with this but I guess this has something to do with biTStream parsing.<br>
<br>
Best regards,<br>
Nuno<br>
<br>
</div></div>_______________________________________________<br>
dvblast-devel mailing list<br>
<a href="mailto:dvblast-devel@videolan.org" target="_blank">dvblast-devel@videolan.org</a><br>
<a href="http://mailman.videolan.org/listinfo/dvblast-devel" target="_blank">http://mailman.videolan.org/listinfo/dvblast-devel</a><br>
</blockquote></div><br></div>
</div></div></div><br>
</div></div></blockquote></div><br>