From: Jaroslav Kysela Date: Wed, 14 May 2014 21:10:59 +0000 (+0200) Subject: IPTV: add configurable stream timeout X-Git-Tag: v4.1~2091 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b857a843407a91fd1b24fb1aab79ed8f0fccc627;p=thirdparty%2Ftvheadend.git IPTV: add configurable stream timeout --- diff --git a/src/input/mpegts/iptv/iptv.c b/src/input/mpegts/iptv/iptv.c index 1195c3f7a..1d2b44b39 100644 --- a/src/input/mpegts/iptv/iptv.c +++ b/src/input/mpegts/iptv/iptv.c @@ -161,6 +161,14 @@ iptv_input_get_weight ( mpegts_input_t *mi ) } +static int +iptv_input_get_grace ( 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_max_timeout; +} + static int iptv_input_start_mux ( mpegts_input_t *mi, mpegts_mux_instance_t *mmi ) { @@ -406,6 +414,13 @@ const idclass_t iptv_network_class = { .off = offsetof(iptv_network_t, in_max_bandwidth), .def.i = 0, }, + { + .type = PT_U32, + .id = "max_timeout", + .name = "Max timeout (seconds)", + .off = offsetof(iptv_network_t, in_max_timeout), + .def.i = 15, + }, {} } }; @@ -529,6 +544,7 @@ void iptv_init ( void ) iptv_input->mi_stop_mux = iptv_input_stop_mux; iptv_input->mi_is_free = iptv_input_is_free; iptv_input->mi_get_weight = iptv_input_get_weight; + iptv_input->mi_get_grace = iptv_input_get_grace; iptv_input->mi_display_name = iptv_input_display_name; iptv_input->mi_enabled = 1; diff --git a/src/input/mpegts/iptv/iptv_private.h b/src/input/mpegts/iptv/iptv_private.h index 966a27461..c46fad863 100644 --- a/src/input/mpegts/iptv/iptv_private.h +++ b/src/input/mpegts/iptv/iptv_private.h @@ -64,6 +64,7 @@ struct iptv_network uint32_t in_max_streams; uint32_t in_max_bandwidth; + uint32_t in_max_timeout; }; iptv_network_t *iptv_network_create0 ( const char *uuid, htsmsg_t *conf );