enhance embed custom plugin
- seek to 0 on setup - ignore and copy original bytes if we reached end of audio file
This commit is contained in:
parent
c8b5327634
commit
430677fc07
2 changed files with 4 additions and 2 deletions
|
@ -164,6 +164,8 @@ pub const Embed = struct {
|
|||
&in_fmt,
|
||||
);
|
||||
|
||||
image.sseek(self.sndfile, 0);
|
||||
|
||||
self.buf = try self.allocator.alloc(f32, @intCast(usize, in_fmt.channels));
|
||||
}
|
||||
|
||||
|
@ -173,7 +175,7 @@ pub const Embed = struct {
|
|||
const read_bytes = c.sf_readf_float(self.sndfile, self.buf.ptr, 1);
|
||||
|
||||
if (read_bytes == 0) {
|
||||
std.debug.warn("WARN! reached EOF for embed\n");
|
||||
bufs.out[0] = bufs.in[0];
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ pub fn swrite(file: *c.SNDFILE, buf: [*]f32, frames: i64) !void {
|
|||
}
|
||||
}
|
||||
|
||||
fn sseek(file: *c.SNDFILE, offset: usize) void {
|
||||
pub fn sseek(file: *c.SNDFILE, offset: usize) void {
|
||||
const offset_i64 = @intCast(i64, offset);
|
||||
const frames = c.sf_seek(file, offset_i64, c.SEEK_SET);
|
||||
const frames_current = c.sf_seek(file, 0, c.SEEK_CUR);
|
||||
|
|
Loading…
Reference in a new issue