diff options
author | Wim Taymans <wim.taymans@gmail.com> | 2006-11-30 11:59:04 +0000 |
---|---|---|
committer | Wim Taymans <wim.taymans@gmail.com> | 2006-11-30 11:59:04 +0000 |
commit | 1001e1d1e0d497ed57622defb19827ac6b6a6cff (patch) | |
tree | 8c01749976fdfe0ccdfb1e64ca0f5968ac43b0ad | |
parent | 76c1316131f03bc89de8dee086199d3c86ff2e4e (diff) | |
download | gst-plugins-bad-1001e1d1e0d497ed57622defb19827ac6b6a6cff.tar.gz gst-plugins-bad-1001e1d1e0d497ed57622defb19827ac6b6a6cff.tar.bz2 gst-plugins-bad-1001e1d1e0d497ed57622defb19827ac6b6a6cff.zip |
ext/Makefile.am: Fix build.
Original commit message from CVS:
* ext/Makefile.am:
Fix build.
* ext/jack/gstjackaudiosink.c: (jack_process_cb),
(jack_sample_rate_cb), (jack_buffer_size_cb), (jack_shutdown_cb),
(gst_jack_ring_buffer_acquire):
Small cleanups.
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | ext/Makefile.am | 1 | ||||
-rw-r--r-- | ext/jack/gstjackaudiosink.c | 10 |
3 files changed, 17 insertions, 4 deletions
@@ -1,5 +1,15 @@ 2006-11-30 Wim Taymans <wim@fluendo.com> + * ext/Makefile.am: + Fix build. + + * ext/jack/gstjackaudiosink.c: (jack_process_cb), + (jack_sample_rate_cb), (jack_buffer_size_cb), (jack_shutdown_cb), + (gst_jack_ring_buffer_acquire): + Small cleanups. + +2006-11-30 Wim Taymans <wim@fluendo.com> + * configure.ac: * ext/Makefile.am: * ext/jack/Makefile.am: diff --git a/ext/Makefile.am b/ext/Makefile.am index 0511c9ad..252a06f3 100644 --- a/ext/Makefile.am +++ b/ext/Makefile.am @@ -291,6 +291,7 @@ DIST_SUBDIRS= \ faad \ gsm \ ivorbis \ + jack \ libmms \ dts \ divx \ diff --git a/ext/jack/gstjackaudiosink.c b/ext/jack/gstjackaudiosink.c index 5a0cadf8..c2c5e656 100644 --- a/ext/jack/gstjackaudiosink.c +++ b/ext/jack/gstjackaudiosink.c @@ -196,28 +196,30 @@ jack_process_cb (jack_nframes_t nframes, void *arg) if (gst_ring_buffer_prepare_read (buf, &readseg, &readptr, &len)) { flen = len / channels; + /* the number of samples must be exactly the segment size */ if (nframes * sizeof (sample_t) != flen) goto wrong_size; - /* copy samples */ GST_DEBUG ("copy %d frames: %p, %d bytes, %d channels", nframes, readptr, flen, channels); data = (sample_t *) readptr; - /* copy and interleave into target buffers */ + /* the samples in the ringbuffer have the channels interleaved, we need to + * deinterleave into the jack target buffers */ for (i = 0; i < nframes; i++) { for (j = 0; j < channels; j++) { buffers[j][i] = *data++; } } - /* clear written samples */ + /* clear written samples in the ringbuffer */ gst_ring_buffer_clear (buf, readseg); /* we wrote one segment */ gst_ring_buffer_advance (buf, 1); } else { - /* write silence to all buffers */ + /* We are not allowed to read from the ringbuffer, write silence to all + * jack output buffers */ for (i = 0; i < channels; i++) { memset (buffers[i], 0, nframes * sizeof (sample_t)); } |