directory.cpp was essentially two implementations in one, separated with ifdefs. It's cleaner to just have two separate files, seeing how CMakeLists.txt for libmediation needs to check the platform it's running on and add the appropriate file implementation anyway.
This commit splits this file into two and extracts common code parts to directory_priv.h.
It looks like MacOS 11 removes the *64 functions, which have really been useless since 10.5 as off_t has been defined as 64-bit wide since that version.
_FILE_OFFSET_BITS is added and defined to 64 in case somebody wanted to compile tsMuxer as i386 and still have support for >2GB files.
This change moves all code related to handling font settings from TsMuxerWindow to its own model. The widget handling the data is now just an ordinary QTableView.
This does away with storing everything as strings inside a QTableWidget, which means that functions using font data to generate metafile or other kinds of output use QFont objects directly.
See issue #459:
There are 3 places on macOS where fonts are located:
/System/Library/Fonts contains system fonts. That folder usually remains untouched.
/Library/Fonts contains additional fonts and fonts installed by different apps. User can install fonts to that folder. There is an Arial Unicode.ttf font in that folder.
~/Library/Fonts/ is usually empty by default. User can install fonts to that folder.
As per "ISO/IEC 13818-1:2019/DAmd 2 - Carriage of VVC in MPEG-2 Systems":
In 2.4.4.9, in Table 2-34, Stream type assignments, replace the following line:
0x32-0x7E ITU-T Rec. H.222.0 | ISO/IEC 13818-1 Reserved
with:
0x32 VVC video stream or an VVC temporal video sub-bitstream conforming to one or more profiles defined in Annex A of Rec. ITU-T H.26X | ISO/IEC 23090-3
When trying to mux pure E-AC3 in a Blu-ray ISO or folder, tsMuxer aborts without warning in the GUI (the warning is shown only in the console version).
This patch allows the warning to be also shown in the GUI.
A situation can occur where tsMuxer tries to extract data from a block which is not a PG track, and blocksize = 0 results in an infinite loop.
Fixes#440.
As per T-REC-H265 standard sub-clause 7.4.2.2., when nal_unit_type == VPS_NUT or SPS_NUT or EOS_NUT or EOB_NUT, nuh_temporal_id shall be equal to 0.
This patch allows early return when this condition is not fulfilled therefore the stream is obviously not hevc.
Fixes#418, #419, #420, #424, #436, #437.