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.
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
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
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
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"
fi
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

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 HAVE_CELT
#if HAVE_CELT_API_0_7
#if HAVE_CELT_API_0_7 || HAVE_CELT_API_0_8
celt_int32 lookahead;
netj->celt_mode = celt_mode_create( netj->sample_rate, netj->period_size, NULL );
#else
@@ -406,7 +406,7 @@ void netjack_attach( netjack_driver_state_t *netj )

if( netj->bitdepth == CELT_MODE ) {
#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 ) );
#else
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);
if( netj->bitdepth == CELT_MODE ) {
#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 );
netj->playback_srcs = jack_slist_append(netj->playback_srcs, celt_encoder_create( celt_mode, 1, NULL ) );
#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.

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 )
celt_decode_float( decoder, NULL, net_period_down, buf );
else
celt_decode_float( decoder, packet_bufX, net_period_down, buf );
#endif

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 );
memcpy( floatbuf, buf, nframes*sizeof(float) );
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 );
#endif
if( encoded_bytes != net_period_up )
printf( "something in celt changed. netjack needs to be changed to handle this.\n" );
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 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 );
capture_srcs = jack_slist_append(capture_srcs, celt_decoder_create( celt_mode, 1, NULL ) );
#else
@@ -180,7 +180,7 @@ alloc_ports (int n_capture_audio, int n_playback_audio, int n_capture_midi, int
}
if( bitdepth == 1000 ) {
#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 );
playback_srcs = jack_slist_append(playback_srcs, celt_encoder_create( celt_mode, 1, NULL ) );
#else


Loading…
Cancel
Save