picojson::value::object AudioGroup::ToJsonObject() const {
picojson::value::object reply;
- picojson::array array;
reply["id"] = picojson::value(static_cast<double>(index_));
reply["label"] = picojson::value(label_);
audio_streams_.clear();
is_ready_ = false;
- main_output_mute_control_ = main_input_mute_control_ = PA_INVALID_INDEX;
- main_output_mute_control_ = main_input_mute_control_ = PA_INVALID_INDEX;
+ main_input_mute_control_ = PA_INVALID_INDEX;
+ main_output_mute_control_ = PA_INVALID_INDEX;
return true;
}
js_reply["error"] = picojson::value(true);
js_reply["errorMsg"] = picojson::value(err);
- PostMessage(js_message);
+ PostMessage(js_reply);
return;
}
void AudioSystemInstance::HandleSyncMessage(const char* message) {
picojson::value js_message;
- picojson::value::object js_reply;
std::string err;
picojson::parse(js_message, message, message + strlen(message), &err);
ERR("%s", err.c_str());
}
+ picojson::value::object js_reply;
if (!err.empty()) {
js_reply["error"] = picojson::value(true);
js_reply["errorMsg"] = picojson::value(err);
-
- SendSyncReply(js_reply);
- return;
+ } else {
+ AudioSystemInstance::mtx_.lock();
+ js_reply = context_->HandleSyncMessage(js_message);
+ AudioSystemInstance::mtx_.unlock();
}
- AudioSystemInstance::mtx_.lock();
- js_reply = context_->HandleSyncMessage(js_message);
- AudioSystemInstance::mtx_.unlock();
SendSyncReply(js_reply);
}