Ticket #10102 (new Patch - Feature)
Opened 19 months ago
Last modified 8 months ago
EIT listener changes
|Reported by:||David Matthews <dm@…>||Owned by:||stuarta|
|Component:||MythTV - EIT||Version:||Master Head|
This patch reworks the code that sets up listeners for EIT. While testing the EITpf timing code I found a problem when recording two programmes on the same multiplex and tracked it down to the way listeners are set up. This patch is almost completely independent of the EITpf timing patch (#10101) apart from one place in DVBStreamData::UpdateEITListeners where EIT listening is enabled if _dvb_eit_listeners.size() is non-zero.
The changes move responsibility for adding and removing listeners down from StreamHandler? to the derived classes of MPEGStreamData. I have tidied up the code for DVBStreamData but I've kept the changes to ATSCStreamData to a minimum because I couldn't test them.
The problem with the existing code was primarily that StreamHandler::UpdateListeningForEIT used the _eit_pids variable in StreamHandler? and updated it within the loop, using the new value for the next stream. That meant that EIT filtering could be on or off depending on the order of the streams in _stream_data_list. The fact that passive EIT scanning could be turned off during multirec recordings probably wouldn't make much difference since it is all statistical anyway.