[mythtv-commits] [MythTV/mythtv] 5bc4cd: EIT event flow rate control

kmdewaal noreply at github.com
Mon Dec 28 20:31:46 UTC 2020

  Branch: refs/heads/master
  Home:   https://github.com/MythTV/mythtv
  Commit: 5bc4cd321ecb9ee4f714570f73de0be240d32eb7
  Author: Klaas de Waal <kdewaal at mythtv.org>
  Date:   2020-12-28 (Mon, 28 Dec 2020)

  Changed paths:
    M mythtv/libs/libmythtv/eithelper.cpp
    M mythtv/libs/libmythtv/eithelper.h
    M mythtv/libs/libmythtv/eitscanner.cpp

  Log Message:
  EIT event flow rate control

Processing EIT events is limited to 20 events per 400 milliseconds per thread to insure
that the time-critical functions of the backend are only minimally influenced.
Minor rate fluctuations are handled with an event queue for the incoming events.
Flow rate control is now implemented by discarding events when the event queue is full.
Previously, flow rate control was implemented by adding and removing the EIT pids
from the currently active PID filter depending on the number of events in the queue.
This was not particularly elegant as it lead to continuous on/off switching in some
situations and each change caused error messages about discontinuities in the packet stream.
Note that processing transport stream packets and creating EIT events is relatively
simple but processing EIT events including updating the database is much more work.

More information about the mythtv-commits mailing list