diff --git a/docs/html/config_muxes.html b/docs/html/config_muxes.html
index e59a500a..9630afe2 100644
--- a/docs/html/config_muxes.html
+++ b/docs/html/config_muxes.html
@@ -52,7 +52,8 @@
ATSC
whether or not this is an ATSC IPTV source.
-
+ Priority
+ IPTV : The mux priority value (higher value = higher priority to use services from this mux). Value 0 means use the IPTV network priority value.
diff --git a/src/input/mpegts/iptv/iptv.c b/src/input/mpegts/iptv/iptv.c
index a1b045bf..1b2f8c6a 100644
--- a/src/input/mpegts/iptv/iptv.c
+++ b/src/input/mpegts/iptv/iptv.c
@@ -174,7 +174,7 @@ iptv_input_get_priority ( mpegts_input_t *mi, mpegts_mux_t *mm )
{
iptv_mux_t *im = (iptv_mux_t *)mm;
iptv_network_t *in = (iptv_network_t *)im->mm_network;
- return in->in_priority;
+ return im->mm_iptv_priority > 0 ? im->mm_iptv_priority : in->in_priority;
}
static int
diff --git a/src/input/mpegts/iptv/iptv_mux.c b/src/input/mpegts/iptv/iptv_mux.c
index de4010f5..7084b9f2 100644
--- a/src/input/mpegts/iptv/iptv_mux.c
+++ b/src/input/mpegts/iptv/iptv_mux.c
@@ -80,6 +80,14 @@ const idclass_t iptv_mux_class =
.ic_class = "iptv_mux",
.ic_caption = "IPTV Multiplex",
.ic_properties = (const property_t[]){
+ {
+ .type = PT_INT,
+ .id = "priority",
+ .name = "Priority",
+ .off = offsetof(iptv_mux_t, mm_iptv_priority),
+ .def.i = 0,
+ .opts = PO_ADVANCED
+ },
{
.type = PT_STR,
.id = "iptv_url",
diff --git a/src/input/mpegts/iptv/iptv_private.h b/src/input/mpegts/iptv/iptv_private.h
index a71c6cc1..f9936bc4 100644
--- a/src/input/mpegts/iptv/iptv_private.h
+++ b/src/input/mpegts/iptv/iptv_private.h
@@ -77,6 +77,7 @@ struct iptv_mux
{
mpegts_mux_t;
+ int mm_iptv_priority;
int mm_iptv_fd;
udp_connection_t *mm_iptv_connection;
char *mm_iptv_url;