GNU Radio's SATNOGS Package
ogg_encoder_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_ENCODER_IMPL_H
22#define INCLUDED_SATNOGS_OGG_ENCODER_IMPL_H
23
25#include <vorbis/vorbisenc.h>
26
27namespace gr {
28namespace satnogs {
29
31{
32private:
33 // Nothing to declare in this block.
34 ogg_stream_state d_os;
35 ogg_page d_og;
36 ogg_packet d_op;
37
38 vorbis_info d_vi;
39 vorbis_comment d_vc;
40
41 vorbis_dsp_state d_vd;
42 vorbis_block d_vb;
43 FILE* d_out;
44
45public:
46 ogg_encoder_impl(const std::string& filename, double samp_rate, float quality);
48
49 // Where all the action really happens
50 int work(int noutput_items,
51 gr_vector_const_void_star& input_items,
52 gr_vector_void_star& output_items);
53};
54
55} // namespace satnogs
56} // namespace gr
57
58#endif /* INCLUDED_SATNOGS_OGG_ENCODER_IMPL_H */
Definition: ogg_encoder_impl.h:31
int work(int noutput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
ogg_encoder_impl(const std::string &filename, double samp_rate, float quality)
Ogg encoder and sink block.
Definition: ogg_encoder.h:36
Definition: amsat_duv_decoder.h:29