Skip to content

Commit 150195b

Browse files
committed
Fix save_to_disk + docs using old NativeAudioStream::new interface
Broken when resampling was added in #412
1 parent ecec4a7 commit 150195b

File tree

2 files changed

+5
-19
lines changed

2 files changed

+5
-19
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ match event {
133133
match track {
134134
RemoteTrack::Audio(audio_track) => {
135135
let rtc_track = audio_track.rtc_track();
136-
let mut audio_stream = NativeAudioStream::new(rtc_track);
136+
let mut audio_stream = NativeAudioStream::new(rtc_track, 48000, 1);
137137
tokio::spawn(async move {
138138
// Receive the audio frames in a new task
139139
while let Some(audio_frame) = audio_stream.next().await {

examples/save_to_disk/src/main.rs

Lines changed: 4 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ use bytes::{BufMut, BytesMut};
22
use futures::StreamExt;
33
use livekit::prelude::*;
44
use livekit::webrtc::audio_stream::native::NativeAudioStream;
5-
use livekit::webrtc::native::audio_resampler;
65
use std::env;
76
use tokio::fs::File;
87
use tokio::io::{AsyncWriteExt, BufWriter};
@@ -118,29 +117,16 @@ async fn record_track(audio_track: RemoteAudioTrack) -> Result<(), std::io::Erro
118117
println!("Recording track {:?}", audio_track.sid());
119118
let rtc_track = audio_track.rtc_track();
120119

121-
let header = WavHeader {
122-
sample_rate: 48000,
123-
bit_depth: 16,
124-
num_channels: 2,
125-
};
120+
let header = WavHeader { sample_rate: 48000, bit_depth: 16, num_channels: 2 };
126121

127-
let mut resampler = audio_resampler::AudioResampler::default();
128122
let mut wav_writer = WavWriter::create(FILE_PATH, header).await?;
129-
let mut audio_stream = NativeAudioStream::new(rtc_track);
123+
let mut audio_stream =
124+
NativeAudioStream::new(rtc_track, header.sample_rate as i32, header.num_channels as i32);
130125

131126
let max_record = 5 * header.sample_rate * header.num_channels;
132127
let mut sample_count = 0;
133128
'recv_loop: while let Some(frame) = audio_stream.next().await {
134-
let data = resampler.remix_and_resample(
135-
&frame.data,
136-
frame.samples_per_channel,
137-
frame.num_channels,
138-
frame.sample_rate,
139-
header.num_channels,
140-
header.sample_rate,
141-
);
142-
143-
for sample in data {
129+
for sample in frame.data.into_iter() {
144130
wav_writer.write_sample(*sample).await.unwrap();
145131
sample_count += 1;
146132

0 commit comments

Comments
 (0)