Added more 'text modes' to the ATSC Multiple String Structure decoder and convert text to UTF-8. (Fixes #5162)
- Added support for decoding ATSC's "Multiple String Structure" text modes 0x1-0x6, 0x9-0x10, 0x20-0x27, 0x30-0x33.
- Convert decoded text to UTF-8 instead of ISO-8859-1.
- For unsupported 'compression types' or 'text modes' return a text string "[comptype=0x??,mode=0x??]" indicating
the attempted compression type and text mode instead of the text segment.
Text output from ATSC's "Multiple String Structure" decoder should properly render in web browsers, specifically Unicode characters >= 0x80.
ca756e3...
by
Damien Fouilleul <email address hidden>
Allow network scan to modify muxes
When 'change muxes' option for network discovery is enabled, allow network scan to modify muxes rather than duplicate them on minor changes such as FEC
Fixed and cleanup the "PSIP: ATSC Grabber" module (Fixes #5610)
- Bumped up limit on number of supported EIT/ETT tables from 5 to 256 (this is the max number of EIT/ETT tables in the ATSC specification)
- Remove table type 4 as a valid ETT table, there is no support for this table here and table type 4 doesn't supply any EPG data--just long names for channels/services, etc.
- Removed the very rapid toggling between mpegts_table_{add,destroy}(...) calls on EIT/ETT tables that caused continuous enabling/disabling of EIT and ETT PIDs.
- Added an 'ETM Location' check to EIT table handling to ensure that an event's extra text is cleared in the EPG database if there is no matching ETT.
- Removed epg_broadcast_change_finish(...) because it was erasing the extra text field in EPG database when updating title in EPG database (in EIT handler).
- Added the ability for receiving ETT tables with the same version ID. ETT tables use the same version ID for long runs of event IDs and 'Extra text's.
- Fix bug in retrieving the number of tables EIT/ETT tables listed in the MGT table.
- Removed the psip_{find,remove,add}_desc(...) functions (and supporting code) that stored ETT extra texts before
there was a matching EIT event and then would try to match up the ETT extra texts when the EIT event showed up.
However, the psip_*_desc(..) functions didn't keep track of the channel and would match up the ETT 'Extra text' with the wrong EIT event.
- Removed some non-functional code.
- Removed old commented out test code.
- Added placeholder support for 'stop' and 'done' functions of this module for future development.
The "Over-the-air: PSIP: ATSC Grabber" module now quickly and correctly populates 'Title', 'Extra text', 'Start time', 'End time', 'Duration', etc... fields in the EPG Database.
1c65e8b...
by
Kari Tiirikainen <email address hidden>