Max Kellermann
be65c7d5d0
config/Block: add method GetPositiveValue()
...
Adds missing checks to several plugins.
2018-01-02 17:24:34 +01:00
Max Kellermann
5bd1fbb0d6
player/Thread: merge four mutex locks in SeekDecoder()
2017-12-22 01:04:44 +01:00
Max Kellermann
910496cea9
decoder/Control: caller must lock mutex for Start()
2017-12-22 01:03:01 +01:00
Max Kellermann
860d13c7d8
decoder/Control: caller must lock mutex for Stop()
2017-12-22 00:48:12 +01:00
Max Kellermann
d0194a6fb3
decoder/Control: caller must lock mutex for Seek()
2017-12-22 00:37:25 +01:00
Max Kellermann
499e053d58
decoder/mad: use std::unique_ptr
2017-12-20 15:32:10 +01:00
Max Kellermann
9f33c6fe03
decoder/Bridge: use std::unique_ptr<Tag>
2017-12-20 15:24:41 +01:00
Max Kellermann
73e69edac3
input/InputStream: ReadTag() returns std::unique_ptr<Tag>
2017-12-20 15:22:18 +01:00
Max Kellermann
43d2fd73ab
lib/xiph/VorbisComments: return std::unique_ptr<Tag>
2017-12-20 15:10:59 +01:00
Max Kellermann
71f1ec0bc8
tag/Id3Scan: return std::unique_ptr<Tag>
2017-12-20 15:09:20 +01:00
Max Kellermann
25fa3ccade
MusicChunk, player/Thread: use std::unique_ptr<Tag>
2017-12-20 15:02:14 +01:00
Max Kellermann
c6a95395b5
tag/Tag: Merge() returns std::unique_ptr<Tag>
2017-12-20 14:59:51 +01:00
Max Kellermann
7d035edf9d
player/Control, ...: remove API documentation references to the obsolete Error class
2017-12-20 12:20:09 +01:00
Max Kellermann
914df18bf9
Main, ...: catch any exception, not just std::runtime_error
2017-12-19 10:56:23 +01:00
Max Kellermann
6246d36fe6
Merge branch 'v0.20.x'
2017-12-16 20:56:06 +01:00
Max Kellermann
dfaf08743c
*: check defined(_WIN32) instead of defined(WIN32)
...
Only _WIN32 is defined by the compiler, and WIN32 is not standardized
and may be missing.
Closes #169
2017-12-12 10:22:20 +01:00
Max Kellermann
28fdf1e9ed
decoder/Control: wrap DetachedSong* in std::unique_ptr
2017-11-26 12:16:53 +01:00
Max Kellermann
9a8a3beae4
decoder/Control: add "noexcept"
2017-11-26 12:16:53 +01:00
Max Kellermann
e4a147218b
Merge branch 'v0.20.x'
2017-11-12 18:55:12 +01:00
Max Kellermann
a2b77c8813
decoder/ffmpeg, test/test_protocol: catch exceptions by reference
...
Work around -Werror=catch-value.
2017-11-12 18:54:29 +01:00
Max Kellermann
49784513b1
util/{Const,Writable}Buffer, ...: rename IsEmpty() to empty(), imitating STL
2017-11-10 19:24:33 +01:00
Max Kellermann
523051132d
Merge branch 'v0.20.x'
2017-11-05 17:48:41 +01:00
Marcin Jurkowski
3b23cf0258
decoder/vorbis: scale and clip tremor-decoded samples to 15 bits
...
Tremor decoder is unusable since commit 2ee43c4
. Sound is distorted to
the point where it's nothing but noise.
The data from vorbis_synthesis_pcmout() needs to be scaled and
clipped for 16 bit sample size. For reference see
http://lists.xiph.org/pipermail/tremor/2010-April/001642.html and
http://lists.xiph.org/pipermail/vorbis/2006-October/026513.html .
Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com >
2017-11-03 19:45:41 +01:00
Max Kellermann
b4b468eb27
Merge tag 'v0.20.11'
...
release v0.20.11
2017-10-18 10:21:39 +02:00
Max Kellermann
fa67c2548a
decoder/Thread: clear the command after catching an exception
...
If an early exception gets caught (e.g. from
AllocatedPath::FromUTF8Throw()) before
DecoderControl::CommandFinishedLocked() is called, the decoder thread
would go in an endless loop, because DecoderCommand::START is still
set.
Closes #118
2017-09-27 17:08:16 +02:00
John Regan
ea80587ddb
GME Plugin: fix track numbering
...
GME starts all track indexes at zero, but subtune prefixes
start at one. This fixes an off-by-one error during track
enumeration.
2017-09-27 11:18:03 +02:00
John Regan
bd50a0d2ef
GME Plugin: fix track numbering
...
GME starts all track indexes at zero, but subtune prefixes
start at one. This fixes an off-by-one error during track
enumeration.
2017-09-26 08:42:53 -05:00
John Regan
9256e748c8
GME Plugin: only load m3u if it exists
...
If you load an NSFE file (which has embedded track titles),
then attempt to load an M3U file, it causes GME to lose all
information found in the NSFE file. This adds a check that
the M3U file exists before attempting to load.
2017-09-26 08:42:43 -05:00
John Regan
e96513c8db
GME Plugin: try loading m3u sidecar files
2017-09-22 19:58:17 +02:00
Max Kellermann
44bbf42a9f
Merge branch 'v0.20.x'
2017-09-19 18:58:02 +02:00
Charlie Waters
b253a6b71e
ffmpeg plugin: when decoded stream duration is unavailable, attempt fallback to container duration ( fix MusicPlayerDaemon/MPD#110 )
2017-09-18 10:39:27 +02:00
Max Kellermann
d29bdf3e81
Merge branch 'v0.20.x'
2017-07-31 13:50:14 +02:00
Matthew Leon
4c0404c70d
Check for MusicBrainz id3v2 tags in ffmpeg.
...
Addresses #82 .
Previously, the ffmpeg decoder only checked for the "generic"
MusicBrainz metadata keys used in other metadata container formats.
2017-07-20 08:28:14 +02:00
Max Kellermann
979f1b6c39
Merge tag 'v0.20.9'
...
release v0.20.9
2017-06-04 12:57:05 +02:00
Max Kellermann
a057b4f6d8
*: add lost of "noexcept" specifications
2017-06-04 12:46:48 +02:00
Jörg Raftopoulos
18b827b979
decoder/ffmpeg: add support for adx
...
Add ffmpeg decoder support for *.adx files (Sega game console)
Closes #60
2017-06-03 20:57:20 +02:00
Max Kellermann
4faef28cc5
Merge tag 'v0.20.7'
...
release v0.20.7
2017-05-15 23:01:49 +02:00
Max Kellermann
71f0ed8b74
*: add "noexcept" to many, many function prototypes
...
This eliminates some overhead, because the compiler doesn't need to
consider these functions throwing.
2017-05-08 14:44:49 +02:00
Max Kellermann
b0ce551523
decoder/pcm: support audio/L24
...
Closes #31
2017-04-24 20:54:13 +02:00
Max Kellermann
8b0269c264
Merge branch 'v0.20.x'
2017-04-24 20:54:04 +02:00
Max Kellermann
6b60d1e71f
decoder/pcm: add missing nullptr check
...
Fixes a potential crash bug which is actually unreachable, because the
"pcm" plugin is never invoked when there is no (matching) MIME type.
2017-04-24 20:36:55 +02:00
Max Kellermann
f6e428ac22
Merge branch 'v0.20.x'
2017-04-24 11:44:27 +02:00
Max Kellermann
45fbafae94
decoder/pcm: split variable "frame_size" in "in_*" and "out_*"
2017-04-24 11:32:52 +02:00
Max Kellermann
7b7fb5acd5
decoder/pcm: fix potential assertion failure in FillBuffer()
...
After a seek failure, the buffer may still be full, and then
FillBuffer() aborts with assertion failure.
2017-04-24 11:20:37 +02:00
Max Kellermann
e26d49efb7
Merge tag 'v0.20.6'
...
release v0.20.6
2017-03-10 17:02:32 +01:00
Max Kellermann
1dd01c99e8
decoder/sidplay: make compatible with libsidplayfp < 1.8
...
https://bugs.musicpd.org/view.php?id=4665
2017-03-10 13:48:52 +01:00
Thomas Zander
d50b30a498
Add missing include for cstdlib, otherwise free() is undefined
2017-03-07 20:02:36 +01:00
Max Kellermann
3be2051808
decoder/Thread: check ENABLE_FFMPEG, not HAVE_FFMPEG
...
This repairs the damage to commit 74dbaade6f
done by commit
b3f5b4932c
2017-03-01 17:06:23 +01:00
Max Kellermann
29a7b2c5b5
decoder/mpcdec: ignore empty frames
...
https://bugs.musicpd.org/view.php?id=4656 describes a crash due to
division by zero because frame.samples==0. This should never happen,
but apparently can happen after seeking. The best we can do is to
just ignore this frame.
2017-03-01 16:13:21 +01:00
Max Kellermann
781487c4dd
thread/Thread: use BoundMethod
2017-02-10 22:46:09 +01:00