g711codec.h
Go to the documentation of this file.
/*
* g711codec.h
*
* Open Phone Abstraction Library (OPAL)
* Formally known as the Open H323 project.
*
* Copyright (c) 2001 Equivalence Pty. Ltd.
*
* The contents of this file are subject to the Mozilla Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
*
* The Original Code is Open Phone Abstraction Library.
*
* The Initial Developer of the Original Code is Equivalence Pty. Ltd.
*
* Contributor(s): ______________________________________.
*
* $Revision: 21988 $
* $Author: rjongbloed $
* $Date: 2009-02-04 00:28:03 -0600 (Wed, 04 Feb 2009) $
*/
#ifndef OPAL_CODEC_G711CODEC_H
#define OPAL_CODEC_G711CODEC_H
#ifdef P_USE_PRAGMA
#pragma interface
#endif
#include <opal/buildopts.h>
#include <opal/transcoders.h>
#include <codec/g711a1_plc.h>
class Opal_G711_PCM : public OpalStreamedTranscoder {
public:
Opal_G711_PCM(const OpalMediaFormat & inputMediaFormat);
#if OPAL_G711PLC
virtual PBoolean Convert(
const RTP_DataFrame & input,
RTP_DataFrame & output
);
protected:
OpalG711_PLC plc;
PINDEX lastPayloadSize;
#endif
};
class Opal_G711_uLaw_PCM : public Opal_G711_PCM {
public:
Opal_G711_uLaw_PCM();
virtual int ConvertOne(int sample) const;
static int ConvertSample(int sample);
};
class Opal_PCM_G711_uLaw : public OpalStreamedTranscoder {
public:
Opal_PCM_G711_uLaw();
virtual int ConvertOne(int sample) const;
static int ConvertSample(int sample);
};
class Opal_G711_ALaw_PCM : public Opal_G711_PCM {
public:
Opal_G711_ALaw_PCM();
virtual int ConvertOne(int sample) const;
static int ConvertSample(int sample);
};
class Opal_PCM_G711_ALaw : public OpalStreamedTranscoder {
public:
Opal_PCM_G711_ALaw();
virtual int ConvertOne(int sample) const;
static int ConvertSample(int sample);
};
#define OPAL_REGISTER_G711() \
OPAL_REGISTER_TRANSCODER(Opal_G711_uLaw_PCM, OpalG711_ULAW_64K, OpalPCM16); \
OPAL_REGISTER_TRANSCODER(Opal_PCM_G711_uLaw, OpalPCM16, OpalG711_ULAW_64K); \
OPAL_REGISTER_TRANSCODER(Opal_G711_ALaw_PCM, OpalG711_ALAW_64K, OpalPCM16); \
OPAL_REGISTER_TRANSCODER(Opal_PCM_G711_ALaw, OpalPCM16, OpalG711_ALAW_64K)
#endif // OPAL_CODEC_G711CODEC_H
Opal_G711_PCM::plc
OpalG711_PLC plc
Definition: g711codec.h:56
OpalG711_PLC
Definition: g711a1_plc.h:46
buildopts.h
Opal_G711_PCM::lastPayloadSize
PINDEX lastPayloadSize
Definition: g711codec.h:57
Opal_PCM_G711_ALaw::ConvertSample
static int ConvertSample(int sample)
OpalStreamedTranscoder
Definition: transcoders.h:459
Opal_G711_ALaw_PCM::Opal_G711_ALaw_PCM
Opal_G711_ALaw_PCM()
Opal_G711_PCM::Opal_G711_PCM
Opal_G711_PCM(const OpalMediaFormat &inputMediaFormat)
Opal_G711_uLaw_PCM::ConvertOne
virtual int ConvertOne(int sample) const
Opal_PCM_G711_ALaw
Definition: g711codec.h:94
RTP_DataFrame
Definition: rtp.h:71
OpalMediaFormat
Definition: mediafmt.h:724
Opal_PCM_G711_ALaw::ConvertOne
virtual int ConvertOne(int sample) const
Opal_PCM_G711_ALaw::Opal_PCM_G711_ALaw
Opal_PCM_G711_ALaw()
transcoders.h
Opal_PCM_G711_uLaw::ConvertOne
virtual int ConvertOne(int sample) const
OpalMediaFormatPair::inputMediaFormat
OpalMediaFormat inputMediaFormat
Definition: transcoders.h:107
Opal_G711_ALaw_PCM::ConvertSample
static int ConvertSample(int sample)
Opal_G711_uLaw_PCM
Definition: g711codec.h:64
Opal_G711_PCM
Definition: g711codec.h:45
g711a1_plc.h
Opal_PCM_G711_uLaw::Opal_PCM_G711_uLaw
Opal_PCM_G711_uLaw()
Opal_G711_ALaw_PCM
Definition: g711codec.h:84
Opal_G711_PCM::Convert
virtual PBoolean Convert(const RTP_DataFrame &input, RTP_DataFrame &output)
Opal_G711_uLaw_PCM::ConvertSample
static int ConvertSample(int sample)
Opal_G711_ALaw_PCM::ConvertOne
virtual int ConvertOne(int sample) const
Opal_PCM_G711_uLaw::ConvertSample
static int ConvertSample(int sample)
Opal_PCM_G711_uLaw
Definition: g711codec.h:74
Opal_G711_uLaw_PCM::Opal_G711_uLaw_PCM
Opal_G711_uLaw_PCM()