3
//=============================================================================
5
// File : DccVoiceCodec.h
6
// Creation date : Sun Aug 26 04:19:34 2001 GMT by Szymon Stefanek
8
// This file is part of the KVIrc irc client distribution
9
// Copyright (C) 2001-2010 Szymon Stefanek (pragma at kvirc dot net)
11
// This program is FREE software. You can redistribute it and/or
12
// modify it under the terms of the GNU General Public License
13
// as published by the Free Software Foundation; either version 2
14
// of the License, or (at your opinion) any later version.
16
// This program is distributed in the HOPE that it will be USEFUL,
17
// but WITHOUT ANY WARRANTY; without even the implied warranty of
18
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
19
// See the GNU General Public License for more details.
21
// You should have received a copy of the GNU General Public License
22
// along with this program. If not, write to the Free Software Foundation,
23
// Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
25
//=============================================================================
27
#include "KviCString.h"
28
#include "KviDataBuffer.h"
30
#ifndef COMPILE_DISABLE_OGG_THEORA
31
#include "KviOggTheoraDecoder.h"
32
#include "KviOggTheoraEncoder.h"
39
virtual ~DccVoiceCodec();
44
virtual void encode(KviDataBuffer * signal,KviDataBuffer * stream);
45
virtual void decode(KviDataBuffer * stream,KviDataBuffer * signal);
46
virtual int encodedFrameSize();
47
virtual int decodedFrameSize();
50
class DccVoiceNullCodec : public DccVoiceCodec
54
virtual ~DccVoiceNullCodec();
56
virtual void encode(KviDataBuffer * signal,KviDataBuffer * stream);
57
virtual void decode(KviDataBuffer * stream,KviDataBuffer * signal);
58
virtual int encodedFrameSize();
59
virtual int decodedFrameSize();
66
virtual ~DccVideoCodec();
71
virtual void encodeVideo(KviDataBuffer * videoSignal, KviDataBuffer * stream);
72
virtual void encodeText(KviDataBuffer * textSignal, KviDataBuffer * stream);
73
virtual void decode(KviDataBuffer * stream,KviDataBuffer * videoSignal,KviDataBuffer * textSignal);
74
virtual int encodedFrameSize();
75
virtual int decodedFrameSize();
78
class DccVideoSJpegCodec : public DccVideoCodec
82
virtual ~DccVideoSJpegCodec();
84
virtual void encodeVideo(KviDataBuffer * videoSignal, KviDataBuffer * stream);
85
virtual void encodeText(KviDataBuffer * textSignal, KviDataBuffer * stream);
86
virtual void decode(KviDataBuffer * stream,KviDataBuffer * videoSignal,KviDataBuffer * textSignal);
87
virtual int encodedFrameSize();
88
virtual int decodedFrameSize();
91
#ifndef COMPILE_DISABLE_OGG_THEORA
92
class DccVideoTheoraCodec : public DccVideoCodec
95
DccVideoTheoraCodec();
96
virtual ~DccVideoTheoraCodec();
98
virtual void encodeVideo(KviDataBuffer * videoSignal, KviDataBuffer * stream);
99
virtual void encodeText(KviDataBuffer * textSignal, KviDataBuffer * stream);
100
virtual void decode(KviDataBuffer * stream,KviDataBuffer * videoSignal,KviDataBuffer * textSignal);
101
virtual int encodedFrameSize();
102
virtual int decodedFrameSize();
104
KviOggTheoraEncoder * m_pEncoder;
105
KviOggTheoraDecoder * m_pDecoder;
107
#endif // COMPILE_DISABLE_OGG_THEORA