]> git.sesse.net Git - cubemap/blob - NEWS
Release Cubemap 1.5.0.
[cubemap] / NEWS
1 Cubemap 1.5.0, 2023-12-09
2
3   * Support input from pipes (subprocesses).
4
5     With a program that can output Metacube on stdout, such as a suitably
6     patched FFmpeg binary, this gives Cubemap transcoding/remuxing capabilities.
7
8     Of course, one cannot upgrade such a binary by SIGHUP-ing it, but it will
9     survive a Cubemap reload/restart.
10
11   * Add a LD_PRELOAD-able library to force Metacube output from FFmpeg.
12
13     This hooks just the right amount of functions to add Metacube output
14     to arbitrary FFmpeg programs, but is obviously very brittle.
15     (Native FFmpeg support would be better, but a patch did not
16     go through when I tried a while back.) It is only lightly tested.
17     Documentation in the README and cubemap.config.sample.
18
19   * Various bugfixes.
20
21
22 Cubemap 1.4.3, 2019-11-17
23
24   * Keep the HLS backlog even if the stream header changes. Useful
25     for streaming fMP4 across backend restarts, at least given a
26     reasonable client (not all can play or even seek across
27     discontinuities).
28
29   * Various bugfixes.
30
31
32 Cubemap 1.4.2, 2018-12-21
33
34   * Fix an issue with backlogs larger then 2 GB.
35
36
37 Cubemap 1.4.1, 2018-09-12
38
39   * Fix some 32-bit compilation issues.
40
41
42 Cubemap 1.4.0, 2018-09-01
43
44   * NOTE: Cubemap now requires a C++11 compiler. Also, live upgrades
45     from Cubemap before version 1.2.0 is no longer supported (upgrade
46     through 1.3.2 first if this is a problem for you).
47
48   * Support for TLS 1.2, through the tlse library (a lightly patched
49     version is included) and kTLS. This requires Linux >= 4.17.
50
51   * Support for fMP4 (HLS), including generating playlists on-the-fly.
52     This requires an input Metacube stream generated by Nageru >= 1.7.2.
53     See cubemap.config.sample for an example.
54
55   * Fix an issue that would cause problems with UDP inputs on reload
56     (unless their source encoding was explicitly marked as raw).
57
58
59 Cubemap 1.3.2, 2017-05-24
60
61   * Fix a bug where streams with paths exactly seven characters long
62     (e.g. “/abc.ts”) would get broken buffering behavior, as they would
63     start at the start of the backlog, not the end as they should.
64     This caused massively increased latency and/or problems playing back
65     the streams properly.
66
67
68 Cubemap 1.3.1, 2016-07-23
69
70   * Support Metacube timestamp blocks. This allows Metacube producers
71     to add timestamps at arbitrary places between blocks, which,
72     provided that the system clocks on both sides are in sync, allows
73     Cubemap to produce a latency measure. If the latency is very high
74     (and/or keeps going up), you will know that the network has problems
75     keeping up with transporting the stream, even in the absence of
76     other error messages.
77
78     At the time of release, only Nageru adds timestamp blocks;
79     VLC does not.
80
81
82 Cubemap 1.3.0, 2016-07-14
83
84   * Add an option for raw (non-Metacube) inputs over HTTP
85     (src_encoding=raw). Only really useful for TS.
86
87   * If a HTTP input fails multiple times, silence it in the error log
88     for the next minute. This reduces the amount of logging for a
89     permanently dead input stream by a lot, although of course,
90     such streams should generally just be removed from the
91     configuration altogether.
92
93
94 Cubemap 1.2.2, 2016-04-02
95
96   * Fix literal IPv6 address parsing in URLs.
97
98   * Fix a bug (introduced in 1.2.0) where access.log would have monotonic
99     timestamps (typically time since boot) instead of real time.
100
101   * Increase the Metacube block size warning limit from 1MB to 10MB, as MP4
102     muxing can legitimately create huge blocks.
103
104
105 Cubemap 1.2.1, 2015-08-30
106
107   * Use libsystemd to inform systemd accurately about when the service is up
108     and running. Note that this means Cubemap now also depends on libsystemd.
109
110   * Add a simple HTTP endpoint that returns a very short string (gen204),
111     for timing purposes.
112
113   * Document config options better in cubemap.config.sample.
114  
115
116 Cubemap 1.2.0, 2015-07-24
117
118   * Add support for server-side prebuffering (force_prebuffering=NNN
119     on a stream to prebuffer that amount of bytes), where Cubemap doesn't
120     send any data before it knows it can send a certain number of
121     bytes without waiting for more from the input (either through
122     giving out old data, waiting for new data, or a combination).
123
124     This is useful when using jwPlayer or <video> in browsers, where
125     the client typically does not wait to fill up its buffer before it
126     starts playing, and thus will stay perenially in a low-buffer state.
127     Effectively it is forcing a certain amount of buffering on the client.
128
129   * Log the client's Referer: and User-Agent: header in the stats file and
130     access log.
131
132   * Time out clients that go more than 60 seconds without sending a request;
133     they could hang in that state for days and months before.
134
135
136 Cubemap 1.1.2, 2014-07-07
137
138   * Remove some leftover debug code that would cause compile errors.
139
140
141 Cubemap 1.1.1, 2014-07-06
142
143   * Fix parsing of IPv6 SSM URLs. Also add an example to the
144     configuration file.
145
146   * Change the default backlog size to 10 MB.
147
148
149 Cubemap 1.1.0, 2014-04-30
150
151   * Multicast support, both for sending and receiving;
152     both IPv4 and IPv6, both ASM and SSM.
153
154   * Drop support for fwmark, since it is obsolete with sch_fq
155     around.
156
157   * Many smaller bugfixes.
158
159
160 Cubemap 1.0.4, 2014-03-23
161
162   * Fix a segfault on reload that was introduced in 1.0.2.
163
164   * Remove the Metacube VLC patch, as it is now upstream.
165
166   * Always compile with large file support, which works around
167     a blocking issue with 32-bit x86.
168
169
170 Cubemap 1.0.3, 2014-02-06
171
172   * Fix a compilation error with newer glibc.
173
174
175 Cubemap 1.0.2, 2014-02-04
176
177  * Support SO_MAX_PACING_RATE (Linux 3.13 and above).
178
179  * Add a listen statement to listen only on specific IP addresses,
180    in addition to the port statement.
181
182  * Update the VLC Metacube patch to apply to current VLC git.
183
184  * Fix a crash bug on reload.
185
186  * Be more consistent about handling streams that have no data yet.
187    In particular, this could show itself as erratic behavior when
188    sending Metacube streams on to other Cubemap instances.
189
190
191 Cubemap 1.0.1, 2013-09-19
192
193  * Added NEWS file.
194
195  * Fix an issue where Cubemap could be slow when /tmp was slow
196    (ie., not on SSD and not on tmpfs), due to high mutex contention.
197
198  * Fix compilation on 32-bit systems.
199
200  * Various packaging fixes and a systemd service unit, contributed
201    by Philipp Kern.
202
203  * Use the new deleted-by-default temporary files if available
204    (Linux 3.11 and above).
205
206
207 Cubemap 1.0.0, 2013-08-24
208
209  * Initial release.