[dvblast-devel] [Git][videolan/dvblast][master] 2 commits: fix memory leak when reloading the application

Massiot gitlab at videolan.org
Sat Apr 22 18:22:31 CEST 2017


Massiot pushed to branch master at videolan / dvblast


Commits:
5bc78887 by Christophe Massiot at 2017-04-22T18:20:31+02:00
fix memory leak when reloading the application

- - - - -
aa89bb56 by Christophe Massiot at 2017-04-22T18:21:12+02:00
also remap ONID in EIT

- - - - -


3 changed files:

- NEWS
- demux.c
- dvblast.c


Changes:

=====================================
NEWS
=====================================
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,9 @@
+Changes between 3.1 and 3.2:
+----------------------------
+  * Fix HEVC support
+  * Fix memory leak on loading the configuration
+  * Also remap ONID in EIT
+
 Changes between 3.0 and 3.1:
 ----------------------------
   * Print source address in UDP input


=====================================
demux.c
=====================================
--- a/demux.c
+++ b/demux.c
@@ -1417,6 +1417,7 @@ static void SendEIT( sid_t *p_sid, mtime_t i_dts, uint8_t *p_eit )
     uint8_t i_table_id = psi_get_tableid( p_eit );
     bool b_epg = i_table_id >= EIT_TABLE_ID_SCHED_ACTUAL_FIRST &&
                  i_table_id <= EIT_TABLE_ID_SCHED_ACTUAL_LAST;
+    uint16_t i_onid = eit_get_onid(p_eit);
     int i;
 
     for ( i = 0; i < i_nb_outputs; i++ )
@@ -1436,11 +1437,17 @@ static void SendEIT( sid_t *p_sid, mtime_t i_dts, uint8_t *p_eit )
             else
                 eit_set_sid( p_eit, p_output->config.i_sid );
 
+            if ( p_output->config.i_onid )
+                eit_set_onid( p_eit, p_output->config.i_onid );
+
             psi_set_crc( p_eit );
 
             OutputPSISection( p_output, p_eit, EIT_PID, &p_output->i_eit_cc,
                               i_dts, &p_output->p_eit_ts_buffer,
                               &p_output->i_eit_ts_buffer_offset );
+
+            if ( p_output->config.i_onid )
+                eit_set_onid( p_eit, i_onid );
         }
     }
 }


=====================================
dvblast.c
=====================================
--- a/dvblast.c
+++ b/dvblast.c
@@ -252,6 +252,7 @@ static void config_strdvb( dvb_string_t *p_dvb_string, const char *psz_string )
     dvb_string_clean(p_dvb_string);
     p_dvb_string->p = dvb_string_set((uint8_t *)psz_iconv, strlen(psz_iconv),
                                      psz_dvb_charset, &p_dvb_string->i);
+    free(psz_iconv);
 }
 
 static bool config_ParseHost( output_config_t *p_config, char *psz_string )
@@ -688,7 +689,7 @@ void usage()
 
 int main( int i_argc, char **pp_argv )
 {
-    const char *psz_network_name = "DVBlast - http://www.videolan.org/projects/dvblast.html";
+    const char *psz_network_name = "DVBlast - videolan.org";
     const char *psz_provider_name = NULL;
     char *psz_dup_config = NULL;
     struct sched_param param;
@@ -1253,6 +1254,7 @@ int main( int i_argc, char **pp_argv )
 
     comm_Close();
     block_Vacuum();
+    ev_loop_destroy(event_loop);
 
     return EXIT_SUCCESS;
 }



View it on GitLab: https://code.videolan.org/videolan/dvblast/compare/12f1863d17f470ae11c46a8aacb6a1b6f8ddc5d5...aa89bb56b6a4a728dae34cec21cf40dc9dfabc9a


More information about the dvblast-devel mailing list