diff --git a/components/rgbd-sources/src/rgbd_streamer.cpp b/components/rgbd-sources/src/rgbd_streamer.cpp index 16202686a4fe988aba716bf09912a97f05dae9cd..ad8fa3f2dfb2950333db7d6f44bb7266097cdaca 100644 --- a/components/rgbd-sources/src/rgbd_streamer.cpp +++ b/components/rgbd-sources/src/rgbd_streamer.cpp @@ -194,7 +194,8 @@ void Streamer::_schedule() { pool_.push([this,uri](int id) { StreamSource *src = sources_[uri]; - if (src->rgb.rows > 0 && src->depth.rows > 0 && src->clients[0].size() > 0) { + try { + if (src && src->rgb.rows > 0 && src->depth.rows > 0 && src->clients[0].size() > 0) { vector<unsigned char> rgb_buf; cv::imencode(".jpg", src->rgb, rgb_buf); @@ -219,6 +220,9 @@ void Streamer::_schedule() { } } } + } catch(...) { + LOG(ERROR) << "Error in transmission loop"; + } unique_lock<shared_mutex> lk(src->mutex); LOG(INFO) << "Tx Frame: " << uri;