From fd6c846050fa16bb69255a55a65f3767fb1c94ce Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Sat, 28 Nov 2015 20:41:51 +0100 Subject: [PATCH] mpegts network: add 'Provider network name', fixes #3311 --- src/input/mpegts.h | 1 + src/input/mpegts/mpegts_network.c | 28 +++++++++++++++++++++------- 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/src/input/mpegts.h b/src/input/mpegts.h index 4f47f100a..46a252fc5 100644 --- a/src/input/mpegts.h +++ b/src/input/mpegts.h @@ -299,6 +299,7 @@ struct mpegts_network * Identification */ char *mn_network_name; + char *mn_provider_network_name; /* * Inputs diff --git a/src/input/mpegts/mpegts_network.c b/src/input/mpegts/mpegts_network.c index f2a15b3f6..eeef1aaea 100644 --- a/src/input/mpegts/mpegts_network.c +++ b/src/input/mpegts/mpegts_network.c @@ -144,6 +144,13 @@ const idclass_t mpegts_network_class = .off = offsetof(mpegts_network_t, mn_network_name), .notify = idnode_notify_title_changed, }, + { + .type = PT_STR, + .id = "pnetworkname", + .name = N_("Provider network name"), + .off = offsetof(mpegts_network_t, mn_provider_network_name), + .opts = PO_ADVANCED | PO_HIDDEN, + }, { .type = PT_U16, .id = "nid", @@ -412,13 +419,20 @@ mpegts_network_set_network_name ( mpegts_network_t *mn, const char *name ) { char buf[256]; - if (mn->mn_network_name) return 0; - if (!name || name[0] == '\0' || !strcmp(name, mn->mn_network_name ?: "")) - return 0; - tvh_str_update(&mn->mn_network_name, name); - mn->mn_display_name(mn, buf, sizeof(buf)); - tvhdebug("mpegts", "%s - set name %s", buf, name); - return 1; + int save = 0; + if (mn->mn_network_name == NULL || mn->mn_network_name[0] == '\0') { + if (name && name[0] && strcmp(name, mn->mn_network_name ?: "")) { + tvh_str_update(&mn->mn_network_name, name); + mn->mn_display_name(mn, buf, sizeof(buf)); + tvhdebug("mpegts", "%s - set name %s", buf, name); + save = 1; + } + } + if (strcmp(name ?: "", mn->mn_network_name ?: "")) { + tvh_str_update(&mn->mn_provider_network_name, name ?: ""); + save = 1; + } + return save; } void -- 2.47.3