[libdvbpsi-devel] PATCH: ignore stuffing sections (0x72)

Marian Ďurkovič md at bts.sk
Tue Aug 18 12:41:05 CEST 2009


Hi,

   on one of our DVB feeds we ran into a problem with continuous CRC_32
errors printed by libdvbpsi. A close investigation showed, that those
correspond to stuffing sections (0x72) of PID 18, where the previous
payload was invalidated during TS muxing. Here is the section dump:

72 f0 b4 ff ff ff ff ff .....

   As per spec, the stuffing section does not have a CRC_32 and is
completely useless. Thus the attached patch ensures that such sections
are trashed immediately without attempting to compute CRC_32 (which
can't succeed anyway).

      With kind regards,

            M.

--------------------------------------------------------------------------
----                                                                  ----
----   Marian Ďurkovič                       network  manager         ----
----                                                                  ----
----   Slovak Technical University           Tel: +421 2 571 041 81   ----
----   Computer Centre, Nám. Slobody 17      Fax: +421 2 524 94 351   ----
----   812 43 Bratislava, Slovak Republic    E-mail/sip: md at bts.sk    ----
----                                                                  ----
--------------------------------------------------------------------------
-------------- next part --------------
--- src/dvbpsi.c.orig	2009-08-18 12:26:06.000000000 +0200
+++ src/dvbpsi.c	2009-08-18 12:27:33.000000000 +0200
@@ -290,7 +290,7 @@
         if(p_section->b_syntax_indicator)
           p_section->p_payload_end -= 4;
 
-        if(dvbpsi_ValidPSISection(p_section))
+        if(p_section->p_data[0]!=0x72 && dvbpsi_ValidPSISection(p_section))
         {
           /* PSI section is valid */
           p_section->i_table_id = p_section->p_data[0];


More information about the libdvbpsi-devel mailing list