home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
rtsi.com
/
2014.01.www.rtsi.com.tar
/
www.rtsi.com
/
OS9
/
MM1
/
SOUNDUTILS
/
audioplay.lzh
/
AUDIOPLAY
/
SRC
/
audio_filehdr.h
next >
Wrap
Text File
|
1995-02-20
|
2KB
|
51 lines
/* @(#)audio_filehdr.h 1.1 89/12/22 SMI */
/* Copyright (c) 1989 by Sun Microsystems, Inc. */
#ifndef _multimedia_audio_filehdr_h
#define _multimedia_audio_filehdr_h
/* #include "archdep.h" */
/*
* Define an on-disk audio file header.
*
* This structure should not be arbitrarily imposed over a stream of bytes,
* since the byte orders could be wrong.
*
* Note that there is an 'info' field that immediately follows this
* structure in the file.
*
* The hdr_size field is problematic in the general case because the
* field is really "data location", which does not ensure that all
* the bytes between the header and the data are really 'info'.
* Further, there are no absolute guarantees that the 'info' is ASCII text,
* (non-ASCII info may eventually be far more useful anyway).
*
* When audio files are passed through pipes, the 'data_size' field may
* not be known in advance. In such cases, the 'data_size' should be
* set to AUDIO_UNKNOWN_SIZE.
*/
typedef struct {
u_int32 magic; /* magic number */
u_int32 hdr_size; /* size of this header */
u_int32 data_size; /* length of data (optional) */
u_int32 encoding; /* data encoding format */
u_int32 sample_rate; /* samples per second */
u_int32 channels; /* number of interleaved channels */
} Audio_filehdr;
/* Define the magic number */
#define AUDIO_FILE_MAGIC ((u_int32)0x2e736e64)
/* Define the encoding fields */
#define AUDIO_FILE_ENCODING_MULAW_8 (1) /* 8-bit ISDN u-law */
#define AUDIO_FILE_ENCODING_LINEAR_8 (2) /* 8-bit linear PCM */
#define AUDIO_FILE_ENCODING_LINEAR_16 (3) /* 16-bit linear PCM */
#define AUDIO_FILE_ENCODING_LINEAR_24 (4) /* 24-bit linear PCM */
#define AUDIO_FILE_ENCODING_LINEAR_32 (5) /* 32-bit linear PCM */
#define AUDIO_FILE_ENCODING_FLOAT (6) /* 32-bit IEEE floating point */
#define AUDIO_FILE_ENCODING_DOUBLE (7) /* 64-bit IEEE floating point */
#endif /*!_multimedia_audio_filehdr_h*/