Loading...
Searching...
No Matches
wavfile.h
Go to the documentation of this file.
/* -*- c++ -*- */
/*
* Copyright 2008,2013 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
* SPDX-License-Identifier: GPL-3.0-or-later
*
*/
// This file stores all the RIFF file type knowledge for the wavfile_*
// gnuradio/blocks.
#ifndef _GR_WAVFILE_H_
#define _GR_WAVFILE_H_
#include <cstdio>
namespace gr {
namespace blocks {
//! WAV file header information.
struct wav_header_info {
//! sample rate [S/s]
int sample_rate;
//! Number of channels
int nchans;
//! Bytes per sample
int bytes_per_sample;
//! Number of samples per channel
long long samples_per_chan;
//! sndfile format
int format;
//! sndfile format
int subformat;
};
enum wavfile_format_t {
FORMAT_WAV = 0x010000,
FORMAT_FLAC = 0x170000,
FORMAT_OGG = 0x200000,
FORMAT_RF64 = 0x220000,
};
enum wavfile_subformat_t {
FORMAT_PCM_S8 = 1,
FORMAT_PCM_16,
FORMAT_PCM_24,
FORMAT_PCM_32,
FORMAT_PCM_U8,
FORMAT_FLOAT,
FORMAT_DOUBLE,
FORMAT_VORBIS = 0x0060,
FORMAT_OPUS = 0x0064,
};
} /* namespace blocks */
} /* namespace gr */
typedef gr::blocks::wavfile_format_t wavfile_format_t;
typedef gr::blocks::wavfile_subformat_t wavfile_subformat_t;
#endif /* _GR_WAVFILE_H_ */
gr::blocks
Definition abs_blk.h:20
gr::blocks::wavfile_subformat_t
wavfile_subformat_t
Definition wavfile.h:51
gr::blocks::FORMAT_PCM_24
@ FORMAT_PCM_24
Definition wavfile.h:54
gr::blocks::FORMAT_PCM_16
@ FORMAT_PCM_16
Definition wavfile.h:53
gr::blocks::FORMAT_PCM_U8
@ FORMAT_PCM_U8
Definition wavfile.h:56
gr::blocks::FORMAT_OPUS
@ FORMAT_OPUS
Definition wavfile.h:60
gr::blocks::FORMAT_PCM_S8
@ FORMAT_PCM_S8
Definition wavfile.h:52
gr::blocks::FORMAT_VORBIS
@ FORMAT_VORBIS
Definition wavfile.h:59
gr::blocks::FORMAT_PCM_32
@ FORMAT_PCM_32
Definition wavfile.h:55
gr::blocks::FORMAT_DOUBLE
@ FORMAT_DOUBLE
Definition wavfile.h:58
gr::blocks::FORMAT_FLOAT
@ FORMAT_FLOAT
Definition wavfile.h:57
gr::blocks::wavfile_format_t
wavfile_format_t
Definition wavfile.h:44
gr::blocks::FORMAT_RF64
@ FORMAT_RF64
Definition wavfile.h:48
gr::blocks::FORMAT_OGG
@ FORMAT_OGG
Definition wavfile.h:47
gr::blocks::FORMAT_FLAC
@ FORMAT_FLAC
Definition wavfile.h:46
gr::blocks::FORMAT_WAV
@ FORMAT_WAV
Definition wavfile.h:45
gr
GNU Radio logging wrapper.
Definition basic_block.h:29
gr::blocks::wav_header_info
WAV file header information.
Definition wavfile.h:23
gr::blocks::wav_header_info::nchans
int nchans
Number of channels.
Definition wavfile.h:29
gr::blocks::wav_header_info::samples_per_chan
long long samples_per_chan
Number of samples per channel.
Definition wavfile.h:35
gr::blocks::wav_header_info::bytes_per_sample
int bytes_per_sample
Bytes per sample.
Definition wavfile.h:32
gr::blocks::wav_header_info::sample_rate
int sample_rate
sample rate [S/s]
Definition wavfile.h:26
gr::blocks::wav_header_info::format
int format
sndfile format
Definition wavfile.h:38
gr::blocks::wav_header_info::subformat
int subformat
sndfile format
Definition wavfile.h:41
wavfile_format_t
gr::blocks::wavfile_format_t wavfile_format_t
Definition wavfile.h:66
wavfile_subformat_t
gr::blocks::wavfile_subformat_t wavfile_subformat_t
Definition wavfile.h:67