Session: Query the device's sample rate when needed, not sooner

This commit is contained in:
Soeren Apel 2017-10-09 17:47:19 +02:00
parent b8132c767b
commit b5940cf0ef
1 changed files with 7 additions and 1 deletions

View File

@ -952,7 +952,7 @@ void Session::free_unused_memory()
void Session::feed_in_header()
{
cur_samplerate_ = device_->read_config<uint64_t>(ConfigKey::SAMPLERATE);
// Nothing to do here for now
}
void Session::feed_in_meta(shared_ptr<Meta> meta)
@ -1023,6 +1023,9 @@ void Session::feed_in_frame_end()
void Session::feed_in_logic(shared_ptr<Logic> logic)
{
if (!cur_samplerate_)
cur_samplerate_ = device_->read_config<uint64_t>(ConfigKey::SAMPLERATE);
lock_guard<recursive_mutex> lock(data_mutex_);
if (!logic_data_) {
@ -1055,6 +1058,9 @@ void Session::feed_in_logic(shared_ptr<Logic> logic)
void Session::feed_in_analog(shared_ptr<Analog> analog)
{
if (!cur_samplerate_)
cur_samplerate_ = device_->read_config<uint64_t>(ConfigKey::SAMPLERATE);
lock_guard<recursive_mutex> lock(data_mutex_);
const vector<shared_ptr<Channel>> channels = analog->channels();