Max Kellermann
c32a809d38
decoder/opus: convert field output_gain
to float
2020-10-16 18:28:57 +02:00
Rosen Penev
c883f178b8
clang-tidy: use auto
...
Found with modernize-use-auto
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-09-26 21:33:35 -07:00
Max Kellermann
c843bce9f5
LogLevel: rename DEFAULT to NOTICE
...
"DEFAULT" is a bad name - all it says is that it's the default value,
but it doesn't say what it means. The name NOTICE mimics the syslog
level.
2020-09-23 14:22:33 +02:00
Max Kellermann
065926d6a4
decoder/ffmpeg: support album art
...
Closes https://github.com/MusicPlayerDaemon/MPD/issues/892
2020-09-23 12:50:28 +02:00
Max Kellermann
5130acf3ea
decoder/ffmpeg: implement protocols() and uri_decode() (for RTSP)
...
This implements the feature that was missing/broken in this bug
report: https://github.com/MusicPlayerDaemon/MPD/issues/930
2020-09-21 14:57:12 +02:00
Max Kellermann
a22d1c88d7
decoder/ffmpeg: pass InputStream by pointer
...
Prepare for an implementation without InputStream.
2020-09-21 14:53:18 +02:00
Max Kellermann
85849c9396
decoder/plugin: add method protocols()
...
Similar to commit 4e2a551f30
but for
decoder plugins. This is tailored for the FFmpeg decoder plugin which
implements some protocols (e.g. RTSP) as demuxer plugin.
2020-09-21 14:53:18 +02:00
Max Kellermann
7c8427b0f7
Merge branch 'v0.21.x' into master
2020-09-21 11:37:50 +02:00
Max Kellermann
b72801abf3
util/ByteOrder: add FromLE16S()
2020-09-21 11:15:45 +02:00
Desuwa
23d5a2b862
Support opus header gain tags and match opus playback volume to other tracks when ReplayGain is enabled.
2020-09-21 10:51:06 +02:00
Rosen Penev
7715311117
fix double promotions
...
Found with -Wdouble-promotion
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-09-21 09:13:51 +02:00
Max Kellermann
67c7116f05
Merge branch 'v0.21.x' into master
2020-09-04 18:35:21 +02:00
Max Kellermann
0aa0ffb67b
decoder/sndfile: allow partial reads at end of file
...
While libsndfile doesn't like partial reads in the middle of a file
(see commit 95ac6071b9
), it allows partial reads at the end of a file.
It doesn't pay attention to the file size when issuing a read.
Commit ecb67a1ed1
(MPD 0.18.12) was a regression: previously,
partial reads at the end of a file were possible, but switching to
decoder_read_full() made this an error condition. This way, a portion
at the end of each file was lost, leading to corruption with gapless
playback (https://github.com/MusicPlayerDaemon/MPD/issues/936 ).
This fix switches to the newly introduced function
decoder_read_much(), which does the same as the code before commit
ecb67a1ed1
.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/936
2020-09-04 13:35:00 +02:00
Max Kellermann
33f70931dd
decoder/API: add decoder_read_much()
2020-09-04 13:35:00 +02:00
Max Kellermann
8830ea319f
decoder/API: add noexcept
2020-09-04 13:35:00 +02:00
Max Kellermann
36e6079c57
Log: make LogLevel the first parameter
...
Prepare for templated functions.
2020-07-06 21:07:26 +02:00
Max Kellermann
c3cfb5fe16
Merge branch 'v0.21.x'
2020-07-06 20:56:52 +02:00
Max Kellermann
bfdf13dca3
decoder/Plugin: allow scan_{file,stream}() to throw
...
Bug #915 is about an I/O exception thrown where none was allowed,
leading to crash via std::terminate(). However, instead of catching
and logging the error inside the decoder plugin, it should be able to
propagate the I/O error to the MPD core, so MPD can avoid trying other
decoder plugins.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/915
2020-07-06 14:13:34 +02:00
Max Kellermann
a08d4b3d66
Merge branch 'v0.21.x'
2020-07-01 22:09:33 +02:00
Max Kellermann
faee5bbb78
decoder/opus: implement End Trimming (RFC7845 4.4)
...
Closes https://github.com/MusicPlayerDaemon/MPD/issues/867
2020-07-01 21:26:34 +02:00
Max Kellermann
7befab7e83
decoder/opus: keep track of the granulepos
...
Will be needed for End Trimming (RFC7845 4.4,
https://github.com/MusicPlayerDaemon/MPD/issues/867 ).
2020-07-01 21:21:06 +02:00
Max Kellermann
4244e61214
decoder/opus: simplify indentation in HandleAudio()
2020-07-01 21:19:52 +02:00
Max Kellermann
46eab05045
decoder/opus: allocate buffer only in the first chained song
...
Fixes memory leak. That's what we get for
2020-07-01 21:07:49 +02:00
Max Kellermann
5ca137c73c
decoder/opus: add API docs
2020-07-01 20:55:18 +02:00
Max Kellermann
760238fe16
decoder/opus: apply pre-skip (RFC7845 4.2)
...
Fixes the first part of
https://github.com/MusicPlayerDaemon/MPD/issues/867
2020-07-01 20:44:53 +02:00
Max Kellermann
a99b4abae8
decoder/OpusHead: return pre-skip
2020-07-01 17:51:07 +02:00
Max Kellermann
c4efc37ad8
system/ByteOrder: move to util/
2020-07-01 17:49:57 +02:00
Max Kellermann
c6a7f6dabc
release v0.21.24
...
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEEA5IzWngIOJSkMBxDI26KWMbbRRIFAl7hRzQQHG1heEBtdXNp
Y3BkLm9yZwAKCRAjbopYxttFEp7dD/483fkBEyipufQyQT9nntP8R/vqKlUT+M9V
8LyoJBtNtbNkO4bdrgAQCzElYzkDnd8VR++ZDEcqSEF49y5wafsiuufJNW2/s02Y
ygAqgTCpcuS58F7aK92CW99bhZcKC6zoQovkenSMaZ39gorE1ZuO1JyrFR1LWOat
ELekougQe0JbX2YX0YOH0Qags5fv9joxYJYsx8ZC60sCRNc+h8CBQjpyhZqzk7wC
EPviLeMDw5lXkoSI3C045QmwJRFG8GMEyZ/4E/mnibxoTXBJmsm4ArKrfJznrUUs
r8Mkf4G7sVqbsRMyMFBpzw+lsRDpVWI26mhdah9Y1zuUYPaEMe7OVKuEsASJQ/oK
33wRSBVZc7EPhV3m8f7U8NAJI0/XaaPKGgP2OrtnOfxD+OyAze4vNLZ/GJCYSsh+
wN1grmJw1mTP52xBicN2AITqXSVVpuvznn+p0g9MBB9Nw8/vbeWaqGPQhMHGHW6a
JIL9yUTWwhkvkhav1bT7zKaeZv3qfgO7fjkgJqQFYt/q4FZwPFHJme55mVGq9d1y
FNR8BMh+0A8hRhhQVwVycLxr4+NJja3vaqx+uVG2kov1g3eQBSgnEYCiEV7uls4V
Pr4sIEeU/QQ+0jsMoJCaW65bNm4tOGKibpjSHrwJ+gxwKn3N7sJaAOo7PgGsUZyS
30cBC5zkjw==
=XHev
-----END PGP SIGNATURE-----
Merge tag 'v0.21.24'
release v0.21.24
2020-06-10 22:58:41 +02:00
Max Kellermann
aafc9ce75b
decoder/gme: use class NarrowPath() for Windows compatibility
2020-06-10 21:22:00 +02:00
Max Kellermann
fea326530b
decoder/gme: simplify LoadGmeAndM3u() by moving code to ReplaceSuffix()
2020-06-10 21:20:49 +02:00
Max Kellermann
8925cc17d8
decoder/gme: use StringAfterPrefix()
2020-06-10 21:11:08 +02:00
Max Kellermann
14412c867f
add a few IWYU pragmas
2020-06-10 21:10:33 +02:00
Max Kellermann
c5cc256bf2
decoder/gme: use Path::GetSuffix()
2020-06-10 21:02:07 +02:00
Max Kellermann
374cc51f77
decoder/Bridge: add flag to make initial seek errors fatal
...
When the client wants to seek, but the decoder has already finished
decoding the current song, the player restarts the decoder with an
initial seek at the new position. When this initial seek fails, MPD
pretends nothing has happened and plays this song from the start.
With this new flag, a restarted decoder marks the initial seek as
"essential" and fails the decoder if that seek fails.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/895
2020-06-10 17:49:10 +02:00
Max Kellermann
068006ebd7
decoder/Bridge: install an InputStreamHandler on local files
...
Before the advent of io_uring (commit dae8da7066
), this didn't
matter, because the `FileInputStream` never called this. But
`UringInputStream` is derived from `AsyncInputStream`, and needs the
handler to signal completion.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/898
2020-06-09 21:07:38 +02:00
Rosen Penev
e4dad42ca1
use std chr functions
...
The ones in std have overloads for const char/char.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-05-30 13:36:53 +02:00
Max Kellermann
5e93e882c9
Merge branch 'v0.21.x'
2020-05-27 16:16:30 +02:00
Max Kellermann
30d97fe8a0
meson.build: fix the WildMidi check when the feature is disabled
...
Fixes regression from commit 69f09648a4
2020-05-27 16:06:49 +02:00
Max Kellermann
4e5d6e560b
decoder/modplug: assume ModPlug is built as static library on Windows
2020-05-27 15:03:46 +02:00
Max Kellermann
d276d8eda2
decoder/wildmidi: assume WildMidi is built as static library on Windows
2020-05-27 15:03:35 +02:00
Max Kellermann
ebcb5e9368
decoder/wildmidi: use NarrowPath, fixing the Windows build
2020-05-27 15:03:33 +02:00
Max Kellermann
69f09648a4
meson.build: attempt to detect WildMidi using pkg-config
...
The WildMidi project added the pkg-config file in version 0.3.3, but
unfortunately, Debian still doesn't ship it 4 years later:
https://bugs.debian.org/916631
However, for cross-compiling, the pkg-config file is very helpful.
2020-05-27 15:03:16 +02:00
Max Kellermann
864d26cd1b
Merge branch 'bind' of git://github.com/neheb/MPD
2020-05-06 06:14:55 +02:00
Max Kellermann
e0edf0b206
meson.build: move VERSION and others to Version.h
2020-05-05 15:12:11 +02:00
Max Kellermann
8f178401e4
*/plugins/meson.build: define feature macros in Features.h
...
This makes ccache more efficient when recompiling with different
plugins.
2020-05-05 15:06:50 +02:00
Max Kellermann
1787aa5e00
decoder/sidplay: drop support for libsidplayfp < 1.8
2020-05-05 13:53:10 +02:00
Rosen Penev
e6a77e1297
remove std::bind usage as much as possible
...
Reduces unstripped size. stripped size is the same.
Also took the time to remove using std::placeholders.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-05-04 15:40:28 -07:00
skidoo23
a485c4856c
decoder/sidplay: support new song length format with libsidplayfp 2.0
2020-04-29 16:27:54 +02:00
John Regan
6423670eae
gme: use song-reported fade-out time when available
2020-04-26 09:24:34 -04:00
John Regan
90a2109fd1
gme: add configurable fade-out time
...
Also include fade-out time in song length.
2020-04-26 09:21:57 -04:00
Max Kellermann
0b3acc3eec
release v0.21.23
...
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEEA5IzWngIOJSkMBxDI26KWMbbRRIFAl6huEwQHG1heEBtdXNp
Y3BkLm9yZwAKCRAjbopYxttFEgcrD/9jLUkiszNc+QWbUGj+RiTaD6fMxA1M8itn
nB7MKI/g/3ggryWMWNhG51O+8wFNs/4PmJJPGxKoU6i6wmS3YFhTAcs0ryilDGAU
1FumnMg/2qIyi2E6K2BMbi0YwZiJhBPWwD4JSt1KGvwPes/qQPFgHAi7ZWhP3tar
fHmgmjwDZ/Kgpl5/Bn7nVNgVuzk/MpBOSwxX9tFtRxqE9wdpm9idve7SVDT7MTvk
vdONWbAe8jXl/A8JHWaUsws0l7fyK5ZKSOXvdeSbzd67I8Rz3aqJMqUh2k/rDuv/
GrDyeEtLV5cXZsL4B3/34kCTKac2ZJmRbSh+buKeDc1Gf0clWnvRMdsMbSoRBY4F
lTWJbjndfq2+iHHBRfaqRjombv52R11yLT+O0aMLEm6l7xPm/rHZXJIcYSmCafd7
FR1qMaVKP5s+M+MqGePxzCUJSWJ+1bjZwjLaHrYXYPUoXSg3mSaeDE5g7BjQhm1E
2Hcfui9lvqR55UNo0NvDBjRT5FBGBUdjF6DjYplUGApw7xFtdahXlEvG7yfyg3ae
pZ3FQ1MZ4dESAw7EhTEBwajsVRQ9DhGQenYTxxCnGVdCucZRPQ9Abhas0U4iFHUA
wGj7j4WKPi+OUSyiT0j4nGuwEVtCkBFv34DqPMLjx8jqtJ8YgCt4iJD4dFwhk1zz
uoQBhq27Gg==
=sR2r
-----END PGP SIGNATURE-----
Merge tag 'v0.21.23'
release v0.21.23
2020-04-23 18:01:23 +02:00
Max Kellermann
138c29320b
gme: adapt to API change in the upcoming version 0.7.0
...
Closes https://github.com/MusicPlayerDaemon/MPD/issues/833
2020-04-22 21:53:00 +02:00
Rosen Penev
6979be008c
[clang-tidy] use auto
...
Found with modernize-use-auto.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-04-22 18:21:07 +02:00
Max Kellermann
12b97bbe38
release v0.21.22
...
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEEA5IzWngIOJSkMBxDI26KWMbbRRIFAl6GCWgQHG1heEBtdXNp
Y3BkLm9yZwAKCRAjbopYxttFEvkQD/9qg6cnCgCKSOmTjteJu1ayeXBMDiL3cCCg
AwarHQoxsB0102NpV+MLka+4HIwHn+WNL55TzYgfbSh0nfmnki2fZ0YpsZoQR79w
MP11iMPnFH1oKqj58minBkFNmAis2aLYHJGKaQNUh7wcf0WhbVTqtWBUrKb07RQ0
Zj5lXtg65O/+yaCVdQGS6fMk2t7CqBM+S3RmbXCib/JRMC6aozoC7nWPvj8b2R8d
PgxwKMRzyslyFoxDQZrusDjJ1piyigzUMMr32yzYDED4Xr8jsEELaJfULbr6qWT2
ZNYF91e+D5V7riASAtlFTaVMaISx4QbHjKWR5Xcx0q/SJPAXTxF8RrAqGvqpWYmc
kqmC8iNxQsW5o3sNhI9qg6sOkq2dIu43VasRCvuo19GABR36wwTK5ORoazIi8fbU
/Ki/oZHtZczHRop9Cd6698Qr9jyTPdIs55FbgejzrVADvAmslqtcA6XxCBuG1nSF
Qo48dp9Px7J74qNNuDt5/xLnQGJKaW60/BXrMK9G9QG4x9r4zuCayDO6Qc7FMWWR
DG7k9nYoXJU5YG7xp9Rk+Yj3Ade8kqhTnKfqw0f2JfkLt0ChPG+rZcxICWSdzZm0
AfHxuEQlwKaaFHFEsZhVehlsXkeU9OVywo+QDzmY2uqQ2ddlBZ47Qm2MWgTsv8i/
euVsrzLtag==
=EedX
-----END PGP SIGNATURE-----
Merge tag 'v0.21.22'
release v0.21.22
2020-04-02 18:02:10 +02:00
Max Kellermann
8270043053
Revert "decoder/ffmpeg: copy the AVPacket in ffmpeg_send_packet()"
...
This reverts commit eb192137d6
.
This is no longer necessary because we require FFmpeg 3.1 or newer
since MPD 0.21.2.
This fixes a deprecation warning because the implicit AVPacket copy
constructor copies the deprecated attribute `convergence_duration`.
2020-04-01 17:30:28 +02:00
Max Kellermann
e1c43ec65f
Merge branch 'ucl' of git://github.com/neheb/MPD into v0.21.x
2020-03-26 17:28:21 +01:00
Rosen Penev
608d7ec1e7
[clang-tidy] change integer prefixes to uppercase
...
Found with readability-uppercase-literal-suffix
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-03-26 17:25:20 +01:00
Rosen Penev
85c27840a3
treewide: use boost::lround when std::round is unavailable
...
This is the case with uClibc-ng currently.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
(cherry picked from commit 769cd0ee9f0cf8ceb026aa751b5d4a390bb5dbdc)
(changed define to match master)
2020-03-25 18:54:15 -07:00
Rosen Penev
e87454ae88
MpcdecDecoderPlugin: use std variant of pow
...
It's available with uClibc-ng. It also offers overloads.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-03-24 17:16:51 -07:00
Rosen Penev
f319f88df4
[cppcheck] use const for several variables
...
Found with constVariable
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-03-23 21:03:22 -07:00
Rosen Penev
403612c666
[clang-tidy] run through performance checks
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-03-19 13:38:40 +01:00
Rosen Penev
6d91b5c7b2
fix double promotions
...
Found with -Wdouble-promotion
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-03-16 12:43:24 -07:00
Max Kellermann
fd71514068
Merge remote-tracking branch 'neheb/h'
2020-03-16 17:29:05 +01:00
Rosen Penev
97425d56e7
remove gcc_unused
...
[[maybe_unused]] (introduced in C++17) is standard C++.
https://clang.llvm.org/docs/AttributeReference.html#maybe-unused-unused
says that this is equivalent to the GNU unused attribute.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-03-16 00:08:21 -07:00
Rosen Penev
5e4b7e2fb7
[clang-tidy] fix incorrect rounding
...
Found with bugprone-incorrect-roundings
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-03-15 20:22:08 -07:00
Rosen Penev
177371a003
treewide: get rid of C math function usage
...
Boost does not seem to offer an overload for lrint.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-03-15 20:22:07 -07:00
Rosen Penev
3ec9fcfc44
treewide: use boost::lround when std::round is unavailable
...
This is the case with uClibc-ng currently.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-03-15 20:17:31 -07:00
Rosen Penev
a2f5a63bbc
replace stdint.h with cstdint
...
The former is deprecated by C++14. The standard says they are the same:
The header defines all types and macros the same as the C standard library
header<stdint.h>.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-03-12 19:04:39 -07:00
Rosen Penev
2db8bcc353
replace stddef.h with cstddef
...
The former is deprecated with C++14. The standard says both are the same:
The contents and meaning of the header<cstddef>are the same as the C
standard library header<stddef.h>,except that it does not declare the type
wchar_t, that it also declares the type byte and its associated
operations (21.2.5), and as noted in 21.2.3 and 21.2.4.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-03-12 19:04:38 -07:00
Rosen Penev
ab9f5d2067
replace assert.h with cassert
...
The former was deprecated with C++14.
According to the C++11 and C++17 standards, both files are identical.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-03-12 15:25:38 -07:00
Rosen Penev
f00f8b002a
[clang-tidy] use nodiscard
...
Introduced in C++17. It replaces gcc's warn_unused_result.
Found with modernize-use-nodiscard.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-03-12 12:59:16 -07:00
Max Kellermann
01632d37ef
Merge branch 'v0.21.x'
2020-03-12 08:11:08 +01:00
John Regan
976372ff63
gme: check for empty metadata strings instead of nullptr
...
Using libgme 0.6.2 on macOS, it appears that gme_info_t strings can be
empty, which creates weird track titles: (001/050)
This adds an additional check for an empty string.
2020-02-25 20:12:08 +01:00
Max Kellermann
d4a6d647a0
Merge branch 'efuhgeh' of git://github.com/neheb/MPD
2020-02-16 19:03:35 +01:00
Max Kellermann
7b03f55cb4
util/bit_reverse: convert to C++
2020-02-05 19:49:18 +01:00
Max Kellermann
1e421cbcb2
Merge remote-tracking branches 'neheb/patch-2', 'neheb/con', 'neheb/cons', 'neheb/guruhg', 'neheb/r12R3', 'neheb/fefgheh' and 'neheb/rhgerg3453'
2020-02-05 19:36:01 +01:00
Rosen Penev
b9db8ddee6
[clang-tidy] remove misplaced const
...
The rhs evaluates to void *const, not const void*.
Found with misc-misplaced-const
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-02-04 15:27:14 -08:00
Rosen Penev
9cf1385765
[clang-tidy] remove static in namespace
...
Found with readability-static-definition-in-anonymous-namespace
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-02-04 15:25:31 -08:00
Rosen Penev
a3963de668
[clang-tidy] change integer prefixes to uppercase
...
Found with readability-uppercase-literal-suffix
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-02-04 15:20:50 -08:00
Rosen Penev
7d2c4ec775
[clang-tidy] remove unneeded return
...
Found with readability-redundant-control-flow
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-02-04 15:19:52 -08:00
Max Kellermann
3fc859c42d
Merge branch 'v0.21.x'
2020-02-04 16:49:18 +01:00
Max Kellermann
50003f6ad2
decoder/ffmpeg: add two more missing commas
2020-02-04 16:30:05 +01:00
Rosen Penev
0914644d2b
add missing comma
...
Found with bugprone-suspicious-missing-comma
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-02-04 16:29:23 +01:00
Max Kellermann
4b0444e760
Merge remote-tracking branches 'neheb/uniq', 'neheb/bool', 'neheb/loop', 'neheb/bool2', 'neheb/perf', 'neheb/void' and 'neheb/value'
2020-02-02 16:22:19 +01:00
Rosen Penev
568deefd68
[clang-tidy] remove pointless void arg
...
Found with modernize-redundant-void-arg
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-02-01 19:52:38 -08:00
Rosen Penev
15fa780c99
[clang-tidy] convert several loops to range based ones
...
Found with modernize-loop-convert
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-02-01 19:46:50 -08:00
Rosen Penev
469cd9582f
[clang-tidy] use make_unique
...
Found with modernize-make-unique
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-02-01 19:40:39 -08:00
Max Kellermann
72ec641f0d
*: use auto
2020-02-01 14:02:43 +01:00
Max Kellermann
302eff0a59
decoder/{vorbis,mpcdec}: use using
instead of typedef
2020-02-01 13:38:43 +01:00
Max Kellermann
5ad6e7fec5
decoder/{audio,snd}file: handle MIME type "audio/wav"
2020-02-01 11:26:57 +01:00
Rosen Penev
0bb943ba3e
FfmpegDecoderPlugin: add WAV support
2020-02-01 11:24:51 +01:00
Rosen Penev
80a0cf694f
MadDecoderPlugin: fix bad printf format
...
max_frames is size_t, not unsigned long. Fixes GCC warning.
2020-01-31 21:21:39 +01:00
Max Kellermann
0b2444450f
decoder/ogg: improve seeking accuracy using binary search
...
On some VBR files, the single-step interpolation was very inaccurate
and inacceptable.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/720
2020-01-31 19:35:35 +01:00
Max Kellermann
e01bbad7bb
lib/xiph/OggVisitor: update the OggStreamState offset
2020-01-31 19:24:41 +01:00
Max Kellermann
6fe4068c8e
decoder/ogg: move code to SeekByte()
2020-01-31 19:24:26 +01:00
Max Kellermann
8472135859
decoder/ogg: remove unimplemented Seek() declaration
2020-01-31 19:20:52 +01:00
Max Kellermann
943a67c805
decoder/ogg: need to sync small files while looking for EOS
...
When calling OggSeekFindEOS() from inside a OggVisitor callback, then
the #InputStream may be in the middle of an Ogg packet, and the newly
initialized #ogg_sync_state will not be able to load it without the
help of ogg_sync_pageseek(). By passing "synced=false" to
OggSeekFindEOS(), we force the use of ogg_sync_pageseek() even when
not actually seeking.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/719
2020-01-25 20:07:11 +01:00
Max Kellermann
cd612c4eef
AudioFormat: move to pcm/
2020-01-18 20:24:59 +01:00
Max Kellermann
914ad261ed
pcm/meson.build: split libpcm into two
...
One basic library without dependencies, and one with heavy
dependencies like libsamplerate.
2020-01-18 20:08:23 +01:00
Max Kellermann
7551867249
meson.build: move Log.cxx and LogBackend.cxx into a static library
...
Prevents compiling those sources many times, once for each debug
program using it.
2020-01-18 19:56:16 +01:00