From: Jaroslav Kysela Date: Sun, 5 Apr 2015 18:42:31 +0000 (+0200) Subject: mpegts: improve streaming latency for low-bandwidth subscriptions X-Git-Tag: v4.1~173 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d58afc04154623303ed7fb883d7ed31a8a9f9fdf;p=thirdparty%2Ftvheadend.git mpegts: improve streaming latency for low-bandwidth subscriptions --- diff --git a/src/input/mpegts.h b/src/input/mpegts.h index 28bf74f81..66eda6d01 100644 --- a/src/input/mpegts.h +++ b/src/input/mpegts.h @@ -521,6 +521,7 @@ struct mpegts_service * in order to recude load. */ sbuf_t s_tsbuf; + time_t s_tsbuf_last; /** * Average continuity errors diff --git a/src/input/mpegts/tsdemux.c b/src/input/mpegts/tsdemux.c index a5c04610a..44750bd9b 100644 --- a/src/input/mpegts/tsdemux.c +++ b/src/input/mpegts/tsdemux.c @@ -273,9 +273,11 @@ ts_remux(mpegts_service_t *t, const uint8_t *src, int len, int error) if (error) sb->sb_err++; - if(sb->sb_ptr < TS_REMUX_BUFSIZE) + if(dispatch_clock == t->s_tsbuf_last && sb->sb_ptr < TS_REMUX_BUFSIZE) return; + t->s_tsbuf_last = dispatch_clock; + pb = pktbuf_alloc(sb->sb_data, sb->sb_ptr); pb->pb_err = sb->sb_err;