vlc | branch: master | Francois Cartegnie <[email protected]> | Mon Apr 18 
11:32:37 2016 +0200| [ccfa5770c8eb7b65e57ba7d3b6224a37a838106a] | committer: 
Francois Cartegnie

access: dvb: scan: do not create any multiplex from SDT

Never will have any tuning information, so it must
only rely on tables parsing order.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=ccfa5770c8eb7b65e57ba7d3b6224a37a838106a
---

 modules/access/dvb/scan.c |   22 +++++++---------------
 1 file changed, 7 insertions(+), 15 deletions(-)

diff --git a/modules/access/dvb/scan.c b/modules/access/dvb/scan.c
index 42fc339..3868367 100644
--- a/modules/access/dvb/scan.c
+++ b/modules/access/dvb/scan.c
@@ -903,21 +903,13 @@ static void PATCallBack( scan_session_t *p_session, 
dvbpsi_pat_t *p_pat )
     }
 }
 
-static void ParseSDT( vlc_object_t *p_obj, scan_t *p_scan,
-                      const dvbpsi_sdt_t *p_sdt, const scan_tuner_config_t 
*p_cfg )
+static void ParseSDT( vlc_object_t *p_obj, scan_t *p_scan, const dvbpsi_sdt_t 
*p_sdt )
 {
     VLC_UNUSED(p_obj);
-    scan_multiplex_t *p_mplex;
-    if( p_cfg )
-    {
-        /* SDT must not create new service without proper config ( local )
-           or it must has been created by another network NIT (providing freq) 
*/
-        p_mplex = scan_FindOrCreateMultiplex( p_scan, p_sdt->i_extension, 
p_cfg );
-    }
-    else
-    {
-        p_mplex = scan_FindMultiplex( p_scan, p_sdt->i_extension );
-    }
+    /* SDT must not create new service without proper config ( local )
+       or it must has been created by another network NIT (providing freq).
+       Guaranteed by parsing order( PAT, current ts SDT ) or ( NIT, SDT ) */
+    scan_multiplex_t *p_mplex = scan_FindMultiplex( p_scan, p_sdt->i_extension 
);
     if( unlikely(p_mplex == NULL) )
         return ;
 
@@ -1391,7 +1383,7 @@ void scan_session_Destroy( scan_t *p_scan, scan_session_t 
*p_session )
 
     /* Parse SDT (Maps names to programs) */
     if( p_sdt )
-        ParseSDT( p_scan->p_obj, p_scan, p_sdt, &p_session->cfg );
+        ParseSDT( p_scan->p_obj, p_scan, p_sdt );
 
     /* Do the same for all other networks */
     for( size_t i=0; i<p_session->others.i_nit; i++ )
@@ -1399,7 +1391,7 @@ void scan_session_Destroy( scan_t *p_scan, scan_session_t 
*p_session )
 
     /* Map service name for all other ts/networks */
     for( size_t i=0; i<p_session->others.i_sdt; i++ )
-        ParseSDT( p_scan->p_obj, p_scan, p_sdt, NULL );
+        ParseSDT( p_scan->p_obj, p_scan, p_sdt );
 
     /* */
     scan_session_Delete( p_session );

_______________________________________________
vlc-commits mailing list
[email protected]
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to