2006-12-20 14:08:07 -05:00
|
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
|
|
|
<HTML>
|
|
|
|
|
|
|
|
<HEAD>
|
|
|
|
<TITLE>
|
|
|
|
libsndfile : Embedded Sound Files.
|
|
|
|
</TITLE>
|
|
|
|
<META NAME="Author" CONTENT="Erik de Castro Lopo (erikd AT mega-nerd DOT com)">
|
|
|
|
<META NAME="Description" CONTENT="The libsndfile API.">
|
|
|
|
<META NAME="Keywords" CONTENT="WAV AIFF AU libsndfile sound audio dsp Linux">
|
|
|
|
<LINK REL=StyleSheet HREF="libsndfile.css" TYPE="text/css" MEDIA="all">
|
|
|
|
</HEAD>
|
|
|
|
<!-- pepper -->
|
|
|
|
<BODY>
|
|
|
|
<!-- pepper -->
|
|
|
|
<H1><B>Embedded Sound Files.</B></H1>
|
|
|
|
|
|
|
|
<P>
|
|
|
|
By using the open SNDFILE with a file descriptor function:
|
|
|
|
</P>
|
|
|
|
<!-- pepper -->
|
|
|
|
<PRE>
|
|
|
|
SNDFILE* sf_open_fd (int fd, int mode, SF_INFO *sfinfo, int close_desc) ;
|
|
|
|
</PRE>
|
|
|
|
<!-- pepper -->
|
|
|
|
<P>
|
|
|
|
it is possible to open sound files embedded within larger files.
|
|
|
|
There are however a couple of caveats:
|
|
|
|
<P>
|
|
|
|
<!-- pepper -->
|
|
|
|
<UL>
|
|
|
|
<LI> Read/Write mode (SFM_RDWR) is not supported.
|
|
|
|
<LI> Writing of embedded files is only supported at the end of the file.
|
|
|
|
<LI> Reading of embedded files is only supported at file offsets greater
|
|
|
|
than zero.
|
|
|
|
<LI> Not all file formats are supported (currently only WAV, AIFF and AU).
|
|
|
|
</UL>
|
|
|
|
<!-- pepper -->
|
|
|
|
<P>
|
2009-05-21 17:09:30 -04:00
|
|
|
The test program <B>multi_file_test.c</B> in the <B>tests/</B> directory of the
|
2006-12-20 14:08:07 -05:00
|
|
|
source code tarball shows how this functionality is used to read and write
|
|
|
|
embedded files.
|
|
|
|
</P>
|
|
|
|
<!-- pepper -->
|
|
|
|
</BODY>
|
|
|
|
</HTML>
|