This TODO file lists ideas and features for future developments. They are more or less ordered according to their benefit, but that is subjective to some degree. Unless written, no activity has been started on the topics. EDI/STI-D Input --------------- Add support for EDI input, so that third-party encoders can be interfaced to the multiplexer. Relevant spec: ETSI TS 102 693 It would be beneficial to write and EDI decoding library that can be re-used in ODR-DabMod to add EDI input there too. Stuff in http://git.mpb.li/git/odr-edilib/ could be helpful. There is experimental support for STI(PI, X)/RTP using UDP, which is used by AVT encoders. It does not properly reorder incoming UDP packets nor align STI frames with ETI frames. Also, it doesn't print out nice messages (like ZMQ's "prebuffering complete"). Explicit Service Linking ------------------------ It is impossible to activate/deactive linkage sets. Commit 5c3c6d7 added some code to transmit a FIG0/6 CEI, but this was subsequently reverted because it was not tested enough. Inputs for packet data ---------------------- It is currently unclear what input formats and sources work for packet data, and which ones would make sense to add. Also, there is no documentation on the possibilites of packet data. Multicast support for the UDP input ----------------------------------- The current UDP input implementation cannot join a multicast group. Clarify usage of PTy -------------------- We currently transmit dynamic PTy in FIG0/17 since it can be changed in through the remote control. Some receivers might not display the dynamic PTy, but only the static PTy. Clarify if we need to add both PTy variants to the configuration and the code. Also, check in the latest spec what changed regarding PTy. Improvements for inputs ----------------------- Add statistics to UDP input, in a similar way that ZeroMQ offers statistics. This would mean we have to move the packet buffer from the operating system into our own buffer, so that we can actually get the statistics. Also see the STI-D over EDI topic above. For error handling, there are parts of the code that use return values, parts use exceptions. While it works, we could clean it up a bit. Fix DMB input ------------- The code that does interleaving and reed-solomon encoding for DMB is not used anymore, and is untested. The relevant parts are src/dabInputDmb* and src/Dmb.cpp Communicate Leap Seconds ------------------------ Actually, we're supposed to say in FIG0/10 when there is a UTC leap second upcoming, but since that's not trivial to find out because the POSIX time concept is totally unaware of that, this is not done. We need to know for EDI TIST, and the ClockTAI class can get the information from the Internet, but it is not used in FIG0/10. Add support for services with different ECC than ensemble --------------------------------------------------------- FIG 0/9 can transmit an Extended field for this information. Needs change of configuration file, internal structures and FIG 0/9. Implement FIG0/20 Service List ------------------------------ See ETSI TS 103 176