From d77ec6c317ed636ad552a4f452caca555a73e71e Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Mon, 11 Aug 2014 10:42:20 +0200 Subject: [PATCH] IPTV: Add priority value also for muxes --- docs/html/config_muxes.html | 3 ++- src/input/mpegts/iptv/iptv.c | 2 +- src/input/mpegts/iptv/iptv_mux.c | 8 ++++++++ src/input/mpegts/iptv/iptv_private.h | 1 + 4 files changed, 12 insertions(+), 2 deletions(-) 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;