This is an automatic generated email to let you know that the following patch 
were queued at the 
http://git.linuxtv.org/cgit.cgi/v4l-utils.git tree:

Subject: dvb-scan: fix the logic for multi-section handling
Author:  Mauro Carvalho Chehab <[email protected]>
Date:    Sun May 7 11:30:40 2017 +0000

The logic that parses multisection handling is broken.
Right now, it parses twice the initial section, causing
duplicated entries at the tables.

The net result is that, on tables like SDT, channels
appear duplicated. Before this patch, what was happening
was:

        dvb_read_sections: waiting for table ID 0x42, program ID 0x11
        dvb_parse_section: received table 0x42, extension ID 0x4072, section 0/1
        dvb_parse_section: received table 0x42, extension ID 0x4072, section 1/1
        dvb_parse_section: received table 0x42, extension ID 0x4072, section 0/1
        dvb_parse_section: table 0x42, extension ID 0x4072: done

So, section 0/1 were parsed twice. After that, it now properly
detects that section 0/1 was already parsed:
        dvb_read_sections: waiting for table ID 0x42, program ID 0x11
        dvb_parse_section: received table 0x42, extension ID 0x4072, section 0/1
        dvb_parse_section: received table 0x42, extension ID 0x4072, section 1/1
        dvb_parse_section: table 0x42, extension ID 0x4072: done

Reported-by: Reinhard Speyerer <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>

 lib/libdvbv5/dvb-scan.c | 6 ------
 1 file changed, 6 deletions(-)

---

http://git.linuxtv.org/cgit.cgi/v4l-utils.git/commit/?id=12b3883e90496ca0de89682b6fbe08d9986b218a
diff --git a/lib/libdvbv5/dvb-scan.c b/lib/libdvbv5/dvb-scan.c
index 07fe13e808a8..7ff8ba4f0446 100644
--- a/lib/libdvbv5/dvb-scan.c
+++ b/lib/libdvbv5/dvb-scan.c
@@ -239,12 +239,6 @@ static int dvb_parse_section(struct dvb_v5_fe_parms_priv 
*parms,
                                return -1;
                        }
                        ext += i;
-
-                       memset(ext, 0, sizeof(*ext));
-                       ext->ext_id = h.id;
-                       ext->first_section = h.section_id;
-                       ext->last_section = h.last_section;
-                       new = 1;
                }
        }
 

_______________________________________________
linuxtv-commits mailing list
[email protected]
https://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to