diff --git a/webrtc-sys/src/audio_track.cpp b/webrtc-sys/src/audio_track.cpp index 16e62f4c2..ea9f6986f 100644 --- a/webrtc-sys/src/audio_track.cpp +++ b/webrtc-sys/src/audio_track.cpp @@ -22,6 +22,7 @@ #include #include "api/audio_options.h" +#include "api/audio/audio_frame.h" #include "api/media_stream_interface.h" #include "api/task_queue/task_queue_base.h" #include "audio/remix_resample.h" @@ -87,6 +88,7 @@ NativeAudioSink::NativeAudioSink(rust::Box observer, num_channels_(num_channels) { frame_.sample_rate_hz_ = sample_rate; frame_.num_channels_ = num_channels; + frame_.samples_per_channel_ = webrtc::SampleRateToDefaultChannelSize(sample_rate); } void NativeAudioSink::OnData(const void* audio_data, @@ -99,7 +101,7 @@ void NativeAudioSink::OnData(const void* audio_data, const int16_t* data = static_cast(audio_data); if (sample_rate_ != sample_rate || num_channels_ != number_of_channels) { - webrtc::InterleavedView source(static_cast(data), + webrtc::InterleavedView source(data, number_of_frames, number_of_channels); // resample/remix before capturing