forked from tsduck/tsduck
-
Notifications
You must be signed in to change notification settings - Fork 1
/
CHANGELOG.txt
705 lines (551 loc) · 32 KB
/
CHANGELOG.txt
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
TSDUCK CHANGE LOG AND RELEASE NOTES
-------------------------------------------------------------------------------
VERSION 3.20-1686
[NEW] New commands and plugins:
* Added command "tspcontrol" to send control commands to a running "tsp".
* Added input and output plugins "srt" for Secure Reliable Transport
(code contribution from Anthony Delannoy). This plugin is not compiled
on all platforms (subject to availability of libsrt).
* For developers, the features of "tsp" and "tsswitch" are now easily
accessible from the TSDuck library. See classes ts::TSProcessor and
ts::InputSwitcher.
[IMP] Improvements on existing commands and plugins:
* Added option --control-port to "tsp" and other related --control options
for use with the new command "tspcontrol".
* Added option --eit-date-only to plugin "timeref".
* Option --buffer-size-mb of "tsp" now accepts decimal values (eg. "0.5").
* Added options --local-time-offset, --next-change, --next-time-offset,
--only-country name and --only-region to plugin "timeref".
* The command "tsdump" now displays the splice countdown when there is one.
* Added options --has-splice-countdown, --splice-countdown,
--min-splice-countdown and --max-splice-countdown to plugin "filter".
* Added option --label-close to output plugin "hls".
* Added option --ignore-absent to plugin "zap".
[BUG] Bug fixes:
* In input plugin "hls", when the sub-playlists or media segments had
relative URI's with absolute file path, the sub-playlists or segments
were not correctly loaded.
* On Unix systems (Linux, macOS), the option --append was not correctly
handled in plugin "file". The file was rewritten from the beginning.
* In plugin "pes", when a NALunit contained more than one SEI message,
only the first one was reported.
* In plugin "spliceinject", the non-immediate time_signal() commands were
immediately injected. Now, they are processed the same way as non-immediate
splice_insert() commands.
* In command "tsp", when the number of initial null packets (--add-start-
stuffing) was larger than half the global buffer, the command terminated
before having read the input (an end of file was incorrectly assumed).
-------------------------------------------------------------------------------
VERSION 3.19-1516
[NEW] New commands and plugins:
* Added plugin "timeshift" (delay packet transmission).
[IMP] Improvements on existing commands and plugins:
* Added option --receive-timeout to "tsp".
* Added options --aes-cbc, --aes-ctr, --iv, --ctr-counter-bits,
--output-cw-file to plugins "scrambler" and "descrambler".
* Added option --swap-cw to plugin "descrambler".
* Added default CAS selection options --default-cas-id, --conax, --irdeto,
--mediaguard, --nagravision, --nds, --safeaccess, --viaccess, --widevine
to "tspsi", "tstabdump", "tstables" and plugins "psi", "tables".
* Added option --extensions to "tsversion" and "tstabcomp".
* Complete ATSC signalization, as defined in A/65, is now supported.
* NorDig-private descriptors are supported.
* Added option --power-mode to "tsdektec" and output plugin "dektec".
* Added options --build-service-list-descriptors and --default-service-type
to plugin "nit".
* Added options --start and --stop to plugin "trigger".
* Added option --local-port to plugins "ip" (output) and "mpe".
* Service id or name is now optional in plugin "svrename". When omitted, the
default service is the first one in the PAT.
* On Linux, multi-standard tuners are now supported (for instance tuners
which support DVB-T and DVB-C). The options --delivery-system is used
to select the appropriate type. Multi-standard tuners are not supported
on Windows.
[BUG] Bug fixes:
* In plugin "hides", the bandwidth was incorrectly set to 5 MHz when 6 MHz
was requested.
* In plugin "continuity", packets were incorrectly detected as duplicate
when they had the same continuity counter but distinct content.
* Fixed HEVC_video_descriptor to latest version of ISO 13818-1 standard.
-------------------------------------------------------------------------------
VERSION 3.18-1360
[NEW] New commands and plugins:
* Added plugin "craft" as input to build specifically crafted packets and as
packet processor to similarly alter packets in transit.
* Added plugin "trigger" which executes actions on selected labeled TS
packets.
* Added plugin "cutoff" which sets labels on TS packets upon reception of
UDP messages.
* Added plugin "psimerge" which merges PSI/SI from mixed streams.
[IMP] Improvements on existing commands and plugins:
* Added option --only-label to all packet processing plugins. There is a
new possibility to mark individual packets with a label which can be
reused in other plugins.
* Added options --label, --set-label, --reset-label, --set-permanent-label,
--reset-permanent-label, --nullified, --input-stuffing, --every, --interval
to plugin "filter".
* Added option --atsc to commands "tsanalyze", "tstables", "tspsi",
"tstabdump", "tstabcomp" and plugins "analyze", "tables", "psi".
* Added option --pes-offset to plugin "encap" (synchronous PES mode).
* Added options --add-registration and --add-pid-registration to plugin
"pmt". The option --add-programinfo-id is now deprecated.
* Added option --eit to plugin "timeref".
* Added option --tag to plugin "count".
* Added options --single, --set-label and --reset-label to plugins "remap"
and "duplicate".
* Added options --terminate, --joint-termination, --set-label and
--reset-label to plugin "merge".
* Added options --set-label and --reset-label to plugin "mux".
* Added options --set-label-below, --set-label-normal, --set-label-above,
--set-label-go-below, --set-label-go-normal, --set-label-go-above to
plugin "bitrate_monitor".
* Added RTP support for output plugin "ip": added options --rtp,
--payload-type, --pcr-pid, --ssrc-identifier and --start-sequence-number.
* Added options --interleave, --label-base and --first-terminate to input
plugin "file".
* Added option --min-ms-interval to plugin "pcradjust".
* Added options --preload-fifo, --maintain-preload, --preload-fifo-delay and
--preload-fifo-percentage in output plugin "dektec".
[BUG] Bug fixes:
* Fixed an issue while reading XML files: leading and trailing spaces were
removed by default inside all text nodes.
* Fixed input plugin "dektec": with satellite receivers, the LNB was not
properly enabled.
* In input plugin "hls", the cookies which were returned by a playlist were
not passed to the next playlist or segment download.
* In plugin "regulate" with option --pcr-synchronous, the stream was passed
unregulated after 26.5 hours (a complete PCR cycle).
-------------------------------------------------------------------------------
VERSION 3.17-1189
[IMP] Improvements on existing commands and plugins:
* In commands "tsanalyze", "tsdump", "tspsi", "tstabdump", "tstables", the
display is now sent through a pager application (less/more) when the output
device is a terminal. Added option --no-pager to disable this.
* In the input plugin "hls", after loading a master playlist, if the selected
media playlist is not found, try next one, etc.
* Added option --evaluate-pcr-offset to plugin "pcrextract".
* Added option --dvb-cissa to plugins "scrambler" and "descrambler".
* Added options --pid and --tag to plugin "bitrate_monitor". The plugin can
now also monitor the bitrate of the complete TS and can detect zero bitrate
on the transport stream.
* Added option --start-media-sequence to output plugin "hls".
* Added option --pack-and-flush to "tstabcomp".
* In various analysis commands and plugins, ATSC signalization is now known.
* General list of improvements regarding tuners and scanning:
- Added region-specific UHF/VHF frequency layouts in various commands and
plugins. Added option --hf-band-region to plugins "dvb", "dektec" and
commands "tsterinfo", "tsscan". Added option --default-region to command
"tsterinfo".
- The command "tsscan" can now perform VHF band scanning: added option
--vhf-band. Offsets are no longer used by default: added option
--use-offsets.
- In plugin "dvb" and command "tsscan": Added --guard-interval values
"1/128", "19/128", "19/256". Added --transmission-mode values "1K",
"2K-interleaved", "4K-interleaved", "16K", "32K". Added --modulation
values "16-APSK", "32-APSK" (DVB-S2). The option --channel-transponder
now accepts ATSC channel ids (major.minor).
- The old "zap" format which was inherited from some Linux scanning tools
is no longer supported by TSDuck. Instead, a more generic and portable
XML format is used. See the user's guide for more details. Impact:
. In plugin "dvb" and command "tsscan": Added option --tuning-file,
removed options --tune and --zap-config-file.
. In plugin "nitscan" and command "tsscan", added options --save-channels
and --update-channels.
[BUG] Bug fixes:
* Fixed support for ATSC tuners on Windows.
* In plugin "scrambler", fixed a crypto-period issue with option --cw-file
and more than one CW.
* Now accept to demux probably incorrect section muxing when a TS packet is
such that 1) PUSI is set, 2) start of payload before the pointer field is
unused (do not contain a valid section) and 3) starts with FF. This is a
probably incorrect muxing which has been found on at least one satellite
transponder.
* Fixed bitrate computation based on PCR's. Null packets uselessly reset the
bitrate computation and introduced a small bias. New computed values can be
slightly different but more accurate.
* Fixed various discrepancies in adjustment of continuity counters.
* The option --default-charset was not always correctly used when compiling
tables from XML.
-------------------------------------------------------------------------------
VERSION 3.16-1108
[NEW] New commands and plugins:
* Added input plugin "hls" to receive HTTP Live Streaming (HLS).
* Added output plugin "hls" to generate HLS media segments and playlists.
* Added plugin "pcradjust" to adjust PCR's according to a constant bitrate.
[IMP] Improvements on existing commands and plugins:
* In all commands and plugins, when an option takes an integer value and can
be present several times, it is now possible to specify ranges of values
(e.g. "--pid 0-3" instead of "--pid 0 --pid 1 --pid 2 --pid 3").
* Added option --pack to plugin "encap".
* Added options --log, --log-size, --no-headers and --pid to "tsdump".
* Added option --fill-eit to "tstables" and plugin "tables".
* Added options for Dektec demodulators in input plugin "dektec".
* In plugin "rmsplice", immediate splice events are no longer ignored.
* Added PES encapsulation mode in plugin "encap" (added option --pes-mode,
added optional value in option --pack).
* Added option --threshold4 in plugin "limit". The packet selection strategy
was changed.
* Added option --enforce-burst in output plugin "ip".
* Implement guidelines from ETSI TR 101 211 when compiling EIT's.
* In XML descriptions of NIT and BAT, it is now possible to specify a
preferred section index for each TS.
[BUG] Bug fixes:
* In plugin "http", the option --receive-timeout was ignored.
* In "tsanalyze" and plugin "analyze", section analysis was missing on some
PID's (including EIT's).
* On Linux with BusyBox environment, the --help options (and other paged
commands) no longer fail due to unsupported option for less.
* The order of combining diacritical characters was incorrectly handled in
DVB tables with the default character set.
* In plugin "scrambler" with option --cw-file, there was a crash at the end
of the first crypto-period. This was a regression.
-------------------------------------------------------------------------------
VERSION 3.15-1007
[NEW] New commands and plugins:
* Added command "tsswitch", a TS input switcher with remote control.
* Added command "tsgenecm", generate one ECM using any DVB SimulCrypt ECMG.
* Added plugin "limit" to limit the global TS bitrate.
* Added plugin "duplicate" to duplicate one or more PID's.
* Added plugins "encap" and "decap" to encapsulate and decapsulate PID's
into one single tunnel PID.
[IMP] Improvements on existing commands and plugins:
* The plugin "fork" can now be used as input and output plugin as well. When
used as an input plugin (new), it reads packets from the command output.
* Added option --ignore-errors to "tsbitrate" and plugin "pcrbitrate".
* Added option --receive-timeout to "tstabdump" and plugins "dektec" (input),
"ip" (input), "mpeinject".
* Added options --udp-size, --min-udp-size, --max-udp-size, --net-size,
--min-net-size, --max-net-size to plugin "mpe".
* Added option --network-id to plugin "nitscan".
* Added option --strict-xml to "tstabcomp", "tstables" and plugin "tables".
* Added option --max-packets to "tsdump".
* The command "tsdump" can now accept multiple input files.
* Added demodulator support in the input plugin "dektec" (e.g. DTA-2137).
* Added options --audio-pid and --eit to plugin "zap".
* Added option --sei-type to plugin "pes".
* Added option --event-id to plugin "rmsplice".
* Added the per-user configuration file $HOME/.tsduck to specify default or
alternate options to various commands.
[BUG] Bug fixes:
* In XML documents which were generated by TSDuck, some characters were not
properly escaped.
* In "tsp", in case of output error, when a plugin was slowing down the
playout speed (such as "regulate"), the command was slow to terminate.
-------------------------------------------------------------------------------
VERSION 3.14-894
[NEW] New commands and plugins:
* Added plugin "sections".
* Optional rebuild without teletext support (without plugin "teletext").
[IMP] Improvements on existing commands and plugins:
* Added option --remove-stream-type to plugin "pmt".
* Added options --network-name, --network-id and --nit-other to plugin "nit".
* Added option --provider to plugin "svrename".
* Added options --include-next and --exclude-current to commands "tstables"
and "tspsi" and to plugins "tables" and "psi".
* Added options --rewrite-binary and --rewrite-xml to command "tstables" and
plugin "tables".
* Added keywork "system" to option --start in plugin "timeref".
* Added option --transparent to plugin "merge".
* Added options --other, --ts-id, --original-network-id to plugin "sdt".
* Added options --create, --create-after, --bitrate, --inter-packet to
plugins "pat", "pmt", "bat", "sdt", "nit".
* Added option --wide-display to command "tsanalyze" and plugin "analyze".
* Added option --min-interval to command "tsstuff".
* Added option --scte35 to plugin "pcrextract".
* In plugin "inject", when all input files have specific repetition rates,
it is no longer required to provide a bitrate for the PID. It is computed
from the size and repetition rate of all sections.
* Some performance improvement by removing processing which are used in debug
or verbose mode only (options --debug and --verbose).
[BUG] Bug fixes:
* In plugin "merge", merging CAT's from two streams was incorrect
(incorrect PID conflict detection and endless code loop).
* On Windows, "tslsdvb" and "tshides" could crash when using a HiDes
UT-100A (combined received / modulator).
-------------------------------------------------------------------------------
VERSION 3.13-833
[NEW] New commands and plugins:
* Added input plugin "http" to receive a transport stream using a URL.
* Added support for HiDes UT-100C modulator device using utility "tshides"
and output plugin "hides". Be sure to install the right device drivers
from https://tsduck.io/download/hides/
[IMP] Improvements on existing commands and plugins:
* With plugins "svremove", "svrename" and "tsrename", the removal or renaming
now also apply to EIT's. The new option --ignore-eit can be used to prevent
this.
* The plugin "regulate" can now also use the PCR from the TS to regulate the
transmission. Previously, the regulation was done on bitrate only. Added
options are --pcr-synchronous, --pid-pcr and --wait-min.
* The input plugin "ip" and the plugin "mpeinject" now accept the syntax
'source-ip@multicast-ip:port' for source-specific multicast (SSM). As a
side effect, the command "tstabdump" also accepts this syntax when
receiving PSI/SI tables.
* Added option --tos to output plugin "ip".
[BUG] Bug fixes:
* Bug fix: Option --cleanup-private-descriptors in plugins "bat", "cat",
"nit", "pmt" and "sdt" failed to cleanup contiguous private descriptors.
-------------------------------------------------------------------------------
VERSION 3.12-778
[NEW] New commands and plugins:
* Added plugin "merge" which merges two transport streams.
* On Windows, portable packages are now built for users without admin
privilege.
[IMP] Improvements on existing commands and plugins:
* Added option --realtime to "tsp". This option selects appropriate default
options when operating on real-time streamings. The "default defaults"
remain appropriate for offline processing, such as working on transport
streams files. This option is also automatically set by some plugins which
are designed for real-time streaming ("dvb", "ip", dektec", "play",
"regulate", "mpeinject").
* The option --reuse-port is now on by default on all commands and plugins
which use it. A new option --no-reuse-port has been added everywhere to
disable the option explicitly (although probably never used).
* Added options --log-protocol and --log-data to "tsecmg", "tsemmg" and
plugins "scrambler", "datainject".
* Added options --udp and --unregulated to plugin "datainject".
* Many more descriptors are supported. See the user's guide.
* In "tsemmg", sending UDP data to a broadcast address was not allowed. Now
it is possible to send data to a local broadcast address. Using routed
broadcast remains not possible (because this is usually not a good thing
to route broadcast).
[BUG] Bug fixes:
* If an XML representation of a splice information table contained a
splice_insert command, the <break_duration> structure was rejected when the
event was marked as immediate.
* In "tsemmg", the TCP disconnection of the MUX was not detected in a timely
fashion when data was injected using UDP.
* In "tsecmg", the option --max-comp-time was ignored.
* Regression fix: In plugin "datainject", the section mode was no longer
handled correctly since version 3.10.
-------------------------------------------------------------------------------
VERSION 3.11-715
[NEW] New commands and plugins:
* Added utility "tsemmg", an EMMG simulator for MUX integration testing.
* Added plugin "spliceinject" to inject SCTE 35 splice information in real
time.
[IMP] Improvements on existing commands and plugins:
* Added options --sync-layout, --dump-datagram, --dump-udp, --dump-max and
--skip to plugin "mpe".
* Added option --buffer-size in plugin "datainject". The plugin is now able
to receive data using UDP, as defined in the DVB SimulCrypt protocol.
* SCTE 35 splice information tables can now be created from XML format.
[BUG] Bug fixes:
* In "tstables" and plugin "tables", when options --xml and --max-tables
were both specified, the XML structure was not properly closed.
* Application Information Tables (AIT) were not correctly serialized.
* In rare cases, time conversions could produce incorrect results when the
time value was in the middle of the "non-existing hour", during the
spring switch of daylight saving time. In practice, the problem occured on
Linux when handling the "next change time" of a TOT and the system local
time was UTC.
-------------------------------------------------------------------------------
VERSION 3.10-672
[NEW] New commands and plugins:
* Added utility "tsecmg", a DVB SimulCrypt-compliant ECMG stub to test system
integration. The plugin "descrambler" has been enhanced to decode the
'fake' ECM's which are generated by "tsecmg".
[IMP] Improvements on existing commands and plugins:
* The utility "tstabdump" can now dump sections and files which are sent over
UDP/IP by "tstables" or the plugin "tables". Command line options were
added to specify UDP parameters (same UDP reception options as input plugin
"ip").
* Added options --fix and --pid to plugin "continuity".
* Added option --after-packets to plugin "filter".
* Added options --default-interface to input plugin "ip" and plugin
"mpeinject".
* Added options --inter-time, --max-insert-count, --min-pts, --max-pts and
--pts-pid to plugin "mux".
* Added option --milli-seconds to plugin "history".
* Input plugin "file" can now read more than one file. Input files are
concatenated as input stream.
* Added option --fifo-size to output plugin "dektec".
* Added option --atis-idsa to plugins "scrambler" and "descrambler" (perform
ATIS-IDSA scrambling instead of DVB-CSA2).
* Added option --integer to tsversion (useful to check a version in a script).
[BUG] Bug fixes:
* Incorrect behaviour on Linux and macOS when receiving multicast with
plugins "ip" and "mpeinject" and a --local-interface was specified.
* The command "tsanalyze" and a few plugins could crash when a video PID
contained corrupted AVC/H.264 video (or incorrect video data which looked
like H.264).
* Plugin "analyze" with option --interval incorrectly used the TS clock to
produce the analysis files instead of the wall clock time.
* Plugin "history": Detection of scrambling transitions: Now ignore packets
without payload or with short payloads (less than 8 bytes). These packets
are normally left clear in a scrambled PID. Considering them as clear
packets used to report spurious scrambled-to-clear transitions, immediately
followed by clear-to-scrambled transistions.
-------------------------------------------------------------------------------
VERSION 3.9-619
[NEW] New commands and plugins:
* Precompiled binaries are now provided for Raspbian on Raspberry Pi.
* Added plugins "mpe" and "mpeinject" to respectively extract and inject MPE
(Multi-Protocol Encapsulation) datagrams to/from UDP/IP. A complete example
is provided in the user's guide.
[IMP] Improvements on existing commands and plugins:
* Added options --add-start-stuffing and --add-stop-stuffing to "tsp".
* Added options --sei-avc and --uuid-sei to plugin "pes".
* Added options --add-programinfo-id, --set-stream-identifier, --set-cue-type
and --set-data-broadcast-id to plugin "pmt".
* Added option --identify to plugin "t2mi".
* Added options --all-once, --pack-all-sections and --pack-and-flush to
"tstables" and plugin "tables".
* Added option --default-charset to "tsanalyze" and plugin "analyze".
* Added signalization for data broadcast and MPE.
* Improved display of Dektec devices capabilities.
* In all TSDuck commands, parameters can be read from a file using the syntax
"@filename" anywhere in the command line. See the user's guide for details.
* Added possibility to specify a GitHub authentication token in "tsversion"
to avoid "API rate limit exceeded" errors.
[BUG] Bug fixes:
* In "tstables" and plugin "tables", when all sections were collected (option
--all), the sections were not properly saved in binary section files
(option --binary).
* On Windows, the command "tsversion --upgrade" failed because tsversion.exe
and tsduck.dll were locked by upgrade command.
* On Linux: With DVB-T tuners which do not support "auto bandwidth"
(PCTV 492e for instance), "tscan" failed to scan the UHF band.
-------------------------------------------------------------------------------
VERSION 3.8-534
[IMP] Improvements on existing commands and plugins:
* Added options --source and --first-source to input plugin "ip".
* Added option --periodic-bitrate to plugin "bitrate_monitor".
* Added options --pid, --csv and --log to plugin "pcrextract".
* Added XML support for more DVB and EACEM descriptors.
* When the output plugin "play" uses VLC, the player exits automatically at
the end of the video playout.
[BUG] Bug fixes:
* On macOS, the output plugin "play" now correctly detects VLC in its
original installation path.
* In the compilation of XML tables, when DVB strings were encoded with
a character set different from ISO-6937 (the default character set), the
table code was not correctly inserted at the beginning of the string.
* In plugin "bitrate_monitor". The message was incorrect when the bitrate
is greater then the limit (the message was ok in other cases).
* In plugin "rmsplice", with option --adjust time, the time stamps were
not correctly adjusted.
-------------------------------------------------------------------------------
VERSION 3.7-512
[NEW] New commands and plugins:
* Added plugin "teletext" to extract Teletext subtitles in SRT format.
* Added plugin "rmsplice" to remove ads insertions when signaled using
SCTE 35 splice information.
[IMP] Improvements on existing commands and plugins:
* Added option --add-ca-descriptor to plugin "pmt".
* More details are displayed in SCTE 35 splice information.
* The command "tsp --list" is now paged, like option --help.
[BUG] Bug fixes:
* In "tstables" and plugin "tables", with XML output, option --time-stamp
was ineffective and option --packet-index was always on.
* In plugin "pcrextract", options --pts and --dts were reversed.
-------------------------------------------------------------------------------
VERSION 3.6-491
[NEW] New commands and plugins:
* Added the utility "tsversion" to manage TSDuck versions, detect new
versions, upgrade, etc.
[IMP] Improvements on existing commands and plugins:
* Added options --synchronous-log and --log-message-count to "tsp". They
affect the way log messages are dropped or displayed in case a vast amount
of log messages are produced in a short period of time.
* Added option --plp to "tsscan" and plugin "dvb". Used to select the DVB-T2
PLP. This option is unsupported on Windows.
* Added options --output-file, --append and --keep to plugin "t2mi".
* Added HEVC signalization.
* Added SCTE 35 signalization (splice information for ads insertion).
* The help text of all TSDuck applications (using option --help) is now paged
through "less" or any any other pager application.
[BUG] Bug fixes:
* In input plugin "ip", when multiple multicast streams are sent to the same
UDP port (although with different addresses), make sure we receive only the
requested stream. Previously, in some system configurations, the input
plugin "ip" could receive packets from distinct multicast streams.
* Various fixes about UDP on macOS: multicast reception, --reuse-port option.
-------------------------------------------------------------------------------
VERSION 3.5-414
[IMP] Improvements on existing commands and plugins:
* Added option --xml-output to "tstables" and plugin "tables". Tables can be
saved directly in XML format. It is no longer necessary to save in binary
and then use the decompiler to rebuild XML files.
* With "tstables" and plugin "tables", it is possible to specify several
formats at the same time. For instance, it is possible to save tables in
text, XML and binary format at the same time.
* With "tspacketize" and plugin "inject", it is now possible to load tables
in XML format. The options --binary and --xml have been added to specify
the file type if its name is neither .bin nor .xml. It is no longer
necessary to use the compiler to rebuild binary section files.
* Added option --byte to "tsftrunc".
* The options --verbose and --debug have been generalized to all commands.
* For programmers, the TSDuck library API was extensively modified. Usage
of 8-bit strings (char* and std::string) has been removed and replaced by
Java-like Unicode strings (ts::UString). Many interface have been updated.
The utilities in tsStringUtils have been removed. Equivalent services exist
in class ts::UString. All of this break the backward compatibility of user
code. This is unfortunate but TSDuck code is now more robust and faster to
maintain.
* The "revision" number is no longer a "build date" but a "commit count".
-------------------------------------------------------------------------------
VERSION 3.4-20171110
[NEW] New commands and plugins:
* Added "t2mi" plugin to extract encapsulated TS packets from T2-MI streams
(DVB-T2 Modulator Interface).
[IMP] Improvements on existing commands and plugins:
* TSDuck now fully handles DVB character sets in signalization. All textual
display ("tsanalyze", "tstables", etc.) are produced in UTF-8 format, with
characters properly translated from DVB character encoding. The table
compiler, "tstabcomp", properly translates from UTF-8 XML files to DVB
character encoding and vice versa.
* Added options --default-charset and --europe to "tspsi", "tstables",
"tstabdump", "tstabcomp", plugins "psi" and "tables".
* T2-MI PID's and PLP's are now included in the report from "tsanalyze" and
plugin "analyze".
* Added --test option to "tslsdvb" on Windows.
* Improved robustness of DVB tuner detection on Windows. It solves some
issues with 32-bit tuner filters on 64-bit systems. But older systems,
before Windows 7 (XP, Vista, etc.), may no longer work. No further support
will be provided for pre-7 Windows systems.
-------------------------------------------------------------------------------
VERSION 3.3-20170930
[NEW] New commands and plugins:
* Removed command "tsgentab" and associated plugins. This command is now
obsolete and has been superseded by the more general "tstabcomp", the
PSI/SI table compiler.
[IMP] Improvements on existing commands and plugins:
* Added option --interval to plugin "count".
* Added option --default-pds to "tspsi", "tstables", "tstabdump", plugins
"psi" and "tables".
[BUG] Bug fixes:
* Fixed timer issues on Linux, typically seen in plugin "regulate".
-------------------------------------------------------------------------------
VERSION 3.3-20170915
[NEW] New commands and plugins:
* Added command "tstabcomp", the PSI/SI table compiler from/to XML files.
The command tsgentab is now deprecated and will be removed in some
future version.
-------------------------------------------------------------------------------
VERSION 3.2-20170911
[IMP] Improvements on existing commands and plugins:
* Added option --pid to plugin descrambler.
* Improved robustness of option --poll-file in plugin "inject". Mitigate
possible race conditions when the plugin tries to open a section file
while it is created/copied by the user. Now retry later.
* Improved robustness of DVB tuner reception on Windows. Explicitly
resynchronizes on valid packets when the driver misses data.
* Adjusted output of "tslsdvb" on Windows to better identify tuner names.
-------------------------------------------------------------------------------
VERSION 3.2-20170528
[IMP] Improvements on existing commands and plugins:
* Added option --poll-file to plugin "inject".
[BUG] Bug fixes:
* In "tstables" and plugin "tables", the option --max-tables was not accurate
when several small tables (eg. EMM's) were packed in the same TS packet.
-------------------------------------------------------------------------------
VERSION 3.2-20170525
[NEW] New commands and plugins:
* Added the development environment in the Windows Installer. This is used to
develop third-party applications using the TSDuck library. On Ubuntu, added
the tsduck-dev package. On RPM-based distros, the tsduck-devel package
already existed.
[IMP] Improvements on existing commands and plugins:
* Added option --no-duplicate to "tstables" and plugin "tables".
* Added TSPLUGINS_PATH environment variable to use "tsp" plugins outside the
directory of the TSDuck executables.