diff --git a/src/input/mpegts/iptv/iptv_mux.c b/src/input/mpegts/iptv/iptv_mux.c index b3a9b102..c06f8ccc 100644 --- a/src/input/mpegts/iptv/iptv_mux.c +++ b/src/input/mpegts/iptv/iptv_mux.c @@ -50,6 +50,12 @@ const idclass_t iptv_mux_class = .name = "ATSC", .off = offsetof(iptv_mux_t, mm_iptv_atsc), }, + { + .type = PT_STR, + .id = "iptv_svcname", + .name = "Service Name", + .off = offsetof(iptv_mux_t, mm_iptv_svcname), + }, {} } }; diff --git a/src/input/mpegts/iptv/iptv_private.h b/src/input/mpegts/iptv/iptv_private.h index bd59c334..869318da 100644 --- a/src/input/mpegts/iptv/iptv_private.h +++ b/src/input/mpegts/iptv/iptv_private.h @@ -83,9 +83,12 @@ struct iptv_mux uint8_t *mm_iptv_tsb; int mm_iptv_pos; + char *mm_iptv_svcname; + iptv_handler_t *im_handler; void *im_data; + }; iptv_mux_t* iptv_mux_create ( const char *uuid, htsmsg_t *conf ); diff --git a/src/input/mpegts/iptv/iptv_service.c b/src/input/mpegts/iptv/iptv_service.c index f5806978..c71c7916 100644 --- a/src/input/mpegts/iptv/iptv_service.c +++ b/src/input/mpegts/iptv/iptv_service.c @@ -49,5 +49,10 @@ iptv_service_create0 is->s_config_save = iptv_service_config_save; + /* Set default service name */ + if (!is->s_dvb_svcname || !*is->s_dvb_svcname) + if (im->mm_iptv_svcname) + is->s_dvb_svcname = strdup(im->mm_iptv_svcname); + return is; }