]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
mpegts mux: handle better mm_nicename updates
authorJaroslav Kysela <perex@perex.cz>
Wed, 7 Nov 2018 21:49:13 +0000 (22:49 +0100)
committerJaroslav Kysela <perex@perex.cz>
Wed, 7 Nov 2018 21:49:13 +0000 (22:49 +0100)
src/input/mpegts.h
src/input/mpegts/mpegts_mux.c
src/input/mpegts/mpegts_mux_dvb.c

index 0372359646cde456387593b75ce75842df77c299..696e842f63d881ae8c207f0e6f49dc7046d442a8 100644 (file)
@@ -967,6 +967,7 @@ void mpegts_mux_scan_done ( mpegts_mux_t *mm, const char *buf, int res );
 void mpegts_mux_bouquet_rescan ( const char *src, const char *extra );
 
 void mpegts_mux_nice_name( mpegts_mux_t *mm, char *buf, size_t len );
+void mpegts_mux_update_nice_name( mpegts_mux_t *mm );
 
 int mpegts_mux_class_scan_state_set ( void *, const void * );
 
index bf45899e29cc6da4e5a9669ef27293d6350284de..000891a00772202f49b6acba14f340b237846be5 100644 (file)
@@ -241,9 +241,7 @@ mpegts_mux_instance_start
   }
 
   /* Update nicename */
-  mpegts_mux_nice_name(mm, buf, sizeof(buf));
-  free(mm->mm_nicename);
-  mm->mm_nicename = strdup(buf);
+  mpegts_mux_update_nice_name(mm);
 
   /* Dead service check */
   LIST_FOREACH(s, &mm->mm_services, s_dvb_mux_link)
@@ -1257,7 +1255,6 @@ mpegts_mux_t *
 mpegts_mux_post_create ( mpegts_mux_t *mm )
 {
   mpegts_network_t *mn;
-  char buf[256];
 
   if (mm == NULL)
     return NULL;
@@ -1266,9 +1263,8 @@ mpegts_mux_post_create ( mpegts_mux_t *mm )
   if (mm->mm_enabled == MM_IGNORE)
     mm->mm_scan_result = MM_SCAN_IGNORE;
 
-  mpegts_mux_nice_name(mm, buf, sizeof(buf));
-  tvhtrace(LS_MPEGTS, "%s - created", buf);
-  mm->mm_nicename = strdup(buf);
+  mpegts_mux_update_nice_name(mm);
+  tvhtrace(LS_MPEGTS, "%s - created", mm->mm_nicename);
 
   /* Initial scan */
   if (mm->mm_scan_result == MM_SCAN_NONE || !mn->mn_skipinitscan)
@@ -1377,6 +1373,16 @@ mpegts_mux_nice_name( mpegts_mux_t *mm, char *buf, size_t len )
     mm->mm_network->mn_display_name(mm->mm_network, buf, len);
 }
 
+void
+mpegts_mux_update_nice_name( mpegts_mux_t *mm )
+{
+  char buf[256];
+
+  mpegts_mux_nice_name(mm, buf, sizeof(buf));
+  free(mm->mm_nicename);
+  mm->mm_nicename = strdup(buf);
+}
+
 /* **************************************************************************
  * Subscriptions
  * *************************************************************************/
index 0e09d041a26621149afb00347a867197e3346f4b..dfe8eac792e4f89c2ad05000d73fb22e99b693e5 100644 (file)
@@ -1246,6 +1246,8 @@ dvb_mux_create0
   lm->mm_display_name     = dvb_mux_display_name;
   lm->mm_config_save      = dvb_mux_config_save;
 
+  mpegts_mux_update_nice_name(mm);
+
   /* No config */
   if (!conf) return lm;