Commit Graph

14324 Commits

Author SHA1 Message Date
Moritz Bunkus
0a96f4a19b
tests: use centralize MD5 generation functions 2021-07-06 20:27:41 +02:00
Moritz Bunkus
b0bbcc7a87
tests: Windows: run commands through explicit bash & temp shell script
Makes some of the commands work on Windows where system is cmd.exe
2021-07-06 20:27:41 +02:00
Moritz Bunkus
f681458bfc
tests: provide global vars distinguishing platforms 2021-07-06 20:27:41 +02:00
Moritz Bunkus
4ab5d81ce1
tests: fix determining number of processors on non-macOS 2021-07-06 20:27:39 +02:00
Moritz Bunkus
133fca6093
mm_io_c::puts: add option for writing Unix-style newlines on Windows 2021-07-06 20:27:38 +02:00
Moritz Bunkus
b283b8b2dd
tests: skip 562 on 32-bit platforms 2021-07-06 13:21:52 +02:00
Moritz Bunkus
bdfa8171c4
FLV reader: use rationals instead of doubles for calculating default duration 2021-07-06 13:21:52 +02:00
Moritz Bunkus
49549d871b
MP4 reader: properly convert rational to int 2021-07-06 13:21:52 +02:00
Moritz Bunkus
b842bf6cdd
Theora parser: use rationals for calculation of display dimensions 2021-07-06 10:17:10 +02:00
Moritz Bunkus
b0748b33c0
AVC & HEVC parsers: use rationals for calculation of display dimensions 2021-07-06 10:16:57 +02:00
Moritz Bunkus
0f7f8b9d68
WavPack packetizer: use rationals for calculation of timestamps & durations 2021-07-06 10:01:59 +02:00
Moritz Bunkus
12ca5cc267
TTA packetizer: use rationals for calculation of timestamps & durations 2021-07-06 09:58:33 +02:00
Moritz Bunkus
28bcaf876c
MPEG 1/2 packetizer: use rationals for calculation of aspect ratio 2021-07-06 09:52:13 +02:00
Moritz Bunkus
e74c054d7c
Kate packetizer: use rationals for calculation of timestamps & durations 2021-07-06 09:37:33 +02:00
Moritz Bunkus
188436f981
AVC & HEVC packetizers: use rationals for calculation of display dimensions 2021-07-06 09:37:21 +02:00
Moritz Bunkus
4b74b43fdb
Ogg/OGM reader: use rationals for calculation of display dimensions & frame rate 2021-07-06 09:23:26 +02:00
Moritz Bunkus
9e1c043a31
AVI reader: use rationals for calculation of display dimensions 2021-07-06 09:23:23 +02:00
Moritz Bunkus
5b9536cbf8
MPEG 1/2 parser & readers: store aspect ratio as rational, not as double 2021-07-06 09:13:49 +02:00
Moritz Bunkus
4520fc1859
MPEG 1/2 parser & readers: store default duration as rational, not frame rate as double 2021-07-05 20:21:15 +02:00
Moritz Bunkus
683986f090
MPEG TS reader: store default duration as rational, not frame rate as double 2021-07-05 19:52:50 +02:00
Moritz Bunkus
d1807de809
AVI reader: store default duration as rational, not frame rate as double 2021-07-05 17:42:16 +02:00
Moritz Bunkus
2696740c01
math: add rounding-conversion functions for rationals 2021-07-05 17:37:26 +02:00
Moritz Bunkus
6d0758a74a
Matroska reader: store default duration as int64_t, not FPS as double 2021-07-05 16:42:27 +02:00
Moritz Bunkus
6ddd872713
convert video packetizers to take int64_t default duration, not double FPS 2021-07-05 15:56:21 +02:00
Moritz Bunkus
4c57df14ea
MPEG PS, ES readers: fix display width calculation on 32-bit platforms 2021-07-05 13:25:12 +02:00
Moritz Bunkus
89ae6c11d6
tests: re-do runtimes for each test case 2021-07-05 13:19:41 +02:00
Moritz Bunkus
eac9b4971f
tests: use shorter file for test 493 2021-07-04 22:36:23 +02:00
Moritz Bunkus
445306ca0f
cast mpq_rational to int64_t via int128_t
Casting directly from certain values of
`boost::multiprecision::mpq_rational` via `static_cast<int64_t>()`
fails on certain platforms (32-bit ones, mingw both 32 & 64-bit). A
workaround seems to be to convert to `boost::multiprecision::int128_t`
first.

See https://github.com/boostorg/multiprecision/issues/342
2021-07-04 21:08:35 +02:00
Moritz Bunkus
5344602025
fix compilation with older versions of Boost's multi-precision library
The older versions have incomplete constructors for
`boost::multiprecision::number` when used with the `gmp_rational`
backend. When trying to specify both a numerator and a denominator,
the numerator argument is supposed to be a `gmp_rational` while the
denominator can only be an (unsigned) int. This means that trying to
pass a 64-bit integer as the denominator will not work as no matching
constructor is found.

The workaround is to convert both the numerator and the denominator to
instances of `…number<gmp_rational>` and passing those to the
constructor of `…number<gmp_rational>`.
2021-07-04 16:56:35 +02:00
Moritz Bunkus
96268fa972
macOS build: build the gmp library 2021-07-04 14:03:39 +02:00
Moritz Bunkus
7a21dcc7ed
MXE setup: remove the file library 2021-07-04 12:50:34 +02:00
Moritz Bunkus
e285856943
MXE setup: compile the gmp library 2021-07-04 12:49:25 +02:00
Moritz Bunkus
95a1fa6ac8
MXE setup: use gcc 10 2021-07-04 12:49:17 +02:00
Moritz Bunkus
2f22fecc6d
use boost::multiprecision for rationals instead of boost::rational 2021-07-04 12:44:36 +02:00
Moritz Bunkus
32f3cdc2fd
rename type int64_rational_c to mtx_mp_rational_t 2021-07-04 12:44:36 +02:00
Moritz Bunkus
020f053ad7
include Boost's multi-precision type in common.h; declare own type for it 2021-07-04 12:44:36 +02:00
Moritz Bunkus
213ed8514a
use gmp backend for Boost Multiprecision 2021-07-04 12:44:36 +02:00
Moritz Bunkus
409bfbe460
Revert "GUI: source file: use = default for copy constructor"
This reverts commit b46089387c.

With the patch applied the default copy constructor only copies the
shared pointers to the other files & tracks & attachments — but we
need a deep copy here. Otherwise invalid memory access will happen (or
rather, the GUI's `MuxConfig::verifyStructure()` recognizes the
problem and aborts with the message "track->m_file == nullptr in level
0 file").

Fixes #3157.
2021-06-30 14:54:14 +02:00
Moritz Bunkus
282a86caf1
GUI: fix compilation 2021-06-29 20:00:39 +02:00
Moritz Bunkus
ee6e0816dc
remove unnecessary [[maybe_unused]] 2021-06-29 20:00:15 +02:00
Moritz Bunkus
7b94a3cef6
fix compilation 2021-06-29 17:01:45 +02:00
Andrei Stepanov
67aae7ba3f
translations: update Russian 2021-06-29 16:43:14 +02:00
Roberto Boriotti
db8146006c
translations: update Italian 2021-06-29 16:43:07 +02:00
TMTisFree
f237df4e7d
translations: update French 2021-06-29 16:43:01 +02:00
Israel Lucas Torrijos
521ac058b2
translations: update Spanish 2021-06-29 16:42:54 +02:00
Antoni Bella Pérez
1813edf205
translations: update Catalan 2021-06-29 16:42:43 +02:00
Симеон Цветков
198f9b3f83
translations: update Bulgarian 2021-06-29 16:42:20 +02:00
Симеон Цветков
c0f668caa8
man page translations: update Bulgarian 2021-06-29 16:42:13 +02:00
Moritz Bunkus
ba1e50e877
GUI: mux: show command line: use \ for cmd.exe, / for Linux shells
Fixes #3155.
2021-06-29 16:29:32 +02:00
Moritz Bunkus
c80a3b576b
NEWS: be more specific where to find newly added options 2021-06-27 19:14:11 +02:00