Commit Graph

1098 Commits

Author SHA1 Message Date
Max Kellermann
27b4c62bc1 decoder/gme: merge get_container_name() and get_song_num()
There is duplicate code in the two.
2014-12-02 06:53:33 +01:00
Max Kellermann
2c1f1de33c decoder/gme: get_song_num() returns unsigned 2014-12-01 23:28:21 +01:00
Max Kellermann
c26622cf8f decoder/gme: move code to ScanMusicEmu() 2014-12-01 23:01:58 +01:00
Max Kellermann
9e91873428 decoder/gme: move code to ScanGmeInfo() 2014-12-01 22:56:48 +01:00
Max Kellermann
737a56a030 release v0.19.5
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABAgAGBQJUdiYnAAoJECNuiljG20USDB4P/3RGHBV5XgdInmYKjGg89hex
 YRiy3BVvrBri53wkj+3YwOi05Cx0fp0pCuwQ9Nm7bmPCwfdC3ASF+UBlBBhnLdfc
 dlISXDHciuKDJwiTtTlBvaKCENoZhjAJQ1SOa5zceH7j/V/XbY0FauHCeE8Ek7ht
 KjimIt1ft0mdgsGNfyisdfbnh/3r4T9V9tBs/wnr7oDTYS/eUX8vCDr5qYIZipjx
 W6pug2m4nfDtHYtN5gv53WYCIm7MiXo9vh7hCjJHd3T3xqKwdWVuz5RRcZcgd9yT
 WWlzOKAI1cgmU7rZaV6Gu+tAq9g7MpNLOGoeN6mhH9E8V16rKqvCiLaXMK5wEGs9
 JWGsTBcbTnSCdG1iivJtP2kOGVHXvNthbSunzwmbowMATi6xIBm8AoqidSzCaW1F
 C7mss8VlhkHdCtHTvyK3XCE2wGEbx4OfsfsL3PWBonrs0DpNOR2AqWQYLsZUhbff
 RV7aeyphMVvgLP67cT9YnGswKGEPOqP2EO9Mh51AQ7wiUESZ+O5J9YHWCc0E3SML
 qs9A+lpA8fstj0QJewx/HNofiHXw5A2THjs/BVqs3vYkcHnTI94Nmdxps82r/rEA
 oy9d6nQqglkPJZF3JwHqJMj1VtBIhihaHBpnLeyegjtiajZV6mVNVg9ezt9EpEA6
 OjJFh2xzQJ7w5qL0gy2R
 =1kbY
 -----END PGP SIGNATURE-----

Merge tag 'v0.19.5'
2014-11-26 20:19:17 +01:00
Max Kellermann
fa4d202e71 decoder/mp4v2: remove because of incompatible license
libmp4v2 is licensed under MPL 1.1, which is incompatible with GPLv2.
Unfortunately, this means that we must remove the plugin.

More information can be found in the Debian bug report:

 http://bugs.debian.org/767504
2014-11-25 13:10:52 +01:00
Max Kellermann
bf15cac980 Merge branch 'v0.19.x' 2014-11-24 09:00:14 +01:00
Max Kellermann
951bad46e0 decoder/{dsdiff,dsf,opus}: fix deadlock while seeking 2014-11-24 08:54:30 +01:00
Max Kellermann
c643b6ff16 configure.ac: add macro MPD_ENABLE_AUTO_PKG_LIB 2014-11-22 23:50:21 +01:00
Max Kellermann
b3f5b4932c configure.ac: add macro MPD_ENABLE_AUTO_PKG
Simplify the definition of many build options.
2014-11-21 22:19:57 +01:00
Max Kellermann
26382713c2 release v0.19.4
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABAgAGBQJUa674AAoJECNuiljG20USNMUQAIpl0/cJI98dljXWZ4uzaRoc
 JMPTvWkVUP9qBN3VnNISR+2NXsL7iGO6rXh9MACpfv8mcOf+/jg8LCX/3/RzDkP+
 lnhFqQ+xnl3TUjwpABKM2lU87I8QXamtCbxEvONTpcH4Dt/GVfBolrlzBu1G17cF
 7f07uZntpz/Dhtg0SWCVLS+QDGQtDNCgpXcfGlxWsGfEBWKAC+Aifv+2QDA0nXOU
 WfOU2r3vV3UNmQSu0/O6cyB5Du01SVVYSa5BNpLu3o6CHawAhVcTXdLX12JSDahk
 Qjy9VAF9bX+odZJ9M4xAlRBZYZWKfiZ6Dt0FevevqAllkd2GlQJPXWWXWXJ4PWd+
 a3K/js1hLgCIO2qk8aDKaFGTOnVk5F5eFN6d+jh5gwcuFiGa0CcSWxaCEe7vBVy3
 CTukuUBlgN4hA9gBNNvJrpbV+BO8ZY1LkS6w3E95Qz3VrwclTl5qKW2+6TYLMKBA
 VIBQM8TwOHAKyhn50vhBfk6Zz6c28LkrMc0Ycm5xFD1I3fC6E62vqDVfBUMr9HJi
 fG3PmxcrSTH8ZKgSADjF7DtR0M5munUrQhw7w0pwXUpKuDvUg3nIHulu88Dl9rZq
 MDODNRpBkQwGXs9i4SxLTSA9nQtlAh3x3mqtjOf1i2jhkuSJ8R8jQne+8wDaT0Bt
 dXD9h+qc/8+FOnrB0uYd
 =LYOC
 -----END PGP SIGNATURE-----

Merge tag 'v0.19.4'
2014-11-18 21:47:20 +01:00
Max Kellermann
7c6b991de7 decoder/opus: add MIME types audio/ogg and application/ogg 2014-11-12 15:16:34 +01:00
Max Kellermann
c3f6502be2 release v0.19.3
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABAgAGBQJUYeOEAAoJECNuiljG20USToUP/2g/M7jKlM1MpADeFh2TOYEC
 dnSDPFCMosu1Hjxyz/rzwqOh7FlMnYPtANtVn90v4D6XVkuhv5WMwSnlMBWJXspy
 VWA6bewGihbWvDvOcLcYsb31VH78JnvNjxxDaeakVZ7Bq43wQBJRNi2VKEKMmg27
 Shp8MUL+UXsMMtLABvZlhajPQS+CNQB1DijP7wlemrbPpmUtmeHEgbpmQk9BKBq0
 eXJt5QRQRgI9J51j1yaXSaeKsPFk/2AV36KMBv3kh+rgCGWetd1XeBkknN/HjNw4
 2qWsQ8Ng3s/kOCZhEa0nXqnR+w2RtpOJ4bOQaIDeBSzCdXSeDWq5yh/kHKHsXzO4
 5uq++GwCcm/Odwj17rJ4wJDGnl4DkP8abQIPb4AiwfpuUtQ+fHvQuNU0Dc2SY4Oz
 KkNU4nIcJwaHlDAQDsWjowAJJC2W0GPSGzVKCWjH2W3kmJZq2hV3o3y3YOMH8gpN
 wmdmqE8JKCOJm5QxnfoiMKoUxUgNMxN3iceMnDkNqz/g1uOq5TUk8B5adLuY0OSg
 n+2eDBaUNe2tCbxgIeKxVlXrWVBZyrzwFk3FGyVuGhobmVJ1Wwvx5kOIVvwo0JTC
 LSc8FP4R8/87G1XlVMo0alqChLpXbH+ncaGhdN74pKVP8TFtJCoTPgRPj+svF9YY
 A7AiNXCXCCOD78gKYCtu
 =GH2D
 -----END PGP SIGNATURE-----

Merge tag 'v0.19.3'
2014-11-11 11:43:52 +01:00
Max Kellermann
c98cb1d6f9 decoder/opus: support chained streams 2014-11-11 11:20:18 +01:00
Max Kellermann
ba6f2b0467 decoder/opus: move code to HandleEOS() 2014-11-11 11:20:16 +01:00
Max Kellermann
23465ad985 decoder/opus: improved error logging 2014-11-11 11:20:03 +01:00
Max Kellermann
7886a14b74 decoder/opus: fix mistyped LoadEOSPacket() return value 2014-11-11 11:18:51 +01:00
Max Kellermann
466b6a23cd decoder/opus: eliminate flag "found_opus"
Check opus_decoder!=nullptr instead.
2014-11-11 08:30:11 +01:00
Max Kellermann
4a04f73434 decoder/opus: add constexpr output_buffer_frames 2014-11-11 07:45:31 +01:00
Max Kellermann
8ff0d99092 decoder/audiofile: fix bit rate calculation 2014-11-10 09:00:50 +01:00
Max Kellermann
2d9876a261 Merge branch 'v0.19.x' 2014-11-07 19:41:19 +01:00
Max Kellermann
125eb01e03 decoder/ffmpeg: support opus 2014-11-07 19:22:26 +01:00
Max Kellermann
303d67aed2 release v0.19.2
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABAgAGBQJUVifPAAoJECNuiljG20USJbYP/2SjixBWtHjHn1wF9K3tRzs3
 7GGSBxxBpJVZCTg/PGRJ9m2BNJvocBPhw3WN7PU29xi5kBxDy5yvBcc58OzYHz28
 HVZymj8zhdiDqULHPn6b9px6f4Oe8+1xh9q6gwR8rZsRAXKYDrC0GPDMGBeSkWo1
 ycnSVTcZ4CjfkM2/jfnCc79q4mC+k2BR5T9OYRnznThVMx+gimMwLFYBjNNdh1MT
 ugAxXVtpDs2aTR8fqu/ADGLJosfTjzGdqQ3eowOqVXmsmVIttBGruZdKyrN9KAtU
 FfPf60zZ3I8qKppArfEoJAejNyGbhIg1AqX7J7IxHMI+zjlo2kGnEcVFJaG5zZb/
 GQThrzGXRPFLlvVDtzfALmBNo3gN0y4I73exlpRCupaxZdFaD5UUPlaLak8r9bt5
 30YBBxs7ydIPqs25AwZ9f94NT2QrKityLv+O+Q8lz8AfurqJnuOwEo/HuT4Bxv47
 pSx86TtokknyN0A3lw5ttIMbTqN5eNHjJY4PulGJPEPfKjn9p4NLtLrZjT4fnnKG
 GKXYcMzeOhMKszbHzOR7dcjI0uKXyx4r7LE4SdL+3msCYbyXDTbCirdusZ1pZDC3
 ttkSf+a/dILHZagEAN37t53/NlsAjxjJzenKD4H6Eprxm6er24kSWu+W410b3Bw0
 jYLYGXCWVZyJ5dqpTcYb
 =NiFd
 -----END PGP SIGNATURE-----

Merge tag 'v0.19.2'
2014-11-02 14:06:05 +01:00
Max Kellermann
7d5442e103 Decoder, Playlist: ignore URI query string for plugin detection
Use the new uri_get_suffix() overload that removes the query string.
2014-11-01 13:41:18 +01:00
Max Kellermann
54c591bd9d decoder/mad: fix negative replay gain values
Negating an unsigned integer does not work.
2014-10-28 22:22:30 +01:00
Max Kellermann
bc5a53574c decoder/faad: remove workaround for ancient libfaad2 ABI bug
Many years ago, FAAD had a serious ABI bug: the NeAACDecInit()
prototype in its header declared the "samplerate" parameter to be
"unsigned long *", but internally, the function assumed it was
"uint32_t *" instead.  On 32 bit machines, that was no difference, but
on 64 bit, this left one portion of the return value uninitialized;
and worse, on big-endian, the wrong word was filled.  This bug had to
be worked around in MPD (commit 9c4e97a6).

A few months later, the bug was fixed in the FAAD CVS in commit 1.117
on file libfaad/decoder.c; the commit message was:

 "Use public headers internally to prevent duplicate declarations"

The commit message was too brief at best; the problem was not
duplicate declarations, but a prototype mismatch.  No mention of the
bug fix in the ChangeLog.

The MPD project never learned about this bug fix, and so MPD would
always pass a "uin32_t *" dressed up as a "unsigned long *".  Nearly 6
years later, it's about time to fix this second ABI problem.  Let's
kill the workaround!
2014-10-25 20:42:50 +02:00
Max Kellermann
de7e4f0db7 decoder/wavpack: don't use GLib 2014-10-25 01:24:45 +02:00
Steven OBrien
8cd17ce045 decoder/ffmpeg: recognize MIME type audio/aacp 2014-10-25 00:26:58 +02:00
Max Kellermann
7e12aea1d8 input/Open: use OpenLocalInputStream()
Make the "open" method of plugins "file" and "archive" dummy methods
that always fail.  Instead, let InputStream::Open() hard-code access
to these two plugins by using OpenLocalInputStream().  This allows
simplifyin the algorithm for falling back to probing archive plugins.
2014-10-02 21:50:14 +02:00
Max Kellermann
20346b0da4 DecoderThread: use OpenLocalInputStream() for local files 2014-10-02 21:48:52 +02:00
Max Kellermann
8547611479 release v0.18.16
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUJSq1AAoJECNuiljG20US8CAQAJo/4jAPKsba6RVWf4oWo1Tl
 1KUVHaqPonboZ+ArexI+eLObRzmzawTdzc1iVAI8KhISaZkfBWvY3PGFbn6GW3xZ
 o1GMRkjhps/ZWIXao2qzelITMzEWzKuAPEGdQE2Z3qXDP/bva0QnAJwjm6zfMsrz
 qKYDjQlCGkt7s6jw8gbLGrcoPgP+q7s522qb/0gBc620OivufuEeAQquaahY3X+L
 PnXGqsNr34Xqw8EeHCahVGvvQeetY0dGTG/EUiLuxgACqRnjnxwgZ1Xem3YSlGgP
 KZVmEqepcvLgz7BlLkQrHse4eEcdxmojRP4towUPUOeRKb1LIlDr9AF6LoulGJr4
 jCTeOhzRpmh7wo/rh2klMJXSkqqQlu84+jG7d+PW38oweVCO9HekhyfIDWYDJq/+
 jndDRMK7pcPl4sBBXPrJNLdGAQZoJDxRD84syEwOmGOL1FgV2KZl1pJ81fOacR5x
 BHeRZrtd0iZ97/qZL+wtNskKU21lMjKqv48saF224FhKCtR1iXkVw4fH6U+H3Q1w
 8mrghkkMUom6yQ1mL7U2zA3P6yUcpOJIp0OwMLkJc4H7iOY3a21IAsH0KXmn/Z5O
 RE+0zSZm4krUg5uoxhhJWbJnORjoexMv1iaR8+uh71qvBI+RwQXjYA94VJ3Rf88/
 R4tE+xb0ZY8OvTXGswdF
 =y5Hv
 -----END PGP SIGNATURE-----

Merge tag 'v0.18.16'
2014-09-26 11:06:11 +02:00
Max Kellermann
45310d0cf6 decoder/mp4v2: add tag table 2014-09-24 23:29:10 +02:00
Max Kellermann
032e435490 decoder/mpg123: support ID3v2, ReplayGain and MixRamp 2014-09-24 22:53:50 +02:00
Max Kellermann
78c43edcac decoder/mpg123: make variables more local 2014-09-24 22:53:39 +02:00
Max Kellermann
f32d34b965 decoder/flac: pass VorbisComment to flac_parse_mixramp() 2014-09-24 22:50:28 +02:00
Max Kellermann
8a7ff6a6fd decoder/flac: move code to tag/MixRamp.cxx 2014-09-24 22:44:58 +02:00
Max Kellermann
6c48aa5fae decoder/mad: move code to tag/MixRamp.cxx 2014-09-24 22:40:34 +02:00
Max Kellermann
d82547acd3 decoder/flac: pass VorbisComment to flac_parse_replay_gain() 2014-09-24 22:34:08 +02:00
Max Kellermann
441f9cc2ee tag/ReplayGain: add VorbisComment parser
Move code from the Vorbis and FLAC decoder plugins.
2014-09-24 22:21:13 +02:00
Max Kellermann
d1e31261fe decoder/{vorbis,flac}: move duplicate code to tag/VorbisComment.cxx 2014-09-24 21:50:42 +02:00
Max Kellermann
05dd9acba8 tag/ApeReplayGain, decoder/mad: move duplicate code to tag/ReplayGain.cxx 2014-09-24 21:50:34 +02:00
Max Kellermann
f2c28d287a DecoderBuffer: struct to class 2014-09-22 08:49:14 +02:00
Max Kellermann
90c228abca DecoderBuffer: convert functions to methods 2014-09-22 08:32:44 +02:00
Max Kellermann
505e6bec9e decoder/faad: use DecoderBuffer references 2014-09-22 08:30:25 +02:00
Max Kellermann
ee027f237b decoder/faad: allocate DecoderBuffer on stack 2014-09-22 08:29:07 +02:00
Max Kellermann
3ae0d6f421 DecoderBuffer: export the struct
Eliminates the functions _new() and _free().
2014-09-22 08:18:58 +02:00
Max Kellermann
13b66a77c7 DecoderBuffer: make "decoder" const 2014-09-21 14:02:39 +02:00
Max Kellermann
ed70836057 DecoderBuffer: convert pointer to reference 2014-09-21 13:50:27 +02:00
Max Kellermann
a68e52c2e3 DecoderBuffer: use class DynamicFifoBuffer 2014-09-21 13:39:26 +02:00
Max Kellermann
ea37b89753 decoder/adplug: log version number 2014-09-21 13:22:56 +02:00