void DecodeSignal::start_srd_session()
{
+ uint64_t samplerate;
+
if (srd_session_)
stop_srd_session();
if (!di) {
error_message_ = tr("Failed to create decoder instance");
srd_session_destroy(srd_session_);
+ srd_session_ = nullptr;
return;
}
}
// Start the session
- srd_session_metadata_set(srd_session_, SRD_CONF_SAMPLERATE,
- g_variant_new_uint64(segments_.at(current_segment_id_).samplerate));
+ samplerate = segments_.at(current_segment_id_).samplerate;
+ if (samplerate)
+ srd_session_metadata_set(srd_session_, SRD_CONF_SAMPLERATE,
+ g_variant_new_uint64(samplerate));
srd_pd_output_callback_add(srd_session_, SRD_OUTPUT_ANN,
DecodeSignal::annotation_callback, this);
const data::SignalBase *signal = ch.assigned_signal;
connect(signal, SIGNAL(samples_cleared()),
this, SLOT(on_data_cleared()));
- connect(signal, SIGNAL(samples_added(QObject*, uint64_t, uint64_t)),
+ connect(signal, SIGNAL(samples_added(uint64_t, uint64_t, uint64_t)),
this, SLOT(on_data_received()));
}
}