Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Open sidebar
savoirfairelinux
jami-daemon
Commits
195430dd
Commit
195430dd
authored
Apr 11, 2012
by
Tristan Matthews
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* #9779: dropped CELT support
parent
c5ec9b7e
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
3 additions
and
211 deletions
+3
-211
daemon/configure.ac
daemon/configure.ac
+0
-31
daemon/src/audio/codecs/Makefile.am
daemon/src/audio/codecs/Makefile.am
+3
-36
daemon/src/audio/codecs/celtcodec.cpp
daemon/src/audio/codecs/celtcodec.cpp
+0
-144
No files found.
daemon/configure.ac
View file @
195430dd
...
...
@@ -193,37 +193,6 @@ AC_SEARCH_LIBS([speex_preprocess_run], [speexdsp], [], [
AC_MSG_ERROR([Unable to find speexdsp development files])
])
# check for libcelt
AC_ARG_WITH([celt], [AS_HELP_STRING([--without-celt],
[disable support for celt codec])], [], [with_celt=yes])
AS_IF([test "x$with_celt" != xno],
[PKG_CHECK_MODULES(CELT, celt >= 0.9.1,
[
with_celt_91=yes; AC_MSG_NOTICE([Using celt 0.9.1])
],
[
PKG_CHECK_MODULES(CELT, celt >= 0.7.1,
[
with_celt_71=yes; AC_MSG_NOTICE([Using celt 0.7.1])
],
[
dnl celt071 is how certain distros package celt
PKG_CHECK_MODULES(CELT, celt071 >= 0.7.1,
[
with_celt_071=yes; AC_MSG_NOTICE([Using celt071])
],
[
AC_MSG_FAILURE([libcelt link test failed. You may use --without-celt to compile without celt codec support.])
])
])
])]
)
AM_CONDITIONAL(BUILD_CELT_91, test "x$with_celt_91" = "xyes" )
AM_CONDITIONAL(BUILD_CELT_71, test "x$with_celt_71" = "xyes" )
AM_CONDITIONAL(BUILD_CELT_071, test "x$with_celt_071" = "xyes" )
dnl Check for IAX
AC_ARG_WITH([iax2], [AS_HELP_STRING([--without-iax2],
[disable support for the iax2 protocol])], [], [with_iax2=yes])
...
...
daemon/src/audio/codecs/Makefile.am
View file @
195430dd
...
...
@@ -41,34 +41,7 @@ libcodec_speex_ub_so_LDADD = libcodecdescriptor.la
INSTALL_SPEEX_UB_RULE
=
install-libcodec_speex_ub_so
endif
if
BUILD_CELT_91
CELT_LIB
=
libcodec_celt.so
libcodec_celt_so_SOURCES
=
celtcodec.cpp
libcodec_celt_so_CXXFLAGS
=
-fPIC
-g
-Wall
-DBUILD_CELT_91
libcodec_celt_so_LDFLAGS
=
--shared
-lc
${CELT_LIBS}
libcodec_celt_so_LDADD
=
libcodecdescriptor.la
INSTALL_CELT_RULE
=
install-libcodec_celt_so
endif
if
BUILD_CELT_71
CELT_LIB
=
libcodec_celt.so
libcodec_celt_so_SOURCES
=
celtcodec.cpp
libcodec_celt_so_CXXFLAGS
=
-fPIC
-g
-Wall
-DBUILD_CELT_71
libcodec_celt_so_LDFLAGS
=
--shared
-lc
${CELT_LIBS}
libcodec_celt_so_LDADD
=
libcodecdescriptor.la
INSTALL_CELT_RULE
=
install-libcodec_celt_so
endif
if
BUILD_CELT_071
CELT_LIB
=
libcodec_celt.so
libcodec_celt_so_SOURCES
=
celtcodec.cpp
libcodec_celt_so_CXXFLAGS
=
-fPIC
-g
-Wall
-DBUILD_CELT_071
-I
${top_srcdir}
/src
libcodec_celt_so_LDFLAGS
=
--shared
-lc
${CELT_LIBS}
libcodec_celt_so_LDADD
=
libcodecdescriptor.la
INSTALL_CELT_RULE
=
install-libcodec_celt_so
endif
noinst_PROGRAMS
=
libcodec_ulaw.so libcodec_alaw.so libcodec_g722.so
$(GSM_LIB)
$(SPEEX_NB_LIB)
$(SPEEX_WB_LIB)
$(SPEEX_UB_LIB)
$(CELT_LIB)
noinst_PROGRAMS
=
libcodec_ulaw.so libcodec_alaw.so libcodec_g722.so
$(GSM_LIB)
$(SPEEX_NB_LIB)
$(SPEEX_WB_LIB)
$(SPEEX_UB_LIB)
noinst_HEADERS
=
audiocodec.h audiocodecfactory.h speexcodec.h g722.h
...
...
@@ -87,8 +60,8 @@ libcodec_g722_so_CXXFLAGS = -fPIC -g -Wall
libcodec_g722_so_LDADD
=
libcodecdescriptor.la
libcodec_g722_so_LDFLAGS
=
--shared
-lc
install-exec-local
:
install-libcodec_ulaw_so install-libcodec_alaw_so install-libcodec_g722_so $(INSTALL_GSM_RULE) $(INSTALL_SPEEX_NB_RULE) $(INSTALL_SPEEX_WB_RULE) $(INSTALL_SPEEX_UB_RULE)
$(INSTALL_CELT_RULE)
$(INSTALL_ILBC_RULE)
uninstall-local
:
uninstall-libcodec_ulaw_so uninstall-libcodec_alaw_so uninstall-libcodec_g722_so uninstall-libcodec_gsm_so uninstall-libcodec_speex_nb_so uninstall-libcodec_speex_wb_so uninstall-libcodec_speex_ub_so
uninstall-libcodec_celt_so
install-exec-local
:
install-libcodec_ulaw_so install-libcodec_alaw_so install-libcodec_g722_so $(INSTALL_GSM_RULE) $(INSTALL_SPEEX_NB_RULE) $(INSTALL_SPEEX_WB_RULE) $(INSTALL_SPEEX_UB_RULE) $(INSTALL_ILBC_RULE)
uninstall-local
:
uninstall-libcodec_ulaw_so uninstall-libcodec_alaw_so uninstall-libcodec_g722_so uninstall-libcodec_gsm_so uninstall-libcodec_speex_nb_so uninstall-libcodec_speex_wb_so uninstall-libcodec_speex_ub_so
install-libcodec_ulaw_so
:
libcodec_ulaw.so
...
...
@@ -112,9 +85,6 @@ install-libcodec_speex_wb_so: libcodec_speex_wb.so
install-libcodec_speex_ub_so
:
libcodec_speex_ub.so
mkdir
-p
$(sflcodecdir)
$(INSTALL_PROGRAM)
libcodec_speex_ub.so
$(sflcodecdir)
install-libcodec_celt_so
:
libcodec_celt.so
mkdir
-p
$(sflcodecdir)
$(INSTALL_PROGRAM)
libcodec_celt.so
$(sflcodecdir)
uninstall-libcodec_ulaw_so
:
rm
-f
$(sflcodecdir)
/libcodec_ulaw.so
...
...
@@ -130,7 +100,4 @@ uninstall-libcodec_speex_wb_so:
rm
-f
$(sflcodecdir)
/libcodec_speex_wb.so
uninstall-libcodec_speex_ub_so
:
rm
-f
$(sflcodecdir)
/libcodec_speex_ub.so
uninstall-libcodec_celt_so
:
rm
-f
$(sflcodecdir)
/libcodec_celt.so
rm
-rf
$(sflcodecdir)
daemon/src/audio/codecs/celtcodec.cpp
deleted
100644 → 0
View file @
c5ec9b7e
/*
* Copyright (C) 2004, 2005, 2006, 2008, 2009, 2010, 2011 Savoir-Faire Linux Inc.
* Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* Additional permission under GNU GPL version 3 section 7:
*
* If you modify this program, or any covered work, by linking or
* combining it with the OpenSSL project's OpenSSL library (or a
* modified version of that library), containing parts covered by the
* terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc.
* grants you additional permission to convey the resulting work.
* Corresponding Source for a non-source form of such a combination
* shall include the source code for the parts of OpenSSL used as well
* as that of the covered work.
*/
#include "audiocodec.h"
#include <cstdio>
#ifdef BUILD_CELT_071
// FIXME: Hack to workaround celt's insufficient pkg-config file
#include <celt071/celt.h>
#else
#include <celt/celt.h>
#endif
#include <stdexcept>
#include "noncopyable.h"
class
Celt
:
public
sfl
::
AudioCodec
{
public:
Celt
(
int
payload
=
115
)
:
sfl
::
AudioCodec
(
payload
,
"celt"
),
mode_
(
0
),
enc_
(
0
),
dec_
(
0
)
{
clockRate_
=
32000
;
frameSize_
=
320
;
// fixed frameSize, TODO: support variable size from 64 to 512
channel_
=
1
;
bitrate_
=
0
;
hasDynamicPayload_
=
true
;
int
error
=
0
;
mode_
=
celt_mode_create
(
clockRate_
,
frameSize_
,
&
error
);
if
(
error
!=
CELT_OK
)
{
switch
(
error
)
{
case
CELT_BAD_ARG
:
throw
std
::
runtime_error
(
"Celt: An (or more) invalid argument (e.g. out of range)
\n
"
);
break
;
case
CELT_INVALID_MODE
:
throw
std
::
runtime_error
(
"Celt: The mode struct passed is invalid
\n
"
);
break
;
case
CELT_INTERNAL_ERROR
:
throw
std
::
runtime_error
(
"Celt: An internal error was detected
\n
"
);
break
;
case
CELT_CORRUPTED_DATA
:
throw
std
::
runtime_error
(
"Celt: The data passed (e.g. compressed data to decoder) is corrupted
\n
"
);
break
;
case
CELT_UNIMPLEMENTED
:
throw
std
::
runtime_error
(
"Celt: Invalid/unsupported request numbe
\n
"
);
break
;
case
CELT_INVALID_STATE
:
throw
std
::
runtime_error
(
"Celt: An encoder or decoder structure is invalid or already freed
\n
"
);
break
;
case
CELT_ALLOC_FAIL
:
throw
std
::
runtime_error
(
"Celt: Memory allocation has failed
\n
"
);
break
;
default:
throw
std
::
runtime_error
(
"Celt: Unknown error"
);
}
}
if
(
mode_
==
NULL
)
throw
std
::
runtime_error
(
"Celt: Failed to create Celt mode"
);
enc_
=
celt_encoder_create
(
mode_
,
channel_
,
&
error
);
dec_
=
celt_decoder_create
(
mode_
,
channel_
,
&
error
);
celt_encoder_ctl
(
enc_
,
CELT_SET_COMPLEXITY
(
2
));
celt_decoder_ctl
(
dec_
,
CELT_SET_COMPLEXITY
(
2
));
celt_encoder_ctl
(
enc_
,
CELT_SET_PREDICTION
(
2
));
celt_decoder_ctl
(
dec_
,
CELT_SET_PREDICTION
(
2
));
}
NON_COPYABLE
(
Celt
);
~
Celt
()
{
celt_encoder_destroy
(
enc_
);
celt_decoder_destroy
(
dec_
);
celt_mode_destroy
(
mode_
);
}
virtual
int
decode
(
short
*
dst
,
unsigned
char
*
src
,
size_t
buf_size
)
{
#ifdef BUILD_CELT_91 // == 91
celt_decode
(
dec_
,
src
,
buf_size
,
(
celt_int16
*
)
dst
,
frameSize_
);
#endif
#ifdef BUILD_CELT_71
celt_decode
(
dec_
,
src
,
buf_size
,
(
celt_int16
*
)
dst
);
#endif
return
frameSize_
;
}
virtual
int
encode
(
unsigned
char
*
dst
,
short
*
src
,
size_t
buf_size
)
{
int
len
=
0
;
#ifdef BUILD_CELT_91// == 91
len
=
celt_encode
(
enc_
,
(
celt_int16
*
)
src
,
frameSize_
,
dst
,
buf_size
);
#endif
#ifdef BUILD_CELT_71
len
=
celt_encode
(
enc_
,
(
celt_int16
*
)
src
,
(
celt_int16
*
)
src
,
dst
,
buf_size
);
#endif
return
len
;
}
private:
CELTMode
*
mode_
;
CELTEncoder
*
enc_
;
CELTDecoder
*
dec_
;
};
// the class factories
// cppcheck-suppress unusedFunction
extern
"C"
sfl
::
Codec
*
create
()
{
return
new
Celt
(
115
);
}
// cppcheck-suppress unusedFunction
extern
"C"
void
destroy
(
sfl
::
Codec
*
a
)
{
delete
a
;
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment