X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fsession.cpp;h=5356433f9027e8fa5298db01dff5256d8a28a674;hp=797a461bf2d6ffbec1cb3deab085df21abfdb283;hb=46ebcd3f6f85092a9eb6401f6f56cee8fa08131a;hpb=e170ab6531b39e51dce725f000fddd57b88d8561 diff --git a/pv/session.cpp b/pv/session.cpp index 797a461b..5356433f 100644 --- a/pv/session.cpp +++ b/pv/session.cpp @@ -1215,11 +1215,9 @@ void Session::feed_in_analog(shared_ptr analog) lock_guard lock(data_mutex_); const vector> channels = analog->channels(); - const unsigned int channel_count = channels.size(); - const size_t sample_count = analog->num_samples() / channel_count; bool sweep_beginning = false; - unique_ptr data(new float[analog->num_samples()]); + unique_ptr data(new float[analog->num_samples() * channels.size()]); analog->get_data_as_float(data.get()); if (signalbases_.empty()) @@ -1261,8 +1259,8 @@ void Session::feed_in_analog(shared_ptr analog) assert(segment); // Append the samples in the segment - segment->append_interleaved_samples(channel_data++, sample_count, - channel_count); + segment->append_interleaved_samples(channel_data++, analog->num_samples(), + channels.size()); } if (sweep_beginning) {