From: Jaroslav Kysela Date: Wed, 7 Nov 2018 21:49:13 +0000 (+0100) Subject: mpegts mux: handle better mm_nicename updates X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a093b437146189a35ef8be6796a52ee12884c52d;p=thirdparty%2Ftvheadend.git mpegts mux: handle better mm_nicename updates --- diff --git a/src/input/mpegts.h b/src/input/mpegts.h index 037235964..696e842f6 100644 --- a/src/input/mpegts.h +++ b/src/input/mpegts.h @@ -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 * ); diff --git a/src/input/mpegts/mpegts_mux.c b/src/input/mpegts/mpegts_mux.c index bf45899e2..000891a00 100644 --- a/src/input/mpegts/mpegts_mux.c +++ b/src/input/mpegts/mpegts_mux.c @@ -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 * *************************************************************************/ diff --git a/src/input/mpegts/mpegts_mux_dvb.c b/src/input/mpegts/mpegts_mux_dvb.c index 0e09d041a..dfe8eac79 100644 --- a/src/input/mpegts/mpegts_mux_dvb.c +++ b/src/input/mpegts/mpegts_mux_dvb.c @@ -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;