Skip to content

Commit

Permalink
Merge pull request robotology#2663 from randaz81/audioFromFile_fix
Browse files Browse the repository at this point in the history
audioFromFileDevice bugfix
  • Loading branch information
randaz81 authored Jul 26, 2021
2 parents 4ddddf5 + 896b8cc commit e58ffbe
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 2 deletions.
9 changes: 9 additions & 0 deletions doc/release/yarp_3_5/audioFromFile_fix.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
audioFromFile_fix {#yarp_3_5}
-----------

Important Changes
-----------------

### Devices

* `audioFromFileDevice` fixed module when channels are > 1
5 changes: 3 additions & 2 deletions src/devices/audioFromFileDevice/audioFromFileDevice.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -141,15 +141,16 @@ void audioFromFileDevice::run()
//samples (m_samples_to_be_copied) in the buffer. This operation cannot be interrupted by stopping the device
//with m_recording_enabled=false. When the pointer reaches the end of the sound (audioFile),
//just restart from the beginning in an endless loop
size_t chan_num = m_audioFile.getChannels();
for (size_t i = 0; i < m_samples_to_be_copied; i++)
{
if (m_bpnt >= m_fsize_in_samples)
{
m_bpnt = 0;
}
for (size_t c=0; c< m_audioFile.getChannels(); c++)
for (size_t c=0; c< chan_num; c++)
{
m_inputBuffer->write((unsigned short)(m_datap.at(m_bpnt+c).get()));
m_inputBuffer->write((unsigned short)(m_datap.at(m_bpnt* chan_num +c).get()));
}
m_bpnt++;
}
Expand Down

0 comments on commit e58ffbe

Please sign in to comment.