forked from libsndfile/libsndfile
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
9764 lines (6563 loc) · 305 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2013-04-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* Makefile.am
Make sure checkprograms are built as part of 'make test-tarball'.
Closes: https://github.com/erikd/libsndfile/issues/37
2013-03-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* tests/dft_cmp.c
Fix a buffer overflow detected using GCC 4.8's -fsantiize=address runtime
error checking functionality. This was a buffer overflow in libsndfile's
test suite, not in the actual library code.
2013-03-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* M4/gcc_version.m4
Fix to work with OpenBSD's sed.
2013-03-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/ALAC/alac_encoder.c
Patch from Michael Pruett (author of libaudiofile) to add correct byte
swapping for the mChannelLayoutTag field.
2013-03-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* doc/bugs.html
Bugs should bt reported on the github issue tracker.
2013-02-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* configure.ac
Improve sanitization of FLAC_CFLAGS value.
2013-02-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/Makefile.am
Call python interpreter instead of using '#!' in script. Thanks to Jan
Stary for reporting this.
* doc/index.html doc/FAQ.html
Make internal links relative. Patch from Jan Stary.
2013-02-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/test_endswap.def src/test_endswap.tpl
Add tests for psf_put_be32() and psf_put_be64().
* src/sfendian.h src/test_endswap.(def|tpl)
Add functions psf_get_be(16|32|64) with tests.
These are needed for platforms where un-aligned accesses cause bus faults.
* src/ALAC/ag_enc.c src/ALAC/alac_decoder.c
Replace all un-aligned accesses with safe alternatives.
Closes: https://github.com/erikd/libsndfile/issues/19
2013-02-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/sfendian.h
Add big endian versions of H2BE_16 and H2BE_32.
2013-02-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/ALAC/
Replace Apple endswap routines with ones from libsndfile.
* merge from libsndfile-cart repo
Add ability to set and get a cart chunk with WAV and RF64.
Orignal patch by Chris Roberts <c.roberts@csrfm.com> required a number of
tweaks.
2013-02-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/common.h
Bump SF_HEADER_LEN from 8192 to 12292, the value it was in the 1.0.25
release.
2013-02-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/alac.c
Fix segfault when encoding 8 channel files.
Closes: https://github.com/erikd/libsndfile/issues/30
2013-02-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/ALAC/EndianPortable.c
Fall back to compiler's __BYTE_ORDER__ for endian-ness detection.
2013-02-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* configure.ac src/common.h src/ima_adpcm.c src/ms_adpcm.c src/paf.c
Drop tests for and #ifdef hackery for C99 struct flexible array feature.
libsndfile assumes the compiler supports most of the ISO C99 standard.
* src/alac.c
Fix valgrind invalid realloc. Reported by nu774.
Closes: https://github.com/erikd/libsndfile/issues/31
2013-02-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/alac.c
The 'pakt' chunk header should now be written correctly.
Closes: https://github.com/erikd/libsndfile/issues/24
* configure.ac Makefile.am
Use PKG_INSTALLDIR when it exists. Suggestion from Christoph Thompson.
Closes: https://github.com/erikd/libsndfile/pull/28
2013-02-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/common.h src/caf.c
Read the ALAC 'pakt' header and stash the values.
* src/sfendian.h
Add functions psf_put_be64() and psf_put_be32().
* src/alac.c
Start work on filling on the 'pakt' chunk header.
2013-02-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* doc/FAQ.html
Add missing opening <P> tag.
* src/alac.c
Increase ALAC_BYTE_BUFFER_SIZE to 82000.
2013-01-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* doc/FAQ.html
Improve question #8.
2013-01-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/ogg_opus.c
Add skeleton implementation so someone else can run with it.
2012-12-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/common.h src/dwd.c src/rx2.c src/txw.c
Fix for compiling when configured with --enable-experimental. Thanks to
Eric Wong for reporting this.
2012-12-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* configure.ac programs/sndfile-play.c
OS X 10.8 uses a different audio API to previous versions.
Fix compile failure on by disabling sndfile-play on this version.
Someone needs to supply code for the new API.
2012-11-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* Octave/Makefile.am Octave/octave_test.sh
Fix 'make distcheck'.
2012-10-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* M4/octave.m4
Relax constraints on Octave version.
2012-10-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* tests/utils.tpl
Improve compare_*_or_die() functions.
* src/command.c
Fix bug reported by Keiler Florian. When reading short or int data from a
file containing float data, and setting SFC_SET_SCALE_FLOAT_INT_READ to
SF_TRUE would fail 3, 5, 7 and other channels counts. Problem was that
psf_calc_signal_max() was not calculating the signal max correctly.
Calculation of the signal max was failing because it was trying to read
a sample count that was not an integer multiple of the channel count.
* tests/channel_test.c tests/Makefile.am tests/test_wrapper.sh.in
Add test for the above.
2012-09-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/sndfile.hh
Added a constructor to allow the use of SF_VIRTUAL_IO. Patch from
DannyDaemonic : https://github.com/erikd/libsndfile/pull/20
2012-08-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* doc/octave.html
Fix link to octave.sourceforge.net. Thanks to IOhannes m zmoelnig.
* src/mat5.c
Allow reading of mat5 files without a specified sample rate (default to
44.1kHz). Thanks to IOhannes m zmoelnig.
2012-08-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/paf.c
Error out if channel count is zero. Bug report from William ELla via
launchpad:
https://bugs.launchpad.net/ubuntu/+source/libsndfile/+bug/1036831
2012-08-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* configure.ac programs/sndfile-play.c
Patch from Ricci Adams to use OSX's AudioQueues on OSX 10.7 and greater.
2012-07-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* programs/common.c
Accept "ogg" as a file extention for Ogg/Vorbis files.
2012-06-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/flac.c
Make sure any previously allocated FLAC stream encoder and stream decoder
objects are deleted before a new one is allocated.
2012-06-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* tests/utils.tpl
Rename gen_lowpass_noise_float() to gen_lowpass_signal_float() and add a
sine wave component so that different FLAC compression levels can be
tested.
* src/sndfile.h.in doc/command.html
Add SFC_SET_COMPRESSION_LEVEL and document it.
* src/sndfile.c
Catch SFC_SET_VBR_ENCODING_QUALITY command and implement it as the inverse
of SFC_SET_COMPRESSION_LEVEL.
* src/ogg_vorbis.c src/flac.c
Implement SFC_SET_COMPRESSION_LEVEL command.
* tests/test_wrapper.sh.in tests/compression_size_test.c
Use the compression_size_test on FLAC as well.
2012-06-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* tests/
Rename vorbis_test.c -> compression_size_test.c so it can be extended to
test FLAC as well.
2012-06-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/broadcast.c
Fix a bug where a file with a 'bext' chunk with a zero length coding
history field would get corrupted when the file was closed.
Reported by Paul Davis of the Ardour project.
* src/test_broadcast_var.c
Add a test for the above.
2012-05-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/sndfile.c
sf_format_check: For SF_FORMAT_AIFF, reject endian-ness setttings for
non-PCM formats.
2012-04-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/aiff.c
Fix regression in handling of odd length SSND chunks.
Thanks Olivier Tristan for the example file.
* src/aiff.c src/wav.c
Exit parser loop when marker == 0.
2012-04-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* doc/FAQ.html
Fix text. Thanks to Richard Collins.
2012-03-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/caf.c
Exit parse loop if the marker is zero. Pass jump offsets as size_t instead
of int.
2012-03-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/alac.c
Fix segfault when decoding CAF/ALAC file with more than 4 channels.
Fixes github issue #8 reported by Charles Van Winkle.
2012-03-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/common.h
Change 'typedef SF_CHUNK_ITERATOR { ... } SF_CHUNK_ITERATOR' into 'struct
SF_CHUNK_ITERATOR { ... }' to prevent older compilers from complaining of
re-typedef-ing of SF_CHUNK_ITERATOR.
* configure.ac
Fix if test for empty $prefix.
2012-03-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/*.c tests/chunk_test.c
Reworking of custom chunk handling code.
- Memory for the iterator is now attached to the SF_PRIVATE struct and
freed one sf_close().
- Rename sf_create_chunk_iterator() -> sf_get_chunk_iterator().
- Each SNDFILE handle never has more than one SF_CHUNK_ITERATOR handle.
* tests/string_test.c
Fix un-initialised char buffer.
2012-03-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/*.c tests/chunk_test.c
Add improved handling of custom chunk getting and settings. Set of patches
from IOhannes m zmoelnig submitted via github pull request #6.
* src/alac.c
Fix calculated frame count for files with zero block length.
2012-03-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/avr.c
Remove double assignment to psf->endian. Thanks Kao Dome.
* src/gsm610.c
Fix clearing of buffers. Thanks Kao Dome.
* src/paf.c
Remove duplicate code. Thanks Kao Dome.
* src/test_strncpy_crlf.c
Fix minor error in test. Thanks Kao Dome.
* src/common.h src/*.c
Fix a bunch of valgrind errors.
2012-03-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/sndfile.c
Fix typo in error string 'Uknown' -> 'Unknown'.
* tests/fix_this.c
Fix potential int overflow.
2012-03-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/alac.c
Fix decoding of last block so that the decode length is not a multiple of
the block length. Fixes github issue #4 reported by Charles Van Winkle.
* src/sfconfig.h src/sfendian.h
Fix for MinGW cross compiling. Use '#if (defined __*66__)' instead of
'#if __*86__' because the MinGW header use '#ifdef __x86_64__'.
2012-03-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/ALAC/ src/alac.c
Unify the interface between libsndfile and Apple ALAC codec. Regardless of
file bit width samples are now passed between the two as int32_t that are
justified towards the most significant bit. Without this modification, 16
conversion functions would have been needed between the libsndfile (short,
int, float, double) types and the ALAC types (16, 20, 24 and 32 bit). With
this mod, only 4 are needed.
* tests/floating_point_test.tpl tests/write_read_test.(def|tpl)
Add tests for 20 and 24 bit ALAC/CAF files.
* src/command.c
Add ALAC/CAF to the SFC_GET_FORMAT_* commands. Fixes github issue #5.
* configure.ac
Only use automake AM_SLIENT_RULES where supported. Thanks Dave Yeo.
* tests/pipe_test.tpl
Disable tests on OS/2. Thanks Dave Yeo.
2012-03-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* configure.ac src/sfconfig.h src/sfendian.h
For GCC, use inline assembler for endian swapping. This should work with
older versions of GCC like the one currently used in OS/2.
2012-03-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/alac.c
Make sure temp file gets opened in binary mode.
* src/alac.c src/common.c src/common.h
Fix function alac_write16_d().
* tests/floating_point_test.tpl
Add tests for 16 bit ALAC/CAF.
* src/alac.c src/common.c src/common.h
Add support for 32 bit ALAC/CAF files.
* tests/floating_point_test.tpl tests/write_read_test.tpl
Add tests for 32 bit ALAC/CAF files.
2012-03-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/
Refactor chunk storage so it work on big as well as little endian CPUs.
* tests/chunk_test.c
Clean up error messages.
* src/sfendian.h src/*.c
Rename endian swapping macros and add ENDSWAP_64 and BE2H_64.
* configure.ac
Detect presence of <x86intrin.h> header file.
* src/sfendian.h
Use <x86intrin.h> intrinsics (ie for MinGW) when <byteswap.h> is not
present.
Make ENDSWAP_64() work with i686-w64-mingw32 compiler.
* src/ALAC/EndianPortable.c
Add support for __powerpc__.
* src/sfconfig.h
Make sure HAVE_X86INTRIN_H is either 1 or 0.
2012-03-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/ALAC/*
Big dump of code for Apple's ALAC file format. The copyyright to this code
is owned by Apple who have released it under an Apache style license. A few
small modifications were made to allow this to be integrated into libsndfile
but unfortunately the history of those changes were lost because they were
developed in a Bzr tree and during that time libsndfile moved to Git.
* src/alac.c src/caf.c src/common.[ch] src/Makefile.am src/sndfile.h.in
src/sndfile.c
Hook new ALAC codec in.
* programs/sndfile-convert.c
Add support for alac codec.
* tests/write_read_test.tpl
Expand tests to cover ALAC.
2012-03-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/aiff.c src/wav.c
Fix a couple of regressions from version 1.0.25.
2012-03-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/strings.c
Minor refactoring. Make sure that the memory allocation size if always > 0
to avoid undefined behaviour.
2012-02-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/chunk.c
Fix buffer overrun introduced in recently added chunk logging. This chunk
logging has not yet made it to a libsndfile release version. Thanks to
Olivier Tristan for providing an example file.
* src/wav.c
Fix handling of odd sized chunks which was causing the parser to lose some
chunks. Thanks to Olivier Tristan for providing an example file.
2012-02-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* tests/util.tpl
Used gnu_printf format checking with mingw-w64 compiler.
* tests/header_test.tpl
Printf format fixes.
2012-02-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* M4/extra_pkg.m4
Update PKG_CHECK_MOD_VERSION macro to add an AC_TRY_LINK step. This fix
allows the configure process to catch attempts to link incompatible
libraries. For example, linking 32 bit version of eg libFLAC to a 64 bit
version of libsndfile will now fail. Similarly, when cross compiling
libsndfile from Linux to Windows linking the Linux versions of a library
to the Windows version of libsndfile will now also fail.
* src/sndfile.h.in src/sndfile.c src/common.h src/create_symbols_file.py
Add API function sf_current_byterate().
* src/dwvw.c src/flac.c src/ogg_vorbis.c src/sds.c
Add codec specific handlers for current byterate.
* tests/floating_point_test.tpl
Add initial test for sf_current_byterate().
2012-02-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/common.[ch]
Add function psf_decode_frame_count().
* src/dwvw.c
Fix a termnation bug that caused the decoder to go into an infinite loop.
2012-02-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/wav.c
Fix a regression in the WAV header parser. Thanks to Olivier Tristan for
bug report and the example file.
2012-02-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/sndfile.c
Return error when SF_BROADCAST_INFO struct has bad coding_history_size.
Thanks to Alex Weiss for the report.
2012-02-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/au.c src/flac.c src/g72x.c src/ogg_vorbis.c src/wav_w64.c
Don't fake psf->bytewidth values.
2012-02-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* tests/string_test.c
Fix valgrind warnings.
* src/common.h src/sndfile.c src/strings.c
Make string storage dynamically allocated.
* src/sndfile.c
Add extra validation for custom chunk handling.
2012-02-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/wav.c
Improve handlling unknown chunk types. Thanks to Olivier Tristan for sending
example files.
* src/utils.tpl
Add GCC specific testing for format string parameters for exit_if_true().
* tests/*.c tests/*.tpl
Fix all printf format warnings.
* programs/sndfile-play.c
Remove un-needed OSX include <Carbon.h>. Thanks jamesfmilne for github
issue #3.
* tests/chunk_test.c
Extend custom chunk test.
2012-02-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/wav.c
Jump over some more chunk types while parsing.
2012-02-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/common.h src/strings.c
Change way strings are stored in SF_PRIVATE in preparation for dynamically
allocating the storage.
2012-02-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/common.h src*.c
Improve encapsulation of string data in SF_PRIVATE.
2012-02-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/common.h src*.c
Remove the buffer union from SF_PRIVATE. Most uses of this have been
replaced with a BUF_UNION that is allocated on the stack.
2012-01-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/common.h src*.c
Rename logbuffer field of SF_PRIVATE to parselog and reduce its size.
Put the parselog buffer and the index inside a struct within SF_PRIVATE.
2012-01-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* configure.ac
Fix typo, FLAC_CLFAGS -> FLAC_CFLAGS. Thanks to Jeremy Friesner.
2012-01-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/sndfile.c src/ogg.c
Fix misleading error message when trying to create an SF_FORMAT_OGG file
with anything other than SF_FORMAT_FILE. Thanks to Charles Van Winkle for
the bug report. Github issue #1.
2012-01-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/sndfile.c src/wav.c
Allow files opened in RDWR mode with string data in the tailer to be
extended. Thanks to Bodo for the patch.
* tests/string_test.c
Add tests for the above changes (patch from Bodo).
2012-01-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/aiff.c
Refactor reading of chunk size and use of psf_store_read_chunk().
* src/(caf|wav).c
Correct storing of chunk offset.
2012-01-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/aiff.c src/wav.c src/common.h
Refactor common code into src/common.h.
* src/caf.c
Make custom chunks work for CAF files.
* tests/chunk_test.c tests/test_wrapper.sh.in
Test CAF files with custom chunks.
* src/sndfile.c
Prevent psf->codec_close() being called more than once.
2012-01-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* programs/sndfile-cmp.c
Catch the case where the second file has more frames than the first.
2012-01-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/create_symbols_file.py
Add sf_set_chunk/sf_get_chunk_size/sf_get_chunk_data.
2011-12-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* tests/chunk_test.c tests/Makefile.am
New test for custom chunks.
* src/aiff.c src/chunk.c src/common.h src/sndfile.c
Make custom chunks work on AIFF files.
* src/wav.c
Make custom chunks work on WAV files (includes refactoring).
2011-11-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/sndfile.h.in src/common.h src/sndfile.c
Start working on setting/getting chunks.
2011-11-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/binheader_writef_check.py src/create_symbols_file.py
Make it work for Python 2 and 3. Thanks Michael.
2011-11-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* libsndfile.spec.in
Change field name 'URL' to 'Url'.
* src/sndfile.h.in
Add SF_SEEK_SET/CUR/END.
2011-11-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/id3.c
Fix a stack overflow that can occur when parsing a file with multiple
ID3 headers which would cause libsndfile to go into an infinite recursion
until it blew the stack. Thanks to Anders Svensson for supplying an example
file.
2011-10-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/double64.c src/float32.c src/common.h
Make (float32|double_64)_(be|le)_read() functions const correct.
2011-10-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/sfendian.h
Minor tweaking of types. Cast to ptr to correct final type rather void*.
* programs/sndfile-play.c tests/utils.tpl
Fix compiler warnings with latest MinGW cross compiler.
2011-10-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/file_io.c
Use the non-deprecated resource fork name on OSX. Thanks to Olivier Tristan.
2011-10-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/wav.c
Jump over the 'olym' chunks when parsing.
2011-10-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* tests/write_read_test.tpl
Remove windows only truncate() implementation.
2011-09-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/sd2.c src/sndfile.c
Make sure 23 bit PCM SD2 files are readable/writeable.
* tests/write_read_test.tpl
Add tests for 32 bit PCM SD2 files.
2011-08-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* configure.ac
Use AC_SYS_LARGEFILE instead of AC_SYS_EXTRA_LARGEFILE as suggested by
Jan Willies.
2011-08-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* configure.ac Makefile.am
Move ACLOCAL_AMFLAGS setup to Makefile.am.
2011-07-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* doc/command.html
Merge two separate blocks of SFC_SET_VBR_ENCODING_QUALITY documentation.
* src/paf.c
Replace ppaf24->samplesperblock with a compile time constant.
2011-07-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/ogg_vorbis.c
Fix return value of SFC_SET_VBR_ENCODING_QUALITY command.
* doc/command.html
Document SFC_SET_VBR_ENCODING_QUALITY, SFC_GET/SET_LOOP_INFO and
SFC_GET_INSTRUMENT.
* NEWS README configure.ac doc/*.html
Updates for 1.0.25.
2011-07-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/sfconfig.h
Add handling for HAVE_SYS_WAIT_H.
* Makefile.am src/Makefile.am tests/Makefile.am
Add 'checkprograms' target.
2011-07-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/common.h src/sndfile.c
Purge SF_ASSERT macro. Use standard C assert instead.
* src/paf.c src/common.h src/sndfile.c
Fix for Secunia Advisory SA45125, heap overflow (heap gets overwritten with
byte value of 0) due to integer overflow if PAF file handler.
* src/ima_adpcm.c src/ms_adpcm.c src/paf.c
Use calloc instead of malloc followed by memset.
* tests/utils.tpl
Clean up use of memset.
2011-07-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/ogg.c
Fix log message.
* tests/format_check_test.c
Fix compiler warnings.
2011-07-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/sndfile.c
Fix error message for erro code SFE_ZERO_MINOR_FORMAT.
* tests/format_check_test.c
Add a test to for SF_FINFO format field validation.
* src/ogg.c src/ogg_vorbis.c src/ogg.h src/ogg_pcm.c src/ogg_speex.c
src/common.h src/Makefile.am
Move vorbis specific code to ogg_vorbis.c, add new files for handling PCM
and Speex codecs in an Ogg container. The later two are only enabled with
ENABLE_EXPERIMENTAL_CODE config variable.
2011-06-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/strings.c
Clean up and refactor storage of SF_STR_SOFTWARE.
2011-06-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/sndfile.h.in doc/api.html
Fix definition of SF_STR_LAST and update SF_STR_* related docs. Thanks to
Tim van der Molen for the patch.
2011-06-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* programs/sndfile-interleave.c
Fix handling of argc. Thanks to Marius Hennecke.
* src/wav_w64.c
Accept broken WAV files with blockalign == 0. Thanks to Olivier Tristan for
providing example files.
* src/wav.c
Jump over 'FLLR' chunks.
2011-06-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/sndfile.h.in
Fix -Wundef warning due to ENABLE_SNDFILE_WINDOWS_PROTOTYPES.
* configure.ac
Add -Wundef to CFLAGS.
* src/ogg.c
Fix -Wunder warning.
2011-05-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* configure.ac
Use int64_t instead of off_t when they are the same size.
* src/Makefile.am tests/Makefile.am
Use check_PROGRAMS instead of noinst_PROGRAMS where appropriate.
2011-05-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/wav.c
Don't allow unknown and/or un-editable chunks to prevent the file from being
opened in SFM_RDWR mode.
2011-04-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* tests/format_check_test.c
Fix segfault in test program.
2011-04-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* tests/format_check_test.c
New test program to check to make sure that sf_open() and sf_check_format()
agree as to what is a valid program.
* tests/Makefile.am tests/test_wrapper.sh.in
Hook into build and test runner.
* src/sndfile.c
Fix some sf_format_check() problems. Thanks to Charles Van Winkle for the
notification.
2011-04-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/caf.c
Add validation to size of 'data' chunk and fix size of written 'data'
chunk. Thanks to Michael Pruett for reporting this.
2011-03-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/* tests/* programs/*
Fix a bunch of compiler warnings with gcc-4.6.
2011-03-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* tests/util.tpl
Add NOT macro to util.h.
* src/strings.c
Fix handling of SF_STR_SOFTWARE that resulted in a segfault due to calling
strlen() on an unterminated string. Thanks to Francois Thibaud for reporting
this problem.
* tests/string_test.c
Add test for SF_STR_SOFTWARE segfault bug.
* configure.ac
Sanitize FLAC_CFLAGS value supplied by pkg-config which returns a value of
'-I${includedir}/FLAC'. However FLAC also provides an include file
<assert.h> which clashes with the Standard C header of the same name. The
solution is strip the 'FLAC' part off the end and include all FLAC headers
as <FLAC/header.h>.
* configure.ac src/Makefile.am
Use non-recursive make in src/ directory.
2011-03-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* NEWS README docs/*.html
Updates for 1.0.24 release.
2011-03-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* configure.ac
Fix up usage of sed (should not assume GNU sed).
* M4/add_(c|cxx)flags.m4
Test flags in isolation.
* tests/cpp_test.cc
Fix a broken test (test segfaults). Report by Dave Flogeras.
2011-03-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* programs/common.[ch]
Add function program_name() which returns the program name minus the path
from argv [0].
* programs/*.c programs/Makefile.am
Use program_name() where appropriate. Fix build.
2011-03-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/wav.c
For u-law and A-law files, write an 18 byte 'fmt ' chunk instead of a 16
byte one. Win98 accepts files with a 16 but not 18 byte 'fmt' chunk. Later
version accept 18 byte but not 16 byte.
2011-03-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* doc/FAQ.html
Add examples for question 12.
* doc/libsndfile.css.in
Add tweaks for h4 element.
* doc/api.html
Add documentation for virtual I/O functionality. Thanks to Uli Franke.
* tests/util.tpl
Add static inline functions sf_info_clear() and sf_info_setup().
* tests/(alaw|dwvw|ulaw)_test.c
Use functions sf_info_clear() and sf_info_setup().
2011-03-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* configure.ac
Fail more gracefully if pkg-config is missing. Suggestion from Brian
Willoughby.
2011-02-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/common.c
Use size_t instead of int for size params with varargs.
2011-02-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* doc/index.html
Update supported platforms with more Debian platforms and Android.
2011-01-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/sndfile.hh
Add an LPCWSTR version of the SndfileHandle constructor to the SndfileHandle
class definition. Thanks to Eric Eizenman for pointing out this was missing.
* tests/cpp_test.cc
Add test for LPCWSTR version of the SndfileHandle constructor.
2011-01-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* programs/sndfile-play.c
Remove cruft.
2010-12-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/sndfile.hh
Add methods rawHandle() and takeOwnership(). Thanks to Tim Blechmann for
the patch.
* tests/cpp_test.cc
Add tests for above two methods. Also supplied by Tim Blechmann.
2010-11-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* doc/api.html
Add mention of use of sf_strerror() when sf_open() fails.
2010-11-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* configure.ac
Make TYPEOF_SF_COUNT_T int64_t where possible. This may fix problems where
people are compiling on a 64 bit system with the GCC -m32 flag.
* src/sndfile.h.in
Fix comments on sf_count_t.
2010-10-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/aiff.c
Handle non-zero offset field in SSND chunk. Thanks to Michael Chinen.
2010-10-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* configure.ac
Sed fix for FreeBSD. Thanks Tony Theodore.
2010-10-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* shave.in M4/shave.m4
Fix shave invocation of windres compiler. Thanks Damien Lespiau (upstream
shave author).
* configure.ac M4/shave.m4 shave-libtool.in shave.in
Switch from shave to automake-1.11's AM_SILENT_RULES.
2010-10-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* shave-libtool.in shave.in
Sync to upstream version.
* src/rf64.c
More work to make the parser more robust and accepting of mal-formed files.