Max Kellermann
348ecc1118
lib/xiph/OggStreamState: add method PageIn()
2016-05-09 15:29:37 +02:00
Max Kellermann
a9678f0ae0
decoder/opus: fix minor typo
2016-05-09 15:00:04 +02:00
Max Kellermann
461f298d2c
lib/xiph/OggStream: remove obsolete class
2016-05-09 14:55:58 +02:00
Max Kellermann
068de7cf40
encoder/ogg: use class OggStreamState
2016-05-09 14:51:07 +02:00
Max Kellermann
d04eb87c4f
encoder/opus: divert to OggEncoder::Read()
2016-05-09 14:51:05 +02:00
Max Kellermann
8af68db965
lib/xiph/OggStreamState: new ogg_stream_state wrapper
2016-05-09 14:50:39 +02:00
Max Kellermann
1cf632e98b
lib/xiph/OggStream: move code to ReadPage()
2016-05-09 14:22:12 +02:00
Max Kellermann
58c11c3128
encoder/vorbis: move vorbis_info_init() call to constructor
2016-05-09 13:22:59 +02:00
Max Kellermann
efcda95dda
encoder/vorbis: remove vorbis_info_clear() calls from error code paths
...
The destructor will call this in any case.
2016-05-09 13:22:43 +02:00
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
aa5d05eaa4
configure.ac: don't suppress GLib warnings by changing -I to -isystem
...
This is a kludge which may break system include path order, see
https://bugs.musicpd.org/view.php?id=4524
2016-05-02 22:05:21 +02:00
Max Kellermann
15735552f4
Makefile.am: include doc/include/tags.xml in tarball
...
See https://bugs.musicpd.org/view.php?id=4523
2016-05-02 09:03:54 +02:00
Max Kellermann
d6d9dc9d95
Makefile.am: include scripts/*.rb in tarball
...
Fix out-of-tree build by prepending $(srcdir)/, and change *.sh to
*.rb.
2016-05-02 08:58:17 +02:00
Max Kellermann
dc57966dc3
configure.ac: prepare for 0.19.16
2016-05-02 08:57:53 +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