GNU Radio's DAB Package
mp4_decode_bs.h
Go to the documentation of this file.
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2017 Moritz Luca Schmid, Communications Engineering Lab (CEL) / Karlsruhe Institute of Technology (KIT).
4  *
5  * This is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 3, or (at your option)
8  * any later version.
9  *
10  * This software is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this software; see the file COPYING. If not, write to
17  * the Free Software Foundation, Inc., 51 Franklin Street,
18  * Boston, MA 02110-1301, USA.
19  */
20 
21 
22 #ifndef INCLUDED_DAB_MP4_DECODE_BS_H
23 #define INCLUDED_DAB_MP4_DECODE_BS_H
24 
25 #include <grdab/api.h>
26 #include <gnuradio/block.h>
27 #include "neaacdec.h"
28 
29 namespace gr {
30  namespace dab {
31 
32  /*!
33  * \brief DAB+ Audio frame decoder
34  * \ingroup dab
35  *
36  */
37  class DAB_API mp4_decode_bs : virtual public gr::block
38  {
39  public:
40  typedef boost::shared_ptr<mp4_decode_bs> sptr;
41 
42  /*!
43  * \brief Return a shared_ptr to a new instance of dab::mp4_decode_bs.
44  *
45  * To avoid accidental use of raw pointers, dab::mp4_decode_bs's
46  * constructor is in a private implementation
47  * class. dab::mp4_decode_bs::make is the public interface for
48  * creating new instances.
49  */
50  static sptr make(int bit_rate_n);
51 
52  virtual int get_sample_rate() = 0;
53  };
54 
55  } // namespace dab
56 } // namespace gr
57 
58 #endif /* INCLUDED_DAB_MP4_DECODE_BS_H */
59 
gr::dab::mp4_decode_bs
DAB+ Audio frame decoder.
Definition: mp4_decode_bs.h:38
gr::dab::mp4_decode_bs::get_sample_rate
virtual int get_sample_rate()=0
gr::dab::mp4_decode_bs::sptr
boost::shared_ptr< mp4_decode_bs > sptr
Definition: mp4_decode_bs.h:40
neaacdec.h
DAB_API
#define DAB_API
Definition: api.h:31
gr
Definition: complex_to_interleaved_float_vcf.h:28
gr::dab::mp4_decode_bs::make
static sptr make(int bit_rate_n)
Return a shared_ptr to a new instance of dab::mp4_decode_bs.
api.h