Mailing List Archive

[MythTV/mythtv] 5bc4cd: EIT event flow rate control
Branch: refs/heads/master
Home: https://github.com/MythTV/mythtv
Commit: 5bc4cd321ecb9ee4f714570f73de0be240d32eb7
https://github.com/MythTV/mythtv/commit/5bc4cd321ecb9ee4f714570f73de0be240d32eb7
Author: Klaas de Waal <kdewaal@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.


_______________________________________________
mythtv-commits mailing list
mythtv-commits@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-commits