[dvblast-devel] demux: Set eit p/f and eit schedule flags in SDT if EPG output is requested .

Mario Tasev git at videolan.org
Wed Feb 6 15:31:54 CET 2013


dvblast | branch: master | Mario Tasev <darkstar at bourgas.biz> | Wed Feb  6 16:28:41 2013 +0200| [918eec36baa495396a973cb83a0c5df2a2db2075] | committer: Georgi Chorbadzhiyski

demux: Set eit p/f and eit schedule flags in SDT if EPG output is requested.

There are some providers that send EPG for a service but do not have
the correct flags set in SDT. This patch sets eit p/f and eit schedule
flags in SDT if the output have EPG output enabled.

> http://git.videolan.org/gitweb.cgi/dvblast.git/?a=commit;h=918eec36baa495396a973cb83a0c5df2a2db2075
---

 demux.c |   12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/demux.c b/demux.c
index 07a1ea2..78c0fed 100644
--- a/demux.c
+++ b/demux.c
@@ -1441,10 +1441,18 @@ static void NewSDT( output_t *p_output )
     p_service = sdt_get_service( p, 0 );
     sdtn_init( p_service );
     sdtn_set_sid( p_service, p_output->config.i_sid );
-    if ( sdtn_get_eitschedule(p_current_service) )
+
+    if ( (p_output->config.i_config & OUTPUT_EPG) == OUTPUT_EPG )
+    {
         sdtn_set_eitschedule(p_service);
-    if ( sdtn_get_eitpresent(p_current_service) )
         sdtn_set_eitpresent(p_service);
+    } else {
+        if ( sdtn_get_eitschedule(p_current_service) )
+            sdtn_set_eitschedule(p_service);
+        if ( sdtn_get_eitpresent(p_current_service) )
+            sdtn_set_eitpresent(p_service);
+    }
+
     sdtn_set_running( p_service, sdtn_get_running(p_current_service) );
     /* Do not set free_ca */
     sdtn_set_desclength( p_service, sdtn_get_desclength(p_current_service) );



More information about the dvblast-devel mailing list