summaryrefslogtreecommitdiff
path: root/orkbasecxx
diff options
context:
space:
mode:
authorGerald Begumisa <ben_g@users.sourceforge.net>2009-01-15 14:49:54 +0000
committerGerald Begumisa <ben_g@users.sourceforge.net>2009-01-15 14:49:54 +0000
commitf8b12e6f3c5cdf3eee5368ef71a85c0e0ae05ecb (patch)
tree4d739a99b62d2c335ccf39d87027f6dd7f74f95a /orkbasecxx
parent66a503098b38b2ee2c6f58cf8b3548ef003ea99b (diff)
Modified the G722 decoder such that it is not compiled as a separate Orkaudio plugin but is linked to orkbase. In addition, modified the G722 decoder to meet the same coding style as the other codecs (Ilbc and Gsm). This has so far been tested on Linux.
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@594 09dcff7a-b715-0410-9601-b79a96267cd0
Diffstat (limited to 'orkbasecxx')
-rw-r--r--orkbasecxx/Makefile.am3
-rw-r--r--orkbasecxx/filters/g722codec/G722Codec.cpp60
-rw-r--r--orkbasecxx/filters/g722codec/G722Codec.h6
-rw-r--r--orkbasecxx/filters/g722codec/Makefile.am11
4 files changed, 27 insertions, 53 deletions
diff --git a/orkbasecxx/Makefile.am b/orkbasecxx/Makefile.am
index b985cfe..95ad73f 100644
--- a/orkbasecxx/Makefile.am
+++ b/orkbasecxx/Makefile.am
@@ -25,7 +25,8 @@ liborkbase_la_LIBADD = $(top_builddir)/serializers/libserializers.la \
$(top_builddir)/filters/gsm/gsm610/libgsm610.la \
$(top_builddir)/filters/ilbc/libilbc.la \
$(top_builddir)/filters/ilbc/ilbc/libilbcrfc.la \
- $(top_builddir)/filters/audiogain/libaudiogain.la
+ $(top_builddir)/filters/audiogain/libaudiogain.la \
+ $(top_builddir)/filters/g722codec/libg722codec.la
-lm
AM_CXXFLAGS = -D_REENTRANT
diff --git a/orkbasecxx/filters/g722codec/G722Codec.cpp b/orkbasecxx/filters/g722codec/G722Codec.cpp
index d2a72b7..5a59e1e 100644
--- a/orkbasecxx/filters/g722codec/G722Codec.cpp
+++ b/orkbasecxx/filters/g722codec/G722Codec.cpp
@@ -16,34 +16,25 @@
#include "G722Codec.h"
-static log4cxx::LoggerPtr s_log;
-static bool s_initialized = false;
-
-G722Decoder::G722Decoder()
-{
-#ifdef WIN32
- if(s_initialized == false)
- {
- s_log = log4cxx::Logger::getLogger("codec.g722");
- }
-#endif
+G722ToPcmFilter::G722ToPcmFilter()
+{
// Initialize decoder
memset(&m_ctx, 0, sizeof(m_ctx));
g722_decode_init(&m_ctx, 64000, G722_SAMPLE_RATE_8000);
}
-G722Decoder::~G722Decoder()
+G722ToPcmFilter::~G722ToPcmFilter()
{
memset(&m_ctx, 0, sizeof(m_ctx));
}
-FilterRef G722Decoder::Instanciate()
+FilterRef G722ToPcmFilter::Instanciate()
{
- FilterRef Filter(new G722Decoder());
+ FilterRef Filter(new G722ToPcmFilter());
return Filter;
}
-void G722Decoder::AudioChunkIn(AudioChunkRef& inputAudioChunk)
+void G722ToPcmFilter::AudioChunkIn(AudioChunkRef& inputAudioChunk)
{
int in_samples = 0;
int out_samples = 0;
@@ -82,56 +73,43 @@ void G722Decoder::AudioChunkIn(AudioChunkRef& inputAudioChunk)
memcpy(outputBuffer, pcmdata, out_samples*2);
}
-void G722Decoder::AudioChunkOut(AudioChunkRef& chunk)
+void G722ToPcmFilter::AudioChunkOut(AudioChunkRef& chunk)
{
chunk = m_outputAudioChunk;
}
-AudioEncodingEnum G722Decoder::GetInputAudioEncoding()
+AudioEncodingEnum G722ToPcmFilter::GetInputAudioEncoding()
{
return G722Audio;
}
-AudioEncodingEnum G722Decoder::GetOutputAudioEncoding()
+AudioEncodingEnum G722ToPcmFilter::GetOutputAudioEncoding()
{
return PcmAudio;
}
-CStdString G722Decoder::GetName()
+CStdString G722ToPcmFilter::GetName()
{
return "G722ToPcm";
}
-int G722Decoder::GetInputRtpPayloadType(void)
+int G722ToPcmFilter::GetInputRtpPayloadType(void)
{
return 9;
}
-void G722Decoder::CaptureEventIn(CaptureEventRef& event)
+void G722ToPcmFilter::CaptureEventIn(CaptureEventRef& event)
{
;
}
-void G722Decoder::CaptureEventOut(CaptureEventRef& event)
+void G722ToPcmFilter::CaptureEventOut(CaptureEventRef& event)
{
;
}
//=====================================================================
-extern "C"
-{
- DLL_EXPORT void __CDECL__ OrkInitialize()
- {
- s_log = log4cxx::Logger::getLogger("codec.g722");
-
- FilterRef filter(new G722Decoder());
- FilterRegistry::instance()->RegisterFilter(filter);
-
- LOG4CXX_INFO(s_log, "G.722 codec plugin initialized.");
- }
-}
-
/*
* SpanDSP - a series of DSP components for telephony
*
@@ -157,9 +135,9 @@ extern "C"
/*! \file */
-#include <stdio.h>
+#include <stdio.h>
#ifndef WIN32
-#include <inttypes.h>
+#include <inttypes.h>
#endif
#include <memory.h>
#include <stdlib.h>
@@ -174,10 +152,10 @@ extern "C"
#define TRUE (!FALSE)
#endif
-#ifdef WIN32
-static inline int16_t saturate(int32_t amp)
-#else
-static __inline__ int16_t saturate(int32_t amp)
+#ifdef WIN32
+static inline int16_t saturate(int32_t amp)
+#else
+static __inline__ int16_t saturate(int32_t amp)
#endif
{
int16_t amp16;
diff --git a/orkbasecxx/filters/g722codec/G722Codec.h b/orkbasecxx/filters/g722codec/G722Codec.h
index 2b1fc26..4329384 100644
--- a/orkbasecxx/filters/g722codec/G722Codec.h
+++ b/orkbasecxx/filters/g722codec/G722Codec.h
@@ -17,11 +17,11 @@
#include "Filter.h"
#include "G722.h"
-class DLL_IMPORT_EXPORT_ORKBASE G722Decoder : public Filter
+class DLL_IMPORT_EXPORT_ORKBASE G722ToPcmFilter : public Filter
{
public:
- G722Decoder();
- ~G722Decoder();
+ G722ToPcmFilter();
+ ~G722ToPcmFilter();
FilterRef __CDECL__ Instanciate();
void __CDECL__ AudioChunkIn(AudioChunkRef& chunk);
diff --git a/orkbasecxx/filters/g722codec/Makefile.am b/orkbasecxx/filters/g722codec/Makefile.am
index d6f7fef..9ff6ccf 100644
--- a/orkbasecxx/filters/g722codec/Makefile.am
+++ b/orkbasecxx/filters/g722codec/Makefile.am
@@ -1,12 +1,7 @@
+METASOURCES = AUTO
SUBDIRS =
-
-plugindir= $(prefix)/lib/orkaudio/plugins
-plugin_LTLIBRARIES = libg722codec.la
+noinst_LTLIBRARIES = libg722codec.la
libg722codec_la_SOURCES = G722Codec.cpp
-AM_CFLAGS = -D__unix__ -Dlinux -DNDEBUG -DNO_SCRATCH_MEMORY_USED -DLINUX32 -Dlinux32
-AM_CPPFLAGS = -D_REENTRANT -D__unix__ -Dlinux -DNDEBUG -DNO_SCRATCH_MEMORY_USED -DLINUX32 -Dlinux32
-libg722codec_la_LDFLAGS = -module
-libg722codec_la_LIBADD = -lACE -lxerces-c -llog4cxx -lorkbase \
- -lpthread -lm
INCLUDES = -I@top_srcdir@ -I../..
+AM_CXXFLAGS = -D_REENTRANT