]> sigrok.org Git - pulseview.git/blobdiff - pv/data/analogsegment.cpp
Session: Make get_segment_count() consider all segments
[pulseview.git] / pv / data / analogsegment.cpp
index 0610a4a800ca426a961950491b1fa05fea920ba4..73a3084dde3c1b8afdb2df57f8c24d7eb24003e0 100644 (file)
@@ -48,8 +48,8 @@ const int AnalogSegment::EnvelopeScaleFactor = 1 << EnvelopeScalePower;
 const float AnalogSegment::LogEnvelopeScaleFactor = logf(EnvelopeScaleFactor);
 const uint64_t AnalogSegment::EnvelopeDataUnit = 64 * 1024;    // bytes
 
-AnalogSegment::AnalogSegment(Analog& owner, uint64_t samplerate) :
-       Segment(samplerate, sizeof(float)),
+AnalogSegment::AnalogSegment(Analog& owner, uint32_t segment_id, uint64_t samplerate) :
+       Segment(segment_id, samplerate, sizeof(float)),
        owner_(owner),
        min_value_(0),
        max_value_(0)
@@ -75,7 +75,7 @@ void AnalogSegment::append_interleaved_samples(const float *data,
        uint64_t prev_sample_count = sample_count_;
 
        // Deinterleave the samples and add them
-       unique_ptr<float> deint_data(new float[sample_count]);
+       unique_ptr<float[]> deint_data(new float[sample_count]);
        float *deint_data_ptr = deint_data.get();
        for (uint32_t i = 0; i < sample_count; i++) {
                *deint_data_ptr = (float)(*data);