X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fsession.cpp;h=4aba385b687d22ac8764da163b3f552792580682;hb=014293fc0c203bf0ecae1a18350d09a6501538dc;hp=87e9b3a5e1060223d27a67f0a17cab94db6e9fcc;hpb=5e685656d6686eb66a39450d1b324f6382fc60c5;p=pulseview.git diff --git a/pv/session.cpp b/pv/session.cpp index 87e9b3a..4aba385 100644 --- a/pv/session.cpp +++ b/pv/session.cpp @@ -301,7 +301,8 @@ void Session::restore_settings(QSettings &settings) set_device(device); start_capture([](QString infoMessage) { - qDebug().noquote() << "Session error:" << infoMessage; }); + // TODO Emulate noquote() + qDebug() << "Session error:" << infoMessage; }); set_name(QFileInfo(filename).fileName()); } @@ -510,6 +511,10 @@ void Session::load_file(QString file_name, const QString errorMessage( QString("Failed to load file %1").arg(file_name)); + // In the absence of a caller's format spec, try to auto detect. + // Assume "sigrok session file" upon lookup miss. + if (!format) + format = device_manager_.context()->input_format_match(file_name.toStdString()); try { if (format) set_device(shared_ptr( @@ -1043,15 +1048,10 @@ void Session::feed_in_meta(shared_ptr meta) for (auto entry : meta->config()) { switch (entry.first->id()) { case SR_CONF_SAMPLERATE: - // We can't rely on the header to always contain the sample rate, - // so in case it's supplied via a meta packet, we use it. - if (!cur_samplerate_) - cur_samplerate_ = g_variant_get_uint64(entry.second.gobj()); - - /// @todo handle samplerate changes + cur_samplerate_ = g_variant_get_uint64(entry.second.gobj()); break; default: - // Unknown metadata is not an error. + qDebug() << "Received meta data key" << entry.first->id() << ", ignoring."; break; } }