Switch to unified view

a b/mpd2src/pcmencoder.h
1
/* Copyright (C) 2015-2018 J.F.Dockes
2
 *   This program is free software; you can redistribute it and/or modify
3
 *   it under the terms of the GNU General Public License as published by
4
 *   the Free Software Foundation; either version 2 of the License, or
5
 *   (at your option) any later version.
6
 *
7
 *   This program is distributed in the hope that it will be useful,
8
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
9
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10
 *   GNU General Public License for more details.
11
 *
12
 *   You should have received a copy of the GNU General Public License
13
 *   along with this program; if not, write to the
14
 *   Free Software Foundation, Inc.,
15
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
16
 */
17
18
#ifndef _PCMENCODER_H_INCLUDED_
19
#define _PCMENCODER_H_INCLUDED_
20
21
#ifdef WITH_OHBUILD
22
#include "OhmSender.h"
23
#else
24
#include <OpenHome/OhmSender.h>
25
#endif
26
27
#include "audioencoder.h"
28
29
using namespace OpenHome;
30
using namespace OpenHome::Av;
31
32
class PcmEncoder : public AudioEncoder {
33
public:
34
    PcmEncoder(AudioReader *audioReader, OhmSenderDriver *ohmSender,
35
               unsigned packetBytes);
36
    ~PcmEncoder();
37
    void start();
38
    int encode(const unsigned char *buffer, unsigned num_bytes, bool halt);
39
    void finish();
40
private:
41
    unsigned m_packetBytes;
42
#ifdef DEBUG_ENCODER
43
    int dumpfd;
44
#endif
45
};
46
47
#endif /* _PCMENCODER_H_INCLUDED_ */