Skip to content

Commit bd429a6

Browse files
committed
Separate lifetimes for input and output
1 parent 63c2107 commit bd429a6

5 files changed

Lines changed: 13 additions & 11 deletions

File tree

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "rubato"
3-
version = "2.0.0"
3+
version = "3.0.0"
44
rust-version = "1.85"
55
authors = ["HEnquist <henrik.enquist@gmail.com>"]
66
description = "Asynchronous resampling library intended for audio data"

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -313,6 +313,8 @@ Many audio editors, for example Audacity, are also able to directly import and e
313313
The `rubato` crate requires rustc version 1.85 or newer.
314314

315315
## Changelog
316+
- v3.0.0
317+
- Use separate lifetimes for `buffer_in` and `buffer_out` in `process_into_buffer`.
316318
- v2.0.0
317319
- Update to `audioadapter` 3.0.
318320
- Add re-export of `audioadapter-buffers`.

src/asynchro.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -445,10 +445,10 @@ impl<T> Resampler<T> for Async<T>
445445
where
446446
T: Sample,
447447
{
448-
fn process_into_buffer<'a>(
448+
fn process_into_buffer<'a, 'b>(
449449
&mut self,
450450
buffer_in: &dyn Adapter<'a, T>,
451-
buffer_out: &mut dyn AdapterMut<'a, T>,
451+
buffer_out: &mut dyn AdapterMut<'b, T>,
452452
indexing: Option<&Indexing>,
453453
) -> ResampleResult<(usize, usize)> {
454454
// read the optional indexing struct

src/lib.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -164,10 +164,10 @@ where
164164
/// Both input and output are allowed to be longer than required.
165165
/// The number of input samples consumed and the number output samples written
166166
/// per channel is returned in a tuple, `(input_frames, output_frames)`.
167-
fn process_into_buffer<'a>(
167+
fn process_into_buffer<'a, 'b>(
168168
&mut self,
169169
buffer_in: &dyn Adapter<'a, T>,
170-
buffer_out: &mut dyn AdapterMut<'a, T>,
170+
buffer_out: &mut dyn AdapterMut<'b, T>,
171171
indexing: Option<&Indexing>,
172172
) -> ResampleResult<(usize, usize)>;
173173

@@ -186,10 +186,10 @@ where
186186
/// [process_into_buffer](Resampler::process_into_buffer).
187187
///
188188
/// Returns the lengths of the original input and the resampled output.
189-
fn process_all_into_buffer<'a>(
189+
fn process_all_into_buffer<'a, 'b>(
190190
&mut self,
191191
buffer_in: &dyn Adapter<'a, T>,
192-
buffer_out: &mut dyn AdapterMut<'a, T>,
192+
buffer_out: &mut dyn AdapterMut<'b, T>,
193193
input_len: usize,
194194
active_channels_mask: Option<&[bool]>,
195195
) -> ResampleResult<(usize, usize)> {
@@ -341,9 +341,9 @@ where
341341
}
342342
}
343343

344-
pub(crate) fn validate_buffers<'a, T: 'a>(
344+
pub(crate) fn validate_buffers<'a, 'b, T: 'a + 'b>(
345345
wave_in: &dyn Adapter<'a, T>,
346-
wave_out: &dyn AdapterMut<'a, T>,
346+
wave_out: &dyn AdapterMut<'b, T>,
347347
mask: &[bool],
348348
channels: usize,
349349
min_input_len: usize,

src/synchro.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -401,10 +401,10 @@ impl<T> Resampler<T> for Fft<T>
401401
where
402402
T: Sample,
403403
{
404-
fn process_into_buffer<'a>(
404+
fn process_into_buffer<'a, 'b>(
405405
&mut self,
406406
buffer_in: &dyn Adapter<'a, T>,
407-
buffer_out: &mut dyn AdapterMut<'a, T>,
407+
buffer_out: &mut dyn AdapterMut<'b, T>,
408408
indexing: Option<&Indexing>,
409409
) -> ResampleResult<(usize, usize)> {
410410
// read the optional indexing struct

0 commit comments

Comments
 (0)