X-Git-Url: http://git.code-monkey.de/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fsigsession.cpp;h=d89ca61c0d0d44863e180df07da6ac0802713f1c;hp=e42ba2cbdc3f997d73f67e0b855f6affb4f55e0b;hb=bb3030b34e44733036acdfe5b4d4ec0705146831;hpb=81db736be4ff87c492502e40691f367b214f2bfa diff --git a/pv/sigsession.cpp b/pv/sigsession.cpp index e42ba2c..d89ca61 100644 --- a/pv/sigsession.cpp +++ b/pv/sigsession.cpp @@ -63,6 +63,9 @@ namespace pv { // TODO: This should not be necessary SigSession* SigSession::_session = NULL; +// TODO: This should not be necessary +struct sr_session *SigSession::_sr_session = NULL; + SigSession::SigSession(DeviceManager &device_manager) : _device_manager(device_manager), _capture_state(Stopped) @@ -100,7 +103,7 @@ void SigSession::set_device( stop_capture(); if (_dev_inst) { - sr_session_datafeed_callback_remove_all(); + sr_session_datafeed_callback_remove_all(_sr_session); _dev_inst->release(); } @@ -109,7 +112,7 @@ void SigSession::set_device( if (dev_inst) { dev_inst->use(this); - sr_session_datafeed_callback_add(data_feed_in_proc, NULL); + sr_session_datafeed_callback_add(_sr_session, data_feed_in_proc, NULL); update_signals(dev_inst); } } @@ -194,7 +197,7 @@ void SigSession::start_capture(function error_handler) void SigSession::stop_capture() { if (get_capture_state() != Stopped) - sr_session_stop(); + sr_session_stop(_sr_session); // Check that sampling stopped if (_sampling_thread.joinable()) @@ -444,7 +447,7 @@ void SigSession::sample_thread_proc(shared_ptr dev_inst, return; } - set_capture_state(sr_session_trigger_get() ? + set_capture_state(sr_session_trigger_get(_sr_session) ? AwaitingTrigger : Running); dev_inst->run();