fix(ros): ros record -a

This commit is contained in:
TinyOh
2019-03-02 09:58:48 +08:00
parent 22bd0fab3a
commit 95d733b2b4
5 changed files with 84 additions and 138 deletions

View File

@@ -249,7 +249,7 @@ void Processor::Run() {
api::StreamData Processor::GetStreamData(const Stream &stream) {
auto sum = getStreamsSum();
auto &&out = GetOutput();
Synthetic::Mode enable_mode = Synthetic::MODE_LAST;
Synthetic::Mode enable_mode = Synthetic::MODE_OFF;
auto streams = getTargetStreams();
for (auto it_s : streams) {
if (it_s.stream == stream) {
@@ -257,7 +257,7 @@ api::StreamData Processor::GetStreamData(const Stream &stream) {
break;
}
}
if (enable_mode == Synthetic::MODE_SYNTHETIC) {
if (enable_mode == Synthetic::MODE_ON) {
if (sum == 1) {
if (out != nullptr) {
auto &&output = Object::Cast<ObjMat>(out);
@@ -297,7 +297,7 @@ api::StreamData Processor::GetStreamData(const Stream &stream) {
}
std::vector<api::StreamData> Processor::GetStreamDatas(const Stream &stream) {
Synthetic::Mode enable_mode = Synthetic::MODE_LAST;
Synthetic::Mode enable_mode = Synthetic::MODE_OFF;
auto streams = getTargetStreams();
for (auto it_s : streams) {
if (it_s.stream == stream) {
@@ -305,7 +305,7 @@ std::vector<api::StreamData> Processor::GetStreamDatas(const Stream &stream) {
break;
}
}
if (enable_mode == Synthetic::MODE_SYNTHETIC) {
if (enable_mode == Synthetic::MODE_ON) {
return {GetStreamData(stream)};
} else {
LOG(ERROR) << "Failed to get stream data of " << stream

View File

@@ -108,7 +108,7 @@ void s1s2Processor::StopVideoStreaming() {
}
api::StreamData s1s2Processor::GetStreamData(const Stream &stream) {
Synthetic::Mode enable_mode = Synthetic::MODE_LAST;
Synthetic::Mode enable_mode = Synthetic::MODE_OFF;
auto streams = getTargetStreams();
for (auto it_s : streams) {
if (it_s.stream == stream) {
@@ -116,17 +116,18 @@ api::StreamData s1s2Processor::GetStreamData(const Stream &stream) {
break;
}
}
if (enable_mode == Synthetic::MODE_SYNTHETIC) {
if (enable_mode == Synthetic::MODE_ON) {
return data2api(device_->GetStreamData(stream));
}
LOG(ERROR) << "Failed to get device stream data of " << stream
<< ", unsupported or disabled";
LOG(ERROR) << "Make sure you have enable " << stream;
return {};
}
std::vector<api::StreamData> s1s2Processor::GetStreamDatas(
const Stream &stream) {
Synthetic::Mode enable_mode = Synthetic::MODE_LAST;
Synthetic::Mode enable_mode = Synthetic::MODE_OFF;
auto streams = getTargetStreams();
for (auto it_s : streams) {
if (it_s.stream == stream) {
@@ -134,7 +135,7 @@ std::vector<api::StreamData> s1s2Processor::GetStreamDatas(
break;
}
}
if (enable_mode == Synthetic::MODE_SYNTHETIC) {
if (enable_mode == Synthetic::MODE_ON) {
std::vector<api::StreamData> datas;
for (auto &&data : device_->GetStreamDatas(stream)) {
datas.push_back(data2api(data));

View File

@@ -183,11 +183,11 @@ void Synthetic::EnableStreamData(
auto streams = proce->getTargetStreams();
int act_tag = 0;
for (unsigned int i = 0; i < proce->getStreamsSum() ; i++) {
if (proce->target_streams_[i].enabled_mode_ == MODE_LAST) {
if (proce->target_streams_[i].enabled_mode_ == MODE_OFF) {
callback(proce->target_streams_[i].stream);
if (!try_tag) {
act_tag++;
proce->target_streams_[i].enabled_mode_ = MODE_SYNTHETIC;
proce->target_streams_[i].enabled_mode_ = MODE_ON;
}
}
}
@@ -206,11 +206,11 @@ void Synthetic::DisableStreamData(
auto streams = proce->getTargetStreams();
int act_tag = 0;
for (unsigned int i = 0; i < proce->getStreamsSum() ; i++) {
if (proce->target_streams_[i].enabled_mode_ == MODE_SYNTHETIC) {
if (proce->target_streams_[i].enabled_mode_ == MODE_ON) {
callback(proce->target_streams_[i].stream);
if (!try_tag) {
act_tag++;
proce->target_streams_[i].enabled_mode_ = MODE_LAST;
proce->target_streams_[i].enabled_mode_ = MODE_OFF;
}
}
}
@@ -238,7 +238,7 @@ void Synthetic::DisableStreamData(const Stream &stream) {
bool Synthetic::IsStreamDataEnabled(const Stream &stream) const {
if (checkControlDateWithStream(stream)) {
auto data = getControlDateWithStream(stream);
return data.enabled_mode_ == MODE_SYNTHETIC;
return data.enabled_mode_ == MODE_ON;
}
return false;
}
@@ -300,7 +300,7 @@ Synthetic::mode_t Synthetic::GetStreamEnabledMode(const Stream &stream) const {
auto data = getControlDateWithStream(stream);
return data.enabled_mode_;
}
return MODE_LAST;
return MODE_OFF;
}
void Synthetic::InitProcessors() {
@@ -361,21 +361,21 @@ void Synthetic::InitProcessors() {
}
rectify_processor->addTargetStreams(
{Stream::LEFT_RECTIFIED, Mode::MODE_LAST, nullptr});
{Stream::LEFT_RECTIFIED, Mode::MODE_OFF, nullptr});
rectify_processor->addTargetStreams(
{Stream::RIGHT_RECTIFIED, Mode::MODE_LAST, nullptr});
{Stream::RIGHT_RECTIFIED, Mode::MODE_OFF, nullptr});
disparity_processor->addTargetStreams(
{Stream::DISPARITY, Mode::MODE_LAST, nullptr});
{Stream::DISPARITY, Mode::MODE_OFF, nullptr});
disparitynormalized_processor->addTargetStreams(
{Stream::DISPARITY_NORMALIZED, Mode::MODE_LAST, nullptr});
{Stream::DISPARITY_NORMALIZED, Mode::MODE_OFF, nullptr});
points_processor->addTargetStreams(
{Stream::POINTS, Mode::MODE_LAST, nullptr});
{Stream::POINTS, Mode::MODE_OFF, nullptr});
depth_processor->addTargetStreams(
{Stream::DEPTH, Mode::MODE_LAST, nullptr});
{Stream::DEPTH, Mode::MODE_OFF, nullptr});
root_processor->addTargetStreams(
{Stream::LEFT, Mode::MODE_LAST, nullptr});
{Stream::LEFT, Mode::MODE_OFF, nullptr});
root_processor->addTargetStreams(
{Stream::RIGHT, Mode::MODE_LAST, nullptr});
{Stream::RIGHT, Mode::MODE_OFF, nullptr});
processors_.push_back(root_processor);
processors_.push_back(rectify_processor);
@@ -417,7 +417,7 @@ bool Synthetic::OnDeviceProcess(
Object *const in, Object *const out,
std::shared_ptr<Processor> const parent) {
MYNTEYE_UNUSED(parent)
return GetStreamEnabledMode(Stream::LEFT) != MODE_SYNTHETIC;
return GetStreamEnabledMode(Stream::LEFT) != MODE_ON;
}
bool Synthetic::OnRectifyProcess(
@@ -427,8 +427,8 @@ bool Synthetic::OnRectifyProcess(
if (plugin_ && plugin_->OnRectifyProcess(in, out)) {
return true;
}
return GetStreamEnabledMode(Stream::LEFT_RECTIFIED) != MODE_SYNTHETIC;
// && GetStreamEnabledMode(Stream::RIGHT_RECTIFIED) != MODE_SYNTHETIC
return GetStreamEnabledMode(Stream::LEFT_RECTIFIED) != MODE_ON;
// && GetStreamEnabledMode(Stream::RIGHT_RECTIFIED) != MODE_ON
}
bool Synthetic::OnDisparityProcess(
@@ -438,7 +438,7 @@ bool Synthetic::OnDisparityProcess(
if (plugin_ && plugin_->OnDisparityProcess(in, out)) {
return true;
}
return GetStreamEnabledMode(Stream::DISPARITY) != MODE_SYNTHETIC;
return GetStreamEnabledMode(Stream::DISPARITY) != MODE_ON;
}
bool Synthetic::OnDisparityNormalizedProcess(
@@ -448,7 +448,7 @@ bool Synthetic::OnDisparityNormalizedProcess(
if (plugin_ && plugin_->OnDisparityNormalizedProcess(in, out)) {
return true;
}
return GetStreamEnabledMode(Stream::DISPARITY_NORMALIZED) != MODE_SYNTHETIC;
return GetStreamEnabledMode(Stream::DISPARITY_NORMALIZED) != MODE_ON;
}
bool Synthetic::OnPointsProcess(
@@ -458,7 +458,7 @@ bool Synthetic::OnPointsProcess(
if (plugin_ && plugin_->OnPointsProcess(in, out)) {
return true;
}
return GetStreamEnabledMode(Stream::POINTS) != MODE_SYNTHETIC;
return GetStreamEnabledMode(Stream::POINTS) != MODE_ON;
}
bool Synthetic::OnDepthProcess(
@@ -468,7 +468,7 @@ bool Synthetic::OnDepthProcess(
if (plugin_ && plugin_->OnDepthProcess(in, out)) {
return true;
}
return GetStreamEnabledMode(Stream::DEPTH) != MODE_SYNTHETIC;
return GetStreamEnabledMode(Stream::DEPTH) != MODE_ON;
}
void Synthetic::OnDevicePostProcess(Object *const out) {
@@ -481,7 +481,8 @@ void Synthetic::OnDevicePostProcess(Object *const out) {
}
if (HasStreamCallback(Stream::RIGHT)) {
auto data = getControlDateWithStream(Stream::RIGHT);
data.stream_callback(obj_data_second(output));
if (data.stream_callback)
data.stream_callback(obj_data_second(output));
}
}

View File

@@ -40,9 +40,8 @@ class Synthetic {
using stream_switch_callback_t = API::stream_switch_callback_t;
typedef enum Mode {
MODE_NATIVE, // Native stream
MODE_SYNTHETIC, // Synthetic stream
MODE_LAST // Unsupported
MODE_ON, // On
MODE_OFF // Off
} mode_t;
struct stream_control_t {
@@ -142,7 +141,6 @@ class Synthetic {
std::shared_ptr<Plugin> plugin_;
CalibrationModel calib_model_;
std::mutex mtx_left_right_ready_;
std::shared_ptr<IntrinsicsBase> intr_left_;
std::shared_ptr<IntrinsicsBase> intr_right_;