751 Commits

Author SHA1 Message Date
Daniel Kamil Kozar
28b1d1eeec
Make language names translatable (#603)
Fixes #591.
2022-05-15 22:53:32 +02:00
Daniel Kamil Kozar
77f9dc3c84
Avoid shifting by 32 bits in BitStreamWriter (#602)
Left-shifting by an amount which is more or equal to the type's width is undefined in both C and C++. This could happen in BitStreamWriter when m_bitWrited was zero, and resulted in inconsistent results between Intel and ARM targets.

On Intel, the amount of bits to shift is explicitly masked to its lower 5 (for 32-bit values) or 6 (for 64-bit values) bits. This is documented in the instruction set reference. Effectively, the amount of bits to be shifted is the actual amount modulo 32 or 64. In this particular case, asking the CPU to shift by 32 bits left the value unchanged.

ARM does not place any requirements on the behaviour of the CPU when the amount to shift is larger than 32/64 - the instruction set reference just says that the register is supposed to be "holding a shift amount from 0 to 31 in its bottom 5 bits. ". However, MSVC documentation suggests that values in registers might appear to "wrap around" when shifting by more than 32 or 64 bits, which is indeed what was observed here.

The fix essentially amounts to emulating Intel behaviour (as it was the original development platform and presumably most assumptions were made with it in mind, even if unknowingly) by not touching the value if the amount of bits to shift is 32.
2022-05-15 11:40:54 +02:00
Daniel Kamil Kozar
b2e5dd3528 Fix same off-by-one error in the other AddString() call 2022-05-14 11:22:25 +02:00
Daniel Kamil Kozar
6eac7abcd7
Fix off-by-one error in GraphicsPath::AddString() call (#601)
AddString's documentation clearly says that its second parameter is supposed to
be the number of characters to display. Since the vector returned by toWide() is
always null-terminated and the termination character is included in its size(),
this resulted in AddString() treating the termination character as something it
is supposed to actually draw.

Perhaps some versions of AddString() explicitly stop at the termination
character and don't process any further characters : this is probably why this
issue has gone unnoticed for so long.

Fixes #598
2022-05-14 11:07:01 +02:00
jcdr428
d3c495d1e9 [bug] Fix array index out of bounds
sizeof() returns size of array in bytes, not number of elements
2022-05-10 19:12:06 +01:00
jcdr428
41dfd71aaf Small change to previous commit 2022-05-04 20:43:31 +00:00
jcdr428
4816a65dfc Add warning when muxing DV...
...that double DV layer single tracks disks will not play in a Blu-ray player.

Fixes issue #586.
2022-05-04 20:40:57 +00:00
jcdr428
548eb1d718
Add NetBSD Fonts
Credits go to @Randrianasulu.

Fixes #595.
2022-05-04 19:12:32 +00:00
Dan
327744f69f
Merge pull request #594 from quietvoid/fix_compiling_link
Fix broken link to compiling documentation
2022-05-04 11:33:01 +01:00
jcdr428
e85de681d1 Increase size of TMP_BUFFER_SIZE
With UHD movies, the max frame size can get much bigger.
Increasing the buffer size should avoid errors such as issue #563.
2022-05-03 20:54:40 +00:00
jcdr428
ddd5d978b6 clang format check 2022-05-03 19:06:50 +00:00
jcdr428
0610d0c737 Fix use of arithmetic operator on Boolean type 2022-05-03 19:04:41 +00:00
jcdr428
d8fbf6dc18 clang format check 2022-05-03 19:02:47 +00:00
jcdr428
d8b191e14c Fix declaration of variable already declared in outer scope 2022-05-03 19:00:33 +00:00
jcdr428
d7969f3526 Fix declaration of variable already declared in outer scope 2022-05-03 18:55:16 +00:00
jcdr428
aa1185b867 Fix declaration of variables already declared in outer scope 2022-05-03 18:53:32 +00:00
jcdr428
407acb863a Fix declaration of variables already declared in outer scope 2022-05-03 18:36:17 +00:00
jcdr428
7a9403a79d Fix declaration of variables already declared in outer scope 2022-05-03 18:31:50 +00:00
jcdr428
99ff83e815 Fix declaration of variable already declared in outer scope 2022-05-03 18:11:30 +00:00
jcdr428
59eea9fc93 Fix declaration of variables already declared in outer scope 2022-05-03 18:08:57 +00:00
jcdr428
4939c169e6 fix declaration of variables alreay declared in outer scope 2022-05-03 18:04:28 +00:00
jcdr428
eff0a366f1 [bug] declaration of variable already used in outer scope 2022-05-03 17:59:09 +00:00
jcdr428
d358fa831e clang format check 2022-05-03 17:55:04 +00:00
jcdr428
45cef004e2 [bug] UDF 2.50: Missing Terminating Descriptor
As per ECMA 167 [8.3.1 File Set Descriptor Sequence], there should be a Terminating Descriptor after the File Set Descriptor

Plus renaming "ExtentFile" to "ExtendedFileEntry" to comply with UDF 2.50 / ECMA 167 name.
2022-05-03 17:00:39 +00:00
quietvoid
6d18c8e25c Fix broken link to compiling documentation 2022-05-03 09:46:02 -04:00
jcdr428
7dcca4876e clang format check 2022-05-02 13:35:15 +00:00
jcdr428
13a371e14c clang format check 2022-05-02 13:31:03 +00:00
jcdr428
a0ca64ea8a Regressoin on last push 2022-05-02 13:26:28 +00:00
jcdr428
e88619f561 UDF 2.50: omit second (N-256) AVDP
UDF 2.50 specification [6.10.1 Use of UDF on CD-R media] states: "ECMA 167 requires an Anchor Volume Descriptor Pointer (AVDP) at sector 256 and either N or (N - 256), where N is the last recorded Physical Address on the media. UDF requires that the AVDP be recorded at both sector 256 and sector (N - 256) when each session is closed."

As both ImgBurn and DVDFab do not incude the (N - 256) Anchor Volume Decritpor, it seems preferable to omit this descriptor for compatibility with medias and players.
2022-05-02 13:21:55 +00:00
jcdr428
b400451fa3 UDF 2.50: set a Volume Identifier 2022-05-02 12:50:27 +00:00
jcdr428
4e36fb6bce UDF 2.50: Set Domain Flags to 03
As per UDF specification [2.2.4.3 struct EntityID DomainIdentifier] "The IdentifierSuffix field of this EntityID contains SoftWriteProtect and HardWriteProtect flags."
2022-05-02 12:41:36 +00:00
jcdr428
ecf5290a77 UDF 2.50: Domain Flag 03
As per UDF 2.5 standard [2.2.4.3 struct EntityID DomainIdentifier], "The IdentifierSuffix field of this EntityID contains SoftWriteProtect and HardWriteProtect flags."
2022-05-02 08:50:51 +00:00
jcdr428
935bddd134 Start VDS Number at 0
To be the same as ImgBurn and DVDFab.
tsMuxer is starting the Volume Descriptor Sequence Number at 1, it seems that it has to start at 0.
2022-05-02 08:36:35 +00:00
jcdr428
0efc6291c4 Merge branch 'master' of https://github.com/justdan96/tsMuxer 2022-05-02 08:32:28 +00:00
jcdr428
08f586bd5b UDF 2.50 change Tag Serial Number to 01
To be the same as ImgBurn and DVDFab.
2022-05-02 08:32:17 +00:00
jcdr428
79b86ec691
Fix ISO localtime 2022-04-29 06:58:03 +00:00
Daniel Kamil Kozar
bcea37fd7d
Replace std::filesystem usage with realpath() (#588)
std::filesystem has proven to be too big of a pain to use in our builds (see #585) to justify using just a tiny portion of it.
2022-04-28 22:21:39 +02:00
Dan
67c0102ae7
Merge pull request #581 from TheFlash2k/master
Added Hebrew Translation
2022-04-28 11:54:40 +01:00
jcdr428
6a4d4c0e7e [Bug] Fix UDF 2.50 timezone in minutes 2022-04-28 00:00:03 +00:00
jcdr428
ea5a7f6261
[bug] Fix TimeZone in minutes 2022-04-27 23:47:20 +00:00
jcdr428
522d0000bf
clang format check 2022-04-27 23:22:23 +00:00
jcdr428
a28a367a21
[Bug] Fix UDF 2.50 timezone in minutes
According to UDF 2.50 specification [2.1.4.1 Uint16 TypeAndTimezone], the time zone should be in minutes, not in hours !
2022-04-27 23:16:50 +00:00
TheFlash2k
10b0adf0be Added Hebrew Translation 2022-04-27 04:28:34 +05:00
Ali Taqi Wajid
f63992193f
Merge branch 'justdan96:master' into master 2022-04-27 04:21:18 +05:00
Dan
7ec1adc4f9
Merge pull request #584 from justdan96/enhancement-german-translation
Add German translation courtesy of @Ser-vie
2022-04-26 14:11:49 +01:00
Dan Bryant
b36b9b047d add German translation courtesy of @Ser-vie 2022-04-26 11:28:08 +01:00
jcdr428
45c68c9271 tsDemuxer add condition if (vect != nullptr) 2022-04-24 23:15:28 +00:00
jcdr428
ff1ef78dbf clang format check 2022-04-24 19:10:27 +00:00
Ali Taqi Wajid
5c46d442a6
Added Hebrew Translation 2022-04-25 00:10:10 +05:00
Ali Taqi Wajid
81abf7804c
Added Translation for Hebrew 2022-04-25 00:08:46 +05:00