www.pudn.com > w_ipp-sample-media_p_5.0.017.zip > wav_file.h
/*//////////////////////////////////////////////////////////////////////////////
//
// INTEL CORPORATION PROPRIETARY INFORMATION
// This software is supplied under the terms of a license agreement or
// nondisclosure agreement with Intel Corporation and may not be copied
// or disclosed except in accordance with the terms of that agreement.
// Copyright(c) 2005 Intel Corporation. All Rights Reserved.
//
*/
#ifndef __WAV_FILE_H
#define __WAV_FILE_H
#include "audio_file.h"
class WavFile:public AudioFile {
public:
struct Info {
unsigned int format_tag; // / 1 = PCM
unsigned int sample_rate; // / f.e. 44100
unsigned int resolution; // / 8,16,32 bits, etc
unsigned int channels_number;
unsigned int channel_mask; // /
};
public:
WavFile();
~WavFile();
virtual int Open(char *p_filename, unsigned int mode);
virtual int Close();
virtual int Write(void *p_data, size_t size);
virtual int Read(void *p_data, size_t size);
virtual int SetInfo(Info * p_info);
virtual int GetInfo(Info * p_info);
protected:
void *m_file_handle;
unsigned int m_open_mode;
int m_is_first_time;
int m_is_info_valid;
Info m_info;
unsigned int m_data_size;
unsigned int m_riff_size;
protected:
int ReadHeaderInfo();
};
#endif
/* EOF */