lib_LTLIBRARIES = src/libsndfile.la
include_HEADERS = include/sndfile.hh
nodist_include_HEADERS = include/sndfile.h
- src_libsndfile_la_CFLAGS = $(EXTERNAL_XIPH_CFLAGS)
+ src_libsndfile_la_CFLAGS = $(EXTERNAL_XIPH_CFLAGS) $(MPEG_CFLAGS)
# MinGW requires -no-undefined if a DLL is to be built.
src_libsndfile_la_LDFLAGS = -no-undefined -version-info $(SHARED_VERSION_INFO) $(SHLIB_VERSION_ARG)
-src_libsndfile_la_SOURCES = src/sndfile.c src/aiff.c src/au.c src/avr.c src/caf.c src/dwd.c src/flac.c src/g72x.c src/htk.c src/ircam.c \
+src_libsndfile_la_SOURCES = src/sndfile.c src/aiff.c src/au.c src/avr.c src/dwd.c src/flac.c src/htk.c src/ircam.c \
src/macos.c src/mat4.c src/mat5.c src/nist.c src/paf.c src/pvf.c src/raw.c src/rx2.c src/sd2.c \
src/sds.c src/svx.c src/txw.c src/voc.c src/wve.c src/w64.c src/wavlike.c src/wav.c src/xi.c src/mpc2k.c src/rf64.c \
- src/ogg_vorbis.c src/ogg_speex.c src/ogg_pcm.c src/ogg_opus.c src/ogg_vcomment.c \
- src/common.h src/sfconfig.h src/sfendian.h src/wavlike.h src/sf_unistd.h src/ogg.h src/chanmap.h src/ogg_vcomment.h
+ src/ogg.c src/ogg.h src/ogg_vorbis.c src/ogg_speex.c src/ogg_pcm.c src/ogg_opus.c src/ogg_vcomment.c src/ogg_vcomment.h \
+ src/common.h src/sfconfig.h src/sfendian.h src/wavlike.h src/sf_unistd.h src/chanmap.h src/mpeg.c
nodist_src_libsndfile_la_SOURCES = $(nodist_include_HEADERS)
-src_libsndfile_la_LIBADD = src/GSM610/libgsm.la src/G72x/libg72x.la src/ALAC/libalac.la \
+src_libsndfile_la_LIBADD = \
- src/libcommon.la $(EXTERNAL_XIPH_LIBS) -lm
+ src/libcommon.la $(EXTERNAL_XIPH_LIBS) -lm $(MPEG_LIBS)
EXTRA_src_libsndfile_la_DEPENDENCIES = $(SYMBOL_FILES)
noinst_LTLIBRARIES = src/libcommon.la
- src_libcommon_la_CFLAGS = $(EXTERNAL_XIPH_CFLAGS)
+ src_libcommon_la_CFLAGS = $(EXTERNAL_XIPH_CFLAGS) $(MPEG_CFLAGS)
src_libcommon_la_SOURCES = src/common.c src/file_io.c src/command.c src/pcm.c src/ulaw.c src/alaw.c \
- src/float32.c src/double64.c src/ima_adpcm.c src/ms_adpcm.c src/gsm610.c src/dwvw.c src/vox_adpcm.c \
+ src/float32.c src/double64.c src/ima_adpcm.c src/ms_adpcm.c src/dwvw.c src/vox_adpcm.c \
src/interleave.c src/strings.c src/dither.c src/cart.c src/broadcast.c src/audio_detect.c \
- src/ima_oki_adpcm.c src/ima_oki_adpcm.h src/chunk.c src/ogg.c src/chanmap.c \
- src/windows.c src/id3.c src/nms_adpcm.c $(WIN_VERSION_FILE)
- src/ima_oki_adpcm.c src/ima_oki_adpcm.h src/alac.c src/chunk.c src/chanmap.c \
++ src/ima_oki_adpcm.c src/ima_oki_adpcm.h src/chunk.c src/chanmap.c \
+ src/windows.c src/id3.c src/id3.h src/nms_adpcm.c src/mpeg_decode.c src/mpeg_l3_encode.c src/mpeg.h $(WIN_VERSION_FILE)
check_PROGRAMS = src/test_main
src_test_main_SOURCES = src/test_main.c src/test_main.h src/test_conversions.c src/test_float.c src/test_endswap.c \
[AS_HELP_STRING([--disable-alsa], [disable ALSA support (default=autodetect)])], [], [enable_alsa=auto])
AC_ARG_ENABLE([external-libs],
- [AS_HELP_STRING([--disable-external-libs], [disable use of FLAC, Ogg and Vorbis [[default=no]]])])
+ [AS_HELP_STRING([--disable-external-libs], [disable use of Ogg and Vorbis [[default=no]]])])
+ AC_ARG_ENABLE([mpeg],
+ [AS_HELP_STRING([--disable-mpeg], [disable use of LAME/MPG123 for MPEG (MP3) [[defaults=no]]])])
+
AC_ARG_ENABLE(octave,
[AS_HELP_STRING([--enable-octave], [enable building of GNU Octave module])])
fi
], [
AS_ECHO([""])
- AC_MSG_WARN([[*** One or more of the external libraries (ie libogg and]])
- AC_MSG_WARN([[*** libvorbis) is either missing (possibly only the development]])
- AC_MSG_WARN([[*** One or more of the external libraries (ie libflac, libogg,]])
++ AC_MSG_WARN([[*** One or more of the external libraries (ie libogg,]])
+ AC_MSG_WARN([[*** libvorbis and libopus) is either missing (possibly only the development]])
AC_MSG_WARN([[*** headers) or is of an unsupported version.]])
AC_MSG_WARN([[***]])
AC_MSG_WARN([[*** Unfortunately, for ease of maintenance, the external libs]])
])
])
-AC_DEFINE_UNQUOTED([HAVE_EXTERNAL_XIPH_LIBS], [$HAVE_EXTERNAL_XIPH_LIBS], [Will be set to 1 if flac, ogg, vorbis, and opus are available.])
+AC_DEFINE_UNQUOTED([HAVE_EXTERNAL_XIPH_LIBS], [$HAVE_EXTERNAL_XIPH_LIBS], [Will be set to 1 if ogg, vorbis, and opus are available.])
dnl ====================================================================================
+ dnl Check for MPEG libraris liblame
+
+ ac_cv_lame="no"
+ ac_cv_mpg123="no"
+ HAVE_MPEG=0
+ EXTERNAL_MPEG_REQUIRE=""
+ EXTERNAL_MPEG_LIBS=""
+
+ AS_IF([test -n "$PKG_CONFIG"], [
+ AS_IF([test "x$enable_mpeg" = "xno"], [
+ AC_MSG_WARN([[*** MPEG (Lame/MPG123) disabled. ***]])
+ ], [
+ AC_CHECK_HEADER(lame/lame.h,
+ lame_header_found="yes",
+ lame_header_found="no")
+ AC_SEARCH_LIBS(lame_set_VBR_q, [lame mp3lame], [lame_lib_found="yes"], [lame_lib_found="no"])
+ AS_IF([test "x$lame_lib_found$lame_header_found" = "xyesyes"], [
+ ac_cv_lame="yes"
+ ], [
+ AC_MSG_WARN([["MPEG support selected but external Lame library cannot be found.]])
+ ])
+
+ PKG_CHECK_MOD_VERSION([MPG123], [libmpg123 >= 1.25.10], [
+ ac_cv_mpg123="yes"
+ ], [
+ AC_MSG_WARN([["MPEG support selected but external MPG123 library cannot be found.]])
+ ])
+
+ AS_IF([test "x$ac_cv_lame$ac_cv_mpg123" = "xyesyes"], [
+ enable_mpeg="yes"
+ HAVE_MPEG=1
+ EXTERNAL_MPEG_REQUIRE="libmpg123"
+ EXTERNAL_MPEG_LIBS="-lmp3lame"
+ MPEG_CFLAGS="$MPG123_CFLAGS"
+ MPEG_LIBS="$MPG123_LIBS"
+ ], [
+ enable_mpeg="no"
+ AS_ECHO([""])
+ AC_MSG_WARN([[*** MPEG support disabled.]])
+ AS_ECHO([""])
+ ])
+ ])
+ ])
+
+ AC_DEFINE_UNQUOTED([HAVE_MPEG], [$HAVE_MPEG], [Will be set to 1 if lame, mpg123 mpeg support is available.])
+
+ dnl ====================================================================================
dnl Check for libsqlite3 (only used in regtest).
ac_cv_sqlite3=0
Experimental code : ................... ${enable_experimental:-no}
Using ALSA in example programs : ...... ${enable_alsa:-no}
- External FLAC/Ogg/Vorbis/Opus : ....... ${enable_external_libs:-no}
+ External Ogg/Vorbis/Opus : ............ ${enable_external_libs:-no}
+ External MPEG Lame/MPG123 : ........... ${enable_mpeg:-no}
Building Octave interface : ........... ${OCTAVE_BUILD}
Tools :
--- /dev/null
- Version: 1.0.31
- Release: 1
+%define __spec_check_pre exit 0
+Name: libsndfile
++Version: 1.1.0
++Release: 0
+License: LGPL-2.1+
+Summary: C library for reading and writing sound files
+Group: Multimedia/Audio
+BuildRequires: gcc-c++
+BuildRequires: libtool
+BuildRequires: python
+BuildRequires: pkg-config
+BuildRequires: autogen
+BuildRequires: pkgconfig(ogg)
+BuildRequires: pkgconfig(vorbis)
+BuildRequires: pkgconfig(opus)
+Requires: opus
+Url: https://github.com/libsndfile/libsndfile
+Source: libsndfile-%{version}.tar.gz
+Source1001: libsndfile.manifest
+
+%description
+Libsndfile is a C library for reading and writing sound files, such as
+AIFF, AU, and WAV files, through one standard interface. It can
+currently read and write 8, 16, 24, and 32-bit PCM files as well as
+32-bit floating point WAV files and a number of compressed formats.
+
+
+%package devel
+Summary: Development package for the libsndfile library
+Group: Development/Libraries
+Requires: %{name} = %{version}
+Requires: glibc-devel
+Requires: libstdc++-devel
+
+%description devel
+This package contains the files needed to compile programs that use the
+libsndfile library.
+
+%prep
+%setup -q
+cp %{SOURCE1001} .
+
+%build
+%define warn_flags -W -Wall -Wstrict-prototypes -Wpointer-arith -Wno-unused-parameter
+autoreconf --force --install
+CFLAGS="%{optflags} %{warn_flags} -D__TIZEN__"
+export CFLAGS
+LDFLAGS="-ldl"
+export LDFLAGS
+%configure --disable-static \
+ --disable-dependency-tracking \
+ --disable-sqlite --disable-alsa
+make %{?_smp_mflags}
+
+%check
+pushd src
+make check
+popd
+
+%install
+
+%make_install
+# remove programs; built in another spec file
+rm -rf %{buildroot}%{_bindir}
+rm -rf %{buildroot}%{_mandir}/man1
+# remove binaries from examples directory
+rm -rf %{buildroot}%{_datadir}/doc/libsndfile
+
+%post -p /sbin/ldconfig
+
+%postun -p /sbin/ldconfig
+
+%files
+%manifest %{name}.manifest
+%defattr(-, root, root)
+%license COPYING
+%{_libdir}/libsndfile.so.1*
+
+%files devel
+%manifest %{name}.manifest
+%defattr(-, root, root)
+%{_libdir}/libsndfile.so
+%{_includedir}/sndfile.h
+%{_includedir}/sndfile.hh
+%{_libdir}/pkgconfig/*.pc
+
+%changelog
int nms_adpcm_init (SF_PRIVATE *psf) ;
int vox_adpcm_init (SF_PRIVATE *psf) ;
int flac_init (SF_PRIVATE *psf) ;
-int g72x_init (SF_PRIVATE * psf) ;
-int alac_init (SF_PRIVATE *psf, const ALAC_DECODER_INFO * info) ;
+ int mpeg_init (SF_PRIVATE *psf, int bitrate_mode, int write_metadata) ;
int dither_init (SF_PRIVATE *psf, int mode) ;
int audio_detect (SF_PRIVATE * psf, AUDIO_DETECT *ad, const unsigned char * data, int datalen) ;
int id3_skip (SF_PRIVATE * psf) ;
+ const char *id3_lookup_v1_genre (int number) ;
-void alac_get_desc_chunk_items (int subformat, uint32_t *fmt_flags, uint32_t *frames_per_packet) ;
FILE * psf_open_tmpfile (char * fname, size_t fnamelen) ;
/* Lite remove end */
- case SF_FORMAT_GSM610 :
- error = gsm610_init (psf) ;
- break ;
-
+ case SF_FORMAT_MPEG_LAYER_III :
+ error = mpeg_init (psf, SF_BITRATE_MODE_CONSTANT, SF_FALSE) ;
+ break ;
+
default : return SFE_UNIMPLEMENTED ;
} ;