From: Jaroslav Kysela Date: Tue, 25 Apr 2017 15:36:29 +0000 (+0200) Subject: mpegts: mux sorting - sort by uuid and fix the start monoclock comparison X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fc694cfc614440429344b04ccadceaf8b624819e;p=thirdparty%2Ftvheadend.git mpegts: mux sorting - sort by uuid and fix the start monoclock comparison --- diff --git a/src/input/mpegts/mpegts_mux.c b/src/input/mpegts/mpegts_mux.c index 8b74b3f9d..ff48c91c8 100644 --- a/src/input/mpegts/mpegts_mux.c +++ b/src/input/mpegts/mpegts_mux.c @@ -1485,7 +1485,7 @@ mpegts_mux_compare ( mpegts_mux_t *a, mpegts_mux_t *b ) if (r == 0) r = mc1->dmc_fe_freq - mc2->dmc_fe_freq; } - return r; + return r ?: uuid_cmp(&a->mm_id.in_uuid, &b->mm_id.in_uuid); } /****************************************************************************** diff --git a/src/input/mpegts/mpegts_network_scan.c b/src/input/mpegts/mpegts_network_scan.c index 31e5e0bf4..47f2b7d56 100644 --- a/src/input/mpegts/mpegts_network_scan.c +++ b/src/input/mpegts/mpegts_network_scan.c @@ -36,9 +36,10 @@ mm_cmp ( mpegts_mux_t *a, mpegts_mux_t *b ) { int r = b->mm_scan_weight - a->mm_scan_weight; if (r == 0) { - r = MINMAX(-1, 1, b->mm_start_monoclock - a->mm_start_monoclock); - if (r == 0) + int64_t l = b->mm_start_monoclock - a->mm_start_monoclock; + if (l == 0) return mpegts_mux_compare(a, b); + r = l > 0 ? 1 : -1; } return r; }