Max Kellermann
|
657d6edff7
|
decoder/flac: add FlacInput getter methods
|
2016-07-11 22:37:49 +02:00 |
|
Max Kellermann
|
737c5a9549
|
decoder/flac: rename struct flac_data to FlacDecoder
|
2016-07-11 22:37:46 +02:00 |
|
Max Kellermann
|
b67e7df38e
|
release v0.19.17
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAABCAAGBQJXgCv6AAoJECNuiljG20USR3cP/RALB4qlhecMo6H8VwZvfjiA
FHfhBKfdpHM3U3EEIZc1zxwHIdWk1yELtmx298vmJbWUifpYAYarXF5497tZf2XE
AVfhTltEJEd7xB5ZULnEScM1aHzMZm5HRcHwM1UqNCsXP7PT8fmpk7gw19pKOChT
h8V3+tpC403lCIcHcJGlkuzgZvKIZDs73g7a0+4GxD9XRAPwnMYRl3Cfd8QjKT/U
r67AcOwQlS6hWJFs0K1JjOQwfwbRq2YmuOmFJua6n8O6CI/7t4h3faSQ0V/5qjFd
k/pAMRtX6mz3mjVhZv4cuMy+QILWlxUNwLBIwtxSfbwcFKrN0vtIRG8O9622hTs2
+mvYiVboWABk6hnukiDAfki96jWYHlsCJR5oIK9DZ4nBe5RVp0r9Nq/ook2AW2it
6VgYIDBI5zS/blyJzXtzDVWEtSmLFxm21JSl+jHfWDtL6/rQGimdVOFkRw40oCBz
seYb5kIbilrg6xq1KiBMT+EWmXMf+q+3YWQsu01blXGYGPhpUqhIr0h/qUfWAqMs
fwIsoxsTrkQQjEWb6YWupPrdOLZ+kTAyaK+7v8B8JmzS/H3SohusMPUZKsQXl82s
5LJVLtVxB9WRRmpfSoYqfk7CkTHOktCzVmiHb/FYUYElS9VKmJYYU8XQ25snCoZ6
bYtERsH28q8rrpkWWEXP
=IXD5
-----END PGP SIGNATURE-----
Merge tag 'v0.19.17'
release v0.19.17
|
2016-07-09 00:46:09 +02:00 |
|
Max Kellermann
|
ab95027fc6
|
decoder/flac: suppress warning at end of stream
This is required if a stream ands without another chained FLAC file.
|
2016-07-08 23:19:47 +02:00 |
|
Max Kellermann
|
ed3bc4ab63
|
decoder/flac: move code to FlacInitAndDecode()
|
2016-07-08 23:03:49 +02:00 |
|
Max Kellermann
|
68064f1aa6
|
decoder/flac: move duplicate code to flac_data::Initialize()
|
2016-07-08 22:44:23 +02:00 |
|
Max Kellermann
|
475ac76a5f
|
decoder/flac: late "total_frames" initialization
|
2016-07-08 22:43:31 +02:00 |
|
Max Kellermann
|
79d4f8674c
|
decoder/flac: remove "duration" parameter from flac_decoder_initialize()
It's always 0.
|
2016-07-08 22:41:19 +02:00 |
|
Max Kellermann
|
e42eed4d4c
|
decoder/flac: remove pointless check
|
2016-07-08 22:41:19 +02:00 |
|
Max Kellermann
|
4a7042e847
|
decoder/flac: handle unknown duration correctly
If the duration is unknown, pass SignedSongTime::Negative(), as
documented for decoder_initialized().
|
2016-07-08 22:33:49 +02:00 |
|
Max Kellermann
|
7f36923eb4
|
decoder/flac: pass SignedSongTime to decoder_initialized()
|
2016-07-08 22:32:23 +02:00 |
|
Max Kellermann
|
2ca8d69126
|
decoder/flac: document flac_data::position
|
2016-07-08 22:20:16 +02:00 |
|
Max Kellermann
|
70367d70c8
|
decoder/flac: remove obsolete sub-song support
This is obsolete because it has been moved to the MPD core.
|
2016-07-08 21:59:30 +02:00 |
|
Max Kellermann
|
f9130f42a2
|
decoder/flac: try to recover from seek error()
libFLAC API documentation suggests that FLAC__stream_decoder_flush()
should be called to recover from FLAC__STREAM_DECODER_SEEK_ERROR.
|
2016-07-05 19:29:56 +02:00 |
|
Max Kellermann
|
faf2eeaa99
|
decoder/flac: evaluate all possible FLAC__stream_decoder_get_state() values
Stop after all fatal errors. This fixes assertion failures in
libFLAC.
|
2016-07-05 19:27:40 +02:00 |
|
Max Kellermann
|
34e91850d9
|
decoder/pcm: assume that audio/L16 is big-endian
See https://bugs.musicpd.org/view.php?id=4547
|
2016-07-01 21:34:56 +02:00 |
|
Max Kellermann
|
8b903626c2
|
release v0.19.16
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAABCAAGBQJXXuZbAAoJECNuiljG20USSegP/1gYoDyp4vDDCcRBNZkr3hlE
VbFyEz06/chfUTCRWFxtM6ghVMzSpqv7I8wDA8zv22NTkForVWD3gjimtJqJ/R4w
aT7QMZJmJUIH0Uf+dRp98YRG7m5S1Y5JkKEYu4oxQOECxbNMPd+ilbb6wwr2pYZ/
k2ks+oyYtPgqtWlriIbJMwXOyQEfqNCJgzxUzC2U6idVALYpj+5aK+VTY4Nk1YXw
nLAu8TT40jNYFfss0bDYBzQbm/82m8Q9JIkmoOpX/3WaRaCjaVza7IvRKgDPZutJ
mmrtu5SJ+QgLQLaXvav84KwtXhDbJu4zEbC7tUL0LGSmzbpiiz2DSUJP2jQ0C6nS
wgcACFkHGBLOjKNbjDB1eUhS7ouzxTGgPlsMC89254R7XQP/5EV9H3Quxb48Bxq7
PuW6nNHytppfAIZP18X62oL8hpSgwK1zLe34jzayJlkGIg5O1he4FcJQykvlzrjm
fBvL+hX3TM9exfASQujNXVgxFGPmgb37bE2aQyxZunE1DltJWfHyOhdme9vCuEcB
acz8gR/jcp8OKe4RCEdD1g86CSW2wlMfKfnzuwPPhcw0L3kz6OYcjRr2oMae7uG0
/NFw+PcdHcVKXjiRoJsdCvtN+jRtJhCUn314IskgyKad/UNcELbo7WDBUqHC36Wg
ncM6Sis4oal4jPXJ2JoE
=6ee1
-----END PGP SIGNATURE-----
Merge tag 'v0.19.16'
release v0.19.16
|
2016-06-13 19:03:59 +02:00 |
|
Max Kellermann
|
4ecd325371
|
decoder/flac: log seek errors
|
2016-06-13 18:37:45 +02:00 |
|
Max Kellermann
|
22ff0d80ce
|
decoder/pcm: add MIME type "audio/x-mpd-float"
|
2016-06-10 23:06:21 +02:00 |
|
Max Kellermann
|
5a22a0c27d
|
decoder/pcm: implement RFC 2586 (audio/L16)
https://bugs.musicpd.org/view.php?id=4525
|
2016-06-10 22:52:35 +02:00 |
|
Max Kellermann
|
2ee43c403c
|
decoder/vorbis: reimplement using class OggDecoder
Use libvorbis instead of libvorbisfile, which gives us more control
over the decoding process.
|
2016-05-14 12:31:12 +02:00 |
|
Max Kellermann
|
bbbda7f812
|
decoder/opus: move code to new class OggDecoder
Prepare to reuse the same code for a new Vorbis decoder plugin based
on libvorbis instead of libvorbisfile.
|
2016-05-14 11:31:31 +02:00 |
|
Max Kellermann
|
e958900380
|
decoder/vorbis: reimplement _scan_stream() with plain libvorbis
|
2016-05-14 10:52:52 +02:00 |
|
Max Kellermann
|
74926c1dd3
|
decoder/opus: move _scan_stream() code to OggReadPacket()
|
2016-05-14 10:39:53 +02:00 |
|
Max Kellermann
|
2654888782
|
decoder/OggFind: move to lib/xiph/
|
2016-05-14 10:34:05 +02:00 |
|
Max Kellermann
|
b5ecfb4c9a
|
decoder/opus: move code to class OggVisitor
|
2016-05-13 13:37:49 +02:00 |
|
Max Kellermann
|
5acc77a163
|
decoder/opus: change return types to void
|
2016-05-13 13:24:32 +02:00 |
|
Max Kellermann
|
0709878b4c
|
decoder/API: add class StopDecoder
|
2016-05-13 13:23:24 +02:00 |
|
Max Kellermann
|
662e477028
|
decoder/opus: throw exceptions instead of returning DecoderCommand::STOP
|
2016-05-13 13:18:19 +02:00 |
|
Max Kellermann
|
9252432bc0
|
decoder/opus: move OggSyncState into class MPDOpusDecoder
|
2016-05-13 12:25:30 +02:00 |
|
Max Kellermann
|
f057f6768f
|
decoder/opus: pass DecoderReader to constructor
|
2016-05-13 12:16:22 +02:00 |
|
Max Kellermann
|
e8fd771b91
|
decoder/opus: change Decoder pointers to references
|
2016-05-13 10:39:36 +02:00 |
|
Max Kellermann
|
fa4178fefa
|
decoder/opus: remove ogg_page parameter from constructor
Initialize the OggStreamState as soon as the first page is seen; no
special code needed in the caller.
|
2016-05-11 17:57:51 +02:00 |
|
Max Kellermann
|
1af59d31b9
|
decoder/opus: add method IsInitialized()
|
2016-05-11 17:27:26 +02:00 |
|
Max Kellermann
|
20758cef30
|
decoder/opus: make internal methods "private"
|
2016-05-11 17:27:02 +02:00 |
|
Max Kellermann
|
272938529d
|
decoder/opus: move everything into anonymous namespace
|
2016-05-11 17:25:43 +02:00 |
|
Max Kellermann
|
a1a26b70bc
|
decoder/opus: make opus_serialno a local variable
|
2016-05-09 15:43:15 +02:00 |
|
Max Kellermann
|
34a7f86a07
|
decoder/opus: use class OggStreamState in _stream_decode()
|
2016-05-09 15:41:03 +02:00 |
|
Max Kellermann
|
e7311ac2f3
|
decoder/opus: use C++11 initializers
|
2016-05-09 15:41:01 +02:00 |
|
Max Kellermann
|
8d9ecc0c62
|
decoder/opus: make variables more local
|
2016-05-09 15:41:00 +02:00 |
|
Max Kellermann
|
f01b991108
|
decoder/opus: use class OggStreamState in _scan_stream()
|
2016-05-09 15:40:59 +02:00 |
|
Max Kellermann
|
a9678f0ae0
|
decoder/opus: fix minor typo
|
2016-05-09 15:00:04 +02:00 |
|
Max Kellermann
|
8af68db965
|
lib/xiph/OggStreamState: new ogg_stream_state wrapper
|
2016-05-09 14:50:39 +02:00 |
|
Max Kellermann
|
ed6c6296eb
|
{de,en}coder/{vorbis,flac,opus}: move several libraries to lib/xiph/
|
2016-05-03 23:40:29 +02:00 |
|
Max Kellermann
|
7adbd00811
|
decoder/{vorbis,flac,opus}: move OggCodec.cxx to libxiph.a
|
2016-05-03 12:54:47 +02:00 |
|
Max Kellermann
|
1c91d19163
|
decoder/OggUtil: pass Reader instance to OggFeed()
|
2016-05-03 00:05:31 +02:00 |
|
Max Kellermann
|
3fb8f3ec95
|
release v0.19.15
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAABCAAGBQJXJKNhAAoJECNuiljG20US7pcP/A2sFmmf+QlKvV5G88D+UxbX
kIoz3d5mHRoW4kJcbhUKUVe9pIkQEWTVC4XNNi8ggO8/MUa7+FpUPR0bJDgmLnnm
jM3tV/eVXUmPgXTgj1PT0jOTNCNNJx69JYhz7nMGIAbxubs7hRGTfGgJYnTQImsW
yDVst0BH7C6i21kmAWjQYoFZu0h7ZoyBOZTHAyR/6wF6Bmlc5JAEV6eBRyrU3MLN
Mma4+rJhMh+2206SqUBJEVwEszaTJnmu7Xi5Zmk+LGSrykJt93bQio7k2hJ5PvKJ
feFCXl1IpobUMpPJ+Nv1QraTKO9lg5oEYOwlcxJf4JwfqpRk+oXr+MZ52iR9jMtw
otcux72CYMmSJOC2Sl8cq9TdQCOb7XxhDjv+Phf44WG5Ns1QJQY7rvrGLT0gFSLx
MVD2WKJCrWFgql6ugf9lhsrt7x8llD9anNqbJNamXmGoL0NFJs6sg9d02vbRuIDz
xOcBPKnDB/Ao1TxXT4/Ck6gzYwTd+sxvsrC2XwthDXTiM+qe+pAjF+KFKd5thIUs
Hh296GL8Ch68X+6HXVkCKwyW9F503LFAcXTlP6XQUnkpPHNU536VdUjaHmx557jR
3cY7d67gHSVxllDQJYp0GIMIKyaZhQ4V7w3l1IKzPc1KrhryOxvlbAaYVSHo26nI
yZMKwFJ1L0l9j76kZG4a
=GyO9
-----END PGP SIGNATURE-----
Merge tag 'v0.19.15'
release v0.19.15
|
2016-04-30 14:28:25 +02:00 |
|
Max Kellermann
|
c731a82b71
|
decoder/opus: limit the number of packets in _scan_stream()
|
2016-04-19 13:08:07 +02:00 |
|
Max Kellermann
|
e6fad97edc
|
decoder/opus: support bigger OpusTags packets
Required for OpusTags packets which contain artwork.
See https://bugs.musicpd.org/view.php?id=4520
|
2016-04-19 13:05:42 +02:00 |
|
Max Kellermann
|
cd041f8574
|
decoder/Plugin: container_scan() returns AllocatedString
|
2016-04-13 12:23:10 +02:00 |
|