Skip to content
Snippets Groups Projects

High blue rec

Closed Pierre Mahe requested to merge pierre.mahe/highblueparsers:HighBlueRec into main
2 files
+ 5
3
Compare changes
  • Side-by-side
  • Inline

Files

+ 4
3
@@ -175,19 +175,20 @@ void JasonRecorder::get_samples(std::vector<std::uint8_t> &samples, bool planar,
if (buffer[0] != FRAME_START); // invalid message
else if ((((std::uint16_t) buffer[1] << 8 )|(buffer[2])) == DATA_ID) {
// find the beginning and length of the samples in the buffer
size_t num_samples = (received - 6) /this->depth;
size_t start = this->addtional_data_size + 6;
size_t num_samples = (received - start) /this->depth;
num_samples = (num_samples / num_channels) * num_channels * this->depth;
// copy data to provided vector
if (planar || (num_channels == 1)) {
// copy out directly
samples.resize(0);
samples.reserve(num_samples);
samples.insert(samples.end(), &buffer[6], &buffer[6] + num_samples);
samples.insert(samples.end(), &buffer[start], &buffer[start] + num_samples);
}
else {
// convert from blocked channels to interleaved channels
samples.resize(num_samples);
JasonRecorder::interleave_channels(&buffer[6],
JasonRecorder::interleave_channels(&buffer[start],
samples.data(), num_samples,
this->num_channels, this->depth);
}
Loading