summaryrefslogtreecommitdiffstats
path: root/TODO.md
blob: 12a4a40f220b2c19832f97c46bcb81aea681da05 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
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.


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.


Implement FIG0/20 Service List
------------------------------
See ETSI TS 103 176