void StreamHandler::Start(void) { QMutexLocker locker(&_start_stop_lock); if (_running) { if ((_using_section_reader && !_allow_section_reader) || (_needs_buffering && !_using_buffering)) { LOG(VB_RECORD, LOG_INFO, LOC + "Restarting StreamHandler"); SetRunningDesired(false); locker.unlock(); wait(); locker.relock(); } } if (_running) return; _eit_pids.clear(); _error = false; SetRunningDesired(true); MThread::start(); while (!_running && !_error && _running_desired) _running_state_changed.wait(&_start_stop_lock, 100); if (_error) { LOG(VB_GENERAL, LOG_ERR, LOC + "Start failed"); SetRunningDesired(false); } }
void StreamHandler::Stop(void) { LOG(VB_RECORD, LOG_DEBUG, LOC + "Stopping"); SetRunningDesired(false); wait(); LOG(VB_RECORD, LOG_DEBUG, LOC + "Stopped"); }
void StreamHandler::Stop(void) { SetRunningDesired(false); wait(); }