Commit Graph

10778 Commits

Author SHA1 Message Date
Max Kellermann 80d2028bac encoder/vorbis: merge Clear() into the destructor 2016-05-09 13:22:27 +02:00
Max Kellermann 215213fc2c encoder/vorbis: add wrapper class for vorbis_comment 2016-05-09 12:22:22 +02:00
Max Kellermann 99d32dc0b4 Makefile.am: fix build failure when libxiph.a is not used
Some "ar" implementations don't allow empty archives, and failed to
build it.  The real reason (which is hidden with GNU binutils) is that
our Makefile.am was incorrect, and didn't completely disable
libxiph.a.

See https://bugs.musicpd.org/view.php?id=4526
2016-05-07 22:47:45 +02:00
Max Kellermann 0998097253 encoder/{vorbis,opus}: move common code to class OggEncoder 2016-05-04 18:52:57 +02:00
Max Kellermann c17be5af6b test/run_encoder: use std::unique_ptr 2016-05-04 18:46:06 +02:00
Max Kellermann b376536a3b encoder/Interface: convert PreparedEncoder to abstract class 2016-05-04 18:32:52 +02:00
Max Kellermann e7edc02647 encoder/Interface: move instance methods to abstract class
Rename struct Encoder to PreparedEncoder, and add a new (abstract)
class Encoder which represents one encoder instance.
2016-05-04 16:32:31 +02:00
Max Kellermann 69bf835059 encoder/vorbis: move code into the struct 2016-05-04 16:22:59 +02:00
Max Kellermann b97ffddfe8 encoder/vorbis: use CamelCase 2016-05-04 16:21:47 +02:00
Max Kellermann 6407b7c591 output/recorder: use C++11 initializers 2016-05-04 15:18:57 +02:00
Max Kellermann e14cd92d59 output/shout: use AudioOutputWrapper 2016-05-04 15:06:29 +02:00
Max Kellermann 73cadd1798 output/shout: dispose encoder in destructor 2016-05-04 15:05:48 +02:00
Max Kellermann fb9840f1f8 output/shout: call shout_shutdown() in destructor 2016-05-04 15:03:55 +02:00
Max Kellermann 492aaa3375 output/shout: use C++11 initializers 2016-05-04 14:46:45 +02:00
Max Kellermann 33c5da700d encoder/opus: move functions into the struct 2016-05-03 23:56:47 +02:00
Max Kellermann 48d3af7d9a encoder/opus: use CamelCase 2016-05-03 23:53:42 +02:00
Max Kellermann 9b3470eabd lib/xiph/OggStream: use C++11 initializer 2016-05-03 23:46:56 +02:00
Max Kellermann 86a505b4f3 lib/xiph/OggSyncState: disallow copying 2016-05-03 23:45:32 +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 b27a41812f configure.ac: enable HAVE_XIPH if Vorbis/FLAC encoder is enabled 2016-05-03 23:40:21 +02:00
Max Kellermann 6c933d2b77 configure.ac: detect libogg
Will be needed to compile libxiph.a.
2016-05-03 23:31:17 +02:00
Max Kellermann fb5610f9bd configure.ac: improve HAVE_XIPH declaration, add HAVE_OGG 2016-05-03 13:01:23 +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 f491135318 decoder/Reader: new Reader implementation 2016-05-03 00:05:31 +02:00
Max Kellermann a7ced00520 input/Reader: new Reader implementation wrapping InputStream 2016-05-03 00:05:31 +02:00
Max Kellermann be3359fc67 Makefile.am: fix library link order 2016-05-03 00:05:31 +02:00
Max Kellermann 69ed35ed71 test/{run_input,dump_text_file}: use class ScopeLock 2016-05-02 23:35:43 +02:00
Max Kellermann 280d35a053 decoder/api: use class ScopeLock 2016-05-02 23:33:08 +02:00
Max Kellermann eca6b9f0af thread/Mutex: add method ScopeLock::Unlock() 2016-05-02 23:32:44 +02:00
Max Kellermann cc9345e703 encoder/wave: use CamelCase 2016-04-30 14:29:14 +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 04ed50fb0f release v0.19.15 2016-04-30 14:21:52 +02:00
Max Kellermann c9553411bb encoder/wave: add constant WAVE_FORMAT_PCM 2016-04-30 13:57:09 +02:00
Max Kellermann 62221adf55 encoder/wave: fix indent 2016-04-30 13:45:52 +02:00
Max Kellermann a6bf4746c6 test/test_byte_reverse: use gcc_alignas() for gcc<4.8 compatibility 2016-04-30 13:41:24 +02:00
Michael Cree 72637d00e8 Bug#822848: mpd FTBFS on Alpha; misaligned arrays in the test suite
Source: mpd
Version: 0.19.14-2
Severity: important
Justification: fails to build form source (but built in the past)
Tags: patch
User: debian-alpha@lists.debian.org
Usertags: alpha

mpd FTBFS on Alpha with a failure in the test suite [1]:

FAIL: test/test_byte_reverse
============================

.F...

!!!FAILURES!!!
Test Results:
Run:  4   Failures: 1   Errors: 0

1) test: ByteReverseTest::TestByteReverse2 (F) line: 58 test/test_byte_reverse.cxx
assertion failed
- Expression: strcmp(result, (const char *)dest) == 0

This occurs because the test suite (in test/test_byte_reversal.cxx)
allocates static char arrays and passes the char arrays to functions
whose respective arguments were declared to be uint16_t *, etc., in
the main code.

This is in the realm of undefined behaviour on architectures with
strict memory alignment requirements.  Although the test only fails
on Alpha (because Alpha has a particular CPU load instruction that
gcc likes to use to add bugs ..., ahem,  optimise the code on the
assumption of alignment) it is potentially a latent bug for other
architectures with strict alignment requirements.

Since the code is compiled with the c++11 standard I attach a patch
that modifies the test suite to align the non-compliant strings with
the alignas() attribute.  The test suite now passes on Alpha with
that patch.

Cheers
Michael

[1] https://buildd.debian.org/status/fetch.php?pkg=mpd&arch=alpha&ver=0.19.14-2&stamp=1461542099
2016-04-28 13:29:41 +02:00
Florian Schlichting 27d4b15925 DecoderBuffer: add missing include
> In file included from src/decoder/DecoderBuffer.cxx:21:0:
> src/decoder/DecoderBuffer.hxx:41:20: error: 'uint8_t' was not declared in this scope
>   DynamicFifoBuffer<uint8_t> buffer;
>                     ^
> src/decoder/DecoderBuffer.hxx:41:27: error: template argument 1 is invalid
>   DynamicFifoBuffer<uint8_t> buffer;
>                            ^
> src/decoder/DecoderBuffer.hxx: In member function 'void DecoderBuffer::Clear()':
> src/decoder/DecoderBuffer.hxx:61:10: error: request for member 'Clear' in '((DecoderBuffer*)this)->DecoderBuffer::buffer', which is of non-class type 'int'
>    buffer.Clear();
>           ^
> src/decoder/DecoderBuffer.hxx: In member function 'size_t DecoderBuffer::GetAvailable() const':
> src/decoder/DecoderBuffer.hxx:78:17: error: request for member 'GetAvailable' in '((const DecoderBuffer*)this)->DecoderBuffer::buffer', which is of non-class type 'const int'
>    return buffer.GetAvailable();
>                  ^
> src/decoder/DecoderBuffer.hxx: In member function 'ConstBuffer<void> DecoderBuffer::Read() const':
> src/decoder/DecoderBuffer.hxx:87:19: error: request for member 'Read' in '((const DecoderBuffer*)this)->DecoderBuffer::buffer', which is of non-class type 'const int'
>    auto r = buffer.Read();
>                    ^
> src/decoder/DecoderBuffer.hxx:88:27: error: could not convert '{<expression error>, <expression error>}' from '<brace-enclosed initializer list>' to 'ConstBuffer<void>'
>    return { r.data, r.size };
>                            ^
> src/decoder/DecoderBuffer.hxx: In member function 'void DecoderBuffer::Consume(size_t)':
> src/decoder/DecoderBuffer.hxx:105:10: error: request for member 'Consume' in '((DecoderBuffer*)this)->DecoderBuffer::buffer', which is of non-class type 'int'
>    buffer.Consume(nbytes);
>           ^

This seems to be caused by a lacking include, fixed by the below patch.

I'm unsure what made this appear now, though, compiler and toolchain
libraries seem to be the same upstream versions that built 0.19.14-1
just fine in late March.
2016-04-25 08:30:27 +02:00
Max Kellermann 7a77767e66 doc/mpd.conf.5: move metadata_to_use to the user manual 2016-04-22 10:48:12 +02:00
Max Kellermann 1b26621860 doc/{user,protocol}: add a list of supported tags
A complete list which replaces the incomplete list in the mpd.conf
manpage.
2016-04-22 10:48:12 +02:00
Max Kellermann 3db5f4d0aa doc/mpd.conf.5: remove obsolete metadata_to_use sentence 2016-04-22 10:38:24 +02:00
Max Kellermann b2a6e327bf doc: migrate to DocBook 4.5 2016-04-22 10:04:29 +02:00
Florian Schlichting 9aec5fe907 doc/user: fix typo 2016-04-22 09:25:17 +02:00
Max Kellermann fc3e0dfcd1 fs/AllocatedPath: add method FromUTF8Throw() 2016-04-21 14:27:32 +02:00
Max Kellermann 6513ff92a7 fs/Charset: throw exception on error 2016-04-21 14:23:55 +02:00
Max Kellermann a0eb6d0976 PlaylistFile: use the new AllocatedPath::FromFS() range overload 2016-04-21 14:22:59 +02:00
Max Kellermann 7530770842 fs/AllocatedPath: add FromFS() with pointer range 2016-04-21 14:21:24 +02:00
Max Kellermann 11ea72e240 fs/AllocatedPath: make constructor "explicit" 2016-04-21 14:20:56 +02:00
Max Kellermann c98330909a db/update/Walk: use AllocatedPath methods instead of PathTraitsFS 2016-04-21 14:15:01 +02:00
Max Kellermann bec6fa4ad7 lib/icu/Converter: throw exception on error 2016-04-21 14:03:27 +02:00