Browse Source

add suport for celt-0.8.x

git-svn-id: svn+ssh://jackaudio.org/trunk/jack@4058 0c269be4-1314-0410-8aa9-9f06e86f4224
tags/0.120.1
torben 14 years ago
parent
commit
190640f851
4 changed files with 41 additions and 18 deletions
  1. +25
    -13
      configure.ac
  2. +3
    -3
      drivers/netjack/netjack.c
  3. +11
    -0
      drivers/netjack/netjack_packet.c
  4. +2
    -2
      tools/netsource.c

+ 25
- 13
configure.ac View File

@@ -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)


+ 3
- 3
drivers/netjack/netjack.c View File

@@ -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


+ 11
- 0
drivers/netjack/netjack_packet.c View File

@@ -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 );


+ 2
- 2
tools/netsource.c View File

@@ -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


Loading…
Cancel
Save