Hugo Beauzée-Luyssen and Urs Fleisch
f7887e7235
FileTypeResolver: Add a StreamTypeResolver interface
2022-02-27 07:11:53 +01:00
Urs Fleisch
8ab618da18
Add tests checking if looking up tags creates map entries ( #931 )
2022-02-09 20:07:13 +01:00
Urs Fleisch
c98fba7cc4
APE: Do not create map entry if looked up tag does not exist ( #931 )
2022-02-09 20:07:13 +01:00
whatdoineed2do/Ray and Urs Fleisch
52bf85f8ca
FLAC: Do not create map entry if looked up tag does not exist ( #931 )
2022-02-09 20:07:13 +01:00
Urs Fleisch
a4bb904a01
Map: Add method value() to look up without creating entry
2022-02-09 20:07:13 +01:00
Scott Wheeler
05486d00bf
We don't need to export these symbols
2022-01-15 13:52:05 +01:00
Urs Fleisch
c4a0855f42
Add MP4::File::strip() to remove meta atom from file
...
This changes the modifications from the last commit in order to
achieve the following behavior: MP4::File::save() works in the
same way as before, i.e. it will never shrink the file and will
make space from removed items available as padding in the form of
a "free" atom. To completely remove the "meta" atom from the file,
a new method strip() is introduced, which can be used in the same
way as its MPEG::File::strip() counterpart.
2022-01-06 18:07:15 +01:00
Urs Fleisch
2cb7973162
Remove MP4 meta atom when empty tag is saved
...
Currently, MP4 tags can only grow. If items are removed, they are
just replaced by padding in the form of "free" atoms. This change
will remove the whole "meta" atom when an MP4 tag without items
is saved. This will make it possible, to bring the file back to
its pristine state without metadata.
2022-01-06 18:07:15 +01:00
Dzmitry Neviadomski and Urs Fleisch
ff8a9ea831
Add -Wall compiler flag to Clang compilers.
...
Use CMAKE's `CMAKE_<LANG>_COMPILER_ID`, available from 3.0.2.
See: https://cmake.org/cmake/help/latest/variable/CMAKE_LANG_COMPILER_ID.html
2021-12-31 07:51:38 +01:00
ivan tkachenko and Urs Fleisch
fd66b0d3b6
Add compile_commands.json to gitignore
...
Other entries were copied from KDE/marble repo as well.
See also: https://invent.kde.org/sdk/kdesrc-build/-/issues/86
2021-12-08 19:24:52 +01:00
Rosen Penev and GitHub
f581615110
clang-tidy: replace static_cast with dynamic_cast ( #1021 )
...
* clang-tidy: replace static_cast with dynamic_cast
Found with cppcoreguidelines-pro-type-static-cast-downcast
Signed-off-by: Rosen Penev <[email protected] >
2021-07-09 21:47:36 +02:00
Rosen Penev and Urs Fleisch
07eb81e88a
add missing const
...
Avoids using a non const global variable.
Signed-off-by: Rosen Penev <[email protected] >
2021-07-08 20:38:27 +02:00
Rosen Penev and GitHub
c6f1e2750e
use std::pair instead of 2D C array ( #1020 )
...
* use std::pair instead of 2D C array
Mostly the same. Except there's now an association between both values.
make_pair has to be used since there's no uniform initialization.
Signed-off-by: Rosen Penev <[email protected] >
2021-06-21 08:16:46 +02:00
Rosen Penev and Urs Fleisch
a8884c2b17
clang-tidy: don't use else after return
...
Found with readability-else-after-return
Signed-off-by: Rosen Penev <[email protected] >
2021-06-21 06:49:32 +02:00
Rosen Penev and Urs Fleisch
76f00c5a8a
clang-tidy: simplify boolean return
...
Found with readability-simplify-boolean-expr
Signed-off-by: Rosen Penev <[email protected] >
2021-06-21 06:49:32 +02:00
Rosen Penev and Urs Fleisch
68ac7c3106
clang-tidy: use C++ casting
...
Found with google-readability-casting
Signed-off-by: Rosen Penev <[email protected] >
2021-06-21 06:49:32 +02:00
Rosen Penev and Urs Fleisch
38d1d4c21c
clang-tidy: add ending namespace comments
...
Found with google-readability-namespace-comments
Signed-off-by: Rosen Penev <[email protected] >
2021-06-21 06:49:32 +02:00
Rosen Penev and Urs Fleisch
b77e828d4b
clang-tidy: remove redundant initializations
...
Found with readability-redundant-member-init
Signed-off-by: Rosen Penev <[email protected] >
2021-06-21 06:49:32 +02:00
Urs Fleisch
17e299350a
Detect by contents if file detected by extension is invalid ( #1011 )
...
This is the case for Opus files with an ogg extension.
2021-05-28 20:25:05 +02:00
Oleg Antonyan and GitHub
1d24bd3399
Fix "error: duplicate ‘volatile’" on systems without HAVE_GCC_ATOMIC in 1.12 ( #1012 )
...
* fix error: duplicate volatile
* fix volatile ATOMIC_INT in constructor
2021-05-13 16:41:35 +02:00
bobsayshilol and Urs Fleisch
4971f8fb03
ID3v2: Address review comments
...
Change the size check to use isEmpty() as requested.
2021-05-02 12:14:27 +02:00
bobsayshilol and Urs Fleisch
d74689cb93
ASF: Bounds check the size of each header object
...
UBSan spotted an integer overflow on the line `dataPos += size`, so add
a bounds check to the size that we read.
2021-05-02 12:14:27 +02:00
bobsayshilol and Urs Fleisch
51ae5748cb
ID3v2: Return early from decode() on invalid data
...
The while loop in this function assumes that `data.end() - 1` is less
than `data.end()`, which isn't the case if `data` is empty since
`data.end()` can be a nullptr.
2021-05-02 12:14:27 +02:00
bobsayshilol and Urs Fleisch
f2eb331696
MPC: Fix heap-buffer-overflow in readSV7()
...
If `data` is an allocation of only 3 bytes (MP+) then `data[3]` is a
read past the end of the buffer.
2021-05-02 12:14:27 +02:00
bobsayshilol and Urs Fleisch
5f6bbb20e7
APE: Fix typo in valLength
2021-05-02 12:14:27 +02:00
bobsayshilol and Urs Fleisch
03d03f782e
APE: Bounds check the length of values
...
`pos`, `valLegnth`, and `data.size()` are all unsigned types so we have
to do a little dance to correctly bounds check them without overflow.
Without this we can get stuck in an infinite loop due to 'pos'
overflowing back to the start of the data.
2021-05-02 12:14:27 +02:00
bobsayshilol and Urs Fleisch
1d3e080f04
ID3v2: Bounds check a vector's size
...
If the provided vector is empty then `data[0]` dereferences a nullptr,
so add a check that this won't be the case before reading the encoding.
2021-05-02 12:14:27 +02:00
bobsayshilol and Urs Fleisch
3391bd80c4
FLAC: Validate the size of a read
...
Without this we can crash trying to dereference parts of `header`.
2021-05-02 12:14:27 +02:00
Julius Brüggemann and Urs Fleisch
1644c0dd87
Add CMake option for building with ZLib
2021-03-29 20:21:59 +02:00
Scott Wheeler
85cc41082c
Update to more modern macOS instructions.
...
Closes #1005
2021-03-22 11:36:36 +00:00
Jörg Krause and Urs Fleisch
b5cd4c40e2
Drop leftovers WITH_ASF and WITH_MP4
...
The options WITH_ASF and WITH_MP4 where remove in commit
dd846904cb back in 2011. It's time to
remove the leftovers :-)
2021-03-06 14:54:31 +01:00
Urs Fleisch
932d45259c
Fix taglib-config for cross compiling ( #998 )
2021-03-06 14:52:25 +01:00
Urs Fleisch
844f07d32d
Make tests work with BUILD_SHARED_LIBS=ON on Windows
2021-03-06 14:52:25 +01:00
Andreas Sturmlechner and Urs Fleisch
304ab20174
Install taglib.png icon into html folder structure
...
Signed-off-by: Andreas Sturmlechner <[email protected] >
2021-03-06 14:52:25 +01:00
Andreas Sturmlechner and Urs Fleisch
243dd863d7
Install examples after we selected to build them
...
Signed-off-by: Andreas Sturmlechner <[email protected] >
2021-03-06 14:52:25 +01:00
Andreas Sturmlechner and Urs Fleisch
d77e2aee0b
Just set CMAKE_MODULE_PATH instead of list(APPEND), drop ENABLE_STATIC err
...
ENABLE_STATIC error has been there since 2014, that is long enough.
Signed-off-by: Andreas Sturmlechner <[email protected] >
2021-03-06 14:52:25 +01:00
Andreas Sturmlechner and Urs Fleisch
1e636957ab
Use FeatureSummary for a nice CMake summary output
...
Signed-off-by: Andreas Sturmlechner <[email protected] >
2021-03-06 14:52:25 +01:00
Andreas Sturmlechner and Urs Fleisch
507a42871c
Use GNUInstallDirs
...
Well-established CMake standard for installation directories.
Signed-off-by: Andreas Sturmlechner <[email protected] >
2021-03-06 14:52:25 +01:00
Andreas Sturmlechner and Urs Fleisch
01348fb619
Move finding ZLIB to root CMakeLists.txt
...
Small line decrease, but also easier to read what is happening.
Now all dependencies can be read from the root CMakeLists.txt file.
Signed-off-by: Andreas Sturmlechner <[email protected] >
2021-03-06 14:52:25 +01:00
Andreas Sturmlechner and Urs Fleisch
9e0a7f7adb
Use CMake's CTest which includes BUILD_TESTING option
...
BUILD_TESTING is default enabled, which is a good default anyway.
Move the CppUnit check to the root CMakeLists.txt, simpler and clearer.
BUILD_TESTS is obsolete.
The need for BUILD_SHARED_LIBS=OFF for testing is not clear, it works on Linux.
But I kept it in the instructions for now.
Signed-off-by: Andreas Sturmlechner <[email protected] >
2021-03-06 14:52:25 +01:00
Scott Wheeler
340ec9932a
SVG for API doc diagrams makes a lot more sense in 2021
...
This also makes things look non-crappy on high-DPI monitors.
2021-02-16 12:00:52 +00:00
Urs Fleisch
c8b39449c3
Version 1.12
v1.12
2021-02-15 12:23:07 +01:00
Urs Fleisch
bd254654bc
Update documentation for version 1.12.0
2021-02-15 10:37:11 +01:00
Urs Fleisch
fbc3f9bbec
Fix doxygen warnings
2021-02-14 18:20:29 +01:00
Urs Fleisch
99ad01e12f
Fix file name resolver on Windows
...
The change from "fileref: Use user defined resolvers on streams"
does not work with the Windows FileName implementation, and
TestFileRef::testFileResolver fails.
2021-02-14 18:20:29 +01:00
Urs Fleisch
83aa01c6af
Ogg: Set granule position to -1 if no packets finish on page ( #864 )
2021-02-14 10:04:03 +01:00
Urs Fleisch
4c14571647
Update version to 1.12.0
v1.12-beta-2
2021-01-23 09:15:32 +01:00
Urs Fleisch
f4b476a620
Add more unit tests
2021-01-18 20:31:52 +01:00
Urs Fleisch and GitHub
f8d78a61f7
Merge pull request #990 from ufleisch/ufleisch/more-tests
...
More unit tests and bug fixes
2021-01-12 18:07:23 +01:00
Urs Fleisch
cf6c68bafc
Support a consistent set of MusicBrainz properties where possible
...
The support for MusicBrainz properties is enhanced with "ARTISTS", "ASIN",
"RELEASECOUNTRY", "RELEASESTATUS", "RELEASETYPE", "MUSICBRAINZ_RELEASETRACKID",
"ORIGINALDATE" on APE, ASF, MP4, ID3v2, and Xiph tags.
2021-01-10 15:19:10 +01:00