TSDuck is an extensible toolkit for MPEG transport streams. The main source code is in the tsduck/tsduck repository.
The tsduck/tsduck-legacy-doc repository contains former TSDuck documentation which is now considered as legacy. This repository is mostly read-only and available for reference only.
Originally, the TSDuck user's guide was maintained using Microsoft Word and the programmer's guide was mixed with the Doxygen set of files.
Microsoft Office files are binary files. Unlike text files, binary files are handled by git in a very inefficient way. Each time a binary file is updated, a full copy is added to the git history (instead of small text differences in the case of text files).
The User's Guide was typically updated each time something as small as a new option was implemented. Each time, a full copy of the Word file was added in the repository. Additionally, because a user may use Linux or may not have a Microsoft Office license, the PDF version was also archived in the repository, so that users may get it without rebuilding it.
As a result, the history of the TSDuck git repository became huge. The .git subdirectory was 2 GB big. The vast majority of this was made of Word and PDF files. A full git clone of the repository was quite long and used excessive network and disk resources.
Let's be honest, using Microsoft Word for documenting a project in a git repository was a really, really, stupid idea.
Therefore, all TSDuck user and developer documentation was migrated to Asciidoc, a text format, vaguely derived from markdown. The document can be modular from multiple files which include each other.
The tool Asciidoctor can generate HTML and PDF output from the set of source files. The HTML output is quite satisfactory. The PDF output is correct, but a bit less than those which were generated by Microsoft Word.
Because Asciidoctor is a free open source tool which can be used on Linux, macOS, and Windows, the documents can be rebuilt by anyone, anywhere. Therefore, the git repository now contains only the text source files for the documentation. HTML and PDF are rebuilt as part of the project build, just like the binaries for the commands and plugins.
The history of the TSDuck main repository was "rewritten" (a feature of git) and purged from all Microsoft Word and PDF files. The last version of the purged documents is kept as reference is the tsduck/tsduck-legacy-doc repository.
TSDuck is distributed under the terms of the Simplified BSD License.
See the file LICENSE.txt
for details.
Copyright (c) 2005-2024, Thierry Lelegard
All rights reserved