library for reading and resampling audio files
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Alexandros Theodotou 9f7e7016d1
memset AudecInfo to 0 before filling it in
2 years ago
.builds memset AudecInfo to 0 before filling it in 2 years ago
.builds-extra move most builds to .builds-extra 3 years ago
inc use hidden symbol visibility by default and enable symbols manually 2 years ago
src memset AudecInfo to 0 before filling it in 2 years ago
subprojects add subproject fallbacks for sndfile/samplerate 3 years ago
tests add link map and shared lib 2 years ago
.gitignore remove references to Lesser GPL 3 years ago
CHANGELOG.md bump to ver 0.2.3 3 years ago
COPYING change license to AGPL 4 years ago
COPYING.GPL3 fix invalid licensing - upgrade originally lgplv2+ text to gplv3+, then use it in combination with the AGPL 4 years ago
README.md add srht builds badge 3 years ago
link.map.in add link map and shared lib 2 years ago
meson.build bump to v0.3.4 2 years ago
meson_options.txt bump to ver 0.2.3 3 years ago

README.md

libaudec

builds.sr.ht status

libaudec (lib audio decoder) is a wrapper library over minimp3, sndfile and libsamplerate for reading and resampling audio files, based on Robin Gareus' audio_decoder code (https://github.com/x42/silan/tree/master/audio_decoder)

libaudec supports all formats supported by sndfile, in addition to MP3.

This library is meant to be linked in statically to larger projects.

Until version 1.0 is released, the API is subject to change.

Usage

Use #include <audec/audec.h> in your C/C++ project and add a dependency to the library using the pkg-config name audec.

Example of loading a file into an interleaved float array at 44000Hz:

AudecInfo nfo;
AudecHandle * handle =
  audec_open (filename, &nfo);
if (!handle)
  {
    /* handle error */
  }
float * out_frames = NULL;
ssize_t samples_read =
  audec_read (
    handle, &out_frames, 44000);
if (samples_read < 0)
  {
    /* handle error */
  }
audec_close (handle);

See the header file for more info.

Building

To build only:

meson build
ninja -C build

Installation:

ninja -C build install

Patches/Issues

Send email to dev at zrythm.org or open an issue in https://redmine.zrythm.org/projects/libaudec/issues

License

libaudec is released under the GNU Affero GPLv3+. See the file COPYING for more details. Some files, where specified, are licensed under different licenses.


Copyright (C) 2019-2020 Alexandros Theodotou

Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without any warranty.