git-svn-id: svn+ssh://jackaudio.org/trunk/jack@4058 0c269be4-1314-0410-8aa9-9f06e86f4224tags/0.120.1
@@ -716,26 +716,38 @@ fi | |||||
# Celt low-latency audio codec. netjack transmission via internet. | # Celt low-latency audio codec. netjack transmission via internet. | ||||
HAVE_CELT=false | HAVE_CELT=false | ||||
PKG_CHECK_MODULES(CELT, celt >= 0.7.0,[HAVE_CELT=true], [true]) | |||||
PKG_CHECK_MODULES(CELT, celt >= 0.8.0,[HAVE_CELT=true], [true]) | |||||
if test x$HAVE_CELT = xfalse; then | if test x$HAVE_CELT = xfalse; then | ||||
PKG_CHECK_MODULES(CELT, celt >= 0.5.0,[HAVE_CELT=true], [true]) | |||||
PKG_CHECK_MODULES(CELT, celt >= 0.7.0,[HAVE_CELT=true], [true]) | |||||
if test x$HAVE_CELT = xfalse; then | if test x$HAVE_CELT = xfalse; then | ||||
AC_DEFINE(HAVE_CELT,0,"Whether CELT is available") | |||||
AC_MSG_RESULT(no) | |||||
AC_MSG_WARN([*** NetJack will not be built with celt support]) | |||||
PKG_CHECK_MODULES(CELT, celt >= 0.5.0,[HAVE_CELT=true], [true]) | |||||
if test x$HAVE_CELT = xfalse; then | |||||
AC_DEFINE(HAVE_CELT,0,"Whether CELT is available") | |||||
AC_MSG_RESULT(no) | |||||
AC_MSG_WARN([*** NetJack will not be built with celt support]) | |||||
else | |||||
AC_DEFINE(HAVE_CELT,1,"Whether CELT is available") | |||||
AC_DEFINE(HAVE_CELT_API_0_5,1,"Whether CELT API is 0.5 API") | |||||
AC_DEFINE(HAVE_CELT_API_0_7,0,"Whether CELT API is 0.7 API") | |||||
AC_DEFINE(HAVE_CELT_API_0_8,0,"Whether CELT API is 0.8 API") | |||||
AC_MSG_RESULT(yes (0.5)) | |||||
NETJACK_LIBS="$NETJACK_LIBS $CELT_LIBS" | |||||
fi | |||||
else | else | ||||
AC_DEFINE(HAVE_CELT,1,"Whether CELT is available") | AC_DEFINE(HAVE_CELT,1,"Whether CELT is available") | ||||
AC_DEFINE(HAVE_CELT_API_0_5,1,"Whether CELT API is 0.5 API") | |||||
AC_DEFINE(HAVE_CELT_API_0_7,0,"Whether CELT API is 0.7 API") | |||||
AC_MSG_RESULT(yes (0.5)) | |||||
AC_MSG_RESULT(yes (0.7)) | |||||
AC_DEFINE(HAVE_CELT_API_0_5,0,"Whether CELT API is 0.5 API") | |||||
AC_DEFINE(HAVE_CELT_API_0_7,1,"Whether CELT API is 0.7 API") | |||||
AC_DEFINE(HAVE_CELT_API_0_8,0,"Whether CELT API is 0.8 API") | |||||
NETJACK_LIBS="$NETJACK_LIBS $CELT_LIBS" | NETJACK_LIBS="$NETJACK_LIBS $CELT_LIBS" | ||||
fi | fi | ||||
else | else | ||||
AC_DEFINE(HAVE_CELT,1,"Whether CELT is available") | |||||
AC_MSG_RESULT(yes (0.7)) | |||||
AC_DEFINE(HAVE_CELT_API_0_5,0,"Whether CELT API is 0.5 API") | |||||
AC_DEFINE(HAVE_CELT_API_0_7,1,"Whether CELT API is 0.7 API") | |||||
NETJACK_LIBS="$NETJACK_LIBS $CELT_LIBS" | |||||
AC_DEFINE(HAVE_CELT,1,"Whether CELT is available") | |||||
AC_MSG_RESULT(yes (0.7)) | |||||
AC_DEFINE(HAVE_CELT_API_0_5,0,"Whether CELT API is 0.5 API") | |||||
AC_DEFINE(HAVE_CELT_API_0_7,0,"Whether CELT API is 0.7 API") | |||||
AC_DEFINE(HAVE_CELT_API_0_8,1,"Whether CELT API is 0.8 API") | |||||
NETJACK_LIBS="$NETJACK_LIBS $CELT_LIBS" | |||||
fi | fi | ||||
AC_SUBST(NETJACK_LIBS) | AC_SUBST(NETJACK_LIBS) | ||||
@@ -373,7 +373,7 @@ void netjack_attach( netjack_driver_state_t *netj ) | |||||
if( netj->bitdepth == CELT_MODE ) | if( netj->bitdepth == CELT_MODE ) | ||||
{ | { | ||||
#if HAVE_CELT | #if HAVE_CELT | ||||
#if HAVE_CELT_API_0_7 | |||||
#if HAVE_CELT_API_0_7 || HAVE_CELT_API_0_8 | |||||
celt_int32 lookahead; | celt_int32 lookahead; | ||||
netj->celt_mode = celt_mode_create( netj->sample_rate, netj->period_size, NULL ); | netj->celt_mode = celt_mode_create( netj->sample_rate, netj->period_size, NULL ); | ||||
#else | #else | ||||
@@ -406,7 +406,7 @@ void netjack_attach( netjack_driver_state_t *netj ) | |||||
if( netj->bitdepth == CELT_MODE ) { | if( netj->bitdepth == CELT_MODE ) { | ||||
#if HAVE_CELT | #if HAVE_CELT | ||||
#if HAVE_CELT_API_0_7 | |||||
#if HAVE_CELT_API_0_7 || HAVE_CELT_API_0_8 | |||||
netj->capture_srcs = jack_slist_append(netj->capture_srcs, celt_decoder_create( netj->celt_mode, 1, NULL ) ); | netj->capture_srcs = jack_slist_append(netj->capture_srcs, celt_decoder_create( netj->celt_mode, 1, NULL ) ); | ||||
#else | #else | ||||
netj->capture_srcs = jack_slist_append(netj->capture_srcs, celt_decoder_create( netj->celt_mode ) ); | netj->capture_srcs = jack_slist_append(netj->capture_srcs, celt_decoder_create( netj->celt_mode ) ); | ||||
@@ -452,7 +452,7 @@ void netjack_attach( netjack_driver_state_t *netj ) | |||||
jack_slist_append (netj->playback_ports, port); | jack_slist_append (netj->playback_ports, port); | ||||
if( netj->bitdepth == CELT_MODE ) { | if( netj->bitdepth == CELT_MODE ) { | ||||
#if HAVE_CELT | #if HAVE_CELT | ||||
#if HAVE_CELT_API_0_7 | |||||
#if HAVE_CELT_API_0_7 || HAVE_CELT_API_0_8 | |||||
CELTMode *celt_mode = celt_mode_create( netj->sample_rate, netj->period_size, NULL ); | CELTMode *celt_mode = celt_mode_create( netj->sample_rate, netj->period_size, NULL ); | ||||
netj->playback_srcs = jack_slist_append(netj->playback_srcs, celt_encoder_create( celt_mode, 1, NULL ) ); | netj->playback_srcs = jack_slist_append(netj->playback_srcs, celt_encoder_create( celt_mode, 1, NULL ) ); | ||||
#else | #else | ||||
@@ -1369,10 +1369,17 @@ render_payload_to_jack_ports_celt (void *packet_payload, jack_nframes_t net_peri | |||||
// audio port, decode celt data. | // audio port, decode celt data. | ||||
CELTDecoder *decoder = src_node->data; | CELTDecoder *decoder = src_node->data; | ||||
#if HAVE_CELT_API_0_8 | |||||
if( !packet_payload ) | |||||
celt_decode_float( decoder, NULL, net_period_down, buf, nframes ); | |||||
else | |||||
celt_decode_float( decoder, packet_bufX, net_period_down, buf, nframes ); | |||||
#else | |||||
if( !packet_payload ) | if( !packet_payload ) | ||||
celt_decode_float( decoder, NULL, net_period_down, buf ); | celt_decode_float( decoder, NULL, net_period_down, buf ); | ||||
else | else | ||||
celt_decode_float( decoder, packet_bufX, net_period_down, buf ); | celt_decode_float( decoder, packet_bufX, net_period_down, buf ); | ||||
#endif | |||||
src_node = jack_slist_next (src_node); | src_node = jack_slist_next (src_node); | ||||
} | } | ||||
@@ -1414,7 +1421,11 @@ render_jack_ports_to_payload_celt (JSList *playback_ports, JSList *playback_srcs | |||||
float *floatbuf = alloca (sizeof(float) * nframes ); | float *floatbuf = alloca (sizeof(float) * nframes ); | ||||
memcpy( floatbuf, buf, nframes*sizeof(float) ); | memcpy( floatbuf, buf, nframes*sizeof(float) ); | ||||
CELTEncoder *encoder = src_node->data; | CELTEncoder *encoder = src_node->data; | ||||
#if HAVE_CELT_API_0_8 | |||||
encoded_bytes = celt_encode_float( encoder, floatbuf, nframes, packet_bufX, net_period_up ); | |||||
#else | |||||
encoded_bytes = celt_encode_float( encoder, floatbuf, NULL, packet_bufX, net_period_up ); | encoded_bytes = celt_encode_float( encoder, floatbuf, NULL, packet_bufX, net_period_up ); | ||||
#endif | |||||
if( encoded_bytes != net_period_up ) | if( encoded_bytes != net_period_up ) | ||||
printf( "something in celt changed. netjack needs to be changed to handle this.\n" ); | printf( "something in celt changed. netjack needs to be changed to handle this.\n" ); | ||||
src_node = jack_slist_next( src_node ); | src_node = jack_slist_next( src_node ); | ||||
@@ -137,7 +137,7 @@ alloc_ports (int n_capture_audio, int n_playback_audio, int n_capture_midi, int | |||||
} | } | ||||
if( bitdepth == 1000 ) { | if( bitdepth == 1000 ) { | ||||
#if HAVE_CELT | #if HAVE_CELT | ||||
#if HAVE_CELT_API_0_7 | |||||
#if HAVE_CELT_API_0_7 || HAVE_CELT_API_0_8 | |||||
CELTMode *celt_mode = celt_mode_create( jack_get_sample_rate( client ), jack_get_buffer_size(client), NULL ); | CELTMode *celt_mode = celt_mode_create( jack_get_sample_rate( client ), jack_get_buffer_size(client), NULL ); | ||||
capture_srcs = jack_slist_append(capture_srcs, celt_decoder_create( celt_mode, 1, NULL ) ); | capture_srcs = jack_slist_append(capture_srcs, celt_decoder_create( celt_mode, 1, NULL ) ); | ||||
#else | #else | ||||
@@ -180,7 +180,7 @@ alloc_ports (int n_capture_audio, int n_playback_audio, int n_capture_midi, int | |||||
} | } | ||||
if( bitdepth == 1000 ) { | if( bitdepth == 1000 ) { | ||||
#if HAVE_CELT | #if HAVE_CELT | ||||
#if HAVE_CELT_API_0_7 | |||||
#if HAVE_CELT_API_0_7 || HAVE_CELT_API_0_8 | |||||
CELTMode *celt_mode = celt_mode_create( jack_get_sample_rate (client), jack_get_buffer_size(client), NULL ); | CELTMode *celt_mode = celt_mode_create( jack_get_sample_rate (client), jack_get_buffer_size(client), NULL ); | ||||
playback_srcs = jack_slist_append(playback_srcs, celt_encoder_create( celt_mode, 1, NULL ) ); | playback_srcs = jack_slist_append(playback_srcs, celt_encoder_create( celt_mode, 1, NULL ) ); | ||||
#else | #else | ||||