On Wed, 01 Dec 2010, Christian Weisgerber wrote:

> David Coppa <dco...@gmail.com> wrote:
> 
> > This is a port for the CELT codec from the Xiph.Org Foundation.
> > It's a dependency needed by my work on the Mumble/Murmur audio chat 
> > system.
> 
> Where does patch-libcelt_pitch_c come from?  Is this a post-0.9.1 fix
> from upstream?

Yes, I've added a comment to the patch.

> tools/celtdec.c could use sndio support.  Isn't this the same code
> as in speexdec?  Can you reuse the sndio patch from there?

Oh, Thanks... This did the trick.

> 
> Why REGRESS_IS_INTERACTIVE?

Because I'm a moron :)

> tandem-test fails every time for me (I only tried amd64), although
> not always with the same error.

Upstream said "that one is more a problem with the test than with 
CELT itself."
See: http://lists.xiph.org/pipermail/celt-dev/2010-November/000519.html

For now, I've zapped "tandem-test" from tests Makefile.

The new port's tarball is attached.

Also, as pointed out by Jacob, audio/jack requires a special treatment.
I'm attaching two patches, one that adds proper support for celt and 
one that disables it unconditionally: what do you prefer to do?

Cheers, 
David

--- NO CELT ---

Index: Makefile
===================================================================
RCS file: /cvs/ports/audio/jack/Makefile,v
retrieving revision 1.17
diff -u -p -r1.17 Makefile
--- Makefile    23 Nov 2010 18:14:02 -0000      1.17
+++ Makefile    2 Dec 2010 10:10:36 -0000
@@ -7,7 +7,7 @@ COMMENT =               low latency sound server
 V =                    0.116.1
 DISTNAME =             jack-audio-connection-kit-${V}
 PKGNAME =              jack-${V}
-REVISION =             6
+REVISION =             7
 
 SHARED_LIBS +=         jack            0.0     # 0.28
 SHARED_LIBS +=         jackserver      0.0     # 0.28
Index: patches/patch-configure_ac
===================================================================
RCS file: /cvs/ports/audio/jack/patches/patch-configure_ac,v
retrieving revision 1.5
diff -u -p -r1.5 patch-configure_ac
--- patches/patch-configure_ac  12 Jan 2009 10:45:01 -0000      1.5
+++ patches/patch-configure_ac  2 Dec 2010 10:10:36 -0000
@@ -1,7 +1,7 @@
 $OpenBSD: patch-configure_ac,v 1.5 2009/01/12 10:45:01 jakemsr Exp $
---- configure.ac.orig  Sat Dec  6 01:32:50 2008
-+++ configure.ac       Mon Jan 12 02:27:57 2009
-@@ -655,9 +655,6 @@ HAVE_SAMPLERATE=false
+--- configure.ac.orig  Sat Dec  6 10:32:50 2008
++++ configure.ac       Thu Dec  2 11:06:17 2010
+@@ -655,14 +655,11 @@ HAVE_SAMPLERATE=false
  PKG_CHECK_MODULES(SAMPLERATE, samplerate >= 0.1.2,[HAVE_SAMPLERATE=true], 
[true])
  if test x$HAVE_SAMPLERATE = xfalse; then
          AC_MSG_WARN([*** the NetJack backend and internal client will not be 
built])
@@ -11,6 +11,12 @@ $OpenBSD: patch-configure_ac,v 1.5 2009/
  fi
  
  # Celt low-latency audio codec. netjack transmission via internet.
+ HAVE_CELT=false
+-PKG_CHECK_MODULES(CELT, celt >= 0.5.0,[HAVE_CELT=true], [true])
++# 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)
 @@ -680,7 +677,7 @@ fi
  
  # Check which backend drivers can be built.  The last one successfully

--- WITH CELT SUPPORT ---

Index: Makefile
===================================================================
RCS file: /cvs/ports/audio/jack/Makefile,v
retrieving revision 1.17
diff -u -p -r1.17 Makefile
--- Makefile    23 Nov 2010 18:14:02 -0000      1.17
+++ Makefile    2 Dec 2010 09:57:31 -0000
@@ -7,7 +7,7 @@ COMMENT =               low latency sound server
 V =                    0.116.1
 DISTNAME =             jack-audio-connection-kit-${V}
 PKGNAME =              jack-${V}
-REVISION =             6
+REVISION =             7
 
 SHARED_LIBS +=         jack            0.0     # 0.28
 SHARED_LIBS +=         jackserver      0.0     # 0.28
@@ -23,12 +23,14 @@ PERMIT_PACKAGE_FTP =        Yes
 PERMIT_DISTFILES_CDROM = Yes
 PERMIT_DISTFILES_FTP = Yes
 
-WANTLIB += c m pthread readline sndio termcap sndfile>=1 samplerate>=1
+WANTLIB +=             c celt0 m pthread readline sndio termcap \
+                       sndfile>=1 samplerate>=1
 
 MASTER_SITES =         ${HOMEPAGE}downloads/
 
-LIB_DEPENDS =          audio/libsndfile \
-                       audio/libsamplerate
+LIB_DEPENDS =          audio/celt \
+                       audio/libsamplerate \
+                       audio/libsndfile
 
 # uses macros from libtool.m4
 BUILD_DEPENDS =                devel/libtool
Index: patches/patch-drivers_netjack_net_driver_c
===================================================================
RCS file: /cvs/ports/audio/jack/patches/patch-drivers_netjack_net_driver_c,v
retrieving revision 1.2
diff -u -p -r1.2 patch-drivers_netjack_net_driver_c
--- patches/patch-drivers_netjack_net_driver_c  7 Jun 2010 01:44:38 -0000       
1.2
+++ patches/patch-drivers_netjack_net_driver_c  2 Dec 2010 09:57:31 -0000
@@ -1,6 +1,6 @@
 $OpenBSD: patch-drivers_netjack_net_driver_c,v 1.2 2010/06/07 01:44:38 jakemsr 
Exp $
 --- drivers/netjack/net_driver.c.orig  Sat Dec  6 11:43:36 2008
-+++ drivers/netjack/net_driver.c       Wed May 19 21:19:00 2010
++++ drivers/netjack/net_driver.c       Thu Dec  2 10:22:52 2010
 @@ -334,14 +334,17 @@ net_driver_null_cycle (net_driver_t* driver, jack_nfra
      // TODO: talk to paul about this.
      //       do i wait here ?
@@ -56,3 +56,25 @@ $OpenBSD: patch-drivers_netjack_net_driv
        static const int flag = 0;
  #else
        static const int flag = MSG_CONFIRM;
+@@ -545,8 +549,8 @@ net_driver_attach (net_driver_t *driver)
+       if( driver->bitdepth == 1000 ) {
+ #if HAVE_CELT
+           // XXX: memory leak
+-          CELTMode *celt_mode = celt_mode_create( driver->sample_rate, 1, 
driver->period_size, NULL );
+-          driver->capture_srcs = jack_slist_append(driver->capture_srcs, 
celt_decoder_create( celt_mode ) );
++          CELTMode *celt_mode = celt_mode_create( driver->sample_rate, 
driver->period_size, NULL );
++          driver->capture_srcs = jack_slist_append(driver->capture_srcs, 
celt_decoder_create( celt_mode, 1, NULL ) );
+ #endif
+       } else {
+           driver->capture_srcs = jack_slist_append(driver->capture_srcs, 
src_new(SRC_LINEAR, 1, NULL));
+@@ -587,8 +591,8 @@ net_driver_attach (net_driver_t *driver)
+       if( driver->bitdepth == 1000 ) {
+ #if HAVE_CELT
+           // XXX: memory leak
+-          CELTMode *celt_mode = celt_mode_create( driver->sample_rate, 1, 
driver->period_size, NULL );
+-          driver->playback_srcs = jack_slist_append(driver->playback_srcs, 
celt_encoder_create( celt_mode ) );
++          CELTMode *celt_mode = celt_mode_create( driver->sample_rate, 
driver->period_size, NULL );
++          driver->playback_srcs = jack_slist_append(driver->playback_srcs, 
celt_encoder_create( celt_mode, 1, NULL ) );
+ #endif
+       } else {
+           driver->playback_srcs = jack_slist_append(driver->playback_srcs, 
src_new(SRC_LINEAR, 1, NULL));
Index: patches/patch-drivers_netjack_netjack_packet_c
===================================================================
RCS file: /cvs/ports/audio/jack/patches/patch-drivers_netjack_netjack_packet_c,v
retrieving revision 1.1
diff -u -p -r1.1 patch-drivers_netjack_netjack_packet_c
--- patches/patch-drivers_netjack_netjack_packet_c      7 Jun 2010 01:44:38 
-0000       1.1
+++ patches/patch-drivers_netjack_netjack_packet_c      2 Dec 2010 09:57:31 
-0000
@@ -1,6 +1,6 @@
 $OpenBSD: patch-drivers_netjack_netjack_packet_c,v 1.1 2010/06/07 01:44:38 
jakemsr Exp $
---- drivers/netjack/netjack_packet.c.orig      Wed May 19 21:19:11 2010
-+++ drivers/netjack/netjack_packet.c   Wed May 19 21:32:41 2010
+--- drivers/netjack/netjack_packet.c.orig      Fri Dec  5 21:47:15 2008
++++ drivers/netjack/netjack_packet.c   Thu Dec  2 10:28:48 2010
 @@ -672,13 +672,15 @@ packet_cache_find_latency( packet_cache *pcache, jack_
  int
  netjack_recvfrom (int sockfd, char *packet_buf, int pkt_size, int flags, 
struct sockaddr *addr, socklen_t *addr_size, int mtu)
@@ -127,3 +127,24 @@ $OpenBSD: patch-drivers_netjack_netjack_
              memcpy (tmpbuff, event.buffer, event.size);
              written += nb_data_quads;
          }
+@@ -1260,9 +1271,9 @@ render_payload_to_jack_ports_celt (void *packet_payloa
+           
+           CELTDecoder *decoder = src_node->data;
+           if( !packet_payload )
+-              celt_decode_float( decoder, NULL, net_period_down, buf );
++              celt_decode_float( decoder, NULL, net_period_down, buf, nframes 
);
+           else
+-              celt_decode_float( decoder, packet_bufX, net_period_down, buf );
++              celt_decode_float( decoder, packet_bufX, net_period_down, buf, 
nframes );
+ 
+           src_node = jack_slist_next (src_node);
+         }
+@@ -1304,7 +1315,7 @@ render_jack_ports_to_payload_celt (JSList *playback_po
+           float *floatbuf = alloca (sizeof(float) * nframes );
+           memcpy( floatbuf, buf, nframes*sizeof(float) );
+           CELTEncoder *encoder = src_node->data;
+-          encoded_bytes = celt_encode_float( encoder, floatbuf, NULL, 
packet_bufX, net_period_up );
++          encoded_bytes = celt_encode_float( encoder, floatbuf, nframes, 
packet_bufX, net_period_up );
+           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 );
Index: patches/patch-tools_netsource_c
===================================================================
RCS file: /cvs/ports/audio/jack/patches/patch-tools_netsource_c,v
retrieving revision 1.4
diff -u -p -r1.4 patch-tools_netsource_c
--- patches/patch-tools_netsource_c     7 Jun 2010 01:44:38 -0000       1.4
+++ patches/patch-tools_netsource_c     2 Dec 2010 09:57:31 -0000
@@ -1,6 +1,28 @@
 $OpenBSD: patch-tools_netsource_c,v 1.4 2010/06/07 01:44:38 jakemsr Exp $
---- tools/netsource.c.orig     Wed May 19 21:35:48 2010
-+++ tools/netsource.c  Wed May 19 21:38:07 2010
+--- tools/netsource.c.orig     Thu Dec  2 10:13:18 2010
++++ tools/netsource.c  Thu Dec  2 10:14:11 2010
+@@ -121,8 +121,8 @@ alloc_ports (int n_capture_audio, int n_playback_audio
+       if( bitdepth == 1000 ) {
+ #if HAVE_CELT
+           // XXX: memory leak
+-          CELTMode *celt_mode = celt_mode_create( jack_get_sample_rate( 
client ), 1, jack_get_buffer_size(client), NULL );
+-          capture_srcs = jack_slist_append(capture_srcs, celt_decoder_create( 
celt_mode ) );
++          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 ) );
+ #endif
+       } else {
+           capture_srcs = jack_slist_append (capture_srcs, src_new 
(SRC_LINEAR, 1, NULL));
+@@ -158,8 +158,8 @@ alloc_ports (int n_capture_audio, int n_playback_audio
+       if( bitdepth == 1000 ) {
+ #if HAVE_CELT
+           // XXX: memory leak
+-          CELTMode *celt_mode = celt_mode_create( jack_get_sample_rate 
(client), 1, jack_get_buffer_size(client), NULL );
+-          playback_srcs = jack_slist_append(playback_srcs, 
celt_encoder_create( celt_mode ) );
++          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 ) );
+ #endif
+       } else {
+           playback_srcs = jack_slist_append (playback_srcs, src_new 
(SRC_LINEAR, 1, NULL));
 @@ -230,6 +230,7 @@ process (jack_nframes_t nframes, void *arg)
  
      uint32_t *packet_buf, *packet_bufX;

Attachment: celt_2nd.tgz
Description: application/tar-gz

Index: Makefile
===================================================================
RCS file: /cvs/ports/audio/jack/Makefile,v
retrieving revision 1.17
diff -u -p -r1.17 Makefile
--- Makefile    23 Nov 2010 18:14:02 -0000      1.17
+++ Makefile    2 Dec 2010 10:10:36 -0000
@@ -7,7 +7,7 @@ COMMENT =               low latency sound server
 V =                    0.116.1
 DISTNAME =             jack-audio-connection-kit-${V}
 PKGNAME =              jack-${V}
-REVISION =             6
+REVISION =             7
 
 SHARED_LIBS +=         jack            0.0     # 0.28
 SHARED_LIBS +=         jackserver      0.0     # 0.28
Index: patches/patch-configure_ac
===================================================================
RCS file: /cvs/ports/audio/jack/patches/patch-configure_ac,v
retrieving revision 1.5
diff -u -p -r1.5 patch-configure_ac
--- patches/patch-configure_ac  12 Jan 2009 10:45:01 -0000      1.5
+++ patches/patch-configure_ac  2 Dec 2010 10:10:36 -0000
@@ -1,7 +1,7 @@
 $OpenBSD: patch-configure_ac,v 1.5 2009/01/12 10:45:01 jakemsr Exp $
---- configure.ac.orig  Sat Dec  6 01:32:50 2008
-+++ configure.ac       Mon Jan 12 02:27:57 2009
-@@ -655,9 +655,6 @@ HAVE_SAMPLERATE=false
+--- configure.ac.orig  Sat Dec  6 10:32:50 2008
++++ configure.ac       Thu Dec  2 11:06:17 2010
+@@ -655,14 +655,11 @@ HAVE_SAMPLERATE=false
  PKG_CHECK_MODULES(SAMPLERATE, samplerate >= 0.1.2,[HAVE_SAMPLERATE=true], 
[true])
  if test x$HAVE_SAMPLERATE = xfalse; then
          AC_MSG_WARN([*** the NetJack backend and internal client will not be 
built])
@@ -11,6 +11,12 @@ $OpenBSD: patch-configure_ac,v 1.5 2009/
  fi
  
  # Celt low-latency audio codec. netjack transmission via internet.
+ HAVE_CELT=false
+-PKG_CHECK_MODULES(CELT, celt >= 0.5.0,[HAVE_CELT=true], [true])
++# 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)
 @@ -680,7 +677,7 @@ fi
  
  # Check which backend drivers can be built.  The last one successfully
Index: Makefile
===================================================================
RCS file: /cvs/ports/audio/jack/Makefile,v
retrieving revision 1.17
diff -u -p -r1.17 Makefile
--- Makefile    23 Nov 2010 18:14:02 -0000      1.17
+++ Makefile    2 Dec 2010 09:57:31 -0000
@@ -7,7 +7,7 @@ COMMENT =               low latency sound server
 V =                    0.116.1
 DISTNAME =             jack-audio-connection-kit-${V}
 PKGNAME =              jack-${V}
-REVISION =             6
+REVISION =             7
 
 SHARED_LIBS +=         jack            0.0     # 0.28
 SHARED_LIBS +=         jackserver      0.0     # 0.28
@@ -23,12 +23,14 @@ PERMIT_PACKAGE_FTP =        Yes
 PERMIT_DISTFILES_CDROM = Yes
 PERMIT_DISTFILES_FTP = Yes
 
-WANTLIB += c m pthread readline sndio termcap sndfile>=1 samplerate>=1
+WANTLIB +=             c celt0 m pthread readline sndio termcap \
+                       sndfile>=1 samplerate>=1
 
 MASTER_SITES =         ${HOMEPAGE}downloads/
 
-LIB_DEPENDS =          audio/libsndfile \
-                       audio/libsamplerate
+LIB_DEPENDS =          audio/celt \
+                       audio/libsamplerate \
+                       audio/libsndfile
 
 # uses macros from libtool.m4
 BUILD_DEPENDS =                devel/libtool
Index: patches/patch-drivers_netjack_net_driver_c
===================================================================
RCS file: /cvs/ports/audio/jack/patches/patch-drivers_netjack_net_driver_c,v
retrieving revision 1.2
diff -u -p -r1.2 patch-drivers_netjack_net_driver_c
--- patches/patch-drivers_netjack_net_driver_c  7 Jun 2010 01:44:38 -0000       
1.2
+++ patches/patch-drivers_netjack_net_driver_c  2 Dec 2010 09:57:31 -0000
@@ -1,6 +1,6 @@
 $OpenBSD: patch-drivers_netjack_net_driver_c,v 1.2 2010/06/07 01:44:38 jakemsr 
Exp $
 --- drivers/netjack/net_driver.c.orig  Sat Dec  6 11:43:36 2008
-+++ drivers/netjack/net_driver.c       Wed May 19 21:19:00 2010
++++ drivers/netjack/net_driver.c       Thu Dec  2 10:22:52 2010
 @@ -334,14 +334,17 @@ net_driver_null_cycle (net_driver_t* driver, jack_nfra
      // TODO: talk to paul about this.
      //       do i wait here ?
@@ -56,3 +56,25 @@ $OpenBSD: patch-drivers_netjack_net_driv
        static const int flag = 0;
  #else
        static const int flag = MSG_CONFIRM;
+@@ -545,8 +549,8 @@ net_driver_attach (net_driver_t *driver)
+       if( driver->bitdepth == 1000 ) {
+ #if HAVE_CELT
+           // XXX: memory leak
+-          CELTMode *celt_mode = celt_mode_create( driver->sample_rate, 1, 
driver->period_size, NULL );
+-          driver->capture_srcs = jack_slist_append(driver->capture_srcs, 
celt_decoder_create( celt_mode ) );
++          CELTMode *celt_mode = celt_mode_create( driver->sample_rate, 
driver->period_size, NULL );
++          driver->capture_srcs = jack_slist_append(driver->capture_srcs, 
celt_decoder_create( celt_mode, 1, NULL ) );
+ #endif
+       } else {
+           driver->capture_srcs = jack_slist_append(driver->capture_srcs, 
src_new(SRC_LINEAR, 1, NULL));
+@@ -587,8 +591,8 @@ net_driver_attach (net_driver_t *driver)
+       if( driver->bitdepth == 1000 ) {
+ #if HAVE_CELT
+           // XXX: memory leak
+-          CELTMode *celt_mode = celt_mode_create( driver->sample_rate, 1, 
driver->period_size, NULL );
+-          driver->playback_srcs = jack_slist_append(driver->playback_srcs, 
celt_encoder_create( celt_mode ) );
++          CELTMode *celt_mode = celt_mode_create( driver->sample_rate, 
driver->period_size, NULL );
++          driver->playback_srcs = jack_slist_append(driver->playback_srcs, 
celt_encoder_create( celt_mode, 1, NULL ) );
+ #endif
+       } else {
+           driver->playback_srcs = jack_slist_append(driver->playback_srcs, 
src_new(SRC_LINEAR, 1, NULL));
Index: patches/patch-drivers_netjack_netjack_packet_c
===================================================================
RCS file: /cvs/ports/audio/jack/patches/patch-drivers_netjack_netjack_packet_c,v
retrieving revision 1.1
diff -u -p -r1.1 patch-drivers_netjack_netjack_packet_c
--- patches/patch-drivers_netjack_netjack_packet_c      7 Jun 2010 01:44:38 
-0000       1.1
+++ patches/patch-drivers_netjack_netjack_packet_c      2 Dec 2010 09:57:31 
-0000
@@ -1,6 +1,6 @@
 $OpenBSD: patch-drivers_netjack_netjack_packet_c,v 1.1 2010/06/07 01:44:38 
jakemsr Exp $
---- drivers/netjack/netjack_packet.c.orig      Wed May 19 21:19:11 2010
-+++ drivers/netjack/netjack_packet.c   Wed May 19 21:32:41 2010
+--- drivers/netjack/netjack_packet.c.orig      Fri Dec  5 21:47:15 2008
++++ drivers/netjack/netjack_packet.c   Thu Dec  2 10:28:48 2010
 @@ -672,13 +672,15 @@ packet_cache_find_latency( packet_cache *pcache, jack_
  int
  netjack_recvfrom (int sockfd, char *packet_buf, int pkt_size, int flags, 
struct sockaddr *addr, socklen_t *addr_size, int mtu)
@@ -127,3 +127,24 @@ $OpenBSD: patch-drivers_netjack_netjack_
              memcpy (tmpbuff, event.buffer, event.size);
              written += nb_data_quads;
          }
+@@ -1260,9 +1271,9 @@ render_payload_to_jack_ports_celt (void *packet_payloa
+           
+           CELTDecoder *decoder = src_node->data;
+           if( !packet_payload )
+-              celt_decode_float( decoder, NULL, net_period_down, buf );
++              celt_decode_float( decoder, NULL, net_period_down, buf, nframes 
);
+           else
+-              celt_decode_float( decoder, packet_bufX, net_period_down, buf );
++              celt_decode_float( decoder, packet_bufX, net_period_down, buf, 
nframes );
+ 
+           src_node = jack_slist_next (src_node);
+         }
+@@ -1304,7 +1315,7 @@ render_jack_ports_to_payload_celt (JSList *playback_po
+           float *floatbuf = alloca (sizeof(float) * nframes );
+           memcpy( floatbuf, buf, nframes*sizeof(float) );
+           CELTEncoder *encoder = src_node->data;
+-          encoded_bytes = celt_encode_float( encoder, floatbuf, NULL, 
packet_bufX, net_period_up );
++          encoded_bytes = celt_encode_float( encoder, floatbuf, nframes, 
packet_bufX, net_period_up );
+           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 );
Index: patches/patch-tools_netsource_c
===================================================================
RCS file: /cvs/ports/audio/jack/patches/patch-tools_netsource_c,v
retrieving revision 1.4
diff -u -p -r1.4 patch-tools_netsource_c
--- patches/patch-tools_netsource_c     7 Jun 2010 01:44:38 -0000       1.4
+++ patches/patch-tools_netsource_c     2 Dec 2010 09:57:31 -0000
@@ -1,6 +1,28 @@
 $OpenBSD: patch-tools_netsource_c,v 1.4 2010/06/07 01:44:38 jakemsr Exp $
---- tools/netsource.c.orig     Wed May 19 21:35:48 2010
-+++ tools/netsource.c  Wed May 19 21:38:07 2010
+--- tools/netsource.c.orig     Thu Dec  2 10:13:18 2010
++++ tools/netsource.c  Thu Dec  2 10:14:11 2010
+@@ -121,8 +121,8 @@ alloc_ports (int n_capture_audio, int n_playback_audio
+       if( bitdepth == 1000 ) {
+ #if HAVE_CELT
+           // XXX: memory leak
+-          CELTMode *celt_mode = celt_mode_create( jack_get_sample_rate( 
client ), 1, jack_get_buffer_size(client), NULL );
+-          capture_srcs = jack_slist_append(capture_srcs, celt_decoder_create( 
celt_mode ) );
++          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 ) );
+ #endif
+       } else {
+           capture_srcs = jack_slist_append (capture_srcs, src_new 
(SRC_LINEAR, 1, NULL));
+@@ -158,8 +158,8 @@ alloc_ports (int n_capture_audio, int n_playback_audio
+       if( bitdepth == 1000 ) {
+ #if HAVE_CELT
+           // XXX: memory leak
+-          CELTMode *celt_mode = celt_mode_create( jack_get_sample_rate 
(client), 1, jack_get_buffer_size(client), NULL );
+-          playback_srcs = jack_slist_append(playback_srcs, 
celt_encoder_create( celt_mode ) );
++          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 ) );
+ #endif
+       } else {
+           playback_srcs = jack_slist_append (playback_srcs, src_new 
(SRC_LINEAR, 1, NULL));
 @@ -230,6 +230,7 @@ process (jack_nframes_t nframes, void *arg)
  
      uint32_t *packet_buf, *packet_bufX;

Reply via email to