summaryrefslogtreecommitdiff
path: root/doc/embedded_files.html
blob: c73e86a3b5f5f75e234c54483960dc4844505aa2 (plain)
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
<!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">
	<LINK REL="stylesheet" HREF="print.css" TYPE="text/css" MEDIA="print">
</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>
The test program <B>multi_file_test.c</B> in the <B>tests/</B> directory of the
source code tarball shows how this functionality is used to read and write
embedded files.
</P>
<!-- pepper -->
</BODY>
</HTML>