]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
mpegts: improve streaming latency for low-bandwidth subscriptions
authorJaroslav Kysela <perex@perex.cz>
Sun, 5 Apr 2015 18:42:31 +0000 (20:42 +0200)
committerJaroslav Kysela <perex@perex.cz>
Sun, 5 Apr 2015 18:42:31 +0000 (20:42 +0200)
src/input/mpegts.h
src/input/mpegts/tsdemux.c

index 28bf74f8188093c723479952504911a0805d27de..66eda6d019ea0549fb7d85865c875cac64ba0e12 100644 (file)
@@ -521,6 +521,7 @@ struct mpegts_service
    * in order to recude load.
    */
   sbuf_t s_tsbuf;
+  time_t s_tsbuf_last;
 
   /**
    * Average continuity errors
index a5c04610a1f0197c040b53280d2b6c6217355aa8..44750bd9b1b0d4bc41a996c60dffaec505de509e 100644 (file)
@@ -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;