GNU Radio's SATNOGS Package
ogg_source_impl.h
Go to the documentation of this file.
1/* -*- c++ -*- */
2/*
3 * gr-satnogs: SatNOGS GNU Radio Out-Of-Tree Module
4 *
5 * Copyright (C) 2017,2022 Libre Space Foundation <http://libre.space/>
6 *
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 */
20
21#ifndef INCLUDED_SATNOGS_OGG_SOURCE_IMPL_H
22#define INCLUDED_SATNOGS_OGG_SOURCE_IMPL_H
23
25#include <volk/volk.h>
26#include <volk/volk_alloc.hh>
27#include <vorbis/codec.h>
28#include <vorbis/vorbisfile.h>
29
30namespace gr {
31namespace satnogs {
32
34{
35private:
36 static constexpr size_t pcm_buffer_size = 4096;
37 const int m_channels;
38 const bool m_repeat;
39 volk::vector<int16_t> m_in_buffer;
40 volk::vector<float> m_out_buffer;
41 OggVorbis_File m_ogvorb_f;
42
43public:
44 ogg_source_impl(const std::string& filename, int channels, bool repeat);
46
47 // Where all the action really happens
48 int work(int noutput_items,
49 gr_vector_const_void_star& input_items,
50 gr_vector_void_star& output_items);
51};
52
53} // namespace satnogs
54} // namespace gr
55
56#endif /* INCLUDED_SATNOGS_OGG_SOURCE_IMPL_H */
Definition: ogg_source_impl.h:34
int work(int noutput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
ogg_source_impl(const std::string &filename, int channels, bool repeat)
OGG source block. Reads a file with an OGG audio and convert it to float samples.
Definition: ogg_source.h:38
Definition: amsat_duv_decoder.h:29