GNU Radio 3.5.3.2 C++ API
gri_wavfile.h File Reference
#include <gr_core_api.h>
#include <cstdio>
Include dependency graph for gri_wavfile.h:

Go to the source code of this file.

Functions

short int gri_wav_read_sample (FILE *fp, int bytes_per_sample)
 Read one sample from an open WAV file at the current position.
bool gri_wavheader_write (FILE *fp, unsigned int sample_rate, int nchans, int bytes_per_sample)
 Write a valid RIFF file header.
void gri_wav_write_sample (FILE *fp, short int sample, int bytes_per_sample)
 Write one sample to an open WAV file at the current position.
bool gri_wavheader_complete (FILE *fp, unsigned int byte_count)
 Complete a WAV header.

Function Documentation

short int gri_wav_read_sample ( FILE *  fp,
int  bytes_per_sample 
)

Read one sample from an open WAV file at the current position.

Takes care of endianness.

void gri_wav_write_sample ( FILE *  fp,
short int  sample,
int  bytes_per_sample 
)

Write one sample to an open WAV file at the current position.

Takes care of endianness.

bool gri_wavheader_complete ( FILE *  fp,
unsigned int  byte_count 
)

Complete a WAV header.

Note: The stream position is changed during this function. If anything needs to be written to the WAV file after calling this function (which shouldn't happen), you need to fseek() to the end of the file (or whereever).

fp File pointer to an open WAV file with a blank header byte_count Length of all samples written to the file in bytes.

bool gri_wavheader_write ( FILE *  fp,
unsigned int  sample_rate,
int  nchans,
int  bytes_per_sample 
)

Write a valid RIFF file header.

Note: Some header values are kept blank because they're usually not known a-priori (file and chunk lengths). Use gri_wavheader_complete() to fill these in.